Add LAnguage at runtime

All announcements, questions and issues related to the TsiLang Components Suite.
Post Reply
mediatech
Posts: 23
Joined: Fri Mar 11, 2005 6:02 am

Add LAnguage at runtime

Post by mediatech »

Hi there,

simple question;
How to add language at runtime ?

simple answer
?

Thanks for your help

Andreas
isiticov
Site Admin
Posts: 2383
Joined: Thu Nov 21, 2002 3:17 pm

Post by isiticov »

Delphi:
siLangDispatcher.NumOfLanguages := siLangDispatcher.NumOfLanguages + 1;

C++Builder:
siLangDispatcher.NumOfLanguages = siLangDispatcher.NumOfLanguages + 1;

Is this enough? ;)
Best regards,
Igor Siticov.
mediatech
Posts: 23
Joined: Fri Mar 11, 2005 6:02 am

Post by mediatech »

isiticov wrote:Delphi:
siLangDispatcher.NumOfLanguages := siLangDispatcher.NumOfLanguages + 1;

C++Builder:
siLangDispatcher.NumOfLanguages = siLangDispatcher.NumOfLanguages + 1;

Is this enough? ;)

So far it works fine, another language is added, but next question; How to rename the new language, if i´m using the following code, nothing happens, the new language appears as "Language N...", even if i´m saving the file, see following code;
...
...
...
LangDispatcher.NumOfLanguages:= LangDispatcher.NumOfLanguages+1;
LangDispatcher.LangNames[LangDispatcher.NumOfLanguages-1]:= 'Test';
LangDispatcher.SaveAllToFile(LangDispatcher.FileName, sLangDelimiter);...
...
...
isiticov
Site Admin
Posts: 2383
Joined: Thu Nov 21, 2002 3:17 pm

Post by isiticov »

You can try the following:

Code: Select all

var
   Lst: TStringList;
begin
  siLangDispatcher1.NumOfLanguages := siLangDispatcher1.NumOfLanguages + 1;
  Lst := TStringList.Create;
  try
    Lst.Assign(siLangDispatcher1.LangNames);
    Lst[Lst.Count - 1] := 'New Language Name';
    siLangDispatcher1.LangNames := Lst;
  finally
    Lst.Free;
  end;
end;
Best regards,
Igor Siticov.
mediatech
Posts: 23
Joined: Fri Mar 11, 2005 6:02 am

Post by mediatech »

isiticov wrote:You can try the following:

Code: Select all

var
   Lst: TStringList;
begin
  siLangDispatcher1.NumOfLanguages := siLangDispatcher1.NumOfLanguages + 1;
  Lst := TStringList.Create;
  try
    Lst.Assign(siLangDispatcher1.LangNames);
    Lst[Lst.Count - 1] := 'New Language Name';
    siLangDispatcher1.LangNames := Lst;
  finally
    Lst.Free;
  end;
end;
Hey,

that works fine !!!

Thank you

Andreas
Post Reply