Skip to content

Conversation

@tupaschoal
Copy link
Member

I'm removing all translations reported as "unexpected" because they were not needed. Opening as draft because I want to review if there are more "keys to ignore" that we haven't been maintaining

@github-actions
Copy link

github-actions bot commented Aug 8, 2025

Check results

For details go to Translation Check -> Details. Expand Run checks build stage and use the build-in search to find your language (e.g. pl-PL)

MissingThe translation is not added to translation file. (e.g. STR_9999 is in en-GB but is not available in given language)

Not neededThe translation file contains entries that are not in en-GB and should be removed (e.g. STR_9999 exists in given language but is not in en-GB)

SameThe translation and source string is exactly the same. (e.g. STR_9999 is Umbrella in both en-GB and given language). This may be desired in some cases (e.g. April is the same in English and German)

ar-EG 277 2 1728
cs-CZ 0 0 150
da-DK 13 1 324
eo-ZZ 2 0 72
fr-FR 2 0 144
gl-ES 3 2 94
hu-HU 0 1 95
ja-JP 97 1 121
ko-KR 0 0 95
nl-NL 11 0 184
sv-SE 8 1 161
uk-UA 181 34 719
vi-VN 25 0 117
zh-CN 8 0 36
zh-TW 44 0 115

Other translations

MissingThe translation is not added to translation file. (e.g. STR_9999 is in en-GB but is not available in given language)

Not neededThe translation file contains entries that are not in en-GB and should be removed (e.g. STR_9999 exists in given language but is not in en-GB)

SameThe translation and source string is exactly the same. (e.g. STR_9999 is Umbrella in both en-GB and given language). This may be desired in some cases (e.g. April is the same in English and German)

ca-ES 18 0 91
de-DE 11 0 147
en-US 3453 0 1
es-ES 8 0 166
fi-FI 97 1 95
fr-CA 3618 0 0
it-IT 20 0 138
nb-NO 186 1 162
pl-PL 60 0 99
pt-BR 0 0 142
ru-RU 0 0 118
tr-TR 515 1 98

@tygrysek90
Copy link
Contributor

@tupaschoal For your current PR, the unexpected translations I will check using my means today in evening (about 6pm central European time) and will let you know. I have some work on garden, building a greenhouse :)

At this point, I wanted to note I have conducted a research about two weeks ago, although i have assembled a list of strings that are present, but not used - hence their translations/improvements of their translations are pointless - I had put results of my research in localisation wiki, might check: https://github.com/OpenRCT2/Localisation/wiki/Unused-strings

Copy link
Contributor

@tygrysek90 tygrysek90 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have to express my uttermost concern over actually translated and used strings being selected for removal. I want to express my feeling that this is not a good idea.

At first, it can be observed that some combination of characters (or some utf characters, i mean with higher ordinary values, above ascii) triggers unexpected translation warnings.

I checked just a few instances of strings presented here for removal and found that they are, in fact, present in en-GB original (and moreover, they are actually used in the game).

For reference, i have assembled a list showing where are individual strings used, put it in localisation wiki: https://github.com/OpenRCT2/Localisation/wiki/What-goes-where (I am sorry, but is so long you have sometimes try refreshing a few times before it loads)

There are truly lines in translations, that are translating STR-s not present in en-GB.txt, if you would like to clean that, i can submit PR with ease and joy :)

However, please, strongly reconsider merging this PR, and deleting used strings. please :)

STR_2993 :テキトを入力してください:
STR_2994 :看板の文字を変更
STR_2995 :この看板を除去する
STR_2996 :{BLACK}あいう
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@tygrysek90
Copy link
Contributor

tygrysek90 commented Aug 8, 2025

I have conducted another research trying to find source of this situation. Please observe:

@tupaschoal states that he is about to "removing all translations reported as "unexpected" because they were not needed"

however, running .github/workflows/translation_check.py shows us some lines alike:

[ar-EG] Unexpected translation: STR_1218
[ar-EG] Unexpected translation: STR_1219
[cs-CZ] Unexpected translation: STR_1218
[cs-CZ] Unexpected translation: STR_1219
[cs-CZ] Unexpected translation: STR_1731

when we shall look into source of translation_check.py:

if base_string in KEYS_TO_IGNORE:
if base_string in translations and en_gb[base_string] != translations[base_string] and print_info:
print(f'[{lang}] Unexpected translation: {base_string}')

we can observe that to display message of Unexpected translation, a given translation has to be in KEYS_TO_IGNORE and be translated:

# Some strings have nothing to be translated and should not appear on the report
KEYS_TO_IGNORE = ['STR_0000', 'STR_0001', 'STR_0824', 'STR_0839', 'STR_0840', 'STR_0865', 'STR_0866', 'STR_0867',

So this merely denotes that these lines were not expected to be translated, however some languages either change order or { } fields or change minus to hymen etc...

Or as in case i commented upon above, change ABC to something meaningful in script of given language (observing closely, there is same set selected for deletion in uk-UA, where ABC goes translated to АБВ (trans-liter: ABV) as Cyrillic observes different letter order in alphabet (and obviously it is Cyrillic :)

Or some languages substitute in STR_0839 :{UINT16} × {UINT16} the "×" symbol for simple "x"

I believe there should be raised concern to language maintainers that maintain respective languages, to check upon those strings, if it is okay for them, but not proceed to generally discard those strings into void :)

@tygrysek90
Copy link
Contributor

I have conducted another research to address the primary question:

(...) I want to review if there are more "keys to ignore" that we haven't been maintaining

Answer is yes. (But I still insist on noting that those keys might get "translated" for some reason, as I thoroughly analyzed in comments before) I wrote a script to seek strings that don't seem to have anything translatable in them. Also included functionality to seek against KEYS_TO_IGNORE in .github/workflows/translation_check.py. Now i can only present a rough result, but it made worth finds.

It states unknown meaning "not present in KEYS_TO_IGNORE".

Unknown string with only { } at STR_1142    :{MOVE_X}{10}{STRINGID}
Unknown string with only { } and non text at STR_1143    :»{MOVE_X}{10}{STRINGID}
Unknown string with only { } at STR_1156    :{MOVE_X}{10}{STRINGID}
Unknown string with only { } and non text at STR_1157    :✓{MOVE_X}{10}{STRINGID}
Unknown string with only { } at STR_1736    :{POP16}{POP16}{POP16}{POP16}{POP16}{POP16}{POP16}{POP16}{POP16}{COMMA16}
Unknown string with only { } at STR_2777    :{MOVE_X}{10}{STRING}
Unknown string with only { } and non text at STR_2778    :»{MOVE_X}{10}{STRING}
Unknown string with only { } and non text at STR_3247    :{COMMA16}%
Unknown string without letters atSTR_5151    :,
Unknown string without letters atSTR_5152    :.
Unknown string with only { } and non text at STR_5813    :“{STRING}”
Unknown string with only { } and non text at STR_5814    :{WINDOW_COLOUR_1}“{STRING}”
Unknown string with only { } and non text at STR_6308    :{TOPAZ}“{STRINGID}{OUTLINE}{TOPAZ}”{NEWLINE}{STRINGID}
Unknown string with only { } and non text at STR_6438    :{MOVE_X}{2}👁
Unknown string with only { } and non text at STR_6450    :{BLACK}“{STRING}”
Unknown string with only { } and non text at STR_6451    :{BLACK}“{STRING}” - {STRING}
Unknown string with only { } at STR_6496    :{WINDOW_COLOUR_2}{STRINGID}
Unknown string with only { } and non text at STR_6642    :{STRING} ({COMMA32} / {COMMA32})
Unknown string with only { } and non text at STR_6651    :{STRING} ({COMMA32}%)
Unknown string with only { } and non text at STR_6689    :{UINT16}%
Unknown string with only { } at STR_6704    :{COMMA2DP32}
Unknown string with only { } and non text at STR_6713    :{COMMA32} {STRINGID}
Unknown string with only { } and non text at STR_6744    :{WINDOW_COLOUR_2}{UINT16}%
Unknown string with only { } at STR_6795    :{MOVE_X}{10}{STRINGID}
Unknown string with only { } and non text at STR_6796    :•{MOVE_X}{10}{STRINGID}
Unknown string with only { } and non text at STR_7002    :{STRINGID} {STRINGID}

check_regulary.py.txt was used to produce this (i had to add .txt suffix because of github restrictions), it needs en-GB.txt from main repo and translation_check.py from this repo, output is best filtered using | grep Unknown - still its just very rough and logic could be improved.

For sure this answers question if there are strings that should not require translation, but as i wrote before...

If you found this output usefull, I could enhance it a little bit and prepare PR to update KEYS_TO_IGNORE in .github/workflows/translation_check.py

@tupaschoal
Copy link
Member Author

Thanks for looking so thoroughly into this, I highly appreciate it. It is true that I'm removing strings that are in "KEYS_TO_IGNORE" which techinically can be translated, but were not expected to be, since they were in the list to ignore.

I'm ok with reviewing the "KEYS_TO_IGNORE" to remove some or report them differently. My next step was to actually review if there were strings we should be ignoring, but are not, which is what your last answer covers. I'd hapily take a PR to update it with these new additions, then we can later tackle if we want to remove some.

@tygrysek90
Copy link
Contributor

Thanks for looking so thoroughly into this, I highly appreciate it.

You are welcome, it was my pleasure to do so - you know I like to dig in strings :)

I'm ok with reviewing the "KEYS_TO_IGNORE" to remove some or report them differently. My next step was to actually review if there were strings we should be ignoring, but are not, which is what your last answer covers. I'd hapily take a PR to update it with these new additions, then we can later tackle if we want to remove some.

Sure, I will bring one PR to add some keys and draft second one on how we could report it in better way. I am still busy with the greenhouse, thus i will do so in evening central European time :)

@tupaschoal
Copy link
Member Author

No hurry at all

@github-actions
Copy link

Check results

For details see the Run checks on the CI logs.

MissingThe translation is not added to translation file. (e.g. STR_9999 is in en-GB but is not available in given language)

Not neededThe translation file contains entries that are not in en-GB and should be removed (e.g. STR_9999 exists in given language but is not in en-GB)

SameThe translation and source string is exactly the same. (e.g. STR_9999 is Umbrella in both en-GB and given language). This may be desired in some cases (e.g. April is the same in English and German)

ar-EG 278 0 1728
cs-CZ 1 0 150
da-DK 14 0 324
eo-ZZ 3 0 72
fr-FR 3 0 144
gl-ES 3 0 94
hu-HU 1 0 95
ja-JP 98 0 121
ko-KR 1 0 95
nl-NL 12 0 184
sv-SE 9 0 161
uk-UA 182 0 719
vi-VN 26 0 117
zh-CN 9 0 36
zh-TW 45 0 115

Other translations

MissingThe translation is not added to translation file. (e.g. STR_9999 is in en-GB but is not available in given language)

Not neededThe translation file contains entries that are not in en-GB and should be removed (e.g. STR_9999 exists in given language but is not in en-GB)

SameThe translation and source string is exactly the same. (e.g. STR_9999 is Umbrella in both en-GB and given language). This may be desired in some cases (e.g. April is the same in English and German)

ca-ES 19 0 91
de-DE 12 0 147
en-US 3454 0 1
es-ES 9 0 166
fi-FI 98 0 95
fr-CA 3619 0 0
it-IT 21 0 138
nb-NO 187 0 162
pl-PL 61 0 99
pt-BR 1 0 142
ru-RU 1 0 118
tr-TR 516 0 98

@github-actions
Copy link

Check results

For details click the build job and expand Run checks on the CI logs.

MissingThe translation is not added to translation file. (e.g. STR_9999 is in en-GB but is not available in given language)

Not neededThe translation file contains entries that are not in en-GB and should be removed (e.g. STR_9999 exists in given language but is not in en-GB)

SameThe translation and source string is exactly the same. (e.g. STR_9999 is Umbrella in both en-GB and given language). This may be desired in some cases (e.g. April is the same in English and German)

ar-EG 278 0 1728
cs-CZ 1 0 150
da-DK 14 0 324
eo-ZZ 3 0 72
fr-FR 3 0 144
gl-ES 3 0 94
hu-HU 1 0 95
ja-JP 98 0 121
ko-KR 1 0 95
nl-NL 12 0 184
sv-SE 9 0 161
uk-UA 182 0 719
vi-VN 26 0 117
zh-CN 9 0 36
zh-TW 45 0 115

Other translations

MissingThe translation is not added to translation file. (e.g. STR_9999 is in en-GB but is not available in given language)

Not neededThe translation file contains entries that are not in en-GB and should be removed (e.g. STR_9999 exists in given language but is not in en-GB)

SameThe translation and source string is exactly the same. (e.g. STR_9999 is Umbrella in both en-GB and given language). This may be desired in some cases (e.g. April is the same in English and German)

ca-ES 19 0 91
de-DE 12 0 147
en-US 3454 0 1
es-ES 9 0 166
fi-FI 98 0 95
fr-CA 3619 0 0
it-IT 21 0 138
nb-NO 187 0 162
pl-PL 61 0 99
pt-BR 1 0 142
ru-RU 1 0 118
tr-TR 516 0 98

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants