Repository navigation
Add Uzbek on the Mac - #306
Merged
Merged
Conversation
Uzbek (Latin, `uz`) joins the language picker as O'zbekcha, with a translation for every UI key in the catalog. The release-note history stays in English for now: those keys are nearly half the catalog, and a missing translation falls back to the source, so the list reads mixed rather than broken — the state vinzdg#252 left Japanese in before vinzdg#290. One string is reordered rather than translated in place. Uzbek names the limit before the percentage, so "%lld%% of its %@ limit used." becomes "%2$@ limitining %1$lld%% ishlatilgan." — numbered, because vinzdg#237 was the unnumbered version of exactly this string. Two picker options are shortened rather than translated literally. The control is already labelled Ko'rsatish, so "Always show" and "Show on hover" carry the verb twice in Uzbek and overflowed the segmented control; they are Doimo and Kursorda, and the sentence naming that option follows it. Windows is untouched — i18n.rs is a separate system. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
3 tasks done
Owner
|
Merged as Two things folded into the merge commit rather than sitting beside it:
One I left for you if you want it: 1,734 tests green. |
abhishekthakur7
pushed a commit
to abhishekthakur7/codenotch
that referenced
this pull request
Sep 28, 2026
The catalog conflict with vinzdg#305 was resolved structurally rather than by hand: the post-Korean catalog kept its order and the 590 uz values were grafted onto it, so neither language's entries moved. Two things of mine are in this commit rather than beside it: - Uzbek orthography. Uzbek Latin writes oʻ and gʻ with U+02BB and the glottal stop with U+02BC; an ASCII apostrophe is neither and reads as a typewriter mark. Normalised 233 values and the language's own name in the picker. - Four full-screen fold tests now use the pointer check this file already provides. handleActiveSpaceOrAppChange deliberately refuses to fold out from under the cursor, so those tests assert nothing when the notch has landed beneath it — which depends on what earlier tests left in Preferences, not on the test. They passed alone and failed in the full suite once 12 tests were added ahead of them. Thanks @SunnatilloDev.
abhishekthakur7
pushed a commit
to abhishekthakur7/codenotch
that referenced
this pull request
Sep 28, 2026
The catalog conflict with vinzdg#305 was resolved structurally rather than by hand: the post-Korean catalog kept its order and the 590 uz values were grafted onto it, so neither language's entries moved. Two things of mine are in this commit rather than beside it: - Uzbek orthography. Uzbek Latin writes oʻ and gʻ with U+02BB and the glottal stop with U+02BC; an ASCII apostrophe is neither and reads as a typewriter mark. Normalised 233 values and the language's own name in the picker. - Four full-screen fold tests now use the pointer check this file already provides. handleActiveSpaceOrAppChange deliberately refuses to fold out from under the cursor, so those tests assert nothing when the notch has landed beneath it — which depends on what earlier tests left in Preferences, not on the test. They passed alone and failed in the full suite once 12 tests were added ahead of them. Thanks @SunnatilloDev.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds Uzbek as its own language on the Mac. Uzbek is written in Latin script and filed under
uz, which is what CLDR resolves a plain Uzbek system language to, so Follow System on an Uzbek Mac serves it with no extra mapping.The catalog has an Uzbek string for every UI key. The release-note history is left in English on purpose: those keys are nearly half the catalog, and a missing translation falls back to the source, so the list reads mixed rather than broken — the state #252 left Japanese in before #290. Happy to follow up with them.
Windows is untouched;
i18n.rsis a separate system.Changes
Sources/Localizable.xcstrings— Uzbek for 590 UI keys. No other locale's values are modified.Sources/Settings/AppLanguage.swift—uzbek = "uz", titledO'zbekchain its own language, like the other rows.project.yml/Sources/Info.plist—uzinCFBundleLocalizations; the plist is the generated output ofmake gen, not hand-edited.AppLanguageTests,CatalogCoverageTests,CatalogFormatTestsandLocalizationTests, plus the offered-language list intestEveryOfferedLanguageResolves.Two things worth a reviewer's attention:
The threshold alert is renumbered. Uzbek names the limit before the percentage, so
%lld%% of its %@ limit used.is%2$@ limitining %1$lld%% ishlatilgan.— numbered, since #237 was the unnumbered version of this exact string.CatalogFormatTestscovers it.Two picker options are shortened rather than translated literally. The control is already labelled
Ko'rsatish, so a literal "Always show" / "Show on hover" repeats the verb and overflows the segmented control in Uzbek. They areDoimoandKursorda; the sentence that names that option follows suit.Test Plan
make test-ci) — 1717 tests, 0 failuresScreenshots / Screen Recordings