Skip to content

[codex] update Russian admin localization - #2027

Closed
DrMaks22 wants to merge 2 commits into
jundot:mainfrom
DrMaks22:codex/update-russian-localization
Closed

[codex] update Russian admin localization#2027
DrMaks22 wants to merge 2 commits into
jundot:mainfrom
DrMaks22:codex/update-russian-localization

Conversation

@DrMaks22

Copy link
Copy Markdown
Contributor

What changed

  • Updated the Russian admin locale for new settings, integrations, MarkItDown, memory guard, benchmark, MTP/VLM MTP, and chat document strings added after the original Russian localization.
  • Polished stale or awkward Russian UI copy in the same locale, including model settings, oQ quantization, logs, benchmark labels, and API-visible profile wording.
  • Preserved technical/product tokens where appropriate, such as OpenAI API, MCP, VLM MTP, TTFT, top_p, repo placeholders, and grammar examples.

Why

  • The Russian locale had drifted behind en.json: 133 keys were added after the original Russian localization PR, and many were still English fallbacks.
  • This keeps ru.json aligned with the current admin UI without changing runtime behavior or other locale files.

Validation

  • python3 -m json.tool omlx/admin/i18n/ru.json
  • Custom locale invariant check: 769 keys, same key order as en.json, 0 missing/extra keys, 0 placeholder mismatches, 0 unexpected English fallbacks.
  • PYTHONPATH=. pytest tests/test_chat_image_upload.py tests/test_admin_profiles_api.py::TestExposeAsModelAPI::test_dashboard_profile_ui_round_trips_expose_as_model_flag -q (14 passed)
  • git diff --check

Notes

  • While auditing, I also found larger non-JSON localization surfaces: the macOS Localizable.xcstrings catalog has no Russian entries yet, and some admin templates/static JS still contain hardcoded English strings that bypass the JSON i18n layer. This PR focuses on the existing admin JSON locale surface to keep the patch low-risk.

@DrMaks22
DrMaks22 marked this pull request as ready for review June 28, 2026 21:04
@DrMaks22
DrMaks22 force-pushed the codex/update-russian-localization branch from 44c6da3 to 39757fa Compare July 8, 2026 13:10
@DrMaks22

DrMaks22 commented Jul 8, 2026

Copy link
Copy Markdown
Contributor Author

Hi maintainers! I refreshed this PR against current main and reviewed the Russian admin localization after the recent UI changes.

Update summary:

  • Rebased onto current main and resolved the ru.json drift.
  • Added Russian translations for the new oQe/imatrix strings.
  • Polished wording for profile/API model exposure, Hugging Face search, fallback, thinking-mode, and redownload notices.

Local validation:

  • python3 -m json.tool omlx/admin/i18n/ru.json
  • check_locale_parity.py --strict: 779/779 keys, no missing/extra keys, no placeholder mismatches
  • Custom placeholder check: 0 issues
  • Russian quality lint reviewed; remaining hits are expected product/technical names such as Claude Code, Hugging Face, Apple Silicon, and float16.

Fresh CI is running on the updated commit. Could you please take another look when you have a chance?

@DrMaks22
DrMaks22 force-pushed the codex/update-russian-localization branch from 39757fa to 198a17f Compare July 9, 2026 09:27
@DrMaks22

DrMaks22 commented Jul 9, 2026

Copy link
Copy Markdown
Contributor Author

Hi maintainers! I refreshed this PR again against current main (v0.5.0.dev3 / ea4ca16) after the latest admin UI changes.

What changed:

  • Rebased the PR branch onto current main.
  • Updated omlx/admin/i18n/ru.json to match the current en.json schema: 802/802 keys, same key order, no missing/extra keys.
  • Preserved the previous Russian localization improvements from this PR and added/polished the new model-manager/model-visibility strings.
  • QA-polished a few existing Russian strings around Draft block size and fixed-seed benchmark wording.

Local validation:

  • python3 -m json.tool omlx/admin/i18n/ru.json
  • check_locale_parity.py --strict: 802/802 keys, no missing/extra keys, no placeholder mismatches
  • Custom placeholder check: 0 mismatches
  • git diff --check
  • PYTHONPATH=. python3.12 -m pytest -q tests/test_admin_model_settings_template.py tests/test_admin_profiles_api.py tests/test_admin_dashboard_draft_filters.py: 40 passed

I also did a read-only audit for remaining hardcoded English in the admin UI. There are still user-facing strings outside ru.json, mainly in omlx/admin/templates/chat.html, benchmark/status/model-settings templates, and runtime strings in omlx/admin/static/js/dashboard.js. I suggest handling those in a separate follow-up PR so this one stays a clean JSON locale parity update.

Could you please take another look when you have a chance?

@DrMaks22
DrMaks22 force-pushed the codex/update-russian-localization branch from 198a17f to 6fb4c2e Compare July 9, 2026 21:41
@DrMaks22

DrMaks22 commented Jul 9, 2026

Copy link
Copy Markdown
Contributor Author

Hi maintainers! I refreshed this PR once more after current main moved to 7fd7a4f and resolved the visible ru.json conflict.

Update:

  • Rebased the branch onto current main.
  • Updated Russian admin locale to the current schema: 818/818 keys, same order as en.json, no missing or extra keys.
  • Preserved the previously reviewed Russian translations and added translations for the new favorites, external OpenAI-compatible benchmark endpoint, and accuracy-benchmark sampling strings.
  • Reviewed the new wording in template context and kept technical tokens such as OpenAI, /chat/completions, stream_options.include_usage, temperature, top-p, and enable_thinking intact.

Local validation:

  • python3 -m json.tool omlx/admin/i18n/ru.json
  • check_locale_parity.py --strict: 818/818 keys, no missing/extra keys, no placeholder mismatches
  • Brace placeholder check: 0 mismatches
  • git diff --check
  • PYTHONPATH=. python3.12 -m pytest -q tests/test_admin_model_settings_template.py tests/test_admin_profiles_api.py tests/test_admin_dashboard_draft_filters.py: 40 passed

Russian quality lint was reviewed; the remaining warnings are expected proper technical names such as Claude Code, Hugging Face, Apple Silicon, and Hugging Face Hub. CI is rerunning on the refreshed commit now. Could you please take another look when you have a chance?

@DrMaks22
DrMaks22 force-pushed the codex/update-russian-localization branch from 6fb4c2e to 4fe24d4 Compare July 22, 2026 08:52
@DrMaks22

Copy link
Copy Markdown
Contributor Author

Hi maintainers! I refreshed this PR again after current main moved to a20d60d and resolved the new ru.json conflict.

Update:

  • Rebased onto current main.
  • Updated Russian admin locale to the current schema: 842/842 keys, same order as en.json, no missing or extra keys.
  • Preserved the previously reviewed Russian translations.
  • Added and reviewed Russian translations for the new Hugging Face stale-token warning, Lightning MTP rename, external accuracy Extra Request Body controls, external accuracy diagnostics, and chat settings/history strings.
  • Kept technical tokens intact: Hugging Face, HF_TOKEN, hf auth logout, Lightning MTP, mtp.*, JSON, DeepSeek V4, and {fields} / {count} placeholders.

Local validation:

  • python3 -m json.tool omlx/admin/i18n/ru.json
  • check_locale_parity.py --strict: 842/842 keys, no missing/extra keys, no placeholder mismatches
  • Brace placeholder check: 0 mismatches
  • git diff --check
  • PYTHONPATH=. python3.12 -m pytest -q tests/test_admin_model_settings_template.py tests/test_admin_profiles_api.py tests/test_admin_dashboard_draft_filters.py tests/test_admin_external_extra_body.py tests/test_admin_external_accuracy_diagnostics.py tests/test_bench_external_routes.py: 54 passed

GitHub CI is green on the refreshed commit. Could you please take another look when you have a chance?

@DrMaks22
DrMaks22 force-pushed the codex/update-russian-localization branch from 4fe24d4 to 78825ab Compare July 25, 2026 22:53
@DrMaks22

Copy link
Copy Markdown
Contributor Author

Hi maintainers! I refreshed this PR on top of current main (5be9924) and did another Russian localization pass after checking the current admin chat UI.

What changed in this update:

  • Rebased the PR branch onto the latest main instead of opening a duplicate PR.
  • Added i18n coverage for the chat right sidebar/model settings area: Model/Profile tabs, Active Profile/Model, Temperature/Max Tokens/Top P/Top K/Min P, repetition/presence penalty labels, Thinking controls, prompt profile controls, live generation statuses, and bottom stats labels.
  • Added English fallback merging for partial locale files so future/new keys don't render as raw key names in locales that have not caught up yet.
  • Added regression tests for the chat model-settings localization coverage and locale fallback behavior.

Local validation:

  • en/ru admin locale parity: 893/893 keys
  • Missing/extra keys: 0
  • Placeholder mismatches: 0
  • Targeted hardcoded chat/model-settings English check: 0 hits
  • Russian quality lint findings for new chat keys: 0
  • JSON validation: passed for all admin i18n files
  • git diff --check: passed
  • Targeted pytest: 56 passed

CI has restarted on GitHub after the force-with-lease push and is currently pending. Could you please take another look when you have a chance? This should cover the visible untranslated chat/model-settings area that remained after the earlier ru.json-only update.

@DrMaks22

Copy link
Copy Markdown
Contributor Author

Closing this older PR as superseded by #2376, which recreates the same Russian admin/web localization work on top of current main after #2027 got stale in the review queue. The new PR includes the latest validation summary and should be easier to review.

@DrMaks22 DrMaks22 closed this Jul 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant