Skip to content

Translations update from Hosted Weblate#582

Merged
SupertigerDev merged 10 commits intoNerimity:mainfrom
weblate:weblate-nerimity-nerimity-web
Feb 28, 2026
Merged

Translations update from Hosted Weblate#582
SupertigerDev merged 10 commits intoNerimity:mainfrom
weblate:weblate-nerimity-nerimity-web

Conversation

@weblate
Copy link
Copy Markdown
Contributor

@weblate weblate commented Feb 26, 2026

Translations update from Hosted Weblate for Nerimity/Nerimity Web.

Current translation status:

Weblate translation status

Summary by CodeRabbit

  • Localization
    • German: refined server notification wording and added datetime/relative-time strings.
    • Polish & French: added datetime/relative-time strings; Polish also updated server notification wording.
    • Spanish (es-ES): large expansion (GIF picker, calls, animation controls, Last.fm, webcam/screen-share modals, server notices, private emoji, avatar/banner actions, datetime).
    • Mexican Spanish (es_MX): added placeholder locale file.
    • Turkish: updated reply/repost phrasing and mute modal wording.
    • Chinese (Simplified & Traditional): added general UI labels and account field translations.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Feb 26, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between e45fe55 and 0341c8c.

📒 Files selected for processing (9)
  • src/locales/list/be-tarask.json
  • src/locales/list/de-de.json
  • src/locales/list/es-es.json
  • src/locales/list/es_MX.json
  • src/locales/list/fr-FR.json
  • src/locales/list/pl-pl.json
  • src/locales/list/tr-tr.json
  • src/locales/list/zh-hans.json
  • src/locales/list/zh-hant.json

📝 Walkthrough

Walkthrough

Multiple locale JSON updates: adjusted German and Polish server notice texts, added a new top-level datetime namespace to several locales, large Spanish additions (UI, media, Last.fm, modals), added empty es_MX, Chinese locales gained general, and small Turkish tweaks.

Changes

Cohort / File(s) Summary
German locale
src/locales/list/de-de.json
Changed serverDrawer.joinedThisSessionNotice text; added a new datetime namespace (lessThanAMinuteAgo, duration, relativeFuture, relativePast, relativeNow, yesterdayTime, dateTime).
Polish locale
src/locales/list/pl-pl.json
Updated serverDrawer.joinedThisSessionNotice text; added a new datetime namespace including error.
French locale
src/locales/list/fr-FR.json
Added Last.fm keys (lastfmActivity*, placeholders) and a new top-level datetime object (time-relative keys and error).
Spanish locales (large)
src/locales/list/es-es.json, src/locales/list/es_MX.json
es-es.json: many additions — gifPicker, inbox call keys, call.inputConstraints, useTurn*, interface.reduceAnimations*, header descriptions, Last.fm keys/placeholders, privateEmoji, webcamModal/screenShareModal, avatar/banner actions (revert/remove), serverDrawer.joinedThisSessionNotice*, and a datetime block; minor formatting tweaks. es_MX.json: new empty placeholder file.
Turkish locale
src/locales/list/tr-tr.json
Small text edits: posts.mostLiked7Days.replying changed to a template, added posts.mostLiked7Days.reposted, and muteModal.banning wording adjusted.
Chinese locales
src/locales/list/zh-hans.json, src/locales/list/zh-hant.json
Added new top-level general block containing UI button labels (back/cancel/delete/confirm) and accountData (email, username, password) in both simplified and traditional Chinese files.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Poem

🐰 I hopped through JSON leaves tonight,
Tweaked texts and times by firefly light,
Deutsch, Español, Polski, Français in tune —
Keys aligned beneath a silvery moon, 🥕✨

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description provides context about the source (Hosted Weblate) but is missing key required template sections like implementation details, testing information, and a checklist. Add missing template sections: what the PR does (specific files updated), how testing was performed, and a completed checklist confirming changes meet i18n and localization standards.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main change—a translations update from Hosted Weblate—and is clear and concise.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@weblate weblate force-pushed the weblate-nerimity-nerimity-web branch 2 times, most recently from c19c79a to c82f112 Compare February 27, 2026 19:42
Copy link
Copy Markdown
Contributor

@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.

🧹 Nitpick comments (2)
src/locales/list/fr-FR.json (1)

592-592: Align French tone with the rest of the locale (formal register).

Line 592 uses informal French (“tu”), while most of this file uses formal phrasing. Consider using a formal variant for consistency.

Suggested wording
-            "lastfmActivityDescription": "Partage ce que tu écoutes via Last.fm",
+            "lastfmActivityDescription": "Partagez ce que vous écoutez via Last.fm",
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/locales/list/fr-FR.json` at line 592, Replace the informal phrasing in
the JSON value for the key "lastfmActivityDescription" with a formal register to
match the rest of the locale; for example, change the string from the informal
"Partage ce que tu écoutes via Last.fm" to a formal variant such as "Partagez ce
que vous écoutez via Last.fm" (keep the same JSON key and punctuation).
src/locales/list/es-es.json (1)

672-676: Consider using "Clave API" for terminology consistency.

Line 676 uses "Llave API" while Line 684 uses "Clave secreta del cliente". In Spanish technical contexts, "Clave" is more commonly used for abstract keys (API keys, passwords), while "Llave" typically refers to physical keys.

Suggested change for consistency
-            "lastfmApiKeyPlaceholder": "Llave API de Last.fm"
+            "lastfmApiKeyPlaceholder": "Clave API de Last.fm"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/locales/list/es-es.json` around lines 672 - 676, Update the Spanish
translation value for the key lastfmApiKeyPlaceholder to use "Clave" instead of
"Llave" to match the terminology used elsewhere (e.g., "Clave secreta del
cliente"); change the string from "Llave API de Last.fm" to "Clave API de
Last.fm" so translations are consistent across lastfmApiKeyPlaceholder,
lastfmActivity and related keys.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@src/locales/list/es-es.json`:
- Around line 672-676: Update the Spanish translation value for the key
lastfmApiKeyPlaceholder to use "Clave" instead of "Llave" to match the
terminology used elsewhere (e.g., "Clave secreta del cliente"); change the
string from "Llave API de Last.fm" to "Clave API de Last.fm" so translations are
consistent across lastfmApiKeyPlaceholder, lastfmActivity and related keys.

In `@src/locales/list/fr-FR.json`:
- Line 592: Replace the informal phrasing in the JSON value for the key
"lastfmActivityDescription" with a formal register to match the rest of the
locale; for example, change the string from the informal "Partage ce que tu
écoutes via Last.fm" to a formal variant such as "Partagez ce que vous écoutez
via Last.fm" (keep the same JSON key and punctuation).

ℹ️ Review info

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 4ac7aaa and c19c79a.

📒 Files selected for processing (5)
  • src/locales/list/be-tarask.json
  • src/locales/list/de-de.json
  • src/locales/list/es-es.json
  • src/locales/list/fr-FR.json
  • src/locales/list/pl-pl.json

Copy link
Copy Markdown
Contributor

@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: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@src/locales/list/es-es.json`:
- Around line 138-142: The translations have inconsistent capitalization for
"GIFs" between the "noResults" key and "favorites.noFavorites"; pick a
consistent form and update one of the values so both "noResults" and
"favorites.noFavorites" use the same capitalization (e.g., both "GIFs" or both
"gifs") to maintain uniform locale strings.

ℹ️ Review info

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between c19c79a and c82f112.

📒 Files selected for processing (5)
  • src/locales/list/be-tarask.json
  • src/locales/list/de-de.json
  • src/locales/list/es-es.json
  • src/locales/list/fr-FR.json
  • src/locales/list/pl-pl.json
🚧 Files skipped from review as they are similar to previous changes (2)
  • src/locales/list/fr-FR.json
  • src/locales/list/de-de.json

Comment on lines +138 to +142
"noResults": "No se han encontrado GIFs",
"favorites": {
"title": "Favoritos",
"search": "Buscar favoritos",
"noFavorites": "No tienes gifs favoritos"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Minor inconsistency: "GIFs" vs "gifs" capitalization.

Line 138 uses uppercase "GIFs" while line 142 uses lowercase "gifs". Consider unifying the capitalization for consistency.

             "favorites": {
                 "title": "Favoritos",
                 "search": "Buscar favoritos",
-                "noFavorites": "No tienes gifs favoritos"
+                "noFavorites": "No tienes GIFs favoritos"
             }
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"noResults": "No se han encontrado GIFs",
"favorites": {
"title": "Favoritos",
"search": "Buscar favoritos",
"noFavorites": "No tienes gifs favoritos"
"noResults": "No se han encontrado GIFs",
"favorites": {
"title": "Favoritos",
"search": "Buscar favoritos",
"noFavorites": "No tienes GIFs favoritos"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/locales/list/es-es.json` around lines 138 - 142, The translations have
inconsistent capitalization for "GIFs" between the "noResults" key and
"favorites.noFavorites"; pick a consistent form and update one of the values so
both "noResults" and "favorites.noFavorites" use the same capitalization (e.g.,
both "GIFs" or both "gifs") to maintain uniform locale strings.

Copy link
Copy Markdown
Contributor

@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: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@src/locales/list/tr-tr.json`:
- Line 835: The translation key posts.replying contains a malformed rich-text
tag and a typo; replace the invalid "<1>{{username}}<1>" with a properly closed
rich-text tag surrounding the username (e.g., "<1>{{username}}</1>") and correct
the typo "kullanıcısna" to "kullanıcıya" so the value for posts.replying reads
something like "<1>{{username}}</1> kullanıcısna yanıt veriliyor." updated to
"<1>{{username}}</1> kullanıcıya yanıt veriliyor." ensuring posts.replying uses
the corrected tag and spelling.

ℹ️ Review info

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between c82f112 and e45fe55.

📒 Files selected for processing (2)
  • src/locales/list/es_MX.json
  • src/locales/list/tr-tr.json
✅ Files skipped from review due to trivial changes (1)
  • src/locales/list/es_MX.json

"mostLikedAllTime": "En Çok Beğenilen (Tüm Zamanlar)"
},
"replying": ""
"replying": "<1>{{username}}<1> kullanıcısna yanıt veriliyor.",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Fix broken rich-text tag and typo in posts.replying.

Line [835] has an invalid tag (<1>{{username}}<1>) and a typo (kullanıcısna). This can break rich-text rendering and show malformed text.

🔧 Proposed fix
-        "replying": "<1>{{username}}<1>  kullanıcısna yanıt veriliyor.",
+        "replying": "<1>{{username}}</1> kullanıcısına yanıt veriliyor.",
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"replying": "<1>{{username}}<1> kullanıcısna yanıt veriliyor.",
"replying": "<1>{{username}}</1> kullanıcısına yanıt veriliyor.",
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/locales/list/tr-tr.json` at line 835, The translation key posts.replying
contains a malformed rich-text tag and a typo; replace the invalid
"<1>{{username}}<1>" with a properly closed rich-text tag surrounding the
username (e.g., "<1>{{username}}</1>") and correct the typo "kullanıcısna" to
"kullanıcıya" so the value for posts.replying reads something like
"<1>{{username}}</1> kullanıcısna yanıt veriliyor." updated to
"<1>{{username}}</1> kullanıcıya yanıt veriliyor." ensuring posts.replying uses
the corrected tag and spelling.

@weblate weblate force-pushed the weblate-nerimity-nerimity-web branch from e45fe55 to 9048189 Compare February 28, 2026 09:51
mathiiiiiis and others added 10 commits February 28, 2026 10:52
Currently translated at 100.0% (987 of 987 strings)

Translation: Nerimity/Nerimity Web
Translate-URL: https://hosted.weblate.org/projects/nerimity/nerimity-web/de/
Currently translated at 100.0% (987 of 987 strings)

Translation: Nerimity/Nerimity Web
Translate-URL: https://hosted.weblate.org/projects/nerimity/nerimity-web/be_TARASK/
Currently translated at 99.8% (987 of 988 strings)

Translation: Nerimity/Nerimity Web
Translate-URL: https://hosted.weblate.org/projects/nerimity/nerimity-web/fr/
Currently translated at 100.0% (988 of 988 strings)

Translation: Nerimity/Nerimity Web
Translate-URL: https://hosted.weblate.org/projects/nerimity/nerimity-web/pl/
Currently translated at 100.0% (988 of 988 strings)

Translation: Nerimity/Nerimity Web
Translate-URL: https://hosted.weblate.org/projects/nerimity/nerimity-web/be_TARASK/
Currently translated at 100.0% (988 of 988 strings)

Translation: Nerimity/Nerimity Web
Translate-URL: https://hosted.weblate.org/projects/nerimity/nerimity-web/es/
Currently translated at 95.1% (940 of 988 strings)

Translation: Nerimity/Nerimity Web
Translate-URL: https://hosted.weblate.org/projects/nerimity/nerimity-web/tr/
Currently translated at 29.4% (291 of 988 strings)

Translation: Nerimity/Nerimity Web
Translate-URL: https://hosted.weblate.org/projects/nerimity/nerimity-web/zh_Hans/
Currently translated at 15.6% (155 of 988 strings)

Translation: Nerimity/Nerimity Web
Translate-URL: https://hosted.weblate.org/projects/nerimity/nerimity-web/zh_Hant/
@weblate weblate force-pushed the weblate-nerimity-nerimity-web branch from 9048189 to 0341c8c Compare February 28, 2026 09:52
@SupertigerDev SupertigerDev merged commit 6e03078 into Nerimity:main Feb 28, 2026
1 check passed
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.

7 participants