mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-05 19:04:02 +00:00
docs(i18n): move the Russian glossary to docs/translations/ru.md
Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
1 parent
5d1c43bfaf
commit
acac88ee49
2 files changed
+61
-19
No files matched your search
+5
-19
@@ -46,7 +46,8 @@ Edit `src/i18n/locales/<code>.json` and run `npm run i18n`. To see your change,
|
|||||||
2. Import it in `src/i18n/index.js` and add it to `CATALOGS`.
|
2. Import it in `src/i18n/index.js` and add it to `CATALOGS`.
|
||||||
3. Add the code to `LOCALES` and its own-language name to `LOCALE_NAMES` in `src/i18n/locale.js`. Right-to-left languages also go in `RTL_LOCALES`.
|
3. Add the code to `LOCALES` and its own-language name to `LOCALE_NAMES` in `src/i18n/locale.js`. Right-to-left languages also go in `RTL_LOCALES`.
|
||||||
4. Add `src/i18n/locales/<code>.json` next to `ru.json` in `scripts/package-boundaries.json`.
|
4. Add `src/i18n/locales/<code>.json` next to `ru.json` in `scripts/package-boundaries.json`.
|
||||||
5. Run `npm run i18n` and `npm test`, then check the panels in the app at narrow widths.
|
5. Write `docs/translations/<code>.md`: glossary, plural forms, units and style (copy the structure of `ru.md`).
|
||||||
|
6. Run `npm run i18n` and `npm test`, then check the panels in the app at narrow widths.
|
||||||
|
|
||||||
## Rules
|
## Rules
|
||||||
|
|
||||||
@@ -54,27 +55,12 @@ Edit `src/i18n/locales/<code>.json` and run `npm run i18n`. To see your change,
|
|||||||
- UPPERCASE English stays UPPERCASE. Short labels, chips and HUD readouts should stay short; prefer an abbreviation over a wrapped line.
|
- UPPERCASE English stays UPPERCASE. Short labels, chips and HUD readouts should stay short; prefer an abbreviation over a wrapped line.
|
||||||
- Keep the separators `·`, `—`, `→`, `↗`, `…`.
|
- Keep the separators `·`, `—`, `→`, `↗`, `…`.
|
||||||
- Leave product, provider and data names in their original form: Google Maps, Cesium ion, OpenAI, ChatGPT, NASA FIRMS, USGS, OpenSky, ADS-B, AIS, CCTV, HUD, TomTom, OpenStreetMap, Mapillary, and keyboard keys (Space, Esc, H, 1–9).
|
- Leave product, provider and data names in their original form: Google Maps, Cesium ion, OpenAI, ChatGPT, NASA FIRMS, USGS, OpenSky, ADS-B, AIS, CCTV, HUD, TomTom, OpenStreetMap, Mapillary, and keyboard keys (Space, Esc, H, 1–9).
|
||||||
- Units follow the language's convention (Russian: км, м/с, уз, фт).
|
- Units follow the language's convention; see the language notes.
|
||||||
|
|
||||||
## Never translated
|
## Never translated
|
||||||
|
|
||||||
These are contracts, not copy: layer ids and registry keys, status enums and other machine values (translate only the label shown for them), share-link and hash parameters, `?lang=`, storage schemas, API fields, voice tool names and schemas, provider and dataset names, data from feeds (callsigns, vessel, satellite, station and place names, headlines), attribution, console diagnostics, and user-authored content.
|
These are contracts, not copy: layer ids and registry keys, status enums and other machine values (translate only the label shown for them), share-link and hash parameters, `?lang=`, storage schemas, API fields, voice tool names and schemas, provider and dataset names, data from feeds (callsigns, vessel, satellite, station and place names, headlines), attribution, console diagnostics, and user-authored content.
|
||||||
|
|
||||||
## Russian glossary
|
## Language notes
|
||||||
|
|
||||||
| English | Русский |
|
Each language keeps its glossary, plural forms, units and style in its own file, `docs/translations/<code>.md`: [Russian](./translations/ru.md). Read it before translating, and add a term there when you settle on one.
|
||||||
| ------------------------------- | ---------------------------------- |
|
|
||||||
| layer / data layer | слой / слой данных |
|
|
||||||
| feed | поток данных (short: поток) |
|
|
||||||
| source | источник |
|
|
||||||
| LIVE (status) / live data | ОНЛАЙН / в реальном времени |
|
|
||||||
| SIMULATED | СИМУЛЯЦИЯ |
|
|
||||||
| stale / degraded / unavailable | устарел / с перебоями / недоступен |
|
|
||||||
| key (API key) / POWER UP | ключ / ЗАПУСК |
|
|
||||||
| aircraft / flight / vessel | самолёт / рейс / судно |
|
|
||||||
| launch (rocket) / space mission | пуск / космическая миссия |
|
|
||||||
| contact / tracking | контакт / отслеживание |
|
|
||||||
| installation | объект |
|
|
||||||
| scene / shot / recipe | сцена / кадр / рецепт |
|
|
||||||
| HDG / BRG / CRS / FOV / DEST | КУРС / ПЕЛ. / ПУТЬ / ОБЗОР / НАЗН. |
|
|
||||||
| PREV / NEXT | ПРЕД. / СЛЕД. |
|
|
||||||
@@ -0,0 +1,56 @@
|
|||||||
|
# Russian (`ru`)
|
||||||
|
|
||||||
|
Catalog: `src/i18n/locales/ru.json`. General rules: [TRANSLATORS.md](../TRANSLATORS.md).
|
||||||
|
|
||||||
|
## Style
|
||||||
|
|
||||||
|
- Address the user with polite imperatives: «Нажмите», «Включите», «Попробуйте снова».
|
||||||
|
- Sentence case, not Title Case: "Live Flights" → «Рейсы в реальном времени».
|
||||||
|
- Quotes inside Russian text are «ёлочки». Write ё where it belongs: её, ещё, всё.
|
||||||
|
- In short labels, a standard abbreviation with a period beats a wrapped line: НЕОПРЕД., СЛЕД.
|
||||||
|
- Units: км, м, км/ч, м/с, уз (knots), фт (feet), ч, мин, с; in UPPERCASE text КМ, М, КМ/С, УЗ, ФТ. MW is МВт in any case. `°` and `%` stay.
|
||||||
|
|
||||||
|
## Plurals
|
||||||
|
|
||||||
|
A `tn()` entry needs four forms. `Intl.PluralRules('ru')` picks:
|
||||||
|
|
||||||
|
| Form | Counts | Example |
|
||||||
|
| ------- | ------------------------ | ---------- |
|
||||||
|
| `one` | 1, 21, 31, 101… | 1 камера |
|
||||||
|
| `few` | 2–4, 22–24, 32–34… | 3 камеры |
|
||||||
|
| `many` | 0, 5–20, 25–30, 111–114… | 5 камер |
|
||||||
|
| `other` | fractions: 1.5, 2.25… | 1,5 камеры |
|
||||||
|
|
||||||
|
When a word next to a number cannot agree in every form, move the number after a colon instead: «доступно {bikes}», «ответов: {responses}».
|
||||||
|
|
||||||
|
## Glossary
|
||||||
|
|
||||||
|
| English | Русский |
|
||||||
|
| ------------------------------------------ | -------------------------------------------------- |
|
||||||
|
| layer / data layer | слой / слой данных |
|
||||||
|
| feed | поток данных (short: поток) |
|
||||||
|
| source / data source | источник / источник данных |
|
||||||
|
| LIVE (status) / live data | ОНЛАЙН / в реальном времени |
|
||||||
|
| SIMULATED | СИМУЛЯЦИЯ |
|
||||||
|
| stale / degraded / unavailable | устарел / с перебоями / недоступен |
|
||||||
|
| retry | повтор |
|
||||||
|
| key (API key) / POWER UP | ключ / ЗАПУСК |
|
||||||
|
| Provider Settings | Настройки провайдеров |
|
||||||
|
| globe / map / map source | глобус / карта / источник карты |
|
||||||
|
| aircraft / flight / military flights | самолёт (short HUD: борт) / рейс / военные рейсы |
|
||||||
|
| vessel, ship / vessels | судно / суда |
|
||||||
|
| satellite | спутник |
|
||||||
|
| launch (rocket) / space mission | пуск / космическая миссия |
|
||||||
|
| contact / tracking | контакт / отслеживание |
|
||||||
|
| installation, site | объект |
|
||||||
|
| camera / CCTV camera | камера / камера CCTV |
|
||||||
|
| earthquake / active fire | землетрясение / активный пожар |
|
||||||
|
| scene / shot / scene recipe | сцена / кадр / рецепт сцены |
|
||||||
|
| briefing / panel / dock | брифинг / панель / док |
|
||||||
|
| preset / visual preset | пресет / визуальный пресет |
|
||||||
|
| Scope (circular viewport mask) | прицел |
|
||||||
|
| heading / altitude / ground speed | курс / высота / путевая скорость |
|
||||||
|
| HDG / BRG / CRS / FOV / DEST / SPD / RANGE | КУРС / ПЕЛ. / ПУТЬ / ОБЗОР / НАЗН. / СКОР / ДАЛЬН. |
|
||||||
|
| PREV / NEXT | ПРЕД. / СЛЕД. |
|
||||||
|
| Previous / Next (button text) | Назад / Далее |
|
||||||
|
| L / R (relative bearing) | Л / П |
|
||||||
Reference in new issue
Block a user