i18n(uk): translate Chart as Діаграма (#3703)

Use the shared craft-i18n Ukrainian term, distinct from Diagram (Схема).
Also translate the remaining Chart-labelled strings that were still English.

Co-authored-by: FredApps <FredApps@users.noreply.github.com>
This commit is contained in:
FredAppsandFredApps authored and GitHub committed 2026-11-10 17:07:10 +01:00
1 parent 457bc7e374
commit a36e4987c1
4 files changed
+28 -18

No files matched your search

+8
View File
@@ -342,6 +342,14 @@ mod tests {
}
}
/// Ukrainian Chart uses the shared craft-i18n term, which is not the Diagram word.
#[test]
fn ukrainian_chart_uses_the_shared_term() {
assert_eq!(Language::Uk.translated("Chart"), Some("Діаграма"));
assert_eq!(Language::Uk.translated("Insert Chart"), Some("Вставити діаграму"));
assert_eq!(Language::Uk.translated("Diagram"), Some("Схема"));
}
/// Help tables are sorted and unique: lookups binary-search them.
#[test]
fn function_help_tables_are_sorted_and_unique() {
+15 -15
View File
@@ -442,7 +442,7 @@ pub(super) fn translate(text: &str) -> Option<&'static str> {
"This workbook" => "This workbook",
"Do you want to save the changes you made to {title}?" => "Do you want to save the changes you made to {title}?",
"Save a copy as .{format}" => "Save a copy as .{format}",
"Select a chart first." => "Select a chart first.",
"Select a chart first." => "Спочатку виділіть діаграму.",
"Text Box" => "Напис",
"Select Data" => "Select Data",
"Row Height" => "Row Height",
@@ -480,13 +480,13 @@ pub(super) fn translate(text: &str) -> Option<&'static str> {
"Search Commands" => "Search Commands",
"Agent Control" => "Agent Control",
"About GridCraft" => "About GridCraft",
"Insert Chart" => "Insert Chart",
"Insert Chart" => "Вставити діаграму",
"Select Data Source" => "Select Data Source",
"Action Journal" => "Action Journal",
"Macros" => "Macros",
"Workbook Statistics" => "Workbook Statistics",
"Accessibility" => "Accessibility",
"Chart Title" => "Chart Title",
"Chart Title" => "Назва діаграми",
"Place Picture in Cell" => "Place Picture in Cell",
"Place Picture over Cells" => "Place Picture over Cells",
"Pick From List" => "Pick From List",
@@ -604,9 +604,9 @@ pub(super) fn translate(text: &str) -> Option<&'static str> {
"Sum" => "Sum",
"Product" => "Product",
"Include forecast statistics" => "Include forecast statistics",
"Chart" => "Chart",
"Line chart" => "Line chart",
"Column chart" => "Column chart",
"Chart" => "Діаграма",
"Line chart" => "Лінійна діаграма",
"Column chart" => "Стовпчикова діаграма",
"At each change in (column letter):" => "At each change in (column letter):",
"Use function" => "Use function",
"Add subtotal to (columns, e.g. C,D):" => "Add subtotal to (columns, e.g. C,D):",
@@ -770,8 +770,8 @@ pub(super) fn translate(text: &str) -> Option<&'static str> {
"Scope" => "Scope",
"Workbook" => "Workbook",
"No names defined" => "No names defined",
"Recommended Charts" => "Recommended Charts",
"All Charts" => "All Charts",
"Recommended Charts" => "Рекомендовані діаграми",
"All Charts" => "Усі діаграми",
"Clustered Column" => "Clustered Column",
"Stacked Column" => "Stacked Column",
"100% Stacked Column" => "100% Stacked Column",
@@ -793,7 +793,7 @@ pub(super) fn translate(text: &str) -> Option<&'static str> {
"Waterfall" => "Waterfall",
"Funnel" => "Funnel",
"Combo" => "Combo",
"Chart data range:" => "Chart data range:",
"Chart data range:" => "Діапазон даних діаграми:",
"Legend Entries (Series)" => "Legend Entries (Series)",
"Series{n}" => "Series{n}",
"Keep" => "Keep",
@@ -801,7 +801,7 @@ pub(super) fn translate(text: &str) -> Option<&'static str> {
"Horizontal (Category) Axis Labels:" => "Horizontal (Category) Axis Labels:",
"There are no conditional formatting rules on this sheet." => "There are no conditional formatting rules on this sheet.",
"applies to" => "applies to",
"Type a command, e.g. freeze, chart, bold…" => "Type a command, e.g. freeze, chart, bold…",
"Type a command, e.g. freeze, chart, bold…" => "Введіть команду, наприклад закріпити, діаграма, напівжирний…",
"Set cell:" => "Set cell:",
"To value:" => "To value:",
"By changing cell:" => "By changing cell:",
@@ -866,7 +866,7 @@ pub(super) fn translate(text: &str) -> Option<&'static str> {
"Change" => "Change",
"Change All" => "Change All",
"$ English (United States)" => "$ English (United States)",
"Add Chart Element" => "Add Chart Element",
"Add Chart Element" => "Додати елемент діаграми",
"Align Left" => "Align Left",
"Align Right" => "Align Right",
"Bottom Align" => "Bottom Align",
@@ -874,7 +874,7 @@ pub(super) fn translate(text: &str) -> Option<&'static str> {
"Calculate Sheet (⇧F9)" => "Calculate Sheet (⇧F9)",
"Calculation Options" => "Calculation Options",
"Cell Styles" => "Cell Styles",
"Change Chart Type" => "Change Chart Type",
"Change Chart Type" => "Змінити тип діаграми",
"Check Accessibility" => "Check Accessibility",
"Clear Filter" => "Clear Filter",
"Column or Bar" => "Column or Bar",
@@ -887,11 +887,11 @@ pub(super) fn translate(text: &str) -> Option<&'static str> {
"Define Name…" => "Define Name…",
"Delete Comment" => "Delete Comment",
"Delete Sheet" => "Delete Sheet",
"Delete chart" => "Delete chart",
"Delete chart" => "Видалити діаграму",
"Delete…" => "Delete…",
"Dismiss" => "Dismiss",
"Down" => "Down",
"Edit chart title" => "Edit chart title",
"Edit chart title" => "Редагувати назву діаграми",
"Erase ink strokes" => "Erase ink strokes",
"Every command run in this session (replayable)" => "Every command run in this session (replayable)",
"Expand formula bar" => "Expand formula bar",
@@ -899,7 +899,7 @@ pub(super) fn translate(text: &str) -> Option<&'static str> {
"Find & Select" => "Find & Select",
"Forecast Sheet" => "Forecast Sheet",
"Forecast end (date or number; blank: a third of the history):" => "Forecast end (date or number; blank: a third of the history):",
"Format Chart pane" => "Format Chart pane",
"Format Chart pane" => "Область форматування діаграми",
"Format as Table" => "Format as Table",
"Hide" => "Hide",
"Hide Sheet" => "Hide Sheet",
+3 -2
View File
@@ -1,6 +1,6 @@
# Feature naming
> **Last reviewed:** 2026-11-10 · **Last updated:** 2026-11-10 · **Change:** minor (Diagram words aligned with craft-i18n#211)
> **Last reviewed:** 2026-11-10 · **Last updated:** 2026-11-10 · **Change:** minor (Ukrainian Chart is Діаграма); previously minor (Diagram words aligned with craft-i18n#211)
ArtCraft apps use descriptive names for their own features. Product names used to describe compatibility, file formats, attribution or external software remain accurate.
@@ -14,7 +14,7 @@ The insert.smartArt and insert.wordArt command IDs and pending keytips remain un
## Localization and verification
Each shipped non-English interface catalog includes the new labels. Diagram uses a word distinct from Chart in every catalog: German (`Schema`), Ukrainian (`Схема`) and Romanian (`Schemă`) avoid their chart word, matching the shared wording in [craft-i18n#211](https://github.com/storytold/craft-i18n/pull/211) for German and Ukrainian. Regression tests cover the labels, every shipped catalog and stable command identities. The translations are AI-assisted and not yet reviewed by native speakers.
Each shipped non-English interface catalog includes the new labels. Diagram uses a word distinct from Chart in every catalog: German (`Schema`), Ukrainian (`Схема`) and Romanian (`Schemă`) avoid their chart word, matching the shared wording in [craft-i18n#211](https://github.com/storytold/craft-i18n/pull/211) for German and Ukrainian. Ukrainian Chart is `Діаграма`, the same term as in that catalog. Regression tests cover the labels, every shipped catalog and stable command identities. The translations are AI-assisted and not yet reviewed by native speakers.
## Regression coverage
@@ -24,5 +24,6 @@ The standard-library-only `display_names` integration tests scan production Rust
| Date | Change | Summary |
|---|---|---|
| 2026-11-10 | minor | Ukrainian Chart is `Діаграма`, matching [craft-i18n#211](https://github.com/storytold/craft-i18n/pull/211) and distinct from Diagram (`Схема`) |
| 2026-11-10 | minor | Diagram no longer repeats the chart word: German `Schema`, Ukrainian `Схема` (as craft-i18n#211), Romanian `Schemă`; a test covers every shipped catalog |
| 2026-11-08 | minor | Created: SmartArt → Diagram and WordArt → Decorative Text as GridCraft's own catalog labels |
+2 -1
View File
@@ -1,6 +1,6 @@
# Localization parity
> **Last reviewed:** 2026-10-10 · **Last updated:** 2026-11-10 · **Change:** minor (Diagram and Decorative Text labels, Diagram distinct from Chart); previously minor (CJK fallback baseline alignment); previously minor (Arabic bidi display, editing and cell reading direction; missing translations are listed by `cargo xtask i18n-report` and never fail a check); previously minor (Arabic font fallback; missing translations are listed by `cargo xtask i18n-report` and never fail a check); previously minor (number formats honour the `B1`/`B2` calendar prefixes, checked against Excel; earlier: missing translations are listed by `cargo xtask i18n-report` and never fail a check; Arabic text sorts by its letters, not its vowel marks); previously minor (AutoFit estimates Arabic text width from measured glyph widths); previously minor (missing translations are listed by `cargo xtask i18n-report` and never fail a check; Arabic text sorts by its letters, not its vowel marks) · **Target:** Microsoft Excel (Microsoft 365), Excel for Mac 16.113.4
> **Last reviewed:** 2026-10-10 · **Last updated:** 2026-11-10 · **Change:** minor (Ukrainian Chart is Діаграма); previously minor (Diagram and Decorative Text labels, Diagram distinct from Chart); previously minor (CJK fallback baseline alignment); previously minor (Arabic bidi display, editing and cell reading direction; missing translations are listed by `cargo xtask i18n-report` and never fail a check); previously minor (Arabic font fallback; missing translations are listed by `cargo xtask i18n-report` and never fail a check); previously minor (number formats honour the `B1`/`B2` calendar prefixes, checked against Excel; earlier: missing translations are listed by `cargo xtask i18n-report` and never fail a check; Arabic text sorts by its letters, not its vowel marks); previously minor (AutoFit estimates Arabic text width from measured glyph widths); previously minor (missing translations are listed by `cargo xtask i18n-report` and never fail a check; Arabic text sorts by its letters, not its vowel marks) · **Target:** Microsoft Excel (Microsoft 365), Excel for Mac 16.113.4
Per-language status against Excel, which ships its UI in dozens of languages (Windows language
packs cover 100+), with localized function names, argument separators, number and date formats,
@@ -133,6 +133,7 @@ language (none so far) and of localized function names.
| Date | Change | Summary |
|---|---|---|
| 2026-11-10 | minor | Ukrainian Chart is `Діаграма`, matching [craft-i18n#211](https://github.com/storytold/craft-i18n/pull/211) and distinct from Diagram (`Схема`) |
| 2026-11-10 | minor | Diagram and Decorative Text labels in all 18 non-English catalogs; Diagram never repeats the catalog's chart word (German `Schema`, Ukrainian `Схема`, Romanian `Schemă`), see [feature-names.md](feature-names.md) |
| 2026-10-31 | minor | System and embedded CJK text fallbacks share the Latin baseline in cells, editors and window titles; other scripts, symbols and emoji keep their alignment |
| 2026-10-26 | minor | Shared bidi layout supports Arabic clusters, marks, visual cursor navigation and directional accessibility; cell Context/LTR/RTL is stored separately from sheet RTL and round-trips through XLSX |