Skip to content

i18n: add Vietnamese translation - #1068

Merged
KnifeLemon merged 1 commit into
KnifeLemon:mainfrom
dinhkarate:i18n/vietnamese
Nov 3, 2026
Merged

KnifeLemon merged 1 commit into
KnifeLemon:mainfrom
dinhkarate:i18n/vietnamese

Conversation

@dinhkarate

Copy link
Copy Markdown
Contributor

Tip

Start the title with a prefix so the PR is labeled automatically: feat: fix: docs: ci: build: i18n:

What does this change?

Adds Vietnamese (Tiếng Việt) as a UI language. It is registered the same way Italian (#732) and Indonesian were added:

  • src/Filee.App/Assets/i18n/vi.json (all 1421 keys, same order as en.json)
  • AppLanguages entry ("vi", "Tiếng Việt") and auto-selection in LocalizationService (matches vi / vi-* but not Vinza vin)
  • macOS: vi.lproj/InfoPlist.strings, vi.lproj/ServicesMenu.strings, vi in CFBundleLocalizations
  • /LANG list comment in SetupOptions.cs
  • Tests: OS-language rows (vi-VN, vi, vin-TZ), the chosen-language row, Vietnamese_is_offered_under_its_own_name, Setup text rows, and the vi render pages in RenderTests
  • README and the translated READMEs now list Tiếng Việt among the UI languages

Type of change

  • Bug fix
  • New feature or improvement
  • New format or engine
  • Translation
  • Documentation
  • Build, CI or dependencies

How was it tested?

  • dotnet format --verify-no-changes
  • dotnet test
  • Tried it in the app (what you converted or clicked, and on which OS):

Checks I ran:

  • vi.json parses, has no duplicate keys or empty values, and has the same keys in the same order as en.json
  • Each entry has the same {0}-style placeholders and line breaks as English, with no literal \n
  • donut.flip_to_back and donut.flip_to_front start with {0}
  • plutil -lint passes on Info.plist and on both vi.lproj .strings files

Screenshots (UI changes)

Checklist

  • New UI strings are in all src/Filee.App/Assets/i18n/*.json files
  • New third-party code or binaries are listed in THIRD-PARTY-NOTICES.md (none added)
  • The PR does one thing (unrelated changes go in a separate PR)

@github-actions github-actions Bot added the translation UI translations and language support label Nov 3, 2026

@KnifeLemon KnifeLemon left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

Thank you, @dinhkarate! Vietnamese is added the same way as Italian and Indonesian:

  • vi.json with all 1,421 keys, in en.json's order;
  • AppLanguages and the auto-selection (vi / vi-*, not vin);
  • the macOS vi.lproj files and CFBundleLocalizations;
  • Setup's /LANG list and the tests.

I merged current main locally: vi.json still matches it key for key, and the localization and render tests pass (368). I also looked at the rendered pages: the diacritics come out right, and the labels fit the sidebar, the toolbar editor and the palette.

I'll merge once CI is green.

@KnifeLemon
KnifeLemon merged commit dfb0a37 into KnifeLemon:main Nov 3, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

translation UI translations and language support

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants