mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-08 09:38:12 +02:00
LCL: Added convenience TranslateUnitResourceStringsEx wrapper to LCLTranslator.
It allows to no longer include Translations unit in addition to LCLTranslator if user wants to translate some additional unit. 'Ex' suffix allows to avoid name collision with similar functions in Translations unit.
This commit is contained in:
parent
8f1d7a66c9
commit
d85e87e54f
@ -79,6 +79,7 @@ type
|
||||
end;
|
||||
|
||||
function TranslateLCLResourceStrings(Lang, Dir: string): string;
|
||||
function TranslateUnitResourceStringsEx(Lang, Dir, LocaleFileName: string; LocaleUnitName: string = ''): string;
|
||||
function SetDefaultLang(Lang: string; Dir: string = ''; LocaleFileName: string = ''; ForceUpdate: boolean = true): string;
|
||||
function GetDefaultLang: String; deprecated 'Use SetDefaultLang function result instead'; // Lazarus 2.1.0
|
||||
|
||||
@ -525,19 +526,28 @@ begin
|
||||
end;
|
||||
|
||||
function TranslateLCLResourceStrings(Lang, Dir: string): string;
|
||||
begin
|
||||
Result:=LCLTranslator.TranslateUnitResourceStringsEx(Lang, Dir, 'lclstrconsts');
|
||||
end;
|
||||
|
||||
function TranslateUnitResourceStringsEx(Lang, Dir, LocaleFileName: string; LocaleUnitName: string = ''): string;
|
||||
var
|
||||
LCLPath: string;
|
||||
UnitPath: string;
|
||||
begin
|
||||
Result:='';
|
||||
if LocaleFileName='' then
|
||||
exit;
|
||||
if LocaleUnitName='' then
|
||||
LocaleUnitName:=LocaleFileName;
|
||||
try
|
||||
LCLPath:=FindLocaleFileName('.po', Lang, ExtractFilePath(Dir), 'lclstrconsts', Result);
|
||||
if LCLPath<>'' then
|
||||
Translations.TranslateUnitResourceStrings('LCLStrConsts', LCLPath)
|
||||
UnitPath:=FindLocaleFileName('.po', Lang, ExtractFilePath(Dir), LocaleFileName, Result);
|
||||
if UnitPath<>'' then
|
||||
Translations.TranslateUnitResourceStrings(LocaleUnitName, UnitPath)
|
||||
else
|
||||
begin
|
||||
LCLPath:=FindLocaleFileName('.mo', Lang, ExtractFilePath(Dir), 'lclstrconsts', Result);
|
||||
if LCLPath<>'' then
|
||||
GetText.TranslateResourceStrings(UTF8ToSys(LCLPath));
|
||||
UnitPath:=FindLocaleFileName('.mo', Lang, ExtractFilePath(Dir), LocaleFileName, Result);
|
||||
if UnitPath<>'' then
|
||||
GetText.TranslateResourceStrings(UTF8ToSys(UnitPath));
|
||||
end;
|
||||
except
|
||||
Result:='';
|
||||
|
Loading…
Reference in New Issue
Block a user