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 in src\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"},
            };
Installer Localization

Instructions for Developers

  • Open InnoSetup installer script.
  • Add a directive to define language:
    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

Instructions for Translators

Syntax for resource strings to translate:

; <LanguageNameHere>
<LanguageNameHere>.<ResourceStringName>=<ResourceStringValueToTranslate>
...

Example

; English (Default)
rsSelectDrivers=Select Drivers

; Spanish
Spanish.rsSelectDrivers=Seleccionar Controladores
...