Repository navigation
Add Thai (th) language support and Noto Sans Thai font - #445
Conversation
KnifeLemon
left a comment
There was a problem hiding this comment.
Thank you, @Sudo-Bannawat, this is a complete language. All 889 keys are there in en.json's order with the placeholders intact, and the Thai reads naturally. Labels that other strings quote, such as “ใช้โปรแกรมในเครื่อง…” and “แปลงไฟล์ด้วย Filee”, match everywhere. Noto Sans Thai comes in the right way: static Regular, Medium and Bold files pinned with SHA-256 in fetch-fonts.ps1, about 114 KB in all. The hashes match here, and the headless renders look right. The marks sit correctly, and lines break at the spaces between phrases, the donut slices included.
I merged current main into the branch and ran the tests. LocalizationTests and RenderTests pass with your Thai rows, Setup's tests pass, and dotnet format is clean.
We'll take care of a few small things when merging, so nothing is needed from you:
Resolvewill matchthandth-*only, as it does for French and Nepali.StartsWith("th")would also catch other language codes that begin with "th", such as Tharu (thl).- Thai will be added to the Setup
/LANGlist and get aSetupTextsTestsrow (Setup already offers it throughAppLanguages). - Noto Sans Thai will be listed in THIRD-PARTY-NOTICES.md with the other Noto fonts.
- Leelawadee UI will be added to the system font list, so Setup, which uses Windows' own fonts, draws Thai in Windows' Thai UI font.
- README.th.md will get the parts README.md has gained since: the sponsor paragraph with the Fairy note, and the star-history chart.
- We'll add Thai to filee.sh.
- We'll add these steps to docs/ADDING-A-LANGUAGE.md so the next language has them.
The CI run is waiting for approval. We'll start it and merge once it's green. A read-through by another Thai speaker is always welcome later. Thanks again!
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…s, READMEs - th.json: translate the 18 keys main added and the iCalendar line of engine.data.description - LocalizationService.Resolve matches "th" and "th-*" only (not Tharu "thl"), with test rows - Setup's /LANG list names th; SetupTextsTests gets a th-TH row - THIRD-PARTY-NOTICES lists Noto Sans Thai with the other Noto fonts - Font chains add Leelawadee UI (Windows, also for Setup) and Thonburi (macOS) - README.th.md gains the sections README.md has (dmg, signing scope, sponsor note, star history); every README lists ไทย among the UI languages - docs/ADDING-A-LANGUAGE.md lists these steps for the next language Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Merged, thank you @Sudo-Bannawat! Filee now speaks Thai. When bringing it up to main we translated the strings added in the meantime, made "auto" pick Thai for |
Summary
This PR adds full Thai (
th) language support to Filee, followingdocs/ADDING-A-LANGUAGE.md.th.jsonwith all 889 keys translated, matching English placeholders{0},{1}.Noto Sans Thai(Regular, Medium, Bold) tofetch-fonts.ps1with verified SHA-256 checksums, and registered inSoftPalette.FontFamilies.("th", "ไทย")toAppLanguages.Alland culture routing inLocalizationService.Resolve.README.th.mdand linked Thai in allREADME.*.mdfiles.LocalizationTests: Verified key and placeholder parity (64/64 passed).RenderTests: Headless UI visual renders passed (238/238 passed).Visual Screenshots