Skip to content

Conversation

@Crustack
Copy link
Owner

@Crustack Crustack commented Jan 6, 2026

Closes #715
Closes #752
Closes #766

Summary by CodeRabbit

  • Localization
    • Expanded language support with improved translations for Czech, Ukrainian, and Simplified Chinese.
    • Enhanced biometric authentication and setup failure messaging across supported languages.
    • Added comprehensive crash reporting and backup failure guidance for international users.
    • Updated translation content for consistency and clarity.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link

coderabbitai bot commented Jan 6, 2026

Warning

Rate limit exceeded

@Crustack has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 3 minutes and 40 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📥 Commits

Reviewing files that changed from the base of the PR and between fed6427 and d908935.

⛔ Files ignored due to path filters (1)
  • app/translations.xlsx is excluded by !**/*.xlsx
📒 Files selected for processing (3)
  • app/src/main/res/values-cs/strings.xml
  • app/src/main/res/values-uk/strings.xml
  • app/src/main/res/values-zh-rCN/strings.xml
📝 Walkthrough

Walkthrough

Translation updates across three locales—Czech, Ukrainian, and Simplified Chinese—add new string resources for biometric setup failures, crash/backup reporting, and logging features, while updating several existing translations to reflect refined wording and terminology.

Changes

Cohort / File(s) Summary
Czech translations
app/src/main/res/values-cs/strings.xml
Added 8 new strings: biometrics_setup_failure, biometrics_setup_failure_decrypt, biometrics_setup_failure_encrypt, crash_export_backup_failed, crash_export_backup_message, not_exists, report_bug_stacktrace_too_long, view_logs (with duplicate entry). Updated biometrics_failure to remove spacing around slash.
Ukrainian translations
app/src/main/res/values-uk/strings.xml
Substantial localization update with 50+ new strings across multiple categories: biometric setup, crash/backup messaging, file/image operations, date formats, import/export, UI actions, and settings. Updated about translation and numerous existing string values for refined terminology.
Simplified Chinese translations
app/src/main/res/values-zh-rCN/strings.xml
Added 8 new strings: biometrics_setup_failure, biometrics_setup_failure_decrypt, biometrics_setup_failure_encrypt, crash_export_backup_failed, crash_export_backup_message, not_exists, view_logs, report_bug_stacktrace_too_long. Updated 4 existing string values: crash_message, evernote_help, plain_text_files, repetition_custom.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Poem

🐰 Hops through languages with care,
Czech, Ukrainian, Chinese fair,
New strings for crashes and biometric grace,
Translations blooming all over the place! 🌍✨

Pre-merge checks

✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Update translations' directly summarizes the main change in the pull request, which updates translation files for multiple languages.
Linked Issues check ✅ Passed The pull request successfully addresses all three linked issues by updating translation files for Simplified Chinese [#715], Czech [#752], and Ukrainian [#766] languages.
Out of Scope Changes check ✅ Passed All changes are within scope; the PR updates translation files and TRANSLATIONS.md coverage metrics as required by the linked issues.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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

@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

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
app/src/main/res/values-cs/strings.xml (1)

1-353: Remove or rename the duplicate imported_notes resource key.

There is a duplicate key imported_notes in this file: a <plurals> definition (lines 209–211) and a <string> definition (line 213). Android resource files do not permit multiple resources with the same name regardless of element type. Remove the <string name="imported_notes"> entry or rename it to avoid conflicts.

🤖 Fix all issues with AI Agents
In @app/src/main/res/values-uk/strings.xml:
- Line 240: Fix the string resource named "not_exists" by adding the missing
opening single quote before the format placeholder so it matches other locales;
update the value from %1$s\' не існує to include the opening escaped quote
(e.g., \'%1$s\' не існує) so the placeholder is wrapped in quotes.

In @app/src/main/res/values-zh-rCN/strings.xml:
- Line 89: The string resource crash_export_backup_message incorrectly repeats
the first format placeholder (%1$s) twice; update the second placeholder to %2$s
so it matches the other locales and the intended two-argument formatting; locate
the string with name "crash_export_backup_message" and replace the second "%1$s"
with "%2$s" and verify the placeholders order aligns with translations that use
two distinct arguments.
📜 Review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 9e5386b and fed6427.

⛔ Files ignored due to path filters (1)
  • app/translations.xlsx is excluded by !**/*.xlsx
📒 Files selected for processing (4)
  • TRANSLATIONS.md
  • app/src/main/res/values-cs/strings.xml
  • app/src/main/res/values-uk/strings.xml
  • app/src/main/res/values-zh-rCN/strings.xml
🔇 Additional comments (6)
TRANSLATIONS.md (1)

24-24: LGTM! Translation coverage updates look correct.

The updated coverage percentages align with the new strings added in the corresponding language files.

Also applies to: 48-48, 50-50

app/src/main/res/values-zh-rCN/strings.xml (2)

48-50: LGTM! Biometrics failure strings are properly formatted.

The new strings for biometric authentication failures include proper format placeholders for error reporting.


239-239: LGTM! Other new strings are properly formatted.

The additions for error messages, log viewing, and bug reporting follow correct XML string resource conventions.

Also applies to: 271-272, 335-335

app/src/main/res/values-cs/strings.xml (1)

49-51: LGTM! New Czech translations are properly formatted.

The biometric failure messages and crash export strings use correct format placeholders and follow proper XML conventions.

Also applies to: 91-92

app/src/main/res/values-uk/strings.xml (2)

49-50: LGTM! Format placeholders are correctly used.

The Ukrainian translations properly use format placeholders (%1$s, %2$s) for dynamic content, and apostrophes are correctly escaped.

Also applies to: 89-89, 272-272


3-343: Excellent work on the Ukrainian translation update!

This is a substantial improvement, raising coverage from 20% to 99%. The translations appear consistent, well-formatted, and follow proper XML conventions. Great contribution to making the app accessible to Ukrainian users.

<string name="next">Далі</string>
<string name="no_auto_sort">Без автосортування</string>
<string name="none">Немає</string>
<string name="not_exists">%1$s\' не існує</string>
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Fix the missing opening quote before format placeholder.

The string is missing an opening single quote before %1$s. It should match the pattern in other language files.

🔎 Proposed fix
-    <string name="not_exists">%1$s\' не існує</string>
+    <string name="not_exists">\'%1$s\' не існує</string>
📝 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.

Suggested change
<string name="not_exists">%1$s\' не існує</string>
<string name="not_exists">\'%1$s\' не існує</string>
🤖 Prompt for AI Agents
In @app/src/main/res/values-uk/strings.xml at line 240, Fix the string resource
named "not_exists" by adding the missing opening single quote before the format
placeholder so it matches other locales; update the value from %1$s\' не існує
to include the opening escaped quote (e.g., \'%1$s\' не існує) so the
placeholder is wrapped in quotes.

<string name="copy">复制</string>
<string name="crash_message">发生了意外错误。抱歉造成不变</string>
<string name="crash_export_backup_failed">导出备份不幸失败。请用\'%1$s\'按钮报告崩溃</string>
<string name="crash_export_backup_message">你可以单击 \'%1$s\' 试着创建笔记的备份。假如崩溃导致数据损坏,备份可能失败。如果是那样,请用 \'%1$s\' 按钮报告崩溃</string>
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Fix the second format placeholder.

The string uses %1$s twice, but the second reference should be %2$s to match the pattern in other language files (e.g., Czech line 92).

🔎 Proposed fix
-    <string name="crash_export_backup_message">你可以单击 \'%1$s\' 试着创建笔记的备份。假如崩溃导致数据损坏,备份可能失败。如果是那样,请用 \'%1$s\' 按钮报告崩溃</string>
+    <string name="crash_export_backup_message">你可以单击 \'%1$s\' 试着创建笔记的备份。假如崩溃导致数据损坏,备份可能失败。如果是那样,请用 \'%2$s\' 按钮报告崩溃</string>
📝 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.

Suggested change
<string name="crash_export_backup_message">你可以单击 \'%1$s\' 试着创建笔记的备份。假如崩溃导致数据损坏,备份可能失败。如果是那样,请用 \'%1$s\' 按钮报告崩溃</string>
<string name="crash_export_backup_message">你可以单击 \'%1$s\' 试着创建笔记的备份。假如崩溃导致数据损坏,备份可能失败。如果是那样,请用 \'%2$s\' 按钮报告崩溃</string>
🤖 Prompt for AI Agents
In @app/src/main/res/values-zh-rCN/strings.xml at line 89, The string resource
crash_export_backup_message incorrectly repeats the first format placeholder
(%1$s) twice; update the second placeholder to %2$s so it matches the other
locales and the intended two-argument formatting; locate the string with name
"crash_export_backup_message" and replace the second "%1$s" with "%2$s" and
verify the placeholders order aligns with translations that use two distinct
arguments.

@Crustack Crustack force-pushed the translation/update branch from fed6427 to b510b4e Compare January 6, 2026 14:44
@Crustack Crustack force-pushed the translation/update branch from c8e6773 to d908935 Compare January 6, 2026 14:45
@Crustack Crustack merged commit e47379c into main Jan 6, 2026
1 check passed
@Crustack Crustack deleted the translation/update branch January 6, 2026 14:45
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.

<UKRAINIAN> translations update Czech translations update Simplified Chinese translations update

2 participants