fix(profiles): name the Plex user and account in one translated chip

A Plex account connection labels itself with the account owner's name.
Under a profile tile that reads as being signed in as the owner: the
Plex Home tile showed the owner beneath the Home user's own name, and a
local profile that borrowed a Home user out of someone else's account
showed only the lender.

Both halves of the relation now go through a single translated string,
so a locale orders them itself instead of inheriting the English
"user via account" — az, hu, ja, kk, ko, tr, uz, zh and zh-Hant put the
account first. When the Home cache cannot resolve the connection's uuid
the chip names the account alone rather than falling back to a bare
name. ProfilesView carries the Home user cache that resolution needs,
and chip labels ellipsize now that an account label can be an email.
This commit is contained in:
edde746
2026-08-05 13:05:15 +02:00
parent edaff1fbfc
commit 26dbce0277
48 changed files with 437 additions and 139 deletions
+6 -2
View File
@@ -879,6 +879,8 @@ class _Translations$profiles$ru extends Translations$profiles$en {
@override String get noConnectionsHint => 'Нет соединений — добавьте одно, чтобы использовать этот профиль.';
@override String get noConnections => 'Нет соединений';
@override String get plexHomeAccount => 'Аккаунт Plex Home';
@override String plexAccountChip({required Object account}) => 'Аккаунт Plex: ${account}';
@override String plexAccountUserChip({required Object user, required Object account}) => '${user} через ${account}';
@override String get connectionDefault => 'По умолчанию';
@override String connectionAs({required Object displayName}) => 'как ${displayName}';
@override String get makeDefault => 'Сделать по умолчанию';
@@ -2833,6 +2835,8 @@ extension on TranslationsRu {
'profiles.noConnectionsHint' => 'Нет соединений — добавьте одно, чтобы использовать этот профиль.',
'profiles.noConnections' => 'Нет соединений',
'profiles.plexHomeAccount' => 'Аккаунт Plex Home',
'profiles.plexAccountChip' => ({required Object account}) => 'Аккаунт Plex: ${account}',
'profiles.plexAccountUserChip' => ({required Object user, required Object account}) => '${user} через ${account}',
'profiles.connectionDefault' => 'По умолчанию',
'profiles.connectionAs' => ({required Object displayName}) => 'как ${displayName}',
'profiles.makeDefault' => 'Сделать по умолчанию',
@@ -3219,10 +3223,10 @@ extension on TranslationsRu {
'watchTogether.failedToJoin' => 'Не удалось присоединиться к сессии',
'watchTogether.sessionCodeCopied' => 'Код сессии скопирован в буфер обмена',
'watchTogether.relayUnreachable' => 'Сервер ретрансляции недоступен. Блокировка интернет-провайдером может помешать совместному просмотру.',
'watchTogether.reconnectingToHost' => 'Повторное подключение к организатору...',
'watchTogether.currentPlayback' => 'Текущее воспроизведение',
_ => null,
} ?? switch (path) {
'watchTogether.reconnectingToHost' => 'Повторное подключение к организатору...',
'watchTogether.currentPlayback' => 'Текущее воспроизведение',
'watchTogether.joinCurrentPlayback' => 'Присоединиться к текущему воспроизведению',
'watchTogether.joinCurrentPlaybackDescription' => 'Вернуться к материалу, который сейчас смотрит организатор',
'watchTogether.failedToOpenCurrentPlayback' => 'Не удалось открыть текущее воспроизведение',