|
2 | 2 |
|
3 | 3 | Purpose: a single reference for translations of recurring template phrases in the documentation |
4 | 4 | ([../docs/](../docs/)). Consult it when translating new articles and when reviewing localizations — |
5 | | -the wording and markdown markup (`**...:**`, `### ...`, full-width `:` for zh) must match verbatim. |
| 5 | +the wording and markdown markup (`**...**`, `### ...`, full-width `:` for zh/ko) must match verbatim. |
6 | 6 |
|
7 | 7 | The **canonical** (most frequent) variant is given. |
8 | 8 |
|
9 | 9 | --- |
10 | 10 |
|
11 | | -## 1. Section labels (bold lead before a link) |
12 | | - |
13 | | -RichText puts the colon **inside** the bold markers (`**...:**`); zh uses a full-width colon `:`. |
14 | | - |
15 | | -Use the **singular** form when a single item is referenced, the **plural** form for a list of two or |
16 | | -more. ko/zh have no number inflection — the same label serves both. The number must agree with the |
17 | | -English source (e.g. `**Related sample:**` → singular, `**Related samples:**` → plural). |
| 11 | +## 1. Section labels (bold lead before a list) |
18 | 12 |
|
19 | 13 | | EN | ru | de | ko | zh | |
20 | 14 | |---|---|---|---|---| |
21 | | -| `**Related articles:**` | `**Связанные статьи:**` | `**Verwandte Artikel:**` | `**관련 문서:**` | `**相关文章:**` | |
| 15 | +| `**Related articles:**` | `**Полезные статьи:**` | `**Verwandte Artikel:**` | `**관련 문서:**` | `**相关文章:**` | |
| 16 | +| `**Related article:**` | `**Полезная статья:**` | `**Verwandter Artikel:**` | `**관련 문서:**` | `**相关文章:**` | |
22 | 17 | | `**Related sample:**` | `**Связанный пример:**` | `**Verwandtes Beispiel:**` | `**관련 샘플:**` | `**相关示例:**` | |
23 | | -| `**Related samples:**` | `**Связанные примеры:**` | `**Verwandte Beispiele:**` | `**관련 샘플:**` | `**相关示例:**` | |
24 | | - |
25 | | -ko: `관련 샘플` is canonical for *sample(s)*; the variant `관련 예제` also occurs and should be |
26 | | -normalized to `관련 샘플`. |
27 | | - |
28 | | -## 2. Section headings |
| 18 | +| `**Related samples:**` | `**Связанные примеры:**` | `**Verwandte Beispiele:**` | `**관련 예제:**` | `**相关示例:**` | |
| 19 | +| `**Related API:**` | `**Похожее API:**` | `**Verwandte API:**` | `**관련 API:**` | `**相关 API:**` | |
| 20 | +| `**Change log:**` | `**Журнал изменений:**` | `**Changelog:**` | `**변경 로그:**` | `**更新日志:**` | |
| 21 | +| `**Example:**` | `**Пример:**` | `**Beispiel:**` | `**예제:**` | `**示例:**` | |
| 22 | +| `**Example on GitHub**` | `**Пример на GitHub**` | `**Beispiel auf GitHub**` | `**GitHub 예제**` | `**GitHub 示例**` | |
29 | 23 |
|
30 | | -Headings keep the original English slug as a `{#...}` anchor (e.g. `### Описание {#description}`) so |
31 | | -cross-page `#anchor` links stay valid — only the visible title is translated. The explicit `{#id}` |
32 | | -must match the English auto-slug **exactly**, including any leading dashes for headings that begin |
33 | | -with a list marker or inline code (e.g. `### - \`fire()\` → ...` keeps `{#--fire--...}`). |
34 | | - |
35 | | -**API-page template:** |
| 24 | +## 2. Section headings (API-page template) |
36 | 25 |
|
37 | 26 | | EN | ru | de | ko | zh | |
38 | 27 | |---|---|---|---|---| |
39 | 28 | | `### Description` | `### Описание` | `### Beschreibung` | `### 설명` | `### 描述` | |
40 | 29 | | `### Usage` | `### Использование` | `### Verwendung` | `### 사용법` | `### 用法` | |
41 | 30 | | `### Example` | `### Пример` | `### Beispiel` | `### 예제` | `### 示例` | |
42 | | -| `### Parameters` | `### Параметры` | `### Parameter` | `### 파라미터` | `### 参数` | |
43 | | -| `### Returns` | `### Возвращает` | `### Rückgabewert` | `### 반환값` | `### 返回值` | |
| 31 | +| `### Parameters` | `### Параметры` | `### Parameter` | `### 매개변수` | `### 参数` | |
| 32 | +| `### Returns` | `### Возвращаемое значение` | `### Rückgabewert` | `### 반환값` | `### 返回值` | |
| 33 | +| `### Fixes` | `### Исправления` | `### Fehlerbehebungen` | `### 수정 사항` | `### 修复` | |
| 34 | +| `### New functionality` | `### Новый функционал` | `### Neue Funktionalität` | `### 새로운 기능` | `### 新功能` | |
| 35 | +| `### Updates` | `### Обновления` | `### Aktualisierungen` | `### 업데이트` | `### 更新` | |
44 | 36 | | `### Default config` | `### Конфигурация по умолчанию` | `### Standardkonfiguration` | `### 기본 설정` | `### 默认配置` | |
| 37 | +| `### Breaking changes` | `### Критические изменения` | `### Breaking Changes` | `### 주요 변경 사항` | `### 重大变更` | |
| 38 | +| `## Related API and guides` | `## Связанные API и гайды` | `## Verwandte API und Anleitungen` | `## 관련 API 및 가이드` | `## 相关 API 和指南` | |
| 39 | +| `## What's next` | `## Что дальше` | `## Wie geht es weiter` | `## 다음 단계` | `## 下一步` | |
| 40 | +| `## API reference` | `## Справочник API` | `## API-Referenz` | `## API 참조` | `## API 参考` | |
45 | 41 |
|
46 | | -- ko: `파라미터` is canonical; the variants `매개변수` and untranslated `Parameters` in **headings** |
47 | | - should be normalized to `파라미터` (running prose that uses `매개변수` grammatically is left as is). |
48 | | -- ko: `예제` is canonical for *Example*; the variant `예시` should be normalized to `예제`. |
49 | | -- ko: `기본 설정` is canonical for *Default config*; the variant `기본 구성` should be normalized. |
50 | | -- ru: `Конфигурация по умолчанию` is canonical; the shorter `Конфиг по умолчанию` should be |
51 | | - normalized. |
52 | | - |
53 | | -**Changelog headings (`news/whats_new.md`, `news/migration.md`):** |
| 42 | +## 3. Version notes (inside `**Change log:**`) |
54 | 43 |
|
55 | | -| EN | ru | de | ko | zh | |
56 | | -|---|---|---|---|---| |
57 | | -| `### New functionality` | `### Новые возможности` | `### Neue Funktionalität` | `### 새로운 기능` | `### 新功能` | |
58 | | -| `### New API` | `### Новый API` | `### Neue API` | `### 새로운 API` | `### 新增 API` | |
59 | | -| `### Updated API` | `### Обновлённый API` | `### Aktualisierte API` | `### 업데이트된 API` | `### 更新的 API` | |
60 | | -| `### Fixes` | `### Исправления` | `### Fehlerbehebungen` | `### 수정 사항` | `### 修复` | |
61 | | -| `### Methods migration` | `### Миграция методов` | `### Migration der Methoden` | `### 메서드 마이그레이션` | `### 方法迁移` | |
62 | | -| `### Properties migration` | `### Миграция свойств` | `### Migration der Eigenschaften` | `### 프로퍼티 마이그레이션` | `### 属性迁移` | |
63 | | - |
64 | | -`API` stays the Latin `API` in every changelog heading (never the Cyrillic `АПИ`). |
| 44 | +Format `<Action> in vX.X` — the "action" word is translated, the version number stays as is. |
65 | 45 |
|
66 | | -**Navigation heading:** |
| 46 | +The forms below are verified against actual occurrences in the locales (e.g. `Добавлено в v5.2`, |
| 47 | +`v5.2에서 추가`, `v5.2 中新增`). The version number is not translated. |
67 | 48 |
|
68 | 49 | | EN | ru | de | ko | zh | |
69 | 50 | |---|---|---|---|---| |
70 | | -| `## What's next` | `## Что дальше` | `## Wie geht es weiter?` | `## 다음 단계` | `## 下一步` | |
| 51 | +| `Added in vX.X` | `Добавлено в vX.X` | `Hinzugefügt in vX.X` | `vX.X에서 추가` | `vX.X 中新增` | |
| 52 | +| `Updated in vX.X` | `Обновлено в vX.X` | `Aktualisiert in vX.X` | `vX.X에서 업데이트` | `vX.X 中更新` | |
| 53 | +| `Deprecated in vX.X` | `Устарело в vX.X` | `Veraltet in vX.X` | `vX.X에서 지원 중단` | `vX.X 中弃用` | |
| 54 | +| `Removed in vX.X` | `Удалено в vX.X` | `Entfernt in vX.X` | `vX.X에서 제거` | `vX.X 中移除` | |
| 55 | +| `Starting from vX.X, …` | `Начиная с vX.X, …` | `Ab vX.X …` | `vX.X부터 …` | `从 vX.X 起,…` | |
71 | 56 |
|
72 | | -## 3. Admonition block titles (`:::note`, `:::tip` …) |
| 57 | +## 4. Admonition block titles (`:::note`, `:::tip` …) |
73 | 58 |
|
74 | | -RichText sets these titles **explicitly in markdown** via the `:::type[Title]` syntax (e.g. |
75 | | -`:::note[Примечание]`), so the visible title comes from the `.md` file, not the theme defaults. The |
76 | | -block **type** (`:::note`, `:::tip`, …) is never translated — only the bracketed `[Title]` is. |
| 59 | +The titles of these blocks come **not from markdown**, but from the `theme.admonition.*` keys in |
| 60 | +`i18n/<locale>/code.json` (in EN — Docusaurus built-in defaults). In `.md` the block type (`:::note`, |
| 61 | +`:::tip`, …) is not translated — only the `message` in `code.json` changes. |
77 | 62 |
|
78 | | -The same wording is mirrored in the `theme.admonition.*` keys of `i18n/<locale>/code.json` (the |
79 | | -fallback for any block without an explicit title); the two must stay in sync. Canon: **capitalized |
80 | | -first letter**, with each type distinct (no `caution`/`warning` duplicates). |
| 63 | +The Docusaurus theme renders the title with `text-transform: uppercase`, so for ru/de the visible |
| 64 | +title is always UPPERCASE, while ko/zh have no letter case. Canon: **capitalized first letter**, with |
| 65 | +words distinct between types (no `caution`/`warning` duplicates). |
81 | 66 |
|
82 | 67 | | Type | ru | de | ko | zh | |
83 | 68 | |---|---|---|---|---| |
84 | | -| `:::note` | `Примечание` | `Hinweis` | `참고` | `注意` | |
85 | | -| `:::tip` | `Совет` | `Tipp` | `팁` | `提示` | |
86 | | -| `:::info` | `Информация` | `Info` | `정보` | `信息` | |
| 69 | +| `:::note` | `Примечание` | `Hinweis` | `노트` | `备注` | |
| 70 | +| `:::tip` | `Подсказка` | `Tipp` | `팁` | `提示` | |
| 71 | +| `:::info` | `К сведению` | `Info` | `정보` | `信息` | |
87 | 72 | | `:::warning` | `Предупреждение` | `Warnung` | `경고` | `警告` | |
88 | | -| `:::caution` | `Осторожно` | `Vorsicht` | `주의` | `谨慎` | |
89 | | -| `:::important` | `Важно` | `Wichtig` | `중요` | `重要` | |
| 73 | +| `:::caution` | `Осторожно` | `Vorsicht` | `주의` | `注意` | |
90 | 74 | | `:::danger` | `Опасно` | `Gefahr` | `위험` | `危险` | |
91 | 75 |
|
92 | | -## 4. Do not translate |
| 76 | +## 5. Do not translate |
93 | 77 |
|
94 | | -Keep these terms in English (Latin script) across all locales. |
| 78 | +Keep these terms in English across all locales (verified: identical counts in ru/de/ko/zh). |
95 | 79 |
|
96 | 80 | **Product & modules:** |
97 | | -- `RichText` — the widget/product name (e.g. "DHTMLX RichText"). *The generic concept* — rich text — |
98 | | - may be localized; only the product/widget name stays `RichText`. |
| 81 | + |
99 | 82 | - `DHTMLX`, `dhx` (the `dhx.*` code namespace) |
100 | | -- `Event Bus` — the module name. Keep the English spelling; German may hyphenate it inside a compound |
101 | | - (`Event-Bus-Methoden`). Do not localize it (ru `шина событий`, zh `事件总线` → `Event Bus`). |
| 83 | +- `Sheet Manager`, `Event Bus` |
102 | 84 |
|
103 | 85 | **Frameworks & libraries:** |
104 | 86 | - `React`, `Vue`, `Svelte`, `Angular` |
105 | | - |
106 | | -**Runtime, languages & tooling:** |
107 | 87 | - `Node.js`, `Vite` |
| 88 | +- `Redux`, `Redux Toolkit` |
| 89 | + |
| 90 | +**Languages & tooling:** |
108 | 91 | - `JavaScript`, `TypeScript` |
109 | 92 | - `npm`, `yarn`, `CLI` |
110 | 93 |
|
111 | 94 | **Data formats:** |
112 | | -- `JSON` |
| 95 | +- `Excel`, `XLSX`, `CSV`, `JSON` |
113 | 96 |
|
114 | 97 | **Services:** |
115 | 98 | - `GitHub`, `CDN` |
116 | 99 |
|
117 | 100 | **Other:** |
118 | | -- `API` — always the Latin `API`, never the Cyrillic transliteration `АПИ`. |
| 101 | +- `API` |
119 | 102 | - Code identifiers (method / config / event names, `dhx.*`) inside backticks are never translated. |
| 103 | + |
| 104 | +> Not in this list — these UI concepts **are** localized (keep English only for a literal UI label): |
| 105 | +> `Toolbar` (→ ru "панель инструментов"), `Menu` (→ "меню"), `Fill Handle` (→ "маркер заполнения"), |
| 106 | +> `context menu`. |
0 commit comments