Closed TheLightTwist closed 3 years ago
Do not delete lang subdir - translations are there.
Do not delete lang subdir - translations are there.
I am aware of this, I deleted this directory to check the reaction of the game. Ideally, the game when you delete the directory \lang should become fully English, but for some reason the character names continue to be generated in Russian (if you choose Russian in the settings), perhaps because the name lines are in a different place.
By the way, I found a person with the same problem. He did, however, have it under Linux. https://www.linux.org.ru/forum/games/12726445
The problem was solved and a way of its reproduction was found (however, testing was conducted only with Russian and English languages):
1) Install any Russian language with variation for the country in Windows language settings (i.e. there is "Russian", "Russian (Ukraine)", "Russian (Kazakhstan)" - install any Russian with text in brackets); 2) Make this installed "Russian (anything)" your system language (or move to the top of the list if you have more than one language installed); 3) After starting the game, you will get a similar problem.
Accordingly, to solve the problem, it is necessary that your system language is ordinary Russian (WITHOUT brackets text). The problem is NOT affected by: the number of installed languages; presence/absence of ordinary Russian in the system if this language is not selected as the system language; the country of the language you have chosen as the system language (i.e., the problem will be with both the system language "Russian (Ukraine)" and "Russian (Kazakhstan/Belarus, etc.)")
Soon, I will have access to another device on Windows 10, as well as on Windows 7, and I will try to reproduce the problem on them.
Two images showing the correct and wrong order:
Correct
Wrong:
It is better to wait for a response from the developers, and then close.
Select translation language explicitly in game settings instead of using "System" language.
Obviously if you are using "Russian (Ukraine)" language - translation for it won't be found as there is only "Russian" translation.
@ZhilkinSerg It seems that you have misunderstood me. I already tried to change the language settings in the game, but no matter which language I chose, only the MOTD and Title languages changed. That is, the localization did not work for all languages at all, not just for Russian. After changing the system language, strange as it may seem, the localization switching started to work not only for Russian, but for all languages as well.
Can you please try to reproduce this in the latest experimental build?
@Aivean Yes, the problem is also present in the experimental build (0.E-7347-g20d1078) All languages have a problem, Chinese is selected in the screenshot:
Weird, seems to be platform-specific issue, I cannot reproduce it on mac:
Must be something in set_language
that isn't entirely correct for Windows.
I wonder if the person on arch linux actually encountered the same issue or it just had same symptoms. Seems like their issue was with localization folder path, not with system language.
@TheLightTwist can you please post the contents of your debug.log
when launching the game in one language setting that works and another that doesn't? Some of the things that might go wrong here would lead to error messages in the log.
That's odd. Your logs don't have a [translations] C locale set to
message, which should come right after the Language is set to:
message. I can't see how you could get one without the other...
That's odd. Your logs don't have a
[translations] C locale set to
message, which should come right after theLanguage is set to:
message. I can't see how you could get one without the other...
Perhaps _WIN32
is not defined for some reason?
@TheLightTwist did you compile the code yourself, or use the Windows release binaries? If the former, what environment did you use?
@jbytheway
Windows release binaries
Not all translations are stored in the lang
folder, look at data/names
for example. Also I have this [slightly outdated] bash script that I usually run after downloading a new version, it might help the script was deleted as I no longer think it's relevant.
Please update the main description to better reflect current status.
Please update the main description to better reflect current status.
Updated as much as I could and understood
Don't know if this is related but I want to post it there: I was reading Microsoft Windows Language Code Identifier Reference, and found that Russian (Russia) has LCID 0x0x419
, but other variants like Russian (Belarus), Russian (Kazakhstan), Russian (Kyrgyzstan), Russian (Ukraine) are recently added in Windows 10 and they do not have a valid LCID, i.e. they are assigned to a dummy LCID 0x1000
.
很奇怪,似乎是特定于平台的问题,我无法在Mac上重现它:
必须是Windows并不完全正确的东西
set_language
。我想知道arch linux上的人实际上是否遇到了相同的问题,或者只是出现了相同的症状。似乎他们的问题出在本地化文件夹路径,而不是系统语言。
我使用Arch Linux,将游戏中的语言切换为中文(天朝)发现除了标题和MODI,其他部分依然是英文。
我使用Arch Linux,将游戏中的语言切换为中文(天朝)发现除了标题和MODI,其他部分依然是英文。
你有没有运行lang/compile_mo.sh all
编译翻译文件?
用LANG=zh_CN ./cataclysm
运行游戏能否正常显示汉化?
Game version: 0.E-2
Operating system: Win 10 ver. 2004
Tiles or curses: Tiles
Mods active: none
Expected behavior
Almost the entire text (at least for the Russian language) should become translated
Actual behavior
When selecting any language (including the system language) other than English, not the entire text changes, but only some parts. MOTD and Title change. Also, when you create a character, in the last menu (where you enter a name), when you press a button for random generation, the generated names also come out translated. All other text is NOT changed, i.e. the text in the main menu, in the settings, during the game in all windows. Also, when the \lang directory is completely deleted, the language is still English, but the language of the randomly generated character names remains according to the settings (i.e. the names are generated translated). MOTD and Title also remain translated.
Steps to reproduce the behavior
Accordingly, to solve the problem, it is necessary that your system language is ordinary Russian (WITHOUT brackets text). The problem is NOT affected by:
The problem arises on both a stable release and an experimental one (both x86 and x64)