Community Localizations (v1.0.0.2)

In-Game Localization Downloader

Grim Dawn now includes the ability to download localizations via the Language option in game. To submit your completed v1.0.0.2 localization, please see this thread.

Create a Localization

Grim Dawn reads community localizations from the “/localization” subdirectory of the location the game is installed. This is usually similar to “Program Files\Steam\SteamApps\Common\Grim Dawn”. The game reads directly from a .zip file containing your localization files, which can be created using any standard .zip utility.

A community localization consists of a .zip file containing the localization texts along with a “language.def” file which tells the game the name of the localization as well as the font set to use.

example language.def:


language=French
fonts=FR
author=John Smith

The name given in the language field is what shows up in in game options. Community localizations appear as “community_French” for example in the language selection box in game options.

Currently the following font sets are available:

“CS” - Czech
“DE” - German
“EL” - Greek
“ES” - Spanish
“FR” - French
“HU” - Hungarian
“IT” - Italian
“KO” - Korean
“NL” - Dutch
“PL” - Polish
“RU” - Russian
“ZH” - Chinese
“SK” - Slovak
“PT” - Portuguese
“BG” - Bulgarian
“JA” - Japanese
“VI” - Vietnamese
“TH” - Thai

If you are working on a localization and require a font set for a different language, please PM me the request along with a link to the unicode alphabet for your desired language.

Item Localization

Gender Support

If you want to make use of gender support, you need to edit tagItemNameOrder (it’s the first tag in “tags_items.txt”) to use ‘a’ instead of ‘s’ for the genderized parameters, and specify the index of the parameter which contains the item gender to use for the item.

for example (genderized prefix/quality/style/suffix, with gender chosen by name)


tagItemNameOrder={%_3a0}{%_3a1}{%_3a2}{%_s3}{%_3a4}

Gender codes would then be given to each tag representing an item name. The code present in the name is then used to pick from the genders supplied in other tags.

for example, a masculine singular object would be defined as follows:


tagSword=[ms]Sword

and a genderized suffix would be defined:


tagSuffixPower=[ms]Power[fs]etc[ns]etc

Recognized gender codes are:


[ms] Masculine Singular
[fs] Feminine Singular
[ns] Neuter Singular
[mp] Masculine Plural
[fp] Feminine Plural
[np] Neuter Plural

Reorder All Item Names

If you want to change the order in which item names are built for all items (from prefix/quality/style/name/suffix to some other order), you can change the parameter indexes around in tagItemNameOrder.

for example, name/quality/style/prefix/suffix (all items)


tagItemNameOrder={%_s3}{%_s1}{%_s2}{%_s0}{%_s4}

Recapitalize Item Names

If you want to recapitalize the item name string after it is created you can prepend ‘$’ to tagItemNameOrder. The string will be changed so that only the first letter is capitalized.


tagItemNameOrder=${%_s0}{%_s1}{%_s2}{%_s3}{%_s4}

“Godly Plate of the Whale” would become “Godly plate of the whale”.

If you want to mark a specific tag to prevent recapitalization you can prepend ‘$’ to the tag.


tagSuffixWhale=$the Whale

The item name would then become “Godly plate of the Whale”.

Individual Item Tag Reordering

If you require it, you can reorder only some tags, for example to move a certain prefix to the end of the item name, you can prepend reordering info to the tags.

The code is |X where X is from 1 to 9 indicating the new location relative to the locations of other tags.


tagPrefixToBecomeSuffix=|1Warrior's

Tags without reordering info set are considered to have ‘|0’. The tags making up the item name are then sorted in order of their indexes and the item name is created.

In this case, Warrior’s would be moved to the end of the string since all other tags aren’t reordered.

Conversation Localization

Gender of Target

You can change npc speech in conversations based on the gender of the target the npc is talking to (usually the player) using gender tags.

Hello [[ms]sir[fs]madam], how are you today?

Support for Scriptio Continua

If your language uses scriptio continua and you are encountering text wrapping issues in conversations, add the line “wordmode=false” to your language.def file.

Questions?

If you have game related issues with your translation you can post in this thread for help.

Thanks to the community localizers for their effort!

Attachment: v1002_english.zip
Attachment: 20160317225048_1.jpg
Attachment: Problem with space.jpg
Attachment: das.jpg
Attachment: da2s.jpg

Thank you!

Thanks Rhis!

[SIZE=2]Hello Rhis[b]

1.[/b][/SIZE] Since you added gender support to the Active Quests tab, it’s also necessary to add it to the Completed Quests tab. Completed quests are currently displaying gender tags in game.

2. Any chance of adding gender support to the intro?

3. There is a typo in tags_tutorial.txt (line 269):

tagQuickTip43=^{z}Blueprints{^-}{^n}{^n}Visit the Blacksmith to craft items using the Blueprints you have learned, and the crafting materials you have found.

It should be:

tagQuickTip43={^z}Blueprints{^-}{^n}{^n}Visit the Blacksmith to craft items using the Blueprints you have learned, and the crafting materials you have found.

4. The fonts used in the loading screen aren’t being displayed properly at certain resolutions (I play @1360x768).

With regards to 2, why is it needed? The player character in the intro is neither male nor female. Does your language have no concept of being gender neutral?

Many thanks! :slight_smile:

The way the intro was written makes it hard to translate it in a neutral way. Pretty much everything has a gender in portuguese since we don’t have a third person gender-neutral pronoun like “it” or “singular they”. If it is difficult for you to implement I will make adaptations but that would sacrifice the quality.

I also need to genderize the word “Heavy” (Heavy Helm, Heavy Pants…). How can I do it?

Nice!

Just putting my quad string format here for reference, in case anyone struggles with it.

QuadStringFormat={%3a0}{%_3a1}{%_3a2}{%_s3}
[It’s (0)Augmented (1)Legendary (2)Heavy (3)Armor]

Note that caster armor has been separated in two tags now, so if in your language you can’t have an objective declare possession (i.e. caster armor) and has to be “armor of caster” instead (roughly:p), you’ll probably have to set tagArmorClass01 in tag_items.txt line 828 as one word and then reorder it to go to the end of the string, like so:

tagArmorClass01=|9[ms]caster[fs]caster[ns]caster… (caster obviously in possessive form and one gender of choice)

Thanks. Replacing {%s2} with {%_3a2} did the trick. :slight_smile:

Can you tell me what this “_” does? The difference between a string with it and without it :slight_smile: %_3a2 vs %3a2

Add a space between variables.

Here’s a weird one:

The items listed in the set list have English names.

It happens if you start the game with a translation, exit to main menu and then switch to English. It also happens in reverse, and fonts can go missing, blocks showing up in their place.

There’s a bug with the 3 Gethrand’s Notes. These notes have a “Name” tag and a “codexTitle” tag (to fit the Codex Window). Currently only the “Name” tag is being displayed.

Edit:

Yes, will try to get these into b31. for you.[/QUOTE]

  1. Not all lores have a Title tag.
  2. The ones you added after your post are currently not working.

It’s worse with CJK font, many characters can’t be displayed and become squares.:eek:

Oh I’m getting the squares too alright, it’s just that I can’t consistently reproduce it. Seems to happen when I click on “start” very fast after changing a language.

But restarting the game fixes everything font related over here, don’t know about you?

Maybe in the end we’ll need one megafont with 15.000 glyphs and we’ll be set.:smiley:

I don’t know if it’s me, but I have no space between the last word and the preceding one with the weapons (but no problem with the armors).

Here is what I put :
SimpleStringFormat={%s0}
SimpleStringsFormat={%s1}{%1a0}
TripleStringFormat={%s2}{%2a1} {%2a0}
QuadStringFormat={%_s3}{%_3a2}{%_3a1}{%_3a0}

In my example, there shoud be a space between “mains” and “magique”.

Try this (no spaces between “}{” ):

SimpleStringsFormat={%_s1}{%_1a0}
TripleStringFormat={%_s2}{%_2a1}{%_2a0}

It works! Thank you so much!:smiley:

Hi… I’m quite sure that aomeone already talked about that in a previous Topic (maybe 1.001), but i could not find it to quote
it, or someone that was proposing a solution, so here it is :

I know it’s just a “one-time” execution, but i still think that solving it could be nice…
the intro video is still cutting out the subtitle texts at the end, and i found out that it’s happening for those text characters
of the translation file exceeding the lenght of the original ‘intro.txt’ existing in the Video folder.

Checking it with French, German, Spanish and Italian translations, i saw that i could use the workaround of overwriting the
intro.txt file in the Video folder with the same one of the translation ZIP file.
(It works also adding a bunch of blank spaces at the end of the last text line into the original ENG file, but in this last case, better
add them only up to the exact char size of the translated file, or you can see some strange chars into the last visualized line)

Anyway, with the first ‘Repair’ or with the next patch it will be overwritten again, but as a momentary ‘patch’ it works. :slight_smile:

Thx guys for your great work on this game.

Clay

Thanks a lot, Clay!