Conversation
|
Caution Review failedThe pull request is closed. 📝 WalkthroughWalkthroughMultiple language translation files are updated with new string resources for duplicate handling, cleanup operations, data migration, and note truncation features. Existing translations receive wording refinements across French, Ukrainian, Simplified Chinese, and German localization files. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Fix all issues with AI agents
In `@app/src/main/res/values-uk/strings.xml`:
- Line 92: The string resource named "copy" currently contains a trailing space
and was changed from the verb "Копіювати" to the noun "Копія"; remove the
trailing space and, if this is an action/button label, restore the verb form by
setting the value to "Копіювати" (otherwise keep "Копія" but without the
trailing space) so update the <string name="copy"> entry accordingly.
- Line 78: The string resource cleanup_finished_summary uses incorrect format
specifiers `%1d` and `%2d`; update the value so the positional specifiers
include the `$` (change `%1d` → `%1$d` and `%2d` → `%2$d`) so Android will map
the first and second integer arguments correctly in the cleanup_finished_summary
string.
In `@app/src/main/res/values-zh-rCN/strings.xml`:
- Line 78: The translation for the string resource cleanup_finished_summary
contains a broken format specifier "1$d" instead of "%1$d"; update the value for
the string named cleanup_finished_summary to replace "1$d" with "%1$d" so the
first numeric argument is formatted correctly (matching the French example where
"%1$d" is used) and ensure the final text uses "%1$d" and "%2$d" for the first
and second format arguments respectively.
| <string name="convert_to_text_note">Перетворити на текстову нотатку</string> | ||
| <string name="copied_link">Посилання скопійовано</string> | ||
| <string name="copy">Копіювати</string> | ||
| <string name="copy">Копія </string> |
There was a problem hiding this comment.
Trailing space in copy string and verb-to-noun change.
The value "Копія " has a trailing space. Also, per the AI summary, this was changed from "Копіювати" (verb: "to copy") to "Копія" (noun: "a copy"). For an action/button label, the verb form is typically expected. Please verify this is intentional.
Proposed fix (if the verb form was intended)
- <string name="copy">Копія </string>
+ <string name="copy">Копіювати</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.
| <string name="copy">Копія </string> | |
| <string name="copy">Копіювати</string> |
🤖 Prompt for AI Agents
In `@app/src/main/res/values-uk/strings.xml` at line 92, The string resource named
"copy" currently contains a trailing space and was changed from the verb
"Копіювати" to the noun "Копія"; remove the trailing space and, if this is an
action/button label, restore the verb form by setting the value to "Копіювати"
(otherwise keep "Копія" but without the trailing space) so update the <string
name="copy"> entry accordingly.
80a0bea to
b68b61b
Compare
There was a problem hiding this comment.
Actionable comments posted: 2
🧹 Nitpick comments (2)
app/src/main/res/values-uk/strings.xml (2)
255-262:super_darkis absent from the Ukrainian file while being newly added to French and German in this PR.Both
values-fr/strings.xmlandvalues-de/strings.xmlintroducesuper_darkas new entries (marked with~). The Ukrainian file does not include it, so the app will silently fall back to the default (English) string for Ukrainian users. If this was intentional, no action is needed; otherwise, consider adding it.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@app/src/main/res/values-uk/strings.xml` around lines 255 - 262, The Ukrainian strings file is missing the newly added string resource super_dark introduced in other locales; add a <string name="super_dark">...</string> entry to the Ukrainian translations (values-uk strings) with an appropriate Ukrainian translation (or the same text as in French/German/English if you don't have a translation yet) so the app won't fall back to English for Ukrainian users; if omitting it was intentional, no change is needed.
259-262:notes_too_big_truncatingplurals: Ukrainian requiresfewandmanycategories in addition toone/other.Ukrainian CLDR defines four plural categories:
one(e.g. 1, 21, 31…),few(e.g. 2–4, 22–24…),many(e.g. 5–20, 25–30…), andother(fractions). With onlyoneandother, quantities like 2 ("нотатки") and 5 ("нотаток") will both fall through toother, producing the "many notes" phrasing for a count of 2.Note: this is a consistent limitation throughout the entire Ukrainian file (all existing plurals use only
one/otherwith identical values), so this is a pre-existing pattern rather than a regression introduced here.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@app/src/main/res/values-uk/strings.xml` around lines 259 - 262, The plural resource notes_too_big_truncating currently only defines "one" and "other", but Ukrainian requires "one", "few", "many", and "other"; update the plurals block for notes_too_big_truncating to include items for quantity="few" and quantity="many" using the correct Ukrainian forms/word endings and the same placeholders (%1$s and %2$s) as in the existing strings so counts like 2 and 5 use the proper grammatical forms; ensure the translations for "few" use "нотатки" and for "many" use "нотаток" (and keep "one" as is and "other" for fractions).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@app/src/main/res/values-de/strings.xml`:
- Line 44: The German string resource biometric_backup_advice contains a grammar
error: replace the incorrect phrase "an komplettes Backup" with the correct
indefinite article "ein komplettes Backup" in the string value for the resource
named biometric_backup_advice so the text reads "Es wird empfohlen ein
komplettes Backup zu erstellen bevor die Biometrische/PIN Sperre de-/aktiviert
wird, für den Fall dass die Verschlüsselung fehlschlägt".
In `@app/src/main/res/values-uk/strings.xml`:
- Line 162: The Ukrainian string for the key "every" is incorrect ("Загальні")
for repetition-frequency UI; update the value for string name="every" to a
proper Ukrainian equivalent such as "Кожен" (or "Усі" if the UX expects "All")
so it matches the intended meaning used in repeat/reminder contexts across
locales.
---
Duplicate comments:
In `@app/src/main/res/values-uk/strings.xml`:
- Line 92: The string resource named "copy" currently contains a trailing space
and uses the noun form ("Копія "), which is wrong for an action/button; update
the value for the resource key copy in strings.xml to the verb form without
trailing whitespace (use "Копіювати") so it matches the intended action label
and other locales.
---
Nitpick comments:
In `@app/src/main/res/values-uk/strings.xml`:
- Around line 255-262: The Ukrainian strings file is missing the newly added
string resource super_dark introduced in other locales; add a <string
name="super_dark">...</string> entry to the Ukrainian translations (values-uk
strings) with an appropriate Ukrainian translation (or the same text as in
French/German/English if you don't have a translation yet) so the app won't fall
back to English for Ukrainian users; if omitting it was intentional, no change
is needed.
- Around line 259-262: The plural resource notes_too_big_truncating currently
only defines "one" and "other", but Ukrainian requires "one", "few", "many", and
"other"; update the plurals block for notes_too_big_truncating to include items
for quantity="few" and quantity="many" using the correct Ukrainian forms/word
endings and the same placeholders (%1$s and %2$s) as in the existing strings so
counts like 2 and 5 use the proper grammatical forms; ensure the translations
for "few" use "нотатки" and for "many" use "нотаток" (and keep "one" as is and
"other" for fractions).
| <string name="evernote">Імпортувати із Evernote</string> | ||
| <string name="evernote_help">Щоб імпортувати нотатки з Evernote, вам потрібно експортувати блокнот Evernote у форматі ENEX. Натисніть «Довідка», щоб дізнатися більше.\n\nЯкщо у вас уже є файл ENEX, натисніть «Імпортувати» та виберіть його.</string> | ||
| <string name="every">Усі</string> | ||
| <string name="every">Загальні</string> |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Check how the 'every' key is used in the codebase
rg -n '"every"' --type=kotlin --type=java -A2 -B2Repository: Crustack/NotallyX
Length of output: 43
🏁 Script executed:
#!/bin/bash
# Check translations of "every" in different locale files
echo "=== German translation ==="
rg -A1 'name="every"' app/src/main/res/values-de/
echo "=== French translation ==="
rg -A1 'name="every"' app/src/main/res/values-fr/
echo "=== Default/English translation ==="
rg -A1 'name="every"' app/src/main/res/values/strings.xml
echo "=== Ukrainian translation ==="
rg -A1 'name="every"' app/src/main/res/values-uk/Repository: Crustack/NotallyX
Length of output: 753
🏁 Script executed:
#!/bin/bash
# Check if there are other Ukrainian translation files to see the pattern
ls -la app/src/main/res/ | grep valuesRepository: Crustack/NotallyX
Length of output: 2058
🏁 Script executed:
#!/bin/bash
# Check Russian translation for context (related language)
rg -A1 'name="every"' app/src/main/res/values-ru/strings.xmlRepository: Crustack/NotallyX
Length of output: 144
Ukrainian translation "Загальні" (General) is semantically incorrect for repetition-frequency context.
The every string key is used in reminder/repetition settings (e.g., "repeat every N days"). Other locales consistently use words meaning "every/each/all": English "Every", German "Alle", French "Chaque", Russian "Каждый". The current Ukrainian translation "Загальні" means "General" and fails to convey this meaning. The previous value "Усі" (All) was semantically closer.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@app/src/main/res/values-uk/strings.xml` at line 162, The Ukrainian string for
the key "every" is incorrect ("Загальні") for repetition-frequency UI; update
the value for string name="every" to a proper Ukrainian equivalent such as
"Кожен" (or "Усі" if the UX expects "All") so it matches the intended meaning
used in repeat/reminder contexts across locales.
3eb0a50 to
44b84ce
Compare
Closes #804
Closes #824
Closes #815
Summary by CodeRabbit