mirror of
https://github.com/farion1231/cc-switch.git
synced 2026-10-25 17:22:27 +08:00
feat(i18n): add Turkish interface and tray localization (#8208)
* feat(i18n): add Turkish interface and tray localization * fix(i18n): preserve technical literals in Turkish help * fix(i18n): treat Turkish as a community translation Turkish falls back to English for strings it does not have yet, so new English strings no longer fail CI or the build until someone translates them: - Drop the full-catalog parity check and the Pi coverage checks for tr; keep the non-empty and interpolation checks for existing strings - Build the Turkish tray texts from English and override the translated ones, so new tray items no longer need a Turkish entry to compile - Show usage script errors in English for Turkish instead of Chinese - Label the option as a community translation, next to the other languages, using the native name like the existing options - Restore technical literals that were translated (config.toml, AKSK, env placeholders, # SOUL.md, skills.sh, my-provider) and lock them in the literal regression test - Format usage dates with tr-TR - Document in CONTRIBUTING that Turkish strings are optional, and list Turkish as a community translation in the READMEs --------- Co-authored-by: Jason <farion1231@gmail.com>
This commit is contained in:
1 parent
74b98ca940
commit
c21106ff20
24 files changed
+4996
-15
No files matched your search
@@ -58,6 +58,17 @@ describe("useSettingsForm Hook", () => {
|
||||
expect(changeLanguageSpy).toHaveBeenCalledWith("en");
|
||||
});
|
||||
|
||||
it("preserves Turkish from server settings", async () => {
|
||||
useSettingsQueryMock.mockReturnValue({
|
||||
data: { language: "tr" },
|
||||
isLoading: false,
|
||||
});
|
||||
const { result } = renderHook(() => useSettingsForm());
|
||||
await waitFor(() => expect(result.current.settings?.language).toBe("tr"));
|
||||
expect(result.current.initialLanguage).toBe("tr");
|
||||
expect(changeLanguageSpy).toHaveBeenCalledWith("tr");
|
||||
});
|
||||
|
||||
it("should support japanese language preference from server data", async () => {
|
||||
useSettingsQueryMock.mockReturnValue({
|
||||
data: {
|
||||
|
||||
Reference in new issue
Block a user