Skip to content

Conversation

@laurynasgadl
Copy link
Member

@laurynasgadl laurynasgadl commented Jan 15, 2026

Summary by CodeRabbit

  • Internationalization Updates

    • Added new UI text strings across multiple languages including button labels (copy download link, edit as text, font size adjustments).
    • Enhanced translation coverage for file previews, CSV handling, upload features, password validation, and user settings.
    • Updated language locale mappings to region-specific variants for improved localization support.
  • Language Support Changes

    • Removed support for Bulgarian, Croatian, and Latvian locales.
    • Simplified locale detection logic for better performance and maintainability.

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

@coderabbitai
Copy link

coderabbitai bot commented Jan 15, 2026

📝 Walkthrough

Walkthrough

The diff updates the application's localization infrastructure to use region-specific locale codes (e.g., ar_AR, en_GB, pt_BR) instead of plain language codes. Translation files are expanded with new UI keys for buttons, file operations, CSV handling, user settings, and upload functionality. Four locale files are removed, and locale detection logic is simplified.

Changes

Cohort / File(s) Summary
Languages Configuration
frontend/src/components/settings/Languages.vue, frontend/src/i18n/index.ts
Component refactored to map region-specific locale codes (ar_AR, en_GB, es_ES, etc.) instead of plain language codes. Locale detection simplified by removing support for multiple locales (vi, zh-tw, de, ro, ru, pl, ko, sk, tr, uk, sv, nl-be, nb, no) and consolidating zh handling.
New English Locale
frontend/src/i18n/en.json
Comprehensive new English translation file added with all UI strings across buttons, files, login, prompts, settings, search, sidebar, and upload sections.
Updated Locale Files with Translation Expansion
frontend/src/i18n/ar_AR.json, en_GB.json, es_AR.json, es_CO.json, es_ES.json, es_MX.json, fr_FR.json, id_ID.json, lt_LT.json, pt_BR.json, pt_PT.json, ru_RU.json, tr_TR.json, uk_UA.json, zh_CN.json
Consistent expansion of translation keys across all locales: new buttons (clear, continue, copyDownloadLinkToClipboard, discardChanges, editAsText, fullScreen, increaseFontSize, preview, saveChanges, stopSearch), CSV-related strings (columnSeparator, csvLoadFailed, csvSeparators, csvTooLarge), login features (logout_reasons, passwordTooShort), prompts (deleteUser, discardEditorChanges, resolution), settings (aceEditorTheme, currentPassword, hideLoginButton, minimumPasswordLength, redirectAfterCopyMove, tusUploads family), and upload abort functionality. Languages block removed from all files.
Deleted Locale Files
frontend/src/i18n/bg.json, hr.json, lv.json, lv_LV.json
Bulgarian, Croatian, and Latvian locale files removed, eliminating localization support for these languages.

Estimated Code Review Effort

🎯 3 (Moderate) | ⏱️ ~30 minutes

🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'chore: update translations' accurately summarizes the main change - the PR updates translation files across multiple locales and modifies locale handling in the component and i18n configuration.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

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 (34)
frontend/src/i18n/es_AR.json (5)

5-49: Multiple button labels are not translated to Spanish.

The following button keys contain English text instead of Spanish translations in this es_AR.json locale file:

Line Key Current Value Suggested
5 clear "Clear" "Limpiar"
7 continue "Continue" "Continuar"
9 copyDownloadLinkToClipboard "Copy download link to clipboard" "Copiar enlace de descarga al portapapeles"
13 decreaseFontSize "Decrease font size" "Disminuir tamaño de fuente"
16 discardChanges "Discard" "Descartar"
19 editAsText "Edit as Text" "Editar como texto"
22 fullScreen "Toggle full screen" "Alternar pantalla completa"
24 increaseFontSize "Increase font size" "Aumentar tamaño de fuente"
35 preview "Preview" "Vista previa"
42 saveChanges "Save changes" "Guardar cambios"
49 stopSearch "Stop searching" "Detener búsqueda"

77-95: CSV-related and file preview strings are not translated.

The following keys in the files section remain in English:

  • Line 77: columnSeparator → "Separador de columnas"
  • Line 78: csvLoadFailed → "Error al cargar el archivo CSV."
  • Lines 80-82: csvSeparators values → "Ambos (,) y (;)", "Coma (,)", "Punto y coma (;)"
  • Line 84: csvTooLarge → "El archivo CSV es demasiado grande para vista previa (>5MB). Por favor descárguelo para ver."
  • Line 95: showingRows → "Mostrando {count} fila(s)"

118-176: Login and prompts sections contain untranslated strings.

User-facing messages that should be translated:

  • Line 119: logout_reasons.inactivity → "Ha sido desconectado por inactividad."
  • Line 123: passwordTooShort → "La contraseña debe tener al menos {min} caracteres"
  • Line 142: deleteUser → "¿Estás seguro de que deseas eliminar este usuario?"
  • Line 145: discardEditorChanges → "¿Estás seguro de que deseas descartar los cambios realizados?"
  • Line 176: resolution → "Resolución"

196-196: Existing key "images" is not translated.

Line 196: search.images has the value "Images" but should be "Imágenes" to match the Spanish locale. Note that search.music on line 197 is correctly translated as "Música".


206-282: Settings section has multiple untranslated strings.

The following settings keys contain English text:

Line Key Suggested Translation
206 aceEditorTheme "Tema del editor Ace"
224 currentPassword "Tu contraseña actual"
228 disableUsedDiskPercentage "Deshabilitar gráfico de porcentaje de disco usado"
236 hideLoginButton "Ocultar el botón de inicio de sesión en páginas públicas"
242 minimumPasswordLength "Longitud mínima de contraseña"
261 redirectAfterCopyMove "Redirigir al destino después de copiar/mover"
275 themes.default "Predeterminado del sistema"
279 tusUploads "Cargas en fragmentos"
280 tusUploadsChunkSize (translate the description)
281 tusUploadsHelp (translate the description)
282 tusUploadsRetryCount "Número de reintentos si falla la carga de un fragmento."
frontend/src/i18n/es_CO.json (3)

77-95: CSV-related strings not translated.

The newly added CSV functionality strings are in English:

  • Line 77: "columnSeparator" → "Separador de columna"
  • Line 78: "csvLoadFailed" → "Error al cargar el archivo CSV."
  • Lines 80-82: csvSeparators → "Ambos (,) y (;)", "Coma (,)", "Punto y coma (;)"
  • Line 84: "csvTooLarge" → "El archivo CSV es demasiado grande para la vista previa (>5MB). Por favor descárgalo para verlo."
  • Line 95: "showingRows" → "Mostrando {count} fila(s)"

142-176: Prompts section has untranslated strings.

  • Line 142: "deleteUser" → "¿Estás seguro de que quieres eliminar este usuario?"
  • Line 145: "discardEditorChanges" → "¿Estás seguro de que deseas descartar los cambios realizados?"
  • Line 176: "resolution" → "Resolución"

206-282: Settings section has untranslated and empty strings.

Untranslated strings:

  • Line 206: "aceEditorTheme" → "Tema del editor Ace"
  • Line 224: "currentPassword" → "Tu contraseña actual"
  • Line 228: "disableUsedDiskPercentage" → "Deshabilitar gráfico de porcentaje de disco usado"
  • Line 236: "hideLoginButton" → "Ocultar el botón de inicio de sesión en páginas públicas"
  • Line 242: "minimumPasswordLength" → "Longitud mínima de contraseña"
  • Line 261: "redirectAfterCopyMove" → "Redirigir al destino después de copiar/mover"
  • Lines 279-282: TUS upload strings need translation

Empty string values that need translation:

  • Line 235: "hideDotfiles": ""
  • Line 274: "dark": ""
  • Line 276: "light": ""
  • Line 277: "title": ""

Empty strings will cause UI elements to display nothing, which degrades user experience.

frontend/src/i18n/lt_LT.json (3)

5-49: Multiple untranslated English strings in Lithuanian locale.

Many newly added keys contain English text instead of Lithuanian translations. Examples include: clear, continue, copyDownloadLinkToClipboard, decreaseFontSize, discardChanges, editAsText, fullScreen, increaseFontSize, preview, saveChanges, stopSearch.

Consider adding proper Lithuanian translations or marking these as TODO items for future translation work.


77-95: CSV-related strings untranslated.

All CSV handling strings (lines 77-84, 95) are in English. These are user-facing UI elements that should be translated for Lithuanian users.


206-282: Settings section has numerous untranslated strings.

Keys like aceEditorTheme, currentPassword, disableUsedDiskPercentage, hideLoginButton, minimumPasswordLength, redirectAfterCopyMove, tusUploads, and related TUS upload descriptions are all in English.

frontend/src/i18n/pt_PT.json (2)

77-95: CSV-related strings untranslated.

All CSV handling strings (columnSeparator, csvLoadFailed, csvSeparators.*, csvTooLarge, showingRows) are in English.


206-282: Settings section has numerous untranslated strings.

Keys including aceEditorTheme, currentPassword, disableUsedDiskPercentage, hideLoginButton, minimumPasswordLength, redirectAfterCopyMove, tusUploads, and TUS-related descriptions are in English.

frontend/src/i18n/tr_TR.json (3)

5-49: Multiple untranslated English strings in Turkish locale.

While some strings like edit (Düzenle) are properly translated, many new button labels remain in English: clear, continue, copyDownloadLinkToClipboard, decreaseFontSize, discardChanges, editAsText, fullScreen, increaseFontSize, preview, saveChanges, stopSearch.


77-95: CSV-related strings untranslated.

All CSV handling strings are in English and should be translated to Turkish.


206-282: Settings section has numerous untranslated strings.

Keys including aceEditorTheme, currentPassword, disableUsedDiskPercentage, hideLoginButton, minimumPasswordLength, redirectAfterCopyMove, tusUploads, and TUS-related descriptions are in English.

frontend/src/i18n/pt_BR.json (3)

5-49: Multiple new button labels remain untranslated.

Several newly added button keys are still in English instead of Brazilian Portuguese: clear, continue, copyDownloadLinkToClipboard, decreaseFontSize, discardChanges, editAsText, fullScreen, increaseFontSize, preview, saveChanges, stopSearch.

Consider translating these for consistency with the rest of the locale file (e.g., "Clear" → "Limpar", "Continue" → "Continuar", "Preview" → "Pré-visualizar").


77-95: CSV-related and file preview strings are untranslated.

All CSV handling keys (columnSeparator, csvLoadFailed, csvSeparators.*, csvTooLarge) and showingRows remain in English. These are user-facing strings that should be localized for Brazilian Portuguese users.


206-282: Multiple settings strings remain untranslated.

Several settings keys are still in English: aceEditorTheme, currentPassword, disableUsedDiskPercentage, hideLoginButton, minimumPasswordLength, redirectAfterCopyMove, themes.default, and all tusUploads* keys.

If these are placeholders for future translation work, consider tracking them in an issue.

frontend/src/i18n/es_MX.json (3)

5-49: Multiple button labels remain untranslated.

Same pattern as other locale files: clear, continue, copyDownloadLinkToClipboard, decreaseFontSize, discardChanges, editAsText, fullScreen, increaseFontSize, preview, saveChanges, stopSearch are all in English.

Suggested translations: "Clear" → "Limpiar", "Continue" → "Continuar", "Preview" → "Vista previa", etc.


77-95: CSV and file preview strings are untranslated.

All CSV-related keys and showingRows remain in English and should be localized for Mexican Spanish users.


206-282: Settings section has many untranslated keys.

Keys like aceEditorTheme, currentPassword, hideLoginButton, minimumPasswordLength, redirectAfterCopyMove, themes.default, and all tusUploads* entries remain in English.

frontend/src/i18n/ar_AR.json (3)

5-49: Multiple button labels remain untranslated.

Numerous new button keys are still in English: clear, continue, copyDownloadLinkToClipboard, decreaseFontSize, discardChanges, editAsText, fullScreen, increaseFontSize, preview, saveChanges, stopSearch.

For an RTL language like Arabic, mixing English LTR text may create visual inconsistencies in the UI.


77-95: CSV-related strings are untranslated.

All CSV handling keys (columnSeparator, csvLoadFailed, csvSeparators.*, csvTooLarge) and showingRows remain in English.


206-282: Settings section has many untranslated keys.

Multiple settings keys remain in English: aceEditorTheme, currentPassword, disableUsedDiskPercentage, hideLoginButton, minimumPasswordLength, redirectAfterCopyMove, themes.default, and all tusUploads* keys.

frontend/src/i18n/zh_CN.json (2)

77-95: CSV-related strings are untranslated.

All CSV handling keys and showingRows remain in English. Suggested translations:

  • "Column Separator" → "列分隔符"
  • "Showing {count} row(s)" → "显示 {count} 行"

206-282: Settings section has many untranslated keys.

Multiple settings keys remain in English: aceEditorTheme, currentPassword, disableUsedDiskPercentage, hideLoginButton, minimumPasswordLength, redirectAfterCopyMove, themes.default, and all tusUploads* keys.

frontend/src/i18n/fr_FR.json (3)

5-49: Multiple button labels remain untranslated.

Several new button keys are still in English: clear, continue, copyDownloadLinkToClipboard, decreaseFontSize, discardChanges, editAsText, fullScreen, increaseFontSize, preview, saveChanges, stopSearch.

Suggested French translations: "Clear" → "Effacer", "Continue" → "Continuer", "Preview" → "Aperçu".


77-95: CSV-related strings are untranslated.

All CSV handling keys (columnSeparator, csvLoadFailed, csvSeparators.*, csvTooLarge) and showingRows remain in English.


206-282: Settings section has many untranslated keys.

Multiple settings keys remain in English: aceEditorTheme, currentPassword, disableUsedDiskPercentage, hideLoginButton, minimumPasswordLength, redirectAfterCopyMove, themes.default, and all tusUploads* keys.

frontend/src/i18n/es_ES.json (4)

5-55: Missing Spanish translations in buttons section.

Multiple new keys in the buttons section contain English text instead of Spanish translations:

  • Line 5: "clear": "Clear" → should be "Limpiar" or "Borrar"
  • Line 7: "continue": "Continue" → "Continuar"
  • Line 9: "copyDownloadLinkToClipboard" → "Copiar enlace de descarga al portapapeles"
  • Line 13: "decreaseFontSize" → "Reducir tamaño de fuente"
  • Line 16: "discardChanges" → "Descartar"
  • Line 19: "editAsText" → "Editar como texto"
  • Line 22: "fullScreen" → "Alternar pantalla completa"
  • Line 24: "increaseFontSize" → "Aumentar tamaño de fuente"
  • Line 35: "preview" → "Vista previa"
  • Line 42: "saveChanges" → "Guardar cambios"
  • Line 49: "stopSearch" → "Detener búsqueda"

77-95: Missing Spanish translations for CSV-related keys.

The newly added CSV handling keys and row display text are in English:

  • Line 77: "columnSeparator" → "Separador de columna"
  • Line 78: "csvLoadFailed" → "Error al cargar el archivo CSV."
  • Lines 79-83: "csvSeparators" → translate "Both", "Comma", "Semicolon"
  • Line 84: "csvTooLarge" → "El archivo CSV es demasiado grande para vista previa (>5MB). Descárguelo para verlo."
  • Line 95: "showingRows" → "Mostrando {count} fila(s)"

142-176: Missing Spanish translations in prompts section.

  • Line 142: "deleteUser" → "¿Estás seguro de que deseas eliminar este usuario?"
  • Line 145: "discardEditorChanges" → "¿Estás seguro de que deseas descartar los cambios realizados?"
  • Line 176: "resolution" → "Resolución"

206-282: Missing Spanish translations in settings section.

Multiple settings keys remain in English:

  • Line 206: "aceEditorTheme" → "Tema del editor Ace"
  • Line 224: "currentPassword" → "Tu contraseña actual"
  • Line 228: "disableUsedDiskPercentage" → "Desactivar gráfico de porcentaje de disco usado"
  • Line 236: "hideLoginButton" → "Ocultar el botón de inicio de sesión de páginas públicas"
  • Line 242: "minimumPasswordLength" → "Longitud mínima de contraseña"
  • Line 261: "redirectAfterCopyMove" → "Redirigir al destino después de copiar/mover"
  • Line 275: "themes.default" → "Por defecto del sistema"
  • Lines 279-282: "tusUploads*" → translate "Chunked Uploads", chunk size description, help text, and retry count description
🤖 Fix all issues with AI agents
In `@frontend/src/i18n/es_ES.json`:
- Around line 118-123: Replace the English strings in the login-related keys
with the provided Spanish translations: update the "logout_reasons.inactivity"
value from "You have been logged out due to inactivity." to "Ha cerrado sesión
debido a inactividad." and update "passwordTooShort" from "Password must be at
least {min} characters" to "La contraseña debe tener al menos {min} caracteres";
ensure you keep the same key names (logout_reasons.inactivity, passwordTooShort)
and the placeholder {min} intact, then save the JSON file and run a quick
lint/format check to confirm valid JSON.
- Around line 325-327: The "upload.abortUpload" entry currently contains English
text; replace its value with the Spanish translation "¿Estás seguro de que
deseas cancelar la subida?" by updating the "upload" object key "abortUpload" in
es_ES.json so the JSON reads "abortUpload": "¿Estás seguro de que deseas
cancelar la subida?" and ensure the file remains valid JSON (proper quotes and
commas).
🟡 Minor comments (25)
frontend/src/i18n/es_AR.json-325-327 (1)

325-327: Upload abort confirmation is not translated.

Line 326: upload.abortUpload should be translated:

  • Current: "Are you sure you wish to abort?"
  • Suggested: "¿Estás seguro de que deseas cancelar?"
frontend/src/i18n/es_CO.json-325-327 (1)

325-327: Upload section string not translated.

  • Line 326: "abortUpload" → "¿Estás seguro de que deseas cancelar?"
frontend/src/i18n/es_CO.json-118-123 (1)

118-123: Login section strings not translated.

  • Line 119: "inactivity" → "Has sido desconectado por inactividad."
  • Line 123: "passwordTooShort" → "La contraseña debe tener al menos {min} caracteres"
frontend/src/i18n/es_CO.json-5-49 (1)

5-49: Multiple untranslated strings in the buttons section.

Several new keys in this Spanish (Colombian) locale file contain English text instead of Spanish translations:

  • Line 5: "clear": "Clear" → should be "Limpiar"
  • Line 7: "continue": "Continue" → should be "Continuar"
  • Line 9: "copyDownloadLinkToClipboard" → should be "Copiar enlace de descarga al portapapeles"
  • Line 13: "decreaseFontSize" → should be "Reducir tamaño de fuente"
  • Line 16: "discardChanges" → should be "Descartar"
  • Line 19: "editAsText" → should be "Editar como texto"
  • Line 24: "increaseFontSize" → should be "Aumentar tamaño de fuente"
  • Line 42: "saveChanges" → should be "Guardar cambios"
  • Line 49: "stopSearch" → should be "Detener búsqueda"
frontend/src/i18n/tr_TR.json-325-327 (1)

325-327: Upload abort confirmation untranslated.

The upload.abortUpload message should be translated to Turkish.

frontend/src/i18n/pt_PT.json-325-327 (1)

325-327: Upload abort confirmation untranslated.

The upload.abortUpload message should be translated to Portuguese.

frontend/src/i18n/pt_PT.json-118-129 (1)

118-129: Login strings partially untranslated.

logout_reasons.inactivity and passwordTooShort contain English text that should be translated to Portuguese.

frontend/src/i18n/lt_LT.json-325-327 (1)

325-327: Upload abort confirmation untranslated.

The upload.abortUpload message is in English.

frontend/src/i18n/pt_PT.json-5-55 (1)

5-55: Multiple untranslated English strings in Portuguese locale.

Several button labels remain in English: clear, continue, decreaseFontSize, discardChanges, editAsText, fullScreen, increaseFontSize, saveChanges, stopSearch. Consider providing Portuguese translations.

frontend/src/i18n/tr_TR.json-118-123 (1)

118-123: Login strings partially untranslated.

logout_reasons.inactivity and passwordTooShort contain English text.

frontend/src/i18n/lt_LT.json-118-123 (1)

118-123: Login-related strings untranslated.

logout_reasons.inactivity and passwordTooShort contain English text.

frontend/src/i18n/uk_UA.json-94-94 (1)

94-94: Wrong language: Russian text in Ukrainian locale file.

This value is in Russian ("Предварительный просмотр этого файла недоступен.") but should be in Ukrainian. The Ukrainian translation would be something like "Попередній перегляд цього файлу недоступний."

frontend/src/i18n/uk_UA.json-267-267 (1)

267-267: Wrong language: Russian text in Ukrainian locale file.

This value is in Russian ("Установите точный формат даты") but should be in Ukrainian. The Ukrainian translation would be something like "Встановіть точний формат дати."

frontend/src/i18n/fr_FR.json-325-327 (1)

325-327: Upload abort confirmation untranslated.

Consider: "Are you sure you wish to abort?" → "Êtes-vous sûr de vouloir annuler ?"

frontend/src/i18n/zh_CN.json-325-327 (1)

325-327: Upload abort confirmation untranslated.

Consider: "Are you sure you wish to abort?" → "您确定要中止吗?"

frontend/src/i18n/pt_BR.json-325-327 (1)

325-327: Upload abort confirmation is untranslated.

abortUpload should be translated, e.g., "Tem certeza que deseja cancelar?"

frontend/src/i18n/es_MX.json-118-123 (1)

118-123: Login strings need Spanish translation.

logout_reasons.inactivity and passwordTooShort are in English.

frontend/src/i18n/pt_BR.json-118-123 (1)

118-123: Login-related strings are untranslated.

logout_reasons.inactivity and passwordTooShort are in English. Consider translating, e.g.:

  • "You have been logged out due to inactivity." → "Você foi desconectado devido à inatividade."
  • "Password must be at least {min} characters" → "A senha deve ter pelo menos {min} caracteres"
frontend/src/i18n/pt_BR.json-142-145 (1)

142-145: Prompt messages for user deletion and editor changes are untranslated.

deleteUser and discardEditorChanges remain in English.

frontend/src/i18n/zh_CN.json-118-123 (1)

118-123: Login-related strings need Chinese translation.

logout_reasons.inactivity and passwordTooShort are in English.

frontend/src/i18n/fr_FR.json-118-123 (1)

118-123: Login-related strings need French translation.

logout_reasons.inactivity and passwordTooShort are in English.

frontend/src/i18n/es_MX.json-325-327 (1)

325-327: Upload abort confirmation untranslated.

Consider: "Are you sure you wish to abort?" → "¿Estás seguro de que deseas cancelar?"

frontend/src/i18n/ar_AR.json-325-327 (1)

325-327: Upload abort confirmation untranslated.

abortUpload should be translated to Arabic for consistency.

frontend/src/i18n/zh_CN.json-5-49 (1)

5-49: Multiple button labels remain untranslated.

Several new button keys are still in English: clear, continue, copyDownloadLinkToClipboard, decreaseFontSize, discardChanges, editAsText, fullScreen, increaseFontSize, preview, saveChanges, stopSearch.

For Chinese users, English text will be particularly noticeable. Consider translations like: "Clear" → "清除", "Continue" → "继续", "Preview" → "预览".

frontend/src/i18n/ar_AR.json-118-123 (1)

118-123: Login-related strings need Arabic translation.

logout_reasons.inactivity and passwordTooShort are in English.

🧹 Nitpick comments (5)
frontend/src/i18n/es_AR.json (1)

1-328: Consider completing translations before merging.

This locale file has approximately 30+ new keys that remain in English. If this is intentional (adding keys now, translating later), consider:

  1. Adding a tracking issue for completing the Spanish (Argentina) translations
  2. Using a translation management tool or process to ensure these don't remain untranslated

If these translations are expected to be complete in this PR, the strings identified in the comments above should be translated before merging.

Would you like me to generate a complete diff with Spanish translations for all the untranslated keys?

frontend/src/components/settings/Languages.vue (1)

18-32: Remove unnecessary quotes from object keys to fix linting errors.

The static analysis tool flags that object keys containing underscores don't require quotes since they are valid JavaScript identifiers.

🧹 Suggested fix to satisfy linter
     const locales = {
-      "ar_AR": "العربية",
-      "en_GB": "English",
-      "es_AR": "Español (Argentina)",
-      "es_CO": "Español (Colombia)",
-      "es_ES": "Español",
-      "es_MX": "Español (Mexico)",
-      "fr_FR": "Français",
-      "id_ID": "Bahasa Indonesia",
-      "lt_LT": "Lietuvių",
-      "pt_BR": "Português (Brasil)",
-      "pt_PT": "Português",
-      "ru_RU": "Русский",
-      "tr_TR": "Türkçe",
-      "uk_UA": "Український",
-      "zh_CN": "中文 (简体)",
+      ar_AR: "العربية",
+      en_GB: "English",
+      es_AR: "Español (Argentina)",
+      es_CO: "Español (Colombia)",
+      es_ES: "Español",
+      es_MX: "Español (Mexico)",
+      fr_FR: "Français",
+      id_ID: "Bahasa Indonesia",
+      lt_LT: "Lietuvių",
+      pt_BR: "Português (Brasil)",
+      pt_PT: "Português",
+      ru_RU: "Русский",
+      tr_TR: "Türkçe",
+      uk_UA: "Український",
+      zh_CN: "中文 (简体)",
     };
frontend/src/i18n/uk_UA.json (1)

77-84: Multiple strings remain untranslated.

Several new keys are currently in English and await Ukrainian translation, including CSV-related strings (lines 77-84), logout reasons (lines 118-120), TUS upload settings (lines 279-282), and the upload abort message (lines 325-327). Consider completing these translations in a follow-up.

Also applies to: 118-120, 279-282, 325-327

frontend/src/i18n/id_ID.json (1)

1-328: Multiple strings remain untranslated.

Similar to other non-English locales in this PR, many new keys remain in English (e.g., CSV-related strings, TUS upload settings, logout reasons, various button labels). Consider prioritizing translation of user-facing strings in a follow-up.

frontend/src/i18n/ru_RU.json (1)

1-328: Multiple strings remain untranslated.

Many new keys remain in English awaiting Russian translation (e.g., CSV-related strings at lines 77-84, TUS upload settings at lines 279-282, various button and settings labels). Consider completing these translations in a follow-up.

📜 Review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 3d45211 and 390ca4d.

📒 Files selected for processing (22)
  • frontend/src/components/settings/Languages.vue
  • frontend/src/i18n/ar_AR.json
  • frontend/src/i18n/bg.json
  • frontend/src/i18n/en.json
  • frontend/src/i18n/en_GB.json
  • frontend/src/i18n/es_AR.json
  • frontend/src/i18n/es_CO.json
  • frontend/src/i18n/es_ES.json
  • frontend/src/i18n/es_MX.json
  • frontend/src/i18n/fr_FR.json
  • frontend/src/i18n/hr.json
  • frontend/src/i18n/id_ID.json
  • frontend/src/i18n/index.ts
  • frontend/src/i18n/lt_LT.json
  • frontend/src/i18n/lv.json
  • frontend/src/i18n/lv_LV.json
  • frontend/src/i18n/pt_BR.json
  • frontend/src/i18n/pt_PT.json
  • frontend/src/i18n/ru_RU.json
  • frontend/src/i18n/tr_TR.json
  • frontend/src/i18n/uk_UA.json
  • frontend/src/i18n/zh_CN.json
💤 Files with no reviewable changes (4)
  • frontend/src/i18n/lv.json
  • frontend/src/i18n/lv_LV.json
  • frontend/src/i18n/bg.json
  • frontend/src/i18n/hr.json
🧰 Additional context used
🪛 GitHub Check: Lint Frontend
frontend/src/components/settings/Languages.vue

[warning] 27-27:
Replace "pt_BR" with pt_BR


[warning] 26-26:
Replace "lt_LT" with lt_LT


[warning] 25-25:
Replace "id_ID" with id_ID


[warning] 24-24:
Replace "fr_FR" with fr_FR


[warning] 23-23:
Replace "es_MX" with es_MX


[warning] 22-22:
Replace "es_ES" with es_ES


[warning] 21-21:
Replace "es_CO" with es_CO


[warning] 20-20:
Replace "es_AR" with es_AR


[warning] 19-19:
Replace "en_GB" with en_GB


[warning] 18-18:
Replace "ar_AR" with ar_AR

🔇 Additional comments (3)
frontend/src/i18n/index.ts (1)

68-70: Traditional Chinese (zh-TW) support removed.

All Chinese locales now map to zh_CN (Simplified Chinese). Users with Traditional Chinese browser settings (e.g., zh-TW, zh-HK) will receive Simplified Chinese translations. If Traditional Chinese support was previously available, this is a breaking change for those users.

Please confirm this is intentional. If Traditional Chinese support should be retained, consider adding a case for zh-TW or zh-Hant patterns.

frontend/src/i18n/en_GB.json (1)

1-328: LGTM!

The English (UK) locale file is well-structured with consistent key naming and proper placeholder syntax throughout the new translation keys.

frontend/src/i18n/en.json (1)

1-329: LGTM!

The new base English locale file provides comprehensive coverage of UI strings with consistent placeholder syntax and proper JSON structure.

✏️ Tip: You can disable this entire section by setting review_details to false in your review settings.

@laurynasgadl laurynasgadl merged commit 7be8c77 into master Jan 15, 2026
4 checks passed
@laurynasgadl laurynasgadl deleted the chore/update-translations branch January 15, 2026 07:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant