Difference between revisions of "Translatable"

From The Battle for Wesnoth Wiki
(Explanation: Correct examples, add syntax highlighting, remove extraneous "how to use your browser")
m (Correct syntax tags)
Line 13: Line 13:
  
 
Bad:
 
Bad:
<syntax_highlight lang='wml'>
+
<syntaxhighlight lang='wml'>
 
{VARIABLE message_text ("Hello, fair warrior!")}
 
{VARIABLE message_text ("Hello, fair warrior!")}
 
[message]
 
[message]
Line 21: Line 21:
  
 
Good:
 
Good:
<syntax_highlight lang='wml'>
+
<syntaxhighlight lang='wml'>
 
{VARIABLE message_text ( _ "Hello, fair warrior!")}
 
{VARIABLE message_text ( _ "Hello, fair warrior!")}
 
[message]
 
[message]

Revision as of 17:37, 1 August 2016

Explanation

Items marked with the text (translatable) are WML strings that can be translated. Nearly every string that the player sees can be translated. A program called "gettext" automatically parses your WML files, seeks out strings marked as translatable, and compiles them into a translation template file. Translators can then use this file to create translations of the game into their languages.

You, the scenario writer, must mark a string as translatable by including an underscore character "_" before the string starts. Here is an example.

Not translatable:
description="Baldras"
Translatable:
description= _ "Baldras"

When using strings in macros, include the underscore character with the actual text. Gettext does not know how to perform macro or variable substitution, so always keep the underscore with the string it marks.

Bad:

{VARIABLE message_text ("Hello, fair warrior!")}
[message]
message= _ {message_text}
[/message]

Good:

{VARIABLE message_text ( _ "Hello, fair warrior!")}
[message]
message={message_text}
[/message]

See Also