Skip to content

chore: new Ukrainian translation lines#1199

Merged
znelson merged 4 commits intocrosspoint-reader:masterfrom
mirus-ua:feat/ukrainian-translation-feb-26
Feb 26, 2026
Merged

chore: new Ukrainian translation lines#1199
znelson merged 4 commits intocrosspoint-reader:masterfrom
mirus-ua:feat/ukrainian-translation-feb-26

Conversation

@mirus-ua
Copy link
Contributor

Summary


AI Usage

While CrossPoint doesn't have restrictions on AI tools in contributing, please be transparent about their usage as it
helps set the right context for reviewers.

Did you use AI tools to help write this code? NO

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 26, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 38387f0 and a13a432.

📒 Files selected for processing (1)
  • lib/I18n/translations/ukrainian.yaml
🚧 Files skipped from review as they are similar to previous changes (1)
  • lib/I18n/translations/ukrainian.yaml
📜 Recent review details
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: cppcheck
  • GitHub Check: build

📝 Walkthrough

Walkthrough

Adds 21 new Ukrainian localization keys for UI elements (progress bar, book/chapter labels, footnotes, battery, QR display, caps/directions, etc.) in lib/I18n/translations/ukrainian.yaml; no control-flow or error-handling changes.

Changes

Cohort / File(s) Summary
Ukrainian translations
lib/I18n/translations/ukrainian.yaml
Added 21 new public translation keys (e.g., STR_SHOW, STR_HIDE, STR_SET, STR_NOT_SET, STR_DIR_*, STR_CAPS_*, STR_OK_BUTTON, STR_DISPLAY_QR, STR_FOOTNOTES, STR_NO_FOOTNOTES, STR_LINK, STR_CUSTOMISE_STATUS_BAR, STR_CHAPTER_PAGE_COUNT, STR_BOOK_PROGRESS_PERCENTAGE, STR_PROGRESS_BAR*, STR_BOOK, STR_CHAPTER, STR_EXAMPLE_*, STR_PREVIEW, STR_TITLE, STR_BATTERY) and updated existing theme translations.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Possibly related PRs

Suggested reviewers

  • osteotek
  • znelson
🚥 Pre-merge checks | ✅ 2
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main change: adding new Ukrainian translation lines to the translation file.
Description check ✅ Passed The description is related to the changeset, explaining it updates translations following PR #733 and disclosing AI tool usage.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@lib/I18n/translations/ukrainian.yaml`:
- Around line 263-264: STR_CHAPTER and STR_EXAMPLE_CHAPTER use "Глава" but the
rest of the translation set (e.g., STR_SELECT_CHAPTER, STR_CHAPTER_PREFIX,
STR_SECTION_PREFIX) use "Розділ"; update STR_CHAPTER and STR_EXAMPLE_CHAPTER to
use "Розділ" (and adjust the example string accordingly) so terminology is
consistent across the translation entries.
- Around line 334-336: Replace the awkward Ukrainian phrase for the
STR_NO_FOOTNOTES translation: change the current value for STR_NO_FOOTNOTES to a
more natural construction by using "Сторінка не має зносок" (note the space
between "не" and "має") so the key STR_NO_FOOTNOTES reads correctly.

ℹ️ Review info

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 3f98a87 and 20cfc5a.

📒 Files selected for processing (1)
  • lib/I18n/translations/ukrainian.yaml
📜 Review details
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: build
  • GitHub Check: cppcheck
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2026-02-23T22:11:42.181Z
Learnt from: ariel-lindemann
Repo: crosspoint-reader/crosspoint-reader PR: 1133
File: lib/I18n/translations/finnish.yaml:92-92
Timestamp: 2026-02-23T22:11:42.181Z
Learning: In translation YAML files located in lib/I18n/translations/, literal percent signs (%) in strings (e.g., STR_HIDE_BATTERY, STR_GO_TO_PERCENT, STR_PERCENT_STEP_HINT) do not require escaping as %% and this convention is consistent across all language translations. Ensure that this pattern is followed for all YAML files in this directory to avoid introducing incorrect formatting markers in localized strings.

Applied to files:

  • lib/I18n/translations/ukrainian.yaml
🔇 Additional comments (5)
lib/I18n/translations/ukrainian.yaml (5)

237-238: LGTM!

The translations for "Show" and "Hide" are correct and idiomatic Ukrainian.


254-262: LGTM!

The status bar and progress bar translations are accurate and follow appropriate Ukrainian terminology.


265-268: LGTM!

The preview, title, and battery translations are correct.


271-272: LGTM!

The theme names are properly transliterated to Ukrainian Cyrillic, which is appropriate for full localization.


301-301: LGTM!

The QR code display string is correctly translated.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@lib/I18n/translations/ukrainian.yaml`:
- Around line 254-258: Update the Ukrainian translations to fix mid-phrase
capitalization and use the correct noun case for "рядок/рядка": change
STR_CUSTOMISE_STATUS_BAR to "Налаштувати рядок стану" (lowercase "рядок"),
change STR_PROGRESS_BAR to "Рядок прогресу" -> preferably "рядок прогресу"
(lowercase), and change STR_PROGRESS_BAR_THICKNESS from "Товщина Рядку прогресу"
to "Товщина рядка прогресу" (correct genitive case "рядка" and lowercase),
leaving other keys (e.g., STR_BOOK_PROGRESS_PERCENTAGE, STR_CHAPTER_PAGE_COUNT)
unchanged unless consistency requires lowercasing non-initial nouns.

ℹ️ Review info

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 20cfc5a and 38387f0.

📒 Files selected for processing (1)
  • lib/I18n/translations/ukrainian.yaml
📜 Review details
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: build
  • GitHub Check: cppcheck
🧰 Additional context used
🧠 Learnings (2)
📚 Learning: 2026-02-23T22:11:42.181Z
Learnt from: ariel-lindemann
Repo: crosspoint-reader/crosspoint-reader PR: 1133
File: lib/I18n/translations/finnish.yaml:92-92
Timestamp: 2026-02-23T22:11:42.181Z
Learning: In translation YAML files located in lib/I18n/translations/, literal percent signs (%) in strings (e.g., STR_HIDE_BATTERY, STR_GO_TO_PERCENT, STR_PERCENT_STEP_HINT) do not require escaping as %% and this convention is consistent across all language translations. Ensure that this pattern is followed for all YAML files in this directory to avoid introducing incorrect formatting markers in localized strings.

Applied to files:

  • lib/I18n/translations/ukrainian.yaml
📚 Learning: 2026-02-16T22:25:35.674Z
Learnt from: whyte-j
Repo: crosspoint-reader/crosspoint-reader PR: 733
File: lib/I18n/I18nKeys.h:271-272
Timestamp: 2026-02-16T22:25:35.674Z
Learning: In the crosspoint-reader i18n system (lib/I18n/), missing translation keys in non-English YAML files are automatically filled with English strings at build time by the gen_i18n.py script. All generated string arrays (STRINGS_EN, STRINGS_ES, etc.) have identical lengths, so runtime array indexing is safe without per-string fallback logic. The system prints "INFO: '{key}' missing in {lang_code}, using English fallback" during code generation when this occurs.

Applied to files:

  • lib/I18n/translations/ukrainian.yaml
🔇 Additional comments (5)
lib/I18n/translations/ukrainian.yaml (5)

237-238: Good addition for visibility actions.

STR_SHOW / STR_HIDE are clear, concise, and consistent with surrounding UI labels.


255-257: Nice coverage of new progress/book metadata keys.

These translations read naturally and match the terminology used elsewhere in this locale file.

Also applies to: 259-268


271-272: Theme name localization looks good.

STR_THEME_LYRA and STR_THEME_LYRA_EXTENDED are now properly localized.


301-301: QR display label is clear and actionable.

This wording is understandable in context and consistent with nearby QR-related hints.


334-336: Footnotes block wording is now natural.

STR_NO_FOOTNOTES and adjacent labels are grammatically solid and user-friendly.

@znelson znelson merged commit f7814cd into crosspoint-reader:master Feb 26, 2026
6 checks passed
el pushed a commit to el/crosspoint-reader that referenced this pull request Feb 26, 2026
## Summary

* **What is the goal of this PR?** 
Update translation after
crosspoint-reader#733

---

### AI Usage

While CrossPoint doesn't have restrictions on AI tools in contributing,
please be transparent about their usage as it
helps set the right context for reviewers.

Did you use AI tools to help write this code? _**NO**_
iandchasse pushed a commit to iandchasse/crosspoint-reader-minRead that referenced this pull request Feb 27, 2026
* **What is the goal of this PR?**
Update translation after
crosspoint-reader#733

---

While CrossPoint doesn't have restrictions on AI tools in contributing,
please be transparent about their usage as it
helps set the right context for reviewers.

Did you use AI tools to help write this code? _**NO**_
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.

3 participants