feat: added Romanian strings#987
Conversation
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughWalkthroughAdds Romanian language support by introducing Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes 🚥 Pre-merge checks | ✅ 2✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🧹 Nitpick comments (1)
lib/I18n/translations/romanian.yaml (1)
42-42: Minor: Inconsistent capitalization on sentence-initial strings.A few strings that appear to be standalone sentences or prompts begin with lowercase:
- Line 42:
"ştergeţi parola salvată?"- Line 146:
"ştergerea cache-ului a eşuat"- Line 271:
"ştergere"(may be intentional for button label)Consider capitalizing the first two for consistency with other prompts in the file.
✏️ Suggested changes
-STR_REMOVE_PASSWORD: "ştergeţi parola salvată?" +STR_REMOVE_PASSWORD: "Ştergeţi parola salvată?"-STR_CLEAR_CACHE_FAILED: "ştergerea cache-ului a eşuat" +STR_CLEAR_CACHE_FAILED: "Ştergerea cache-ului a eşuat"Also applies to: 146-146, 271-271
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@lib/I18n/translations/romanian.yaml` at line 42, The strings STR_REMOVE_PASSWORD and the message at line referenced by the reviewer (the error message "ştergerea cache-ului a eşuat") start with lowercase; update them to sentence-initial capitalization (e.g., "Ştergeţi parola salvată?" and "Ştergerea cache-ului a eşuat") to match the other prompts, leaving short UI labels like "ştergere" (button) unchanged if intentional; edit the YAML values for STR_REMOVE_PASSWORD and the cache-failure message key accordingly.
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
lib/I18n/I18nKeys.hlib/I18n/I18nStrings.hlib/I18n/translations/romanian.yaml
🧰 Additional context used
🧠 Learnings (1)
📚 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/I18nKeys.hlib/I18n/translations/romanian.yaml
⏰ 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). (1)
- GitHub Check: build
🔇 Additional comments (2)
lib/I18n/I18nKeys.h (1)
16-16: LGTM!The Romanian language additions follow the established pattern: the extern declaration, enum value assignment (sequential after SWEDISH = 7), and switch case are all consistent with the existing language implementations.
Also applies to: 29-29, 379-380
lib/I18n/I18nStrings.h (1)
18-18: LGTM!The extern declaration for
STRINGS_ROfollows the established pattern for other language string arrays.
🤖 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/romanian.yaml`:
- Line 121: The translation value for key STR_USERNAME contains a typo
("Ultilizator"); update the YAML entry STR_USERNAME to use the correct Romanian
spelling "Utilizator" so the line reads STR_USERNAME: "Utilizator".
- Around line 163-166: The Romanian orientation strings are swapped: update
STR_PORTRAIT to "Vertical", STR_LANDSCAPE_CW to "Orizontal dreapta",
STR_LANDSCAPE_CCW to "Orizontal stânga" and keep STR_INVERTED as "Invers" so the
labels match the actual portrait/landscape orientations (references:
STR_PORTRAIT, STR_LANDSCAPE_CW, STR_LANDSCAPE_CCW, STR_INVERTED).
---
Nitpick comments:
In `@lib/I18n/translations/romanian.yaml`:
- Line 42: The strings STR_REMOVE_PASSWORD and the message at line referenced by
the reviewer (the error message "ştergerea cache-ului a eşuat") start with
lowercase; update them to sentence-initial capitalization (e.g., "Ştergeţi
parola salvată?" and "Ştergerea cache-ului a eşuat") to match the other prompts,
leaving short UI labels like "ştergere" (button) unchanged if intentional; edit
the YAML values for STR_REMOVE_PASSWORD and the cache-failure message key
accordingly.
9e03e59 to
1bb263b
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
lib/I18n/I18nKeys.hlib/I18n/I18nStrings.hlib/I18n/translations/romanian.yaml
🚧 Files skipped from review as they are similar to previous changes (1)
- lib/I18n/I18nStrings.h
🧰 Additional context used
🧠 Learnings (1)
📚 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/romanian.yamllib/I18n/I18nKeys.h
🧬 Code graph analysis (1)
lib/I18n/I18nKeys.h (1)
lib/I18n/I18nStrings.h (1)
i18n_strings(8-20)
⏰ 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 comments (3)
lib/I18n/translations/romanian.yaml (1)
1-4: Metadata looks consistent with the new language entry.lib/I18n/I18nKeys.h (2)
16-30: Enum and extern declaration additions look correct.
379-380: Switch mapping for Romanian is wired correctly.
🤖 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/romanian.yaml`:
- Around line 27-29: Add the missing Romanian translation for the
STR_LOADING_POPUP key so it doesn't fall back to English at build time; update
the translations by adding a STR_LOADING_POPUP entry (matching the existing keys
like STR_LOADING) with an appropriate Romanian string (e.g., a localized phrase
for "Loading..." or "Se încarcă...") to the Romanian translations file so
gen_i18n.py will include it.
1bb263b to
27081bc
Compare
There was a problem hiding this comment.
Actionable comments posted: 2
🧹 Nitpick comments (1)
lib/I18n/translations/romanian.yaml (1)
268-272: Button label capitalization inconsistency.
STR_CLEAR_BUTTONuses lowercase "ştergere" whileSTR_FORGET_BUTTONuses uppercase "Uitaţi reţeaua". Consider aligning capitalization for button labels for UI consistency.✏️ Proposed fix
-STR_CLEAR_BUTTON: "ştergere" +STR_CLEAR_BUTTON: "Ştergere"🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@lib/I18n/translations/romanian.yaml` around lines 268 - 272, The button label capitalization is inconsistent: STR_CLEAR_BUTTON is "ştergere" (lowercase) while other button keys like STR_FORGET_BUTTON are capitalized ("Uitaţi reţeaua"); update STR_CLEAR_BUTTON to use sentence-case capitalization consistent with other button labels (e.g., "Ştergere" or match the exact casing style used across keys) so all button labels follow the same capitalization convention.
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
docs/translators.mdlib/I18n/translations/romanian.yaml
🧰 Additional context used
🧠 Learnings (1)
📚 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/romanian.yaml
⏰ 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
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@docs/translators.md`:
- Line 38: Fix the malformed GitHub URL for the [ariel-lindemann] entry by
adding the missing slash in the scheme so it reads "https://github.com/..."
instead of "https:/github.com/..."; locate the link text "[ariel-lindemann]" in
docs/translators.md and update the URL to use the correct "https://" prefix.
In `@lib/I18n/translations/romanian.yaml`:
- Around line 41-43: STR_REMOVE_PASSWORD uses a lowercase initial "ş" which is
inconsistent with STR_FORGET_NETWORK and STR_SAVE_PASSWORD; update the
STR_REMOVE_PASSWORD value so the first character is uppercase (change the
leading "ş" to "Ş") so the prompt reads "Ştergeţi parola salvată?" matching the
capitalization style of STR_FORGET_NETWORK and STR_SAVE_PASSWORD.
---
Nitpick comments:
In `@lib/I18n/translations/romanian.yaml`:
- Around line 268-272: The button label capitalization is inconsistent:
STR_CLEAR_BUTTON is "ştergere" (lowercase) while other button keys like
STR_FORGET_BUTTON are capitalized ("Uitaţi reţeaua"); update STR_CLEAR_BUTTON to
use sentence-case capitalization consistent with other button labels (e.g.,
"Ştergere" or match the exact casing style used across keys) so all button
labels follow the same capitalization convention.
docs/translators.md
Outdated
| - [dawiik](https://github.com/dawiik) | ||
|
|
||
| ## Romanian | ||
| - [ariel-lindemann](https:/github.com/ariel-lindemann) No newline at end of file |
There was a problem hiding this comment.
Malformed URL - missing slash.
The GitHub URL is missing a slash: https:/github.com/ should be https://github.com/. This will result in a broken link.
✏️ Proposed fix
-- [ariel-lindemann](https:/github.com/ariel-lindemann)
+- [ariel-lindemann](https://github.com/ariel-lindemann)📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| - [ariel-lindemann](https:/github.com/ariel-lindemann) | |
| - [ariel-lindemann](https://github.com/ariel-lindemann) |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docs/translators.md` at line 38, Fix the malformed GitHub URL for the
[ariel-lindemann] entry by adding the missing slash in the scheme so it reads
"https://github.com/..." instead of "https:/github.com/..."; locate the link
text "[ariel-lindemann]" in docs/translators.md and update the URL to use the
correct "https://" prefix.
lib/I18n/translations/romanian.yaml
Outdated
| STR_FORGET_NETWORK: "Uitaţi reţeaua?" | ||
| STR_SAVE_PASSWORD: "Salvaţi parola?" | ||
| STR_REMOVE_PASSWORD: "ştergeţi parola salvată?" |
There was a problem hiding this comment.
Inconsistent capitalization on prompt string.
STR_REMOVE_PASSWORD starts with lowercase "ş" while the adjacent similar prompts (STR_FORGET_NETWORK, STR_SAVE_PASSWORD) start with uppercase letters. This may cause visual inconsistency in the UI.
✏️ Proposed fix
-STR_REMOVE_PASSWORD: "ştergeţi parola salvată?"
+STR_REMOVE_PASSWORD: "Ştergeţi parola salvată?"📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| STR_FORGET_NETWORK: "Uitaţi reţeaua?" | |
| STR_SAVE_PASSWORD: "Salvaţi parola?" | |
| STR_REMOVE_PASSWORD: "ştergeţi parola salvată?" | |
| STR_FORGET_NETWORK: "Uitaţi reţeaua?" | |
| STR_SAVE_PASSWORD: "Salvaţi parola?" | |
| STR_REMOVE_PASSWORD: "Ştergeţi parola salvată?" |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@lib/I18n/translations/romanian.yaml` around lines 41 - 43,
STR_REMOVE_PASSWORD uses a lowercase initial "ş" which is inconsistent with
STR_FORGET_NETWORK and STR_SAVE_PASSWORD; update the STR_REMOVE_PASSWORD value
so the first character is uppercase (change the leading "ş" to "Ş") so the
prompt reads "Ştergeţi parola salvată?" matching the capitalization style of
STR_FORGET_NETWORK and STR_SAVE_PASSWORD.
|
@ariel-lindemann This looks like a good addition. Can you fix the two @coderabbitai issues quick? |
|
@znelson done |
## Summary * **What is the goal of this PR?** (e.g., Implements the new feature for file uploading.) To add upport for a romanian language user interface. * **What changes are included?** A new i18n file `romanian.yml` ## Additional Context * Add any other information that might be helpful for the reviewer (e.g., performance implications, potential risks, specific areas to focus on). --- ### 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 >**_
## Summary * **What is the goal of this PR?** (e.g., Implements the new feature for file uploading.) To add upport for a romanian language user interface. * **What changes are included?** A new i18n file `romanian.yml` ## Additional Context * Add any other information that might be helpful for the reviewer (e.g., performance implications, potential risks, specific areas to focus on). --- ### 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 >**_
## Summary * **What is the goal of this PR?** (e.g., Implements the new feature for file uploading.) To add upport for a romanian language user interface. * **What changes are included?** A new i18n file `romanian.yml` ## Additional Context * Add any other information that might be helpful for the reviewer (e.g., performance implications, potential risks, specific areas to focus on). --- ### 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 >**_
## Summary * **What is the goal of this PR?** (e.g., Implements the new feature for file uploading.) To add upport for a romanian language user interface. * **What changes are included?** A new i18n file `romanian.yml` ## Additional Context * Add any other information that might be helpful for the reviewer (e.g., performance implications, potential risks, specific areas to focus on). --- ### 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 >**_
## Summary * **What is the goal of this PR?** (e.g., Implements the new feature for file uploading.) To add upport for a romanian language user interface. * **What changes are included?** A new i18n file `romanian.yml` ## Additional Context * Add any other information that might be helpful for the reviewer (e.g., performance implications, potential risks, specific areas to focus on). --- ### 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 >**_
## Summary * **What is the goal of this PR?** (e.g., Implements the new feature for file uploading.) To add upport for a romanian language user interface. * **What changes are included?** A new i18n file `romanian.yml` ## Additional Context * Add any other information that might be helpful for the reviewer (e.g., performance implications, potential risks, specific areas to focus on). --- ### 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 >**_
Summary
To add upport for a romanian language user interface.
A new i18n file
romanian.ymlAdditional Context
specific areas to focus on).
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 >