= 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
...