非常感谢!没想到才发帖这么点时间就有高手来回复。
刘啸老师,但是我这里还是有点问题。
procedure TForm1.Button1Click(Sender: TObject);
var
SThisCaption: string;
ss:string;
begin
SThisCaption :='TForm1.Button1.Caption';
ss := CnLangManager1.TranslateString(SThisCaption);
memo1.Lines.Add(ss);
end;
end.
并且在对应的文本中写上TForm1.Button1.Caption=测试
怎么取不到对应的‘测试’两个字呢?
最后还想问下
“function Translate(Src: string): string;”
和
function TranslateString(Src: string): string;
这两个方法有什么区别呢?多谢Author:
262607zzg Time: 2009-6-23 18:08
现在解决了,我看了源代码。问题出在
function TCnBaseLangManager.TranslateString(Src: string): string;
begin
if FLanguageStorage <> nil then
begin
if CurrentLanguageIndex <> FLanguageStorage.CurrentLanguageIndex then
FLanguageStorage.CurrentLanguageIndex := CurrentLanguageIndex;
FLanguageStorage.GetString(Src, Result);
end
else
Result := '';
end;
我是在调用TranslateString之前没有进行CurrentLanguageIndex的设置,多谢了。