Conversation
WalkthroughAdds comprehensive localization support across 25+ language variants for the ErikrafT Drop Android app. Introduces new string resource files for complete locale coverage (Afrikaans, Danish, English US, Finnish, Norwegian, Portuguese Portugal, Serbian, Swedish) and patches existing locale files with missing string keys. Additionally updates Fastlane metadata with standardized English descriptions and titles across all locales. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Possibly related PRs
Suggested labels
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ 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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 11
Note
Due to the large number of review comments, Critical, Major severity comments were prioritized as inline comments.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (4)
app/src/main/res/values-ro-rRO/strings.xml (1)
35-51: Untranslated UI strings (buttons/about/notifications).Lines 35, 38, 40, 50, and 51 are English in
values-ro-rRO. Please translate or remove to allow fallback to the base locale.app/src/main/res/values-tr-rTR/strings.xml (1)
22-51: Translate new Turkish strings to avoid mixed-language UI.Line 22 and Lines 50–51 are still English in the Turkish locale, which will surface mixed-language UI. Please translate these (and any related additions in this file) or remove them so the default locale can handle fallback cleanly.
app/src/main/res/values-sv-rSE/strings.xml (1)
3-90: Swedish locale contains many untranslated strings.Several added values (e.g., Lines 3–24, 35–76, 84–90) are still English, which will surface mixed-language UI. Please translate or remove these keys until localization is available.
app/src/main/res/values-it-rIT/strings.xml (1)
13-90: Italian locale has several English strings.Multiple new entries (e.g., Lines 13, 19, 22, 24–25, 33–35, 38, 40, 50–51, 56–64, 71, 73–75, 84–90) are still English. Please translate these or remove the keys until translations are ready.
🤖 Fix all issues with AI agents
In `@app/src/main/res/values-af-rZA/strings.xml`:
- Around line 1-98: The Afrikaans locale file contains English strings instead
of translations; update or remove the values-af-rZA/strings.xml entries so
Afrikaans users get proper translations (or omit the file to let the app fall
back to default), and fix the three localized issues: correct
onboarding_storage_permission_description from "required order" to "required in
order", trim leading whitespace in show_connectivity_card_summary, and supply a
valid FAQ URL (or remove the empty href) in the baseurl_unofficial_instances
string; check and re-export the correct translations from Crowdin and ensure
string keys like onboarding_storage_permission_description,
show_connectivity_card_summary, and baseurl_unofficial_instances are updated
accordingly.
In `@app/src/main/res/values-cs-rCZ/strings.xml`:
- Line 22: The string resource onboarding_server_custom_add is still in English
("Add server") in the Czech locale; update its value in the values-cs-rCZ
strings.xml to a proper Czech translation (e.g., "Přidat server"), keeping the
same <string name="onboarding_server_custom_add"> tag, ensure correct XML
escaping/encoding and save so the Czech locale matches other translated strings.
- Around line 50-51: The two string resources notifications_summary and
notifications_title are still in English; update their values in the Czech
strings.xml so the locale is fully translated—replace notifications_summary
value with a Czech translation like "Zobrazit oznámení po dokončení stahování"
and notifications_title with "Oznámení" (or your approved Czech wording) so the
string names notifications_summary and notifications_title are localized
consistently.
In `@app/src/main/res/values-en-rUS/strings.xml`:
- Line 76: The string resource baseurl_unofficial_instances contains an anchor
with an empty href so the "FAQ" link does nothing; update the <a> tag to include
a valid URL (or a placeholder URL/token) pointing to the app's FAQ/help page
(e.g., the public FAQ or an in-app deep link) so tapping "FAQ" navigates
correctly, ensuring you modify the value of baseurl_unofficial_instances to
include the proper href target.
In `@app/src/main/res/values-fi-rFI/strings.xml`:
- Around line 1-98: The Finnish locale file in values-fi-rFI contains English
strings instead of Finnish; either replace the English text with the correct
Finnish translations for all entries (or remove this locale file so the app
falls back to default) and also fix the three local issues: correct grammar in
onboarding_storage_permission_description ("required in order"), remove the
leading space in show_connectivity_card_summary, and fix the empty href in
baseurl_unofficial_instances (provide the proper FAQ URL or remove the anchor
tag); locate these by string names: onboarding_storage_permission_description,
show_connectivity_card_summary, and baseurl_unofficial_instances, and ensure all
other string resources are translated into Finnish.
In `@app/src/main/res/values-hu-rHU/strings.xml`:
- Around line 3-25: Several UI strings in the hu-rHU resource file are still
English (e.g., app_name_long, onboarding_button_continue,
onboarding_button_grant, onboarding_button_finish, onboarding_choose_server,
onboarding_choose_server_description, onboarding_storage_permission_description,
onboarding_howto, onboarding_howto_summary, onboarding_server_* etc.); update
each untranslated string value with the correct Hungarian translation or remove
the hu-rHU override entries so the default locale is used; ensure you edit the
corresponding string resources (names listed above and the other ranges noted in
the review) to contain proper Hungarian text, preserving any placeholders like
%s and newline markers (\n).
In `@app/src/main/res/values-sr-rSP/strings.xml`:
- Around line 1-2: The resource folder qualifier is invalid: rename the folder
named values-sr-rSP to values-sr-rRS so Android recognizes Serbian (Serbia)
resources; update any references or localized resource merges that expect
values-sr-rSP to point to values-sr-rRS and ensure the strings.xml inside
remains unchanged.
In `@fastlane/metadata/android/el-GR/short_description.txt`:
- Line 1: The Greek locale short description file (el-GR/short_description.txt)
was overwritten with English; replace the current English line "Transfer files
seamlessly between all your devices - ErikrafT Drop" with the correct Greek
translation in el-GR/short_description.txt and verify other affected locale
short_description.txt files (e.g., cs, ca, da, fi, etc.) to restore their native
translations; if this came from an automated Crowdin sync, fix the Crowdin
configuration or sync script so locale-specific short_description.txt files are
not overwritten with English during future exports.
In `@fastlane/metadata/android/sr-SP/short_description.txt`:
- Line 1: The locale folder name is incorrect: rename the folder named "sr-SP"
to "sr" and move its contents (e.g., short_description.txt and other metadata
files) into the new "sr" directory so Google Play/fastlane uses the supported
Serbian locale code; update any references if present to point from "sr-SP" to
"sr".
In `@fastlane/metadata/android/uk-UA/short_description.txt`:
- Line 1: The short_description.txt for locale uk-UA currently contains English
fallback text; update this file (and the other affected locale
short_description.txt files: af-ZA, ca-ES, cs-CZ, da-DK, el-GR, fi-FI, he-IL,
hu-HU, mk-MK, no-NO, ro-RO, sr-SP, sv-SE, vi-VN) by replacing the English line
("Transfer files seamlessly between all your devices - ErikrafT Drop") with the
correct native-language short description for each locale, ensuring each file
(e.g., the uk-UA short_description.txt) contains a proper Ukrainian translation,
then validate encoding/line endings and commit the corrected locale files.
In `@fastlane/metadata/android/vi-VN/short_description.txt`:
- Line 1: Several non-English locale short_description.txt files were
overwritten with the English string "Transfer files seamlessly between all your
devices - ErikrafT Drop"; restore the original localized descriptions for the 15
affected locale files (af-ZA, ca-ES, cs-CZ, da-DK, el-GR, fi-FI, he-IL, hu-HU,
mk-MK, no-NO, ro-RO, sr-SP, sv-SE, uk-UA, vi-VN) by reverting those specific
short_description.txt files to their last known-good versions from git history
(e.g., git checkout <commit> -- <file> or cherry-pick the prior commits that
contained the correct translations) while leaving the 22 locales that are
already correct untouched; verify each restored file contains a non-English
localized string and not the English phrase before committing.
♻️ Duplicate comments (1)
fastlane/metadata/android/sr-SP/title.txt (1)
1-1: Same locale code concern applies here.The folder name
sr-SPappears non‑standard for Serbian; if unsupported, the title metadata will be ignored.
🟡 Minor comments (46)
fastlane/metadata/android/no-NO/short_description.txt-1-1 (1)
1-1: Replace English text with Norwegian translation in no-NO locale.The
no-NOlocale directory contains English text instead of Norwegian. Other locales likede-DE,fr-FR, andes-ESall have proper translations; the Norwegian file should as well.Add the Norwegian translation to
fastlane/metadata/android/no-NO/short_description.txtto ensure Norwegian users see content in their language.app/src/main/res/values-ro-rRO/strings.xml-90-90 (1)
90-90: Website helper text is English.Line 90 should be localized to Romanian (or removed for fallback).
app/src/main/res/values-ro-rRO/strings.xml-71-75 (1)
71-75: Base URL strings are still English.Lines 71 and 73–75 should be translated for the Romanian locale (or removed for fallback).
app/src/main/res/values-ro-rRO/strings.xml-13-24 (1)
13-24: Untranslated onboarding strings in Romanian locale.Lines 13, 19, 22, and 24 are still English. If Romanian translations aren’t available yet, consider omitting these entries so Android falls back to the default locale.
app/src/main/res/values-ro-rRO/strings.xml-84-85 (1)
84-85: Network error strings are English.Please translate Lines 84–85 or remove them to use the default locale.
app/src/main/res/values-ro-rRO/strings.xml-56-57 (1)
56-57: Connectivity strings are English, plus a leading space.These should be localized; additionally, Line 57 starts with a space that will render in the UI.
✅ Suggested fix for the leading space
- <string name="show_connectivity_card_summary"> Show a warning when you are not connected with a WiFi network</string> + <string name="show_connectivity_card_summary">Show a warning when you are not connected with a WiFi network</string>app/src/main/res/values-iw-rIL/strings.xml-37-46 (1)
37-46: About/Support strings are still English.
Lines 37–46 should be translated for Hebrew; also consider tightening the English phrasing before localization (e.g., remove the comma in “See, how…”).app/src/main/res/values-iw-rIL/strings.xml-9-25 (1)
9-25: Onboarding strings are not localized.
Lines 9–25 are English (and buttons are lower‑case), which will surface untranslated UI in Hebrew. Please provide Hebrew translations and consistent button casing.app/src/main/res/values-iw-rIL/strings.xml-3-4 (1)
3-4: Localize the slogan for Hebrew users.
Line 4 is still English; please translate for the iw-IL locale (keep the brand name if intended).app/src/main/res/values-iw-rIL/strings.xml-32-35 (1)
32-35: Action button labels need Hebrew translations.
Lines 32 and 35 remain English; please translate for iw-IL.app/src/main/res/values-iw-rIL/strings.xml-84-90 (1)
84-90: Network/website strings are still English.
Lines 84–90 should be translated to Hebrew to avoid mixed‑language UI.app/src/main/res/values-iw-rIL/strings.xml-50-65 (1)
50-65: Settings/permission strings are English, plus a leading space.
Lines 50–65 need Hebrew translations. Also Line 57 has a leading space that may cause odd rendering.Proposed fix for the leading space
- <string name="show_connectivity_card_summary"> Show a warning when you are not connected with a WiFi network</string> + <string name="show_connectivity_card_summary">Show a warning when you are not connected with a WiFi network</string>app/src/main/res/values-iw-rIL/strings.xml-71-76 (1)
71-76: Localize untranslated strings in the Hebrew locale file.Lines 71–76 contain English strings that should be translated to Hebrew. While the
<a href="">appears empty, the URL is injected at runtime viaLink.bind()inOnboardingFragment2.java, so the link functionality is not broken. However, the user-facing text must be localized to Hebrew.Note: Several other locale files (Turkish, Swedish, Finnish, etc.) also contain untranslated English strings at these same lines.
app/src/main/res/values-sr-rSP/strings.xml-3-98 (1)
3-98: Strings appear untranslated (English) for Serbian locale.If these are placeholders, consider removing the locale file until Serbian translations are ready to avoid redundant maintenance and mismatched localization UX.
app/src/main/res/values-hu-rHU/strings.xml-57-57 (1)
57-57: Remove the leading space inshow_connectivity_card_summary.The initial space will render in the UI.
🩹 Proposed fix
- <string name="show_connectivity_card_summary"> Show a warning when you are not connected with a WiFi network</string> + <string name="show_connectivity_card_summary">Show a warning when you are not connected with a WiFi network</string>fastlane/metadata/android/sv-SE/short_description.txt-1-1 (1)
1-1: Untranslated text in Swedish locale.The
sv-SEshort description contains English text instead of Swedish. This should be translated to Swedish for proper localization.app/src/main/res/values-pt-rBR/strings.xml-22-22 (1)
22-22: Untranslated strings in Brazilian Portuguese locale.The following strings are in English instead of Portuguese:
- Line 22:
onboarding_server_custom_add→ "Add server"- Line 50:
notifications_summary→ "Show notification when download is completed"- Line 51:
notifications_title→ "Notifications"These should be translated to Brazilian Portuguese to match the rest of the file. Suggested translations:
onboarding_server_custom_add: "Adicionar servidor"notifications_summary: "Mostrar notificação quando o download for concluído"notifications_title: "Notificações"Proposed fix
- <string name="onboarding_server_custom_add">Add server</string> + <string name="onboarding_server_custom_add">Adicionar servidor</string> ... - <string name="notifications_summary">Show notification when download is completed</string> - <string name="notifications_title">Notifications</string> + <string name="notifications_summary">Mostrar notificação quando o download for concluído</string> + <string name="notifications_title">Notificações</string>Also applies to: 50-51
fastlane/metadata/android/cs-CZ/short_description.txt-1-1 (1)
1-1: Untranslated text in Czech locale.The
cs-CZshort description contains English text instead of Czech. This appears to be a regression—the AI summary indicates this was previously in Czech. The text should be translated to Czech for this locale.fastlane/metadata/android/fi-FI/short_description.txt-1-1 (1)
1-1: Untranslated text in Finnish locale.The
fi-FIshort description contains English text instead of Finnish. This should be translated to Finnish for proper localization.fastlane/metadata/android/ro-RO/short_description.txt-1-1 (1)
1-1: Untranslated text in Romanian locale.The
ro-ROshort description contains English text instead of Romanian. This should be translated to Romanian for proper localization.app/src/main/res/values-vi-rVN/strings.xml-37-46 (1)
37-46: Untranslated settings/about strings.Multiple strings in this section are in English instead of Vietnamese, including
home_as_up_indicator_about,title_activity_about,pref_about_title,view_downloads,support_us,support_us_summary, andread_more.app/src/main/res/values-ja-rJP/strings.xml-22-22 (1)
22-22: Untranslated string in Japanese locale.
onboarding_server_custom_addcontains English text "Add server" instead of Japanese. Consider translating to "サーバーを追加" or similar.app/src/main/res/values-vi-rVN/strings.xml-3-4 (1)
3-4: Untranslated strings in Vietnamese locale.
app_name_longandapp_name_slogancontain English text. While "ErikrafT Drop" as a brand name is acceptable, the slogan should be translated to Vietnamese.app/src/main/res/values-vi-rVN/strings.xml-32-35 (1)
32-35: Untranslated action button labels.
install(line 32) andretry(line 35) are in English while other action buttons likeopen,reset, andcopyare translated to Vietnamese.app/src/main/res/values-vi-rVN/strings.xml-56-64 (1)
56-64: Untranslated settings strings.Multiple settings-related strings (connectivity warning, permissions, location metadata) are in English instead of Vietnamese.
app/src/main/res/values-es-rES/strings.xml-22-22 (1)
22-22: Untranslated string in Spanish locale.
onboarding_server_custom_addcontains English text "Add server" instead of Spanish. Consider translating to "Añadir servidor" or similar.fastlane/metadata/android/hu-HU/short_description.txt-1-1 (1)
1-1: Missing Hungarian translation.The short description for
hu-HU(Hungarian) locale contains English text instead of a Hungarian translation. This should be translated to Hungarian for a proper localized experience.app/src/main/res/values-ja-rJP/strings.xml-50-51 (1)
50-51: Untranslated notification strings in Japanese locale.These strings contain English text instead of Japanese:
notifications_summary: Should be translated (e.g., "ダウンロード完了時に通知を表示")notifications_title: Should be translated (e.g., "通知")app/src/main/res/values-vi-rVN/strings.xml-9-25 (1)
9-25: Multiple untranslated onboarding strings.Most of the onboarding section (lines 9-25) contains English text instead of Vietnamese translations. This includes button labels, server descriptions, and instructions that users will see during initial setup, creating an inconsistent experience.
app/src/main/res/values-vi-rVN/strings.xml-71-76 (1)
71-76: Untranslated base URL configuration strings.All
baseurl_*strings are in English instead of Vietnamese.fastlane/metadata/android/ca-ES/short_description.txt-1-1 (1)
1-1: Missing Catalan translation.The short description for
ca-ES(Catalan - Spain) locale contains English text instead of a Catalan translation. This should be translated to Catalan for a proper localized experience.app/src/main/res/values-vi-rVN/strings.xml-50-51 (1)
50-51: Untranslated notification strings.
notifications_summaryandnotifications_titlecontain English text instead of Vietnamese.app/src/main/res/values-vi-rVN/strings.xml-84-90 (1)
84-90: Untranslated error and website strings.Several error messages and website localization strings are in English instead of Vietnamese, including
error_network_no_wifi,error_network_offline,error_server_not_reachable, andwebsite_no_peers_info.app/src/main/res/values-es-rES/strings.xml-50-51 (1)
50-51: Untranslated strings in Spanish locale.These notification-related strings contain English text instead of Spanish:
notifications_summary: Should be translated (e.g., "Mostrar notificación cuando la descarga se complete")notifications_title: Should be translated (e.g., "Notificaciones")app/src/main/res/values-ca-rES/strings.xml-22-22 (1)
22-22: Untranslated English strings in ca-ES locale.These new strings are in English inside a Catalan resource file, which will surface mixed-language UI for ca-ES users. Please provide Catalan translations (or remove these entries to fall back to the base locale intentionally).
Also applies to: 50-51
app/src/main/res/values-ko-rKR/strings.xml-19-19 (1)
19-19: Untranslated English strings in ko-KR locale.These newly added strings are English inside the Korean resource file, which will surface mixed-language UI. Please add Korean translations (or remove to intentionally fall back to base locale).
Also applies to: 22-22, 24-24, 50-51
app/src/main/res/values-zh-rCN/strings.xml-19-19 (1)
19-19: Untranslated English strings in zh-CN locale.The newly added strings are English in a Chinese (China) resource file, causing mixed-language UI. Please provide zh-CN translations (or remove to fall back to base locale by design).
Also applies to: 22-22, 24-24, 50-51
app/src/main/res/values-ru-rRU/strings.xml-22-22 (1)
22-22: Untranslated English strings in ru-RU locale.These added strings are English within the Russian resource file, which will display mixed-language UI. Please add Russian translations (or remove to deliberately fall back to base locale).
Also applies to: 50-51
app/src/main/res/values-pl-rPL/strings.xml-22-22 (1)
22-22: Untranslated English strings in pl-PL locale.These additions are English within a Polish resource file, leading to mixed-language UI. Please provide Polish translations (or remove these entries to rely on the base locale intentionally).
Also applies to: 50-51
app/src/main/res/values-nl-rNL/strings.xml-19-19 (1)
19-19: Untranslated English strings in nl-NL locale.The new strings are English in a Dutch resource file, causing mixed-language UI. Please add Dutch translations (or remove to intentionally fall back to the base locale).
Also applies to: 22-22, 24-24, 50-51
app/src/main/res/values-da-rDK/strings.xml-1-98 (1)
1-98: Danish locale file is entirely English.This new locale file appears to be a full English copy. Please provide Danish translations or remove the file until translations are ready, so the default locale can handle fallback cleanly.
app/src/main/res/values-pt-rPT/strings.xml-3-90 (1)
3-90: Portuguese (PT) locale is still mostly English.Many added strings (e.g., Lines 3–25, 32–76, 84–90) remain English. This will surface mixed-language UI for PT-PT users. Please translate these or remove the keys until translations are ready.
app/src/main/res/values-no-rNO/strings.xml-3-90 (1)
3-90: Norwegian locale is still largely English.Most added strings (Lines 3–76, 84–90) remain English. Please localize them or remove the keys until translation is available to avoid mixed-language UI.
app/src/main/res/values-pt-rPT/strings.xml-56-57 (1)
56-57: Trim leading whitespace in summary string.Line 57 has a leading space that will render in UI.
💡 Suggested fix
- <string name="show_connectivity_card_summary"> Show a warning when you are not connected with a WiFi network</string> + <string name="show_connectivity_card_summary">Show a warning when you are not connected with a WiFi network</string>app/src/main/res/values-en-rUS/strings.xml-57-57 (1)
57-57: Leading whitespace in string value.There's a leading space before "Show a warning" which may cause unintended display issues.
✏️ Suggested fix
- <string name="show_connectivity_card_summary"> Show a warning when you are not connected with a WiFi network</string> + <string name="show_connectivity_card_summary">Show a warning when you are not connected with a WiFi network</string>app/src/main/res/values-en-rUS/strings.xml-16-16 (1)
16-16: Grammar error: missing word "in".The phrase "required order to use it" should be "required in order to use it".
✏️ Suggested fix
- <string name="onboarding_storage_permission_description">This app is a file sharing utility. Therefore, storage permission is required order to use it.</string> + <string name="onboarding_storage_permission_description">This app is a file sharing utility. Therefore, storage permission is required in order to use it.</string>
🧹 Nitpick comments (1)
fastlane/metadata/android/af-ZA/short_description.txt (1)
1-1: Consider providing Afrikaans translation for store listing.The short description is in English for the Afrikaans (af-ZA) locale. While this is acceptable as a fallback, providing an Afrikaans translation would improve the store listing experience for Afrikaans-speaking users.
| <?xml version="1.0" encoding="utf-8"?> | ||
| <resources> | ||
| <string name="app_name_long">ErikrafT Drop</string> | ||
| <string name="app_name_slogan">Transfer files seamlessly between all your devices.</string> | ||
| <string name="err_no_browser">Can\'t open browser</string> | ||
| <string name="err_no_app">No app installed to open this file</string> | ||
| <string name="open_url">Open URL</string> | ||
| <!-- Onboarding --> | ||
| <string name="onboarding_button_continue">continue</string> | ||
| <string name="onboarding_button_grant">grant permission</string> | ||
| <string name="onboarding_button_finish">finish</string> | ||
| <string name="onboarding_choose_server">Choose a server address</string> | ||
| <string name="onboarding_choose_server_short">choose server</string> | ||
| <string name="onboarding_choose_server_description">This app is an optimized client for the ErikrafT Drop and PairDrop web apps.\nChoose one of the following instances or specify a custom URL to connect to.\n\nNote: You have to choose the same URL on all devices.</string> | ||
| <string name="onboarding_storage_permission">Storage permission</string> | ||
| <string name="onboarding_storage_permission_description">This app is a file sharing utility. Therefore, storage permission is required order to use it.</string> | ||
| <string name="onboarding_server_pairdrop_summary">(recommended)\nPairing feature, internet transfer and focus on stability.</string> | ||
| <string name="onboarding_server_snapdrop_summary">Simple and clean file sharing.</string> | ||
| <string name="onboarding_server_snapdrop_summary_server_warning">Warning: Server instabilities</string> | ||
| <string name="onboarding_server_custom">Custom URL</string> | ||
| <string name="onboarding_server_custom_summary">Experts can also host their own servers.</string> | ||
| <string name="onboarding_server_custom_add">Add server</string> | ||
| <string name="onboarding_howto">How to use</string> | ||
| <string name="onboarding_howto_summary">1. Open this app or %s on any other device in your local WiFi network.\n\n2. Tap on the device and select the files you want to send.\n\n3. Done! The files will be sent…</string> | ||
| <string name="onboarding_howto_troubleshoot">Hint: Devices need to be connected with the same WiFi network. It may not work if a VPN is enabled.</string> | ||
| <!-- Download --> | ||
| <string name="download_save_pending">Storing the file. Please have a little patience…</string> | ||
| <string name="download_successful">Download successful</string> | ||
| <string name="notification_channel_name">Download completed</string> | ||
| <!-- Action Buttons --> | ||
| <string name="open">open</string> | ||
| <string name="install">install</string> | ||
| <string name="reset">reset</string> | ||
| <string name="copy">copy</string> | ||
| <string name="retry">retry</string> | ||
| <!-- Settings / About --> | ||
| <string name="home_as_up_indicator_about">About</string> | ||
| <string name="title_activity_about">About ErikrafT Drop</string> | ||
| <string name="pref_about_title">About this app</string> | ||
| <string name="view_downloads">View downloads</string> | ||
| <string name="pref_category_settings">Settings</string> | ||
| <string name="logs">Debug Logs</string> | ||
| <string name="components_summary">Tap to display</string> | ||
| <string name="support_us">Support us</string> | ||
| <string name="support_us_summary">See, how you can support this project</string> | ||
| <string name="read_more">read more</string> | ||
| <string name="version">Version</string> | ||
| <string name="pref_device_name_title">Device name</string> | ||
| <string name="pref_device_name_summary">Set a user-defined device name</string> | ||
| <string name="notifications_summary">Show notification when download is completed</string> | ||
| <string name="notifications_title">Notifications</string> | ||
| <string name="keep_on_summary">(Recommended) Many devices have problems with transfers being interrupted when the screen turns off</string> | ||
| <string name="keep_on_title">Keep screen on while transferring</string> | ||
| <string name="floating_text_selection_title">Floating text selection</string> | ||
| <string name="floating_text_selection_summary">When selecting text in other apps, an option \"Send with ErikrafT Drop\" will be shown</string> | ||
| <string name="show_connectivity_card_title">Connectivity warning</string> | ||
| <string name="show_connectivity_card_summary"> Show a warning when you are not connected with a WiFi network</string> | ||
| <string name="floating_text_selection_activity_label">Send with ErikrafT Drop</string> | ||
| <string name="permission_not_granted">please grant the necessary permission</string> | ||
| <string name="permission_not_granted_fallback">please grant the necessary permission manually</string> | ||
| <string name="open_settings">open settings</string> | ||
| <string name="retain_location_metadata_title">Retain location metadata</string> | ||
| <string name="retain_location_metadata_summary_off">Some media files might contain location data that are stripped by default. Grant permission to include full metadata</string> | ||
| <string name="retain_location_metadata_summary_on">The app has full file access currently</string> | ||
| <string name="settings_theme_title">Theme</string> | ||
| <string-array name="darkmode_entries"> | ||
| <item>System Default</item> | ||
| <item>Light</item> | ||
| <item>Dark</item> | ||
| </string-array> | ||
| <string name="baseurl_title">Change server address</string> | ||
| <string name="baseurl_not_set">Not set</string> | ||
| <string name="baseurl_instance_verified">Instance was successfully verified</string> | ||
| <string name="baseurl_no_snapdrop_instance">Instance doesn\'t seem to be supported</string> | ||
| <string name="baseurl_check_instance_failed">Failed to verify instance</string> | ||
| <string name="baseurl_unofficial_instances">Check out the <a href="">FAQ</a> for a list of unofficial instances. Please note that some instances might not work correctly inside the app.</string> | ||
| <string name="save_location">Save location</string> | ||
| <!-- File sharing --> | ||
| <string name="intent_file">A file is selected for sharing</string> | ||
| <string name="intent_files">Files are selected for sharing</string> | ||
| <string name="intent_content">Content is selected for sharing</string> | ||
| <string name="error_filechooser">Cannot open file chooser</string> | ||
| <string name="error_network">Please verify that you are connected with a WiFi network</string> | ||
| <string name="error_network_no_wifi">Please connect to a WiFi network, or pair devices</string> | ||
| <string name="error_network_offline">You are offline</string> | ||
| <string name="ignore_error_network">Let me in anyway</string> | ||
| <string name="error_not_reachable_title">Ups, sorry!</string> | ||
| <string name="error_server_not_reachable">The Server cannot be reached. \n\nIf your internet connection is working and this does happen anyway, please try to select a different server address.</string> | ||
| <!-- Website Localization --> | ||
| <string name="website_no_peers_info">Open app or website on other devices to send files</string> | ||
| <string name="website_instruction">Tap to send files or long tap to send a message</string> | ||
| <string name="website_file_received">File Received</string> | ||
| <string name="website_file_ask_before_download">Always ask before saving a file</string> | ||
| <string name="website_file_download">Save</string> | ||
| <string name="website_footer_discovery">You can be discovered by everyone on this network</string> | ||
| <string name="website_footer_known_as">You are known as %s</string> | ||
| <string name="website_about_subheading">The easiest way to transfer files across devices</string> | ||
| </resources> |
There was a problem hiding this comment.
Afrikaans locale file contains English text instead of Afrikaans translations.
This file is located at values-af-rZA (Afrikaans/South Africa) but all strings are in English. Afrikaans-speaking users will see untranslated English content.
Please verify that Crowdin exported the correct translations for this locale. If Afrikaans translations are not yet available, consider omitting this file so the app falls back to the default locale gracefully.
Additionally, this file inherits the same issues noted in the en-rUS file:
- Line 16: Grammar error "required order" → "required in order"
- Line 57: Leading whitespace
- Line 76: Empty
hrefin FAQ link
🤖 Prompt for AI Agents
In `@app/src/main/res/values-af-rZA/strings.xml` around lines 1 - 98, The
Afrikaans locale file contains English strings instead of translations; update
or remove the values-af-rZA/strings.xml entries so Afrikaans users get proper
translations (or omit the file to let the app fall back to default), and fix the
three localized issues: correct onboarding_storage_permission_description from
"required order" to "required in order", trim leading whitespace in
show_connectivity_card_summary, and supply a valid FAQ URL (or remove the empty
href) in the baseurl_unofficial_instances string; check and re-export the
correct translations from Crowdin and ensure string keys like
onboarding_storage_permission_description, show_connectivity_card_summary, and
baseurl_unofficial_instances are updated accordingly.
| <string name="onboarding_server_snapdrop_summary_server_warning">Varování: Nestability serveru</string> | ||
| <string name="onboarding_server_custom">Vlastní URL</string> | ||
| <string name="onboarding_server_custom_summary">Pokročilí uživatelé mohou také hostovat své vlastní servery.</string> | ||
| <string name="onboarding_server_custom_add">Add server</string> |
There was a problem hiding this comment.
Untranslated string in Czech locale.
onboarding_server_custom_add is in English ("Add server") while the surrounding strings are properly translated to Czech. This creates an inconsistent user experience.
✏️ Suggested Czech translation
- <string name="onboarding_server_custom_add">Add server</string>
+ <string name="onboarding_server_custom_add">Přidat server</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="onboarding_server_custom_add">Add server</string> | |
| <string name="onboarding_server_custom_add">Přidat server</string> |
🤖 Prompt for AI Agents
In `@app/src/main/res/values-cs-rCZ/strings.xml` at line 22, The string resource
onboarding_server_custom_add is still in English ("Add server") in the Czech
locale; update its value in the values-cs-rCZ strings.xml to a proper Czech
translation (e.g., "Přidat server"), keeping the same <string
name="onboarding_server_custom_add"> tag, ensure correct XML escaping/encoding
and save so the Czech locale matches other translated strings.
| <string name="notifications_summary">Show notification when download is completed</string> | ||
| <string name="notifications_title">Notifications</string> |
There was a problem hiding this comment.
Untranslated strings in Czech locale.
notifications_summary and notifications_title are in English while the rest of the file is properly translated to Czech. This creates mixed-language UI for Czech users.
✏️ Suggested Czech translations
- <string name="notifications_summary">Show notification when download is completed</string>
- <string name="notifications_title">Notifications</string>
+ <string name="notifications_summary">Zobrazit oznámení po dokončení stahování</string>
+ <string name="notifications_title">Oznámení</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="notifications_summary">Show notification when download is completed</string> | |
| <string name="notifications_title">Notifications</string> | |
| <string name="notifications_summary">Zobrazit oznámení po dokončení stahování</string> | |
| <string name="notifications_title">Oznámení</string> |
🤖 Prompt for AI Agents
In `@app/src/main/res/values-cs-rCZ/strings.xml` around lines 50 - 51, The two
string resources notifications_summary and notifications_title are still in
English; update their values in the Czech strings.xml so the locale is fully
translated—replace notifications_summary value with a Czech translation like
"Zobrazit oznámení po dokončení stahování" and notifications_title with
"Oznámení" (or your approved Czech wording) so the string names
notifications_summary and notifications_title are localized consistently.
| <string name="baseurl_instance_verified">Instance was successfully verified</string> | ||
| <string name="baseurl_no_snapdrop_instance">Instance doesn\'t seem to be supported</string> | ||
| <string name="baseurl_check_instance_failed">Failed to verify instance</string> | ||
| <string name="baseurl_unofficial_instances">Check out the <a href="">FAQ</a> for a list of unofficial instances. Please note that some instances might not work correctly inside the app.</string> |
There was a problem hiding this comment.
Empty href attribute renders FAQ link non-functional.
The anchor tag has an empty href="", so tapping "FAQ" will not navigate anywhere. Ensure a valid URL is provided.
✏️ Suggested fix
- <string name="baseurl_unofficial_instances">Check out the <a href="">FAQ</a> for a list of unofficial instances. Please note that some instances might not work correctly inside the app.</string>
+ <string name="baseurl_unofficial_instances">Check out the <a href="https://example.com/faq">FAQ</a> for a list of unofficial instances. Please note that some instances might not work correctly inside the app.</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="baseurl_unofficial_instances">Check out the <a href="">FAQ</a> for a list of unofficial instances. Please note that some instances might not work correctly inside the app.</string> | |
| <string name="baseurl_unofficial_instances">Check out the <a href="https://example.com/faq">FAQ</a> for a list of unofficial instances. Please note that some instances might not work correctly inside the app.</string> |
🤖 Prompt for AI Agents
In `@app/src/main/res/values-en-rUS/strings.xml` at line 76, The string resource
baseurl_unofficial_instances contains an anchor with an empty href so the "FAQ"
link does nothing; update the <a> tag to include a valid URL (or a placeholder
URL/token) pointing to the app's FAQ/help page (e.g., the public FAQ or an
in-app deep link) so tapping "FAQ" navigates correctly, ensuring you modify the
value of baseurl_unofficial_instances to include the proper href target.
| <?xml version="1.0" encoding="utf-8"?> | ||
| <resources> | ||
| <string name="app_name_long">ErikrafT Drop</string> | ||
| <string name="app_name_slogan">Transfer files seamlessly between all your devices.</string> | ||
| <string name="err_no_browser">Can\'t open browser</string> | ||
| <string name="err_no_app">No app installed to open this file</string> | ||
| <string name="open_url">Open URL</string> | ||
| <!-- Onboarding --> | ||
| <string name="onboarding_button_continue">continue</string> | ||
| <string name="onboarding_button_grant">grant permission</string> | ||
| <string name="onboarding_button_finish">finish</string> | ||
| <string name="onboarding_choose_server">Choose a server address</string> | ||
| <string name="onboarding_choose_server_short">choose server</string> | ||
| <string name="onboarding_choose_server_description">This app is an optimized client for the ErikrafT Drop and PairDrop web apps.\nChoose one of the following instances or specify a custom URL to connect to.\n\nNote: You have to choose the same URL on all devices.</string> | ||
| <string name="onboarding_storage_permission">Storage permission</string> | ||
| <string name="onboarding_storage_permission_description">This app is a file sharing utility. Therefore, storage permission is required order to use it.</string> | ||
| <string name="onboarding_server_pairdrop_summary">(recommended)\nPairing feature, internet transfer and focus on stability.</string> | ||
| <string name="onboarding_server_snapdrop_summary">Simple and clean file sharing.</string> | ||
| <string name="onboarding_server_snapdrop_summary_server_warning">Warning: Server instabilities</string> | ||
| <string name="onboarding_server_custom">Custom URL</string> | ||
| <string name="onboarding_server_custom_summary">Experts can also host their own servers.</string> | ||
| <string name="onboarding_server_custom_add">Add server</string> | ||
| <string name="onboarding_howto">How to use</string> | ||
| <string name="onboarding_howto_summary">1. Open this app or %s on any other device in your local WiFi network.\n\n2. Tap on the device and select the files you want to send.\n\n3. Done! The files will be sent…</string> | ||
| <string name="onboarding_howto_troubleshoot">Hint: Devices need to be connected with the same WiFi network. It may not work if a VPN is enabled.</string> | ||
| <!-- Download --> | ||
| <string name="download_save_pending">Storing the file. Please have a little patience…</string> | ||
| <string name="download_successful">Download successful</string> | ||
| <string name="notification_channel_name">Download completed</string> | ||
| <!-- Action Buttons --> | ||
| <string name="open">open</string> | ||
| <string name="install">install</string> | ||
| <string name="reset">reset</string> | ||
| <string name="copy">copy</string> | ||
| <string name="retry">retry</string> | ||
| <!-- Settings / About --> | ||
| <string name="home_as_up_indicator_about">About</string> | ||
| <string name="title_activity_about">About ErikrafT Drop</string> | ||
| <string name="pref_about_title">About this app</string> | ||
| <string name="view_downloads">View downloads</string> | ||
| <string name="pref_category_settings">Settings</string> | ||
| <string name="logs">Debug Logs</string> | ||
| <string name="components_summary">Tap to display</string> | ||
| <string name="support_us">Support us</string> | ||
| <string name="support_us_summary">See, how you can support this project</string> | ||
| <string name="read_more">read more</string> | ||
| <string name="version">Version</string> | ||
| <string name="pref_device_name_title">Device name</string> | ||
| <string name="pref_device_name_summary">Set a user-defined device name</string> | ||
| <string name="notifications_summary">Show notification when download is completed</string> | ||
| <string name="notifications_title">Notifications</string> | ||
| <string name="keep_on_summary">(Recommended) Many devices have problems with transfers being interrupted when the screen turns off</string> | ||
| <string name="keep_on_title">Keep screen on while transferring</string> | ||
| <string name="floating_text_selection_title">Floating text selection</string> | ||
| <string name="floating_text_selection_summary">When selecting text in other apps, an option \"Send with ErikrafT Drop\" will be shown</string> | ||
| <string name="show_connectivity_card_title">Connectivity warning</string> | ||
| <string name="show_connectivity_card_summary"> Show a warning when you are not connected with a WiFi network</string> | ||
| <string name="floating_text_selection_activity_label">Send with ErikrafT Drop</string> | ||
| <string name="permission_not_granted">please grant the necessary permission</string> | ||
| <string name="permission_not_granted_fallback">please grant the necessary permission manually</string> | ||
| <string name="open_settings">open settings</string> | ||
| <string name="retain_location_metadata_title">Retain location metadata</string> | ||
| <string name="retain_location_metadata_summary_off">Some media files might contain location data that are stripped by default. Grant permission to include full metadata</string> | ||
| <string name="retain_location_metadata_summary_on">The app has full file access currently</string> | ||
| <string name="settings_theme_title">Theme</string> | ||
| <string-array name="darkmode_entries"> | ||
| <item>System Default</item> | ||
| <item>Light</item> | ||
| <item>Dark</item> | ||
| </string-array> | ||
| <string name="baseurl_title">Change server address</string> | ||
| <string name="baseurl_not_set">Not set</string> | ||
| <string name="baseurl_instance_verified">Instance was successfully verified</string> | ||
| <string name="baseurl_no_snapdrop_instance">Instance doesn\'t seem to be supported</string> | ||
| <string name="baseurl_check_instance_failed">Failed to verify instance</string> | ||
| <string name="baseurl_unofficial_instances">Check out the <a href="">FAQ</a> for a list of unofficial instances. Please note that some instances might not work correctly inside the app.</string> | ||
| <string name="save_location">Save location</string> | ||
| <!-- File sharing --> | ||
| <string name="intent_file">A file is selected for sharing</string> | ||
| <string name="intent_files">Files are selected for sharing</string> | ||
| <string name="intent_content">Content is selected for sharing</string> | ||
| <string name="error_filechooser">Cannot open file chooser</string> | ||
| <string name="error_network">Please verify that you are connected with a WiFi network</string> | ||
| <string name="error_network_no_wifi">Please connect to a WiFi network, or pair devices</string> | ||
| <string name="error_network_offline">You are offline</string> | ||
| <string name="ignore_error_network">Let me in anyway</string> | ||
| <string name="error_not_reachable_title">Ups, sorry!</string> | ||
| <string name="error_server_not_reachable">The Server cannot be reached. \n\nIf your internet connection is working and this does happen anyway, please try to select a different server address.</string> | ||
| <!-- Website Localization --> | ||
| <string name="website_no_peers_info">Open app or website on other devices to send files</string> | ||
| <string name="website_instruction">Tap to send files or long tap to send a message</string> | ||
| <string name="website_file_received">File Received</string> | ||
| <string name="website_file_ask_before_download">Always ask before saving a file</string> | ||
| <string name="website_file_download">Save</string> | ||
| <string name="website_footer_discovery">You can be discovered by everyone on this network</string> | ||
| <string name="website_footer_known_as">You are known as %s</string> | ||
| <string name="website_about_subheading">The easiest way to transfer files across devices</string> | ||
| </resources> |
There was a problem hiding this comment.
Finnish locale file contains English text instead of Finnish translations.
This file is located at values-fi-rFI (Finnish/Finland) but all strings are in English. Finnish users will see untranslated English content, which defeats the localization purpose.
Please verify that Crowdin exported the correct translations for this locale. If Finnish translations are not yet available, consider omitting this file so the app falls back to the default locale gracefully.
Additionally, this file inherits the same issues noted in the en-rUS file:
- Line 16: Grammar error "required order" → "required in order"
- Line 57: Leading whitespace
- Line 76: Empty
hrefin FAQ link
🤖 Prompt for AI Agents
In `@app/src/main/res/values-fi-rFI/strings.xml` around lines 1 - 98, The Finnish
locale file in values-fi-rFI contains English strings instead of Finnish; either
replace the English text with the correct Finnish translations for all entries
(or remove this locale file so the app falls back to default) and also fix the
three local issues: correct grammar in onboarding_storage_permission_description
("required in order"), remove the leading space in
show_connectivity_card_summary, and fix the empty href in
baseurl_unofficial_instances (provide the proper FAQ URL or remove the anchor
tag); locate these by string names: onboarding_storage_permission_description,
show_connectivity_card_summary, and baseurl_unofficial_instances, and ensure all
other string resources are translated into Finnish.
| <?xml version="1.0" encoding="utf-8"?> | ||
| <resources> |
There was a problem hiding this comment.
🧩 Analysis chain
🌐 Web query:
Android resource qualifier Serbian locale values-sr-rRS vs values-sr-rSP correct format
💡 Result:
Short answer:
- For generic Serbian (recommended default/Cyrillic): use values-sr (or values-sr-rRS if you need Serbia-specific). [1][2]
- For Serbian (Latin script) use the BCP‑47 style: values-b+sr+Latn (you can append a region if needed, e.g. values-b+sr+Latn-rRS). [3][1]
Sources:
[1] Android locale list in platform (sr-Latn-RS / sr-Cyrl-RS examples).
[2] Old/legacy res qualifier format uses language[-rREGION] (values-sr or values-sr-rRS).
[3] Use BCP-47 tag form (values-b+sr+Latn) for script-specific Serbian.
🌐 Web query:
ISO 3166 country code Serbia RS SP Android resource qualifier
💡 Result:
Use RS. ISO 3166-1 alpha-2 for Serbia is "RS" (alpha-3 "SRB"). Android region qualifiers use ISO 3166-1 alpha-2 codes, so example resource dirs are res/values-sr-rRS or res/values-en-rRS. [1][2]
Sources:
[1] ISO 3166 country list (Serbia = RS).
[2] Android docs — language/region resource qualifier (uses ISO 3166-1 alpha-2).
Rename locale qualifier to values-sr-rRS for valid Serbian localization.
The folder values-sr-rSP uses an invalid region code; Serbia's ISO 3166-1 alpha-2 code is RS, not SP. Android won't recognize this qualifier, causing these resources to fail loading for Serbian users. Rename to values-sr-rRS.
🤖 Prompt for AI Agents
In `@app/src/main/res/values-sr-rSP/strings.xml` around lines 1 - 2, The resource
folder qualifier is invalid: rename the folder named values-sr-rSP to
values-sr-rRS so Android recognizes Serbian (Serbia) resources; update any
references or localized resource merges that expect values-sr-rSP to point to
values-sr-rRS and ensure the strings.xml inside remains unchanged.
| @@ -1 +1 @@ | |||
| Μεταφέρετε αρχεία με αξιοπιστία μεταξύ όλων των συσκευών σας - ErikrafT Drop | |||
| Transfer files seamlessly between all your devices - ErikrafT Drop | |||
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Check the current state of the file
echo "=== Current file content ==="
if [ -f "fastlane/metadata/android/el-GR/short_description.txt" ]; then
cat -n "fastlane/metadata/android/el-GR/short_description.txt"
else
echo "File does not exist"
fi
echo ""
echo "=== Check file encoding ==="
file "fastlane/metadata/android/el-GR/short_description.txt" 2>/dev/null || echo "File check unavailable"
echo ""
echo "=== Git history for this file ==="
cd fastlane/metadata/android/el-GR/ && git log --oneline -5 short_description.txt 2>/dev/null || echo "Git history unavailable"
echo ""
echo "=== Recent changes to this file ==="
cd - > /dev/null && git show HEAD:fastlane/metadata/android/el-GR/short_description.txt 2>/dev/null || echo "HEAD version unavailable"
echo ""
echo "=== List all locale directories ==="
fd -t d -d 1 . fastlane/metadata/android/ 2>/dev/null | head -20Repository: erikraft/Drop-Android
Length of output: 1111
🏁 Script executed:
#!/bin/bash
# Check other locale files for the same English phrase pattern
echo "=== Checking for English phrase in other locales ==="
rg -l "Transfer files seamlessly between all your devices" fastlane/metadata/android/ --type txt 2>/dev/null | head -20
echo ""
echo "=== Sample of other locale short_description.txt files ==="
find fastlane/metadata/android/ -name "short_description.txt" -type f | grep -v "el-GR" | head -5 | while read file; do
echo "File: $file"
cat "$file" 2>/dev/null | head -1
echo ""
doneRepository: erikraft/Drop-Android
Length of output: 1669
🏁 Script executed:
#!/bin/bash
# Get more detailed git history for short_description.txt files
echo "=== Git log for el-GR short_description.txt ==="
git log --oneline -20 -- fastlane/metadata/android/el-GR/short_description.txt 2>/dev/null
echo ""
echo "=== Previous version of el-GR short_description.txt ==="
git show HEAD~1:fastlane/metadata/android/el-GR/short_description.txt 2>/dev/null || echo "Previous version unavailable"
echo ""
echo "=== Check how many total locales were updated in this commit ==="
git show --stat HEAD 2>/dev/null | grep short_description | wc -lRepository: erikraft/Drop-Android
Length of output: 323
Greek locale file contains English text instead of Greek translation.
The el-GR (Greek) locale directory contains English text instead of a Greek translation, breaking localization for Greek-speaking users. This is part of a broader issue: at least 16 locale directories—including Czech, Catalan, Danish, Finnish, and others—were similarly affected by the Crowdin update (38 short_description.txt files were modified). While some locales retain proper translations, the inconsistency indicates that locale-specific metadata files were incorrectly overwritten with English during the sync. These files should contain translations in their respective languages.
Restore the Greek translation for el-GR (and verify other affected locales) or correct the Crowdin sync to properly populate locale-specific translations.
🤖 Prompt for AI Agents
In `@fastlane/metadata/android/el-GR/short_description.txt` at line 1, The Greek
locale short description file (el-GR/short_description.txt) was overwritten with
English; replace the current English line "Transfer files seamlessly between all
your devices - ErikrafT Drop" with the correct Greek translation in
el-GR/short_description.txt and verify other affected locale
short_description.txt files (e.g., cs, ca, da, fi, etc.) to restore their native
translations; if this came from an automated Crowdin sync, fix the Crowdin
configuration or sync script so locale-specific short_description.txt files are
not overwritten with English during future exports.
| @@ -0,0 +1 @@ | |||
| Transfer files seamlessly between all your devices - ErikrafT Drop | |||
There was a problem hiding this comment.
🧩 Analysis chain
🌐 Web query:
Google Play Fastlane Android metadata supported locale codes Serbian sr-RS sr-SP
💡 Result:
Google Play accepts Serbian as locale code "sr" (no region). Use metadata folder "sr" with fastlane/supply — "sr-RS" or "sr-SP" are not supported and will cause API errors. [1][2][3]
Sources:
[1] Google Play supported languages (Serbian listed as "sr").
[2] fastlane supply docs — locale directories examples (en-US, en-GB) and behavior.
[3] fastlane GitHub issue showing API error when using unsupported locale codes (example error for ar-SA).
🏁 Script executed:
# Search for any fastlane configuration files that might reference locale codes
fd -type f \( -name "*.json" -o -name "*.yaml" -o -name "*.yml" -o -name "Fastfile" \) | head -20Repository: erikraft/Drop-Android
Length of output: 235
🏁 Script executed:
# Check the structure of fastlane/metadata/android directory
find fastlane/metadata/android -maxdepth 1 -type d | sortRepository: erikraft/Drop-Android
Length of output: 1306
Rename locale folder from sr-SP to sr.
The locale code sr-SP is not supported by Google Play. According to Fastlane/Google Play documentation, Serbian metadata should use the folder name sr (language code only, without region). Using unsupported locale codes will cause API errors and the store listing will not apply for Serbian users. Rename fastlane/metadata/android/sr-SP/ to fastlane/metadata/android/sr/.
🤖 Prompt for AI Agents
In `@fastlane/metadata/android/sr-SP/short_description.txt` at line 1, The locale
folder name is incorrect: rename the folder named "sr-SP" to "sr" and move its
contents (e.g., short_description.txt and other metadata files) into the new
"sr" directory so Google Play/fastlane uses the supported Serbian locale code;
update any references if present to point from "sr-SP" to "sr".
| @@ -1 +1 @@ | |||
| Легко обмінюйтесь файлами між усіма вашими пристроями за допомогою ErikrafT Drop | |||
| Transfer files seamlessly between all your devices - ErikrafT Drop | |||
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
# First, check the structure of locale directories and find short_description.txt files
find fastlane/metadata/android -type d -name "*-*" | head -20Repository: erikraft/Drop-Android
Length of output: 704
🏁 Script executed:
# List all short_description.txt files to see what locales have them
fd -t f 'short_description.txt' fastlane/metadata/android | sortRepository: erikraft/Drop-Android
Length of output: 2116
🏁 Script executed:
# Read the Ukrainian file content
cat fastlane/metadata/android/uk-UA/short_description.txtRepository: erikraft/Drop-Android
Length of output: 131
🏁 Script executed:
# Check a few other locale files to compare content and language
for locale in af-ZA da-DK en-US en-GB; do
file="fastlane/metadata/android/${locale}/short_description.txt"
if [ -f "$file" ]; then
echo "=== $locale ==="
cat "$file"
echo ""
fi
doneRepository: erikraft/Drop-Android
Length of output: 310
🏁 Script executed:
# Check all short_description.txt files to see if they all contain the same English content
for file in $(fd -t f 'short_description.txt' fastlane/metadata/android | sort); do
locale=$(echo "$file" | sed 's|.*/\([^/]*\)/short_description.*|\1|')
content=$(cat "$file")
echo "$locale: $content"
doneRepository: erikraft/Drop-Android
Length of output: 2897
Critical localization issue: English content in 15 non-English locale files.
The file fastlane/metadata/android/uk-UA/short_description.txt contains English text instead of Ukrainian. This is part of a broader issue affecting 15 locales that have been replaced with English fallback content:
af-ZA, ca-ES, cs-CZ, da-DK, el-GR, fi-FI, he-IL, hu-HU, mk-MK, no-NO, ro-RO, sr-SP, sv-SE, uk-UA, vi-VN
Users in these markets will see English descriptions in the app store instead of native-language content, defeating the purpose of localization. The 22 other locales (ar-SA, bg-BG, de-DE, es-ES, fr-FR, hi-IN, hr-HR, id-ID, it-IT, ja-JP, ko-KR, ne-NP, nl-NL, pl-PL, pt-BR, pt-PT, ru-RU, sk-SK, sl-SI, tr-TR, zh-CN, zh-TW) correctly contain translations in their respective languages.
Restore proper translations for all 15 affected locales.
🤖 Prompt for AI Agents
In `@fastlane/metadata/android/uk-UA/short_description.txt` at line 1, The
short_description.txt for locale uk-UA currently contains English fallback text;
update this file (and the other affected locale short_description.txt files:
af-ZA, ca-ES, cs-CZ, da-DK, el-GR, fi-FI, he-IL, hu-HU, mk-MK, no-NO, ro-RO,
sr-SP, sv-SE, vi-VN) by replacing the English line ("Transfer files seamlessly
between all your devices - ErikrafT Drop") with the correct native-language
short description for each locale, ensuring each file (e.g., the uk-UA
short_description.txt) contains a proper Ukrainian translation, then validate
encoding/line endings and commit the corrected locale files.
| @@ -1 +1 @@ | |||
| Truyền tải tệp liên tục giữa tất cả các thiết bị - ErikrafT Drop | |||
| Transfer files seamlessly between all your devices - ErikrafT Drop | |||
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# First, let's see the structure of fastlane/metadata/android
echo "=== Directory structure of fastlane/metadata/android ==="
fd -t d . fastlane/metadata/android/ -maxdepth 1 | head -20
# Check if the specific file exists and show its content
echo -e "\n=== Content of vi-VN short_description.txt ==="
if [ -f "fastlane/metadata/android/vi-VN/short_description.txt" ]; then
cat "fastlane/metadata/android/vi-VN/short_description.txt"
else
echo "File not found"
fi
# List all short_description.txt files
echo -e "\n=== All short_description.txt files ==="
fd 'short_description.txt' fastlane/metadata/android/
# Check what locales exist
echo -e "\n=== Locale directories ==="
find fastlane/metadata/android -maxdepth 1 -type d | sortRepository: erikraft/Drop-Android
Length of output: 3847
🏁 Script executed:
#!/bin/bash
# Check content of short_description.txt files across different locales
echo "=== Content of short_description.txt files across locales ==="
for file in $(fd 'short_description.txt' fastlane/metadata/android/ | sort); do
locale=$(echo "$file" | grep -oP 'android/\K[^/]+')
echo -e "\n[$locale]:"
head -1 "$file" || echo "(file not readable)"
doneRepository: erikraft/Drop-Android
Length of output: 3073
🏁 Script executed:
#!/bin/bash
# Check if en-US and other English locales are present
echo "=== Checking en-US and other English locale directories ==="
ls -la fastlane/metadata/android/ | grep -E "en-|English" || echo "No obvious English locale directories found"
# More specifically, check what's in the main android metadata dir
echo -e "\n=== All directories in fastlane/metadata/android/ ==="
ls -1 fastlane/metadata/android/Repository: erikraft/Drop-Android
Length of output: 462
Critical: Multiple locale metadata files contain English instead of native language translations.
The vi-VN (Vietnamese) file contains English text, which is a regression that removes localization. However, this is not an isolated issue—at least 15 non-English locale files have been similarly affected:
- af-ZA (Afrikaans)
- ca-ES (Catalan)
- cs-CZ (Czech)
- da-DK (Danish)
- el-GR (Greek)
- fi-FI (Finnish)
- he-IL (Hebrew)
- hu-HU (Hungarian)
- mk-MK (Macedonian)
- no-NO (Norwegian)
- ro-RO (Romanian)
- sr-SP (Serbian)
- sv-SE (Swedish)
- uk-UA (Ukrainian)
- vi-VN (Vietnamese)
All of these locales now display "Transfer files seamlessly between all your devices - ErikrafT Drop" (English) instead of native language descriptions. This prevents users in these markets from seeing localized content on the Play Store.
Revert these 15 locale files to restore their proper localized descriptions while preserving the 22 locales that correctly maintain their native language translations.
🤖 Prompt for AI Agents
In `@fastlane/metadata/android/vi-VN/short_description.txt` at line 1, Several
non-English locale short_description.txt files were overwritten with the English
string "Transfer files seamlessly between all your devices - ErikrafT Drop";
restore the original localized descriptions for the 15 affected locale files
(af-ZA, ca-ES, cs-CZ, da-DK, el-GR, fi-FI, he-IL, hu-HU, mk-MK, no-NO, ro-RO,
sr-SP, sv-SE, uk-UA, vi-VN) by reverting those specific short_description.txt
files to their last known-good versions from git history (e.g., git checkout
<commit> -- <file> or cherry-pick the prior commits that contained the correct
translations) while leaving the 22 locales that are already correct untouched;
verify each restored file contains a non-English localized string and not the
English phrase before committing.
Summary by CodeRabbit
Release Notes
✏️ Tip: You can customize this high-level summary in your review settings.