feat(i18n): add RTL layout support for Arabic and other RTL locales

- Export `isLocaleRTL` from `@sofa/i18n` to detect right-to-left locales
- Native: call `I18nManager.allowRTL` / `forceRTL` on locale init and on locale change; reload the app immediately if the current layout direction doesn't match the persisted locale, and prompt the user to restart when switching between LTR and RTL locales
- Native: flip the `SettingsRow` chevron to `IconChevronLeft` when `I18nManager.isRTL` is true
- Native: add Arabic Intl polyfill locale data (PluralRules, NumberFormat, DateTimeFormat, RelativeTimeFormat)
- Web: enable `"rtl": true` in `components.json` and regenerate all shadcn UI components to use CSS logical properties (`ms-*`, `me-*`, `ps-*`, `pe-*`, `text-start`, `text-end`) instead of physical `ml-*`/`mr-*`/`text-left` equivalents
- Web: apply the same logical-property conversions to non-generated components (nav-bar, settings sections, title cards, hero banner, continue-watching card)
- Web: set `document.dir` based on the active locale's RTL flag in the i18n initialiser and root route
- Add `../../packages/i18n/src/po.d.ts` to native `tsconfig.json` includes so TypeScript accepts `.po` imports
This commit is contained in:
2026-03-20 19:25:04 -04:00
parent b540a9111a
commit 5aaf88591b
86 changed files with 18380 additions and 1398 deletions
+13 -1
View File
@@ -3,7 +3,13 @@ import { i18n, type Messages } from "@lingui/core";
import type { SupportedLocale } from "./locales";
import { messages as enMessages } from "./po/en.po";
export { SUPPORTED_LOCALES, type SupportedLocale } from "./locales";
export {
LOCALE_INFO,
SUPPORTED_LOCALES,
type SupportedLocale,
isLocaleRTL,
getDirection,
} from "./locales";
// English always bundled — zero async on default locale
i18n.load("en", enMessages);
@@ -15,6 +21,12 @@ const loaders: Record<Exclude<SupportedLocale, "en">, () => Promise<{ messages:
es: () => import("./po/es.po"),
it: () => import("./po/it.po"),
pt: () => import("./po/pt.po"),
nl: () => import("./po/nl.po"),
ar: () => import("./po/ar.po"),
he: () => import("./po/he.po"),
zh: () => import("./po/zh.po"),
ja: () => import("./po/ja.po"),
ko: () => import("./po/ko.po"),
};
export async function activateLocale(locale: SupportedLocale): Promise<void> {
+46 -6
View File
@@ -2,17 +2,57 @@ export interface LocaleInfo {
code: string;
name: string;
nativeName: string;
isRTL: boolean;
}
export const LOCALE_INFO = [
{ code: "en", name: "English", nativeName: "English" },
{ code: "fr", name: "French", nativeName: "Fran\u00e7ais" },
{ code: "de", name: "German", nativeName: "Deutsch" },
{ code: "es", name: "Spanish", nativeName: "Espa\u00f1ol" },
{ code: "it", name: "Italian", nativeName: "Italiano" },
{ code: "pt", name: "Portuguese", nativeName: "Portugu\u00eas" },
{ code: "en", name: "English", nativeName: "English", isRTL: false },
{ code: "fr", name: "French", nativeName: "Fran\u00e7ais", isRTL: false },
{ code: "de", name: "German", nativeName: "Deutsch", isRTL: false },
{ code: "es", name: "Spanish", nativeName: "Espa\u00f1ol", isRTL: false },
{ code: "it", name: "Italian", nativeName: "Italiano", isRTL: false },
{ code: "pt", name: "Portuguese", nativeName: "Portugu\u00eas", isRTL: false },
{ code: "nl", name: "Dutch", nativeName: "Nederlands", isRTL: false },
{
code: "ar",
name: "Arabic",
nativeName: "\u0627\u0644\u0639\u0631\u0628\u064a\u0629",
isRTL: true,
},
{
code: "he",
name: "Hebrew",
nativeName: "\u05e2\u05d1\u05e8\u05d9\u05ea",
isRTL: true,
},
{
code: "zh",
name: "Chinese",
nativeName: "\u4e2d\u6587",
isRTL: false,
},
{
code: "ja",
name: "Japanese",
nativeName: "\u65e5\u672c\u8a9e",
isRTL: false,
},
{
code: "ko",
name: "Korean",
nativeName: "\ud55c\uad6d\uc5b4",
isRTL: false,
},
] as const satisfies readonly LocaleInfo[];
export type SupportedLocale = (typeof LOCALE_INFO)[number]["code"];
export const SUPPORTED_LOCALES = LOCALE_INFO.map((l) => l.code) as SupportedLocale[];
export function isLocaleRTL(code: string): boolean {
return LOCALE_INFO.find((l) => l.code === code)?.isRTL ?? false;
}
export function getDirection(code: string): "ltr" | "rtl" {
return isLocaleRTL(code) ? "rtl" : "ltr";
}
File diff suppressed because it is too large Load Diff
+285 -161
View File
@@ -8,20 +8,23 @@ msgstr ""
"Language: de\n"
"Project-Id-Version: sofa\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-03-19 00:35\n"
"PO-Revision-Date: 2026-03-20 23:13\n"
"Last-Translator: \n"
"Language-Team: German\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: sofa\n"
"X-Crowdin-Project-ID: 881052\n"
"X-Crowdin-Language: de\n"
"X-Crowdin-File: en.po\n"
"X-Crowdin-File-ID: 14\n"
"X-Crowdin-File: /packages/i18n/src/po/en.po\n"
"X-Crowdin-File-ID: 26\n"
#. placeholder {0}: result.errors.length - 50
#: apps/web/src/components/settings/imports-section.tsx
msgid "...and {0} more"
msgstr "...und {0} weitere"
#~ msgid "...and {0} more"
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "...and {remainingErrors} more"
msgstr ""
#. placeholder {0}: systemHealth.data.imageCache.imageCount
#: apps/native/src/app/(tabs)/(settings)/index.tsx
@@ -33,86 +36,99 @@ msgstr "{0, plural, one {# Bild} other {# Bilder}}"
msgid "{0, plural, one {# title} other {# titles}}"
msgstr "{0, plural, one {# Titel} other {# Titel}}"
#. placeholder {0}: displayBackups.length
#. placeholder {1}: displayBackups.length
#: apps/web/src/components/settings/backup-section.tsx
msgid "{0} {1, plural, one {backup} other {backups}} stored"
msgstr "{0} {1, plural, one {Backup} other {Backups}} gespeichert"
#~ msgid "{0} {1, plural, one {backup} other {backups}} stored"
#~ msgstr ""
#: apps/web/src/components/settings/backup-section.tsx
#~ msgid "{0} backup{1} stored"
#~ msgstr "{0} backup{1} stored"
#. placeholder {0}: backups.backupCount
#: apps/web/src/components/settings/system-health-section.tsx
msgid "{0} backups · last <0/>"
msgstr "{0} Backups · zuletzt <0/>"
#~ msgid "{0} backups · last <0/>"
#~ msgstr ""
#. placeholder {0}: imageCache.imageCount.toLocaleString()
#: apps/web/src/components/settings/system-health-section.tsx
msgid "{0} cached images"
msgstr "{0} gecachte Bilder"
#~ msgid "{0} cached images"
#~ msgstr ""
#. placeholder {0}: member.episodeCount
#. placeholder {1}: member.episodeCount !== 1 ? "s" : ""
#: apps/web/src/components/titles/cast-carousel.tsx
msgid "{0} ep{1}"
msgstr "{0} Ep{1}"
#~ msgid "{0} ep{1}"
#~ msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#~ msgid "{0} images"
#~ msgstr "{0} images"
#. placeholder {0}: stats.watchlist
#: apps/web/src/components/settings/imports-section.tsx
msgid "{0} items"
msgstr "{0} Einträge"
#~ msgid "{0} items"
#~ msgstr ""
#. placeholder {0}: preview.diagnostics.unresolved
#: apps/web/src/components/settings/imports-section.tsx
msgid "{0} items have no external IDs and will be resolved by title search, which may be less accurate."
msgstr "{0} Einträge haben keine externen IDs und werden über die Titelsuche gefunden, was weniger genau sein kann."
#~ msgid "{0} items have no external IDs and will be resolved by title search, which may be less accurate."
#~ msgstr ""
#. placeholder {0}: stats.movies
#. placeholder {1}: stats.episodes
#: apps/web/src/components/settings/imports-section.tsx
msgid "{0} movies, {1} episodes"
msgstr "{0} Filme, {1} Episoden"
#~ msgid "{0} movies, {1} episodes"
#~ msgstr ""
#. placeholder {0}: stats.ratings
#: apps/web/src/components/settings/imports-section.tsx
msgid "{0} ratings"
msgstr "{0} Bewertungen"
#~ msgid "{0} ratings"
#~ msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#~ msgid "{0} titles"
#~ msgstr "{0} titles"
#. placeholder {0}: JOB_LABELS[name] ?? name
#: apps/web/src/components/settings/system-health-section.tsx
msgid "{0} triggered"
msgstr "{0} ausgelöst"
#~ msgid "{0} triggered"
#~ msgstr ""
#. placeholder {0}: item.watchedEpisodes
#. placeholder {1}: item.totalEpisodes
#. placeholder {2}: item.totalEpisodes
#: apps/web/src/components/dashboard/continue-watching-card.tsx
msgid "{0}/{1} {2, plural, one {episode} other {episodes}}"
msgstr "{0}/{1} {2, plural, one {Episode} other {Episoden}}"
#~ msgid "{0}/{1} {2, plural, one {episode} other {episodes}}"
#~ msgstr ""
#: apps/web/src/components/dashboard/continue-watching-card.tsx
#~ msgid "{0}/{1} episodes"
#~ msgstr "{0}/{1} episodes"
#: apps/web/src/components/titles/use-title-actions.ts
#: apps/web/src/components/titles/use-title-actions.ts
msgid "{count} earlier {count, plural, one {episode} other {episodes}} unwatched"
msgstr "{count} {count, plural, one {frühere Episode} other {frühere Episoden}} noch ungesehen"
#: apps/web/src/components/settings/backup-section.tsx
msgid "{backupCount, plural, one {# backup} other {# backups}} stored"
msgstr ""
#. placeholder {0}: activeJobs.length
#: apps/web/src/components/settings/system-health-section.tsx
msgid "{healthyCount} of {0} jobs healthy"
msgstr "{healthyCount} von {0} Jobs fehlerfrei"
msgid "{backupCount} backups · last <0/>"
msgstr ""
#: apps/web/src/components/settings/system-health-section.tsx
msgid "{cachedImageCount} cached images"
msgstr ""
#: apps/web/src/components/titles/use-title-actions.ts
#: apps/web/src/components/titles/use-title-actions.ts
msgid "{count, plural, one {# earlier episode} other {# earlier episodes}} unwatched"
msgstr ""
#: apps/web/src/components/titles/use-title-actions.ts
#: apps/web/src/components/titles/use-title-actions.ts
#~ msgid "{count} earlier {count, plural, one {episode} other {episodes}} unwatched"
#~ msgstr ""
#: apps/web/src/components/titles/cast-carousel.tsx
msgid "{count} ep{suffix}"
msgstr ""
#: apps/web/src/components/settings/system-health-section.tsx
#~ msgid "{healthyCount} of {0} jobs healthy"
#~ msgstr ""
#: apps/web/src/components/settings/system-health-section.tsx
msgid "{healthyCount} of {activeJobCount} jobs healthy"
msgstr ""
#: apps/web/src/components/settings/system-health-section.tsx
msgid "{jobLabel} triggered"
msgstr ""
#: apps/native/src/components/settings/integration-card.tsx
#: apps/web/src/components/settings/integration-card.tsx
@@ -129,25 +145,50 @@ msgstr "{label} getrennt"
msgid "{label} URL regenerated"
msgstr "{label}-URL neu generiert"
#: apps/web/src/components/settings/imports-section.tsx
msgid "{movieCount} movies, {episodeCount} episodes"
msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "{ratingCount} ratings"
msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "{unresolvedCount} items have no external IDs and will be resolved by title search, which may be less accurate."
msgstr ""
#: apps/web/src/components/title-card.tsx
msgid "{watched}/{total} episodes"
msgstr "{watched}/{total} Episoden"
#. placeholder {0}: episodes.length
#: apps/native/src/components/titles/season-accordion.tsx
msgid "{watchedCount} of {0} episodes watched"
msgstr "{watchedCount} von {0} Episoden gesehen"
#~ msgid "{watchedCount} of {0} episodes watched"
#~ msgstr ""
#. placeholder {0}: episodes.length
#. placeholder {1}: episodes.length
#: apps/native/src/components/titles/season-accordion.tsx
msgid "{watchedCount}/{0} {1, plural, one {episode} other {episodes}}"
msgstr "{watchedCount}/{0} {1, plural, one {Episode} other {Episoden}}"
msgid "{watchedCount} of {episodeCount} episodes watched"
msgstr ""
#: apps/native/src/components/titles/season-accordion.tsx
#~ msgid "{watchedCount}/{0} {1, plural, one {episode} other {episodes}}"
#~ msgstr ""
#: apps/native/src/components/titles/season-accordion.tsx
#~ msgid "{watchedCount}/{0} episodes"
#~ msgstr "{watchedCount}/{0} episodes"
#: apps/native/src/components/titles/season-accordion.tsx
msgid "{watchedCount}/{episodeCount, plural, one {# episode} other {# episodes}}"
msgstr ""
#: apps/web/src/components/dashboard/continue-watching-card.tsx
msgid "{watchedEpisodes}/{totalEpisodes, plural, one {# episode} other {# episodes}}"
msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "{watchlistCount} items"
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#: apps/web/src/components/settings/account-section.tsx
msgid "Account"
@@ -207,7 +248,7 @@ msgstr "Zur Merkliste hinzugefügt"
#: apps/web/src/components/nav-bar.tsx
#: apps/web/src/components/settings/account-section.tsx
msgid "Admin"
msgstr "Admin"
msgstr ""
#: apps/web/src/routes/_app/settings.tsx
msgid "Admin only"
@@ -268,10 +309,13 @@ msgstr "Autorisierung erfolgreich, aber die Bibliothek konnte nicht abgerufen we
msgid "Authorization was denied. Please try again."
msgstr "Autorisierung wurde verweigert. Bitte versuche es erneut."
#. placeholder {0}: config.label
#: apps/web/src/components/settings/imports-section.tsx
msgid "Authorize Sofa to read your {0} library. No password shared."
msgstr "Sofa autorisieren, deine {0}-Bibliothek zu lesen. Kein Passwort wird geteilt."
#~ msgid "Authorize Sofa to read your {0} library. No password shared."
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Authorize Sofa to read your {sourceLabel} library. No password shared."
msgstr ""
#: apps/web/src/components/settings/update-check-section.tsx
msgid "Automatic update checks"
@@ -295,7 +339,7 @@ msgstr "Hintergrundaufgaben"
#: apps/web/src/components/settings/system-health-section.tsx
msgid "Backup"
msgstr "Backup"
msgstr ""
#: apps/web/src/components/settings/backup-section.tsx
msgid "Backup created"
@@ -312,11 +356,11 @@ msgstr "Backup-Zeitplan"
#: apps/web/src/components/settings/system-health-section.tsx
#: apps/web/src/routes/_app/settings.tsx
msgid "Backups"
msgstr "Backups"
msgstr ""
#: apps/web/src/components/settings/backup-schedule-section.tsx
#~ msgid "backups."
#~ msgstr "backups."
msgid "backups."
msgstr ""
#: apps/web/src/components/titles/title-availability.tsx
msgid "Buy"
@@ -374,11 +418,13 @@ msgstr "Aufholen"
msgid "Caught Up"
msgstr "Auf dem Laufenden"
#. placeholder {0}: episodeIds.length
#. placeholder {1}: episodeIds.length
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Caught up — marked {0} {1, plural, one {episode} other {episodes}} as watched"
msgstr "Aufgeholt - {0} {1, plural, one {Episode} other {Episoden}} als gesehen markiert"
#~ msgid "Caught up — marked {0} {1, plural, one {episode} other {episodes}} as watched"
#~ msgstr ""
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Caught up — marked {count, plural, one {# episode} other {# episodes}} as watched"
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#: apps/web/src/components/settings/account-section.tsx
@@ -414,10 +460,13 @@ msgstr "Geprüft <0/>"
msgid "Checking…"
msgstr "Prüfe..."
#. placeholder {0}: config.label
#: apps/web/src/components/settings/imports-section.tsx
msgid "Choose how to import your {0} data."
msgstr "Wähle aus, wie du deine {0}-Daten importieren möchtest."
#~ msgid "Choose how to import your {0} data."
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Choose how to import your {sourceLabel} data."
msgstr ""
#: apps/web/src/components/settings/language-section.tsx
#~ msgid "Choose your preferred display language"
@@ -480,12 +529,12 @@ msgstr "Neues Passwort bestätigen"
msgid "Connect"
msgstr "Verbinden"
#. placeholder {0}: config.label
#: apps/web/src/components/settings/integration-card.tsx
msgid "Connect {0}"
msgstr "{0} verbinden"
#~ msgid "Connect {0}"
#~ msgstr ""
#: apps/native/src/components/settings/integration-card.tsx
#: apps/web/src/components/settings/integration-card.tsx
msgid "Connect {label}"
msgstr "{label} verbinden"
@@ -497,10 +546,13 @@ msgstr "Mit {source} verbinden"
msgid "Connect to TMDB"
msgstr "Mit TMDB verbinden"
#. placeholder {0}: config.label
#: apps/web/src/components/settings/imports-section.tsx
msgid "Connect with {0}"
msgstr "Mit {0} verbinden"
#~ msgid "Connect with {0}"
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Connect with {sourceLabel}"
msgstr ""
#: apps/native/src/app/(auth)/server-url.tsx
#: apps/native/src/app/(tabs)/(settings)/index.tsx
@@ -596,7 +648,7 @@ msgstr "Gefahrenzone"
#: apps/web/src/routes/_app/titles.$id.tsx
#: apps/web/src/routes/_app/titles.$id.tsx
msgid "Dashboard"
msgstr "Dashboard"
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#: apps/web/src/components/settings/system-health-section.tsx
@@ -740,11 +792,11 @@ msgstr "Umgebung"
#: apps/native/src/components/titles/episode-row.tsx
#: apps/native/src/components/titles/episode-row.tsx
#~ msgid "Episode {0}"
#~ msgstr "Folge {0}"
#~ msgstr ""
#: apps/native/src/components/titles/episode-row.tsx
#~ msgid "Episode {0}, {episodeLabel}"
#~ msgstr "Folge {0}, {episodeLabel}"
#~ msgstr ""
#: apps/native/src/components/titles/episode-row.tsx
#: apps/native/src/components/titles/episode-row.tsx
@@ -770,10 +822,13 @@ msgstr "Episode als gesehen markiert"
msgid "Episodes"
msgstr "Episoden"
#. placeholder {0}: periodLabels[episodePeriod]
#: apps/native/src/app/(tabs)/(home)/index.tsx
msgid "Episodes {0}"
msgstr "Folgen {0}"
#~ msgid "Episodes {0}"
#~ msgstr "Episodes {0}"
#: apps/native/src/app/(tabs)/(home)/index.tsx
msgid "Episodes {period}"
msgstr ""
#: apps/web/src/components/dashboard/stats-display.tsx
#~ msgid "Episodes {periodSelect}"
@@ -785,17 +840,20 @@ msgstr "Episoden {select}"
#: apps/native/src/app/(tabs)/(home)/index.tsx
#~ msgid "Episodes this week"
#~ msgstr "Episoden diese Woche"
#~ msgstr ""
#: apps/native/src/app/change-password.tsx
#: apps/native/src/app/change-password.tsx
msgid "Error"
msgstr "Fehler"
#. placeholder {0}: result.errors.length
#: apps/web/src/components/settings/imports-section.tsx
msgid "Errors ({0})"
msgstr "Fehler ({0})"
#~ msgid "Errors ({0})"
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Errors ({errorCount})"
msgstr ""
#: apps/native/src/app/(tabs)/(explore)/_layout.tsx
#: apps/native/src/app/(tabs)/(home)/index.tsx
@@ -923,10 +981,13 @@ msgstr "Profilbild konnte nicht entfernt werden"
msgid "Failed to sign in"
msgstr "Anmeldung fehlgeschlagen"
#. placeholder {0}: config.label
#: apps/web/src/components/settings/imports-section.tsx
msgid "Failed to start {0} connection"
msgstr "{0}-Verbindung konnte nicht gestartet werden"
#~ msgid "Failed to start {0} connection"
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Failed to start {sourceLabel} connection"
msgstr ""
#: apps/web/src/components/settings/system-health-section.tsx
msgid "Failed to trigger job"
@@ -1072,7 +1133,7 @@ msgstr "Speichernutzung für Bild-Cache und Backups"
#: apps/web/src/components/settings/imports-section.tsx
msgid "Import"
msgstr "Import"
msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Import {totalItems} items"
@@ -1086,15 +1147,18 @@ msgstr "Import abgeschlossen"
msgid "Import failed"
msgstr "Import fehlgeschlagen"
#. placeholder {0}: config.label
#: apps/web/src/components/settings/imports-section.tsx
msgid "Import from {0}"
msgstr "Von {0} importieren"
#~ msgid "Import from {0}"
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Import from {source}"
msgstr "Von {source} importieren"
#: apps/web/src/components/settings/imports-section.tsx
msgid "Import from {sourceLabel}"
msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
#: apps/web/src/components/settings/imports-section.tsx
msgid "Import is still running in the background. Check back later."
@@ -1108,11 +1172,13 @@ msgstr "Importoptionen"
msgid "Imported"
msgstr "Importiert"
#. placeholder {0}: event.job.importedCount
#. placeholder {1}: config.label
#: apps/web/src/components/settings/imports-section.tsx
msgid "Imported {0} items from {1}"
msgstr "{0} Einträge von {1} importiert"
#~ msgid "Imported {0} items from {1}"
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Imported {importedCount} items from {sourceLabel}"
msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Importing from {source}"
@@ -1158,14 +1224,12 @@ msgid "Job"
msgstr "Aufgabe"
#: apps/web/src/components/settings/backup-schedule-section.tsx
#~ msgid "Keeping"
#~ msgstr "Keeping"
msgid "Keeping"
msgstr ""
#. placeholder {0}: (value: string | null) => value === "0" ? t`unlimited` : value ? t`last ${value}` : null
#. placeholder {1}: [3, 5, 7, 14, 30, 0].map((n) => ( <SelectItem key={n} value={String(n)}> {n === 0 ? t`unlimited` : t`last ${n}`} </SelectItem> ))
#: apps/web/src/components/settings/backup-schedule-section.tsx
msgid "Keeping <0><1><2>{0}</2></1><3>{1}</3></0> backups."
msgstr "<0><1><2>{0}</2></1><3>{1}</3></0> Backups werden aufbewahrt."
#~ msgid "Keeping <0><1><2>{0}</2></1><3>{1}</3></0> backups."
#~ msgstr ""
#: apps/web/src/components/command-palette.tsx
#: apps/web/src/components/command-palette.tsx
@@ -1186,19 +1250,25 @@ msgstr "letzte {n}"
msgid "last {value}"
msgstr "letzte {value}"
#. placeholder {0}: formatRelativeTime(lastEventAt)
#: apps/web/src/components/settings/integration-card.tsx
msgid "Last event {0}"
msgstr "Letztes Ereignis {0}"
#~ msgid "Last event {0}"
#~ msgstr ""
#: apps/web/src/components/settings/integration-card.tsx
msgid "Last event {relativeTime}"
msgstr ""
#: apps/native/src/components/settings/integration-configs.ts
msgid "Last event {timeAgo}"
msgstr "Letztes Ereignis {timeAgo}"
#. placeholder {0}: formatRelativeTime(lastEventAt)
#: apps/web/src/components/settings/integration-card.tsx
msgid "Last polled {0}"
msgstr "Zuletzt abgefragt {0}"
#~ msgid "Last polled {0}"
#~ msgstr ""
#: apps/web/src/components/settings/integration-card.tsx
msgid "Last polled {relativeTime}"
msgstr ""
#: apps/native/src/components/settings/integration-configs.ts
msgid "Last polled {timeAgo}"
@@ -1249,7 +1319,7 @@ msgstr "Alle als gesehen markieren"
#: apps/native/src/components/dashboard/continue-watching-card.tsx
#~ msgid "Mark as Completed"
#~ msgstr "Als abgeschlossen markieren"
#~ msgstr ""
#: apps/native/src/components/ui/poster-card.tsx
msgid "Mark as Watched"
@@ -1257,7 +1327,7 @@ msgstr "Als gesehen markieren"
#: apps/native/src/components/ui/poster-card.tsx
#~ msgid "Mark as Watching"
#~ msgstr "Als am Schauen markieren"
#~ msgstr ""
#: apps/native/src/app/title/[id].tsx
#: apps/web/src/components/titles/title-actions.tsx
@@ -1266,7 +1336,7 @@ msgstr "Als gesehen markieren"
#: apps/native/src/lib/title-actions.ts
#~ msgid "Marked \"{titleName}\" as completed"
#~ msgstr "\"{titleName}\" als abgeschlossen markiert"
#~ msgstr ""
#: apps/native/src/lib/title-actions.ts
#: apps/web/src/components/titles/use-title-actions.ts
@@ -1285,7 +1355,7 @@ msgstr "Alle Folgen von \"{titleName}\" als gesehen markiert"
#: apps/native/src/hooks/use-title-actions.ts
#: apps/native/src/lib/title-actions.ts
#~ msgid "Marked as completed"
#~ msgstr "Als abgeschlossen markiert"
#~ msgstr ""
#: apps/native/src/hooks/use-title-actions.ts
#: apps/native/src/lib/title-actions.ts
@@ -1295,7 +1365,7 @@ msgstr "Als gesehen markiert"
#: apps/native/src/hooks/use-title-actions.ts
#: apps/native/src/lib/title-actions.ts
#~ msgid "Marked as watching"
#~ msgstr "Als am Schauen markiert"
#~ msgstr ""
#: apps/web/src/components/settings/account-section.tsx
msgid "Member since {memberSince}"
@@ -1327,10 +1397,13 @@ msgstr "Film"
msgid "Movies"
msgstr "Filme"
#. placeholder {0}: periodLabels[moviePeriod]
#: apps/native/src/app/(tabs)/(home)/index.tsx
msgid "Movies {0}"
msgstr "Filme {0}"
#~ msgid "Movies {0}"
#~ msgstr "Movies {0}"
#: apps/native/src/app/(tabs)/(home)/index.tsx
msgid "Movies {period}"
msgstr ""
#: apps/web/src/components/dashboard/stats-display.tsx
#~ msgid "Movies {periodSelect}"
@@ -1342,12 +1415,12 @@ msgstr "Filme {select}"
#: apps/native/src/app/(tabs)/(home)/index.tsx
#~ msgid "Movies this month"
#~ msgstr "Filme diesen Monat"
#~ msgstr ""
#: apps/native/src/app/(auth)/register.tsx
#: apps/web/src/components/auth-form.tsx
msgid "Name"
msgstr "Name"
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#: apps/web/src/components/settings/account-section.tsx
@@ -1540,7 +1613,7 @@ msgstr "GitHub regelmäßig auf neue Sofa-Versionen prüfen"
#: apps/native/src/components/search/search-result-row.tsx
#: apps/native/src/components/search/search-result-row.tsx
msgid "Person"
msgstr "Person"
msgstr ""
#: apps/native/src/app/person/[id].tsx
#: apps/web/src/routes/_app/people.$id.tsx
@@ -1635,20 +1708,23 @@ msgstr "Schnellaktionen"
msgid "Radarr List URL"
msgstr "Radarr-Listen-URL"
#. placeholder {0}: input.stars
#. placeholder {1}: input.stars
#: apps/native/src/hooks/use-title-actions.ts
msgid "Rated {0} {1, plural, one {star} other {stars}}"
msgstr "{0} {1, plural, one {Stern} other {Sterne}} bewertet"
#~ msgid "Rated {0} {1, plural, one {star} other {stars}}"
#~ msgstr ""
#: apps/native/src/hooks/use-title-actions.ts
#~ msgid "Rated {0} star{1}"
#~ msgstr "Rated {0} star{1}"
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Rated {ratingStars} {ratingStars, plural, one {star} other {stars}}"
msgstr "{ratingStars} {ratingStars, plural, one {Stern} other {Sterne}} bewertet"
msgid "Rated {ratingStars, plural, one {# star} other {# stars}}"
msgstr ""
#: apps/web/src/components/titles/use-title-actions.ts
#~ msgid "Rated {ratingStars} {ratingStars, plural, one {star} other {stars}}"
#~ msgstr ""
#: apps/native/src/hooks/use-title-actions.ts
#: apps/native/src/lib/title-actions.ts
msgid "Rated {stars, plural, one {# star} other {# stars}}"
msgstr "{stars, plural, one {# Stern} other {# Sterne}} vergeben"
@@ -1810,6 +1886,14 @@ msgstr "Erfordert ein aktives Plex Pass-Abonnement."
msgid "Requires Emby Server 4.7.9+ and an active Emby Premiere license."
msgstr "Erfordert Emby Server 4.7.9+ und eine aktive Emby Premiere-Lizenz."
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Restart"
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Restart Required"
msgstr ""
#: apps/web/src/components/settings/backup-restore-section.tsx
#: apps/web/src/components/settings/backup-restore-section.tsx
msgid "Restore"
@@ -1921,13 +2005,19 @@ msgstr "Filme, Serien, Personen suchen..."
msgid "Search…"
msgstr "Suchen..."
#. placeholder {0}: season.seasonNumber
#: apps/native/src/components/titles/season-accordion.tsx
#: apps/native/src/components/titles/season-accordion.tsx
#: apps/web/src/components/titles/use-title-actions.ts
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Season {0}"
msgstr "Staffel {0}"
#~ msgid "Season {0}"
#~ msgstr ""
#: apps/native/src/components/titles/season-accordion.tsx
#: apps/native/src/components/titles/season-accordion.tsx
#: apps/web/src/components/titles/use-title-actions.ts
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Season {seasonNumber}"
msgstr ""
#: apps/native/src/hooks/use-title-actions.ts
#: apps/native/src/lib/title-actions.ts
@@ -1949,7 +2039,7 @@ msgstr "Selbstgehosteter Film- & Serien-Tracker"
#: apps/web/src/routes/_app/settings.tsx
msgid "Server"
msgstr "Server"
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Server Health"
@@ -2018,12 +2108,18 @@ msgstr "Stattdessen anmelden"
msgid "Sign in to continue"
msgstr "Anmelden, um fortzufahren"
#. placeholder {0}: authConfig.data?.oidcProviderName ?? "SSO"
#. placeholder {0}: authConfig?.oidcProviderName || "SSO"
#: apps/native/src/app/(auth)/login.tsx
#: apps/web/src/components/auth-form.tsx
msgid "Sign in with {0}"
msgstr "Mit {0} anmelden"
#~ msgid "Sign in with {0}"
#~ msgstr ""
#: apps/web/src/components/auth-form.tsx
msgid "Sign in with {oidcProviderName}"
msgstr ""
#: apps/native/src/app/(auth)/login.tsx
msgid "Sign in with {providerName}"
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#: apps/native/src/components/header-avatar.tsx
@@ -2048,10 +2144,17 @@ msgstr "Von anderen Sitzungen abmelden"
msgid "Skipped"
msgstr "Übersprungen"
#. placeholder {0}: data.latestVersion
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Sofa needs to restart to apply the new layout direction."
msgstr ""
#: apps/web/src/components/update-toast.tsx
msgid "Sofa v{0} is available"
msgstr "Sofa v{0} ist verfügbar"
#~ msgid "Sofa v{0} is available"
#~ msgstr ""
#: apps/web/src/components/update-toast.tsx
msgid "Sofa v{latestVersion} is available"
msgstr ""
#: apps/native/src/components/settings/integration-configs.ts
#: apps/native/src/components/settings/integration-configs.ts
@@ -2118,10 +2221,13 @@ msgstr "Streamen"
msgid "Sunday"
msgstr "Sonntag"
#. placeholder {0}: info.name
#: apps/web/src/components/settings/language-section.tsx
msgid "Switch to {0}"
msgstr "Zu {0} wechseln"
#~ msgid "Switch to {0}"
#~ msgstr ""
#: apps/web/src/components/settings/language-section.tsx
msgid "Switch to {name}"
msgstr ""
#: apps/native/src/app/+not-found.tsx
msgid "The page you're looking for doesn't exist."
@@ -2192,10 +2298,13 @@ msgstr "Dadurch wird die aktuelle {label}-URL ungültig. Du musst sie in {label}
msgid "This will mark every episode of this show as watched. You can undo this later by unmarking individual seasons."
msgstr "Dadurch werden alle Episoden dieser Serie als gesehen markiert. Du kannst dies später rückgängig machen, indem du einzelne Staffeln abwählst."
#. placeholder {0}: formatBackupDate(backup.createdAt)
#: apps/web/src/components/settings/backup-section.tsx
msgid "This will permanently delete the backup from <0>{0}</0>. This cannot be undone."
msgstr "Dadurch wird das Backup vom <0>{0}</0> dauerhaft gelöscht. Dies kann nicht rückgängig gemacht werden."
#~ msgid "This will permanently delete the backup from <0>{0}</0>. This cannot be undone."
#~ msgstr ""
#: apps/web/src/components/settings/backup-section.tsx
msgid "This will permanently delete the backup from <0>{backupDate}</0>. This cannot be undone."
msgstr ""
#: apps/native/src/components/search/recently-viewed-list.ios.tsx
#: apps/native/src/components/search/recently-viewed-list.tsx
@@ -2266,7 +2375,7 @@ msgstr "Verfolge, was du schaust. Wisse, was als Nächstes kommt.<0/>Deine Bibli
#: apps/web/src/components/titles/trailer-dialog.tsx
#: apps/web/src/components/titles/trailer-dialog.tsx
msgid "Trailer"
msgstr "Trailer"
msgstr ""
#: apps/web/src/components/explore/hero-banner.tsx
msgid "Trending today"
@@ -2327,10 +2436,13 @@ msgstr "Ohne Titel"
msgid "Unwatch all"
msgstr "Alle als ungesehen markieren"
#. placeholder {0}: season.name ?? t`Season ${season.seasonNumber}`
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Unwatched all of {0}"
msgstr "Alle Episoden von {0} als ungesehen markiert"
#~ msgid "Unwatched all of {0}"
#~ msgstr ""
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Unwatched all of {seasonLabel}"
msgstr ""
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Unwatched S{seasonNum} E{epNum}"
@@ -2341,10 +2453,13 @@ msgstr "S{seasonNum} E{epNum} als ungesehen markiert"
msgid "Up next"
msgstr "Als Nächstes"
#. placeholder {0}: updateCheck.data.updateCheck.latestVersion
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Update available: {0}"
msgstr "Update verfügbar: {0}"
#~ msgid "Update available: {0}"
#~ msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Update available: {latestVersion}"
msgstr ""
#: apps/web/src/components/settings/system-health-section.tsx
msgid "Update check"
@@ -2381,11 +2496,13 @@ msgstr "Hochladen"
msgid "Upload a .db file to replace the current database. A safety backup is created first."
msgstr "Lade eine .db-Datei hoch, um die aktuelle Datenbank zu ersetzen. Zuerst wird ein Sicherheits-Backup erstellt."
#. placeholder {0}: config.accept
#. placeholder {1}: config.label
#: apps/web/src/components/settings/imports-section.tsx
msgid "Upload a {0} export from your {1} account settings."
msgstr "Lade einen {0}-Export aus deinen {1}-Kontoeinstellungen hoch."
#~ msgid "Upload a {0} export from your {1} account settings."
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Upload a {acceptFormat} export from your {sourceLabel} account settings."
msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Upload export file"
@@ -2419,10 +2536,13 @@ msgstr "Warte auf Autorisierung..."
msgid "Warnings"
msgstr "Warnungen"
#. placeholder {0}: result.warnings.length
#: apps/web/src/components/settings/imports-section.tsx
msgid "Warnings ({0})"
msgstr "Warnungen ({0})"
#~ msgid "Warnings ({0})"
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Warnings ({warningCount})"
msgstr ""
#: apps/web/src/components/titles/title-seasons.tsx
msgid "Watch all"
@@ -2465,7 +2585,7 @@ msgstr "Merkliste"
#: apps/native/src/components/titles/status-action-button.tsx
#~ msgid "Watchlisted"
#~ msgstr "Auf Merkliste"
#~ msgstr ""
#: apps/native/src/components/settings/integration-configs.ts
#: apps/native/src/components/settings/integration-configs.ts
@@ -2505,10 +2625,13 @@ msgstr "Autor"
msgid "You'll be signed out to change the server URL."
msgstr "Du wirst abgemeldet, um die Server-URL zu ändern."
#. placeholder {0}: data.currentVersion
#: apps/web/src/components/update-toast.tsx
msgid "You're running v{0}."
msgstr "Du verwendest v{0}."
#~ msgid "You're running v{0}."
#~ msgstr ""
#: apps/web/src/components/update-toast.tsx
msgid "You're running v{currentVersion}."
msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Your code:"
@@ -2522,3 +2645,4 @@ msgstr "Deine Bibliothek ist leer"
#: apps/native/src/app/(auth)/register.tsx
msgid "Your name"
msgstr "Dein Name"
+262 -139
View File
@@ -18,10 +18,13 @@ msgstr ""
"X-Crowdin-File: /packages/i18n/src/po/en.po\n"
"X-Crowdin-File-ID: 12\n"
#. placeholder {0}: result.errors.length - 50
#: apps/web/src/components/settings/imports-section.tsx
msgid "...and {0} more"
msgstr ""
#~ msgid "...and {0} more"
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "...and {remainingErrors} more"
msgstr "...and {remainingErrors} more"
#. placeholder {0}: systemHealth.data.imageCache.imageCount
#: apps/native/src/app/(tabs)/(settings)/index.tsx
@@ -33,86 +36,99 @@ msgstr ""
msgid "{0, plural, one {# title} other {# titles}}"
msgstr ""
#. placeholder {0}: displayBackups.length
#. placeholder {1}: displayBackups.length
#: apps/web/src/components/settings/backup-section.tsx
msgid "{0} {1, plural, one {backup} other {backups}} stored"
msgstr ""
#~ msgid "{0} {1, plural, one {backup} other {backups}} stored"
#~ msgstr ""
#: apps/web/src/components/settings/backup-section.tsx
#~ msgid "{0} backup{1} stored"
#~ msgstr "{0} backup{1} stored"
#. placeholder {0}: backups.backupCount
#: apps/web/src/components/settings/system-health-section.tsx
msgid "{0} backups · last <0/>"
msgstr ""
#~ msgid "{0} backups · last <0/>"
#~ msgstr ""
#. placeholder {0}: imageCache.imageCount.toLocaleString()
#: apps/web/src/components/settings/system-health-section.tsx
msgid "{0} cached images"
msgstr ""
#~ msgid "{0} cached images"
#~ msgstr ""
#. placeholder {0}: member.episodeCount
#. placeholder {1}: member.episodeCount !== 1 ? "s" : ""
#: apps/web/src/components/titles/cast-carousel.tsx
msgid "{0} ep{1}"
msgstr ""
#~ msgid "{0} ep{1}"
#~ msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#~ msgid "{0} images"
#~ msgstr "{0} images"
#. placeholder {0}: stats.watchlist
#: apps/web/src/components/settings/imports-section.tsx
msgid "{0} items"
msgstr ""
#~ msgid "{0} items"
#~ msgstr ""
#. placeholder {0}: preview.diagnostics.unresolved
#: apps/web/src/components/settings/imports-section.tsx
msgid "{0} items have no external IDs and will be resolved by title search, which may be less accurate."
msgstr ""
#~ msgid "{0} items have no external IDs and will be resolved by title search, which may be less accurate."
#~ msgstr ""
#. placeholder {0}: stats.movies
#. placeholder {1}: stats.episodes
#: apps/web/src/components/settings/imports-section.tsx
msgid "{0} movies, {1} episodes"
msgstr ""
#~ msgid "{0} movies, {1} episodes"
#~ msgstr ""
#. placeholder {0}: stats.ratings
#: apps/web/src/components/settings/imports-section.tsx
msgid "{0} ratings"
msgstr ""
#~ msgid "{0} ratings"
#~ msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#~ msgid "{0} titles"
#~ msgstr "{0} titles"
#. placeholder {0}: JOB_LABELS[name] ?? name
#: apps/web/src/components/settings/system-health-section.tsx
msgid "{0} triggered"
msgstr ""
#~ msgid "{0} triggered"
#~ msgstr ""
#. placeholder {0}: item.watchedEpisodes
#. placeholder {1}: item.totalEpisodes
#. placeholder {2}: item.totalEpisodes
#: apps/web/src/components/dashboard/continue-watching-card.tsx
msgid "{0}/{1} {2, plural, one {episode} other {episodes}}"
msgstr ""
#~ msgid "{0}/{1} {2, plural, one {episode} other {episodes}}"
#~ msgstr ""
#: apps/web/src/components/dashboard/continue-watching-card.tsx
#~ msgid "{0}/{1} episodes"
#~ msgstr "{0}/{1} episodes"
#: apps/web/src/components/titles/use-title-actions.ts
#: apps/web/src/components/titles/use-title-actions.ts
msgid "{count} earlier {count, plural, one {episode} other {episodes}} unwatched"
msgstr ""
#: apps/web/src/components/settings/backup-section.tsx
msgid "{backupCount, plural, one {# backup} other {# backups}} stored"
msgstr "{backupCount, plural, one {# backup} other {# backups}} stored"
#. placeholder {0}: activeJobs.length
#: apps/web/src/components/settings/system-health-section.tsx
msgid "{healthyCount} of {0} jobs healthy"
msgstr ""
msgid "{backupCount} backups · last <0/>"
msgstr "{backupCount} backups · last <0/>"
#: apps/web/src/components/settings/system-health-section.tsx
msgid "{cachedImageCount} cached images"
msgstr "{cachedImageCount} cached images"
#: apps/web/src/components/titles/use-title-actions.ts
#: apps/web/src/components/titles/use-title-actions.ts
msgid "{count, plural, one {# earlier episode} other {# earlier episodes}} unwatched"
msgstr "{count, plural, one {# earlier episode} other {# earlier episodes}} unwatched"
#: apps/web/src/components/titles/use-title-actions.ts
#: apps/web/src/components/titles/use-title-actions.ts
#~ msgid "{count} earlier {count, plural, one {episode} other {episodes}} unwatched"
#~ msgstr ""
#: apps/web/src/components/titles/cast-carousel.tsx
msgid "{count} ep{suffix}"
msgstr "{count} ep{suffix}"
#: apps/web/src/components/settings/system-health-section.tsx
#~ msgid "{healthyCount} of {0} jobs healthy"
#~ msgstr ""
#: apps/web/src/components/settings/system-health-section.tsx
msgid "{healthyCount} of {activeJobCount} jobs healthy"
msgstr "{healthyCount} of {activeJobCount} jobs healthy"
#: apps/web/src/components/settings/system-health-section.tsx
msgid "{jobLabel} triggered"
msgstr "{jobLabel} triggered"
#: apps/native/src/components/settings/integration-card.tsx
#: apps/web/src/components/settings/integration-card.tsx
@@ -129,25 +145,50 @@ msgstr ""
msgid "{label} URL regenerated"
msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "{movieCount} movies, {episodeCount} episodes"
msgstr "{movieCount} movies, {episodeCount} episodes"
#: apps/web/src/components/settings/imports-section.tsx
msgid "{ratingCount} ratings"
msgstr "{ratingCount} ratings"
#: apps/web/src/components/settings/imports-section.tsx
msgid "{unresolvedCount} items have no external IDs and will be resolved by title search, which may be less accurate."
msgstr "{unresolvedCount} items have no external IDs and will be resolved by title search, which may be less accurate."
#: apps/web/src/components/title-card.tsx
msgid "{watched}/{total} episodes"
msgstr ""
#. placeholder {0}: episodes.length
#: apps/native/src/components/titles/season-accordion.tsx
msgid "{watchedCount} of {0} episodes watched"
msgstr ""
#~ msgid "{watchedCount} of {0} episodes watched"
#~ msgstr ""
#. placeholder {0}: episodes.length
#. placeholder {1}: episodes.length
#: apps/native/src/components/titles/season-accordion.tsx
msgid "{watchedCount}/{0} {1, plural, one {episode} other {episodes}}"
msgstr ""
msgid "{watchedCount} of {episodeCount} episodes watched"
msgstr "{watchedCount} of {episodeCount} episodes watched"
#: apps/native/src/components/titles/season-accordion.tsx
#~ msgid "{watchedCount}/{0} {1, plural, one {episode} other {episodes}}"
#~ msgstr ""
#: apps/native/src/components/titles/season-accordion.tsx
#~ msgid "{watchedCount}/{0} episodes"
#~ msgstr "{watchedCount}/{0} episodes"
#: apps/native/src/components/titles/season-accordion.tsx
msgid "{watchedCount}/{episodeCount, plural, one {# episode} other {# episodes}}"
msgstr "{watchedCount}/{episodeCount, plural, one {# episode} other {# episodes}}"
#: apps/web/src/components/dashboard/continue-watching-card.tsx
msgid "{watchedEpisodes}/{totalEpisodes, plural, one {# episode} other {# episodes}}"
msgstr "{watchedEpisodes}/{totalEpisodes, plural, one {# episode} other {# episodes}}"
#: apps/web/src/components/settings/imports-section.tsx
msgid "{watchlistCount} items"
msgstr "{watchlistCount} items"
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#: apps/web/src/components/settings/account-section.tsx
msgid "Account"
@@ -268,10 +309,13 @@ msgstr ""
msgid "Authorization was denied. Please try again."
msgstr ""
#. placeholder {0}: config.label
#: apps/web/src/components/settings/imports-section.tsx
msgid "Authorize Sofa to read your {0} library. No password shared."
msgstr ""
#~ msgid "Authorize Sofa to read your {0} library. No password shared."
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Authorize Sofa to read your {sourceLabel} library. No password shared."
msgstr "Authorize Sofa to read your {sourceLabel} library. No password shared."
#: apps/web/src/components/settings/update-check-section.tsx
msgid "Automatic update checks"
@@ -315,8 +359,8 @@ msgid "Backups"
msgstr ""
#: apps/web/src/components/settings/backup-schedule-section.tsx
#~ msgid "backups."
#~ msgstr "backups."
msgid "backups."
msgstr "backups."
#: apps/web/src/components/titles/title-availability.tsx
msgid "Buy"
@@ -374,11 +418,13 @@ msgstr ""
msgid "Caught Up"
msgstr "Caught Up"
#. placeholder {0}: episodeIds.length
#. placeholder {1}: episodeIds.length
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Caught up — marked {0} {1, plural, one {episode} other {episodes}} as watched"
msgstr ""
#~ msgid "Caught up — marked {0} {1, plural, one {episode} other {episodes}} as watched"
#~ msgstr ""
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Caught up — marked {count, plural, one {# episode} other {# episodes}} as watched"
msgstr "Caught up — marked {count, plural, one {# episode} other {# episodes}} as watched"
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#: apps/web/src/components/settings/account-section.tsx
@@ -414,10 +460,13 @@ msgstr ""
msgid "Checking…"
msgstr ""
#. placeholder {0}: config.label
#: apps/web/src/components/settings/imports-section.tsx
msgid "Choose how to import your {0} data."
msgstr ""
#~ msgid "Choose how to import your {0} data."
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Choose how to import your {sourceLabel} data."
msgstr "Choose how to import your {sourceLabel} data."
#: apps/web/src/components/settings/language-section.tsx
#~ msgid "Choose your preferred display language"
@@ -480,12 +529,12 @@ msgstr ""
msgid "Connect"
msgstr ""
#. placeholder {0}: config.label
#: apps/web/src/components/settings/integration-card.tsx
msgid "Connect {0}"
msgstr ""
#~ msgid "Connect {0}"
#~ msgstr ""
#: apps/native/src/components/settings/integration-card.tsx
#: apps/web/src/components/settings/integration-card.tsx
msgid "Connect {label}"
msgstr ""
@@ -497,10 +546,13 @@ msgstr ""
msgid "Connect to TMDB"
msgstr ""
#. placeholder {0}: config.label
#: apps/web/src/components/settings/imports-section.tsx
msgid "Connect with {0}"
msgstr ""
#~ msgid "Connect with {0}"
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Connect with {sourceLabel}"
msgstr "Connect with {sourceLabel}"
#: apps/native/src/app/(auth)/server-url.tsx
#: apps/native/src/app/(tabs)/(settings)/index.tsx
@@ -770,10 +822,13 @@ msgstr ""
msgid "Episodes"
msgstr ""
#. placeholder {0}: periodLabels[episodePeriod]
#: apps/native/src/app/(tabs)/(home)/index.tsx
msgid "Episodes {0}"
msgstr "Episodes {0}"
#~ msgid "Episodes {0}"
#~ msgstr "Episodes {0}"
#: apps/native/src/app/(tabs)/(home)/index.tsx
msgid "Episodes {period}"
msgstr "Episodes {period}"
#: apps/web/src/components/dashboard/stats-display.tsx
#~ msgid "Episodes {periodSelect}"
@@ -792,10 +847,13 @@ msgstr ""
msgid "Error"
msgstr ""
#. placeholder {0}: result.errors.length
#: apps/web/src/components/settings/imports-section.tsx
msgid "Errors ({0})"
msgstr ""
#~ msgid "Errors ({0})"
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Errors ({errorCount})"
msgstr "Errors ({errorCount})"
#: apps/native/src/app/(tabs)/(explore)/_layout.tsx
#: apps/native/src/app/(tabs)/(home)/index.tsx
@@ -923,10 +981,13 @@ msgstr ""
msgid "Failed to sign in"
msgstr ""
#. placeholder {0}: config.label
#: apps/web/src/components/settings/imports-section.tsx
msgid "Failed to start {0} connection"
msgstr ""
#~ msgid "Failed to start {0} connection"
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Failed to start {sourceLabel} connection"
msgstr "Failed to start {sourceLabel} connection"
#: apps/web/src/components/settings/system-health-section.tsx
msgid "Failed to trigger job"
@@ -1086,15 +1147,18 @@ msgstr ""
msgid "Import failed"
msgstr ""
#. placeholder {0}: config.label
#: apps/web/src/components/settings/imports-section.tsx
msgid "Import from {0}"
msgstr ""
#~ msgid "Import from {0}"
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Import from {source}"
msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Import from {sourceLabel}"
msgstr "Import from {sourceLabel}"
#: apps/web/src/components/settings/imports-section.tsx
#: apps/web/src/components/settings/imports-section.tsx
msgid "Import is still running in the background. Check back later."
@@ -1108,11 +1172,13 @@ msgstr ""
msgid "Imported"
msgstr ""
#. placeholder {0}: event.job.importedCount
#. placeholder {1}: config.label
#: apps/web/src/components/settings/imports-section.tsx
msgid "Imported {0} items from {1}"
msgstr ""
#~ msgid "Imported {0} items from {1}"
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Imported {importedCount} items from {sourceLabel}"
msgstr "Imported {importedCount} items from {sourceLabel}"
#: apps/web/src/components/settings/imports-section.tsx
msgid "Importing from {source}"
@@ -1158,14 +1224,12 @@ msgid "Job"
msgstr ""
#: apps/web/src/components/settings/backup-schedule-section.tsx
#~ msgid "Keeping"
#~ msgstr "Keeping"
msgid "Keeping"
msgstr "Keeping"
#. placeholder {0}: (value: string | null) => value === "0" ? t`unlimited` : value ? t`last ${value}` : null
#. placeholder {1}: [3, 5, 7, 14, 30, 0].map((n) => ( <SelectItem key={n} value={String(n)}> {n === 0 ? t`unlimited` : t`last ${n}`} </SelectItem> ))
#: apps/web/src/components/settings/backup-schedule-section.tsx
msgid "Keeping <0><1><2>{0}</2></1><3>{1}</3></0> backups."
msgstr ""
#~ msgid "Keeping <0><1><2>{0}</2></1><3>{1}</3></0> backups."
#~ msgstr ""
#: apps/web/src/components/command-palette.tsx
#: apps/web/src/components/command-palette.tsx
@@ -1186,19 +1250,25 @@ msgstr ""
msgid "last {value}"
msgstr ""
#. placeholder {0}: formatRelativeTime(lastEventAt)
#: apps/web/src/components/settings/integration-card.tsx
msgid "Last event {0}"
msgstr ""
#~ msgid "Last event {0}"
#~ msgstr ""
#: apps/web/src/components/settings/integration-card.tsx
msgid "Last event {relativeTime}"
msgstr "Last event {relativeTime}"
#: apps/native/src/components/settings/integration-configs.ts
msgid "Last event {timeAgo}"
msgstr ""
#. placeholder {0}: formatRelativeTime(lastEventAt)
#: apps/web/src/components/settings/integration-card.tsx
msgid "Last polled {0}"
msgstr ""
#~ msgid "Last polled {0}"
#~ msgstr ""
#: apps/web/src/components/settings/integration-card.tsx
msgid "Last polled {relativeTime}"
msgstr "Last polled {relativeTime}"
#: apps/native/src/components/settings/integration-configs.ts
msgid "Last polled {timeAgo}"
@@ -1327,10 +1397,13 @@ msgstr ""
msgid "Movies"
msgstr ""
#. placeholder {0}: periodLabels[moviePeriod]
#: apps/native/src/app/(tabs)/(home)/index.tsx
msgid "Movies {0}"
msgstr "Movies {0}"
#~ msgid "Movies {0}"
#~ msgstr "Movies {0}"
#: apps/native/src/app/(tabs)/(home)/index.tsx
msgid "Movies {period}"
msgstr "Movies {period}"
#: apps/web/src/components/dashboard/stats-display.tsx
#~ msgid "Movies {periodSelect}"
@@ -1635,20 +1708,23 @@ msgstr ""
msgid "Radarr List URL"
msgstr ""
#. placeholder {0}: input.stars
#. placeholder {1}: input.stars
#: apps/native/src/hooks/use-title-actions.ts
msgid "Rated {0} {1, plural, one {star} other {stars}}"
msgstr ""
#~ msgid "Rated {0} {1, plural, one {star} other {stars}}"
#~ msgstr ""
#: apps/native/src/hooks/use-title-actions.ts
#~ msgid "Rated {0} star{1}"
#~ msgstr "Rated {0} star{1}"
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Rated {ratingStars} {ratingStars, plural, one {star} other {stars}}"
msgstr ""
msgid "Rated {ratingStars, plural, one {# star} other {# stars}}"
msgstr "Rated {ratingStars, plural, one {# star} other {# stars}}"
#: apps/web/src/components/titles/use-title-actions.ts
#~ msgid "Rated {ratingStars} {ratingStars, plural, one {star} other {stars}}"
#~ msgstr ""
#: apps/native/src/hooks/use-title-actions.ts
#: apps/native/src/lib/title-actions.ts
msgid "Rated {stars, plural, one {# star} other {# stars}}"
msgstr ""
@@ -1810,6 +1886,14 @@ msgstr ""
msgid "Requires Emby Server 4.7.9+ and an active Emby Premiere license."
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Restart"
msgstr "Restart"
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Restart Required"
msgstr "Restart Required"
#: apps/web/src/components/settings/backup-restore-section.tsx
#: apps/web/src/components/settings/backup-restore-section.tsx
msgid "Restore"
@@ -1921,13 +2005,19 @@ msgstr ""
msgid "Search…"
msgstr ""
#. placeholder {0}: season.seasonNumber
#: apps/native/src/components/titles/season-accordion.tsx
#: apps/native/src/components/titles/season-accordion.tsx
#: apps/web/src/components/titles/use-title-actions.ts
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Season {0}"
msgstr ""
#~ msgid "Season {0}"
#~ msgstr ""
#: apps/native/src/components/titles/season-accordion.tsx
#: apps/native/src/components/titles/season-accordion.tsx
#: apps/web/src/components/titles/use-title-actions.ts
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Season {seasonNumber}"
msgstr "Season {seasonNumber}"
#: apps/native/src/hooks/use-title-actions.ts
#: apps/native/src/lib/title-actions.ts
@@ -2018,12 +2108,18 @@ msgstr ""
msgid "Sign in to continue"
msgstr ""
#. placeholder {0}: authConfig.data?.oidcProviderName ?? "SSO"
#. placeholder {0}: authConfig?.oidcProviderName || "SSO"
#: apps/native/src/app/(auth)/login.tsx
#: apps/web/src/components/auth-form.tsx
msgid "Sign in with {0}"
msgstr ""
#~ msgid "Sign in with {0}"
#~ msgstr ""
#: apps/web/src/components/auth-form.tsx
msgid "Sign in with {oidcProviderName}"
msgstr "Sign in with {oidcProviderName}"
#: apps/native/src/app/(auth)/login.tsx
msgid "Sign in with {providerName}"
msgstr "Sign in with {providerName}"
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#: apps/native/src/components/header-avatar.tsx
@@ -2048,10 +2144,17 @@ msgstr ""
msgid "Skipped"
msgstr ""
#. placeholder {0}: data.latestVersion
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Sofa needs to restart to apply the new layout direction."
msgstr "Sofa needs to restart to apply the new layout direction."
#: apps/web/src/components/update-toast.tsx
msgid "Sofa v{0} is available"
msgstr ""
#~ msgid "Sofa v{0} is available"
#~ msgstr ""
#: apps/web/src/components/update-toast.tsx
msgid "Sofa v{latestVersion} is available"
msgstr "Sofa v{latestVersion} is available"
#: apps/native/src/components/settings/integration-configs.ts
#: apps/native/src/components/settings/integration-configs.ts
@@ -2118,10 +2221,13 @@ msgstr ""
msgid "Sunday"
msgstr ""
#. placeholder {0}: info.name
#: apps/web/src/components/settings/language-section.tsx
msgid "Switch to {0}"
msgstr ""
#~ msgid "Switch to {0}"
#~ msgstr ""
#: apps/web/src/components/settings/language-section.tsx
msgid "Switch to {name}"
msgstr "Switch to {name}"
#: apps/native/src/app/+not-found.tsx
msgid "The page you're looking for doesn't exist."
@@ -2192,10 +2298,13 @@ msgstr ""
msgid "This will mark every episode of this show as watched. You can undo this later by unmarking individual seasons."
msgstr ""
#. placeholder {0}: formatBackupDate(backup.createdAt)
#: apps/web/src/components/settings/backup-section.tsx
msgid "This will permanently delete the backup from <0>{0}</0>. This cannot be undone."
msgstr ""
#~ msgid "This will permanently delete the backup from <0>{0}</0>. This cannot be undone."
#~ msgstr ""
#: apps/web/src/components/settings/backup-section.tsx
msgid "This will permanently delete the backup from <0>{backupDate}</0>. This cannot be undone."
msgstr "This will permanently delete the backup from <0>{backupDate}</0>. This cannot be undone."
#: apps/native/src/components/search/recently-viewed-list.ios.tsx
#: apps/native/src/components/search/recently-viewed-list.tsx
@@ -2327,10 +2436,13 @@ msgstr ""
msgid "Unwatch all"
msgstr ""
#. placeholder {0}: season.name ?? t`Season ${season.seasonNumber}`
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Unwatched all of {0}"
msgstr ""
#~ msgid "Unwatched all of {0}"
#~ msgstr ""
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Unwatched all of {seasonLabel}"
msgstr "Unwatched all of {seasonLabel}"
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Unwatched S{seasonNum} E{epNum}"
@@ -2341,10 +2453,13 @@ msgstr ""
msgid "Up next"
msgstr ""
#. placeholder {0}: updateCheck.data.updateCheck.latestVersion
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Update available: {0}"
msgstr ""
#~ msgid "Update available: {0}"
#~ msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Update available: {latestVersion}"
msgstr "Update available: {latestVersion}"
#: apps/web/src/components/settings/system-health-section.tsx
msgid "Update check"
@@ -2381,11 +2496,13 @@ msgstr ""
msgid "Upload a .db file to replace the current database. A safety backup is created first."
msgstr ""
#. placeholder {0}: config.accept
#. placeholder {1}: config.label
#: apps/web/src/components/settings/imports-section.tsx
msgid "Upload a {0} export from your {1} account settings."
msgstr ""
#~ msgid "Upload a {0} export from your {1} account settings."
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Upload a {acceptFormat} export from your {sourceLabel} account settings."
msgstr "Upload a {acceptFormat} export from your {sourceLabel} account settings."
#: apps/web/src/components/settings/imports-section.tsx
msgid "Upload export file"
@@ -2419,10 +2536,13 @@ msgstr ""
msgid "Warnings"
msgstr ""
#. placeholder {0}: result.warnings.length
#: apps/web/src/components/settings/imports-section.tsx
msgid "Warnings ({0})"
msgstr ""
#~ msgid "Warnings ({0})"
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Warnings ({warningCount})"
msgstr "Warnings ({warningCount})"
#: apps/web/src/components/titles/title-seasons.tsx
msgid "Watch all"
@@ -2505,10 +2625,13 @@ msgstr ""
msgid "You'll be signed out to change the server URL."
msgstr ""
#. placeholder {0}: data.currentVersion
#: apps/web/src/components/update-toast.tsx
msgid "You're running v{0}."
msgstr ""
#~ msgid "You're running v{0}."
#~ msgstr ""
#: apps/web/src/components/update-toast.tsx
msgid "You're running v{currentVersion}."
msgstr "You're running v{currentVersion}."
#: apps/web/src/components/settings/imports-section.tsx
msgid "Your code:"
+281 -157
View File
@@ -8,20 +8,23 @@ msgstr ""
"Language: es\n"
"Project-Id-Version: sofa\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-03-19 00:35\n"
"PO-Revision-Date: 2026-03-20 23:13\n"
"Last-Translator: \n"
"Language-Team: Spanish\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: sofa\n"
"X-Crowdin-Project-ID: 881052\n"
"X-Crowdin-Language: es-ES\n"
"X-Crowdin-File: en.po\n"
"X-Crowdin-File-ID: 14\n"
"X-Crowdin-File: /packages/i18n/src/po/en.po\n"
"X-Crowdin-File-ID: 26\n"
#. placeholder {0}: result.errors.length - 50
#: apps/web/src/components/settings/imports-section.tsx
msgid "...and {0} more"
msgstr "...y {0} más"
#~ msgid "...and {0} more"
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "...and {remainingErrors} more"
msgstr ""
#. placeholder {0}: systemHealth.data.imageCache.imageCount
#: apps/native/src/app/(tabs)/(settings)/index.tsx
@@ -33,86 +36,99 @@ msgstr "{0, plural, one {# imagen} other {# imágenes}}"
msgid "{0, plural, one {# title} other {# titles}}"
msgstr "{0, plural, one {# título} other {# títulos}}"
#. placeholder {0}: displayBackups.length
#. placeholder {1}: displayBackups.length
#: apps/web/src/components/settings/backup-section.tsx
msgid "{0} {1, plural, one {backup} other {backups}} stored"
msgstr "{0} {1, plural, one {backup almacenado} other {backups almacenados}}"
#~ msgid "{0} {1, plural, one {backup} other {backups}} stored"
#~ msgstr ""
#: apps/web/src/components/settings/backup-section.tsx
#~ msgid "{0} backup{1} stored"
#~ msgstr "{0} backup{1} stored"
#. placeholder {0}: backups.backupCount
#: apps/web/src/components/settings/system-health-section.tsx
msgid "{0} backups · last <0/>"
msgstr "{0} backups · último <0/>"
#~ msgid "{0} backups · last <0/>"
#~ msgstr ""
#. placeholder {0}: imageCache.imageCount.toLocaleString()
#: apps/web/src/components/settings/system-health-section.tsx
msgid "{0} cached images"
msgstr "{0} imágenes en caché"
#~ msgid "{0} cached images"
#~ msgstr ""
#. placeholder {0}: member.episodeCount
#. placeholder {1}: member.episodeCount !== 1 ? "s" : ""
#: apps/web/src/components/titles/cast-carousel.tsx
msgid "{0} ep{1}"
msgstr "{0} ep{1}"
#~ msgid "{0} ep{1}"
#~ msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#~ msgid "{0} images"
#~ msgstr "{0} images"
#. placeholder {0}: stats.watchlist
#: apps/web/src/components/settings/imports-section.tsx
msgid "{0} items"
msgstr "{0} elementos"
#~ msgid "{0} items"
#~ msgstr ""
#. placeholder {0}: preview.diagnostics.unresolved
#: apps/web/src/components/settings/imports-section.tsx
msgid "{0} items have no external IDs and will be resolved by title search, which may be less accurate."
msgstr "{0} elementos no tienen IDs externos y se resolverán por búsqueda de título, lo que puede ser menos preciso."
#~ msgid "{0} items have no external IDs and will be resolved by title search, which may be less accurate."
#~ msgstr ""
#. placeholder {0}: stats.movies
#. placeholder {1}: stats.episodes
#: apps/web/src/components/settings/imports-section.tsx
msgid "{0} movies, {1} episodes"
msgstr "{0} películas, {1} episodios"
#~ msgid "{0} movies, {1} episodes"
#~ msgstr ""
#. placeholder {0}: stats.ratings
#: apps/web/src/components/settings/imports-section.tsx
msgid "{0} ratings"
msgstr "{0} valoraciones"
#~ msgid "{0} ratings"
#~ msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#~ msgid "{0} titles"
#~ msgstr "{0} titles"
#. placeholder {0}: JOB_LABELS[name] ?? name
#: apps/web/src/components/settings/system-health-section.tsx
msgid "{0} triggered"
msgstr "{0} iniciado"
#~ msgid "{0} triggered"
#~ msgstr ""
#. placeholder {0}: item.watchedEpisodes
#. placeholder {1}: item.totalEpisodes
#. placeholder {2}: item.totalEpisodes
#: apps/web/src/components/dashboard/continue-watching-card.tsx
msgid "{0}/{1} {2, plural, one {episode} other {episodes}}"
msgstr "{0}/{1} {2, plural, one {episodio} other {episodios}}"
#~ msgid "{0}/{1} {2, plural, one {episode} other {episodes}}"
#~ msgstr ""
#: apps/web/src/components/dashboard/continue-watching-card.tsx
#~ msgid "{0}/{1} episodes"
#~ msgstr "{0}/{1} episodes"
#: apps/web/src/components/titles/use-title-actions.ts
#: apps/web/src/components/titles/use-title-actions.ts
msgid "{count} earlier {count, plural, one {episode} other {episodes}} unwatched"
msgstr "{count} {count, plural, one {episodio anterior sin ver} other {episodios anteriores sin ver}}"
#: apps/web/src/components/settings/backup-section.tsx
msgid "{backupCount, plural, one {# backup} other {# backups}} stored"
msgstr ""
#. placeholder {0}: activeJobs.length
#: apps/web/src/components/settings/system-health-section.tsx
msgid "{healthyCount} of {0} jobs healthy"
msgstr "{healthyCount} de {0} tareas en buen estado"
msgid "{backupCount} backups · last <0/>"
msgstr ""
#: apps/web/src/components/settings/system-health-section.tsx
msgid "{cachedImageCount} cached images"
msgstr ""
#: apps/web/src/components/titles/use-title-actions.ts
#: apps/web/src/components/titles/use-title-actions.ts
msgid "{count, plural, one {# earlier episode} other {# earlier episodes}} unwatched"
msgstr ""
#: apps/web/src/components/titles/use-title-actions.ts
#: apps/web/src/components/titles/use-title-actions.ts
#~ msgid "{count} earlier {count, plural, one {episode} other {episodes}} unwatched"
#~ msgstr ""
#: apps/web/src/components/titles/cast-carousel.tsx
msgid "{count} ep{suffix}"
msgstr ""
#: apps/web/src/components/settings/system-health-section.tsx
#~ msgid "{healthyCount} of {0} jobs healthy"
#~ msgstr ""
#: apps/web/src/components/settings/system-health-section.tsx
msgid "{healthyCount} of {activeJobCount} jobs healthy"
msgstr ""
#: apps/web/src/components/settings/system-health-section.tsx
msgid "{jobLabel} triggered"
msgstr ""
#: apps/native/src/components/settings/integration-card.tsx
#: apps/web/src/components/settings/integration-card.tsx
@@ -129,25 +145,50 @@ msgstr "{label} desconectado"
msgid "{label} URL regenerated"
msgstr "URL de {label} regenerada"
#: apps/web/src/components/settings/imports-section.tsx
msgid "{movieCount} movies, {episodeCount} episodes"
msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "{ratingCount} ratings"
msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "{unresolvedCount} items have no external IDs and will be resolved by title search, which may be less accurate."
msgstr ""
#: apps/web/src/components/title-card.tsx
msgid "{watched}/{total} episodes"
msgstr "{watched}/{total} episodios"
#. placeholder {0}: episodes.length
#: apps/native/src/components/titles/season-accordion.tsx
msgid "{watchedCount} of {0} episodes watched"
msgstr "{watchedCount} de {0} episodios vistos"
#~ msgid "{watchedCount} of {0} episodes watched"
#~ msgstr ""
#. placeholder {0}: episodes.length
#. placeholder {1}: episodes.length
#: apps/native/src/components/titles/season-accordion.tsx
msgid "{watchedCount}/{0} {1, plural, one {episode} other {episodes}}"
msgstr "{watchedCount}/{0} {1, plural, one {episodio} other {episodios}}"
msgid "{watchedCount} of {episodeCount} episodes watched"
msgstr ""
#: apps/native/src/components/titles/season-accordion.tsx
#~ msgid "{watchedCount}/{0} {1, plural, one {episode} other {episodes}}"
#~ msgstr ""
#: apps/native/src/components/titles/season-accordion.tsx
#~ msgid "{watchedCount}/{0} episodes"
#~ msgstr "{watchedCount}/{0} episodes"
#: apps/native/src/components/titles/season-accordion.tsx
msgid "{watchedCount}/{episodeCount, plural, one {# episode} other {# episodes}}"
msgstr ""
#: apps/web/src/components/dashboard/continue-watching-card.tsx
msgid "{watchedEpisodes}/{totalEpisodes, plural, one {# episode} other {# episodes}}"
msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "{watchlistCount} items"
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#: apps/web/src/components/settings/account-section.tsx
msgid "Account"
@@ -161,7 +202,7 @@ msgstr "Acciones"
#: apps/native/src/components/search/recently-viewed-row-content.tsx
#: apps/web/src/components/people/person-hero.tsx
msgid "Actor"
msgstr "Actor"
msgstr ""
#: apps/native/src/components/settings/integration-configs.ts
msgid "Add a \"Generic Destination\" and paste the URL above"
@@ -207,7 +248,7 @@ msgstr "Añadido a la lista"
#: apps/web/src/components/nav-bar.tsx
#: apps/web/src/components/settings/account-section.tsx
msgid "Admin"
msgstr "Admin"
msgstr ""
#: apps/web/src/routes/_app/settings.tsx
msgid "Admin only"
@@ -268,10 +309,13 @@ msgstr "La autorización fue exitosa, pero no se pudo obtener tu biblioteca. Por
msgid "Authorization was denied. Please try again."
msgstr "La autorización fue denegada. Por favor, inténtalo de nuevo."
#. placeholder {0}: config.label
#: apps/web/src/components/settings/imports-section.tsx
msgid "Authorize Sofa to read your {0} library. No password shared."
msgstr "Autoriza a Sofa a leer tu biblioteca de {0}. No se comparte ninguna contraseña."
#~ msgid "Authorize Sofa to read your {0} library. No password shared."
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Authorize Sofa to read your {sourceLabel} library. No password shared."
msgstr ""
#: apps/web/src/components/settings/update-check-section.tsx
msgid "Automatic update checks"
@@ -315,8 +359,8 @@ msgid "Backups"
msgstr "Copias de seguridad"
#: apps/web/src/components/settings/backup-schedule-section.tsx
#~ msgid "backups."
#~ msgstr "backups."
msgid "backups."
msgstr ""
#: apps/web/src/components/titles/title-availability.tsx
msgid "Buy"
@@ -374,11 +418,13 @@ msgstr "Ponerse al día"
msgid "Caught Up"
msgstr "Al día"
#. placeholder {0}: episodeIds.length
#. placeholder {1}: episodeIds.length
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Caught up — marked {0} {1, plural, one {episode} other {episodes}} as watched"
msgstr "Al día — {0} {1, plural, one {episodio marcado como visto} other {episodios marcados como vistos}}"
#~ msgid "Caught up — marked {0} {1, plural, one {episode} other {episodes}} as watched"
#~ msgstr ""
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Caught up — marked {count, plural, one {# episode} other {# episodes}} as watched"
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#: apps/web/src/components/settings/account-section.tsx
@@ -414,10 +460,13 @@ msgstr "Comprobado <0/>"
msgid "Checking…"
msgstr "Comprobando…"
#. placeholder {0}: config.label
#: apps/web/src/components/settings/imports-section.tsx
msgid "Choose how to import your {0} data."
msgstr "Elige cómo importar tus datos de {0}."
#~ msgid "Choose how to import your {0} data."
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Choose how to import your {sourceLabel} data."
msgstr ""
#: apps/web/src/components/settings/language-section.tsx
#~ msgid "Choose your preferred display language"
@@ -480,12 +529,12 @@ msgstr "Confirmar nueva contraseña"
msgid "Connect"
msgstr "Conectar"
#. placeholder {0}: config.label
#: apps/web/src/components/settings/integration-card.tsx
msgid "Connect {0}"
msgstr "Conectar {0}"
#~ msgid "Connect {0}"
#~ msgstr ""
#: apps/native/src/components/settings/integration-card.tsx
#: apps/web/src/components/settings/integration-card.tsx
msgid "Connect {label}"
msgstr "Conectar {label}"
@@ -497,10 +546,13 @@ msgstr "Conectar con {source}"
msgid "Connect to TMDB"
msgstr "Conectar con TMDB"
#. placeholder {0}: config.label
#: apps/web/src/components/settings/imports-section.tsx
msgid "Connect with {0}"
msgstr "Conectar con {0}"
#~ msgid "Connect with {0}"
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Connect with {sourceLabel}"
msgstr ""
#: apps/native/src/app/(auth)/server-url.tsx
#: apps/native/src/app/(tabs)/(settings)/index.tsx
@@ -647,7 +699,7 @@ msgstr "falleció a los {age}"
#: apps/native/src/components/search/recently-viewed-row-content.tsx
#: apps/web/src/components/people/person-hero.tsx
msgid "Director"
msgstr "Director"
msgstr ""
#: apps/web/src/components/settings/system-health-section.tsx
#: apps/web/src/components/settings/system-health-section.tsx
@@ -697,7 +749,7 @@ msgstr "Descargar copia de seguridad"
#: apps/native/src/components/search/recently-viewed-row-content.tsx
#: apps/web/src/components/people/person-hero.tsx
msgid "Editor"
msgstr "Editor"
msgstr ""
#: apps/native/src/app/(auth)/login.tsx
#: apps/native/src/app/(auth)/register.tsx
@@ -740,11 +792,11 @@ msgstr "Entorno"
#: apps/native/src/components/titles/episode-row.tsx
#: apps/native/src/components/titles/episode-row.tsx
#~ msgid "Episode {0}"
#~ msgstr "Episodio {0}"
#~ msgstr ""
#: apps/native/src/components/titles/episode-row.tsx
#~ msgid "Episode {0}, {episodeLabel}"
#~ msgstr "Episodio {0}, {episodeLabel}"
#~ msgstr ""
#: apps/native/src/components/titles/episode-row.tsx
#: apps/native/src/components/titles/episode-row.tsx
@@ -770,10 +822,13 @@ msgstr "Episodio marcado como visto"
msgid "Episodes"
msgstr "Episodios"
#. placeholder {0}: periodLabels[episodePeriod]
#: apps/native/src/app/(tabs)/(home)/index.tsx
msgid "Episodes {0}"
msgstr "Episodios {0}"
#~ msgid "Episodes {0}"
#~ msgstr "Episodes {0}"
#: apps/native/src/app/(tabs)/(home)/index.tsx
msgid "Episodes {period}"
msgstr ""
#: apps/web/src/components/dashboard/stats-display.tsx
#~ msgid "Episodes {periodSelect}"
@@ -785,17 +840,20 @@ msgstr "Episodios {select}"
#: apps/native/src/app/(tabs)/(home)/index.tsx
#~ msgid "Episodes this week"
#~ msgstr "Episodios esta semana"
#~ msgstr ""
#: apps/native/src/app/change-password.tsx
#: apps/native/src/app/change-password.tsx
msgid "Error"
msgstr "Error"
msgstr ""
#. placeholder {0}: result.errors.length
#: apps/web/src/components/settings/imports-section.tsx
msgid "Errors ({0})"
msgstr "Errores ({0})"
#~ msgid "Errors ({0})"
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Errors ({errorCount})"
msgstr ""
#: apps/native/src/app/(tabs)/(explore)/_layout.tsx
#: apps/native/src/app/(tabs)/(home)/index.tsx
@@ -923,10 +981,13 @@ msgstr "Error al eliminar la foto de perfil"
msgid "Failed to sign in"
msgstr "Error al iniciar sesión"
#. placeholder {0}: config.label
#: apps/web/src/components/settings/imports-section.tsx
msgid "Failed to start {0} connection"
msgstr "Error al iniciar la conexión con {0}"
#~ msgid "Failed to start {0} connection"
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Failed to start {sourceLabel} connection"
msgstr ""
#: apps/web/src/components/settings/system-health-section.tsx
msgid "Failed to trigger job"
@@ -1086,15 +1147,18 @@ msgstr "Importación completada"
msgid "Import failed"
msgstr "Error en la importación"
#. placeholder {0}: config.label
#: apps/web/src/components/settings/imports-section.tsx
msgid "Import from {0}"
msgstr "Importar desde {0}"
#~ msgid "Import from {0}"
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Import from {source}"
msgstr "Importar desde {source}"
#: apps/web/src/components/settings/imports-section.tsx
msgid "Import from {sourceLabel}"
msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
#: apps/web/src/components/settings/imports-section.tsx
msgid "Import is still running in the background. Check back later."
@@ -1108,11 +1172,13 @@ msgstr "Opciones de importación"
msgid "Imported"
msgstr "Importado"
#. placeholder {0}: event.job.importedCount
#. placeholder {1}: config.label
#: apps/web/src/components/settings/imports-section.tsx
msgid "Imported {0} items from {1}"
msgstr "{0} elementos importados desde {1}"
#~ msgid "Imported {0} items from {1}"
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Imported {importedCount} items from {sourceLabel}"
msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Importing from {source}"
@@ -1158,14 +1224,12 @@ msgid "Job"
msgstr "Tarea"
#: apps/web/src/components/settings/backup-schedule-section.tsx
#~ msgid "Keeping"
#~ msgstr "Keeping"
msgid "Keeping"
msgstr ""
#. placeholder {0}: (value: string | null) => value === "0" ? t`unlimited` : value ? t`last ${value}` : null
#. placeholder {1}: [3, 5, 7, 14, 30, 0].map((n) => ( <SelectItem key={n} value={String(n)}> {n === 0 ? t`unlimited` : t`last ${n}`} </SelectItem> ))
#: apps/web/src/components/settings/backup-schedule-section.tsx
msgid "Keeping <0><1><2>{0}</2></1><3>{1}</3></0> backups."
msgstr "Guardando <0><1><2>{0}</2></1><3>{1}</3></0> copias de seguridad."
#~ msgid "Keeping <0><1><2>{0}</2></1><3>{1}</3></0> backups."
#~ msgstr ""
#: apps/web/src/components/command-palette.tsx
#: apps/web/src/components/command-palette.tsx
@@ -1186,19 +1250,25 @@ msgstr "últimos {n}"
msgid "last {value}"
msgstr "últimos {value}"
#. placeholder {0}: formatRelativeTime(lastEventAt)
#: apps/web/src/components/settings/integration-card.tsx
msgid "Last event {0}"
msgstr "Último evento {0}"
#~ msgid "Last event {0}"
#~ msgstr ""
#: apps/web/src/components/settings/integration-card.tsx
msgid "Last event {relativeTime}"
msgstr ""
#: apps/native/src/components/settings/integration-configs.ts
msgid "Last event {timeAgo}"
msgstr "Último evento {timeAgo}"
#. placeholder {0}: formatRelativeTime(lastEventAt)
#: apps/web/src/components/settings/integration-card.tsx
msgid "Last polled {0}"
msgstr "Última consulta {0}"
#~ msgid "Last polled {0}"
#~ msgstr ""
#: apps/web/src/components/settings/integration-card.tsx
msgid "Last polled {relativeTime}"
msgstr ""
#: apps/native/src/components/settings/integration-configs.ts
msgid "Last polled {timeAgo}"
@@ -1249,7 +1319,7 @@ msgstr "Marcar todos como vistos"
#: apps/native/src/components/dashboard/continue-watching-card.tsx
#~ msgid "Mark as Completed"
#~ msgstr "Marcar como completado"
#~ msgstr ""
#: apps/native/src/components/ui/poster-card.tsx
msgid "Mark as Watched"
@@ -1257,7 +1327,7 @@ msgstr "Marcar como visto"
#: apps/native/src/components/ui/poster-card.tsx
#~ msgid "Mark as Watching"
#~ msgstr "Marcar como en curso"
#~ msgstr ""
#: apps/native/src/app/title/[id].tsx
#: apps/web/src/components/titles/title-actions.tsx
@@ -1266,7 +1336,7 @@ msgstr "Marcar como visto"
#: apps/native/src/lib/title-actions.ts
#~ msgid "Marked \"{titleName}\" as completed"
#~ msgstr "\"{titleName}\" marcado como completado"
#~ msgstr ""
#: apps/native/src/lib/title-actions.ts
#: apps/web/src/components/titles/use-title-actions.ts
@@ -1285,7 +1355,7 @@ msgstr "Se marcaron todos los episodios de \"{titleName}\" como vistos"
#: apps/native/src/hooks/use-title-actions.ts
#: apps/native/src/lib/title-actions.ts
#~ msgid "Marked as completed"
#~ msgstr "Marcado como completado"
#~ msgstr ""
#: apps/native/src/hooks/use-title-actions.ts
#: apps/native/src/lib/title-actions.ts
@@ -1295,7 +1365,7 @@ msgstr "Marcado como visto"
#: apps/native/src/hooks/use-title-actions.ts
#: apps/native/src/lib/title-actions.ts
#~ msgid "Marked as watching"
#~ msgstr "Marcado como en curso"
#~ msgstr ""
#: apps/web/src/components/settings/account-section.tsx
msgid "Member since {memberSince}"
@@ -1327,10 +1397,13 @@ msgstr "Película"
msgid "Movies"
msgstr "Películas"
#. placeholder {0}: periodLabels[moviePeriod]
#: apps/native/src/app/(tabs)/(home)/index.tsx
msgid "Movies {0}"
msgstr "Películas {0}"
#~ msgid "Movies {0}"
#~ msgstr "Movies {0}"
#: apps/native/src/app/(tabs)/(home)/index.tsx
msgid "Movies {period}"
msgstr ""
#: apps/web/src/components/dashboard/stats-display.tsx
#~ msgid "Movies {periodSelect}"
@@ -1342,7 +1415,7 @@ msgstr "Películas {select}"
#: apps/native/src/app/(tabs)/(home)/index.tsx
#~ msgid "Movies this month"
#~ msgstr "Películas este mes"
#~ msgstr ""
#: apps/native/src/app/(auth)/register.tsx
#: apps/web/src/components/auth-form.tsx
@@ -1635,20 +1708,23 @@ msgstr "Acciones rápidas"
msgid "Radarr List URL"
msgstr "URL de lista de Radarr"
#. placeholder {0}: input.stars
#. placeholder {1}: input.stars
#: apps/native/src/hooks/use-title-actions.ts
msgid "Rated {0} {1, plural, one {star} other {stars}}"
msgstr "Valorado con {0} {1, plural, one {estrella} other {estrellas}}"
#~ msgid "Rated {0} {1, plural, one {star} other {stars}}"
#~ msgstr ""
#: apps/native/src/hooks/use-title-actions.ts
#~ msgid "Rated {0} star{1}"
#~ msgstr "Rated {0} star{1}"
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Rated {ratingStars} {ratingStars, plural, one {star} other {stars}}"
msgstr "Valorado con {ratingStars} {ratingStars, plural, one {estrella} other {estrellas}}"
msgid "Rated {ratingStars, plural, one {# star} other {# stars}}"
msgstr ""
#: apps/web/src/components/titles/use-title-actions.ts
#~ msgid "Rated {ratingStars} {ratingStars, plural, one {star} other {stars}}"
#~ msgstr ""
#: apps/native/src/hooks/use-title-actions.ts
#: apps/native/src/lib/title-actions.ts
msgid "Rated {stars, plural, one {# star} other {# stars}}"
msgstr "Valorado con {stars, plural, one {# estrella} other {# estrellas}}"
@@ -1810,6 +1886,14 @@ msgstr "Requiere una suscripción activa de Plex Pass."
msgid "Requires Emby Server 4.7.9+ and an active Emby Premiere license."
msgstr "Requiere Emby Server 4.7.9+ y una licencia activa de Emby Premiere."
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Restart"
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Restart Required"
msgstr ""
#: apps/web/src/components/settings/backup-restore-section.tsx
#: apps/web/src/components/settings/backup-restore-section.tsx
msgid "Restore"
@@ -1921,13 +2005,19 @@ msgstr "Buscar películas, series, personas..."
msgid "Search…"
msgstr "Buscar…"
#. placeholder {0}: season.seasonNumber
#: apps/native/src/components/titles/season-accordion.tsx
#: apps/native/src/components/titles/season-accordion.tsx
#: apps/web/src/components/titles/use-title-actions.ts
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Season {0}"
msgstr "Temporada {0}"
#~ msgid "Season {0}"
#~ msgstr ""
#: apps/native/src/components/titles/season-accordion.tsx
#: apps/native/src/components/titles/season-accordion.tsx
#: apps/web/src/components/titles/use-title-actions.ts
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Season {seasonNumber}"
msgstr ""
#: apps/native/src/hooks/use-title-actions.ts
#: apps/native/src/lib/title-actions.ts
@@ -2018,12 +2108,18 @@ msgstr "Iniciar sesión"
msgid "Sign in to continue"
msgstr "Inicia sesión para continuar"
#. placeholder {0}: authConfig.data?.oidcProviderName ?? "SSO"
#. placeholder {0}: authConfig?.oidcProviderName || "SSO"
#: apps/native/src/app/(auth)/login.tsx
#: apps/web/src/components/auth-form.tsx
msgid "Sign in with {0}"
msgstr "Iniciar sesión con {0}"
#~ msgid "Sign in with {0}"
#~ msgstr ""
#: apps/web/src/components/auth-form.tsx
msgid "Sign in with {oidcProviderName}"
msgstr ""
#: apps/native/src/app/(auth)/login.tsx
msgid "Sign in with {providerName}"
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#: apps/native/src/components/header-avatar.tsx
@@ -2048,10 +2144,17 @@ msgstr "Cerrar otras sesiones"
msgid "Skipped"
msgstr "Omitido"
#. placeholder {0}: data.latestVersion
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Sofa needs to restart to apply the new layout direction."
msgstr ""
#: apps/web/src/components/update-toast.tsx
msgid "Sofa v{0} is available"
msgstr "Sofa v{0} disponible"
#~ msgid "Sofa v{0} is available"
#~ msgstr ""
#: apps/web/src/components/update-toast.tsx
msgid "Sofa v{latestVersion} is available"
msgstr ""
#: apps/native/src/components/settings/integration-configs.ts
#: apps/native/src/components/settings/integration-configs.ts
@@ -2118,10 +2221,13 @@ msgstr "Streaming"
msgid "Sunday"
msgstr "Domingo"
#. placeholder {0}: info.name
#: apps/web/src/components/settings/language-section.tsx
msgid "Switch to {0}"
msgstr "Cambiar a {0}"
#~ msgid "Switch to {0}"
#~ msgstr ""
#: apps/web/src/components/settings/language-section.tsx
msgid "Switch to {name}"
msgstr ""
#: apps/native/src/app/+not-found.tsx
msgid "The page you're looking for doesn't exist."
@@ -2192,10 +2298,13 @@ msgstr "Esto invalidará la URL actual de {label}. Tendrás que actualizarla en
msgid "This will mark every episode of this show as watched. You can undo this later by unmarking individual seasons."
msgstr "Esto marcará todos los episodios de esta serie como vistos. Puedes deshacerlo más tarde desmarcando temporadas individuales."
#. placeholder {0}: formatBackupDate(backup.createdAt)
#: apps/web/src/components/settings/backup-section.tsx
msgid "This will permanently delete the backup from <0>{0}</0>. This cannot be undone."
msgstr "Esto eliminará permanentemente la copia de seguridad del <0>{0}</0>. Esta acción no se puede deshacer."
#~ msgid "This will permanently delete the backup from <0>{0}</0>. This cannot be undone."
#~ msgstr ""
#: apps/web/src/components/settings/backup-section.tsx
msgid "This will permanently delete the backup from <0>{backupDate}</0>. This cannot be undone."
msgstr ""
#: apps/native/src/components/search/recently-viewed-list.ios.tsx
#: apps/native/src/components/search/recently-viewed-list.tsx
@@ -2327,10 +2436,13 @@ msgstr "Sin título"
msgid "Unwatch all"
msgstr "Desmarcar todo"
#. placeholder {0}: season.name ?? t`Season ${season.seasonNumber}`
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Unwatched all of {0}"
msgstr "Todo de {0} marcado como no visto"
#~ msgid "Unwatched all of {0}"
#~ msgstr ""
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Unwatched all of {seasonLabel}"
msgstr ""
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Unwatched S{seasonNum} E{epNum}"
@@ -2341,10 +2453,13 @@ msgstr "No visto T{seasonNum} E{epNum}"
msgid "Up next"
msgstr "A continuación"
#. placeholder {0}: updateCheck.data.updateCheck.latestVersion
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Update available: {0}"
msgstr "Actualización disponible: {0}"
#~ msgid "Update available: {0}"
#~ msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Update available: {latestVersion}"
msgstr ""
#: apps/web/src/components/settings/system-health-section.tsx
msgid "Update check"
@@ -2381,11 +2496,13 @@ msgstr "Subir"
msgid "Upload a .db file to replace the current database. A safety backup is created first."
msgstr "Sube un archivo .db para reemplazar la base de datos actual. Primero se crea una copia de seguridad."
#. placeholder {0}: config.accept
#. placeholder {1}: config.label
#: apps/web/src/components/settings/imports-section.tsx
msgid "Upload a {0} export from your {1} account settings."
msgstr "Sube una exportación {0} desde los ajustes de tu cuenta de {1}."
#~ msgid "Upload a {0} export from your {1} account settings."
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Upload a {acceptFormat} export from your {sourceLabel} account settings."
msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Upload export file"
@@ -2419,10 +2536,13 @@ msgstr "Esperando autorización..."
msgid "Warnings"
msgstr "Advertencias"
#. placeholder {0}: result.warnings.length
#: apps/web/src/components/settings/imports-section.tsx
msgid "Warnings ({0})"
msgstr "Advertencias ({0})"
#~ msgid "Warnings ({0})"
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Warnings ({warningCount})"
msgstr ""
#: apps/web/src/components/titles/title-seasons.tsx
msgid "Watch all"
@@ -2465,7 +2585,7 @@ msgstr "Lista"
#: apps/native/src/components/titles/status-action-button.tsx
#~ msgid "Watchlisted"
#~ msgstr "En lista"
#~ msgstr ""
#: apps/native/src/components/settings/integration-configs.ts
#: apps/native/src/components/settings/integration-configs.ts
@@ -2505,10 +2625,13 @@ msgstr "Guionista"
msgid "You'll be signed out to change the server URL."
msgstr "Se cerrará tu sesión para cambiar la URL del servidor."
#. placeholder {0}: data.currentVersion
#: apps/web/src/components/update-toast.tsx
msgid "You're running v{0}."
msgstr "Estás usando la v{0}."
#~ msgid "You're running v{0}."
#~ msgstr ""
#: apps/web/src/components/update-toast.tsx
msgid "You're running v{currentVersion}."
msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Your code:"
@@ -2522,3 +2645,4 @@ msgstr "Tu biblioteca está vacía"
#: apps/native/src/app/(auth)/register.tsx
msgid "Your name"
msgstr "Tu nombre"
+280 -156
View File
@@ -8,111 +8,127 @@ msgstr ""
"Language: fr\n"
"Project-Id-Version: sofa\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-03-19 00:35\n"
"PO-Revision-Date: 2026-03-20 23:13\n"
"Last-Translator: \n"
"Language-Team: French\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Crowdin-Project: sofa\n"
"X-Crowdin-Project-ID: 881052\n"
"X-Crowdin-Language: fr\n"
"X-Crowdin-File: en.po\n"
"X-Crowdin-File-ID: 14\n"
"X-Crowdin-File: /packages/i18n/src/po/en.po\n"
"X-Crowdin-File-ID: 26\n"
#. placeholder {0}: result.errors.length - 50
#: apps/web/src/components/settings/imports-section.tsx
msgid "...and {0} more"
msgstr "...et {0} de plus"
#~ msgid "...and {0} more"
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "...and {remainingErrors} more"
msgstr ""
#. placeholder {0}: systemHealth.data.imageCache.imageCount
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "{0, plural, one {# image} other {# images}}"
msgstr "{0, plural, one {# image} other {# images}}"
msgstr ""
#. placeholder {0}: systemHealth.data.database.titleCount
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "{0, plural, one {# title} other {# titles}}"
msgstr "{0, plural, one {# titre} other {# titres}}"
#. placeholder {0}: displayBackups.length
#. placeholder {1}: displayBackups.length
#: apps/web/src/components/settings/backup-section.tsx
msgid "{0} {1, plural, one {backup} other {backups}} stored"
msgstr "{0} {1, plural, one {sauvegarde stockée} other {sauvegardes stockées}}"
#~ msgid "{0} {1, plural, one {backup} other {backups}} stored"
#~ msgstr ""
#: apps/web/src/components/settings/backup-section.tsx
#~ msgid "{0} backup{1} stored"
#~ msgstr "{0} backup{1} stored"
#. placeholder {0}: backups.backupCount
#: apps/web/src/components/settings/system-health-section.tsx
msgid "{0} backups · last <0/>"
msgstr "{0} sauvegardes · dernière <0/>"
#~ msgid "{0} backups · last <0/>"
#~ msgstr ""
#. placeholder {0}: imageCache.imageCount.toLocaleString()
#: apps/web/src/components/settings/system-health-section.tsx
msgid "{0} cached images"
msgstr "{0} images en cache"
#~ msgid "{0} cached images"
#~ msgstr ""
#. placeholder {0}: member.episodeCount
#. placeholder {1}: member.episodeCount !== 1 ? "s" : ""
#: apps/web/src/components/titles/cast-carousel.tsx
msgid "{0} ep{1}"
msgstr "{0} ép{1}"
#~ msgid "{0} ep{1}"
#~ msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#~ msgid "{0} images"
#~ msgstr "{0} images"
#. placeholder {0}: stats.watchlist
#: apps/web/src/components/settings/imports-section.tsx
msgid "{0} items"
msgstr "{0} éléments"
#~ msgid "{0} items"
#~ msgstr ""
#. placeholder {0}: preview.diagnostics.unresolved
#: apps/web/src/components/settings/imports-section.tsx
msgid "{0} items have no external IDs and will be resolved by title search, which may be less accurate."
msgstr "{0} éléments n'ont pas d'identifiants externes et seront résolus par recherche de titre, ce qui peut être moins précis."
#~ msgid "{0} items have no external IDs and will be resolved by title search, which may be less accurate."
#~ msgstr ""
#. placeholder {0}: stats.movies
#. placeholder {1}: stats.episodes
#: apps/web/src/components/settings/imports-section.tsx
msgid "{0} movies, {1} episodes"
msgstr "{0} films, {1} épisodes"
#~ msgid "{0} movies, {1} episodes"
#~ msgstr ""
#. placeholder {0}: stats.ratings
#: apps/web/src/components/settings/imports-section.tsx
msgid "{0} ratings"
msgstr "{0} notes"
#~ msgid "{0} ratings"
#~ msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#~ msgid "{0} titles"
#~ msgstr "{0} titles"
#. placeholder {0}: JOB_LABELS[name] ?? name
#: apps/web/src/components/settings/system-health-section.tsx
msgid "{0} triggered"
msgstr "{0} déclenché"
#~ msgid "{0} triggered"
#~ msgstr ""
#. placeholder {0}: item.watchedEpisodes
#. placeholder {1}: item.totalEpisodes
#. placeholder {2}: item.totalEpisodes
#: apps/web/src/components/dashboard/continue-watching-card.tsx
msgid "{0}/{1} {2, plural, one {episode} other {episodes}}"
msgstr "{0}/{1} {2, plural, one {épisode} other {épisodes}}"
#~ msgid "{0}/{1} {2, plural, one {episode} other {episodes}}"
#~ msgstr ""
#: apps/web/src/components/dashboard/continue-watching-card.tsx
#~ msgid "{0}/{1} episodes"
#~ msgstr "{0}/{1} episodes"
#: apps/web/src/components/titles/use-title-actions.ts
#: apps/web/src/components/titles/use-title-actions.ts
msgid "{count} earlier {count, plural, one {episode} other {episodes}} unwatched"
msgstr "{count} {count, plural, one {épisode précédent non visionné} other {épisodes précédents non visionnés}}"
#: apps/web/src/components/settings/backup-section.tsx
msgid "{backupCount, plural, one {# backup} other {# backups}} stored"
msgstr ""
#. placeholder {0}: activeJobs.length
#: apps/web/src/components/settings/system-health-section.tsx
msgid "{healthyCount} of {0} jobs healthy"
msgstr "{healthyCount} sur {0} tâches en bonne santé"
msgid "{backupCount} backups · last <0/>"
msgstr ""
#: apps/web/src/components/settings/system-health-section.tsx
msgid "{cachedImageCount} cached images"
msgstr ""
#: apps/web/src/components/titles/use-title-actions.ts
#: apps/web/src/components/titles/use-title-actions.ts
msgid "{count, plural, one {# earlier episode} other {# earlier episodes}} unwatched"
msgstr ""
#: apps/web/src/components/titles/use-title-actions.ts
#: apps/web/src/components/titles/use-title-actions.ts
#~ msgid "{count} earlier {count, plural, one {episode} other {episodes}} unwatched"
#~ msgstr ""
#: apps/web/src/components/titles/cast-carousel.tsx
msgid "{count} ep{suffix}"
msgstr ""
#: apps/web/src/components/settings/system-health-section.tsx
#~ msgid "{healthyCount} of {0} jobs healthy"
#~ msgstr ""
#: apps/web/src/components/settings/system-health-section.tsx
msgid "{healthyCount} of {activeJobCount} jobs healthy"
msgstr ""
#: apps/web/src/components/settings/system-health-section.tsx
msgid "{jobLabel} triggered"
msgstr ""
#: apps/native/src/components/settings/integration-card.tsx
#: apps/web/src/components/settings/integration-card.tsx
@@ -129,25 +145,50 @@ msgstr "{label} déconnecté"
msgid "{label} URL regenerated"
msgstr "URL {label} régénérée"
#: apps/web/src/components/settings/imports-section.tsx
msgid "{movieCount} movies, {episodeCount} episodes"
msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "{ratingCount} ratings"
msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "{unresolvedCount} items have no external IDs and will be resolved by title search, which may be less accurate."
msgstr ""
#: apps/web/src/components/title-card.tsx
msgid "{watched}/{total} episodes"
msgstr "{watched}/{total} épisodes"
#. placeholder {0}: episodes.length
#: apps/native/src/components/titles/season-accordion.tsx
msgid "{watchedCount} of {0} episodes watched"
msgstr "{watchedCount} sur {0} épisodes regardés"
#~ msgid "{watchedCount} of {0} episodes watched"
#~ msgstr ""
#. placeholder {0}: episodes.length
#. placeholder {1}: episodes.length
#: apps/native/src/components/titles/season-accordion.tsx
msgid "{watchedCount}/{0} {1, plural, one {episode} other {episodes}}"
msgstr "{watchedCount}/{0} {1, plural, one {épisode} other {épisodes}}"
msgid "{watchedCount} of {episodeCount} episodes watched"
msgstr ""
#: apps/native/src/components/titles/season-accordion.tsx
#~ msgid "{watchedCount}/{0} {1, plural, one {episode} other {episodes}}"
#~ msgstr ""
#: apps/native/src/components/titles/season-accordion.tsx
#~ msgid "{watchedCount}/{0} episodes"
#~ msgstr "{watchedCount}/{0} episodes"
#: apps/native/src/components/titles/season-accordion.tsx
msgid "{watchedCount}/{episodeCount, plural, one {# episode} other {# episodes}}"
msgstr ""
#: apps/web/src/components/dashboard/continue-watching-card.tsx
msgid "{watchedEpisodes}/{totalEpisodes, plural, one {# episode} other {# episodes}}"
msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "{watchlistCount} items"
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#: apps/web/src/components/settings/account-section.tsx
msgid "Account"
@@ -155,7 +196,7 @@ msgstr "Compte"
#: apps/web/src/components/settings/system-health-section.tsx
msgid "Actions"
msgstr "Actions"
msgstr ""
#: apps/native/src/app/person/[id].tsx
#: apps/native/src/components/search/recently-viewed-row-content.tsx
@@ -207,7 +248,7 @@ msgstr "Ajouté à la liste de suivi"
#: apps/web/src/components/nav-bar.tsx
#: apps/web/src/components/settings/account-section.tsx
msgid "Admin"
msgstr "Admin"
msgstr ""
#: apps/web/src/routes/_app/settings.tsx
msgid "Admin only"
@@ -249,7 +290,7 @@ msgstr "Paramètres de l'application"
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Application"
msgstr "Application"
msgstr ""
#: apps/native/src/components/settings/integration-card.tsx
msgid "Are you sure you want to disconnect {label}? The current URL will stop working."
@@ -268,10 +309,13 @@ msgstr "L'autorisation a réussi mais la récupération de votre bibliothèque a
msgid "Authorization was denied. Please try again."
msgstr "L'autorisation a été refusée. Veuillez réessayer."
#. placeholder {0}: config.label
#: apps/web/src/components/settings/imports-section.tsx
msgid "Authorize Sofa to read your {0} library. No password shared."
msgstr "Autorisez Sofa à lire votre bibliothèque {0}. Aucun mot de passe partagé."
#~ msgid "Authorize Sofa to read your {0} library. No password shared."
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Authorize Sofa to read your {sourceLabel} library. No password shared."
msgstr ""
#: apps/web/src/components/settings/update-check-section.tsx
msgid "Automatic update checks"
@@ -315,8 +359,8 @@ msgid "Backups"
msgstr "Sauvegardes"
#: apps/web/src/components/settings/backup-schedule-section.tsx
#~ msgid "backups."
#~ msgstr "backups."
msgid "backups."
msgstr ""
#: apps/web/src/components/titles/title-availability.tsx
msgid "Buy"
@@ -374,11 +418,13 @@ msgstr "Rattraper"
msgid "Caught Up"
msgstr "À jour"
#. placeholder {0}: episodeIds.length
#. placeholder {1}: episodeIds.length
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Caught up — marked {0} {1, plural, one {episode} other {episodes}} as watched"
msgstr "Rattrapé — {0} {1, plural, one {épisode marqué comme visionné} other {épisodes marqués comme visionnés}}"
#~ msgid "Caught up — marked {0} {1, plural, one {episode} other {episodes}} as watched"
#~ msgstr ""
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Caught up — marked {count, plural, one {# episode} other {# episodes}} as watched"
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#: apps/web/src/components/settings/account-section.tsx
@@ -414,10 +460,13 @@ msgstr "Vérifié <0/>"
msgid "Checking…"
msgstr "Vérification…"
#. placeholder {0}: config.label
#: apps/web/src/components/settings/imports-section.tsx
msgid "Choose how to import your {0} data."
msgstr "Choisissez comment importer vos données {0}."
#~ msgid "Choose how to import your {0} data."
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Choose how to import your {sourceLabel} data."
msgstr ""
#: apps/web/src/components/settings/language-section.tsx
#~ msgid "Choose your preferred display language"
@@ -480,12 +529,12 @@ msgstr "Confirmer le nouveau mot de passe"
msgid "Connect"
msgstr "Connecter"
#. placeholder {0}: config.label
#: apps/web/src/components/settings/integration-card.tsx
msgid "Connect {0}"
msgstr "Connecter {0}"
#~ msgid "Connect {0}"
#~ msgstr ""
#: apps/native/src/components/settings/integration-card.tsx
#: apps/web/src/components/settings/integration-card.tsx
msgid "Connect {label}"
msgstr "Connecter {label}"
@@ -497,10 +546,13 @@ msgstr "Se connecter à {source}"
msgid "Connect to TMDB"
msgstr "Se connecter à TMDB"
#. placeholder {0}: config.label
#: apps/web/src/components/settings/imports-section.tsx
msgid "Connect with {0}"
msgstr "Se connecter avec {0}"
#~ msgid "Connect with {0}"
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Connect with {sourceLabel}"
msgstr ""
#: apps/native/src/app/(auth)/server-url.tsx
#: apps/native/src/app/(tabs)/(settings)/index.tsx
@@ -740,11 +792,11 @@ msgstr "Environnement"
#: apps/native/src/components/titles/episode-row.tsx
#: apps/native/src/components/titles/episode-row.tsx
#~ msgid "Episode {0}"
#~ msgstr "Épisode {0}"
#~ msgstr ""
#: apps/native/src/components/titles/episode-row.tsx
#~ msgid "Episode {0}, {episodeLabel}"
#~ msgstr "Épisode {0}, {episodeLabel}"
#~ msgstr ""
#: apps/native/src/components/titles/episode-row.tsx
#: apps/native/src/components/titles/episode-row.tsx
@@ -770,10 +822,13 @@ msgstr "Épisode visionné"
msgid "Episodes"
msgstr "Épisodes"
#. placeholder {0}: periodLabels[episodePeriod]
#: apps/native/src/app/(tabs)/(home)/index.tsx
msgid "Episodes {0}"
msgstr pisodes {0}"
#~ msgid "Episodes {0}"
#~ msgstr "Episodes {0}"
#: apps/native/src/app/(tabs)/(home)/index.tsx
msgid "Episodes {period}"
msgstr ""
#: apps/web/src/components/dashboard/stats-display.tsx
#~ msgid "Episodes {periodSelect}"
@@ -785,17 +840,20 @@ msgstr "Épisodes {select}"
#: apps/native/src/app/(tabs)/(home)/index.tsx
#~ msgid "Episodes this week"
#~ msgstr "Épisodes cette semaine"
#~ msgstr ""
#: apps/native/src/app/change-password.tsx
#: apps/native/src/app/change-password.tsx
msgid "Error"
msgstr "Erreur"
#. placeholder {0}: result.errors.length
#: apps/web/src/components/settings/imports-section.tsx
msgid "Errors ({0})"
msgstr "Erreurs ({0})"
#~ msgid "Errors ({0})"
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Errors ({errorCount})"
msgstr ""
#: apps/native/src/app/(tabs)/(explore)/_layout.tsx
#: apps/native/src/app/(tabs)/(home)/index.tsx
@@ -923,10 +981,13 @@ msgstr "Échec de la suppression de la photo de profil"
msgid "Failed to sign in"
msgstr "Échec de la connexion"
#. placeholder {0}: config.label
#: apps/web/src/components/settings/imports-section.tsx
msgid "Failed to start {0} connection"
msgstr "Échec du démarrage de la connexion {0}"
#~ msgid "Failed to start {0} connection"
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Failed to start {sourceLabel} connection"
msgstr ""
#: apps/web/src/components/settings/system-health-section.tsx
msgid "Failed to trigger job"
@@ -1086,15 +1147,18 @@ msgstr "Importation terminée"
msgid "Import failed"
msgstr "Importation échouée"
#. placeholder {0}: config.label
#: apps/web/src/components/settings/imports-section.tsx
msgid "Import from {0}"
msgstr "Importer depuis {0}"
#~ msgid "Import from {0}"
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Import from {source}"
msgstr "Importer depuis {source}"
#: apps/web/src/components/settings/imports-section.tsx
msgid "Import from {sourceLabel}"
msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
#: apps/web/src/components/settings/imports-section.tsx
msgid "Import is still running in the background. Check back later."
@@ -1108,11 +1172,13 @@ msgstr "Options d'importation"
msgid "Imported"
msgstr "Importé"
#. placeholder {0}: event.job.importedCount
#. placeholder {1}: config.label
#: apps/web/src/components/settings/imports-section.tsx
msgid "Imported {0} items from {1}"
msgstr "{0} éléments importés depuis {1}"
#~ msgid "Imported {0} items from {1}"
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Imported {importedCount} items from {sourceLabel}"
msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Importing from {source}"
@@ -1158,14 +1224,12 @@ msgid "Job"
msgstr "Tâche"
#: apps/web/src/components/settings/backup-schedule-section.tsx
#~ msgid "Keeping"
#~ msgstr "Keeping"
msgid "Keeping"
msgstr ""
#. placeholder {0}: (value: string | null) => value === "0" ? t`unlimited` : value ? t`last ${value}` : null
#. placeholder {1}: [3, 5, 7, 14, 30, 0].map((n) => ( <SelectItem key={n} value={String(n)}> {n === 0 ? t`unlimited` : t`last ${n}`} </SelectItem> ))
#: apps/web/src/components/settings/backup-schedule-section.tsx
msgid "Keeping <0><1><2>{0}</2></1><3>{1}</3></0> backups."
msgstr "Conservation de <0><1><2>{0}</2></1><3>{1}</3></0> sauvegardes."
#~ msgid "Keeping <0><1><2>{0}</2></1><3>{1}</3></0> backups."
#~ msgstr ""
#: apps/web/src/components/command-palette.tsx
#: apps/web/src/components/command-palette.tsx
@@ -1186,19 +1250,25 @@ msgstr "{n} dernières"
msgid "last {value}"
msgstr "{value} dernières"
#. placeholder {0}: formatRelativeTime(lastEventAt)
#: apps/web/src/components/settings/integration-card.tsx
msgid "Last event {0}"
msgstr "Dernier événement {0}"
#~ msgid "Last event {0}"
#~ msgstr ""
#: apps/web/src/components/settings/integration-card.tsx
msgid "Last event {relativeTime}"
msgstr ""
#: apps/native/src/components/settings/integration-configs.ts
msgid "Last event {timeAgo}"
msgstr "Dernier événement {timeAgo}"
#. placeholder {0}: formatRelativeTime(lastEventAt)
#: apps/web/src/components/settings/integration-card.tsx
msgid "Last polled {0}"
msgstr "Dernière interrogation {0}"
#~ msgid "Last polled {0}"
#~ msgstr ""
#: apps/web/src/components/settings/integration-card.tsx
msgid "Last polled {relativeTime}"
msgstr ""
#: apps/native/src/components/settings/integration-configs.ts
msgid "Last polled {timeAgo}"
@@ -1249,7 +1319,7 @@ msgstr "Tout marquer comme visionné"
#: apps/native/src/components/dashboard/continue-watching-card.tsx
#~ msgid "Mark as Completed"
#~ msgstr "Marquer comme terminé"
#~ msgstr ""
#: apps/native/src/components/ui/poster-card.tsx
msgid "Mark as Watched"
@@ -1257,7 +1327,7 @@ msgstr "Marquer comme visionné"
#: apps/native/src/components/ui/poster-card.tsx
#~ msgid "Mark as Watching"
#~ msgstr "Marquer comme en cours"
#~ msgstr ""
#: apps/native/src/app/title/[id].tsx
#: apps/web/src/components/titles/title-actions.tsx
@@ -1266,7 +1336,7 @@ msgstr "Marquer comme visionné"
#: apps/native/src/lib/title-actions.ts
#~ msgid "Marked \"{titleName}\" as completed"
#~ msgstr "« {titleName} » marqué comme terminé"
#~ msgstr ""
#: apps/native/src/lib/title-actions.ts
#: apps/web/src/components/titles/use-title-actions.ts
@@ -1285,7 +1355,7 @@ msgstr "Tous les épisodes de \"{titleName}\" marqués comme vus"
#: apps/native/src/hooks/use-title-actions.ts
#: apps/native/src/lib/title-actions.ts
#~ msgid "Marked as completed"
#~ msgstr "Marqué comme terminé"
#~ msgstr ""
#: apps/native/src/hooks/use-title-actions.ts
#: apps/native/src/lib/title-actions.ts
@@ -1295,7 +1365,7 @@ msgstr "Marqué comme visionné"
#: apps/native/src/hooks/use-title-actions.ts
#: apps/native/src/lib/title-actions.ts
#~ msgid "Marked as watching"
#~ msgstr "Marqué comme en cours"
#~ msgstr ""
#: apps/web/src/components/settings/account-section.tsx
msgid "Member since {memberSince}"
@@ -1327,10 +1397,13 @@ msgstr "Film"
msgid "Movies"
msgstr "Films"
#. placeholder {0}: periodLabels[moviePeriod]
#: apps/native/src/app/(tabs)/(home)/index.tsx
msgid "Movies {0}"
msgstr "Films {0}"
#~ msgid "Movies {0}"
#~ msgstr "Movies {0}"
#: apps/native/src/app/(tabs)/(home)/index.tsx
msgid "Movies {period}"
msgstr ""
#: apps/web/src/components/dashboard/stats-display.tsx
#~ msgid "Movies {periodSelect}"
@@ -1342,7 +1415,7 @@ msgstr "Films {select}"
#: apps/native/src/app/(tabs)/(home)/index.tsx
#~ msgid "Movies this month"
#~ msgstr "Films ce mois-ci"
#~ msgstr ""
#: apps/native/src/app/(auth)/register.tsx
#: apps/web/src/components/auth-form.tsx
@@ -1635,20 +1708,23 @@ msgstr "Actions rapides"
msgid "Radarr List URL"
msgstr "URL de liste Radarr"
#. placeholder {0}: input.stars
#. placeholder {1}: input.stars
#: apps/native/src/hooks/use-title-actions.ts
msgid "Rated {0} {1, plural, one {star} other {stars}}"
msgstr "Noté {0} {1, plural, one {étoile} other {étoiles}}"
#~ msgid "Rated {0} {1, plural, one {star} other {stars}}"
#~ msgstr ""
#: apps/native/src/hooks/use-title-actions.ts
#~ msgid "Rated {0} star{1}"
#~ msgstr "Rated {0} star{1}"
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Rated {ratingStars} {ratingStars, plural, one {star} other {stars}}"
msgstr "Noté {ratingStars} {ratingStars, plural, one {étoile} other {étoiles}}"
msgid "Rated {ratingStars, plural, one {# star} other {# stars}}"
msgstr ""
#: apps/web/src/components/titles/use-title-actions.ts
#~ msgid "Rated {ratingStars} {ratingStars, plural, one {star} other {stars}}"
#~ msgstr ""
#: apps/native/src/hooks/use-title-actions.ts
#: apps/native/src/lib/title-actions.ts
msgid "Rated {stars, plural, one {# star} other {# stars}}"
msgstr "Noté {stars, plural, one {# étoile} other {# étoiles}}"
@@ -1810,6 +1886,14 @@ msgstr "Nécessite un abonnement Plex Pass actif."
msgid "Requires Emby Server 4.7.9+ and an active Emby Premiere license."
msgstr "Nécessite Emby Server 4.7.9+ et une licence Emby Premiere active."
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Restart"
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Restart Required"
msgstr ""
#: apps/web/src/components/settings/backup-restore-section.tsx
#: apps/web/src/components/settings/backup-restore-section.tsx
msgid "Restore"
@@ -1921,13 +2005,19 @@ msgstr "Rechercher des films, séries, personnes..."
msgid "Search…"
msgstr "Rechercher…"
#. placeholder {0}: season.seasonNumber
#: apps/native/src/components/titles/season-accordion.tsx
#: apps/native/src/components/titles/season-accordion.tsx
#: apps/web/src/components/titles/use-title-actions.ts
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Season {0}"
msgstr "Saison {0}"
#~ msgid "Season {0}"
#~ msgstr ""
#: apps/native/src/components/titles/season-accordion.tsx
#: apps/native/src/components/titles/season-accordion.tsx
#: apps/web/src/components/titles/use-title-actions.ts
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Season {seasonNumber}"
msgstr ""
#: apps/native/src/hooks/use-title-actions.ts
#: apps/native/src/lib/title-actions.ts
@@ -2018,12 +2108,18 @@ msgstr "Se connecter"
msgid "Sign in to continue"
msgstr "Connectez-vous pour continuer"
#. placeholder {0}: authConfig.data?.oidcProviderName ?? "SSO"
#. placeholder {0}: authConfig?.oidcProviderName || "SSO"
#: apps/native/src/app/(auth)/login.tsx
#: apps/web/src/components/auth-form.tsx
msgid "Sign in with {0}"
msgstr "Se connecter avec {0}"
#~ msgid "Sign in with {0}"
#~ msgstr ""
#: apps/web/src/components/auth-form.tsx
msgid "Sign in with {oidcProviderName}"
msgstr ""
#: apps/native/src/app/(auth)/login.tsx
msgid "Sign in with {providerName}"
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#: apps/native/src/components/header-avatar.tsx
@@ -2048,10 +2144,17 @@ msgstr "Se déconnecter des autres sessions"
msgid "Skipped"
msgstr "Ignoré"
#. placeholder {0}: data.latestVersion
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Sofa needs to restart to apply the new layout direction."
msgstr ""
#: apps/web/src/components/update-toast.tsx
msgid "Sofa v{0} is available"
msgstr "Sofa v{0} est disponible"
#~ msgid "Sofa v{0} is available"
#~ msgstr ""
#: apps/web/src/components/update-toast.tsx
msgid "Sofa v{latestVersion} is available"
msgstr ""
#: apps/native/src/components/settings/integration-configs.ts
#: apps/native/src/components/settings/integration-configs.ts
@@ -2118,10 +2221,13 @@ msgstr "Streaming"
msgid "Sunday"
msgstr "Dimanche"
#. placeholder {0}: info.name
#: apps/web/src/components/settings/language-section.tsx
msgid "Switch to {0}"
msgstr "Passer à {0}"
#~ msgid "Switch to {0}"
#~ msgstr ""
#: apps/web/src/components/settings/language-section.tsx
msgid "Switch to {name}"
msgstr ""
#: apps/native/src/app/+not-found.tsx
msgid "The page you're looking for doesn't exist."
@@ -2192,10 +2298,13 @@ msgstr "Cela invalidera l'URL {label} actuelle. Vous devrez la mettre à jour da
msgid "This will mark every episode of this show as watched. You can undo this later by unmarking individual seasons."
msgstr "Cela marquera tous les épisodes de cette série comme visionnés. Vous pourrez annuler cela en démarquant des saisons individuelles."
#. placeholder {0}: formatBackupDate(backup.createdAt)
#: apps/web/src/components/settings/backup-section.tsx
msgid "This will permanently delete the backup from <0>{0}</0>. This cannot be undone."
msgstr "Cela supprimera définitivement la sauvegarde du <0>{0}</0>. Cette action est irréversible."
#~ msgid "This will permanently delete the backup from <0>{0}</0>. This cannot be undone."
#~ msgstr ""
#: apps/web/src/components/settings/backup-section.tsx
msgid "This will permanently delete the backup from <0>{backupDate}</0>. This cannot be undone."
msgstr ""
#: apps/native/src/components/search/recently-viewed-list.ios.tsx
#: apps/native/src/components/search/recently-viewed-list.tsx
@@ -2327,10 +2436,13 @@ msgstr "Sans titre"
msgid "Unwatch all"
msgstr "Tout démarquer"
#. placeholder {0}: season.name ?? t`Season ${season.seasonNumber}`
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Unwatched all of {0}"
msgstr "Tout démarqué de {0}"
#~ msgid "Unwatched all of {0}"
#~ msgstr ""
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Unwatched all of {seasonLabel}"
msgstr ""
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Unwatched S{seasonNum} E{epNum}"
@@ -2341,10 +2453,13 @@ msgstr "Démarqué S{seasonNum} E{epNum}"
msgid "Up next"
msgstr "Suivant"
#. placeholder {0}: updateCheck.data.updateCheck.latestVersion
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Update available: {0}"
msgstr "Mise à jour disponible : {0}"
#~ msgid "Update available: {0}"
#~ msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Update available: {latestVersion}"
msgstr ""
#: apps/web/src/components/settings/system-health-section.tsx
msgid "Update check"
@@ -2381,11 +2496,13 @@ msgstr "Télécharger"
msgid "Upload a .db file to replace the current database. A safety backup is created first."
msgstr "Téléchargez un fichier .db pour remplacer la base de données actuelle. Une sauvegarde de sécurité est créée au préalable."
#. placeholder {0}: config.accept
#. placeholder {1}: config.label
#: apps/web/src/components/settings/imports-section.tsx
msgid "Upload a {0} export from your {1} account settings."
msgstr "Téléchargez un export {0} depuis les paramètres de votre compte {1}."
#~ msgid "Upload a {0} export from your {1} account settings."
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Upload a {acceptFormat} export from your {sourceLabel} account settings."
msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Upload export file"
@@ -2419,10 +2536,13 @@ msgstr "En attente d'autorisation..."
msgid "Warnings"
msgstr "Avertissements"
#. placeholder {0}: result.warnings.length
#: apps/web/src/components/settings/imports-section.tsx
msgid "Warnings ({0})"
msgstr "Avertissements ({0})"
#~ msgid "Warnings ({0})"
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Warnings ({warningCount})"
msgstr ""
#: apps/web/src/components/titles/title-seasons.tsx
msgid "Watch all"
@@ -2465,7 +2585,7 @@ msgstr "Liste de suivi"
#: apps/native/src/components/titles/status-action-button.tsx
#~ msgid "Watchlisted"
#~ msgstr "Dans la liste de suivi"
#~ msgstr ""
#: apps/native/src/components/settings/integration-configs.ts
#: apps/native/src/components/settings/integration-configs.ts
@@ -2505,10 +2625,13 @@ msgstr "Scénariste"
msgid "You'll be signed out to change the server URL."
msgstr "Vous serez déconnecté pour modifier l'URL du serveur."
#. placeholder {0}: data.currentVersion
#: apps/web/src/components/update-toast.tsx
msgid "You're running v{0}."
msgstr "Vous utilisez la v{0}."
#~ msgid "You're running v{0}."
#~ msgstr ""
#: apps/web/src/components/update-toast.tsx
msgid "You're running v{currentVersion}."
msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Your code:"
@@ -2522,3 +2645,4 @@ msgstr "Votre bibliothèque est vide"
#: apps/native/src/app/(auth)/register.tsx
msgid "Your name"
msgstr "Votre nom"
File diff suppressed because it is too large Load Diff
+289 -165
View File
@@ -8,20 +8,23 @@ msgstr ""
"Language: it\n"
"Project-Id-Version: sofa\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-03-19 00:35\n"
"PO-Revision-Date: 2026-03-20 23:13\n"
"Last-Translator: \n"
"Language-Team: Italian\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: sofa\n"
"X-Crowdin-Project-ID: 881052\n"
"X-Crowdin-Language: it\n"
"X-Crowdin-File: en.po\n"
"X-Crowdin-File-ID: 14\n"
"X-Crowdin-File: /packages/i18n/src/po/en.po\n"
"X-Crowdin-File-ID: 26\n"
#. placeholder {0}: result.errors.length - 50
#: apps/web/src/components/settings/imports-section.tsx
msgid "...and {0} more"
msgstr "...e altri {0}"
#~ msgid "...and {0} more"
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "...and {remainingErrors} more"
msgstr ""
#. placeholder {0}: systemHealth.data.imageCache.imageCount
#: apps/native/src/app/(tabs)/(settings)/index.tsx
@@ -33,86 +36,99 @@ msgstr "{0, plural, one {# immagine} other {# immagini}}"
msgid "{0, plural, one {# title} other {# titles}}"
msgstr "{0, plural, one {# titolo} other {# titoli}}"
#. placeholder {0}: displayBackups.length
#. placeholder {1}: displayBackups.length
#: apps/web/src/components/settings/backup-section.tsx
msgid "{0} {1, plural, one {backup} other {backups}} stored"
msgstr "{0} {1, plural, one {backup} other {backup}} archiviati"
#~ msgid "{0} {1, plural, one {backup} other {backups}} stored"
#~ msgstr ""
#: apps/web/src/components/settings/backup-section.tsx
#~ msgid "{0} backup{1} stored"
#~ msgstr "{0} backup{1} stored"
#. placeholder {0}: backups.backupCount
#: apps/web/src/components/settings/system-health-section.tsx
msgid "{0} backups · last <0/>"
msgstr "{0} backup · ultimo <0/>"
#~ msgid "{0} backups · last <0/>"
#~ msgstr ""
#. placeholder {0}: imageCache.imageCount.toLocaleString()
#: apps/web/src/components/settings/system-health-section.tsx
msgid "{0} cached images"
msgstr "{0} immagini in cache"
#~ msgid "{0} cached images"
#~ msgstr ""
#. placeholder {0}: member.episodeCount
#. placeholder {1}: member.episodeCount !== 1 ? "s" : ""
#: apps/web/src/components/titles/cast-carousel.tsx
msgid "{0} ep{1}"
msgstr "{0} ep{1}"
#~ msgid "{0} ep{1}"
#~ msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#~ msgid "{0} images"
#~ msgstr "{0} images"
#. placeholder {0}: stats.watchlist
#: apps/web/src/components/settings/imports-section.tsx
msgid "{0} items"
msgstr "{0} elementi"
#~ msgid "{0} items"
#~ msgstr ""
#. placeholder {0}: preview.diagnostics.unresolved
#: apps/web/src/components/settings/imports-section.tsx
msgid "{0} items have no external IDs and will be resolved by title search, which may be less accurate."
msgstr "{0} elementi non hanno ID esterni e verranno risolti tramite ricerca per titolo, che potrebbe essere meno accurata."
#~ msgid "{0} items have no external IDs and will be resolved by title search, which may be less accurate."
#~ msgstr ""
#. placeholder {0}: stats.movies
#. placeholder {1}: stats.episodes
#: apps/web/src/components/settings/imports-section.tsx
msgid "{0} movies, {1} episodes"
msgstr "{0} film, {1} episodi"
#~ msgid "{0} movies, {1} episodes"
#~ msgstr ""
#. placeholder {0}: stats.ratings
#: apps/web/src/components/settings/imports-section.tsx
msgid "{0} ratings"
msgstr "{0} valutazioni"
#~ msgid "{0} ratings"
#~ msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#~ msgid "{0} titles"
#~ msgstr "{0} titles"
#. placeholder {0}: JOB_LABELS[name] ?? name
#: apps/web/src/components/settings/system-health-section.tsx
msgid "{0} triggered"
msgstr "{0} attivato"
#~ msgid "{0} triggered"
#~ msgstr ""
#. placeholder {0}: item.watchedEpisodes
#. placeholder {1}: item.totalEpisodes
#. placeholder {2}: item.totalEpisodes
#: apps/web/src/components/dashboard/continue-watching-card.tsx
msgid "{0}/{1} {2, plural, one {episode} other {episodes}}"
msgstr "{0}/{1} {2, plural, one {episodio} other {episodi}}"
#~ msgid "{0}/{1} {2, plural, one {episode} other {episodes}}"
#~ msgstr ""
#: apps/web/src/components/dashboard/continue-watching-card.tsx
#~ msgid "{0}/{1} episodes"
#~ msgstr "{0}/{1} episodes"
#: apps/web/src/components/titles/use-title-actions.ts
#: apps/web/src/components/titles/use-title-actions.ts
msgid "{count} earlier {count, plural, one {episode} other {episodes}} unwatched"
msgstr "{count} {count, plural, one {episodio precedente non visto} other {episodi precedenti non visti}}"
#: apps/web/src/components/settings/backup-section.tsx
msgid "{backupCount, plural, one {# backup} other {# backups}} stored"
msgstr ""
#. placeholder {0}: activeJobs.length
#: apps/web/src/components/settings/system-health-section.tsx
msgid "{healthyCount} of {0} jobs healthy"
msgstr "{healthyCount} di {0} job attivi"
msgid "{backupCount} backups · last <0/>"
msgstr ""
#: apps/web/src/components/settings/system-health-section.tsx
msgid "{cachedImageCount} cached images"
msgstr ""
#: apps/web/src/components/titles/use-title-actions.ts
#: apps/web/src/components/titles/use-title-actions.ts
msgid "{count, plural, one {# earlier episode} other {# earlier episodes}} unwatched"
msgstr ""
#: apps/web/src/components/titles/use-title-actions.ts
#: apps/web/src/components/titles/use-title-actions.ts
#~ msgid "{count} earlier {count, plural, one {episode} other {episodes}} unwatched"
#~ msgstr ""
#: apps/web/src/components/titles/cast-carousel.tsx
msgid "{count} ep{suffix}"
msgstr ""
#: apps/web/src/components/settings/system-health-section.tsx
#~ msgid "{healthyCount} of {0} jobs healthy"
#~ msgstr ""
#: apps/web/src/components/settings/system-health-section.tsx
msgid "{healthyCount} of {activeJobCount} jobs healthy"
msgstr ""
#: apps/web/src/components/settings/system-health-section.tsx
msgid "{jobLabel} triggered"
msgstr ""
#: apps/native/src/components/settings/integration-card.tsx
#: apps/web/src/components/settings/integration-card.tsx
@@ -129,29 +145,54 @@ msgstr "Disconnesso: {label}"
msgid "{label} URL regenerated"
msgstr "URL {label} rigenerato"
#: apps/web/src/components/settings/imports-section.tsx
msgid "{movieCount} movies, {episodeCount} episodes"
msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "{ratingCount} ratings"
msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "{unresolvedCount} items have no external IDs and will be resolved by title search, which may be less accurate."
msgstr ""
#: apps/web/src/components/title-card.tsx
msgid "{watched}/{total} episodes"
msgstr "{watched}/{total} episodi"
#. placeholder {0}: episodes.length
#: apps/native/src/components/titles/season-accordion.tsx
msgid "{watchedCount} of {0} episodes watched"
msgstr "{watchedCount} di {0} episodi visti"
#~ msgid "{watchedCount} of {0} episodes watched"
#~ msgstr ""
#. placeholder {0}: episodes.length
#. placeholder {1}: episodes.length
#: apps/native/src/components/titles/season-accordion.tsx
msgid "{watchedCount}/{0} {1, plural, one {episode} other {episodes}}"
msgstr "{watchedCount}/{0} {1, plural, one {episodio} other {episodi}}"
msgid "{watchedCount} of {episodeCount} episodes watched"
msgstr ""
#: apps/native/src/components/titles/season-accordion.tsx
#~ msgid "{watchedCount}/{0} {1, plural, one {episode} other {episodes}}"
#~ msgstr ""
#: apps/native/src/components/titles/season-accordion.tsx
#~ msgid "{watchedCount}/{0} episodes"
#~ msgstr "{watchedCount}/{0} episodes"
#: apps/native/src/components/titles/season-accordion.tsx
msgid "{watchedCount}/{episodeCount, plural, one {# episode} other {# episodes}}"
msgstr ""
#: apps/web/src/components/dashboard/continue-watching-card.tsx
msgid "{watchedEpisodes}/{totalEpisodes, plural, one {# episode} other {# episodes}}"
msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "{watchlistCount} items"
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#: apps/web/src/components/settings/account-section.tsx
msgid "Account"
msgstr "Account"
msgstr ""
#: apps/web/src/components/settings/system-health-section.tsx
msgid "Actions"
@@ -207,7 +248,7 @@ msgstr "Aggiunto alla watchlist"
#: apps/web/src/components/nav-bar.tsx
#: apps/web/src/components/settings/account-section.tsx
msgid "Admin"
msgstr "Admin"
msgstr ""
#: apps/web/src/routes/_app/settings.tsx
msgid "Admin only"
@@ -268,10 +309,13 @@ msgstr "Autorizzazione riuscita ma impossibile recuperare la libreria. Riprova."
msgid "Authorization was denied. Please try again."
msgstr "Autorizzazione negata. Riprova."
#. placeholder {0}: config.label
#: apps/web/src/components/settings/imports-section.tsx
msgid "Authorize Sofa to read your {0} library. No password shared."
msgstr "Autorizza Sofa a leggere la tua libreria {0}. Nessuna password condivisa."
#~ msgid "Authorize Sofa to read your {0} library. No password shared."
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Authorize Sofa to read your {sourceLabel} library. No password shared."
msgstr ""
#: apps/web/src/components/settings/update-check-section.tsx
msgid "Automatic update checks"
@@ -295,7 +339,7 @@ msgstr "Job in background"
#: apps/web/src/components/settings/system-health-section.tsx
msgid "Backup"
msgstr "Backup"
msgstr ""
#: apps/web/src/components/settings/backup-section.tsx
msgid "Backup created"
@@ -315,8 +359,8 @@ msgid "Backups"
msgstr "Backup"
#: apps/web/src/components/settings/backup-schedule-section.tsx
#~ msgid "backups."
#~ msgstr "backups."
msgid "backups."
msgstr ""
#: apps/web/src/components/titles/title-availability.tsx
msgid "Buy"
@@ -361,7 +405,7 @@ msgstr "Annulla modifica"
#: apps/native/src/app/title/[id].tsx
#: apps/web/src/components/titles/cast-carousel.tsx
msgid "Cast"
msgstr "Cast"
msgstr ""
#: apps/web/src/components/titles/use-title-actions.ts
#: apps/web/src/components/titles/use-title-actions.ts
@@ -374,11 +418,13 @@ msgstr "Recupera episodi"
msgid "Caught Up"
msgstr "In pari"
#. placeholder {0}: episodeIds.length
#. placeholder {1}: episodeIds.length
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Caught up — marked {0} {1, plural, one {episode} other {episodes}} as watched"
msgstr "Recuperati — {0} {1, plural, one {episodio} other {episodi}} segnati come visti"
#~ msgid "Caught up — marked {0} {1, plural, one {episode} other {episodes}} as watched"
#~ msgstr ""
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Caught up — marked {count, plural, one {# episode} other {# episodes}} as watched"
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#: apps/web/src/components/settings/account-section.tsx
@@ -414,10 +460,13 @@ msgstr "Controllato <0/>"
msgid "Checking…"
msgstr "Verifica in corso…"
#. placeholder {0}: config.label
#: apps/web/src/components/settings/imports-section.tsx
msgid "Choose how to import your {0} data."
msgstr "Scegli come importare i tuoi dati {0}."
#~ msgid "Choose how to import your {0} data."
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Choose how to import your {sourceLabel} data."
msgstr ""
#: apps/web/src/components/settings/language-section.tsx
#~ msgid "Choose your preferred display language"
@@ -480,12 +529,12 @@ msgstr "Conferma nuova password"
msgid "Connect"
msgstr "Connetti"
#. placeholder {0}: config.label
#: apps/web/src/components/settings/integration-card.tsx
msgid "Connect {0}"
msgstr "Connetti {0}"
#~ msgid "Connect {0}"
#~ msgstr ""
#: apps/native/src/components/settings/integration-card.tsx
#: apps/web/src/components/settings/integration-card.tsx
msgid "Connect {label}"
msgstr "Connetti {label}"
@@ -497,10 +546,13 @@ msgstr "Connetti a {source}"
msgid "Connect to TMDB"
msgstr "Connetti a TMDB"
#. placeholder {0}: config.label
#: apps/web/src/components/settings/imports-section.tsx
msgid "Connect with {0}"
msgstr "Connetti con {0}"
#~ msgid "Connect with {0}"
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Connect with {sourceLabel}"
msgstr ""
#: apps/native/src/app/(auth)/server-url.tsx
#: apps/native/src/app/(tabs)/(settings)/index.tsx
@@ -596,12 +648,12 @@ msgstr "Zona pericolosa"
#: apps/web/src/routes/_app/titles.$id.tsx
#: apps/web/src/routes/_app/titles.$id.tsx
msgid "Dashboard"
msgstr "Dashboard"
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#: apps/web/src/components/settings/system-health-section.tsx
msgid "Database"
msgstr "Database"
msgstr ""
#: apps/web/src/components/settings/backup-section.tsx
msgid "Database backups"
@@ -703,7 +755,7 @@ msgstr "Montatore"
#: apps/native/src/app/(auth)/register.tsx
#: apps/web/src/components/auth-form.tsx
msgid "Email"
msgstr "Email"
msgstr ""
#: apps/native/src/components/settings/integration-configs.ts
msgid "Enable the \"Playback Stop\" notification type"
@@ -740,11 +792,11 @@ msgstr "Ambiente"
#: apps/native/src/components/titles/episode-row.tsx
#: apps/native/src/components/titles/episode-row.tsx
#~ msgid "Episode {0}"
#~ msgstr "Episodio {0}"
#~ msgstr ""
#: apps/native/src/components/titles/episode-row.tsx
#~ msgid "Episode {0}, {episodeLabel}"
#~ msgstr "Episodio {0}, {episodeLabel}"
#~ msgstr ""
#: apps/native/src/components/titles/episode-row.tsx
#: apps/native/src/components/titles/episode-row.tsx
@@ -770,10 +822,13 @@ msgstr "Episodio visto"
msgid "Episodes"
msgstr "Episodi"
#. placeholder {0}: periodLabels[episodePeriod]
#: apps/native/src/app/(tabs)/(home)/index.tsx
msgid "Episodes {0}"
msgstr "Episodi {0}"
#~ msgid "Episodes {0}"
#~ msgstr "Episodes {0}"
#: apps/native/src/app/(tabs)/(home)/index.tsx
msgid "Episodes {period}"
msgstr ""
#: apps/web/src/components/dashboard/stats-display.tsx
#~ msgid "Episodes {periodSelect}"
@@ -785,17 +840,20 @@ msgstr "Episodi {select}"
#: apps/native/src/app/(tabs)/(home)/index.tsx
#~ msgid "Episodes this week"
#~ msgstr "Episodi di questa settimana"
#~ msgstr ""
#: apps/native/src/app/change-password.tsx
#: apps/native/src/app/change-password.tsx
msgid "Error"
msgstr "Errore"
#. placeholder {0}: result.errors.length
#: apps/web/src/components/settings/imports-section.tsx
msgid "Errors ({0})"
msgstr "Errori ({0})"
#~ msgid "Errors ({0})"
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Errors ({errorCount})"
msgstr ""
#: apps/native/src/app/(tabs)/(explore)/_layout.tsx
#: apps/native/src/app/(tabs)/(home)/index.tsx
@@ -923,10 +981,13 @@ msgstr "Impossibile rimuovere l'immagine del profilo"
msgid "Failed to sign in"
msgstr "Impossibile accedere"
#. placeholder {0}: config.label
#: apps/web/src/components/settings/imports-section.tsx
msgid "Failed to start {0} connection"
msgstr "Impossibile avviare la connessione {0}"
#~ msgid "Failed to start {0} connection"
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Failed to start {sourceLabel} connection"
msgstr ""
#: apps/web/src/components/settings/system-health-section.tsx
msgid "Failed to trigger job"
@@ -1055,7 +1116,7 @@ msgstr "Ecco cosa sta succedendo nella tua libreria"
#: apps/web/src/components/nav-bar.tsx
#: apps/web/src/components/nav-bar.tsx
msgid "Home"
msgstr "Home"
msgstr ""
#: apps/web/src/components/settings/system-health-section.tsx
#: apps/web/src/components/settings/system-health-section.tsx
@@ -1086,15 +1147,18 @@ msgstr "Importazione completata"
msgid "Import failed"
msgstr "Importazione fallita"
#. placeholder {0}: config.label
#: apps/web/src/components/settings/imports-section.tsx
msgid "Import from {0}"
msgstr "Importa da {0}"
#~ msgid "Import from {0}"
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Import from {source}"
msgstr "Importa da {source}"
#: apps/web/src/components/settings/imports-section.tsx
msgid "Import from {sourceLabel}"
msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
#: apps/web/src/components/settings/imports-section.tsx
msgid "Import is still running in the background. Check back later."
@@ -1108,11 +1172,13 @@ msgstr "Opzioni di importazione"
msgid "Imported"
msgstr "Importati"
#. placeholder {0}: event.job.importedCount
#. placeholder {1}: config.label
#: apps/web/src/components/settings/imports-section.tsx
msgid "Imported {0} items from {1}"
msgstr "Importati {0} elementi da {1}"
#~ msgid "Imported {0} items from {1}"
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Imported {importedCount} items from {sourceLabel}"
msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Importing from {source}"
@@ -1158,14 +1224,12 @@ msgid "Job"
msgstr "Attività"
#: apps/web/src/components/settings/backup-schedule-section.tsx
#~ msgid "Keeping"
#~ msgstr "Keeping"
msgid "Keeping"
msgstr ""
#. placeholder {0}: (value: string | null) => value === "0" ? t`unlimited` : value ? t`last ${value}` : null
#. placeholder {1}: [3, 5, 7, 14, 30, 0].map((n) => ( <SelectItem key={n} value={String(n)}> {n === 0 ? t`unlimited` : t`last ${n}`} </SelectItem> ))
#: apps/web/src/components/settings/backup-schedule-section.tsx
msgid "Keeping <0><1><2>{0}</2></1><3>{1}</3></0> backups."
msgstr "Mantenendo <0><1><2>{0}</2></1><3>{1}</3></0> backup."
#~ msgid "Keeping <0><1><2>{0}</2></1><3>{1}</3></0> backups."
#~ msgstr ""
#: apps/web/src/components/command-palette.tsx
#: apps/web/src/components/command-palette.tsx
@@ -1186,19 +1250,25 @@ msgstr "ultimi {n}"
msgid "last {value}"
msgstr "ultimi {value}"
#. placeholder {0}: formatRelativeTime(lastEventAt)
#: apps/web/src/components/settings/integration-card.tsx
msgid "Last event {0}"
msgstr "Ultimo evento {0}"
#~ msgid "Last event {0}"
#~ msgstr ""
#: apps/web/src/components/settings/integration-card.tsx
msgid "Last event {relativeTime}"
msgstr ""
#: apps/native/src/components/settings/integration-configs.ts
msgid "Last event {timeAgo}"
msgstr "Ultimo evento {timeAgo}"
#. placeholder {0}: formatRelativeTime(lastEventAt)
#: apps/web/src/components/settings/integration-card.tsx
msgid "Last polled {0}"
msgstr "Ultimo polling {0}"
#~ msgid "Last polled {0}"
#~ msgstr ""
#: apps/web/src/components/settings/integration-card.tsx
msgid "Last polled {relativeTime}"
msgstr ""
#: apps/native/src/components/settings/integration-configs.ts
msgid "Last polled {timeAgo}"
@@ -1249,7 +1319,7 @@ msgstr "Segna tutti come visti"
#: apps/native/src/components/dashboard/continue-watching-card.tsx
#~ msgid "Mark as Completed"
#~ msgstr "Segna come completato"
#~ msgstr ""
#: apps/native/src/components/ui/poster-card.tsx
msgid "Mark as Watched"
@@ -1257,7 +1327,7 @@ msgstr "Segna come visto"
#: apps/native/src/components/ui/poster-card.tsx
#~ msgid "Mark as Watching"
#~ msgstr "Segna come in visione"
#~ msgstr ""
#: apps/native/src/app/title/[id].tsx
#: apps/web/src/components/titles/title-actions.tsx
@@ -1266,7 +1336,7 @@ msgstr "Segna come visto"
#: apps/native/src/lib/title-actions.ts
#~ msgid "Marked \"{titleName}\" as completed"
#~ msgstr "Segnato \"{titleName}\" come completato"
#~ msgstr ""
#: apps/native/src/lib/title-actions.ts
#: apps/web/src/components/titles/use-title-actions.ts
@@ -1285,7 +1355,7 @@ msgstr "Tutti gli episodi di \"{titleName}\" segnati come visti"
#: apps/native/src/hooks/use-title-actions.ts
#: apps/native/src/lib/title-actions.ts
#~ msgid "Marked as completed"
#~ msgstr "Segnato come completato"
#~ msgstr ""
#: apps/native/src/hooks/use-title-actions.ts
#: apps/native/src/lib/title-actions.ts
@@ -1295,7 +1365,7 @@ msgstr "Segnato come visto"
#: apps/native/src/hooks/use-title-actions.ts
#: apps/native/src/lib/title-actions.ts
#~ msgid "Marked as watching"
#~ msgstr "Segnato come in visione"
#~ msgstr ""
#: apps/web/src/components/settings/account-section.tsx
msgid "Member since {memberSince}"
@@ -1327,10 +1397,13 @@ msgstr "Film"
msgid "Movies"
msgstr "Film"
#. placeholder {0}: periodLabels[moviePeriod]
#: apps/native/src/app/(tabs)/(home)/index.tsx
msgid "Movies {0}"
msgstr "Film {0}"
#~ msgid "Movies {0}"
#~ msgstr "Movies {0}"
#: apps/native/src/app/(tabs)/(home)/index.tsx
msgid "Movies {period}"
msgstr ""
#: apps/web/src/components/dashboard/stats-display.tsx
#~ msgid "Movies {periodSelect}"
@@ -1342,7 +1415,7 @@ msgstr "Film {select}"
#: apps/native/src/app/(tabs)/(home)/index.tsx
#~ msgid "Movies this month"
#~ msgstr "Film di questo mese"
#~ msgstr ""
#: apps/native/src/app/(auth)/register.tsx
#: apps/web/src/components/auth-form.tsx
@@ -1511,7 +1584,7 @@ msgstr "Analisi in corso..."
#: apps/native/src/app/(auth)/register.tsx
#: apps/web/src/components/auth-form.tsx
msgid "Password"
msgstr "Password"
msgstr ""
#: apps/native/src/app/change-password.tsx
#: apps/web/src/components/settings/account-section.tsx
@@ -1635,20 +1708,23 @@ msgstr "Azioni rapide"
msgid "Radarr List URL"
msgstr "URL lista Radarr"
#. placeholder {0}: input.stars
#. placeholder {1}: input.stars
#: apps/native/src/hooks/use-title-actions.ts
msgid "Rated {0} {1, plural, one {star} other {stars}}"
msgstr "Valutato {0} {1, plural, one {stella} other {stelle}}"
#~ msgid "Rated {0} {1, plural, one {star} other {stars}}"
#~ msgstr ""
#: apps/native/src/hooks/use-title-actions.ts
#~ msgid "Rated {0} star{1}"
#~ msgstr "Rated {0} star{1}"
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Rated {ratingStars} {ratingStars, plural, one {star} other {stars}}"
msgstr "Valutato {ratingStars} {ratingStars, plural, one {stella} other {stelle}}"
msgid "Rated {ratingStars, plural, one {# star} other {# stars}}"
msgstr ""
#: apps/web/src/components/titles/use-title-actions.ts
#~ msgid "Rated {ratingStars} {ratingStars, plural, one {star} other {stars}}"
#~ msgstr ""
#: apps/native/src/hooks/use-title-actions.ts
#: apps/native/src/lib/title-actions.ts
msgid "Rated {stars, plural, one {# star} other {# stars}}"
msgstr "{stars, plural, one {# stella} other {# stelle}}"
@@ -1810,6 +1886,14 @@ msgstr "Richiede un abbonamento Plex Pass attivo."
msgid "Requires Emby Server 4.7.9+ and an active Emby Premiere license."
msgstr "Richiede Emby Server 4.7.9+ e una licenza Emby Premiere attiva."
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Restart"
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Restart Required"
msgstr ""
#: apps/web/src/components/settings/backup-restore-section.tsx
#: apps/web/src/components/settings/backup-restore-section.tsx
msgid "Restore"
@@ -1921,13 +2005,19 @@ msgstr "Cerca film, serie, persone..."
msgid "Search…"
msgstr "Cerca…"
#. placeholder {0}: season.seasonNumber
#: apps/native/src/components/titles/season-accordion.tsx
#: apps/native/src/components/titles/season-accordion.tsx
#: apps/web/src/components/titles/use-title-actions.ts
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Season {0}"
msgstr "Stagione {0}"
#~ msgid "Season {0}"
#~ msgstr ""
#: apps/native/src/components/titles/season-accordion.tsx
#: apps/native/src/components/titles/season-accordion.tsx
#: apps/web/src/components/titles/use-title-actions.ts
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Season {seasonNumber}"
msgstr ""
#: apps/native/src/hooks/use-title-actions.ts
#: apps/native/src/lib/title-actions.ts
@@ -1949,7 +2039,7 @@ msgstr "Tracker film & TV self-hosted"
#: apps/web/src/routes/_app/settings.tsx
msgid "Server"
msgstr "Server"
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Server Health"
@@ -2018,12 +2108,18 @@ msgstr "Accedi invece"
msgid "Sign in to continue"
msgstr "Accedi per continuare"
#. placeholder {0}: authConfig.data?.oidcProviderName ?? "SSO"
#. placeholder {0}: authConfig?.oidcProviderName || "SSO"
#: apps/native/src/app/(auth)/login.tsx
#: apps/web/src/components/auth-form.tsx
msgid "Sign in with {0}"
msgstr "Accedi con {0}"
#~ msgid "Sign in with {0}"
#~ msgstr ""
#: apps/web/src/components/auth-form.tsx
msgid "Sign in with {oidcProviderName}"
msgstr ""
#: apps/native/src/app/(auth)/login.tsx
msgid "Sign in with {providerName}"
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#: apps/native/src/components/header-avatar.tsx
@@ -2048,10 +2144,17 @@ msgstr "Esci dalle altre sessioni"
msgid "Skipped"
msgstr "Ignorati"
#. placeholder {0}: data.latestVersion
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Sofa needs to restart to apply the new layout direction."
msgstr ""
#: apps/web/src/components/update-toast.tsx
msgid "Sofa v{0} is available"
msgstr "Sofa v{0} è disponibile"
#~ msgid "Sofa v{0} is available"
#~ msgstr ""
#: apps/web/src/components/update-toast.tsx
msgid "Sofa v{latestVersion} is available"
msgstr ""
#: apps/native/src/components/settings/integration-configs.ts
#: apps/native/src/components/settings/integration-configs.ts
@@ -2118,10 +2221,13 @@ msgstr "Streaming"
msgid "Sunday"
msgstr "Domenica"
#. placeholder {0}: info.name
#: apps/web/src/components/settings/language-section.tsx
msgid "Switch to {0}"
msgstr "Passa a {0}"
#~ msgid "Switch to {0}"
#~ msgstr ""
#: apps/web/src/components/settings/language-section.tsx
msgid "Switch to {name}"
msgstr ""
#: apps/native/src/app/+not-found.tsx
msgid "The page you're looking for doesn't exist."
@@ -2192,10 +2298,13 @@ msgstr "Questo invaliderà l'URL attuale di {label}. Dovrai aggiornarlo in {labe
msgid "This will mark every episode of this show as watched. You can undo this later by unmarking individual seasons."
msgstr "Questo segnerà tutti gli episodi di questa serie come visti. Puoi annullarlo in seguito de-segnando le singole stagioni."
#. placeholder {0}: formatBackupDate(backup.createdAt)
#: apps/web/src/components/settings/backup-section.tsx
msgid "This will permanently delete the backup from <0>{0}</0>. This cannot be undone."
msgstr "Questo eliminerà definitivamente il backup del <0>{0}</0>. L'operazione non può essere annullata."
#~ msgid "This will permanently delete the backup from <0>{0}</0>. This cannot be undone."
#~ msgstr ""
#: apps/web/src/components/settings/backup-section.tsx
msgid "This will permanently delete the backup from <0>{backupDate}</0>. This cannot be undone."
msgstr ""
#: apps/native/src/components/search/recently-viewed-list.ios.tsx
#: apps/native/src/components/search/recently-viewed-list.tsx
@@ -2266,7 +2375,7 @@ msgstr "Traccia cosa guardi. Sai cosa ti aspetta.<0/>La tua libreria, i tuoi dat
#: apps/web/src/components/titles/trailer-dialog.tsx
#: apps/web/src/components/titles/trailer-dialog.tsx
msgid "Trailer"
msgstr "Trailer"
msgstr ""
#: apps/web/src/components/explore/hero-banner.tsx
msgid "Trending today"
@@ -2296,7 +2405,7 @@ msgstr "Martedì"
#: apps/web/src/components/people/filmography-grid.tsx
#: apps/web/src/components/titles/title-hero.tsx
msgid "TV"
msgstr "TV"
msgstr ""
#: apps/web/src/components/settings/system-health-section.tsx
msgid "TV episodes"
@@ -2327,10 +2436,13 @@ msgstr "Senza titolo"
msgid "Unwatch all"
msgstr "Rimuovi visione dalla stagione"
#. placeholder {0}: season.name ?? t`Season ${season.seasonNumber}`
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Unwatched all of {0}"
msgstr "Rimossa visione di {0}"
#~ msgid "Unwatched all of {0}"
#~ msgstr ""
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Unwatched all of {seasonLabel}"
msgstr ""
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Unwatched S{seasonNum} E{epNum}"
@@ -2341,10 +2453,13 @@ msgstr "Non visto S{seasonNum} E{epNum}"
msgid "Up next"
msgstr "Prossimo"
#. placeholder {0}: updateCheck.data.updateCheck.latestVersion
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Update available: {0}"
msgstr "Aggiornamento disponibile: {0}"
#~ msgid "Update available: {0}"
#~ msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Update available: {latestVersion}"
msgstr ""
#: apps/web/src/components/settings/system-health-section.tsx
msgid "Update check"
@@ -2381,11 +2496,13 @@ msgstr "Carica"
msgid "Upload a .db file to replace the current database. A safety backup is created first."
msgstr "Carica un file .db per sostituire il database attuale. Prima viene creato un backup di sicurezza."
#. placeholder {0}: config.accept
#. placeholder {1}: config.label
#: apps/web/src/components/settings/imports-section.tsx
msgid "Upload a {0} export from your {1} account settings."
msgstr "Carica un'esportazione {0} dalle impostazioni del tuo account {1}."
#~ msgid "Upload a {0} export from your {1} account settings."
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Upload a {acceptFormat} export from your {sourceLabel} account settings."
msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Upload export file"
@@ -2419,10 +2536,13 @@ msgstr "In attesa di autorizzazione..."
msgid "Warnings"
msgstr "Avvisi"
#. placeholder {0}: result.warnings.length
#: apps/web/src/components/settings/imports-section.tsx
msgid "Warnings ({0})"
msgstr "Avvisi ({0})"
#~ msgid "Warnings ({0})"
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Warnings ({warningCount})"
msgstr ""
#: apps/web/src/components/titles/title-seasons.tsx
msgid "Watch all"
@@ -2461,11 +2581,11 @@ msgstr "In visione"
#: apps/web/src/components/settings/imports-section.tsx
#: apps/web/src/components/titles/status-button.tsx
msgid "Watchlist"
msgstr "Watchlist"
msgstr ""
#: apps/native/src/components/titles/status-action-button.tsx
#~ msgid "Watchlisted"
#~ msgstr "In watchlist"
#~ msgstr ""
#: apps/native/src/components/settings/integration-configs.ts
#: apps/native/src/components/settings/integration-configs.ts
@@ -2505,10 +2625,13 @@ msgstr "Sceneggiatore"
msgid "You'll be signed out to change the server URL."
msgstr "Verrai disconnesso per cambiare l'URL del server."
#. placeholder {0}: data.currentVersion
#: apps/web/src/components/update-toast.tsx
msgid "You're running v{0}."
msgstr "Stai usando la v{0}."
#~ msgid "You're running v{0}."
#~ msgstr ""
#: apps/web/src/components/update-toast.tsx
msgid "You're running v{currentVersion}."
msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Your code:"
@@ -2522,3 +2645,4 @@ msgstr "La tua libreria è vuota"
#: apps/native/src/app/(auth)/register.tsx
msgid "Your name"
msgstr "Il tuo nome"
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+280 -156
View File
@@ -8,20 +8,23 @@ msgstr ""
"Language: pt\n"
"Project-Id-Version: sofa\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-03-19 00:35\n"
"PO-Revision-Date: 2026-03-20 23:13\n"
"Last-Translator: \n"
"Language-Team: Portuguese\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: sofa\n"
"X-Crowdin-Project-ID: 881052\n"
"X-Crowdin-Language: pt-PT\n"
"X-Crowdin-File: en.po\n"
"X-Crowdin-File-ID: 14\n"
"X-Crowdin-File: /packages/i18n/src/po/en.po\n"
"X-Crowdin-File-ID: 26\n"
#. placeholder {0}: result.errors.length - 50
#: apps/web/src/components/settings/imports-section.tsx
msgid "...and {0} more"
msgstr "...e mais {0}"
#~ msgid "...and {0} more"
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "...and {remainingErrors} more"
msgstr ""
#. placeholder {0}: systemHealth.data.imageCache.imageCount
#: apps/native/src/app/(tabs)/(settings)/index.tsx
@@ -33,86 +36,99 @@ msgstr "{0, plural, one {# imagem} other {# imagens}}"
msgid "{0, plural, one {# title} other {# titles}}"
msgstr "{0, plural, one {# título} other {# títulos}}"
#. placeholder {0}: displayBackups.length
#. placeholder {1}: displayBackups.length
#: apps/web/src/components/settings/backup-section.tsx
msgid "{0} {1, plural, one {backup} other {backups}} stored"
msgstr "{0} {1, plural, one {backup armazenado} other {backups armazenados}}"
#~ msgid "{0} {1, plural, one {backup} other {backups}} stored"
#~ msgstr ""
#: apps/web/src/components/settings/backup-section.tsx
#~ msgid "{0} backup{1} stored"
#~ msgstr "{0} backup{1} stored"
#. placeholder {0}: backups.backupCount
#: apps/web/src/components/settings/system-health-section.tsx
msgid "{0} backups · last <0/>"
msgstr "{0} backups · último <0/>"
#~ msgid "{0} backups · last <0/>"
#~ msgstr ""
#. placeholder {0}: imageCache.imageCount.toLocaleString()
#: apps/web/src/components/settings/system-health-section.tsx
msgid "{0} cached images"
msgstr "{0} imagens em cache"
#~ msgid "{0} cached images"
#~ msgstr ""
#. placeholder {0}: member.episodeCount
#. placeholder {1}: member.episodeCount !== 1 ? "s" : ""
#: apps/web/src/components/titles/cast-carousel.tsx
msgid "{0} ep{1}"
msgstr "{0} ep{1}"
#~ msgid "{0} ep{1}"
#~ msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#~ msgid "{0} images"
#~ msgstr "{0} images"
#. placeholder {0}: stats.watchlist
#: apps/web/src/components/settings/imports-section.tsx
msgid "{0} items"
msgstr "{0} itens"
#~ msgid "{0} items"
#~ msgstr ""
#. placeholder {0}: preview.diagnostics.unresolved
#: apps/web/src/components/settings/imports-section.tsx
msgid "{0} items have no external IDs and will be resolved by title search, which may be less accurate."
msgstr "{0} itens não têm IDs externos e serão resolvidos por pesquisa de título, o que pode ser menos preciso."
#~ msgid "{0} items have no external IDs and will be resolved by title search, which may be less accurate."
#~ msgstr ""
#. placeholder {0}: stats.movies
#. placeholder {1}: stats.episodes
#: apps/web/src/components/settings/imports-section.tsx
msgid "{0} movies, {1} episodes"
msgstr "{0} filmes, {1} episódios"
#~ msgid "{0} movies, {1} episodes"
#~ msgstr ""
#. placeholder {0}: stats.ratings
#: apps/web/src/components/settings/imports-section.tsx
msgid "{0} ratings"
msgstr "{0} avaliações"
#~ msgid "{0} ratings"
#~ msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#~ msgid "{0} titles"
#~ msgstr "{0} titles"
#. placeholder {0}: JOB_LABELS[name] ?? name
#: apps/web/src/components/settings/system-health-section.tsx
msgid "{0} triggered"
msgstr "{0} acionado"
#~ msgid "{0} triggered"
#~ msgstr ""
#. placeholder {0}: item.watchedEpisodes
#. placeholder {1}: item.totalEpisodes
#. placeholder {2}: item.totalEpisodes
#: apps/web/src/components/dashboard/continue-watching-card.tsx
msgid "{0}/{1} {2, plural, one {episode} other {episodes}}"
msgstr "{0}/{1} {2, plural, one {episódio} other {episódios}}"
#~ msgid "{0}/{1} {2, plural, one {episode} other {episodes}}"
#~ msgstr ""
#: apps/web/src/components/dashboard/continue-watching-card.tsx
#~ msgid "{0}/{1} episodes"
#~ msgstr "{0}/{1} episodes"
#: apps/web/src/components/titles/use-title-actions.ts
#: apps/web/src/components/titles/use-title-actions.ts
msgid "{count} earlier {count, plural, one {episode} other {episodes}} unwatched"
msgstr "{count} {count, plural, one {episódio anterior não assistido} other {episódios anteriores não assistidos}}"
#: apps/web/src/components/settings/backup-section.tsx
msgid "{backupCount, plural, one {# backup} other {# backups}} stored"
msgstr ""
#. placeholder {0}: activeJobs.length
#: apps/web/src/components/settings/system-health-section.tsx
msgid "{healthyCount} of {0} jobs healthy"
msgstr "{healthyCount} de {0} tarefas saudáveis"
msgid "{backupCount} backups · last <0/>"
msgstr ""
#: apps/web/src/components/settings/system-health-section.tsx
msgid "{cachedImageCount} cached images"
msgstr ""
#: apps/web/src/components/titles/use-title-actions.ts
#: apps/web/src/components/titles/use-title-actions.ts
msgid "{count, plural, one {# earlier episode} other {# earlier episodes}} unwatched"
msgstr ""
#: apps/web/src/components/titles/use-title-actions.ts
#: apps/web/src/components/titles/use-title-actions.ts
#~ msgid "{count} earlier {count, plural, one {episode} other {episodes}} unwatched"
#~ msgstr ""
#: apps/web/src/components/titles/cast-carousel.tsx
msgid "{count} ep{suffix}"
msgstr ""
#: apps/web/src/components/settings/system-health-section.tsx
#~ msgid "{healthyCount} of {0} jobs healthy"
#~ msgstr ""
#: apps/web/src/components/settings/system-health-section.tsx
msgid "{healthyCount} of {activeJobCount} jobs healthy"
msgstr ""
#: apps/web/src/components/settings/system-health-section.tsx
msgid "{jobLabel} triggered"
msgstr ""
#: apps/native/src/components/settings/integration-card.tsx
#: apps/web/src/components/settings/integration-card.tsx
@@ -129,25 +145,50 @@ msgstr "{label} desconectado"
msgid "{label} URL regenerated"
msgstr "URL de {label} regenerada"
#: apps/web/src/components/settings/imports-section.tsx
msgid "{movieCount} movies, {episodeCount} episodes"
msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "{ratingCount} ratings"
msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "{unresolvedCount} items have no external IDs and will be resolved by title search, which may be less accurate."
msgstr ""
#: apps/web/src/components/title-card.tsx
msgid "{watched}/{total} episodes"
msgstr "{watched}/{total} episódios"
#. placeholder {0}: episodes.length
#: apps/native/src/components/titles/season-accordion.tsx
msgid "{watchedCount} of {0} episodes watched"
msgstr "{watchedCount} de {0} episódios assistidos"
#~ msgid "{watchedCount} of {0} episodes watched"
#~ msgstr ""
#. placeholder {0}: episodes.length
#. placeholder {1}: episodes.length
#: apps/native/src/components/titles/season-accordion.tsx
msgid "{watchedCount}/{0} {1, plural, one {episode} other {episodes}}"
msgstr "{watchedCount}/{0} {1, plural, one {episódio} other {episódios}}"
msgid "{watchedCount} of {episodeCount} episodes watched"
msgstr ""
#: apps/native/src/components/titles/season-accordion.tsx
#~ msgid "{watchedCount}/{0} {1, plural, one {episode} other {episodes}}"
#~ msgstr ""
#: apps/native/src/components/titles/season-accordion.tsx
#~ msgid "{watchedCount}/{0} episodes"
#~ msgstr "{watchedCount}/{0} episodes"
#: apps/native/src/components/titles/season-accordion.tsx
msgid "{watchedCount}/{episodeCount, plural, one {# episode} other {# episodes}}"
msgstr ""
#: apps/web/src/components/dashboard/continue-watching-card.tsx
msgid "{watchedEpisodes}/{totalEpisodes, plural, one {# episode} other {# episodes}}"
msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "{watchlistCount} items"
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#: apps/web/src/components/settings/account-section.tsx
msgid "Account"
@@ -268,10 +309,13 @@ msgstr "Autorização concluída, mas falha ao buscar sua biblioteca. Tente nova
msgid "Authorization was denied. Please try again."
msgstr "Autorização negada. Tente novamente."
#. placeholder {0}: config.label
#: apps/web/src/components/settings/imports-section.tsx
msgid "Authorize Sofa to read your {0} library. No password shared."
msgstr "Autorize o Sofa a ler sua biblioteca do {0}. Nenhuma senha é compartilhada."
#~ msgid "Authorize Sofa to read your {0} library. No password shared."
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Authorize Sofa to read your {sourceLabel} library. No password shared."
msgstr ""
#: apps/web/src/components/settings/update-check-section.tsx
msgid "Automatic update checks"
@@ -295,7 +339,7 @@ msgstr "Tarefas em segundo plano"
#: apps/web/src/components/settings/system-health-section.tsx
msgid "Backup"
msgstr "Backup"
msgstr ""
#: apps/web/src/components/settings/backup-section.tsx
msgid "Backup created"
@@ -312,11 +356,11 @@ msgstr "Agendamento de backup"
#: apps/web/src/components/settings/system-health-section.tsx
#: apps/web/src/routes/_app/settings.tsx
msgid "Backups"
msgstr "Backups"
msgstr ""
#: apps/web/src/components/settings/backup-schedule-section.tsx
#~ msgid "backups."
#~ msgstr "backups."
msgid "backups."
msgstr ""
#: apps/web/src/components/titles/title-availability.tsx
msgid "Buy"
@@ -374,11 +418,13 @@ msgstr "Colocar em dia"
msgid "Caught Up"
msgstr "Em dia"
#. placeholder {0}: episodeIds.length
#. placeholder {1}: episodeIds.length
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Caught up — marked {0} {1, plural, one {episode} other {episodes}} as watched"
msgstr "Em dia — {0} {1, plural, one {episódio marcado como assistido} other {episódios marcados como assistidos}}"
#~ msgid "Caught up — marked {0} {1, plural, one {episode} other {episodes}} as watched"
#~ msgstr ""
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Caught up — marked {count, plural, one {# episode} other {# episodes}} as watched"
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#: apps/web/src/components/settings/account-section.tsx
@@ -414,10 +460,13 @@ msgstr "Verificado <0/>"
msgid "Checking…"
msgstr "Verificando…"
#. placeholder {0}: config.label
#: apps/web/src/components/settings/imports-section.tsx
msgid "Choose how to import your {0} data."
msgstr "Escolha como importar seus dados do {0}."
#~ msgid "Choose how to import your {0} data."
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Choose how to import your {sourceLabel} data."
msgstr ""
#: apps/web/src/components/settings/language-section.tsx
#~ msgid "Choose your preferred display language"
@@ -480,12 +529,12 @@ msgstr "Confirmar nova senha"
msgid "Connect"
msgstr "Conectar"
#. placeholder {0}: config.label
#: apps/web/src/components/settings/integration-card.tsx
msgid "Connect {0}"
msgstr "Conectar {0}"
#~ msgid "Connect {0}"
#~ msgstr ""
#: apps/native/src/components/settings/integration-card.tsx
#: apps/web/src/components/settings/integration-card.tsx
msgid "Connect {label}"
msgstr "Conectar {label}"
@@ -497,10 +546,13 @@ msgstr "Conectar a {source}"
msgid "Connect to TMDB"
msgstr "Conectar ao TMDB"
#. placeholder {0}: config.label
#: apps/web/src/components/settings/imports-section.tsx
msgid "Connect with {0}"
msgstr "Conectar com {0}"
#~ msgid "Connect with {0}"
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Connect with {sourceLabel}"
msgstr ""
#: apps/native/src/app/(auth)/server-url.tsx
#: apps/native/src/app/(tabs)/(settings)/index.tsx
@@ -697,7 +749,7 @@ msgstr "Baixar backup"
#: apps/native/src/components/search/recently-viewed-row-content.tsx
#: apps/web/src/components/people/person-hero.tsx
msgid "Editor"
msgstr "Editor"
msgstr ""
#: apps/native/src/app/(auth)/login.tsx
#: apps/native/src/app/(auth)/register.tsx
@@ -740,11 +792,11 @@ msgstr "Ambiente"
#: apps/native/src/components/titles/episode-row.tsx
#: apps/native/src/components/titles/episode-row.tsx
#~ msgid "Episode {0}"
#~ msgstr "Episódio {0}"
#~ msgstr ""
#: apps/native/src/components/titles/episode-row.tsx
#~ msgid "Episode {0}, {episodeLabel}"
#~ msgstr "Episódio {0}, {episodeLabel}"
#~ msgstr ""
#: apps/native/src/components/titles/episode-row.tsx
#: apps/native/src/components/titles/episode-row.tsx
@@ -770,10 +822,13 @@ msgstr "Episódio assistido"
msgid "Episodes"
msgstr "Episódios"
#. placeholder {0}: periodLabels[episodePeriod]
#: apps/native/src/app/(tabs)/(home)/index.tsx
msgid "Episodes {0}"
msgstr "Episódios {0}"
#~ msgid "Episodes {0}"
#~ msgstr "Episodes {0}"
#: apps/native/src/app/(tabs)/(home)/index.tsx
msgid "Episodes {period}"
msgstr ""
#: apps/web/src/components/dashboard/stats-display.tsx
#~ msgid "Episodes {periodSelect}"
@@ -785,17 +840,20 @@ msgstr "Episódios {select}"
#: apps/native/src/app/(tabs)/(home)/index.tsx
#~ msgid "Episodes this week"
#~ msgstr "Episódios desta semana"
#~ msgstr ""
#: apps/native/src/app/change-password.tsx
#: apps/native/src/app/change-password.tsx
msgid "Error"
msgstr "Erro"
#. placeholder {0}: result.errors.length
#: apps/web/src/components/settings/imports-section.tsx
msgid "Errors ({0})"
msgstr "Erros ({0})"
#~ msgid "Errors ({0})"
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Errors ({errorCount})"
msgstr ""
#: apps/native/src/app/(tabs)/(explore)/_layout.tsx
#: apps/native/src/app/(tabs)/(home)/index.tsx
@@ -923,10 +981,13 @@ msgstr "Falha ao remover foto de perfil"
msgid "Failed to sign in"
msgstr "Falha ao entrar"
#. placeholder {0}: config.label
#: apps/web/src/components/settings/imports-section.tsx
msgid "Failed to start {0} connection"
msgstr "Falha ao iniciar conexão com {0}"
#~ msgid "Failed to start {0} connection"
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Failed to start {sourceLabel} connection"
msgstr ""
#: apps/web/src/components/settings/system-health-section.tsx
msgid "Failed to trigger job"
@@ -1086,15 +1147,18 @@ msgstr "Importação concluída"
msgid "Import failed"
msgstr "Importação falhou"
#. placeholder {0}: config.label
#: apps/web/src/components/settings/imports-section.tsx
msgid "Import from {0}"
msgstr "Importar de {0}"
#~ msgid "Import from {0}"
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Import from {source}"
msgstr "Importar de {source}"
#: apps/web/src/components/settings/imports-section.tsx
msgid "Import from {sourceLabel}"
msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
#: apps/web/src/components/settings/imports-section.tsx
msgid "Import is still running in the background. Check back later."
@@ -1108,11 +1172,13 @@ msgstr "Opções de importação"
msgid "Imported"
msgstr "Importado"
#. placeholder {0}: event.job.importedCount
#. placeholder {1}: config.label
#: apps/web/src/components/settings/imports-section.tsx
msgid "Imported {0} items from {1}"
msgstr "Importados {0} itens de {1}"
#~ msgid "Imported {0} items from {1}"
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Imported {importedCount} items from {sourceLabel}"
msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Importing from {source}"
@@ -1158,14 +1224,12 @@ msgid "Job"
msgstr "Tarefa"
#: apps/web/src/components/settings/backup-schedule-section.tsx
#~ msgid "Keeping"
#~ msgstr "Keeping"
msgid "Keeping"
msgstr ""
#. placeholder {0}: (value: string | null) => value === "0" ? t`unlimited` : value ? t`last ${value}` : null
#. placeholder {1}: [3, 5, 7, 14, 30, 0].map((n) => ( <SelectItem key={n} value={String(n)}> {n === 0 ? t`unlimited` : t`last ${n}`} </SelectItem> ))
#: apps/web/src/components/settings/backup-schedule-section.tsx
msgid "Keeping <0><1><2>{0}</2></1><3>{1}</3></0> backups."
msgstr "Mantendo <0><1><2>{0}</2></1><3>{1}</3></0> backups."
#~ msgid "Keeping <0><1><2>{0}</2></1><3>{1}</3></0> backups."
#~ msgstr ""
#: apps/web/src/components/command-palette.tsx
#: apps/web/src/components/command-palette.tsx
@@ -1186,19 +1250,25 @@ msgstr "últimos {n}"
msgid "last {value}"
msgstr "últimos {value}"
#. placeholder {0}: formatRelativeTime(lastEventAt)
#: apps/web/src/components/settings/integration-card.tsx
msgid "Last event {0}"
msgstr "Último evento {0}"
#~ msgid "Last event {0}"
#~ msgstr ""
#: apps/web/src/components/settings/integration-card.tsx
msgid "Last event {relativeTime}"
msgstr ""
#: apps/native/src/components/settings/integration-configs.ts
msgid "Last event {timeAgo}"
msgstr "Último evento {timeAgo}"
#. placeholder {0}: formatRelativeTime(lastEventAt)
#: apps/web/src/components/settings/integration-card.tsx
msgid "Last polled {0}"
msgstr "Última verificação {0}"
#~ msgid "Last polled {0}"
#~ msgstr ""
#: apps/web/src/components/settings/integration-card.tsx
msgid "Last polled {relativeTime}"
msgstr ""
#: apps/native/src/components/settings/integration-configs.ts
msgid "Last polled {timeAgo}"
@@ -1249,7 +1319,7 @@ msgstr "Marcar Todos como Assistidos"
#: apps/native/src/components/dashboard/continue-watching-card.tsx
#~ msgid "Mark as Completed"
#~ msgstr "Marcar como Concluído"
#~ msgstr ""
#: apps/native/src/components/ui/poster-card.tsx
msgid "Mark as Watched"
@@ -1257,7 +1327,7 @@ msgstr "Marcar como Assistido"
#: apps/native/src/components/ui/poster-card.tsx
#~ msgid "Mark as Watching"
#~ msgstr "Marcar como Assistindo"
#~ msgstr ""
#: apps/native/src/app/title/[id].tsx
#: apps/web/src/components/titles/title-actions.tsx
@@ -1266,7 +1336,7 @@ msgstr "Marcar como Assistido"
#: apps/native/src/lib/title-actions.ts
#~ msgid "Marked \"{titleName}\" as completed"
#~ msgstr "Marcado \"{titleName}\" como concluído"
#~ msgstr ""
#: apps/native/src/lib/title-actions.ts
#: apps/web/src/components/titles/use-title-actions.ts
@@ -1285,7 +1355,7 @@ msgstr "Todos os episódios de \"{titleName}\" marcados como vistos"
#: apps/native/src/hooks/use-title-actions.ts
#: apps/native/src/lib/title-actions.ts
#~ msgid "Marked as completed"
#~ msgstr "Marcado como concluído"
#~ msgstr ""
#: apps/native/src/hooks/use-title-actions.ts
#: apps/native/src/lib/title-actions.ts
@@ -1295,7 +1365,7 @@ msgstr "Marcado como assistido"
#: apps/native/src/hooks/use-title-actions.ts
#: apps/native/src/lib/title-actions.ts
#~ msgid "Marked as watching"
#~ msgstr "Marcado como assistindo"
#~ msgstr ""
#: apps/web/src/components/settings/account-section.tsx
msgid "Member since {memberSince}"
@@ -1327,10 +1397,13 @@ msgstr "Filme"
msgid "Movies"
msgstr "Filmes"
#. placeholder {0}: periodLabels[moviePeriod]
#: apps/native/src/app/(tabs)/(home)/index.tsx
msgid "Movies {0}"
msgstr "Filmes {0}"
#~ msgid "Movies {0}"
#~ msgstr "Movies {0}"
#: apps/native/src/app/(tabs)/(home)/index.tsx
msgid "Movies {period}"
msgstr ""
#: apps/web/src/components/dashboard/stats-display.tsx
#~ msgid "Movies {periodSelect}"
@@ -1342,7 +1415,7 @@ msgstr "Filmes {select}"
#: apps/native/src/app/(tabs)/(home)/index.tsx
#~ msgid "Movies this month"
#~ msgstr "Filmes este mês"
#~ msgstr ""
#: apps/native/src/app/(auth)/register.tsx
#: apps/web/src/components/auth-form.tsx
@@ -1635,20 +1708,23 @@ msgstr "Ações Rápidas"
msgid "Radarr List URL"
msgstr "URL da Lista do Radarr"
#. placeholder {0}: input.stars
#. placeholder {1}: input.stars
#: apps/native/src/hooks/use-title-actions.ts
msgid "Rated {0} {1, plural, one {star} other {stars}}"
msgstr "Avaliado com {0} {1, plural, one {estrela} other {estrelas}}"
#~ msgid "Rated {0} {1, plural, one {star} other {stars}}"
#~ msgstr ""
#: apps/native/src/hooks/use-title-actions.ts
#~ msgid "Rated {0} star{1}"
#~ msgstr "Rated {0} star{1}"
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Rated {ratingStars} {ratingStars, plural, one {star} other {stars}}"
msgstr "Avaliado com {ratingStars} {ratingStars, plural, one {estrela} other {estrelas}}"
msgid "Rated {ratingStars, plural, one {# star} other {# stars}}"
msgstr ""
#: apps/web/src/components/titles/use-title-actions.ts
#~ msgid "Rated {ratingStars} {ratingStars, plural, one {star} other {stars}}"
#~ msgstr ""
#: apps/native/src/hooks/use-title-actions.ts
#: apps/native/src/lib/title-actions.ts
msgid "Rated {stars, plural, one {# star} other {# stars}}"
msgstr "Avaliado com {stars, plural, one {# estrela} other {# estrelas}}"
@@ -1810,6 +1886,14 @@ msgstr "Requer uma assinatura ativa do Plex Pass."
msgid "Requires Emby Server 4.7.9+ and an active Emby Premiere license."
msgstr "Requer Emby Server 4.7.9+ e uma licença ativa do Emby Premiere."
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Restart"
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Restart Required"
msgstr ""
#: apps/web/src/components/settings/backup-restore-section.tsx
#: apps/web/src/components/settings/backup-restore-section.tsx
msgid "Restore"
@@ -1921,13 +2005,19 @@ msgstr "Pesquisar filmes, séries, pessoas..."
msgid "Search…"
msgstr "Pesquisar…"
#. placeholder {0}: season.seasonNumber
#: apps/native/src/components/titles/season-accordion.tsx
#: apps/native/src/components/titles/season-accordion.tsx
#: apps/web/src/components/titles/use-title-actions.ts
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Season {0}"
msgstr "Temporada {0}"
#~ msgid "Season {0}"
#~ msgstr ""
#: apps/native/src/components/titles/season-accordion.tsx
#: apps/native/src/components/titles/season-accordion.tsx
#: apps/web/src/components/titles/use-title-actions.ts
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Season {seasonNumber}"
msgstr ""
#: apps/native/src/hooks/use-title-actions.ts
#: apps/native/src/lib/title-actions.ts
@@ -2018,12 +2108,18 @@ msgstr "Entrar em vez disso"
msgid "Sign in to continue"
msgstr "Entre para continuar"
#. placeholder {0}: authConfig.data?.oidcProviderName ?? "SSO"
#. placeholder {0}: authConfig?.oidcProviderName || "SSO"
#: apps/native/src/app/(auth)/login.tsx
#: apps/web/src/components/auth-form.tsx
msgid "Sign in with {0}"
msgstr "Entrar com {0}"
#~ msgid "Sign in with {0}"
#~ msgstr ""
#: apps/web/src/components/auth-form.tsx
msgid "Sign in with {oidcProviderName}"
msgstr ""
#: apps/native/src/app/(auth)/login.tsx
msgid "Sign in with {providerName}"
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#: apps/native/src/components/header-avatar.tsx
@@ -2048,10 +2144,17 @@ msgstr "Sair de outras sessões"
msgid "Skipped"
msgstr "Ignorado"
#. placeholder {0}: data.latestVersion
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Sofa needs to restart to apply the new layout direction."
msgstr ""
#: apps/web/src/components/update-toast.tsx
msgid "Sofa v{0} is available"
msgstr "Sofa v{0} está disponível"
#~ msgid "Sofa v{0} is available"
#~ msgstr ""
#: apps/web/src/components/update-toast.tsx
msgid "Sofa v{latestVersion} is available"
msgstr ""
#: apps/native/src/components/settings/integration-configs.ts
#: apps/native/src/components/settings/integration-configs.ts
@@ -2118,10 +2221,13 @@ msgstr "Streaming"
msgid "Sunday"
msgstr "Domingo"
#. placeholder {0}: info.name
#: apps/web/src/components/settings/language-section.tsx
msgid "Switch to {0}"
msgstr "Mudar para {0}"
#~ msgid "Switch to {0}"
#~ msgstr ""
#: apps/web/src/components/settings/language-section.tsx
msgid "Switch to {name}"
msgstr ""
#: apps/native/src/app/+not-found.tsx
msgid "The page you're looking for doesn't exist."
@@ -2192,10 +2298,13 @@ msgstr "Isso invalidará a URL atual do {label}. Você precisará atualizá-la n
msgid "This will mark every episode of this show as watched. You can undo this later by unmarking individual seasons."
msgstr "Isso marcará todos os episódios desta série como assistidos. Você pode desfazer isso mais tarde desmarcando temporadas individuais."
#. placeholder {0}: formatBackupDate(backup.createdAt)
#: apps/web/src/components/settings/backup-section.tsx
msgid "This will permanently delete the backup from <0>{0}</0>. This cannot be undone."
msgstr "Isso excluirá permanentemente o backup de <0>{0}</0>. Esta ação não pode ser desfeita."
#~ msgid "This will permanently delete the backup from <0>{0}</0>. This cannot be undone."
#~ msgstr ""
#: apps/web/src/components/settings/backup-section.tsx
msgid "This will permanently delete the backup from <0>{backupDate}</0>. This cannot be undone."
msgstr ""
#: apps/native/src/components/search/recently-viewed-list.ios.tsx
#: apps/native/src/components/search/recently-viewed-list.tsx
@@ -2266,7 +2375,7 @@ msgstr "Acompanhe o que você assiste. Saiba o que vem a seguir.<0/>Sua bibliote
#: apps/web/src/components/titles/trailer-dialog.tsx
#: apps/web/src/components/titles/trailer-dialog.tsx
msgid "Trailer"
msgstr "Trailer"
msgstr ""
#: apps/web/src/components/explore/hero-banner.tsx
msgid "Trending today"
@@ -2327,10 +2436,13 @@ msgstr "Sem título"
msgid "Unwatch all"
msgstr "Desmarcar todos"
#. placeholder {0}: season.name ?? t`Season ${season.seasonNumber}`
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Unwatched all of {0}"
msgstr "Desmarcados todos os episódios de {0}"
#~ msgid "Unwatched all of {0}"
#~ msgstr ""
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Unwatched all of {seasonLabel}"
msgstr ""
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Unwatched S{seasonNum} E{epNum}"
@@ -2341,10 +2453,13 @@ msgstr "Desmarcado T{seasonNum} E{epNum}"
msgid "Up next"
msgstr "A seguir"
#. placeholder {0}: updateCheck.data.updateCheck.latestVersion
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Update available: {0}"
msgstr "Atualização disponível: {0}"
#~ msgid "Update available: {0}"
#~ msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Update available: {latestVersion}"
msgstr ""
#: apps/web/src/components/settings/system-health-section.tsx
msgid "Update check"
@@ -2381,11 +2496,13 @@ msgstr "Enviar"
msgid "Upload a .db file to replace the current database. A safety backup is created first."
msgstr "Envie um arquivo .db para substituir o banco de dados atual. Um backup de segurança é criado primeiro."
#. placeholder {0}: config.accept
#. placeholder {1}: config.label
#: apps/web/src/components/settings/imports-section.tsx
msgid "Upload a {0} export from your {1} account settings."
msgstr "Envie um export {0} das configurações da sua conta {1}."
#~ msgid "Upload a {0} export from your {1} account settings."
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Upload a {acceptFormat} export from your {sourceLabel} account settings."
msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Upload export file"
@@ -2419,10 +2536,13 @@ msgstr "Aguardando autorização..."
msgid "Warnings"
msgstr "Avisos"
#. placeholder {0}: result.warnings.length
#: apps/web/src/components/settings/imports-section.tsx
msgid "Warnings ({0})"
msgstr "Avisos ({0})"
#~ msgid "Warnings ({0})"
#~ msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Warnings ({warningCount})"
msgstr ""
#: apps/web/src/components/titles/title-seasons.tsx
msgid "Watch all"
@@ -2465,7 +2585,7 @@ msgstr "Lista de Desejos"
#: apps/native/src/components/titles/status-action-button.tsx
#~ msgid "Watchlisted"
#~ msgstr "Na Lista de Desejos"
#~ msgstr ""
#: apps/native/src/components/settings/integration-configs.ts
#: apps/native/src/components/settings/integration-configs.ts
@@ -2505,10 +2625,13 @@ msgstr "Roteirista"
msgid "You'll be signed out to change the server URL."
msgstr "Você será desconectado para alterar a URL do servidor."
#. placeholder {0}: data.currentVersion
#: apps/web/src/components/update-toast.tsx
msgid "You're running v{0}."
msgstr "Você está usando a v{0}."
#~ msgid "You're running v{0}."
#~ msgstr ""
#: apps/web/src/components/update-toast.tsx
msgid "You're running v{currentVersion}."
msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Your code:"
@@ -2522,3 +2645,4 @@ msgstr "Sua biblioteca está vazia"
#: apps/native/src/app/(auth)/register.tsx
msgid "Your name"
msgstr "Seu nome"
File diff suppressed because it is too large Load Diff