Release announcement:
A tool for optimizing language_words.txt, and for checking whether your existing languages have gaps (as compared to your language_words.txt). Download it here (http://dffd.wimbli.com/file.php?id=9051). It's mainly meant for modders or for players who want to optimize their language file (very easy with the tool) and/or import older language files to your game. It can add zillions of new naming options but still end up with a smaller language file / less memory requirements than before.
What is DFLangOpt?
It's a commandline tool for processing language files. It is mainly intended for use by modders and translators, but can be used by players to slightly mod their game.
What can it do?
Sort your language file : It outputs sorted language files. The advantage of this is that if you use a language_words.txt file which has it's keys sorted then the naming options in-game are also sorted. Future versions will have a non-sorting option if there is a demand / technical reason to do so.
Trim crap from your language file: It can also "optimize" your language_words.txt file. There are many naming options which are identical but have a different grammatical context, e.g. "aces" and "aces" are two separate options cluttering up the lists when you try and name your group or squads. Other than a column on the right when you name things telling you whether it's "aces" the plural noun or "aces" the present participle verb, this NEVER has any effect on your game, except to clutter the lists, taking up your time and your PCs memory. As a bonus, because common words are culled a bit (it leaves ace, aces, aged, acing alone as separate words), then uncommon words are more likely to appear in names, giving more variety along with the memory savings.
Add new crap to your language file: There are many valid options for naming things that just aren't allowed in the regular language files. There is an option in dflangopt to add new options to the existing word system, thus creating millions of place names, group names etc that were impossible before. by running the "expand" option on a your language file, dflangopt runs some common-sense improvements on naming options, e.g. allowing plurals where they should be allowed (A group name "The animal"or "the angel" was allowed, but "the Animals" or "the angels" was not), and allowing any verb to be used as an adjective: "dancingblades" can be a fortress name if you run this, something not allowed in Vanllia DF. Optimizing your language file while also adding the extra options in still results in an overall smaller language file than you had before: but with HEAPS more variety in names.
Find gaps in your languages: New versions of DF can bring new words, so can mods. If you want to use a language from an old mod, or update them for a new mod, then some words from that language will be "blank" when you use them in the current game, or convert them to Masterwork DF (which contains words Toady removed from Vanilla). dflangopt can compare a language you provide to a specified language_words.txt and spit out a file showing what you're missing, saving a lot of manual effort.
Merge language files: I use this to speed up translation efforts for updating my real-world language pack. Using the "gaps" option, you can spit out a list of missing words, drop them straight into Google Translate, clean up the list, drop it back into dflangopt's directory then double-click a batch file to merge that into the language file you're working on.
Future Planned Features
One goal of dflangopt development is to expand the allowed complexity of languages in Dwarf Fortress, this will involve splitting plurals and singular usages, separating verb, noun and adjective usages. The first major goal of this will be to more correctly render three existing real-world languages; English, German as possibly Japanese. A system will also be developed so that existing language files can be ported to work seamlessly with the "expanded" system.
Developed by Reelya ** not associated with Dflang **
20 Real World Language Pack for DF31.25 (In process of updating) (http://dffd.wimbli.com/file.php?id=4352)
Many moons ago, I made a real world language pack, to collect the many little files together in one place, and add some more of my own. Original thread was here (http://www.bay12forums.com/smf/index.php?topic=83400.msg2225616#msg2225616), but in an old account that's deactivated. You can download the file in my current .sig
Now, I've decided to reboot the project, but to take it in another direction: rather than add more languages, the goal is to look at the language system and see what improvements can be made to make real-world language output more closely match the actual languages. Correct English will be the first goal for simplicities sake, though the limits to the system still don't allow following exact English conventions (verbs are the worst offender here).
A survey of the available tags leads to the following observations:
[spoiler]- there are numerous use-cases of each noun-word, adjectives and prefixes. Each use-case could be split into multiple sub-entries in the language files, allowing them to be customized for each use-case.
- if words are split into sub-entries, then the language symbols file needs to be updated to take this into account, and each race language needs to be expanded to fill any gaps.
- Verbs are very limited, there is no way to differentiate past-tense, present tense etc, in generated languages. Since there are no options for verbs, little can be done here.
- the construction system takes English as it's conceptual starting point, so constructs unfamiliar to English will be difficult to generate in other languages.
- there are many inconsistencies in the language system, many of them feel arbitrary. These would be nice to clean up, however, the new system needs to be as closely compatible with the old raws as possible. My goal is to make a new raws format for "enhanced" languages that get parsed through a tool to make an "enhanced version raw", that way language files can be created and used with either the old or new system. The goal is that the base file still works as a regular raw for normal use.
Project Roadmap:
- Updating language pack in .sig to DF40.0x. 3 languages down, 17 to go. Japanese has been completely reworked (there was too much "fake" Japanese in there. now, no words are English loan-words.)
- Create expanded language system, break apart plurals from singular, generate better real-world language support in 3 test languages - English, German and Japanese.