New Crowdin updates#139
Conversation
WalkthroughThis update modifies localization files for multiple languages including Spanish, Polish, Russian, and many others. It adds new keys such as "loginTitleSimple," "totpSubtitle," and error-related messages while removing obsolete internal error keys. Textual refinements, punctuation adjustments, and HTML tag casing normalization from Changes
Possibly related PRs
Poem
📜 Recent review detailsConfiguration used: CodeRabbit UI 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
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. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Actionable comments posted: 39
🧹 Nitpick comments (3)
frontend/src/lib/i18n/locales/pt-BR.json (1)
49-49: Grammar check forforgotPasswordTitle.
You’ve added a question mark, which is fine, but consider whether to include the article (“Esqueceu a sua senha?”) for consistency with other Portuguese phrasing.frontend/src/lib/i18n/locales/af-ZA.json (2)
10-10: Ensure consistent punctuation inloginFailRateLimit
The second sentence “Please try again later” lacks a terminal period. For consistency with other subtitle strings, consider adding a period:
“You failed to login too many times. Please try again later.”
22-22: Improve readability incontinueInsecureRedirectSubtitle
Add a comma after the closing</code>tag to separate clauses:- "... to <code>http</code> which is not secure." + "... to <code>http</code>, which is not secure."
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Cache: Disabled due to data retention organization setting
Knowledge Base: Disabled due to data retention organization setting
📒 Files selected for processing (30)
frontend/src/lib/i18n/locales/af-ZA.json(3 hunks)frontend/src/lib/i18n/locales/ar-SA.json(3 hunks)frontend/src/lib/i18n/locales/ca-ES.json(3 hunks)frontend/src/lib/i18n/locales/cs-CZ.json(3 hunks)frontend/src/lib/i18n/locales/da-DK.json(3 hunks)frontend/src/lib/i18n/locales/de-DE.json(3 hunks)frontend/src/lib/i18n/locales/el-GR.json(3 hunks)frontend/src/lib/i18n/locales/en-US.json(3 hunks)frontend/src/lib/i18n/locales/es-ES.json(2 hunks)frontend/src/lib/i18n/locales/fi-FI.json(3 hunks)frontend/src/lib/i18n/locales/fr-FR.json(3 hunks)frontend/src/lib/i18n/locales/he-IL.json(3 hunks)frontend/src/lib/i18n/locales/hu-HU.json(3 hunks)frontend/src/lib/i18n/locales/it-IT.json(3 hunks)frontend/src/lib/i18n/locales/ja-JP.json(3 hunks)frontend/src/lib/i18n/locales/ko-KR.json(3 hunks)frontend/src/lib/i18n/locales/nl-NL.json(3 hunks)frontend/src/lib/i18n/locales/no-NO.json(3 hunks)frontend/src/lib/i18n/locales/pl-PL.json(3 hunks)frontend/src/lib/i18n/locales/pt-BR.json(3 hunks)frontend/src/lib/i18n/locales/pt-PT.json(3 hunks)frontend/src/lib/i18n/locales/ro-RO.json(3 hunks)frontend/src/lib/i18n/locales/ru-RU.json(1 hunks)frontend/src/lib/i18n/locales/sr-SP.json(3 hunks)frontend/src/lib/i18n/locales/sv-SE.json(3 hunks)frontend/src/lib/i18n/locales/tr-TR.json(3 hunks)frontend/src/lib/i18n/locales/uk-UA.json(3 hunks)frontend/src/lib/i18n/locales/vi-VN.json(3 hunks)frontend/src/lib/i18n/locales/zh-CN.json(3 hunks)frontend/src/lib/i18n/locales/zh-TW.json(3 hunks)
✅ Files skipped from review due to trivial changes (21)
- frontend/src/lib/i18n/locales/pl-PL.json
- frontend/src/lib/i18n/locales/tr-TR.json
- frontend/src/lib/i18n/locales/ar-SA.json
- frontend/src/lib/i18n/locales/zh-CN.json
- frontend/src/lib/i18n/locales/cs-CZ.json
- frontend/src/lib/i18n/locales/ja-JP.json
- frontend/src/lib/i18n/locales/sv-SE.json
- frontend/src/lib/i18n/locales/ca-ES.json
- frontend/src/lib/i18n/locales/zh-TW.json
- frontend/src/lib/i18n/locales/ro-RO.json
- frontend/src/lib/i18n/locales/pt-PT.json
- frontend/src/lib/i18n/locales/uk-UA.json
- frontend/src/lib/i18n/locales/da-DK.json
- frontend/src/lib/i18n/locales/hu-HU.json
- frontend/src/lib/i18n/locales/it-IT.json
- frontend/src/lib/i18n/locales/vi-VN.json
- frontend/src/lib/i18n/locales/he-IL.json
- frontend/src/lib/i18n/locales/ko-KR.json
- frontend/src/lib/i18n/locales/en-US.json
- frontend/src/lib/i18n/locales/ru-RU.json
- frontend/src/lib/i18n/locales/sr-SP.json
🚧 Files skipped from review as they are similar to previous changes (1)
- frontend/src/lib/i18n/locales/es-ES.json
🔇 Additional comments (50)
frontend/src/lib/i18n/locales/el-GR.json (1)
49-49:⚠️ Potential issueIncorrect Greek question mark punctuation
In Greek typography, questions end with a semicolon (;), not a question mark (?). Update this string to:-"Ξεχάσατε το συνθηματικό σας?" +"Ξεχάσατε το συνθηματικό σας;"Likely an incorrect or invalid review comment.
frontend/src/lib/i18n/locales/nl-NL.json (1)
40-40:⚠️ Potential issueInconsistent summary and untranslated TOTP subtitle.
The AI summary claimedtotpSubtitlewas not added in the Dutch locale, but it appears here. Additionally,totpSubtitleis in English and should be translated into Dutch (e.g., “Voer de code in van je authenticatie-app.”).Likely an incorrect or invalid review comment.
frontend/src/lib/i18n/locales/de-DE.json (1)
49-49: Corrected German punctuation in 'forgotPasswordTitle'
The addition of the question mark ("Passwort vergessen?") improves clarity in German. Good catch!frontend/src/lib/i18n/locales/pt-BR.json (11)
3-3: Missing Portuguese translation forloginTitleSimple.
The new key is currently an English string; please provide a Portuguese translation to maintain locale consistency.
4-4: Ensure translation consistency forloginDivider.
This entry is in English (“Or”) in the Brazilian Portuguese file. Confirm if this is intentional or replace it with “Ou” for correct localization.
10-10: Missing Portuguese translation forloginFailRateLimit.
This message is still in English; please localize it into Portuguese to match the rest of this locale.
13-13: Missing Portuguese translation forloginOauthFailTitle.
The OAuth error title is in English; translate it to Portuguese for consistency.
22-22: Missing Portuguese translation forcontinueInsecureRedirectSubtitle.
This subtitle remains in English and must be localized into Portuguese.
30-31: Missing Portuguese translations for logout subtitles.
BothlogoutUsernameSubtitleandlogoutOauthSubtitleare English placeholders—please provide the appropriate Portuguese versions, including proper use of<code>and interpolation.
40-40: Missing Portuguese translation fortotpSubtitle.
The TOTP prompt is in English; please translate it into Portuguese to keep the locale complete.
42-44: Missing Portuguese translations for unauthorized messages.
All three subtitles (unauthorizedResourceSubtitle,unauthorizedLoginSubtitle,unauthorizedGroupsSubtitle) are in English; they should be provided in Portuguese.
47-47: Missing Portuguese translation foruntrustedRedirectSubtitle.
This message is in English; please supply a Portuguese translation.
50-50: Missing Portuguese translation forfailedToFetchProvidersTitle.
The fallback text is English; translate it into Portuguese to complete the locale.
51-52: Missing Portuguese translations for error messages.
BotherrorTitleanderrorSubtitleare in English; please localize these strings into Portuguese.frontend/src/lib/i18n/locales/fi-FI.json (10)
3-4: Additions of simplified login title and divider are correct.
The newloginTitleSimplekey provides a clean prompt, and shortening the divider to"Or"keeps the UI concise.
10-10: Add rate limit message for login failures.
Including a specific key for rate-limited login attempts enhances user feedback when too many attempts occur.
13-13: Add generic OAuth failure title.
The newloginOauthFailTitlealigns with other error keys and standardizes the messaging on OAuth errors.
22-22: Refined insecure redirect message with correct<code>casing.
Switching<Code>to<code>ensures HTML tags render properly and consistently across browsers.
30-31: Enhanced logout subtitles with context and correct<code>tags.
These entries make it clear which user and provider are logged in, improving transparency in the logout flow.
40-40: Add TOTP subtitle prompt.
Prompting users to enter the authenticator app code clarifies the next step in two-factor authentication.
42-44: Add detailed unauthorized subtitles for resource, login, and groups.
Splitting unauthorized messages into three contexts gives users precise feedback on why access was denied.
47-47: Add untrusted redirect warning with<code>formatting.
This clearly highlights the mismatched domain and maintains tag consistency.
49-49: Verify punctuation change for password prompt.
The PR summary indicatesforgotPasswordTitleshould switch from a question mark to a comma, but this line still ends with?. Please confirm whether a comma is the intended punctuation here.Likely an incorrect or invalid review comment.
50-52: Add provider fetch failure and generic error messages.
IncludingfailedToFetchProvidersTitle,errorTitle, anderrorSubtitleimproves error handling UX when provider loading or other actions fail.frontend/src/lib/i18n/locales/af-ZA.json (10)
3-4: Add new simplified login prompt and shorten divider text
TheloginTitleSimplekey provides a concise login prompt and theloginDividerhas been reduced to “Or” for brevity. These changes align with other locales and improve the UI flow.
13-13: Update OAuth failure title for clarity
Changing from “Internal error” to “An error occurred” makes the message more user-friendly and consistent with other error titles.
30-31: Approve logout subtitles with HTML tags
The new subtitles clearly state the current user context, use lowercase<code>tags, and end with periods as expected.
40-40: Approve TOTP subtitle addition
The instruction to “enter the code from your authenticator app” is clear and matches other locales.
42-44: Approve unauthorized access subtitles
The three new keys (unauthorizedResourceSubtitle,unauthorizedLoginSubtitle,unauthorizedGroupsSubtitle) consistently use<code>tags and end with periods, providing detailed feedback on why access was denied.
47-47: Approve untrusted redirect subtitle
The message clearly warns about domain mismatch and uses correct<code>casing.
49-49: Approve forgot password title
“Forgot your password?” is appropriately phrased as a question and aligns with UX patterns.
50-50: ApprovefailedToFetchProvidersTitle
The two-sentence error message is clear and instructs the user to verify configuration.
51-51: Approve generic error title
“An error occurred” maintains consistency with other error titles introduced in this update.
52-52: Approve generic error subtitle
The subtitle provides actionable guidance (“check the console for more information”) and ends with a period.frontend/src/lib/i18n/locales/no-NO.json (16)
3-3: Add new simple login prompt
The new"loginTitleSimple"key provides a concise welcome message and matches other locale updates.
4-4: Shorten login divider text
Updating"loginDivider"to"Or"improves brevity and stays consistent with other locales.
10-10: Clarify rate-limit failure message
The revised"loginFailRateLimit"clearly informs users of too many attempts.
13-13: Standardize OAuth failure title
Changing"loginOauthFailTitle"to"An error occurred"aligns with the generic error messaging style.
22-22: Normalize HTML tag casing and improve clarity
The updated"continueInsecureRedirectSubtitle"uses lowercase<code>tags and better explains the security risk.
30-30: Normalize HTML tag casing in logout message
Lowercasing<code>in"logoutUsernameSubtitle"ensures consistency with other messages.
31-31: Normalize HTML tag casing in OAuth logout message
Lowercasing<code>in"logoutOauthSubtitle"matches the rest of the localization set.
40-40: Add TOTP subtitle instruction
The new"totpSubtitle"clearly directs users to enter the authenticator code.
42-42: Normalize HTML tag casing in unauthorized resource message
Using lowercase<code>tags in"unauthorizedResourceSubtitle"aligns with other updates.
43-43: Normalize HTML tag casing in unauthorized login message
Lowercasing<code>in"unauthorizedLoginSubtitle"ensures consistency.
44-44: Normalize HTML tag casing in unauthorized groups message
The<code>tags in"unauthorizedGroupsSubtitle"now follow the lowercase convention.
47-47: Normalize HTML tag casing in untrusted redirect message
Lowercasing<code>in"untrustedRedirectSubtitle"maintains consistency across locale files.
49-49: Inconsistent summary on forgotPasswordTitle punctuation
The AI summary mentioned changing this from a question mark to a comma, but the key still ends with?. Please verify the intended punctuation.Likely an incorrect or invalid review comment.
50-50: Add providers-loading failure message
The new"failedToFetchProvidersTitle"gives clear feedback when auth providers cannot load.
51-51: Add generic error title
Introducing"errorTitle"helps surface general errors consistently.
52-52: Add generic error subtitle
The new"errorSubtitle"directs users to check the console for more details, completing the error messaging set.
| "continueInvalidRedirectSubtitle": "Die Weiterleitungs-URL ist ungültig", | ||
| "continueInsecureRedirectTitle": "Unsichere Weiterleitung", | ||
| "continueInsecureRedirectSubtitle": "Sie versuchen von <Code>https</Code> auf <Code>http</Code>weiterzuleiten. Sind Sie sicher, dass Sie fortfahren möchten?", | ||
| "continueInsecureRedirectSubtitle": "You are trying to redirect from <code>https</code> to <code>http</code> which is not secure. Are you sure you want to continue?", |
There was a problem hiding this comment.
Missing German translation for insecure redirect warning
While the <code> tags are correctly lowercased, the message for continueInsecureRedirectSubtitle is in English. Please translate this into German (e.g., "Sie versuchen, von https auf http weiterzuleiten, was nicht sicher ist. Möchten Sie wirklich fortfahren?").
🤖 Prompt for AI Agents
In frontend/src/lib/i18n/locales/de-DE.json at line 22, the value for
"continueInsecureRedirectSubtitle" is currently in English. Replace the English
text with the correct German translation, ensuring the <code> tags remain
lowercase and intact, for example: "Sie versuchen, von <code>https</code> auf
<code>http</code> weiterzuleiten, was nicht sicher ist. Möchten Sie wirklich
fortfahren?".
| "loginTitleSimple": "Welcome back, please login", | ||
| "loginDivider": "Or", |
There was a problem hiding this comment.
German locale contains English text for new login keys
The values for loginTitleSimple ("Welcome back, please login") and loginDivider ("Or") are in English in the German locale file. Please replace these with proper German translations (e.g., "Willkommen zurück, bitte einloggen" and "Oder").
🤖 Prompt for AI Agents
In frontend/src/lib/i18n/locales/de-DE.json around lines 3 to 4, the values for
the keys "loginTitleSimple" and "loginDivider" are currently in English. Replace
these English strings with their correct German translations, such as
"Willkommen zurück, bitte einloggen" for "loginTitleSimple" and "Oder" for
"loginDivider".
| "loginFailTitle": "Login fehlgeschlagen", | ||
| "loginFailSubtitle": "Bitte überprüfe deinen Benutzernamen und Passwort", | ||
| "loginFailRateLimit": "Sie konnten sich zu oft nicht einloggen, bitte versuchen Sie es später erneut", | ||
| "loginFailRateLimit": "You failed to login too many times. Please try again later", |
There was a problem hiding this comment.
Missing German translation for rate-limit message
The value for loginFailRateLimit is in English. It should be translated into German (e.g., "Sie haben sich zu oft eingeloggt. Bitte versuchen Sie es später erneut.").
🤖 Prompt for AI Agents
In frontend/src/lib/i18n/locales/de-DE.json at line 10, the value for the key
"loginFailRateLimit" is currently in English. Replace the English message with
the correct German translation, such as "Sie haben sich zu oft eingeloggt. Bitte
versuchen Sie es später erneut.", to ensure the message is localized properly.
| "logoutUsernameSubtitle": "You are currently logged in as <code>{{username}}</code>. Click the button below to logout.", | ||
| "logoutOauthSubtitle": "You are currently logged in as <code>{{username}}</code> using the {{provider}} OAuth provider. Click the button below to logout.", |
There was a problem hiding this comment.
Missing German translations for logout subtitles
Both logoutUsernameSubtitle and logoutOauthSubtitle are currently English placeholders. They need German equivalents (e.g., "Sie sind derzeit eingeloggt als {{username}}. Klicken Sie unten, um sich abzumelden.").
🤖 Prompt for AI Agents
In frontend/src/lib/i18n/locales/de-DE.json at lines 30 to 31, replace the
English placeholder strings for "logoutUsernameSubtitle" and
"logoutOauthSubtitle" with their proper German translations. Use appropriate
German text that preserves the placeholders {{username}} and {{provider}} and
the HTML <code> tags, ensuring the messages convey the logout instructions
clearly in German.
| "errorTitle": "An error occurred", | ||
| "errorSubtitle": "An error occurred while trying to perform this action. Please check the console for more information." |
There was a problem hiding this comment.
Missing German translations for general error messages
Both errorTitle and errorSubtitle are in English. They should be translated (e.g., "Ein Fehler ist aufgetreten" and "Beim Ausführen dieser Aktion ist ein Fehler aufgetreten. Bitte prüfen Sie die Konsole für weitere Informationen.").
🤖 Prompt for AI Agents
In frontend/src/lib/i18n/locales/de-DE.json at lines 51 to 52, the values for
"errorTitle" and "errorSubtitle" are currently in English. Replace these English
strings with their correct German translations, such as "Ein Fehler ist
aufgetreten" for "errorTitle" and "Beim Ausführen dieser Aktion ist ein Fehler
aufgetreten. Bitte prüfen Sie die Konsole für weitere Informationen." for
"errorSubtitle".
Summary by CodeRabbit