This is an old revision of the document!
ezFIT 5 Localization
Application Localization
- Add RESX files to project (See Localization Using ResX Files).
- Edit class
AHI.App.Localization.TLocalizationTools
insrc\AHI.App.Localization\Tools.cs
to include new supported language:public static ObservableCollection<TLanguageInfo> SupportedLanguageInfo = new ObservableCollection<TLanguageInfo>() { //new TLanguageInfo() {LanguageNative = Resources.rsLangBulgarian, LanguageEnglish = "Bulgarian", LanguageCode = "bg-BG"}, //new TLanguageInfo() {LanguageNative = Resources.rsLangDanish, LanguageEnglish = "Danish", LanguageCode = "da-DK"}, new TLanguageInfo() {LanguageNative = Resources.rsLangEnglish, LanguageEnglish = "English", LanguageCode = "en-US"}, //new TLanguageInfo() {LanguageNative = Resources.rsLangFrench, LanguageEnglish = "French", LanguageCode = "fr-CA"}, //new TLanguageInfo() {LanguageNative = Resources.rsLangGerman, LanguageEnglish = "German", LanguageCode = "de-DE"}, new TLanguageInfo() {LanguageNative = Resources.rsLangKorean, LanguageEnglish = "Korean", LanguageCode = "ko-KR"}, new TLanguageInfo() {LanguageNative = Resources.rsLangItalian, LanguageEnglish = "Italian", LanguageCode = "it-IT"}, new TLanguageInfo() {LanguageNative = Resources.rsLangSpanish, LanguageEnglish = "Spanish", LanguageCode = "es-ES"}, //new TLanguageInfo() {LanguageNative = Resources.rsLangPortuguese, LanguageEnglish = "Portuguese", LanguageCode = "pt-BR"}, //new TLanguageInfo() {LanguageNative = Resources.rsLangRussian, LanguageEnglish = "Russian", LanguageCode = "ru-RU"}, //new TLanguageInfo() {LanguageNative = Resources.rsLangTurkish, LanguageEnglish = "Turkish", LanguageCode = "tr-TR"}, //new TLanguageInfo() {LanguageNative = Resources.rsLangPolish, LanguageEnglish = "Polish", LanguageCode = "pl-PL"}, };
- Translate initial RESX strings based on Google Translate using Resx Translator Bot.
- Build ezFIT project. Localization files should be generated under
<rootEzFIT>\src\ezFIT\bin\x86\Debug\<langcode>
.
Installer Localization
Instructions for Developers
- Open InnoSetup installer script.
- Create file entries for all application localization files to distribute:
- installer-ezfit.iss
[InstallDelete] . . . ;--------------------------------------------------- ; Localization files ;--------------------------------------------------- Name: {app}\AHI.App.Localization.dll; Type: files Name: {app}\es\AHI.App.Localization.resources.dll; Type: files . . . [Files] . . . ;--------------------------------------------------- ; Localization files ;--------------------------------------------------- Source: {#SrcAppDir}\AHI.App.Localization.resources.dll; DestDir: {app}; Flags: ignoreversion skipifsourcedoesntexist Source: {#SrcAppDir}\es\AHI.App.Localization.resources.dll; DestDir: {app}\es; Flags: ignoreversion skipifsourcedoesntexist . . .
- Add a directive to define language (in
includes\sysutils.iss
):- sysutils.iss
#if AppLangSupp == "<LanguageNameHere>" #define <LanguageNameHere> ... #elif... #else #define English #endif
- Add Language resources under section
[Languages]
:- sysutils.iss
[Languages] #ifdef English Name: English; MessagesFile: compiler:Default.isl #endif #ifdef <LanguageNameHere> Name: <LanguageNameHere>; MessagesFile: compiler:Languages\<LanguageNameHere>.isl #endif
- Add and translate resource strings under section
[CustomMessages]
:- sysutils.iss
[CustomMessages] #ifdef English SelectDrivers=Select Drivers ... #endif ; <LanguageNameHere> should be replaced by the target language to localize #ifdef <LanguageNameHere> ;<LanguageNameHere>.String=<TranslatedString> <LanguageNameHere>.SelectDrivers=Seleccionar Controladores ... #endif
- Add and translate resource strings under section
[CustomMessages]
for the following files:installer-ezfit.iss
includes\database.iss
includes\net-framework.iss
includes\noah-support.iss
includes\sysutils.iss
includes\user-registration.iss
Instructions for Translators
Syntax for resource strings to translate:
; <LanguageNameHere> <LanguageNameHere>.<ResourceStringName>=<ResourceStringValueToTranslate> ...
Example
; English (Default) rsSelectDrivers=Select Drivers ; Spanish Spanish.rsSelectDrivers=Seleccionar Controladores ...