Problems in the multi-language support

During my brave quest of translating the major part v0.9 into German, I discovered many small problems with the multi-language support. I have added links to the issues. Use the issue number to refer to them.

[ul][li]Issue 4653: There are some strings which have lots of trailing or leading whitespace. This doesn’t seem right to me. I think any leading or trailing spaces should usually be eliminated in the original strings. There may be some exceptions.[/li]
[li]Issue 4653: An example this are the strings you see at the right part of the map. It seems those strings must have a constant length with the rest filled with spaces. Well, this sucks. What sucks even more is that automatically adds the same amount of white space as in the original string. It is not possible to disable this behaviour. I asked them. They told me that this whitespace stuff is a bad idea and I should go complain to you instead. I have to partly agree with them, but on the other hand I hate it when software attempts to be smarter than the user. :smiley: To see the result of this, try CDDA 0.9 with the German translation (download it from Launchpad).[/li]
[li]Issue 4654: Some numbers always use a “.” as a decimal seperator. Not all languages do this. German, for example, uses “,”. In master, I saw this has been fixed for most of the numbers but not all.[/li]
[li]Issue 4655: Space is sometimes very short:
[list][]The word “OR” which appears in construction and crafting menu does not permit a translation longer than two characters.
]The bionic description field is WAY to short. The bionics screen provides enough space to add extra space.
[]Same goes for trait and profession descriptions in character creation screen. 3 lines just don’t cut it.
]Same goes for the character menu, which also uses 3 lines for trait descriptions.
[]Translating the help is annoying. You have a limited number of help screens and all the text MUST fit into it. Does not always work. Space is especially scarce in the gun help screens. My suggestion is to expose the strings not screen-per-screen but paragraph per paragraph and the game simply appends as many paragraphs into a screen which fit and if one paragraph would exceed a screen, the game dynamically adds it to the next screen. So the number of help screens per topic is dynamic. This would make it a lot more translation friendly.
]CDDA often behaves strangely when it encounters a string which is too long. I stopped counting the examples.
The obvious solution is: Well, give us more space! ;-)[/li]
[li]Issue 4649 (fixed): Support for grammatical number (singular/plural in English) is not consequently used but should. Since gettext has excellent grammatical number support, this should not be a problem. The offending strings which should have a grammatical number but haven’t are:
[]No. 635, 658, 659, 2363 and 2684 in Launchpad.
]All item names. To show you that this is neccessary, I tell you that I even saw some strings with “%ss” which makes “plastic bottle” to “plastic bottles”, “cranberry” to “cranberrys”, oh, wait! And of course all occourences of “%ss” should probably be changed to “%s” after adding grammatical number support to the item names.
[li]Issue 4650 (fixed): Tabs in the crafting menu don’t order nicely in the German translation (and probably other languages as well), when the entered text is longer than the English counterpart. Please consider the string length when building the tabs.[/li]
[li]Issue 4651: Faction names suck. They suck as hell. I have absolutely no idea how to translate these. The names are probably too fixated on the English Grammar. Luckily factions are not developed yet. When you start to develop factions, I strongly suggest to rebuild the name generator from scratch, but this time with other languages in mind.[/li]
[li]Issue 4658: There are some strings which seem to be made in a “glue-them-together” manner. One example are the descriptions for factions (there are other examples as well). Needless to say, it is just a pain in the ass to translate these strings, because it is hard to tell the context. Such strings came up in the WTF thread. I strongly suggest to use format strings as often as possible.[/li]
[li]Issue 4648 (fixed): The help strings also have another problem: Format strings are handled VERY strangely there. It wasn’t really neccessary to put strings like “pressing ‘%s’”, “pushing ‘%s’”, “holding down the %s key” into their own strings. This makes translating much more complicated than it should be. The format strings in the help should really just refer to the key name and not anything else (not even quotes) and those extra strings should be discarded.[/li]
[li]Issue 4652: I have very bad problems with grammatical case. English doesn’t have case, but a lot of European languages do. Like German. It is not possible to translate many strings into German with the correct case. This is the only problem where I can’t come up with a simple solution, sorry.[/li][/ul]

Developers, please tell me which of my concerns are valid. I’ll post then to the issue tracker then.

Edit: I got told to add all points to the issue tracker. Okay then, so I did. I added links to all issues on the list above.

This is an amazingly exhaustive list!

I think this should be in the translation discussion forum so that it doesn’t get lost, can someone move it there?

There’s no need for my threading in github discussions, and I hope I can help.

  1. White spacing sometimes serves its purpose when you want to make a long text segment more readable. Both curses and SDL builds have an issue of equal character spacing, and if there are many, many letters in the sidebar it simply gets difficult to read.
  2. That’s a real thing not many people are aware of. It’s the same thing with my native lang, too. I think you should explain this issue to Kevin, or the person who was responsible for i18n support; I’m not all that certain what it was all about.
  3. I have only one advice for this - get creative. Read up and get ready to use the same ammount of info, only in your own words. I am happy with this most of the time, even if there’s an obstructive factor like the number of rows per text.
  4. Yup, this is perhaps the greatest issue. Altough I tried to wing this, you may attempt to look if there are any other launchpad projects nearing completion, in your choice of language of course. Taking tips is never a dull idea.
  5. I wasn’t aware of this. Tabs are usually responsive to the length of a specific expression, but may have a limit.
  6. For most languages, I’m sure you’d have to override this. Also, I think it was based around what the original author strived to achieve and serves that purpose, and is much less sensible to english syntax and slang than other, translateable stuff.
  7. git_issue/4658 is the one I’m not familiar with. You’re obviously not very fond of “build your own word” assessment. It’s ok, but know that contemporary american/english is crammed with pop-influenced terminology.
  8. That’s where you as a translator get to decide what’s important to your target group (I’m assuming you’re German). I’ve changed a whole lot of references to American culture because trying to explain them to a typical game player would be just futile. This is where you have to keep in mind some of the habbits “your people” have; is it common to use quotation marks, slashes, dashes, anything that makes a good syntax. If you can’t get too intuitive at the moment, just give in to instincts (e.g. what would you enjoy looking at).
  9. Yeah, I know. :slight_smile: And by all means, the trouble isn’t solely with plurals, there are declination forms that would need a significant improvement to the whole translation effort. This is where “the simpler the better” logic comes in handy, you can always be verbose where it counts for that matter.

I have been translating the game into French for the past months. Finally I could see the result of our work 2 weeks ago when I gladly realized the experimental version was in French (well, half French/half English). Since Wuzzy already reported the space issue i guess it will be handled one day.

However there were quite a lot of issues like the order of words. For instance when driving : ‘Your %s’s %s rams into a %s with a %s’. In French it wouldn’t be natural to organize the sentence with this order. But I have also seen that some strings were with number (%2$s), which seems to indicate this problem can be solve easily. Am I right ?

Also, I can not play anymore with the translated experimental versions, since they all crash as long as the lang folder is not deleted. Other French players experienced this with 0.A. Any idea about that ?

Yes, the (%2$s) format is specifically for rearranging the sentence when you do translation, so “Your %s’s %s rams into a %s with a %s” can also be written, “Your %1$s’s %2$s rams into a %3$s with a %4$s”, and in the translation you are free to rearrange them.

There was a bugfix that prevented a crash just recently, I can run the latest experimental with french language turned on with no crash.

Ah, good news for the %s stuff !

I still had the crash with the folder lang. I found out the issue was the size of the terminal (or French ^^). If the size is set at the minimal it crashes. If you enlarge it a bit, you can’t read everything in the main menu but at least the game starts. No problem once you use at least one third of your screen.

I can translate efficiently then… but you guys keep adding so much content I can’t catch up :smiley:

I am currently tackling the grammatical number problem in the pull request 4649. Theoretically, this is finished, but it needs testing. Testers are welcome!