v50 Steam/Premium information for editors
  • v50 information can now be added to pages in the main namespace. v0.47 information can still be found in the DF2014 namespace. See here for more details on the new versioning policy.
  • Use this page to report any issues related to the migration.
This notice may be cached—the current version can be found here.

Difference between revisions of "Language token"

From Dwarf Fortress Wiki
Jump to navigation Jump to search
m (Creating page for DF2014 (5/143))
 
(DFLang, and how to avoid its pitfalls)
 
(23 intermediate revisions by 11 users not shown)
Line 1: Line 1:
{{Migrated_article}}
 
{{quality|Exceptional|18:10, 28 April 2011 (UTC)}}{{av}}
 
  
Language tokens are used within the language_*.txt raw files. Each token is permitted in a specific context.
+
{{Quality|Fine}}
 +
{{av}}
 +
{{Modding}}
 +
 
 +
'''Language tokens''' can be used to adjust existing [[language]]s or create a whole new languages. Vanilla language definitions can be found in <code>[[Game folder|<Dwarf Fortress>]]\data\vanilla\vanilla_languages\</code> within the language_*.txt raw files. Each [[token]] is permitted in a specific context.
 +
 
 +
Note: All language [[raw file]]s use [[Character table|Code Page 437]] encoding, and you should make sure you are editing these files in that format. As many text editors default to UTF-8, some characters with diacritical marks may fail to show properly. Saving one of the default language raw files in this state will overwrite these characters with the Unicode question mark, which will corrupt the file. To fix this replace the file with a clean one downloaded from the distributed version of DF.
 +
 
 +
{{Urist asks|q=I want to create a language for my [[Entity token|custom civilization]]. Are there any programs built to support the in-game dictionary?|a=
 +
You can generate a language with [http://www.bay12forums.com/smf/index.php?topic=47332.0 DFLang] from a list of sample words.
 +
 
 +
You will need to update DFLang's copy of ``language_words.txt`` with the most recent version ([https://github.com/DF-Wiki/DFRawFunctions/blob/master/raws/v50/language_words.txt mirrored here]), as new words have been added since the last program release.
 +
 
 +
If you use accent marks or special characters, make sure to save your input file with Code Page 437 encoding.
 +
 
 +
[http://www.bay12forums.com/smf/index.php?topic=119625 LangCreate] is a more limited alternative, but can generate from a smaller sample.
 +
}}
 +
 
 +
__TOC__
 +
{{clear}}
  
 
==WORD==
 
==WORD==
Line 12: Line 29:
  
 
|-
 
|-
| NOUN
+
| {{text anchor|NOUN}}
 
|
 
|
 
* singular
 
* singular
 
* plural
 
* plural
| Begins defining a noun usage of a word  
+
| Begins defining a noun usage of a word.
  
 
|-
 
|-
| ADJ
+
| {{text anchor|ADJ}}
 
|
 
|
 
* adjective
 
* adjective
| Begins defining an adjective usage of a word  
+
| Begins defining an adjective usage of a word.
  
 
|-
 
|-
| PREFIX
+
| {{text anchor|PREFIX}}
 
|
 
|
* prefix
+
* prefix
| Begins defining a prefix usage of a word
+
| Begins defining a prefix usage of a word.
  
 
|-
 
|-
| VERB
+
| {{text anchor|VERB}}
 
|
 
|
 
* present first person
 
* present first person
Line 38: Line 55:
 
* past participle
 
* past participle
 
* present participle
 
* present participle
| Defines a verb usage of a word
+
| Defines a verb usage of a word.
  
 
|-
 
|-
| ADJ_DIST
+
| {{text anchor|ADJ_DIST}}
 
| number 1-7
 
| number 1-7
 
| Determines what order the adjective being defined comes in when in a string of multiple adjectives.
 
| Determines what order the adjective being defined comes in when in a string of multiple adjectives.
  
 
|-
 
|-
| THE_NOUN_SING  
+
| {{text anchor|THE_NOUN_SING}}
|
+
|  
| Lets the singular noun form of the word be used after "the". ("The X of Y", where X is the word with the tag)
+
| Lets the singular noun form of the word be used after "the" ("The X of Y", where X is the word with the tag).
  
 
|-
 
|-
| THE_NOUN_PLUR  
+
| {{text anchor|THE_NOUN_PLUR}}
|
+
|  
| As above, but with plural. ("The Xs of Y")
+
| As above, but with plural ("The Xs of Y").
  
 
|-
 
|-
| THE_COMPOUND_NOUN_SING  
+
| {{text anchor|THE_COMPOUND_NOUN_SING}}
|
+
|  
| Lets the singular noun form of the word be used as part of a compound noun after "the" ("The Z-X of Y")
+
| Lets the singular noun form of the word be used as part of a compound noun after "the" ("The Z-X of Y").
  
 
|-
 
|-
| THE_COMPOUND_NOUN_PLUR  
+
| {{text anchor|THE_COMPOUND_NOUN_PLUR}}
|
+
|  
| As above, but with plural. ("The Z-Xs of Y")
+
| As above, but with plural ("The Z-Xs of Y").
  
 
|-
 
|-
| THE_COMPOUND_ADJ
+
| {{text anchor|THE_COMPOUND_ADJ}}
|
+
|  
| Lets the adjective form of the word be used as part of a compound noun after "the" ("The Z-X of Y")
+
| Lets the adjective form of the word be used as part of a compound noun after "the" ("The Z-X of Y").
  
 
|-
 
|-
| OF_NOUN_SING
+
| {{text anchor|OF_NOUN_SING}}
|
+
|  
| Lets the singular noun form of the word be used after "of" ("The Y of X")
+
| Lets the singular noun form of the word be used after "of" ("The Y of X").
  
 
|-
 
|-
| OF_NOUN_PLUR
+
| {{text anchor|OF_NOUN_PLUR}}
|
+
|  
| As above, but with plural. (The Y of Xs)
+
| As above, but with plural ("The Y of Xs").
  
 
|-
 
|-
| FRONT_COMPOUND_NOUN_SING  
+
| {{text anchor|FRONT_COMPOUND_NOUN_SING}}
|
+
|  
| Lets the singular noun form of the word be used at the front of a compound noun (XY, as in surnames)
+
| Lets the singular noun form of the word be used at the front of a compound noun ("XY", as in surnames).
  
 
|-
 
|-
| FRONT_COMPOUND_NOUN_PLUR  
+
| {{text anchor|FRONT_COMPOUND_NOUN_PLUR}}
|
+
|  
 
| As above, but with plural.
 
| As above, but with plural.
  
 
|-
 
|-
| REAR_COMPOUND_NOUN_SING
+
| {{text anchor|REAR_COMPOUND_NOUN_SING}}
 
|
 
|
| Lets the singular noun form of the word be used at the rear of a compound noun (YX, as in surnames)
+
| Lets the singular noun form of the word be used at the rear of a compound noun ("YX", as in surnames).
  
 
|-
 
|-
| REAR_COMPOUND_NOUN_PLUR  
+
| {{text anchor|REAR_COMPOUND_NOUN_PLUR}}
|
+
|  
 
| As above, but with plural.
 
| As above, but with plural.
  
 
|-
 
|-
| FRONT_COMPOUND_ADJ
+
| {{text anchor|FRONT_COMPOUND_ADJ}}
|
+
|  
| Lets the adjective form of the word be used at the front of a compound noun
+
| Lets the adjective form of the word be used at the front of a compound noun.
  
 
|-
 
|-
| REAR_COMPOUND_ADJ
+
| {{text anchor|REAR_COMPOUND_ADJ}}
|
+
|  
 
| As above, but at the rear instead.
 
| As above, but at the rear instead.
+
 
 
|-
 
|-
| FRONT_COMPOUND_PREFIX
+
| {{text anchor|FRONT_COMPOUND_PREFIX}}
|
+
|  
 
| Allows the prefix form to be appended as a prefix to a compound noun.
 
| Allows the prefix form to be appended as a prefix to a compound noun.
  
 
|-
 
|-
| THE_COMPOUND_PREFIX
+
| {{text anchor|THE_COMPOUND_PREFIX}}
|
+
|  
 
| Allows the prefix form to be appended as a prefix to a compound noun following "the".
 
| Allows the prefix form to be appended as a prefix to a compound noun following "the".
  
 
|-
 
|-
| STANDARD_VERB
+
| {{text anchor|STANDARD_VERB}}
|  
+
|  
 
| Allows the verb to be used in a compound noun and for its participles to be used as adjectives.
 
| Allows the verb to be used in a compound noun and for its participles to be used as adjectives.
 
 
|}
 
|}
  
Line 135: Line 151:
  
 
|-
 
|-
| S_WORD
+
| {{text anchor|S_WORD}}
 
|
 
|
 
* WORD
 
* WORD
| Specifies the given WORD (defined in language_words.txt) as belonging to the symbol being defined. A given word can belong to multiple symbols.
+
| Specifies the given WORD (defined in #REDIRECT [[language_words.txt]]) as belonging to the symbol being defined. A given word can belong to multiple symbols.
 
 
 
|}
 
|}
 
  
 
==TRANSLATION==
 
==TRANSLATION==
Line 152: Line 166:
  
 
|-
 
|-
| T_WORD  
+
| {{text anchor|T_WORD}}
|  
+
|
 
* WORD
 
* WORD
 
* translation
 
* translation
 
| Specifies a translation from a given WORD (defined in language_words.txt) into the language being defined.
 
| Specifies a translation from a given WORD (defined in language_words.txt) into the language being defined.
 
 
|}
 
|}
  
==English instead of dwarfen language (Linux)==
+
==English instead of Dwarven language==
You can hack the language files in vi with this regular expression command:
+
You can hack the language files to display English in-game with this regular expression command:
  
 
'''<nowiki>:%s/T_WORD:\([A-Z_ -]*\):[^\]]*\]/T_WORD:\1:\L\1]/</nowiki>'''
 
'''<nowiki>:%s/T_WORD:\([A-Z_ -]*\):[^\]]*\]/T_WORD:\1:\L\1]/</nowiki>'''
  
 +
A procedural version can also be found at [[Lua scripting#Identity language]].
  
==See Also==
+
==See also==
[[40d:Language]] (has expanded explanations of parts of the language system, which seems to still be the same in this version)
+
* [[40d:Language]] (has expanded explanations of parts of the language system, which seems to still be the same in this version)
 +
* [[Speech file]]s
 +
* [[Utilities#Language tools]]
 +
* '''Raws'''
 +
** [[language_SYM.txt]]
  
 +
 
{{Category|Modding}}
 
{{Category|Modding}}
 
{{Category|Tokens}}
 
{{Category|Tokens}}
 +
[[ru:Language token]]
 +
[[Category:Language]]

Latest revision as of 08:27, 20 December 2024

This article is about the current version of DF.
Note that some content may still need to be updated.


Language tokens can be used to adjust existing languages or create a whole new languages. Vanilla language definitions can be found in <Dwarf Fortress>\data\vanilla\vanilla_languages\ within the language_*.txt raw files. Each token is permitted in a specific context.

Note: All language raw files use Code Page 437 encoding, and you should make sure you are editing these files in that format. As many text editors default to UTF-8, some characters with diacritical marks may fail to show properly. Saving one of the default language raw files in this state will overwrite these characters with the Unicode question mark, which will corrupt the file. To fix this replace the file with a clean one downloaded from the distributed version of DF.

Urist asks... I want to create a language for my custom civilization. Are there any programs built to support the in-game dictionary?

You can generate a language with DFLang from a list of sample words.

You will need to update DFLang's copy of language_words.txt with the most recent version (mirrored here), as new words have been added since the last program release.

If you use accent marks or special characters, make sure to save your input file with Code Page 437 encoding.

LangCreate is a more limited alternative, but can generate from a smaller sample.

WORD[edit]

Token Arguments Description
NOUN
  • singular
  • plural
Begins defining a noun usage of a word.
ADJ
  • adjective
Begins defining an adjective usage of a word.
PREFIX
  • prefix
Begins defining a prefix usage of a word.
VERB
  • present first person
  • present third person
  • preterite
  • past participle
  • present participle
Defines a verb usage of a word.
ADJ_DIST number 1-7 Determines what order the adjective being defined comes in when in a string of multiple adjectives.
THE_NOUN_SING Lets the singular noun form of the word be used after "the" ("The X of Y", where X is the word with the tag).
THE_NOUN_PLUR As above, but with plural ("The Xs of Y").
THE_COMPOUND_NOUN_SING Lets the singular noun form of the word be used as part of a compound noun after "the" ("The Z-X of Y").
THE_COMPOUND_NOUN_PLUR As above, but with plural ("The Z-Xs of Y").
THE_COMPOUND_ADJ Lets the adjective form of the word be used as part of a compound noun after "the" ("The Z-X of Y").
OF_NOUN_SING Lets the singular noun form of the word be used after "of" ("The Y of X").
OF_NOUN_PLUR As above, but with plural ("The Y of Xs").
FRONT_COMPOUND_NOUN_SING Lets the singular noun form of the word be used at the front of a compound noun ("XY", as in surnames).
FRONT_COMPOUND_NOUN_PLUR As above, but with plural.
REAR_COMPOUND_NOUN_SING Lets the singular noun form of the word be used at the rear of a compound noun ("YX", as in surnames).
REAR_COMPOUND_NOUN_PLUR As above, but with plural.
FRONT_COMPOUND_ADJ Lets the adjective form of the word be used at the front of a compound noun.
REAR_COMPOUND_ADJ As above, but at the rear instead.
FRONT_COMPOUND_PREFIX Allows the prefix form to be appended as a prefix to a compound noun.
THE_COMPOUND_PREFIX Allows the prefix form to be appended as a prefix to a compound noun following "the".
STANDARD_VERB Allows the verb to be used in a compound noun and for its participles to be used as adjectives.

SYMBOL[edit]

Token Arguments Description
S_WORD
  • WORD
Specifies the given WORD (defined in #REDIRECT language_words.txt) as belonging to the symbol being defined. A given word can belong to multiple symbols.

TRANSLATION[edit]

Token Arguments Description
T_WORD
  • WORD
  • translation
Specifies a translation from a given WORD (defined in language_words.txt) into the language being defined.

English instead of Dwarven language[edit]

You can hack the language files to display English in-game with this regular expression command:

:%s/T_WORD:\([A-Z_ -]*\):[^\]]*\]/T_WORD:\1:\L\1]/

A procedural version can also be found at Lua scripting#Identity language.

See also[edit]