Wasteland 2 Localization Project Page

Localization Instructions

Thank you for participating in the Wasteland 2 Localization Project. Below you will find instructions to help you localize text containing special notation used by the game. Note: The terms "text" and "string" are used interchangeably below.

Localization Standards & Guidelines


Consistency of language and terminology used is absolutely paramount. No matter how good a localization is, if it's inconsistent in the language used, such as names of characters, locations, or concepts, the player won't understand what's going on. Therefore, if translating specific strings that include names of organizations, locations, nicknames of characters, and so on, please refer to other strings that the community has decided upon before making any changes.

As a rule governing all the guidelines below, consistency is more important than perfect accuracy.

Localization vs. Translation

Remember that the Wasteland 2 Localization Project is not just straight translation. Localizing the game means making sure that game text is adapted to specific regions and languages. Wasteland 2 features a lot of dialogue that is heavy on personality and references to American culture (especially from the 1980s), and as a result, some of the text strings may not translate well to other languages. In these cases, feel free to use a more straightforward, literal translation.

For example, in English, there may be puns, slang, or other idioms that are the result of certain words sounding similar to one another; when translated, these aren't going to work well. Instead, localizations may substitute specific word plays, slang, or idioms that work in the respective language, provided the original meaning of the text is not deviated from.

Text Length & Accuracy

Where possible, keep the length of in-game text close to the original. For instance, user interface tooltip text should be translated as short and to the point as possible, and should match standard videogame language that players are familiar with. Meanwhile, conversation text should not be shortened or lengthened significantly.

Please do not add new meaning or details to the text that do not exist in the original English.

Titles & Ranks

The game title, Wasteland 2, should not be changed under any circumstances. However, for real-world things represented in-game, such as Quarex's game consoles (i.e. 3DO, SNES), the real-world regional equivalent names may be used, provided they are correct (i.e. Genesis vs. Mega Drive).

Ranks, as used by the Rangers and other organizations in the game, should be translated as-is and not changed. While Wasteland 2 may use real-world rank names, the hierarchy and organizations that they are used in are fictional. Therefore, consistency and accuracy to in-universe meaning is more important than making sure those rankings fit real-world rules (i.e. don't change "Major" to "Captain" because the rank is higher in a specific real-world military organization). The Ranger ranks follow the list of promotion from Wasteland 1, reference this list for information.

Location & Organization Names

All location and organization names should be translated as-is (including things like Desert Rangers, Ag Center, etc.). However, we understand that specific names may not translate well into other languages. Sometimes it may be appropriate to substitute a term which has nearly the same meaning, but not the exact same meaning, if it works better.

One example is "the wasteland", which is an English word that may not have a direct translation in other languages – the title of the game, Wasteland 2, should be kept the same, but "the wasteland" can be changed to something which fits better.

Please remember that some organizations or locations may be known by multiple names/nicknames, for example, Servants of the Mushroom Cloud vs. "Mad Monks", or "Agricultural Center" vs. "Ag Center".

Character Names

Normal character names which are given names should not be translated (especially as many of these are our Kickstarter backers and fans). Nicknames should be translated where appropriate. For example, in the nickname "Snake Vargas", "Snake" can be translated while "Vargas" is kept as-is. When in doubt over whether a name is a nickname or a standard character name, leave a comment and inXile staff will step in and clarify things.

Singular vs. Plural

Some languages may not use the same words "you" and "your" when referring to singular vs. multiple people. Wasteland 2 does not differentiate between a Ranger party of a single character or multiple characters, as it is developed primarily as a multiple-character game. Therefore, when the party is being referenced, always use plural language, unless it is explicitly clear only a single person is being referred to.

Formatting Instructions

Text in Square Brackers [ ]

Text within square brackets (e.g. [COUNT]) should not be translated. These are tokens that are replaced at runtime with appropriate text.

Text in Curly Braces { }

Text within curly brackets (e.g. "{M}", "{#WL2_Vargas_Intro_00}") contain information that is extracted from the string at runtime for various purposes. When they appear after a name of a person, animal or object, they contain a single letter indicating the gender of the person/animal/object, and that gender may be changed as appropriate to the target language for animals and objects. "{M}" = masculine, "{F}" = feminine, "{N}" = neuter. When they appear at the start of a string, it is the name of an audio resource to play with the text and should not be translated nor changed in any way.

Text in Asterisks * and double Asterisks **

Words or phrases enclosed by * are key-words in the game that generate buttons in the conversation UI that the user can press to inquire about that subject. They appear in the displayed speech bubble of the speaker highlighted in a different color (yellow or red depending on their relevance). If you need to change the order of keywords, please carefully follow the instructions below under the Changing Keyword Order header.

When you see two asterisks together (**) these represent a single asterisk in the text and are used to bracket human sounds (e.g. "**sigh**", "**snort**").

The example string below contains starred keywords "Ace" and "duty" (it also contains audio data in curly braces at the start):

"{#WL2_Vargas_Intro_01}Appreciate you coming to Captain *Ace*'s retirement party when you hardly knew the man. Appropriate too, seein' as how investigating his death will be your first *duty* as a Desert Ranger."

In the game, the string above will appear as this:

"Appreciate you coming to Captain Ace's retirement party when you hardly knew the man. Appropriate too, seein' as how investigating his death will be your first duty as a Desert Ranger."

Here is an example containing double-starred word "snorf" and starred keywords "Ace", "Vargas", and "babies":

"**snorf**... Sorry about the waterworks. I'm still pretty broke up over *Ace*. I'm Angie. You kids must be the new recruits ol' *Vargas* trained up. Lord, y'all just *babies*."

In the game, the string above will appear as this:

"*snorf*... Sorry about the waterworks. I'm still pretty broke up over Ace. I'm Angie. You kids must be the new recruits ol' Vargas trained up. Lord, y'all just babies."

Note: The keywords appear as yellow when they are relevant only to the local conversation or game area; they appear as red when they are relevant to a larger region of the game or game story in general. We call them local and regional keywords, respectively, and their status is determined by the game (not by anything in the string).

Keyword Length

Keywords appear on buttons in the conversation UI. The buttons are a fixed size and can fit two rows of 12 characters. It will be shrunk to fit on the button, but the more it shrinks the harder it will be to read. So please keep the keywords as short as possible.

On the GetLocalization database, keyword strings have the word "Keyword" in the Context field (at the end), or "File=KeywordRegionSetter.cs" (at the start).

Number Agreement

Combat Text

Combat starts with a description of the enemies you face. Because the sentences contain subjects of indeterminate grammatical number, a special notation is used to select at runtime the proper option for elements of the sentence that require number-agreement or otherwise depend on the number of enemies. Each element is enclosed by parenthesis and the number-agreement options are separated by '/' in number order.

A simple example:

"(A/[COUNT]) dog(/s)"

For a single dog, the above produces "A dog". For 3 dogs the above produces "Three dogs". Note, the name of the number 3 is generated from a localized table of numbers from 0 to 10; for numbers above 10 it will just use the number, e.g.: "12 dogs".

An extreme example:

" (A lone/A pair of /Three/Four/A pack of [COUNT]) feral dog(/s)( partially//// completely) block(s/s///s) your path."

Depending on the actual number N of dogs, the program will select the Nth element in each parenthesized group. If N is greater than the number of options then the last option is used. Note that an option can be blank as in "(/s)", where the first option is blank to form the singular version of the noun "dog" which precedes it.

Example outputs at runtime:

For 1 dog: "A lone feral dog partially blocks your path."
For 2 dogs: "A pair of feral dogs blocks your path." For 3 dogs: "Three feral dogs block your path."
For 4 dogs: "Four feral dogs block your path."
For 5 dogs: "A pack of five feral dogs completely blocks your path."

You may include the whole word in the options in case it has different spellings based on number.


"A (/flock of) wild (goose/geese)"

Non-Combat Sentences

The same mechanism is available outside combat for conversations and barks ("barks" are utterances by NPC's outside of a conversation), but the COUNT is the number of PCs in the conversation (if it is a conversation) or 1 if it is not a conversation.

Example in conversation:

"Well you are fine looking (/pair of /trio of/group of) Ranger(/s)."

Gender Agreement

Combat Description Text

There is also a parenthetical notation for selecting an option for gender agreement in Combat text by placing an '+' or '-' after the opening parenthesis to select by gender of attacker or victim, respectively:

"[ATTACKER] curses as (+his/her) blade glances off [TARGET]'s side without damaging (-him/her/it)."

The order of the genders is Male/Female/Neuter.

The gender of an object or person is determined by a notation in their display name: an 'M', 'F', or 'N' (for Masculine, Feminine, Neuter, respectively) is placed in curely braces after the name. For examples: "Axe Thug{M}", "Carol{F}", "Creature{N}". For people you should leave the tag unchanged. For objects, feel free to change the tag to reflect the appropriate localized gender.


In conversation or barks, '+' and '-' correspond to the gender of the speaker and addressee, respectively:

"This old (+man/woman/thing) is glad to see a fresh face, (-sir/mam)."

For a woman addressing a male, the above example produces:

"This old woman is glad to see a fresh face, sir."

For a neuter speaker (perhaps a robot) addressing a female, the example above produces:

"This old thing is glad to see a fresh face, mam."

Other Descriptions

In non-combat descriptions, '+' and '-' correspond to the gender of the main subject and object (if any), respectively:

"[CNPC] was calmed by the leadership of [PC]."

In the example above '+' selects to the gender of [CNPC], and '-' selects the gender of [PC].

Random Selection

And finally there is a notation for selecting a random option from a group by placing a '%' after the opening parenthesis to provide random variety when text recurs.

Combat Text Example:

"<@>Shrapnel from the (%explosion/blast/booby trap) (%peppers/injures/hits/strikes/impacts) [TARGET]'s (%torso/legs/body)[DAMAGE]."

Conversation Example:

"How are you (%feeling/doing/getting along)?"

Here is a conversation sentence example that uses them all:

"How are you (%feelin'/doin'/get'n along) Ranger(/s)? This old (+man/lady) is glad to see a new face, (-sir/mam)."

Note: For number agreement notation, you may optionally put a '#' after the opening parenthesis, but since it was the first of this multi-selection syntaxes implemented it is not required.

The following two are equivalent:

"Howdy Ranger(/s)."
"Howdy Ranger(#/s)."

Keyword Alternatives

You may see strings such as "Repeater Units/Repeaters/Repeater", with alternative names for a subject separated by forward-slashes. These are Keyword specifiers that list alternatives that are recognized when typed in manually by the user (as opposed to clicking a keyword button). The purpose of this notation is to allow the game to recognize several common variations that the user might type in for a given subject. When translating these strings you have the discretion to change, add or remove alternative variations as makes sense for localization.

Each alternative should be unique, so if two alternatives translate to the same thing in your language, then remove one. There should be no duplicate altenatives in the localized string.

Feel free to add alternatives that make sense for your language/locale.

This keyword alternative notation is available in starred keywords of conversation strings as well. E.g. "Beware of the *feral dogs/wild dogs/dogs* that roam the land." The first alternative is what appears in the displayed sentence: "Beware of the feral dogs that roam the land." The first alternative is also what appears on the conversation button. However, you can prefix one of the other alternatives with '&' to make it use that text for the button. E.g. In the string "Beware of the *feral dogs/wild dogs/&dogs* that roam the land." the displayed sentence shows "feral dogs", but the button displays "dogs".

Keyword Permutations

Distinct from the number agreement notation is the keyword permutation system. This is only used for keywords. Any keyword specification (including starred keywords in conversation strings), can use parenthetical elements to specify optional matching keyword text the user can type in, and the options will be expanded to all possible permutations. So it serves as nice shorthand.


"Guardian(s/)( of the Old Order)" --> "Guardians/Guardian/Guardians of the Old Order/Guardian of the Old Order"
"Hound(s)/Dog(gie)(s)" --> "Hound/Hounds/Dog/Doggie/Dogs/Doggies"

Note: a single element in parentheses (i.e. no slashes) means without and with the element. On the other hand, if the parentheses contain any slashes, then all permutations are specified within the parentheses. This gives you control over whether the blank option exists and where it appears in the order of permutations.


"Dog(s)" --> "Dog/Dogs"
"Dog(s/)" --> "Dogs/Dog"
"Dog(/s) --> "Dog/Dogs"

The last example above shows how "(s)" is equavlent to "(/s)"

Changing Keyword Order

For any reordered keywords, the original English keyword must be specified with a special notation immediately after the first '*'.


English: "*Ace*'s *killer*"
French: "le *<@killer>meurtrier* d'*<@Ace>Ace*"

With this notation, the program code will know to match up "meurtrier" with the subject of "killer" and "Ace" (in localized text) with the subject of "Ace" (English text). IMPORTANT: Even though "Ace" is the same in both languages, the notation is still needed if "Ace" is reordered.

If other keywords in the sentence remain in correct order then they do not need the special notation.

For example:

English: "*Ace*'s *killer* is a *mystery*."
French: "le *<@killer>meurtrier* d'*<@Ace>Ace* est un *mystère*."

In the example above the last keyword requires no special notation since it remains in the same order as the 3rd keyword.

In the unlikely case that the English keyword already uses this notation, simply copy the English notation.


English: "*Ace*'s *<@bane>killer*"
French: "le *<@bane>meurtrier* d'*<@Ace>Ace*"