Difference between revisions of "Modules/localize"

From MSX Game Library

< Modules

(Usage)
(Usage)
Line 4: Line 4:
  
 
The translation process consists of 3 elements:
 
The translation process consists of 3 elements:
* A file (or several) in which the user places his translations for each supported language in the form: <tt>key = "text"</tt>.
+
* A file (or several) in which the user places his translations for each supported language.
 
* A project configuration (See [[Modules/localize#Settings|bellow]]) to inform the Build tool of the translation files to be processed.
 
* A project configuration (See [[Modules/localize#Settings|bellow]]) to inform the Build tool of the translation files to be processed.
 
* A module to be initialized in the code, then functions to select a language and to retrieve a given text's translation.
 
* A module to be initialized in the code, then functions to select a language and to retrieve a given text's translation.
 +
 +
=== Translation source file ===
 +
A translation source file must include:
 +
* A tag that defines each language section as: <tt>[langue]</tt>;
 +
* A translation list in the form : <tt>key = "text"</tt>.
 +
 +
For example:
 +
[EN]
 +
Start  = "Start"
 +
Options = "Options"
 +
Exit    = "Exit"
 +
 +
[FR]
 +
Start  = "Commencer"
 +
Options = "Options"
 +
Exit    = "Quitter"
 +
 +
[JA]
 +
Start  = "スタート"
 +
Options = "オプション"
 +
Exit    = "しゅうりょう"
  
 
== Dependencies ==
 
== Dependencies ==

Revision as of 12:47, 24 November 2023

The localize module handle translation in several langage of your application. This module is very small in size and very efficient.

Usage

The translation process consists of 3 elements:

  • A file (or several) in which the user places his translations for each supported language.
  • A project configuration (See bellow) to inform the Build tool of the translation files to be processed.
  • A module to be initialized in the code, then functions to select a language and to retrieve a given text's translation.

Translation source file

A translation source file must include:

  • A tag that defines each language section as: [langue];
  • A translation list in the form : key = "text".

For example:

[EN]
Start   = "Start"
Options = "Options"
Exit    = "Exit"

[FR]
Start   = "Commencer"
Options = "Options"
Exit    = "Quitter"

[JA]
Start   = "スタート"
Options = "オプション"
Exit    = "しゅうりょう"

Dependencies

Dependency on other modules: None.

Settings

The localization process can be customized in your Build tool configuration file, project_config.js:

//-- List files to be localized (array)
LocFiles = [ "file1.ini", "file2.ini" ];

//-- Localization output filename (string)
LocOutput = "localization.h";

//-- Localization structure name (string)
LocStruct = "g_LocData";

Note: If LocFiles is empty (default value), the localization process is disabled.

Appendix

  • See also: Sample program s_loc

Documentation