chore(i18n): fill missing vi, tr, zh-Hans translations to 100%#962
chore(i18n): fill missing vi, tr, zh-Hans translations to 100%#962
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: cd9d699791
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| "tr" : { | ||
| "stringUnit" : { | ||
| "state" : "translated", | ||
| "value" : "'%@' izinli '%@' token'ı '%@' kaynağına erişemiyor" |
There was a problem hiding this comment.
Preserve argument mapping in Turkish access error text
This translation reorders the sentence to put the permission phrase first, but it uses unnumbered placeholders, so runtime substitution follows source order (token, permission, resource) and swaps the first two values in the rendered Turkish message. When token and permission differ, users see incorrect details in an authorization error, which is misleading for debugging and access reviews. Use positional placeholders to match the reordered grammar.
Useful? React with 👍 / 👎.
Summary
Fills 297 missing strings × 3 locales (vi, tr, zh-Hans). Brings the Localizable.xcstrings catalog from ~83% to 100% completion across the three non-English locales.
Most missing strings came from the recent External API / MCP integration (#925) and the query layer refactor (#956). Three pure-formatter strings (
:%@,%@:%lld,%1$@, %2$@) are markedshouldTranslate: falseinstead of translated, since they have no translatable text.Coverage
Translation rules followed
%@,%d,%lld,%1$@,%2$@,\n).Test plan
Review priorities
TablePro'ya,iCloud'a). Used Turkish title case for buttons. One small note:"Don't Sort"rendered as"Sıralama"(relies on context); review if explicit "do not sort" wording is needed."Token"rendered as"令牌"."intent"inUnsupported intent: %@kept in English (likely a programmatic identifier).