mirror of
https://github.com/storytold/gridcraft.git
synced 2026-11-10 20:40:05 -06:00
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:
@@ -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() {
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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 |
|
||||
|
||||
@@ -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 |
|
||||
|
||||
Reference in New Issue
Block a user