loiste-interactive / infra-issues

This is the public issue tracker for INFRA.
http://infragame.net
10 stars 2 forks source link

Russian localization issues #1154

Closed deseven closed 6 years ago

deseven commented 7 years ago

I'm working on a russian localization for INFRA and i ran into some issues with main game menu. You may know that the russian language is not so compact and sometimes it's really hard to fit some russian words in the length of english words. I've managed to do that for the most part, but the main menu boundaries are really too small:

In the first case there are 9 letters, in the second it's 10. I can't really shrink it, because there are no synonyms for those words.

Obviously, it'd be really nice to make the game dynamically adjust those boundaries based on the longest string length, but i understand that it may be too complicated to do. So maybe you'll just make those a little more bigger? Won't hurt anyone anyway.

deseven commented 7 years ago

So, we ended up editing resources in scripts/screens to make everything look as it should and unfortunately those edits are not limited to main menu only. Since it works correctly in infra_dlc1 i think that will do for now.

deseven commented 6 years ago

I think i need to elaborate on that since you're going to release russian translation. We've changed those files:

infra/scripts/screens/infra_menu_chapters.res
infra/scripts/screens/infra_menu_load_game.res
infra/scripts/screens/infra_menu_main_game.res
infra/scripts/screens/infra_menu_main_options.res
infra/scripts/screens/infra_menu_main_quit_confirmation.res

We've also changed font definitions so the game now uses system fonts, since included fonts don't support cyrillic characters and we obviously don't have resources to draw those:

infra/resource/basemodui_scheme.res
infra/resource/ClientScheme.res
infra/resource/LoadingScreenScheme.res
infra/resource/MenuScheme.res
infra/resource/PauseMenuScheme.res
infra/resource/PhoneScheme.res

You can grab all those files here or you can just use a diff that i made.

TeamSpen210 commented 6 years ago

Source Sans Pro does actually have Cyrillic characters, they just mustn't be in the converted files in the game folder.

deseven commented 6 years ago

We also need Source Serif Pro and Karla by the looks of things. If there are cyrillic chars in Source fonts and they can be added to the game - great. But Karla have to be replaced anyway, it's latin only.

ghost commented 6 years ago

Should be all taken care of now. Cyrillic glyphs were missing from the fonts shipped with the game, but I've updated the files to include those.. Karla is only used on the phone screen for the "AB&C" text and the battery indicator, so that won't need changing I think.

I've set the UI element widths in the resource files with a conditional for the Russian language, like so:

"xpos"              "210" [!$INFRA_PLAYTEST_MODE && !$RUSSIAN]
"xpos"              "110" [!$INFRA_PLAYTEST_MODE && $RUSSIAN]

Is there anything else that needs to be done before the translation can be shipped?

deseven commented 6 years ago

Sounds good, but i guess i need to test that first. Can you upload modified fonts and resources somewhere or maybe release it as some sort of a beta branch on Steam?

ghost commented 6 years ago

I've added a beta branch called "russian" on Steam. You might need to restart Steam if it's not visible yet.

ghost commented 6 years ago

Oh, and one more thing. It'd be helpful if all (or if not possible, at least the most significant) contributors to the translation could send an email to contact@loisteinteractive.com giving their written consent to use their work in the shipping title. It doesn't have to be anything fancy, something along these lines should work:

"I, INSERT NAME hereby grant permission to Loiste Interactive to use my work on the Russian translation of INFRA to implement it into the game. This email can be used as proof of such permission."

deseven commented 6 years ago

@aleksijuvani menus are fine, but at least one subtitle font is broken (first dialog between Mark and Paul, reserve1).

I think i also need one more day to double check everything, so if you'll fix the font problem you'll be able to release text translation on Wednesday.

It'd be helpful if all (or if not possible, at least the most significant) contributors to the translation could send an email

No problem, i'll try to organize that. From our side we also would like to hear/see a confirmation that our names will be mentioned in closing credits.
The list is in the readme and it contains two sections - lead translators and contributors.

ghost commented 6 years ago

Good catch. Looks like there aren't italic versions of the Cyrillic glyphs in the Source Sans Pro typeface. I guess I'll have to add a fallback or just use the regular font instead.

I think i also need one more day to double check everything, so if you'll fix the font problem you'll be able to release text translation on Wednesday.

That's alright. Take your time.

From our side we also would like to hear/see a confirmation that our names will be mentioned in closing credits. The list is in the readme and it contains two sections - lead translators and contributors.

Sure. I've already added your names to the credits. If any of you would like to use your real names instead of your nicknames (or vice versa), just let me know.

ghost commented 6 years ago

I've updated the beta branch. I've removed italics from the subtitles and closed captions.

ghost commented 6 years ago

There's one issue with the store page localization.. The last word in the "short description" gets cut off due to length constraints:

image

Is it possible to get a slightly shorter version so that this doesn't happen?

deseven commented 6 years ago

Well, shit... I thought that since russian version is smaller (264 vs 260 characters) than english one, it should be ok.
I'll figure something out.

deseven commented 6 years ago

Should look fine now:

https://github.com/deseven/infra-ru/blob/master/misc/251110-INFRA.txt

deseven commented 6 years ago

I've removed italics from the subtitles and closed captions.

I've restarted Steam to be completely sure, but still see the same missing chars.

I've already added your names to the credits.

Ah yes, i almost forgot, since we are currently releasing text only localization and i can't promise that we will ever complete textures localization (anything can happen, right?), i believe the correct list should looks like that:

Ivan 'deseven' Novokhatski
Alexey 'Leshiy' Vedrov
Artyom 'Yesinoi' Fedorov
'makc_ar'
'static77'
ghost commented 6 years ago

Looks fine on my end. I've modified the closecaption_russian and subtitles_russian files, so if you still have the translation installed locally, maybe that's keeping Steam from updating those files?

Ah yes, i almost forgot, since we are currently releasing text only localization and i can't promise that we will ever complete textures localization (anything can happen, right?), i believe the correct list should looks like that:

Sure, I'll change it.

deseven commented 6 years ago

Sorry, i thought you edited resource files, not subtitles themselves. Ok, so i've removed all <I> tags from localization files and it works fine now.

Aaand i think we're good to go. Don't forget to grab updated files, there are some changes.

ghost commented 6 years ago

I've updated the files. Should be live now. Cheers!

deseven commented 6 years ago

Great!

While we're at it, i wish to discuss one more thing - texture localization.

  1. Right now we are using infra_dlc1 to override needed textures, but that's probably not how you want to ship different localizations. What should we do with that?

  2. I plan to finish reports, books, notes and other text materials in about a month or so. That should be a significant milestone for our project and it will definitely help many players to understand the game in detail (obviously you can't do that by just reading the subtitles). Would it be possible to release it as a beta branch so people who want it can play with it and give us an opportunity to gather some feedback?

TeamSpen210 commented 6 years ago

The engine should automatically mount infra_russian, for this exact purpose. Put your resources in there.

deseven commented 6 years ago

We were told that it doesn't work.

ghost commented 6 years ago

I think it might work if the content is in a VPK, similar to how you're using infra_dlc1 right now. Have you tried renaming the folder to infra_russian?

I plan to finish reports, books, notes and other text materials in about a month or so. That should be a significant milestone for our project and it will definitely help many players to understand the game in detail (obviously you can't do that by just reading the subtitles). Would it be possible to release it as a beta branch so people who want it can play with it and give us an opportunity to gather some feedback?

Sure.

TeamSpen210 commented 6 years ago

Portal 2 uses them in this exact fashion, so it should work. All the VPK files are checked before folders, because it's rather slow to do filesystem calls. That's the main reason they exist at all.

deseven commented 6 years ago

Doesn't work. I simply renamed infra_dlc1 to infra_russian and english textures are still here.

infra_russian
├── pak01_000.vpk
├── pak01_001.vpk
└── pak01_dir.vpk
ghost commented 6 years ago

Works on my end, as far as I can tell.. Is your Steam language set to Russian? If it is, does launching the game with the -language russian launch option work?

deseven commented 6 years ago

That's weird. It works for me with -language russian, but doesn't work without. My Steam language set to russian and interface/subtitles inside the game are russian too. Game dir is clean (i.e. no files are overwritten, etc).

ghost commented 6 years ago

Looks like this uses different logic than the subtitles (because of course it does).. Subtitles use the Steam language, but game content uses a per-game language setting.

image

I've changed a Steamworks setting that should make this dropdown visible for INFRA. Restarting Steam might be necessary.

deseven commented 6 years ago

It works now, thanks. Still, as you stated, the subtitles language is enforced by Steam interface language. Do you have control over it? It would be nice to have that menu to enforce language for everything, because in the future to play the game with desired language you will have to change Steam language AND game-specific language in two different places.

ghost commented 6 years ago

Yes, we should probably change it at some point.

deseven commented 6 years ago

Alrighty then, I think you probably should remove that menu for now, as it may cause some confusion to players. Now i know that we can use -language russian to achieve the same behaviour. I'll reopen this issue when we'll reach our first goal.

deseven commented 6 years ago

It looks like there is a problem on Windows 7. Subtitles in the game are working fine, most part of the menu works too, however, graphic options look like that:
2018-05-22 12 44 28
This is a clean Steam installation, no dlc or russian folder, etc.

ghost commented 6 years ago

Is this happening for everyone on Windows 7 or is it only a specific machine?

I wonder if there's a locally installed version of the Source Sans Pro Light font conflicting. You could check this by going to the Windows fonts folder and looking for a font by that name. If it's installed, try uninstalling it to see if it fixes the issue.

deseven commented 6 years ago

Bingo! There was a Source Sans Pro in system fonts (edit: a version without cyrillic chars). Is there a way to enforce the usage of internal fonts?

ghost commented 6 years ago

Not any easy way from the top of my head. It could potentially be fixed in the code, but it doesn't look like a very trivial fix.

ghost commented 6 years ago

I wonder if I could just hex edit the font files to use a different name from the system font. Would you be willing to test that if I sent you the modified files?

deseven commented 6 years ago

Sure, go ahead.

ghost commented 6 years ago

Nevermind, doesn't look like that's going to work. Changing the font name in a hex editor seems to corrupt the font, and changing it in FontForge seems to cause the font to not load at all. I'd hoped this would've been a simple fix, but it doesn't look like it.

deseven commented 6 years ago

Hex edit isn't working probably because there is some sort of a checksum involved. You can try to leave the same number of symbols and it should work. Looks like filename is also important, but i'm not sure exactly how all that vfont trickery works.