Skip to content

Translations update from Hosted Weblate - #54

Open
weblate wants to merge 3 commits into
appsono:mainfrom
weblate:weblate-sono-sono-app
Open

Translations update from Hosted Weblate#54
weblate wants to merge 3 commits into
appsono:mainfrom
weblate:weblate-sono-sono-app

Conversation

@weblate

@weblate weblate commented Aug 12, 2026

Copy link
Copy Markdown
Collaborator

Translations update from Hosted Weblate for Sono/Sono App.

Current translation status:

Weblate translation status

Summary by CodeRabbit

  • New Features
    • Added Belarusian translations for profile subtitles, headphone playback settings, recently played content, and artist discographies.
    • Added Ukrainian translations for artist discographies, filtering, top songs, playlist details, listening statistics, related artists, and pluralized song counts.
    • Added Portuguese translations for discography headings, Singles & EPs filtering, and empty or no-match states.

@coderabbitai

coderabbitai Bot commented Aug 12, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The pull request updates Belarusian settings and artist-page translations. It adds Ukrainian and Portuguese translations for artist pages, filters, discographies, statistics, playlists, and related artists.

Changes

Localization updates

Layer / File(s) Summary
Belarusian settings and artist translations
lib/l10n/translations/sono_be.arb
The profile and playback labels are updated. Translations are added for recently played content and artist discography states.
Ukrainian artist-page translations
lib/l10n/translations/sono_uk.arb
Translations are added for artist labels, filters, discography navigation, play counts, playlists, listening statistics, and related artists with pluralized counts.
Portuguese artist-page translations
lib/l10n/translations/sono_pt.arb
Translations are added for artist releases, empty discographies, filtered no-match results, and the Singles & EPs filter.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Mergeability Score: 🔵 Low · up to 8529b

The PR updates localized strings, but one Portuguese label remains partly in English, creating a small translation inconsistency without functional impact. It is mergeable with a minor localization follow-up.

Possibly related PRs

Suggested reviewers: jvvav, mathiiiiiis

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly describes the translation updates from Hosted Weblate, which match the pull request changes.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@lib/l10n/translations/sono_be.arb`:
- Around line 1494-1497: Update the artistAppearsOn Belarusian translation to
explicitly convey releases on which the artist is credited, without limiting the
meaning to compilations; leave the accompanying `@artistAppearsOn` metadata
unchanged.

In `@lib/l10n/translations/sono_uk.arb`:
- Around line 1720-1722: Update the artistFilterFeatured translation from
“Вибране” to the translator-approved Ukrainian equivalent of the existing
artistAppearsOn label, preserving the description and surrounding ARB structure.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 9658dce2-7b60-4340-a290-8046dfb69122

📥 Commits

Reviewing files that changed from the base of the PR and between 10fe61a and bf2623f.

📒 Files selected for processing (2)
  • lib/l10n/translations/sono_be.arb
  • lib/l10n/translations/sono_uk.arb

Comment on lines +1494 to +1497
"artistAppearsOn": "З'яўляецца",
"@artistAppearsOn": {
"description": "Heading above releases by other artists that this artist is credited on."
},

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -eu
printf '%s\n' '--- target entry ---'
sed -n '1478,1502p' lib/l10n/translations/sono_be.arb
printf '%s\n' '--- English entry ---'
if [ -f lib/l10n/translations/sono_en.arb ]; then
  sed -n '1478,1502p' lib/l10n/translations/sono_en.arb
else
  fd -i 'sono.*\.arb$' lib/l10n/translations -x sh -c 'echo "--- $1 ---"; rg -n -A4 -B2 "\"artistAppearsOn\"" "$1"' sh
fi
printf '%s\n' '--- related Belarusian uses ---'
rg -n -i -A2 -B2 'appears|featured|З.*яўляецца|artistAppearsOn' lib/l10n/translations

Repository: appsono/sono-new

Length of output: 11284


🌐 Web query:

Belarusian translation “Appears on” music album artist credited “з'яўляецца на” “выканаўца”

💡 Result:

In music streaming and metadata management, the term Appears On is a structural section identifier used by platforms like Spotify to categorize releases where an artist is featured rather than being the primary or lead artist [1][2]. This label is a functional interface component rather than a descriptive credit that appears on album liners or physical packaging [3]. There is no standard or formal Belarusian translation for the functional interface label Appears On. The phrase з'яўляецца на (literally: appears on) is a direct, word-for-word translation, but it is not typically used as a professional music metadata term in Belarusian [4][5]. In Belarusian-language contexts, such metadata categories on streaming platforms are usually left in the platform's default language (typically English or Russian) [6]. If you are localizing an interface or preparing metadata for a Belarusian audience, the following approaches are standard: 1. Functional usage: If the goal is to describe the discography section, a more natural Belarusian phrasing for "Appears on releases" would be Зборнікі з удзелам (Compilations with participation) or Проста ўдзел (Simply participation), though these are contextual rather than literal translations of the UI label [4][5]. 2. Direct translation: Using з'яўляецца на is linguistically understandable as a statement of fact, but it is unlikely to be recognized as a standard UI term [7]. 3. Professional practice: Metadata standards for music (such as those used by MusicBrainz or Discogs) prioritize exact transcription of credits as they appear on the physical release [8]. If a credit on an album sleeve is written as "Appears on", it should be preserved in that language [8]. In summary, з'яўляецца на is a literal translation that lacks established usage in the music industry [4][5]. For professional metadata or UI localization, using the platform's native terminology or a context-aware phrase like Зборнікі з удзелам is preferred [1][2].

Citations:


🏁 Script executed:

#!/bin/bash
set -eu
printf '%s\n' '--- key usages ---'
rg -n -C4 'artistAppearsOn' --glob '!lib/l10n/translations/*.arb' .
printf '%s\n' '--- related artist section/filter identifiers ---'
rg -n -i -C3 'appears.?on|featured|discography|credited' --glob '*.{dart,arb}' lib | head -240

Repository: appsono/sono-new

Length of output: 17154


Use a Belarusian label for credited releases.

artistAppearsOn labels albums where the artist is credited but is not the primary artist. З'яўляецца means only “Appears” and omits this relationship. Replace it with context-appropriate Belarusian wording. Do not use wording that narrows the scope to compilations.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@lib/l10n/translations/sono_be.arb` around lines 1494 - 1497, Update the
artistAppearsOn Belarusian translation to explicitly convey releases on which
the artist is credited, without limiting the meaning to compilations; leave the
accompanying `@artistAppearsOn` metadata unchanged.

Comment on lines +1720 to +1722
"artistFilterFeatured": "Вибране",
"@artistFilterFeatured": {
"description": "Discography filter chip for albums the artist only appears on."

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -eu
printf '%s\n' '--- target lines ---'
sed -n '1708,1730p' lib/l10n/translations/sono_uk.arb
printf '%s\n' '--- matching keys in translations ---'
rg -n -C 2 '"artistFilter(Featured|Appears|All|Albums|Singles)|"artistFilter' lib/l10n/translations
printf '%s\n' '--- canonical key and references ---'
rg -n -C 3 '"artistFilterFeatured"|artistFilterFeatured' .

Repository: appsono/sono-new

Length of output: 6336


🏁 Script executed:

#!/bin/bash
set -eu
printf '%s\n' '--- filter implementation ---'
sed -n '1,180p' lib/pages/library/subpages/artist_discography_page.dart
printf '%s\n' '--- filter enum and album predicates ---'
rg -n -C 5 'enum DiscographyFilter|DiscographyFilter\.featured|featured' lib/pages lib | head -160

Repository: appsono/sono-new

Length of output: 19568


🌐 Web query:

Ukrainian UI translation for “Featured” meaning content an artist appears on, versus “Вибране” meaning favorites

💡 Result:

In Ukrainian user interface localization, distinguishing between "Featured" (content curated or highlighted) and "Favorites" (items saved by the user) is critical for clarity [1]. For "Featured" content, the recommended Ukrainian translation is Рекомендовані (Recommended) [2][3]. This term is widely used in software localization to indicate content selected by curators, editors, or algorithms to be highlighted for users [2][3]. Other valid options, depending on context, include: - Добірка (Selection/Collection) — often used for curated lists or thematic groups. - Популярне (Popular) — if the "featured" status is driven primarily by high engagement metrics [4]. For "Favorites" (items saved by the user), the standard Ukrainian translation is Улюблені (Favorite/Beloved) [5][6]. This term is the universally accepted UI convention for personal saved lists, bookmarks, or user-selected items [5][6]. Avoid using "Вибране" (Selected) for this function, as it is often ambiguous and can be confused with general selection states (e.g., selecting a file or a checkbox in a list) [7][8][6]. Summary table for UI consistency: English Label | Recommended Ukrainian Translation | Context --- | --- | --- Featured | Рекомендовані | Content curated or highlighted for users Favorites | Улюблені | Personal list of saved items Selected/Select | Вибране / Вибрати | Interaction state (e.g., checkbox, active item) By using "Рекомендовані" for curated content and "Улюблені" for personal collections, you maintain a clear distinction that avoids common localization pitfalls and improves user experience [1].

Citations:


🏁 Script executed:

#!/bin/bash
set -eu
printf '%s\n' '--- existing appears-on translations ---'
rg -n -C 3 '"artistAppearsOn"|artistAppearsOn' lib/l10n/translations
printf '%s\n' '--- featured album query ---'
rg -n -C 8 'getArtistFeaturedAlbumIds' lib

Repository: appsono/sono-new

Length of output: 7213


Use an “Appears on” label for artistFilterFeatured.

Вибране can suggest selected or favorite items. This filter shows releases where the artist is credited but is not the primary artist. Reuse artistAppearsOn wording, З’являється у, or obtain a translator-approved equivalent.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@lib/l10n/translations/sono_uk.arb` around lines 1720 - 1722, Update the
artistFilterFeatured translation from “Вибране” to the translator-approved
Ukrainian equivalent of the existing artistAppearsOn label, preserving the
description and surrounding ARB structure.

@weblate
weblate force-pushed the weblate-sono-sono-app branch 3 times, most recently from f0d3076 to 1f84e8c Compare August 12, 2026 15:33
Sasha Glazko and others added 2 commits August 12, 2026 17:57
Currently translated at 87.3% (365 of 418 strings)

Translation: Sono/Sono App
Translate-URL: https://hosted.weblate.org/projects/sono/sono-app/be/
Currently translated at 100.0% (418 of 418 strings)

Translation: Sono/Sono App
Translate-URL: https://hosted.weblate.org/projects/sono/sono-app/uk/
@weblate
weblate force-pushed the weblate-sono-sono-app branch from 1f84e8c to e55b031 Compare August 12, 2026 17:57
Currently translated at 61.2% (256 of 418 strings)

Translation: Sono/Sono App
Translate-URL: https://hosted.weblate.org/projects/sono/sono-app/pt/

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

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 current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@lib/l10n/translations/sono_pt.arb`:
- Around line 984-986: Update the artistFilterSinglesEps translation value used
by DiscographyFilter.singleEps from the English conjunction to the localized
text “Singles e EPs”; leave its metadata description unchanged.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 1220e464-f68a-4c0f-9695-35f88c394917

📥 Commits

Reviewing files that changed from the base of the PR and between bf2623f and 8529baa.

📒 Files selected for processing (1)
  • lib/l10n/translations/sono_pt.arb

Comment on lines +984 to +986
"artistFilterSinglesEps": "Singles & EPs",
"@artistFilterSinglesEps": {
"description": "Discography filter chip for short releases."

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Translate the filter conjunction.

artistFilterSinglesEps is used by DiscographyFilter.singleEps in lib/pages/library/subpages/artist_discography_page.dart at Lines [281-285]. The value "Singles & EPs" leaves the conjunction in English. Use "Singles e EPs" unless the product intentionally preserves the English label.

Proposed fix
-    "artistFilterSinglesEps": "Singles & EPs",
+    "artistFilterSinglesEps": "Singles e EPs",
📝 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
"artistFilterSinglesEps": "Singles & EPs",
"@artistFilterSinglesEps": {
"description": "Discography filter chip for short releases."
"artistFilterSinglesEps": "Singles e EPs",
"@artistFilterSinglesEps": {
"description": "Discography filter chip for short releases."
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@lib/l10n/translations/sono_pt.arb` around lines 984 - 986, Update the
artistFilterSinglesEps translation value used by DiscographyFilter.singleEps
from the English conjunction to the localized text “Singles e EPs”; leave its
metadata description unchanged.

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.

3 participants