Jump to content

Griftlands Localization


JoeW
 Share

Recommended Posts

Hey Everybody, 

In an effort to provide better localization for our supported languages, we have opened this section of the forums so players can discuss improvements and suggestions for improvement. 

If you would like to report a typo or better translation, please visit the appropriate language "strings" section and report there with the text of the string, your suggestion and a screenshot if possible. 

No discussion should take place in the strings section and general discussion or suggestions regarding support of specific languages should take place in the discussion section of that language.

Thank you. 

  • Like 3
  • Thanks 2
Link to comment
Share on other sites

All discussions and propositions still in eng, right? Just dont get it clear - how should i argue my propositions for those who dont know lang that we discuss?
Maybe some example of work with strings u waiting from us?
Also kinda uncomfortable work only with ingame translation, because often you should know original string to note that translation make disappear some accents\senses. Is there any board or smth with original strings, glossary, suggestions, comments and other tools?

Edited by Emwill
Link to comment
Share on other sites

Hello JoeW, I'm asking for technical help here.

I'm trying to work out Chinese localization, but found 18 {EXPEND}, 1 {HEAL}, 1 {attitude} and 1 {mean} problems by far.

165927111_QQ20200525131119.thumb.png.810bf8509ebd2ede7b9376eb8d93763e.png

1116683732_QQ20200525131130.png.acf9c168db394caa6f0eddfef6b6ba61.png

Some Expend is right, but some {EXPEND} is wrong. In below picture, Barbed Defense and Barbed Dawn is wroing, but Savage Devense is right.

783042_QQ20200525130329.thumb.png.0bb076b5364dfb91f2788e539885c9c7.png

Feather more, if I change 2 pairs of Dominance key-value,  4 more cards will go wrong.

#: MODIFIER.DOMINANCE.NAME
msgctxt "MODIFIER.DOMINANCE.NAME"
msgid "Dominance"
msgstr "Dominance"

#: NEGOTIATION_FEATURE.DOMINANCE.NAME
msgctxt "NEGOTIATION_FEATURE.DOMINANCE.NAME"
msgid "Dominance"
msgstr "Dominance"

237930358_QQ20200525125505.thumb.png.b921ac9d996ca511311eea3df94ed5aa.png

Thanks for your reading.

Link to comment
Share on other sites

  • Developer

There was a bug in calculating string lengths in certain circumstances that was preventing those keywords from being substituted in translated text.  In the next patch, please check to see if your problems go away. :)

Thanks!

  • Thanks 2
Link to comment
Share on other sites

On 5/26/2020 at 2:55 AM, rooks said:

There was a bug in calculating string lengths in certain circumstances that was preventing those keywords from being substituted in translated text.  In the next patch, please check to see if your problems go away. :)

Thanks!

I appreciate it! I learned a lot when tried to working out Chinese localization. I am looking forward to check my work in 1 week!

  • Like 1
Link to comment
Share on other sites

Currently, there is no good way to add additional localization for existing languages in mods. I want to localize a mod that I have into "japanese"(It's chinese but japanese is an existing language), and have a po file for my mod. However, the problem lies on when to call Content.AddPOFileToLocalization. If I call it under the mod's OnLoad function, it's too late, because the language is already loaded. However, if I call it directly inside the modinit.lua file, it doesn't actually do anything because the language doesn't exist yet.

The current DoLoad function under masterlist.lua do things in this order: first, mods are loaded and modinit.lua are called. Then language localizations are loaded. Then, the current language is loaded. Finally, OnLoad is called. There is no opportunity between when the language localizations are added, and when the language is loaded, so there's no way to add additional localization for an existing language through the current mod system.

Link to comment
Share on other sites

9 hours ago, RageLeague said:

Currently, there is no good way to add additional localization for existing languages in mods. I want to localize a mod that I have into "japanese"(It's chinese but japanese is an existing language), and have a po file for my mod. However, the problem lies on when to call Content.AddPOFileToLocalization. If I call it under the mod's OnLoad function, it's too late, because the language is already loaded. However, if I call it directly inside the modinit.lua file, it doesn't actually do anything because the language doesn't exist yet.

The current DoLoad function under masterlist.lua do things in this order: first, mods are loaded and modinit.lua are called. Then language localizations are loaded. Then, the current language is loaded. Finally, OnLoad is called. There is no opportunity between when the language localizations are added, and when the language is loaded, so there's no way to add additional localization for an existing language through the current mod system.

I found it easy. Just put 2 files in this folder. I can do A-B test without exiting the game, just switch to another one in Options.

You don't have to name your localization a standard short name of that language, just as you wish.

1914778156_QQ20200527202347.png.7c6ce9dfca9f474f00c99daf6d7f5e50.png

Edited by wangyi041228
Link to comment
Share on other sites

 

3 hours ago, wangyi041228 said:

I found it easy. Just put 2 files in this folder. I can do A-B test without exiting the game, just switch to another one in Options.

You don't have to name your localization a standard short name of that language, just as you wish.

1914778156_QQ20200527202347.png.7c6ce9dfca9f474f00c99daf6d7f5e50.png

That's not the point. What I want to say is that there is no good way to expand on existing languages in mods, not that there's no chinese language in the game yet(they will add it eventually, I think).

Also, does the game actually work if you extract the .zip file?

Link to comment
Share on other sites

8 hours ago, RageLeague said:

 

That's not the point. What I want to say is that there is no good way to expand on existing languages in mods, not that there's no chinese language in the game yet(they will add it eventually, I think).

Also, does the game actually work if you extract the .zip file?

The game reads the path and scan all .po file in this path, in the folder first, if missing, then in the .zip file.

If you wanna do a DIY Japanese local, just put the files here, and change the key to anything you want but not the original ones.

 

local settings = 
{
    id = "chinese2",  
    name = "Chinese2",      <----(Here, just text to show in Options) 
    incomplete = true,
    font_settings = 
    {
        title = { font = "fonts/notosans_cn_sdf.zip", sdfthreshold = 0.35, sdfboldthreshold = 0.30 },
        body = { font = "fonts/notosans_cn_sdf.zip", sdfthreshold = 0.4, sdfboldthreshold = 0.35 },
        button = { font = "fonts/notosans_cn_sdf.zip", sdfthreshold = 0.4, sdfboldthreshold = 0.35 },
        tooltip = { font = "fonts/notosans_cn_sdf.zip", sdfthreshold = 0.4, sdfboldthreshold = 0.35 },
        speech = { font = "fonts/notosans_cn_sdf.zip", sdfthreshold = 0.4, sdfboldthreshold = 0.35 },
    },
    default_languages = 
    {
        "zh_cn2",   <----(Here, important key)
    },
}

Content.AddLocalization(settings)
Content.AddPOFileToLocalization(settings.id, "zh_cn2")   <----(Here, important key)

Edited by wangyi041228
Link to comment
Share on other sites

(I don't think default_languages do anything right now)

Also, I want to add localization for strings in my mod to existing languages, so the total number of languages don't change, but there are more localization strings for strings in my mod for some languages.

Link to comment
Share on other sites

Currently, there is a workaround, and that is to reload the language after expanding on existing languages. However, that seems very inelegant, and can waste a lot of time clearing every string and reloading the strings(klei's table.add throws an error when an existing key tries to get added to a table, so Content.STRINGS have to be cleared first before doing LoadLanguage) even though there's no good reason for doing so.

Link to comment
Share on other sites

  • Developer

In the next experimental update I've swapped the order of FindAllLocalizations and MountModContent, so that mods can extend existing translations using Content.AddPOFileToLocalization directly in modinit.lua.

  • Thanks 3
Link to comment
Share on other sites

 

Hi @rooks!

I'm not sure if this isn't the right thread to ask this, but do you need any extra help with Russian localization? Not entirely sure if it is handled by the community or whether you work with freelance translators like myself. :)

Again, apologies if this wasn't the correct channel to reach out about this, but I couldn't find any info on how to get involved. I hope you and your loved ones are safe!

High-fives from Toronto,

~ Dmitry

Link to comment
Share on other sites

Hi there!

I'm a Chinese translator and I'm not sure if you need extra help for CHS l10n. May I know that it's outsourced or done by volunteers? Cuz either way the current version is (sry to say but) pretty awful with inconsistent formats and poor rhetoric, also spaces btwn CN chars which are all obviously not so professional. I gotta say all our Chinese players surely deserve better translations than this.

I've participated in l10n of projects like HITMAN, PoE2 and Dead by Daylight, also I'd appreciate if there's any chance to help improving the translation of Griftlands.

Thanks and wish you well!

Rico

Link to comment
Share on other sites

What kind of issues are you interested in wrt localization?

typo, grammar ones hard to spot or also the obvious markups issues?

I also see some issues caused by poedit when it's merging the catalog and the po file. Are these worth reporting? (I'm testing the french localization)

Background: poedit is lost when it encounters empty strings, it then inserts the po file description and that appears in the game dialogs.

Example:
 

Spoiler

#: ATTACK.AI_SPARKY_PRE_CHARGE.NAME
msgctxt "ATTACK.AI_SPARKY_PRE_CHARGE.NAME"
msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.3\n"

 

 

Edited by krop
example added
Link to comment
Share on other sites

Hello! I'm new to this game. Is there currently any in-game features supporting community localization?

I'm a Traditional Chinese speaker, and I found that the Traditional Chinese version of the game still includes a significant amount of Simplified Chinese words and phrases. Also, the Chinese translation in general still needs to be polished imo to better serve the story, create immersive RPG narrative, and inform players of the accurate description of effect of cards and items.

I'd like to help with the polishing process! Love this game so far. Very grateful of you guys/gals' great work. 

Edited by johnruby
Link to comment
Share on other sites

Edit: Nvm I found the zhant.po file! Thanks again for your answer!

Thanks for your answer!

Is there anyway for player to obtain the .po file of the official Chinese translation?

It'd be much easier to improve the original translation if player can adjust the original version instead of translating everything from scratch.

Edited by johnruby
Link to comment
Share on other sites

Suggestion: add plural rules for languages that need it.

Since English plural rules are used (e.g. card/cards), other languages should define all forms like this (examples are in Russian):

Quote

2 карт (-ы)

while it should be like this:

Quote

2 карты

But if you'll just replace "карт (-ы)" to "карты", and then number will be changed, for example, to 5, you'll get this:

Quote

5 карты

which is wrong, because it should say this:

Quote

5 карт


Here is the reference which could be helpful (cardinal subsection): https://unicode-org.github.io/cldr-staging/charts/37/supplemental/language_plural_rules.html#ru

Polish language affected as much as Russian, since they have almost same plural rules (though "one" rule is only for 1, not for 1, 21, 31, 41, etc.): https://unicode-org.github.io/cldr-staging/charts/37/supplemental/language_plural_rules.html#pl

Other languages are affected less than these two:

Plurals for these languages are supported by Gettext PO, so it would be much better for localizations to use them.

Link to comment
Share on other sites

7 hours ago, RadRussianRus said:

Suggestion: add plural rules for languages that need it.

Since English plural rules are used (e.g. card/cards), other languages should define all forms like this (examples are in Russian):

while it should be like this:

But if you'll just replace "карт (-ы)" to "карты", and then number will be changed, for example, to 5, you'll get this:

which is wrong, because it should say this:


Here is the reference which could be helpful (cardinal subsection): https://unicode-org.github.io/cldr-staging/charts/37/supplemental/language_plural_rules.html#ru

Polish language affected as much as Russian, since they have almost same plural rules (though "one" rule is only for 1, not for 1, 21, 31, 41, etc.): https://unicode-org.github.io/cldr-staging/charts/37/supplemental/language_plural_rules.html#pl

Other languages are affected less than these two:

Plurals for these languages are supported by Gettext PO, so it would be much better for localizations to use them.

I think the game may already support multiple plural forms in the code. I need to get to my laptop to check though.

Link to comment
Share on other sites

Yeah, can confirm the system for overriding plurality already exist in the game's code. Use the po file to define plurality, and use {1*singular|plural1|...} to specify plural forms of words. It's just a matter of actually doing some work on the po file.

Link to comment
Share on other sites

On 4/23/2021 at 4:05 AM, RageLeague said:

Yeah, can confirm the system for overriding plurality already exist in the game's code. Use the po file to define plurality, and use {1*singular|plural1|...} to specify plural forms of words. It's just a matter of actually doing some work on the po file.

Isn't it only for English? English plural rules are supported, yes, but what about languages that use different plural rules?

Link to comment
Share on other sites

21 hours ago, RadRussianRus said:

Isn't it only for English? English plural rules are supported, yes, but what about languages that use different plural rules?

You can define your own plural rules in the po file and it will override the ConvertPlurality function.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
  • Create New...