= ezFIT 5 Localization = == Application Localization == * Add RESX files to project (See [[swdev:dotnet: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 SupportedLanguageInfo = new ObservableCollection() { //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 original English RESX strings using Google Translate and [[http://resxtranslatorbot.codeplex.com|Resx Translator Bot]]. * [[swdev:dotnet:localization:Editing RESX Files with SimpleResxEditor]]. * Build ezFIT project. Localization files should be generated under ''////\src\ezFIT\bin\x86\Debug\////''. == Installer Localization== === Instructions for Developers === * Open InnoSetup installer script. * Create file entries for all application localization files to distribute: [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''): #if AppLangSupp == "" #define ... #elif... #else #define English #endif * Add Language resources under section ''[Languages]'': [Languages] #ifdef English Name: English; MessagesFile: compiler:Default.isl #endif #ifdef Name: ; MessagesFile: compiler:Languages\.isl #endif * Add and translate resource strings under section ''[CustomMessages]'': [CustomMessages] #ifdef English SelectDrivers=Select Drivers ... #endif ; should be replaced by the target language to localize #ifdef ;.String= .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: ; .= ... Example ; English (Default) rsSelectDrivers=Select Drivers ; Spanish Spanish.rsSelectDrivers=Seleccionar Controladores ...