Skip to content

Revised strings and add zh-TW localization#266

Open
petercpg wants to merge 1 commit intoactivescott:masterfrom
petercpg:string-rephrase-and-add-zh-TW
Open

Revised strings and add zh-TW localization#266
petercpg wants to merge 1 commit intoactivescott:masterfrom
petercpg:string-rephrase-and-add-zh-TW

Conversation

@petercpg
Copy link
Copy Markdown

@petercpg petercpg commented Dec 16, 2025

  1. String File: move post-string colon into string, and updated translation in all locale resource files
  2. String SameDirMassage: replaced with ShortcutHelperMissing, English string was added into into all locale resource files except zh-TW
  3. Add full zh-TW translation

👍🎉 First off, thanks for taking the time to contribute! 🎉👍

Please fill out the following checklist:

If you need any help at all, feel free to submit the PR and @-mention activescott and I'll be happy to assist!

…ity; add zh-TW l10n

1. String `File`: move post-string colon into string, and updated
   translation in all locale resource files
2. String `SameDirMassage`: replaced with `ShortcutHelperMissing`,
   English string was added into into all locale resource files except
   zh-TW
3. Add full zh-TW translation
@mega5800 mega5800 self-requested a review December 17, 2025 10:41
@mega5800
Copy link
Copy Markdown
Collaborator

Hi @petercpg, thanks for the PR.
I will review it during the week.

Copy link
Copy Markdown
Collaborator

@mega5800 mega5800 left a comment

Choose a reason for hiding this comment

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

Hi @petercpg.

Thank you for this PR, my comments & questions attached in my review.
Waiting to hear from you.

Thanks.

this.lblFile.Name = "lblFile";
this.lblFile.TabIndex = 1;
this.lblFile.Text = $"{Strings.File}:";
this.lblFile.Text = $"{Strings.File}";
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I'd rather have the : be present in this one line, instead of adding it in any translation file.
Please add it back and amend the translation files.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

Hi @mega5800, not all languages uses the same set of puncture marks. For Trad Chinese, we use full-width (U+FF1A), instead of half-width ones (U+003A).

Concating strings, or adding more texts before or after strings are usually a bad idea either, as translators are lack of contexts (what is going to be injected in runtime) and causing localizability issues sometimes. See more in the next comment reply for SameDirMassage.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I understand your point, but the difference between U+FF1A & U+003A is too small, and in my opinion is not worth changing the existing translations files.

@activescott, any thoughts on this?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

Colons may be just trivial, the key reason to change is to do proper i18n and respect locale styles and customs.

There are other puncture marks do look different from English, full stops, quote marks, and so on. Quick quote:

  • French require extra space before and after all marks
  • Greek use different symbol for colons

We should just let localizers to decide what is more appropriate in their locale/language.

and in my opinion is not worth changing the existing translations files.

This is replied in #266 (comment). I am just moving colons into these resource files based on their locale usage, not using full-width ones except zh-TW, so UI Views are not actually changed for String File.

Strings.MissingFile,
MessageBoxButtons.OK,
MessageBoxIcon.Error);
string.Format(Strings.ShortcutHelperMissing, Path.GetFileNameWithoutExtension(shortcutHelperExe), "lessmsi-gui.exe"),
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

why is this change necessary?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

The rendered full sentence in zh-TW translation is 檔案 Path.GetFileNameWithoutExtension(shortcutHelperExe) 應該位於相同資料夾 lessmsi-gui.exe. but this does comply with Chinese grammar, and does not sound natural.

A more appropriate translation should be ShortcutHelperMissing as proposed in this PR, 「{0}」檔案應該與「{1}」位於相同資料夾。, so filenames are injected in strings as placeholders, and localizers can adjust sentence order, based on the grammar of their target language.

</data>
<data name="File" xml:space="preserve">
<value>Datei</value>
<value>Datei:</value>
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Please revert this change for all the translation files.
I'd rather have one : at the corresponding code line, rather than adding it to any translation file.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

These colons are added based on reason in #266 (comment) colons are added based on usage in other strings, so translators of each locale do not have to submit changes again.

<data name="ViewTableError" xml:space="preserve">
<value>Tabelle kann nicht angezeigt werden</value>
</data>
<data name="ShortcutHelperMissing" xml:space="preserve">
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Adding English text to a translation file is a wrong thing to do.
I understand that you might not speak all these languages to provide a proper translation.

And again, why do we need this text in the app?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

ShortcutHelperMissing is added to all language resource files as new string is added to replace original SameDirMassage. I can remove if missing new-added strings can fall back to English and it does not break building or runtime though.

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