mirror of
https://github.com/jakejarvis/sofa.git
synced 2026-08-29 00:25:38 -04:00
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:
@@ -518,18 +518,18 @@ for (const locale of locales) {
|
||||
await translateLocale(locale, model, batchSize, dryRun, contextMap);
|
||||
}
|
||||
|
||||
if (!dryRun) {
|
||||
// Re-extract to restore #. placeholder comments that @lingui/format-po's
|
||||
// serialize() strips during the round-trip.
|
||||
console.log("Re-extracting to restore comments...");
|
||||
const extract = Bun.spawn(["bun", "run", "i18n:extract"], {
|
||||
stdout: "inherit",
|
||||
stderr: "inherit",
|
||||
});
|
||||
if ((await extract.exited) !== 0) {
|
||||
console.error("Extraction failed");
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
// if (!dryRun) {
|
||||
// // Re-extract to restore #. placeholder comments that @lingui/format-po's
|
||||
// // serialize() strips during the round-trip.
|
||||
// console.log("Re-extracting to restore comments...");
|
||||
// const extract = Bun.spawn(["bun", "run", "i18n:extract"], {
|
||||
// stdout: "inherit",
|
||||
// stderr: "inherit",
|
||||
// });
|
||||
// if ((await extract.exited) !== 0) {
|
||||
// console.error("Extraction failed");
|
||||
// process.exit(1);
|
||||
// }
|
||||
// }
|
||||
|
||||
console.log("Done!");
|
||||
|
||||
@@ -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> {
|
||||
|
||||
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
Reference in New Issue
Block a user