fix(i18n): render mapped error messages and stop showing raw server errors

Helpers that took Lingui's `t` as a parameter rendered empty strings because
the macro only transforms `t` imported from the macro. Use msg descriptors
plus i18n._ instead, so mapped error toasts and native server-URL errors are
real, extractable strings. Also map Better Auth error codes to localized
messages instead of showing raw server text, and send a REGISTRATION_CLOSED
code from the auth hook.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
jakeandClaude Opus 5.5 committed 2026-10-04 23:44:10 -04:00
1 parent 4c58b550b1
commit b8b5b31fa1
25 files changed
+1571 -117

No files matched your search

+2 -1
View File
@@ -15,6 +15,7 @@ import { ScaledIcon } from "@/components/ui/scaled-icon";
import { Spinner } from "@/components/ui/spinner";
import { Text } from "@/components/ui/text";
import { Input, Label, TextField } from "@/components/ui/text-field";
import { getAuthErrorMessage } from "@/lib/error-messages";
import { orpc } from "@/lib/orpc";
import { queryClient } from "@/lib/query-client";
import { authClient, getServerUrl, splitUrl } from "@/lib/server";
@@ -58,7 +59,7 @@ export default function LoginScreen() {
{ email: result.data.email, password: result.data.password },
{
onError(error) {
toast.error(error.error?.message || t`Failed to sign in`);
toast.error(getAuthErrorMessage(error.error, t`Failed to sign in`));
},
onSuccess() {
Haptics.notificationAsync(Haptics.NotificationFeedbackType.Success);
+2 -1
View File
@@ -12,6 +12,7 @@ import { Button, ButtonLabel } from "@/components/ui/button";
import { Spinner } from "@/components/ui/spinner";
import { Text } from "@/components/ui/text";
import { Input, Label, TextField } from "@/components/ui/text-field";
import { getAuthErrorMessage } from "@/lib/error-messages";
import { orpc } from "@/lib/orpc";
import { queryClient } from "@/lib/query-client";
import { authClient, getServerUrl, splitUrl } from "@/lib/server";
@@ -69,7 +70,7 @@ export default function RegisterScreen() {
},
{
onError(error) {
toast.error(error.error?.message || t`Failed to create account`);
toast.error(getAuthErrorMessage(error.error, t`Failed to create account`));
},
onSuccess() {
Haptics.notificationAsync(Haptics.NotificationFeedbackType.Success);
+11 -12
View File
@@ -1,3 +1,5 @@
import type { MessageDescriptor } from "@lingui/core";
import { msg } from "@lingui/core/macro";
import { Trans, useLingui } from "@lingui/react/macro";
import { IconAlertCircle, IconCircleCheck, IconInfoCircle } from "@tabler/icons-react-native";
import { useRouter } from "expo-router";
@@ -20,6 +22,7 @@ import { Text } from "@/components/ui/text";
import { Input } from "@/components/ui/text-field";
import { getServerUrl, serverManager, type ValidationError } from "@/lib/server";
import * as Haptics from "@/utils/haptics";
import { i18n } from "@sofa/i18n";
const TRAILING_SLASHES_RE = /\/+$/;
@@ -29,17 +32,13 @@ type ConnectionState =
| { phase: "success" }
| { phase: "error"; error: ValidationError };
function getErrorMessages(
t: (strings: TemplateStringsArray, ...values: unknown[]) => string,
): Record<ValidationError, string> {
return {
network_unreachable: t`Could not reach the server. Check your connection and the URL.`,
timeout: t`Connection timed out. The server might be down or unreachable.`,
not_sofa_server: t`This doesn't appear to be a Sofa server. Double-check the URL.`,
server_unhealthy: t`Server found but reporting an issue. Try again in a moment.`,
invalid_url: t`That URL doesn't look right. Include the full server address.`,
};
}
const SERVER_URL_ERRORS: Record<ValidationError, MessageDescriptor> = {
network_unreachable: msg`Could not reach the server. Check your connection and the URL.`,
timeout: msg`Connection timed out. The server might be down or unreachable.`,
not_sofa_server: msg`This doesn't appear to be a Sofa server. Double-check the URL.`,
server_unhealthy: msg`Server found but reporting an issue. Try again in a moment.`,
invalid_url: msg`That URL doesn't look right. Include the full server address.`,
};
export default function ServerUrlScreen() {
const { t } = useLingui();
@@ -190,7 +189,7 @@ export default function ServerUrlScreen() {
style={{ marginTop: 1 }}
/>
<Text selectable className="text-destructive flex-1 text-sm">
{getErrorMessages(t)[connection.error]}
{i18n._(SERVER_URL_ERRORS[connection.error])}
</Text>
</Animated.View>
)}
@@ -0,0 +1,53 @@
import { ORPCError } from "@orpc/client";
import { describe, expect, test, vi } from "vitest";
vi.mock("@sofa/i18n", () => ({
i18n: {
locale: "en",
_: (descriptor: { id?: string; message?: string } | string) =>
typeof descriptor === "string" ? descriptor : (descriptor.message ?? descriptor.id ?? ""),
},
}));
vi.mock("@lingui/core/macro", () => ({
msg: (strings: TemplateStringsArray, ...values: unknown[]) => ({
id: String.raw(strings, ...values),
message: String.raw(strings, ...values),
}),
}));
const { getAuthErrorMessage, getErrorMessage } = await import("./error-messages");
describe("getErrorMessage", () => {
test("returns the English message for a mapped app error code", () => {
const error = new ORPCError("BAD_REQUEST", { data: { code: "IMPORT_ALREADY_RUNNING" } });
expect(getErrorMessage(error)).toBe("An import is already in progress");
});
test("uses the fallback for unknown codes and plain errors", () => {
const unknown = new ORPCError("BAD_REQUEST", { data: { code: "NOT_A_REAL_CODE" } });
expect(getErrorMessage(unknown, "Nope")).toBe("Nope");
expect(getErrorMessage(new Error("boom"), "Nope")).toBe("Nope");
});
test("defaults to a generic message without a fallback", () => {
expect(getErrorMessage(new Error("boom"))).toBe("Something went wrong");
});
});
describe("getAuthErrorMessage", () => {
test("maps known Better Auth codes", () => {
expect(getAuthErrorMessage({ code: "INVALID_EMAIL_OR_PASSWORD", status: 401 }, "F")).toBe(
"Invalid email or password",
);
});
test("maps rate limiting", () => {
expect(getAuthErrorMessage({ status: 429 }, "F")).toMatch(/^Too many attempts/);
});
test("falls back for unknown codes and missing errors", () => {
expect(getAuthErrorMessage({ code: "SOMETHING_ELSE", status: 500 }, "F")).toBe("F");
expect(getAuthErrorMessage(null, "F")).toBe("F");
});
});
+42 -29
View File
@@ -1,6 +1,9 @@
import type { MessageDescriptor } from "@lingui/core";
import { msg } from "@lingui/core/macro";
import { ORPCError } from "@orpc/client";
import type { AppErrorCode } from "@sofa/api/errors";
import { i18n } from "@sofa/i18n";
export function getAppErrorCode(error: unknown): AppErrorCode | null {
if (
@@ -15,36 +18,46 @@ export function getAppErrorCode(error: unknown): AppErrorCode | null {
return null;
}
export function appErrorMessages(
t: (template: TemplateStringsArray, ...args: unknown[]) => string,
): Record<AppErrorCode, string> {
return {
TITLE_NOT_FOUND: t`Title not found`,
PERSON_NOT_FOUND: t`Person not found`,
INTEGRATION_NOT_FOUND: t`Integration not found`,
BACKUP_NOT_FOUND: t`Backup not found`,
BACKUP_DELETE_FAILED: t`Failed to delete backup`,
BACKUP_RESTORE_FAILED: t`Backup restoration failed`,
JOB_NOT_FOUND: t`Job not found`,
TMDB_NOT_CONFIGURED: t`TMDB API key is not configured`,
IMPORT_INVALID_FILE: t`Invalid import file`,
IMPORT_PAYLOAD_TOO_LARGE: t`Import payload is too large`,
IMPORT_ALREADY_RUNNING: t`An import is already in progress`,
IMPORT_CANNOT_CANCEL: t`This import cannot be cancelled`,
REGISTRATION_CLOSED: t`Registration is currently closed`,
EXPORT_FAILED: t`Failed to export data`,
};
const APP_ERROR_MESSAGES: Record<AppErrorCode, MessageDescriptor> = {
TITLE_NOT_FOUND: msg`Title not found`,
PERSON_NOT_FOUND: msg`Person not found`,
INTEGRATION_NOT_FOUND: msg`Integration not found`,
BACKUP_NOT_FOUND: msg`Backup not found`,
BACKUP_DELETE_FAILED: msg`Failed to delete backup`,
BACKUP_RESTORE_FAILED: msg`Backup restoration failed`,
JOB_NOT_FOUND: msg`Job not found`,
TMDB_NOT_CONFIGURED: msg`TMDB API key is not configured`,
IMPORT_INVALID_FILE: msg`Invalid import file`,
IMPORT_PAYLOAD_TOO_LARGE: msg`Import payload is too large`,
IMPORT_ALREADY_RUNNING: msg`An import is already in progress`,
IMPORT_CANNOT_CANCEL: msg`This import cannot be cancelled`,
REGISTRATION_CLOSED: msg`Registration is currently closed`,
EXPORT_FAILED: msg`Failed to export data`,
};
/** Localized message for an oRPC error carrying an app error code, else `fallback`. */
export function getErrorMessage(error: unknown, fallback?: string): string {
const code = getAppErrorCode(error);
if (code && code in APP_ERROR_MESSAGES) return i18n._(APP_ERROR_MESSAGES[code]);
return fallback ?? i18n._(msg`Something went wrong`);
}
export function getErrorMessage(
error: unknown,
t: (template: TemplateStringsArray, ...args: unknown[]) => string,
fallback?: string,
const AUTH_ERROR_MESSAGES: Record<string, MessageDescriptor> = {
INVALID_EMAIL_OR_PASSWORD: msg`Invalid email or password`,
USER_ALREADY_EXISTS: msg`An account with this email already exists`,
USER_ALREADY_EXISTS_USE_ANOTHER_EMAIL: msg`An account with this email already exists`,
PASSWORD_TOO_SHORT: msg`Password is too short`,
PASSWORD_TOO_LONG: msg`Password is too long`,
INVALID_EMAIL: msg`Enter a valid email address`,
REGISTRATION_CLOSED: msg`Registration is currently closed`,
};
/** Localized message for a Better Auth client error (never its raw `message`). */
export function getAuthErrorMessage(
error: { code?: string; status?: number } | null | undefined,
fallback: string,
): string {
const code = getAppErrorCode(error);
if (code) {
const messages = appErrorMessages(t);
if (code in messages) return messages[code as keyof typeof messages];
}
return fallback ?? t`Something went wrong`;
if (error?.status === 429) return i18n._(msg`Too many attempts. Wait a moment and try again.`);
const descriptor = error?.code ? AUTH_ERROR_MESSAGES[error.code] : undefined;
return descriptor ? i18n._(descriptor) : fallback;
}
+3 -2
View File
@@ -11,6 +11,7 @@ import { Input } from "@/components/ui/input";
import { Label } from "@/components/ui/label";
import { useResetUserState } from "@/hooks/use-reset-user-state";
import { authClient, signIn, signUp } from "@/lib/auth/client";
import { getAuthErrorMessage } from "@/lib/error-messages";
import { useAppForm } from "@/lib/form";
export interface AuthConfig {
@@ -62,13 +63,13 @@ export function AuthForm({
password: value.password,
});
if (result.error) {
setError(result.error.message ?? t`Registration failed`);
setError(getAuthErrorMessage(result.error, t`Registration failed`));
return;
}
} else {
const result = await signIn.email({ email: value.email, password: value.password });
if (result.error) {
setError(result.error.message ?? t`Login failed`);
setError(getAuthErrorMessage(result.error, t`Login failed`));
return;
}
}
@@ -82,7 +82,7 @@ export function AccountSection({
router.invalidate();
},
onError: (err) => {
toast.error(getErrorMessage(err, t, t`Update failed`));
toast.error(getErrorMessage(err, t`Update failed`));
},
}),
);
@@ -114,7 +114,7 @@ export function AccountSection({
router.invalidate();
},
onError: (err) => {
toast.error(getErrorMessage(err, t, t`Upload failed`));
toast.error(getErrorMessage(err, t`Upload failed`));
},
onSettled: () => {
if (fileInputRef.current) fileInputRef.current.value = "";
@@ -406,7 +406,7 @@ function SofaImportDialog() {
setOpen(true);
},
onError: (err) => {
toast.error(getErrorMessage(err, t, t`Failed to parse file`));
toast.error(getErrorMessage(err, t`Failed to parse file`));
},
onSettled: () => {
if (fileInputRef.current) fileInputRef.current.value = "";
@@ -496,7 +496,7 @@ function SofaImportDialog() {
}
} catch (err) {
if (abort.signal.aborted) return;
toast.error(getErrorMessage(err, t, t`Import failed`));
toast.error(getErrorMessage(err, t`Import failed`));
setStep("preview");
} finally {
importAbortRef.current = null;
@@ -35,7 +35,7 @@ export function BackupRestoreSection() {
setTimeout(() => window.location.reload(), 1500);
},
onError: (err) => {
toast.error(getErrorMessage(err, t, t`Restore failed`));
toast.error(getErrorMessage(err, t`Restore failed`));
},
onSettled: () => {
if (fileInputRef.current) fileInputRef.current.value = "";
@@ -221,7 +221,7 @@ function ImportSourceCard({ config }: { config: SourceConfig }) {
setDialogOpen(true);
},
onError: (err) => {
toast.error(getErrorMessage(err, t, t`Failed to parse file`));
toast.error(getErrorMessage(err, t`Failed to parse file`));
},
}),
);
@@ -233,7 +233,7 @@ function ImportSourceCard({ config }: { config: SourceConfig }) {
setStep("preview");
},
onError: (err) => {
toast.error(getErrorMessage(err, t, t`Failed to parse import data`));
toast.error(getErrorMessage(err, t`Failed to parse import data`));
setStep("choose");
},
}),
@@ -335,7 +335,7 @@ function ImportSourceCard({ config }: { config: SourceConfig }) {
}
} catch (err) {
if (abort.signal.aborted) return;
toast.error(getErrorMessage(err, t, t`Import failed`));
toast.error(getErrorMessage(err, t`Import failed`));
setStep("preview");
} finally {
importAbortRef.current = null;
@@ -372,17 +372,14 @@ function ImportSourceCard({ config }: { config: SourceConfig }) {
async function startDeviceCodeFlow() {
setOauthError(null);
setStep("device-code");
const sourceLabel = config.label;
try {
const res = await fetch(`${publicApiUrl}/v1/import/${config.source}/device-code`, {
method: "POST",
});
if (!res.ok) {
const err = await res.json().catch(() => ({}));
const sourceLabel = config.label;
throw new Error(
(err as { error?: string }).error ?? t`Failed to start ${sourceLabel} connection`,
);
throw new Error("device-code request failed");
}
const data = (await res.json()) as DeviceCodeInfo;
setDeviceCode(data);
@@ -390,8 +387,8 @@ function ImportSourceCard({ config }: { config: SourceConfig }) {
// Start polling
startPolling(data);
} catch (e) {
setOauthError(e instanceof Error ? e.message : t`Failed to connect`);
} catch {
setOauthError(t`Failed to start ${sourceLabel} connection`);
setStep("choose");
setDialogOpen(true);
}
@@ -442,8 +439,7 @@ function ImportSourceCard({ config }: { config: SourceConfig }) {
} else if (data.status === "fetch_error") {
stopPolling();
setOauthError(
data.error ||
t`Authorization succeeded but failed to fetch your library. Please try again.`,
t`Authorization succeeded but failed to fetch your library. Please try again.`,
);
setStep("choose");
}
@@ -27,6 +27,7 @@ import {
} from "@/components/ui/table";
import { Tooltip, TooltipContent, TooltipTrigger } from "@/components/ui/tooltip";
import { useTimeAgo } from "@/hooks/use-time-ago";
import { getErrorMessage } from "@/lib/error-messages";
import { orpc } from "@/lib/orpc/client";
import type { CronJobName, SystemHealthData } from "@sofa/api/schemas";
import { i18n } from "@sofa/i18n";
@@ -325,7 +326,7 @@ function BackgroundJobsCard({
setTimeout(onRefresh, 1500);
},
onError: (err) => {
toast.error(err instanceof Error ? err.message : t`Failed to trigger job`);
toast.error(getErrorMessage(err, t`Failed to trigger job`));
},
}),
);
+20
View File
@@ -0,0 +1,20 @@
import { ORPCError } from "@orpc/client";
import { describe, expect, test } from "vitest";
import { getErrorMessage } from "./error-messages";
describe("getErrorMessage", () => {
test("renders the English message for a mapped app error code", () => {
const error = new ORPCError("BAD_REQUEST", { data: { code: "IMPORT_ALREADY_RUNNING" } });
const message = getErrorMessage(error);
expect(message).not.toBe("");
expect(message).toBe("An import is already in progress");
});
test("uses the fallback for unknown codes and plain errors", () => {
const unknown = new ORPCError("BAD_REQUEST", { data: { code: "NOT_A_REAL_CODE" } });
expect(getErrorMessage(unknown, "Nope")).toBe("Nope");
expect(getErrorMessage(new Error("boom"), "Nope")).toBe("Nope");
expect(getErrorMessage(new Error("boom"))).toBe("Something went wrong");
});
});
+42 -30
View File
@@ -1,6 +1,9 @@
import type { MessageDescriptor } from "@lingui/core";
import { msg } from "@lingui/core/macro";
import { ORPCError } from "@orpc/client";
import type { AppErrorCode } from "@sofa/api/errors";
import { i18n } from "@sofa/i18n";
export function getAppErrorCode(error: unknown): AppErrorCode | null {
if (
@@ -15,37 +18,46 @@ export function getAppErrorCode(error: unknown): AppErrorCode | null {
return null;
}
// Must be called inside a render/hook body with the `t` from useLingui()
export function appErrorMessages(
t: (template: TemplateStringsArray, ...args: unknown[]) => string,
): Record<AppErrorCode, string> {
return {
TITLE_NOT_FOUND: t`Title not found`,
PERSON_NOT_FOUND: t`Person not found`,
INTEGRATION_NOT_FOUND: t`Integration not found`,
BACKUP_NOT_FOUND: t`Backup not found`,
BACKUP_DELETE_FAILED: t`Failed to delete backup`,
BACKUP_RESTORE_FAILED: t`Backup restoration failed`,
JOB_NOT_FOUND: t`Job not found`,
TMDB_NOT_CONFIGURED: t`TMDB API key is not configured`,
IMPORT_INVALID_FILE: t`Invalid import file`,
IMPORT_PAYLOAD_TOO_LARGE: t`Import payload is too large`,
IMPORT_ALREADY_RUNNING: t`An import is already in progress`,
IMPORT_CANNOT_CANCEL: t`This import cannot be cancelled`,
REGISTRATION_CLOSED: t`Registration is currently closed`,
EXPORT_FAILED: t`Failed to export data`,
};
const APP_ERROR_MESSAGES: Record<AppErrorCode, MessageDescriptor> = {
TITLE_NOT_FOUND: msg`Title not found`,
PERSON_NOT_FOUND: msg`Person not found`,
INTEGRATION_NOT_FOUND: msg`Integration not found`,
BACKUP_NOT_FOUND: msg`Backup not found`,
BACKUP_DELETE_FAILED: msg`Failed to delete backup`,
BACKUP_RESTORE_FAILED: msg`Backup restoration failed`,
JOB_NOT_FOUND: msg`Job not found`,
TMDB_NOT_CONFIGURED: msg`TMDB API key is not configured`,
IMPORT_INVALID_FILE: msg`Invalid import file`,
IMPORT_PAYLOAD_TOO_LARGE: msg`Import payload is too large`,
IMPORT_ALREADY_RUNNING: msg`An import is already in progress`,
IMPORT_CANNOT_CANCEL: msg`This import cannot be cancelled`,
REGISTRATION_CLOSED: msg`Registration is currently closed`,
EXPORT_FAILED: msg`Failed to export data`,
};
/** Localized message for an oRPC error carrying an app error code, else `fallback`. */
export function getErrorMessage(error: unknown, fallback?: string): string {
const code = getAppErrorCode(error);
if (code && code in APP_ERROR_MESSAGES) return i18n._(APP_ERROR_MESSAGES[code]);
return fallback ?? i18n._(msg`Something went wrong`);
}
export function getErrorMessage(
error: unknown,
t: (template: TemplateStringsArray, ...args: unknown[]) => string,
fallback?: string,
const AUTH_ERROR_MESSAGES: Record<string, MessageDescriptor> = {
INVALID_EMAIL_OR_PASSWORD: msg`Invalid email or password`,
USER_ALREADY_EXISTS: msg`An account with this email already exists`,
USER_ALREADY_EXISTS_USE_ANOTHER_EMAIL: msg`An account with this email already exists`,
PASSWORD_TOO_SHORT: msg`Password is too short`,
PASSWORD_TOO_LONG: msg`Password is too long`,
INVALID_EMAIL: msg`Enter a valid email address`,
REGISTRATION_CLOSED: msg`Registration is currently closed`,
};
/** Localized message for a Better Auth client error (never its raw `message`). */
export function getAuthErrorMessage(
error: { code?: string; status?: number } | null | undefined,
fallback: string,
): string {
const code = getAppErrorCode(error);
if (code) {
const messages = appErrorMessages(t);
if (code in messages) return messages[code as keyof typeof messages];
}
return fallback ?? t`Something went wrong`;
if (error?.status === 429) return i18n._(msg`Too many attempts. Wait a moment and try again.`);
const descriptor = error?.code ? AUTH_ERROR_MESSAGES[error.code] : undefined;
return descriptor ? i18n._(descriptor) : fallback;
}
+1
View File
@@ -103,6 +103,7 @@ export const auth = betterAuth({
if (!open) {
throw new APIError("FORBIDDEN", {
message: "Registration is currently closed",
code: "REGISTRATION_CLOSED",
});
}
}
+115 -2
View File
@@ -410,6 +410,16 @@ msgstr "هل لديك حساب بالفعل؟ تسجيل الدخول"
msgid "Also available on"
msgstr "متاح أيضاً على"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "An account with this email already exists"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "An import is already in progress"
msgstr ""
#: apps/web/src/components/route-error.tsx
#: apps/web/src/routes/__root.tsx
msgid "An unexpected error occurred while loading this page. You can try again or head back to the dashboard."
@@ -512,6 +522,16 @@ msgstr "تم إنشاء النسخة الاحتياطية"
msgid "Backup deleted"
msgstr "تم حذف النسخة الاحتياطية"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Backup not found"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Backup restoration failed"
msgstr ""
#: apps/web/src/components/settings/backup-schedule-section.tsx
msgid "Backup schedule"
msgstr "جدول النسخ الاحتياطي"
@@ -784,6 +804,10 @@ msgstr "جارٍ الاتصال..."
msgid "Connecting…"
msgstr "جارٍ الاتصال…"
#: apps/native/src/app/(auth)/server-url.tsx
msgid "Connection timed out. The server might be down or unreachable."
msgstr ""
#: apps/web/src/components/library/library-filters.tsx
msgid "Content rating"
msgstr "تصنيف المحتوى"
@@ -833,6 +857,10 @@ msgstr "تعذّر تحميل تفاصيل العنوان"
msgid "Could not load your library"
msgstr "تعذّر تحميل مكتبتك"
#: apps/native/src/app/(auth)/server-url.tsx
msgid "Could not reach the server. Check your connection and the URL."
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Crash reporting"
msgstr "الإبلاغ عن الأعطال"
@@ -1067,6 +1095,8 @@ msgstr "الإنجليزية"
#: apps/native/src/app/(auth)/login.tsx
#: apps/native/src/app/(auth)/register.tsx
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Enter a valid email address"
msgstr "أدخل عنوان بريد إلكتروني صحيح"
@@ -1200,8 +1230,8 @@ msgid "Failed to change password"
msgstr "فشل تغيير كلمة المرور"
#: apps/web/src/components/settings/imports-section.tsx
msgid "Failed to connect"
msgstr "فشل الاتصال"
#~ msgid "Failed to connect"
#~ msgstr "فشل الاتصال"
#: apps/native/src/components/settings/integration-card.tsx
#: apps/web/src/components/settings/integration-card.tsx
@@ -1216,7 +1246,9 @@ msgstr "فشل إنشاء الحساب"
msgid "Failed to create backup"
msgstr "فشل إنشاء النسخة الاحتياطية"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/components/settings/backup-section.tsx
#: apps/web/src/lib/error-messages.ts
msgid "Failed to delete backup"
msgstr "فشل حذف النسخة الاحتياطية"
@@ -1225,6 +1257,11 @@ msgstr "فشل حذف النسخة الاحتياطية"
msgid "Failed to disconnect {label}"
msgstr "فشل قطع الاتصال بـ {label}"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Failed to export data"
msgstr ""
#: apps/web/src/components/settings/backup-schedule-section.tsx
msgid "Failed to load backup schedule settings"
msgstr "فشل تحميل إعدادات جدول النسخ الاحتياطي"
@@ -1358,11 +1395,14 @@ msgid "Failed to update scheduled backup setting"
msgstr "فشل تحديث إعداد النسخ الاحتياطي المجدول"
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#: apps/web/src/components/settings/streaming-services-section.tsx
#: apps/web/src/components/settings/update-check-section.tsx
#: apps/web/src/routes/_app/onboarding.tsx
msgid "Failed to update setting"
msgstr "فشل تحديث الإعداد"
#: apps/native/src/hooks/use-title-actions.ts
#: apps/web/src/components/title-card.tsx
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Failed to update status"
msgstr "فشل تحديث الحالة"
@@ -1571,6 +1611,11 @@ msgstr "لا يزال الاستيراد قيد التشغيل في الخلفي
msgid "Import options"
msgstr "خيارات الاستيراد"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Import payload is too large"
msgstr ""
#: apps/web/src/components/settings/account-section.tsx
msgid "Import Sofa data"
msgstr "استيراد بيانات Sofa"
@@ -1627,11 +1672,26 @@ msgstr "ثبّت <0>إضافة Webhook<1/></0> من كتالوج إضافات Je
msgid "Install the Webhook plugin from Jellyfin's plugin catalog"
msgstr "ثبّت إضافة Webhook من كتالوج إضافات Jellyfin"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Integration not found"
msgstr ""
#: apps/native/src/components/settings/integrations-section.tsx
#: apps/web/src/routes/_app/settings.tsx
msgid "Integrations"
msgstr "التكاملات"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Invalid email or password"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Invalid import file"
msgstr ""
#: apps/web/src/components/settings/system-health-section.tsx
msgid "Invalid token"
msgstr "رمز غير صالح"
@@ -1648,6 +1708,11 @@ msgstr "اليابانية"
msgid "Job"
msgstr "المهمة"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Job not found"
msgstr ""
#: apps/web/src/components/settings/backup-schedule-section.tsx
msgid "Keeping"
msgstr "الاحتفاظ بـ"
@@ -2231,6 +2296,16 @@ msgstr "كلمة المرور"
msgid "Password is required"
msgstr "كلمة المرور مطلوبة"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Password is too long"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Password is too short"
msgstr ""
#: apps/native/src/app/change-password.tsx
msgid "Password must be at least 8 characters"
msgstr "يجب أن تكون كلمة المرور مكونة من 8 أحرف على الأقل"
@@ -2269,6 +2344,8 @@ msgid "Person"
msgstr "شخص"
#: apps/native/src/app/person/[id].tsx
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
#: apps/web/src/routes/_app/people.$id.tsx
msgid "Person not found"
msgstr "الشخص غير موجود"
@@ -2548,6 +2625,11 @@ msgstr "التسجيل مغلق"
msgid "Registration failed"
msgstr "فشل التسجيل"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Registration is currently closed"
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#: apps/web/src/components/settings/registration-section.tsx
msgid "Registration opened"
@@ -2832,6 +2914,10 @@ msgstr "تطبيق تتبع الأفلام والمسلسلات ذاتي الا
msgid "Server"
msgstr "الخادم"
#: apps/native/src/app/(auth)/server-url.tsx
msgid "Server found but reporting an issue. Try again in a moment."
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Server Health"
msgstr "صحة الخادم"
@@ -2972,9 +3058,11 @@ msgstr "سيقوم Sofa تلقائياً بتسجيل الأفلام والحل
#: apps/native/src/app/change-password.tsx
#: apps/native/src/app/person/[id].tsx
#: apps/native/src/app/title/[id].tsx
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/components/auth-form.tsx
#: apps/web/src/components/route-error.tsx
#: apps/web/src/components/settings/account-section.tsx
#: apps/web/src/lib/error-messages.ts
#: apps/web/src/routes/__root.tsx
msgid "Something went wrong"
msgstr "حدث خطأ ما"
@@ -3079,6 +3167,10 @@ msgstr "التبديل إلى {name}"
msgid "Takes effect after restarting the app"
msgstr "يسري بعد إعادة تشغيل التطبيق"
#: apps/native/src/app/(auth)/server-url.tsx
msgid "That URL doesn't look right. Include the full server address."
msgstr ""
#: apps/native/src/app/+not-found.tsx
msgid "The page you're looking for doesn't exist."
msgstr "الصفحة التي تبحث عنها غير موجودة."
@@ -3095,6 +3187,15 @@ msgstr "العنوان الذي تبحث عنه غير موجود أو ربما
msgid "then"
msgstr "ثم"
#: apps/native/src/app/(auth)/server-url.tsx
msgid "This doesn't appear to be a Sofa server. Double-check the URL."
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "This import cannot be cancelled"
msgstr ""
#: apps/web/src/components/settings/account-section.tsx
#: apps/web/src/components/settings/imports-section.tsx
msgid "This may take a few minutes for large libraries. Please don't close this tab."
@@ -3198,6 +3299,8 @@ msgid "Title A-Z"
msgstr "العنوان أ-ي"
#: apps/native/src/app/title/[id].tsx
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
#: apps/web/src/routes/_app/titles.$id.tsx
msgid "Title not found"
msgstr "العنوان غير موجود"
@@ -3217,6 +3320,11 @@ msgstr "ستتم إضافة العناوين الموجودة في قائمة م
msgid "Titles on your Sofa watchlist will be automatically added for download when Sonarr polls this list (every 6 hours by default)"
msgstr "ستتم إضافة العناوين الموجودة في قائمة مشاهدتك على Sofa تلقائياً للتنزيل عندما يستطلع Sonarr هذه القائمة (كل 6 ساعات افتراضياً)"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "TMDB API key is not configured"
msgstr ""
#: apps/native/src/components/library/sort-menu.tsx
#: apps/web/src/components/library/library-toolbar.tsx
msgid "TMDB Rating"
@@ -3262,6 +3370,11 @@ msgstr "تبديل الشريط الجانبي"
msgid "Tomorrow"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Too many attempts. Wait a moment and try again."
msgstr ""
#: apps/web/src/components/landing-page.tsx
msgid "Track what you watch. Know what's next.<0/>Your library, your data, your rules."
msgstr "تتبع ما تشاهده. اعرف ما هو القادم.<0/>مكتبتك، بياناتك، قواعدك."
+115 -2
View File
@@ -410,6 +410,16 @@ msgstr "Bereits ein Konto? Anmelden"
msgid "Also available on"
msgstr "Auch verfügbar auf"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "An account with this email already exists"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "An import is already in progress"
msgstr ""
#: apps/web/src/components/route-error.tsx
#: apps/web/src/routes/__root.tsx
msgid "An unexpected error occurred while loading this page. You can try again or head back to the dashboard."
@@ -512,6 +522,16 @@ msgstr "Backup erstellt"
msgid "Backup deleted"
msgstr "Backup gelöscht"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Backup not found"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Backup restoration failed"
msgstr ""
#: apps/web/src/components/settings/backup-schedule-section.tsx
msgid "Backup schedule"
msgstr "Backup-Zeitplan"
@@ -784,6 +804,10 @@ msgstr "Verbinde..."
msgid "Connecting…"
msgstr "Verbinde..."
#: apps/native/src/app/(auth)/server-url.tsx
msgid "Connection timed out. The server might be down or unreachable."
msgstr ""
#: apps/web/src/components/library/library-filters.tsx
msgid "Content rating"
msgstr "Altersfreigabe"
@@ -833,6 +857,10 @@ msgstr "Titeldetails konnten nicht geladen werden"
msgid "Could not load your library"
msgstr "Bibliothek konnte nicht geladen werden"
#: apps/native/src/app/(auth)/server-url.tsx
msgid "Could not reach the server. Check your connection and the URL."
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Crash reporting"
msgstr "Absturzberichte"
@@ -1067,6 +1095,8 @@ msgstr "Englisch"
#: apps/native/src/app/(auth)/login.tsx
#: apps/native/src/app/(auth)/register.tsx
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Enter a valid email address"
msgstr "Gib eine gültige E-Mail-Adresse ein"
@@ -1200,8 +1230,8 @@ msgid "Failed to change password"
msgstr "Passwort konnte nicht geändert werden"
#: apps/web/src/components/settings/imports-section.tsx
msgid "Failed to connect"
msgstr "Verbindung fehlgeschlagen"
#~ msgid "Failed to connect"
#~ msgstr "Verbindung fehlgeschlagen"
#: apps/native/src/components/settings/integration-card.tsx
#: apps/web/src/components/settings/integration-card.tsx
@@ -1216,7 +1246,9 @@ msgstr "Konto konnte nicht erstellt werden"
msgid "Failed to create backup"
msgstr "Backup konnte nicht erstellt werden"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/components/settings/backup-section.tsx
#: apps/web/src/lib/error-messages.ts
msgid "Failed to delete backup"
msgstr "Backup konnte nicht gelöscht werden"
@@ -1225,6 +1257,11 @@ msgstr "Backup konnte nicht gelöscht werden"
msgid "Failed to disconnect {label}"
msgstr "{label} konnte nicht getrennt werden"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Failed to export data"
msgstr ""
#: apps/web/src/components/settings/backup-schedule-section.tsx
msgid "Failed to load backup schedule settings"
msgstr "Backup-Zeitplaneinstellungen konnten nicht geladen werden"
@@ -1358,11 +1395,14 @@ msgid "Failed to update scheduled backup setting"
msgstr "Einstellung für geplante Backups konnte nicht aktualisiert werden"
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#: apps/web/src/components/settings/streaming-services-section.tsx
#: apps/web/src/components/settings/update-check-section.tsx
#: apps/web/src/routes/_app/onboarding.tsx
msgid "Failed to update setting"
msgstr "Einstellung konnte nicht aktualisiert werden"
#: apps/native/src/hooks/use-title-actions.ts
#: apps/web/src/components/title-card.tsx
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Failed to update status"
msgstr "Status konnte nicht aktualisiert werden"
@@ -1571,6 +1611,11 @@ msgstr "Import läuft noch im Hintergrund. Komm später wieder."
msgid "Import options"
msgstr "Importoptionen"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Import payload is too large"
msgstr ""
#: apps/web/src/components/settings/account-section.tsx
msgid "Import Sofa data"
msgstr "Sofa-Daten importieren"
@@ -1627,11 +1672,26 @@ msgstr "<0>Webhook-Plugin<1/></0> aus dem Jellyfin-Plugin-Katalog installieren"
msgid "Install the Webhook plugin from Jellyfin's plugin catalog"
msgstr "Webhook-Plugin aus dem Jellyfin-Plugin-Katalog installieren"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Integration not found"
msgstr ""
#: apps/native/src/components/settings/integrations-section.tsx
#: apps/web/src/routes/_app/settings.tsx
msgid "Integrations"
msgstr "Integrationen"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Invalid email or password"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Invalid import file"
msgstr ""
#: apps/web/src/components/settings/system-health-section.tsx
msgid "Invalid token"
msgstr "Ungültiger Token"
@@ -1648,6 +1708,11 @@ msgstr "Japanisch"
msgid "Job"
msgstr "Aufgabe"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Job not found"
msgstr ""
#: apps/web/src/components/settings/backup-schedule-section.tsx
msgid "Keeping"
msgstr "Behalte"
@@ -2231,6 +2296,16 @@ msgstr "Passwort"
msgid "Password is required"
msgstr "Passwort ist erforderlich"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Password is too long"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Password is too short"
msgstr ""
#: apps/native/src/app/change-password.tsx
msgid "Password must be at least 8 characters"
msgstr "Passwort muss mindestens 8 Zeichen lang sein"
@@ -2269,6 +2344,8 @@ msgid "Person"
msgstr ""
#: apps/native/src/app/person/[id].tsx
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
#: apps/web/src/routes/_app/people.$id.tsx
msgid "Person not found"
msgstr "Person nicht gefunden"
@@ -2548,6 +2625,11 @@ msgstr "Registrierung geschlossen"
msgid "Registration failed"
msgstr "Registrierung fehlgeschlagen"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Registration is currently closed"
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#: apps/web/src/components/settings/registration-section.tsx
msgid "Registration opened"
@@ -2832,6 +2914,10 @@ msgstr "Selbstgehosteter Film- & Serien-Tracker"
msgid "Server"
msgstr ""
#: apps/native/src/app/(auth)/server-url.tsx
msgid "Server found but reporting an issue. Try again in a moment."
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Server Health"
msgstr "Server-Status"
@@ -2972,9 +3058,11 @@ msgstr "Sofa protokolliert Filme und Episoden automatisch, wenn du sie zu Ende g
#: apps/native/src/app/change-password.tsx
#: apps/native/src/app/person/[id].tsx
#: apps/native/src/app/title/[id].tsx
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/components/auth-form.tsx
#: apps/web/src/components/route-error.tsx
#: apps/web/src/components/settings/account-section.tsx
#: apps/web/src/lib/error-messages.ts
#: apps/web/src/routes/__root.tsx
msgid "Something went wrong"
msgstr "Etwas ist schiefgelaufen"
@@ -3079,6 +3167,10 @@ msgstr "Zu {name} wechseln"
msgid "Takes effect after restarting the app"
msgstr "Tritt nach einem Neustart der App in Kraft"
#: apps/native/src/app/(auth)/server-url.tsx
msgid "That URL doesn't look right. Include the full server address."
msgstr ""
#: apps/native/src/app/+not-found.tsx
msgid "The page you're looking for doesn't exist."
msgstr "Die gesuchte Seite existiert nicht."
@@ -3095,6 +3187,15 @@ msgstr "Der gesuchte Titel existiert nicht oder wurde möglicherweise aus der Da
msgid "then"
msgstr "dann"
#: apps/native/src/app/(auth)/server-url.tsx
msgid "This doesn't appear to be a Sofa server. Double-check the URL."
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "This import cannot be cancelled"
msgstr ""
#: apps/web/src/components/settings/account-section.tsx
#: apps/web/src/components/settings/imports-section.tsx
msgid "This may take a few minutes for large libraries. Please don't close this tab."
@@ -3198,6 +3299,8 @@ msgid "Title A-Z"
msgstr "Titel A-Z"
#: apps/native/src/app/title/[id].tsx
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
#: apps/web/src/routes/_app/titles.$id.tsx
msgid "Title not found"
msgstr "Titel nicht gefunden"
@@ -3217,6 +3320,11 @@ msgstr "Titel auf deiner Sofa-Merkliste werden automatisch zum Download hinzugef
msgid "Titles on your Sofa watchlist will be automatically added for download when Sonarr polls this list (every 6 hours by default)"
msgstr "Titel auf deiner Sofa-Merkliste werden automatisch zum Download hinzugefügt, wenn Sonarr diese Liste abruft (standardmäßig alle 6 Stunden)"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "TMDB API key is not configured"
msgstr ""
#: apps/native/src/components/library/sort-menu.tsx
#: apps/web/src/components/library/library-toolbar.tsx
msgid "TMDB Rating"
@@ -3262,6 +3370,11 @@ msgstr "Seitenleiste umschalten"
msgid "Tomorrow"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Too many attempts. Wait a moment and try again."
msgstr ""
#: apps/web/src/components/landing-page.tsx
msgid "Track what you watch. Know what's next.<0/>Your library, your data, your rules."
msgstr "Verfolge, was du schaust. Wisse, was als Nächstes kommt.<0/>Deine Bibliothek, deine Daten, deine Regeln."
+115 -2
View File
@@ -410,6 +410,16 @@ msgstr ""
msgid "Also available on"
msgstr "Also available on"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "An account with this email already exists"
msgstr "An account with this email already exists"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "An import is already in progress"
msgstr "An import is already in progress"
#: apps/web/src/components/route-error.tsx
#: apps/web/src/routes/__root.tsx
msgid "An unexpected error occurred while loading this page. You can try again or head back to the dashboard."
@@ -512,6 +522,16 @@ msgstr ""
msgid "Backup deleted"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Backup not found"
msgstr "Backup not found"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Backup restoration failed"
msgstr "Backup restoration failed"
#: apps/web/src/components/settings/backup-schedule-section.tsx
msgid "Backup schedule"
msgstr ""
@@ -784,6 +804,10 @@ msgstr ""
msgid "Connecting…"
msgstr ""
#: apps/native/src/app/(auth)/server-url.tsx
msgid "Connection timed out. The server might be down or unreachable."
msgstr "Connection timed out. The server might be down or unreachable."
#: apps/web/src/components/library/library-filters.tsx
msgid "Content rating"
msgstr "Content rating"
@@ -833,6 +857,10 @@ msgstr "Could not load title details"
msgid "Could not load your library"
msgstr "Could not load your library"
#: apps/native/src/app/(auth)/server-url.tsx
msgid "Could not reach the server. Check your connection and the URL."
msgstr "Could not reach the server. Check your connection and the URL."
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Crash reporting"
msgstr "Crash reporting"
@@ -1067,6 +1095,8 @@ msgstr "English"
#: apps/native/src/app/(auth)/login.tsx
#: apps/native/src/app/(auth)/register.tsx
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Enter a valid email address"
msgstr "Enter a valid email address"
@@ -1200,8 +1230,8 @@ msgid "Failed to change password"
msgstr ""
#: apps/web/src/components/settings/imports-section.tsx
msgid "Failed to connect"
msgstr ""
#~ msgid "Failed to connect"
#~ msgstr ""
#: apps/native/src/components/settings/integration-card.tsx
#: apps/web/src/components/settings/integration-card.tsx
@@ -1216,7 +1246,9 @@ msgstr ""
msgid "Failed to create backup"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/components/settings/backup-section.tsx
#: apps/web/src/lib/error-messages.ts
msgid "Failed to delete backup"
msgstr ""
@@ -1225,6 +1257,11 @@ msgstr ""
msgid "Failed to disconnect {label}"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Failed to export data"
msgstr "Failed to export data"
#: apps/web/src/components/settings/backup-schedule-section.tsx
msgid "Failed to load backup schedule settings"
msgstr "Failed to load backup schedule settings"
@@ -1358,11 +1395,14 @@ msgid "Failed to update scheduled backup setting"
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#: apps/web/src/components/settings/streaming-services-section.tsx
#: apps/web/src/components/settings/update-check-section.tsx
#: apps/web/src/routes/_app/onboarding.tsx
msgid "Failed to update setting"
msgstr ""
#: apps/native/src/hooks/use-title-actions.ts
#: apps/web/src/components/title-card.tsx
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Failed to update status"
msgstr ""
@@ -1571,6 +1611,11 @@ msgstr ""
msgid "Import options"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Import payload is too large"
msgstr "Import payload is too large"
#: apps/web/src/components/settings/account-section.tsx
msgid "Import Sofa data"
msgstr "Import Sofa data"
@@ -1627,11 +1672,26 @@ msgstr ""
msgid "Install the Webhook plugin from Jellyfin's plugin catalog"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Integration not found"
msgstr "Integration not found"
#: apps/native/src/components/settings/integrations-section.tsx
#: apps/web/src/routes/_app/settings.tsx
msgid "Integrations"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Invalid email or password"
msgstr "Invalid email or password"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Invalid import file"
msgstr "Invalid import file"
#: apps/web/src/components/settings/system-health-section.tsx
msgid "Invalid token"
msgstr ""
@@ -1648,6 +1708,11 @@ msgstr "Japanese"
msgid "Job"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Job not found"
msgstr "Job not found"
#: apps/web/src/components/settings/backup-schedule-section.tsx
msgid "Keeping"
msgstr "Keeping"
@@ -2231,6 +2296,16 @@ msgstr ""
msgid "Password is required"
msgstr "Password is required"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Password is too long"
msgstr "Password is too long"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Password is too short"
msgstr "Password is too short"
#: apps/native/src/app/change-password.tsx
msgid "Password must be at least 8 characters"
msgstr "Password must be at least 8 characters"
@@ -2269,6 +2344,8 @@ msgid "Person"
msgstr ""
#: apps/native/src/app/person/[id].tsx
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
#: apps/web/src/routes/_app/people.$id.tsx
msgid "Person not found"
msgstr ""
@@ -2548,6 +2625,11 @@ msgstr ""
msgid "Registration failed"
msgstr "Registration failed"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Registration is currently closed"
msgstr "Registration is currently closed"
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#: apps/web/src/components/settings/registration-section.tsx
msgid "Registration opened"
@@ -2832,6 +2914,10 @@ msgstr ""
msgid "Server"
msgstr ""
#: apps/native/src/app/(auth)/server-url.tsx
msgid "Server found but reporting an issue. Try again in a moment."
msgstr "Server found but reporting an issue. Try again in a moment."
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Server Health"
msgstr ""
@@ -2972,9 +3058,11 @@ msgstr ""
#: apps/native/src/app/change-password.tsx
#: apps/native/src/app/person/[id].tsx
#: apps/native/src/app/title/[id].tsx
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/components/auth-form.tsx
#: apps/web/src/components/route-error.tsx
#: apps/web/src/components/settings/account-section.tsx
#: apps/web/src/lib/error-messages.ts
#: apps/web/src/routes/__root.tsx
msgid "Something went wrong"
msgstr ""
@@ -3079,6 +3167,10 @@ msgstr "Switch to {name}"
msgid "Takes effect after restarting the app"
msgstr "Takes effect after restarting the app"
#: apps/native/src/app/(auth)/server-url.tsx
msgid "That URL doesn't look right. Include the full server address."
msgstr "That URL doesn't look right. Include the full server address."
#: apps/native/src/app/+not-found.tsx
msgid "The page you're looking for doesn't exist."
msgstr ""
@@ -3095,6 +3187,15 @@ msgstr ""
msgid "then"
msgstr "then"
#: apps/native/src/app/(auth)/server-url.tsx
msgid "This doesn't appear to be a Sofa server. Double-check the URL."
msgstr "This doesn't appear to be a Sofa server. Double-check the URL."
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "This import cannot be cancelled"
msgstr "This import cannot be cancelled"
#: apps/web/src/components/settings/account-section.tsx
#: apps/web/src/components/settings/imports-section.tsx
msgid "This may take a few minutes for large libraries. Please don't close this tab."
@@ -3198,6 +3299,8 @@ msgid "Title A-Z"
msgstr "Title A-Z"
#: apps/native/src/app/title/[id].tsx
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
#: apps/web/src/routes/_app/titles.$id.tsx
msgid "Title not found"
msgstr ""
@@ -3217,6 +3320,11 @@ msgstr ""
msgid "Titles on your Sofa watchlist will be automatically added for download when Sonarr polls this list (every 6 hours by default)"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "TMDB API key is not configured"
msgstr "TMDB API key is not configured"
#: apps/native/src/components/library/sort-menu.tsx
#: apps/web/src/components/library/library-toolbar.tsx
msgid "TMDB Rating"
@@ -3262,6 +3370,11 @@ msgstr "Toggle Sidebar"
msgid "Tomorrow"
msgstr "Tomorrow"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Too many attempts. Wait a moment and try again."
msgstr "Too many attempts. Wait a moment and try again."
#: apps/web/src/components/landing-page.tsx
msgid "Track what you watch. Know what's next.<0/>Your library, your data, your rules."
msgstr ""
+115 -2
View File
@@ -410,6 +410,16 @@ msgstr "¿Ya tienes una cuenta? Inicia sesión"
msgid "Also available on"
msgstr "También disponible en"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "An account with this email already exists"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "An import is already in progress"
msgstr ""
#: apps/web/src/components/route-error.tsx
#: apps/web/src/routes/__root.tsx
msgid "An unexpected error occurred while loading this page. You can try again or head back to the dashboard."
@@ -512,6 +522,16 @@ msgstr "Copia de seguridad creada"
msgid "Backup deleted"
msgstr "Copia de seguridad eliminada"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Backup not found"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Backup restoration failed"
msgstr ""
#: apps/web/src/components/settings/backup-schedule-section.tsx
msgid "Backup schedule"
msgstr "Programación de copias de seguridad"
@@ -784,6 +804,10 @@ msgstr "Conectando..."
msgid "Connecting…"
msgstr "Conectando…"
#: apps/native/src/app/(auth)/server-url.tsx
msgid "Connection timed out. The server might be down or unreachable."
msgstr ""
#: apps/web/src/components/library/library-filters.tsx
msgid "Content rating"
msgstr "Clasificación de contenido"
@@ -833,6 +857,10 @@ msgstr "No se pudieron cargar los detalles del título"
msgid "Could not load your library"
msgstr "No se pudo cargar tu biblioteca"
#: apps/native/src/app/(auth)/server-url.tsx
msgid "Could not reach the server. Check your connection and the URL."
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Crash reporting"
msgstr "Informe de fallos"
@@ -1067,6 +1095,8 @@ msgstr "Inglés"
#: apps/native/src/app/(auth)/login.tsx
#: apps/native/src/app/(auth)/register.tsx
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Enter a valid email address"
msgstr "Introduce una dirección de correo electrónico válida"
@@ -1200,8 +1230,8 @@ msgid "Failed to change password"
msgstr "Error al cambiar la contraseña"
#: apps/web/src/components/settings/imports-section.tsx
msgid "Failed to connect"
msgstr "Error al conectar"
#~ msgid "Failed to connect"
#~ msgstr "Error al conectar"
#: apps/native/src/components/settings/integration-card.tsx
#: apps/web/src/components/settings/integration-card.tsx
@@ -1216,7 +1246,9 @@ msgstr "Error al crear la cuenta"
msgid "Failed to create backup"
msgstr "Error al crear la copia de seguridad"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/components/settings/backup-section.tsx
#: apps/web/src/lib/error-messages.ts
msgid "Failed to delete backup"
msgstr "Error al eliminar la copia de seguridad"
@@ -1225,6 +1257,11 @@ msgstr "Error al eliminar la copia de seguridad"
msgid "Failed to disconnect {label}"
msgstr "Error al desconectar {label}"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Failed to export data"
msgstr ""
#: apps/web/src/components/settings/backup-schedule-section.tsx
msgid "Failed to load backup schedule settings"
msgstr "No se pudieron cargar los ajustes del programa de copias de seguridad"
@@ -1358,11 +1395,14 @@ msgid "Failed to update scheduled backup setting"
msgstr "Error al actualizar el ajuste de copia de seguridad programada"
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#: apps/web/src/components/settings/streaming-services-section.tsx
#: apps/web/src/components/settings/update-check-section.tsx
#: apps/web/src/routes/_app/onboarding.tsx
msgid "Failed to update setting"
msgstr "Error al actualizar el ajuste"
#: apps/native/src/hooks/use-title-actions.ts
#: apps/web/src/components/title-card.tsx
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Failed to update status"
msgstr "Error al actualizar el estado"
@@ -1571,6 +1611,11 @@ msgstr "La importación sigue en curso en segundo plano. Vuelve más tarde."
msgid "Import options"
msgstr "Opciones de importación"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Import payload is too large"
msgstr ""
#: apps/web/src/components/settings/account-section.tsx
msgid "Import Sofa data"
msgstr "Importar datos de Sofa"
@@ -1627,11 +1672,26 @@ msgstr "Instala el <0>plugin Webhook<1/></0> del catálogo de plugins de Jellyfi
msgid "Install the Webhook plugin from Jellyfin's plugin catalog"
msgstr "Instala el plugin Webhook del catálogo de plugins de Jellyfin"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Integration not found"
msgstr ""
#: apps/native/src/components/settings/integrations-section.tsx
#: apps/web/src/routes/_app/settings.tsx
msgid "Integrations"
msgstr "Integraciones"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Invalid email or password"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Invalid import file"
msgstr ""
#: apps/web/src/components/settings/system-health-section.tsx
msgid "Invalid token"
msgstr "Token inválido"
@@ -1648,6 +1708,11 @@ msgstr "Japonés"
msgid "Job"
msgstr "Tarea"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Job not found"
msgstr ""
#: apps/web/src/components/settings/backup-schedule-section.tsx
msgid "Keeping"
msgstr "Conservando"
@@ -2231,6 +2296,16 @@ msgstr "Contraseña"
msgid "Password is required"
msgstr "La contraseña es obligatoria"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Password is too long"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Password is too short"
msgstr ""
#: apps/native/src/app/change-password.tsx
msgid "Password must be at least 8 characters"
msgstr "La contraseña debe tener al menos 8 caracteres"
@@ -2269,6 +2344,8 @@ msgid "Person"
msgstr "Persona"
#: apps/native/src/app/person/[id].tsx
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
#: apps/web/src/routes/_app/people.$id.tsx
msgid "Person not found"
msgstr "Persona no encontrada"
@@ -2548,6 +2625,11 @@ msgstr "Registro cerrado"
msgid "Registration failed"
msgstr "Error al registrarse"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Registration is currently closed"
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#: apps/web/src/components/settings/registration-section.tsx
msgid "Registration opened"
@@ -2832,6 +2914,10 @@ msgstr "Seguimiento de películas y series autoalojado"
msgid "Server"
msgstr "Servidor"
#: apps/native/src/app/(auth)/server-url.tsx
msgid "Server found but reporting an issue. Try again in a moment."
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Server Health"
msgstr "Estado del servidor"
@@ -2972,9 +3058,11 @@ msgstr "Sofa registrará automáticamente películas y episodios cuando termines
#: apps/native/src/app/change-password.tsx
#: apps/native/src/app/person/[id].tsx
#: apps/native/src/app/title/[id].tsx
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/components/auth-form.tsx
#: apps/web/src/components/route-error.tsx
#: apps/web/src/components/settings/account-section.tsx
#: apps/web/src/lib/error-messages.ts
#: apps/web/src/routes/__root.tsx
msgid "Something went wrong"
msgstr "Algo salió mal"
@@ -3079,6 +3167,10 @@ msgstr "Cambiar a {name}"
msgid "Takes effect after restarting the app"
msgstr "Tendrá efecto tras reiniciar la app"
#: apps/native/src/app/(auth)/server-url.tsx
msgid "That URL doesn't look right. Include the full server address."
msgstr ""
#: apps/native/src/app/+not-found.tsx
msgid "The page you're looking for doesn't exist."
msgstr "La página que buscas no existe."
@@ -3095,6 +3187,15 @@ msgstr "El título que buscas no existe o puede haber sido eliminado de la base
msgid "then"
msgstr "luego"
#: apps/native/src/app/(auth)/server-url.tsx
msgid "This doesn't appear to be a Sofa server. Double-check the URL."
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "This import cannot be cancelled"
msgstr ""
#: apps/web/src/components/settings/account-section.tsx
#: apps/web/src/components/settings/imports-section.tsx
msgid "This may take a few minutes for large libraries. Please don't close this tab."
@@ -3198,6 +3299,8 @@ msgid "Title A-Z"
msgstr "Título A-Z"
#: apps/native/src/app/title/[id].tsx
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
#: apps/web/src/routes/_app/titles.$id.tsx
msgid "Title not found"
msgstr "Título no encontrado"
@@ -3217,6 +3320,11 @@ msgstr "Los títulos de tu lista de Sofa se añadirán automáticamente para des
msgid "Titles on your Sofa watchlist will be automatically added for download when Sonarr polls this list (every 6 hours by default)"
msgstr "Los títulos de tu lista de Sofa se añadirán automáticamente para descargar cuando Sonarr consulte esta lista (cada 6 horas por defecto)"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "TMDB API key is not configured"
msgstr ""
#: apps/native/src/components/library/sort-menu.tsx
#: apps/web/src/components/library/library-toolbar.tsx
msgid "TMDB Rating"
@@ -3262,6 +3370,11 @@ msgstr "Alternar barra lateral"
msgid "Tomorrow"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Too many attempts. Wait a moment and try again."
msgstr ""
#: apps/web/src/components/landing-page.tsx
msgid "Track what you watch. Know what's next.<0/>Your library, your data, your rules."
msgstr "Registra lo que ves. Sabe qué viene después.<0/>Tu biblioteca, tus datos, tus reglas."
+115 -2
View File
@@ -410,6 +410,16 @@ msgstr "Vous avez déjà un compte ? Se connecter"
msgid "Also available on"
msgstr "Aussi disponible sur"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "An account with this email already exists"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "An import is already in progress"
msgstr ""
#: apps/web/src/components/route-error.tsx
#: apps/web/src/routes/__root.tsx
msgid "An unexpected error occurred while loading this page. You can try again or head back to the dashboard."
@@ -512,6 +522,16 @@ msgstr "Sauvegarde créée"
msgid "Backup deleted"
msgstr "Sauvegarde supprimée"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Backup not found"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Backup restoration failed"
msgstr ""
#: apps/web/src/components/settings/backup-schedule-section.tsx
msgid "Backup schedule"
msgstr "Planning de sauvegarde"
@@ -784,6 +804,10 @@ msgstr "Connexion..."
msgid "Connecting…"
msgstr "Connexion…"
#: apps/native/src/app/(auth)/server-url.tsx
msgid "Connection timed out. The server might be down or unreachable."
msgstr ""
#: apps/web/src/components/library/library-filters.tsx
msgid "Content rating"
msgstr "Classification du contenu"
@@ -833,6 +857,10 @@ msgstr "Impossible de charger les détails du titre"
msgid "Could not load your library"
msgstr "Impossible de charger votre bibliothèque"
#: apps/native/src/app/(auth)/server-url.tsx
msgid "Could not reach the server. Check your connection and the URL."
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Crash reporting"
msgstr "Signalement de plantages"
@@ -1067,6 +1095,8 @@ msgstr "Anglais"
#: apps/native/src/app/(auth)/login.tsx
#: apps/native/src/app/(auth)/register.tsx
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Enter a valid email address"
msgstr "Entrez une adresse e-mail valide"
@@ -1200,8 +1230,8 @@ msgid "Failed to change password"
msgstr "Échec du changement de mot de passe"
#: apps/web/src/components/settings/imports-section.tsx
msgid "Failed to connect"
msgstr "Échec de la connexion"
#~ msgid "Failed to connect"
#~ msgstr "Échec de la connexion"
#: apps/native/src/components/settings/integration-card.tsx
#: apps/web/src/components/settings/integration-card.tsx
@@ -1216,7 +1246,9 @@ msgstr "Échec de la création du compte"
msgid "Failed to create backup"
msgstr "Échec de la création de la sauvegarde"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/components/settings/backup-section.tsx
#: apps/web/src/lib/error-messages.ts
msgid "Failed to delete backup"
msgstr "Échec de la suppression de la sauvegarde"
@@ -1225,6 +1257,11 @@ msgstr "Échec de la suppression de la sauvegarde"
msgid "Failed to disconnect {label}"
msgstr "Échec de la déconnexion de {label}"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Failed to export data"
msgstr ""
#: apps/web/src/components/settings/backup-schedule-section.tsx
msgid "Failed to load backup schedule settings"
msgstr "Impossible de charger les paramètres de planification des sauvegardes"
@@ -1358,11 +1395,14 @@ msgid "Failed to update scheduled backup setting"
msgstr "Échec de la mise à jour du paramètre de sauvegarde planifiée"
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#: apps/web/src/components/settings/streaming-services-section.tsx
#: apps/web/src/components/settings/update-check-section.tsx
#: apps/web/src/routes/_app/onboarding.tsx
msgid "Failed to update setting"
msgstr "Échec de la mise à jour du paramètre"
#: apps/native/src/hooks/use-title-actions.ts
#: apps/web/src/components/title-card.tsx
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Failed to update status"
msgstr "Échec de la mise à jour du statut"
@@ -1571,6 +1611,11 @@ msgstr "L'importation est toujours en cours en arrière-plan. Revenez plus tard.
msgid "Import options"
msgstr "Options d'importation"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Import payload is too large"
msgstr ""
#: apps/web/src/components/settings/account-section.tsx
msgid "Import Sofa data"
msgstr "Importer des données Sofa"
@@ -1627,11 +1672,26 @@ msgstr "Installez le <0>plugin Webhook<1/></0> depuis le catalogue de plugins de
msgid "Install the Webhook plugin from Jellyfin's plugin catalog"
msgstr "Installez le plugin Webhook depuis le catalogue de plugins de Jellyfin"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Integration not found"
msgstr ""
#: apps/native/src/components/settings/integrations-section.tsx
#: apps/web/src/routes/_app/settings.tsx
msgid "Integrations"
msgstr "Intégrations"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Invalid email or password"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Invalid import file"
msgstr ""
#: apps/web/src/components/settings/system-health-section.tsx
msgid "Invalid token"
msgstr "Jeton invalide"
@@ -1648,6 +1708,11 @@ msgstr "Japonais"
msgid "Job"
msgstr "Tâche"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Job not found"
msgstr ""
#: apps/web/src/components/settings/backup-schedule-section.tsx
msgid "Keeping"
msgstr "Conservation"
@@ -2231,6 +2296,16 @@ msgstr "Mot de passe"
msgid "Password is required"
msgstr "Le mot de passe est requis"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Password is too long"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Password is too short"
msgstr ""
#: apps/native/src/app/change-password.tsx
msgid "Password must be at least 8 characters"
msgstr "Le mot de passe doit comporter au moins 8 caractères"
@@ -2269,6 +2344,8 @@ msgid "Person"
msgstr "Personne"
#: apps/native/src/app/person/[id].tsx
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
#: apps/web/src/routes/_app/people.$id.tsx
msgid "Person not found"
msgstr "Personne introuvable"
@@ -2548,6 +2625,11 @@ msgstr "Inscriptions fermées"
msgid "Registration failed"
msgstr "Inscription échouée"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Registration is currently closed"
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#: apps/web/src/components/settings/registration-section.tsx
msgid "Registration opened"
@@ -2832,6 +2914,10 @@ msgstr "Suivi de films et séries auto-hébergé"
msgid "Server"
msgstr "Serveur"
#: apps/native/src/app/(auth)/server-url.tsx
msgid "Server found but reporting an issue. Try again in a moment."
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Server Health"
msgstr "État du serveur"
@@ -2972,9 +3058,11 @@ msgstr "Sofa enregistrera automatiquement les films et épisodes lorsque vous au
#: apps/native/src/app/change-password.tsx
#: apps/native/src/app/person/[id].tsx
#: apps/native/src/app/title/[id].tsx
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/components/auth-form.tsx
#: apps/web/src/components/route-error.tsx
#: apps/web/src/components/settings/account-section.tsx
#: apps/web/src/lib/error-messages.ts
#: apps/web/src/routes/__root.tsx
msgid "Something went wrong"
msgstr "Une erreur s'est produite"
@@ -3079,6 +3167,10 @@ msgstr "Passer à {name}"
msgid "Takes effect after restarting the app"
msgstr "Prend effet après le redémarrage de l'application"
#: apps/native/src/app/(auth)/server-url.tsx
msgid "That URL doesn't look right. Include the full server address."
msgstr ""
#: apps/native/src/app/+not-found.tsx
msgid "The page you're looking for doesn't exist."
msgstr "La page que vous recherchez n'existe pas."
@@ -3095,6 +3187,15 @@ msgstr "Le titre que vous recherchez n'existe pas ou a peut-être été supprim
msgid "then"
msgstr "puis"
#: apps/native/src/app/(auth)/server-url.tsx
msgid "This doesn't appear to be a Sofa server. Double-check the URL."
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "This import cannot be cancelled"
msgstr ""
#: apps/web/src/components/settings/account-section.tsx
#: apps/web/src/components/settings/imports-section.tsx
msgid "This may take a few minutes for large libraries. Please don't close this tab."
@@ -3198,6 +3299,8 @@ msgid "Title A-Z"
msgstr "Titre A-Z"
#: apps/native/src/app/title/[id].tsx
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
#: apps/web/src/routes/_app/titles.$id.tsx
msgid "Title not found"
msgstr "Titre introuvable"
@@ -3217,6 +3320,11 @@ msgstr "Les titres de votre liste de suivi Sofa seront automatiquement ajoutés
msgid "Titles on your Sofa watchlist will be automatically added for download when Sonarr polls this list (every 6 hours by default)"
msgstr "Les titres de votre liste de suivi Sofa seront automatiquement ajoutés au téléchargement lorsque Sonarr interroge cette liste (toutes les 6 heures par défaut)"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "TMDB API key is not configured"
msgstr ""
#: apps/native/src/components/library/sort-menu.tsx
#: apps/web/src/components/library/library-toolbar.tsx
msgid "TMDB Rating"
@@ -3262,6 +3370,11 @@ msgstr "Basculer la barre latérale"
msgid "Tomorrow"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Too many attempts. Wait a moment and try again."
msgstr ""
#: apps/web/src/components/landing-page.tsx
msgid "Track what you watch. Know what's next.<0/>Your library, your data, your rules."
msgstr "Suivez ce que vous regardez. Sachez ce qui vient ensuite.<0/>Votre bibliothèque, vos données, vos règles."
+115 -2
View File
@@ -410,6 +410,16 @@ msgstr "כבר יש לך חשבון? התחבר"
msgid "Also available on"
msgstr "זמין גם ב"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "An account with this email already exists"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "An import is already in progress"
msgstr ""
#: apps/web/src/components/route-error.tsx
#: apps/web/src/routes/__root.tsx
msgid "An unexpected error occurred while loading this page. You can try again or head back to the dashboard."
@@ -512,6 +522,16 @@ msgstr "גיבוי נוצר"
msgid "Backup deleted"
msgstr "גיבוי נמחק"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Backup not found"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Backup restoration failed"
msgstr ""
#: apps/web/src/components/settings/backup-schedule-section.tsx
msgid "Backup schedule"
msgstr "לוח זמנים לגיבוי"
@@ -784,6 +804,10 @@ msgstr "מתחבר..."
msgid "Connecting…"
msgstr "מתחבר…"
#: apps/native/src/app/(auth)/server-url.tsx
msgid "Connection timed out. The server might be down or unreachable."
msgstr ""
#: apps/web/src/components/library/library-filters.tsx
msgid "Content rating"
msgstr "דירוג תוכן"
@@ -833,6 +857,10 @@ msgstr "לא ניתן לטעון את פרטי הכותרת"
msgid "Could not load your library"
msgstr "לא ניתן לטעון את הספרייה שלך"
#: apps/native/src/app/(auth)/server-url.tsx
msgid "Could not reach the server. Check your connection and the URL."
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Crash reporting"
msgstr "דיווח על קריסות"
@@ -1067,6 +1095,8 @@ msgstr "אנגלית"
#: apps/native/src/app/(auth)/login.tsx
#: apps/native/src/app/(auth)/register.tsx
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Enter a valid email address"
msgstr "הזן כתובת דוא\"ל תקינה"
@@ -1200,8 +1230,8 @@ msgid "Failed to change password"
msgstr "שינוי הסיסמה נכשל"
#: apps/web/src/components/settings/imports-section.tsx
msgid "Failed to connect"
msgstr "ההתחברות נכשלה"
#~ msgid "Failed to connect"
#~ msgstr "ההתחברות נכשלה"
#: apps/native/src/components/settings/integration-card.tsx
#: apps/web/src/components/settings/integration-card.tsx
@@ -1216,7 +1246,9 @@ msgstr "יצירת החשבון נכשלה"
msgid "Failed to create backup"
msgstr "יצירת הגיבוי נכשלה"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/components/settings/backup-section.tsx
#: apps/web/src/lib/error-messages.ts
msgid "Failed to delete backup"
msgstr "מחיקת הגיבוי נכשלה"
@@ -1225,6 +1257,11 @@ msgstr "מחיקת הגיבוי נכשלה"
msgid "Failed to disconnect {label}"
msgstr "ניתוק {label} נכשל"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Failed to export data"
msgstr ""
#: apps/web/src/components/settings/backup-schedule-section.tsx
msgid "Failed to load backup schedule settings"
msgstr "טעינת הגדרות תזמון הגיבוי נכשלה"
@@ -1358,11 +1395,14 @@ msgid "Failed to update scheduled backup setting"
msgstr "עדכון הגדרת הגיבוי המתוזמן נכשל"
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#: apps/web/src/components/settings/streaming-services-section.tsx
#: apps/web/src/components/settings/update-check-section.tsx
#: apps/web/src/routes/_app/onboarding.tsx
msgid "Failed to update setting"
msgstr "עדכון ההגדרה נכשל"
#: apps/native/src/hooks/use-title-actions.ts
#: apps/web/src/components/title-card.tsx
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Failed to update status"
msgstr "עדכון הסטטוס נכשל"
@@ -1571,6 +1611,11 @@ msgstr "הייבוא עדיין רץ ברקע. בדוק שוב מאוחר יות
msgid "Import options"
msgstr "אפשרויות ייבוא"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Import payload is too large"
msgstr ""
#: apps/web/src/components/settings/account-section.tsx
msgid "Import Sofa data"
msgstr "ייבא נתוני Sofa"
@@ -1627,11 +1672,26 @@ msgstr "התקן את <0>תוסף ה-Webhook<1/></0> מקטלוג התוספים
msgid "Install the Webhook plugin from Jellyfin's plugin catalog"
msgstr "התקן את תוסף ה-Webhook מקטלוג התוספים של Jellyfin"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Integration not found"
msgstr ""
#: apps/native/src/components/settings/integrations-section.tsx
#: apps/web/src/routes/_app/settings.tsx
msgid "Integrations"
msgstr "אינטגרציות"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Invalid email or password"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Invalid import file"
msgstr ""
#: apps/web/src/components/settings/system-health-section.tsx
msgid "Invalid token"
msgstr "טוקן לא תקין"
@@ -1648,6 +1708,11 @@ msgstr "יפנית"
msgid "Job"
msgstr "משימה"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Job not found"
msgstr ""
#: apps/web/src/components/settings/backup-schedule-section.tsx
msgid "Keeping"
msgstr "שומר"
@@ -2231,6 +2296,16 @@ msgstr "סיסמה"
msgid "Password is required"
msgstr "סיסמה נדרשת"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Password is too long"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Password is too short"
msgstr ""
#: apps/native/src/app/change-password.tsx
msgid "Password must be at least 8 characters"
msgstr "הסיסמה חייבת להיות לפחות 8 תווים"
@@ -2269,6 +2344,8 @@ msgid "Person"
msgstr "אדם"
#: apps/native/src/app/person/[id].tsx
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
#: apps/web/src/routes/_app/people.$id.tsx
msgid "Person not found"
msgstr "האדם לא נמצא"
@@ -2548,6 +2625,11 @@ msgstr "ההרשמה סגורה"
msgid "Registration failed"
msgstr "ההרשמה נכשלה"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Registration is currently closed"
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#: apps/web/src/components/settings/registration-section.tsx
msgid "Registration opened"
@@ -2832,6 +2914,10 @@ msgstr "מעקב סרטים וטלוויזיה לאירוח עצמי"
msgid "Server"
msgstr "שרת"
#: apps/native/src/app/(auth)/server-url.tsx
msgid "Server found but reporting an issue. Try again in a moment."
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Server Health"
msgstr "תקינות השרת"
@@ -2972,9 +3058,11 @@ msgstr "Sofa יתעד אוטומטית סרטים ופרקים כשתסיים ל
#: apps/native/src/app/change-password.tsx
#: apps/native/src/app/person/[id].tsx
#: apps/native/src/app/title/[id].tsx
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/components/auth-form.tsx
#: apps/web/src/components/route-error.tsx
#: apps/web/src/components/settings/account-section.tsx
#: apps/web/src/lib/error-messages.ts
#: apps/web/src/routes/__root.tsx
msgid "Something went wrong"
msgstr "משהו השתבש"
@@ -3079,6 +3167,10 @@ msgstr "עבור ל-{name}"
msgid "Takes effect after restarting the app"
msgstr "ייכנס לתוקף לאחר הפעלה מחדש של האפליקציה"
#: apps/native/src/app/(auth)/server-url.tsx
msgid "That URL doesn't look right. Include the full server address."
msgstr ""
#: apps/native/src/app/+not-found.tsx
msgid "The page you're looking for doesn't exist."
msgstr "הדף שחיפשת אינו קיים."
@@ -3095,6 +3187,15 @@ msgstr "הכותר שחיפשת אינו קיים או שמא הוסר ממסד
msgid "then"
msgstr "ואז"
#: apps/native/src/app/(auth)/server-url.tsx
msgid "This doesn't appear to be a Sofa server. Double-check the URL."
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "This import cannot be cancelled"
msgstr ""
#: apps/web/src/components/settings/account-section.tsx
#: apps/web/src/components/settings/imports-section.tsx
msgid "This may take a few minutes for large libraries. Please don't close this tab."
@@ -3198,6 +3299,8 @@ msgid "Title A-Z"
msgstr "כותרת א-ת"
#: apps/native/src/app/title/[id].tsx
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
#: apps/web/src/routes/_app/titles.$id.tsx
msgid "Title not found"
msgstr "כותר לא נמצא"
@@ -3217,6 +3320,11 @@ msgstr "כותרים ברשימת הצפייה שלך ב-Sofa יתווספו א
msgid "Titles on your Sofa watchlist will be automatically added for download when Sonarr polls this list (every 6 hours by default)"
msgstr "כותרים ברשימת הצפייה שלך ב-Sofa יתווספו אוטומטית להורדה כאשר Sonarr סוקר רשימה זו (כל 6 שעות כברירת מחדל)"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "TMDB API key is not configured"
msgstr ""
#: apps/native/src/components/library/sort-menu.tsx
#: apps/web/src/components/library/library-toolbar.tsx
msgid "TMDB Rating"
@@ -3262,6 +3370,11 @@ msgstr "החלף סרגל צד"
msgid "Tomorrow"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Too many attempts. Wait a moment and try again."
msgstr ""
#: apps/web/src/components/landing-page.tsx
msgid "Track what you watch. Know what's next.<0/>Your library, your data, your rules."
msgstr "עקוב אחרי מה שאתה צופה. דע מה הבא.<0/>הספרייה שלך, הנתונים שלך, הכללים שלך."
+115 -2
View File
@@ -410,6 +410,16 @@ msgstr "Hai già un account? Accedi"
msgid "Also available on"
msgstr "Disponibile anche su"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "An account with this email already exists"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "An import is already in progress"
msgstr ""
#: apps/web/src/components/route-error.tsx
#: apps/web/src/routes/__root.tsx
msgid "An unexpected error occurred while loading this page. You can try again or head back to the dashboard."
@@ -512,6 +522,16 @@ msgstr "Backup creato"
msgid "Backup deleted"
msgstr "Backup eliminato"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Backup not found"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Backup restoration failed"
msgstr ""
#: apps/web/src/components/settings/backup-schedule-section.tsx
msgid "Backup schedule"
msgstr "Pianificazione backup"
@@ -784,6 +804,10 @@ msgstr "Connessione in corso..."
msgid "Connecting…"
msgstr "Connessione in corso…"
#: apps/native/src/app/(auth)/server-url.tsx
msgid "Connection timed out. The server might be down or unreachable."
msgstr ""
#: apps/web/src/components/library/library-filters.tsx
msgid "Content rating"
msgstr "Classificazione contenuti"
@@ -833,6 +857,10 @@ msgstr "Impossibile caricare i dettagli del titolo"
msgid "Could not load your library"
msgstr "Impossibile caricare la tua libreria"
#: apps/native/src/app/(auth)/server-url.tsx
msgid "Could not reach the server. Check your connection and the URL."
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Crash reporting"
msgstr "Segnalazione degli arresti anomali"
@@ -1067,6 +1095,8 @@ msgstr "Inglese"
#: apps/native/src/app/(auth)/login.tsx
#: apps/native/src/app/(auth)/register.tsx
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Enter a valid email address"
msgstr "Inserisci un indirizzo email valido"
@@ -1200,8 +1230,8 @@ msgid "Failed to change password"
msgstr "Impossibile cambiare la password"
#: apps/web/src/components/settings/imports-section.tsx
msgid "Failed to connect"
msgstr "Impossibile connettersi"
#~ msgid "Failed to connect"
#~ msgstr "Impossibile connettersi"
#: apps/native/src/components/settings/integration-card.tsx
#: apps/web/src/components/settings/integration-card.tsx
@@ -1216,7 +1246,9 @@ msgstr "Impossibile creare l'account"
msgid "Failed to create backup"
msgstr "Impossibile creare il backup"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/components/settings/backup-section.tsx
#: apps/web/src/lib/error-messages.ts
msgid "Failed to delete backup"
msgstr "Impossibile eliminare il backup"
@@ -1225,6 +1257,11 @@ msgstr "Impossibile eliminare il backup"
msgid "Failed to disconnect {label}"
msgstr "Impossibile disconnettere {label}"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Failed to export data"
msgstr ""
#: apps/web/src/components/settings/backup-schedule-section.tsx
msgid "Failed to load backup schedule settings"
msgstr "Impossibile caricare le impostazioni di pianificazione del backup"
@@ -1358,11 +1395,14 @@ msgid "Failed to update scheduled backup setting"
msgstr "Impossibile aggiornare l'impostazione di backup pianificato"
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#: apps/web/src/components/settings/streaming-services-section.tsx
#: apps/web/src/components/settings/update-check-section.tsx
#: apps/web/src/routes/_app/onboarding.tsx
msgid "Failed to update setting"
msgstr "Impossibile aggiornare l'impostazione"
#: apps/native/src/hooks/use-title-actions.ts
#: apps/web/src/components/title-card.tsx
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Failed to update status"
msgstr "Impossibile aggiornare lo stato"
@@ -1571,6 +1611,11 @@ msgstr "L'importazione è ancora in corso in background. Ricontrolla più tardi.
msgid "Import options"
msgstr "Opzioni di importazione"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Import payload is too large"
msgstr ""
#: apps/web/src/components/settings/account-section.tsx
msgid "Import Sofa data"
msgstr "Importa dati Sofa"
@@ -1627,11 +1672,26 @@ msgstr "Installa il <0>plugin Webhook<1/></0> dal catalogo plugin di Jellyfin"
msgid "Install the Webhook plugin from Jellyfin's plugin catalog"
msgstr "Installa il plugin Webhook dal catalogo plugin di Jellyfin"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Integration not found"
msgstr ""
#: apps/native/src/components/settings/integrations-section.tsx
#: apps/web/src/routes/_app/settings.tsx
msgid "Integrations"
msgstr "Integrazioni"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Invalid email or password"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Invalid import file"
msgstr ""
#: apps/web/src/components/settings/system-health-section.tsx
msgid "Invalid token"
msgstr "Token non valido"
@@ -1648,6 +1708,11 @@ msgstr "Giapponese"
msgid "Job"
msgstr "Attività"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Job not found"
msgstr ""
#: apps/web/src/components/settings/backup-schedule-section.tsx
msgid "Keeping"
msgstr "Conservazione"
@@ -2231,6 +2296,16 @@ msgstr ""
msgid "Password is required"
msgstr "La password è obbligatoria"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Password is too long"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Password is too short"
msgstr ""
#: apps/native/src/app/change-password.tsx
msgid "Password must be at least 8 characters"
msgstr "La password deve contenere almeno 8 caratteri"
@@ -2269,6 +2344,8 @@ msgid "Person"
msgstr "Persona"
#: apps/native/src/app/person/[id].tsx
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
#: apps/web/src/routes/_app/people.$id.tsx
msgid "Person not found"
msgstr "Persona non trovata"
@@ -2548,6 +2625,11 @@ msgstr "Registrazione chiusa"
msgid "Registration failed"
msgstr "Registrazione non riuscita"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Registration is currently closed"
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#: apps/web/src/components/settings/registration-section.tsx
msgid "Registration opened"
@@ -2832,6 +2914,10 @@ msgstr "Tracker film & TV self-hosted"
msgid "Server"
msgstr ""
#: apps/native/src/app/(auth)/server-url.tsx
msgid "Server found but reporting an issue. Try again in a moment."
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Server Health"
msgstr "Salute del server"
@@ -2972,9 +3058,11 @@ msgstr "Sofa registrerà automaticamente film ed episodi quando finisci di guard
#: apps/native/src/app/change-password.tsx
#: apps/native/src/app/person/[id].tsx
#: apps/native/src/app/title/[id].tsx
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/components/auth-form.tsx
#: apps/web/src/components/route-error.tsx
#: apps/web/src/components/settings/account-section.tsx
#: apps/web/src/lib/error-messages.ts
#: apps/web/src/routes/__root.tsx
msgid "Something went wrong"
msgstr "Qualcosa è andato storto"
@@ -3079,6 +3167,10 @@ msgstr "Passa a {name}"
msgid "Takes effect after restarting the app"
msgstr "Avrà effetto dopo il riavvio dell'app"
#: apps/native/src/app/(auth)/server-url.tsx
msgid "That URL doesn't look right. Include the full server address."
msgstr ""
#: apps/native/src/app/+not-found.tsx
msgid "The page you're looking for doesn't exist."
msgstr "La pagina che stai cercando non esiste."
@@ -3095,6 +3187,15 @@ msgstr "Il titolo che stai cercando non esiste o potrebbe essere stato rimosso d
msgid "then"
msgstr "poi"
#: apps/native/src/app/(auth)/server-url.tsx
msgid "This doesn't appear to be a Sofa server. Double-check the URL."
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "This import cannot be cancelled"
msgstr ""
#: apps/web/src/components/settings/account-section.tsx
#: apps/web/src/components/settings/imports-section.tsx
msgid "This may take a few minutes for large libraries. Please don't close this tab."
@@ -3198,6 +3299,8 @@ msgid "Title A-Z"
msgstr "Titolo A-Z"
#: apps/native/src/app/title/[id].tsx
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
#: apps/web/src/routes/_app/titles.$id.tsx
msgid "Title not found"
msgstr "Titolo non trovato"
@@ -3217,6 +3320,11 @@ msgstr "I titoli nella tua watchlist di Sofa verranno aggiunti automaticamente p
msgid "Titles on your Sofa watchlist will be automatically added for download when Sonarr polls this list (every 6 hours by default)"
msgstr "I titoli nella tua watchlist di Sofa verranno aggiunti automaticamente per il download quando Sonarr interroga questa lista (ogni 6 ore per impostazione predefinita)"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "TMDB API key is not configured"
msgstr ""
#: apps/native/src/components/library/sort-menu.tsx
#: apps/web/src/components/library/library-toolbar.tsx
msgid "TMDB Rating"
@@ -3262,6 +3370,11 @@ msgstr "Attiva/disattiva barra laterale"
msgid "Tomorrow"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Too many attempts. Wait a moment and try again."
msgstr ""
#: apps/web/src/components/landing-page.tsx
msgid "Track what you watch. Know what's next.<0/>Your library, your data, your rules."
msgstr "Traccia cosa guardi. Sai cosa ti aspetta.<0/>La tua libreria, i tuoi dati, le tue regole."
+115 -2
View File
@@ -410,6 +410,16 @@ msgstr "すでにアカウントをお持ちの方はサインイン"
msgid "Also available on"
msgstr "他でも視聴可能"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "An account with this email already exists"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "An import is already in progress"
msgstr ""
#: apps/web/src/components/route-error.tsx
#: apps/web/src/routes/__root.tsx
msgid "An unexpected error occurred while loading this page. You can try again or head back to the dashboard."
@@ -512,6 +522,16 @@ msgstr "バックアップを作成しました"
msgid "Backup deleted"
msgstr "バックアップを削除しました"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Backup not found"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Backup restoration failed"
msgstr ""
#: apps/web/src/components/settings/backup-schedule-section.tsx
msgid "Backup schedule"
msgstr "バックアップスケジュール"
@@ -784,6 +804,10 @@ msgstr "接続中..."
msgid "Connecting…"
msgstr "接続中…"
#: apps/native/src/app/(auth)/server-url.tsx
msgid "Connection timed out. The server might be down or unreachable."
msgstr ""
#: apps/web/src/components/library/library-filters.tsx
msgid "Content rating"
msgstr "コンテンツレーティング"
@@ -833,6 +857,10 @@ msgstr "タイトルの詳細を読み込めませんでした"
msgid "Could not load your library"
msgstr "ライブラリを読み込めませんでした"
#: apps/native/src/app/(auth)/server-url.tsx
msgid "Could not reach the server. Check your connection and the URL."
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Crash reporting"
msgstr "クラッシュレポート"
@@ -1067,6 +1095,8 @@ msgstr "英語"
#: apps/native/src/app/(auth)/login.tsx
#: apps/native/src/app/(auth)/register.tsx
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Enter a valid email address"
msgstr "有効なメールアドレスを入力してください"
@@ -1200,8 +1230,8 @@ msgid "Failed to change password"
msgstr "パスワードの変更に失敗しました"
#: apps/web/src/components/settings/imports-section.tsx
msgid "Failed to connect"
msgstr "接続に失敗しました"
#~ msgid "Failed to connect"
#~ msgstr "接続に失敗しました"
#: apps/native/src/components/settings/integration-card.tsx
#: apps/web/src/components/settings/integration-card.tsx
@@ -1216,7 +1246,9 @@ msgstr "アカウントの作成に失敗しました"
msgid "Failed to create backup"
msgstr "バックアップの作成に失敗しました"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/components/settings/backup-section.tsx
#: apps/web/src/lib/error-messages.ts
msgid "Failed to delete backup"
msgstr "バックアップの削除に失敗しました"
@@ -1225,6 +1257,11 @@ msgstr "バックアップの削除に失敗しました"
msgid "Failed to disconnect {label}"
msgstr "{label}の切断に失敗しました"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Failed to export data"
msgstr ""
#: apps/web/src/components/settings/backup-schedule-section.tsx
msgid "Failed to load backup schedule settings"
msgstr "バックアップスケジュール設定を読み込めませんでした"
@@ -1358,11 +1395,14 @@ msgid "Failed to update scheduled backup setting"
msgstr "スケジュールバックアップ設定の更新に失敗しました"
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#: apps/web/src/components/settings/streaming-services-section.tsx
#: apps/web/src/components/settings/update-check-section.tsx
#: apps/web/src/routes/_app/onboarding.tsx
msgid "Failed to update setting"
msgstr "設定の更新に失敗しました"
#: apps/native/src/hooks/use-title-actions.ts
#: apps/web/src/components/title-card.tsx
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Failed to update status"
msgstr "ステータスの更新に失敗しました"
@@ -1571,6 +1611,11 @@ msgstr "インポートはバックグラウンドで実行中です。後で確
msgid "Import options"
msgstr "インポートオプション"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Import payload is too large"
msgstr ""
#: apps/web/src/components/settings/account-section.tsx
msgid "Import Sofa data"
msgstr "Sofaデータをインポート"
@@ -1627,11 +1672,26 @@ msgstr "Jellyfinのプラグインカタログから<0>Webhookプラグイン<1/
msgid "Install the Webhook plugin from Jellyfin's plugin catalog"
msgstr "JellyfinのプラグインカタログからWebhookプラグインをインストールする"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Integration not found"
msgstr ""
#: apps/native/src/components/settings/integrations-section.tsx
#: apps/web/src/routes/_app/settings.tsx
msgid "Integrations"
msgstr "連携"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Invalid email or password"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Invalid import file"
msgstr ""
#: apps/web/src/components/settings/system-health-section.tsx
msgid "Invalid token"
msgstr "無効なトークン"
@@ -1648,6 +1708,11 @@ msgstr "日本語"
msgid "Job"
msgstr "ジョブ"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Job not found"
msgstr ""
#: apps/web/src/components/settings/backup-schedule-section.tsx
msgid "Keeping"
msgstr "保持中"
@@ -2231,6 +2296,16 @@ msgstr "パスワード"
msgid "Password is required"
msgstr "パスワードは必須です"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Password is too long"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Password is too short"
msgstr ""
#: apps/native/src/app/change-password.tsx
msgid "Password must be at least 8 characters"
msgstr "パスワードは8文字以上必要です"
@@ -2269,6 +2344,8 @@ msgid "Person"
msgstr "人物"
#: apps/native/src/app/person/[id].tsx
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
#: apps/web/src/routes/_app/people.$id.tsx
msgid "Person not found"
msgstr "人物が見つかりません"
@@ -2548,6 +2625,11 @@ msgstr "登録が締め切られています"
msgid "Registration failed"
msgstr "登録に失敗しました"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Registration is currently closed"
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#: apps/web/src/components/settings/registration-section.tsx
msgid "Registration opened"
@@ -2832,6 +2914,10 @@ msgstr "セルフホスト型映画・TVトラッカー"
msgid "Server"
msgstr "サーバー"
#: apps/native/src/app/(auth)/server-url.tsx
msgid "Server found but reporting an issue. Try again in a moment."
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Server Health"
msgstr "サーバーヘルス"
@@ -2972,9 +3058,11 @@ msgstr "視聴完了後、Sofaが自動的に映画やエピソードを記録
#: apps/native/src/app/change-password.tsx
#: apps/native/src/app/person/[id].tsx
#: apps/native/src/app/title/[id].tsx
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/components/auth-form.tsx
#: apps/web/src/components/route-error.tsx
#: apps/web/src/components/settings/account-section.tsx
#: apps/web/src/lib/error-messages.ts
#: apps/web/src/routes/__root.tsx
msgid "Something went wrong"
msgstr "エラーが発生しました"
@@ -3079,6 +3167,10 @@ msgstr "{name}に切り替え"
msgid "Takes effect after restarting the app"
msgstr "アプリを再起動後に反映されます"
#: apps/native/src/app/(auth)/server-url.tsx
msgid "That URL doesn't look right. Include the full server address."
msgstr ""
#: apps/native/src/app/+not-found.tsx
msgid "The page you're looking for doesn't exist."
msgstr "お探しのページは存在しません。"
@@ -3095,6 +3187,15 @@ msgstr "お探しのタイトルは存在しないか、データベースから
msgid "then"
msgstr "次に"
#: apps/native/src/app/(auth)/server-url.tsx
msgid "This doesn't appear to be a Sofa server. Double-check the URL."
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "This import cannot be cancelled"
msgstr ""
#: apps/web/src/components/settings/account-section.tsx
#: apps/web/src/components/settings/imports-section.tsx
msgid "This may take a few minutes for large libraries. Please don't close this tab."
@@ -3198,6 +3299,8 @@ msgid "Title A-Z"
msgstr "タイトル A-Z"
#: apps/native/src/app/title/[id].tsx
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
#: apps/web/src/routes/_app/titles.$id.tsx
msgid "Title not found"
msgstr "タイトルが見つかりません"
@@ -3217,6 +3320,11 @@ msgstr "SofaのウォッチリストにあるタイトルはRadarrがこのリ
msgid "Titles on your Sofa watchlist will be automatically added for download when Sonarr polls this list (every 6 hours by default)"
msgstr "SofaのウォッチリストにあるタイトルはSonarrがこのリストをポーリングする際(デフォルトでは6時間ごと)に自動的にダウンロード対象として追加されます"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "TMDB API key is not configured"
msgstr ""
#: apps/native/src/components/library/sort-menu.tsx
#: apps/web/src/components/library/library-toolbar.tsx
msgid "TMDB Rating"
@@ -3262,6 +3370,11 @@ msgstr "サイドバーを切り替え"
msgid "Tomorrow"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Too many attempts. Wait a moment and try again."
msgstr ""
#: apps/web/src/components/landing-page.tsx
msgid "Track what you watch. Know what's next.<0/>Your library, your data, your rules."
msgstr "視聴を記録。次を把握。<0/>あなたのライブラリ、あなたのデータ、あなたのルール。"
+115 -2
View File
@@ -410,6 +410,16 @@ msgstr "이미 계정이 있으신가요? 로그인"
msgid "Also available on"
msgstr "다음에서도 이용 가능"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "An account with this email already exists"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "An import is already in progress"
msgstr ""
#: apps/web/src/components/route-error.tsx
#: apps/web/src/routes/__root.tsx
msgid "An unexpected error occurred while loading this page. You can try again or head back to the dashboard."
@@ -512,6 +522,16 @@ msgstr "백업 생성됨"
msgid "Backup deleted"
msgstr "백업 삭제됨"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Backup not found"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Backup restoration failed"
msgstr ""
#: apps/web/src/components/settings/backup-schedule-section.tsx
msgid "Backup schedule"
msgstr "백업 일정"
@@ -784,6 +804,10 @@ msgstr "연결 중..."
msgid "Connecting…"
msgstr "연결 중…"
#: apps/native/src/app/(auth)/server-url.tsx
msgid "Connection timed out. The server might be down or unreachable."
msgstr ""
#: apps/web/src/components/library/library-filters.tsx
msgid "Content rating"
msgstr "콘텐츠 등급"
@@ -833,6 +857,10 @@ msgstr "제목 정보를 불러올 수 없습니다"
msgid "Could not load your library"
msgstr "라이브러리를 불러올 수 없습니다"
#: apps/native/src/app/(auth)/server-url.tsx
msgid "Could not reach the server. Check your connection and the URL."
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Crash reporting"
msgstr "충돌 보고"
@@ -1067,6 +1095,8 @@ msgstr "영어"
#: apps/native/src/app/(auth)/login.tsx
#: apps/native/src/app/(auth)/register.tsx
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Enter a valid email address"
msgstr "유효한 이메일 주소를 입력하세요"
@@ -1200,8 +1230,8 @@ msgid "Failed to change password"
msgstr "비밀번호 변경 실패"
#: apps/web/src/components/settings/imports-section.tsx
msgid "Failed to connect"
msgstr "연결 실패"
#~ msgid "Failed to connect"
#~ msgstr "연결 실패"
#: apps/native/src/components/settings/integration-card.tsx
#: apps/web/src/components/settings/integration-card.tsx
@@ -1216,7 +1246,9 @@ msgstr "계정 생성 실패"
msgid "Failed to create backup"
msgstr "백업 생성 실패"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/components/settings/backup-section.tsx
#: apps/web/src/lib/error-messages.ts
msgid "Failed to delete backup"
msgstr "백업 삭제 실패"
@@ -1225,6 +1257,11 @@ msgstr "백업 삭제 실패"
msgid "Failed to disconnect {label}"
msgstr "{label} 연결 해제 실패"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Failed to export data"
msgstr ""
#: apps/web/src/components/settings/backup-schedule-section.tsx
msgid "Failed to load backup schedule settings"
msgstr "백업 일정 설정을 불러오지 못했습니다"
@@ -1358,11 +1395,14 @@ msgid "Failed to update scheduled backup setting"
msgstr "예약 백업 설정 업데이트 실패"
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#: apps/web/src/components/settings/streaming-services-section.tsx
#: apps/web/src/components/settings/update-check-section.tsx
#: apps/web/src/routes/_app/onboarding.tsx
msgid "Failed to update setting"
msgstr "설정 업데이트 실패"
#: apps/native/src/hooks/use-title-actions.ts
#: apps/web/src/components/title-card.tsx
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Failed to update status"
msgstr "상태 업데이트 실패"
@@ -1571,6 +1611,11 @@ msgstr "가져오기가 백그라운드에서 계속 실행 중입니다. 나중
msgid "Import options"
msgstr "가져오기 옵션"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Import payload is too large"
msgstr ""
#: apps/web/src/components/settings/account-section.tsx
msgid "Import Sofa data"
msgstr "Sofa 데이터 가져오기"
@@ -1627,11 +1672,26 @@ msgstr "Jellyfin 플러그인 카탈로그에서 <0>Webhook 플러그인<1/></0>
msgid "Install the Webhook plugin from Jellyfin's plugin catalog"
msgstr "Jellyfin 플러그인 카탈로그에서 Webhook 플러그인을 설치하세요"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Integration not found"
msgstr ""
#: apps/native/src/components/settings/integrations-section.tsx
#: apps/web/src/routes/_app/settings.tsx
msgid "Integrations"
msgstr "통합"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Invalid email or password"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Invalid import file"
msgstr ""
#: apps/web/src/components/settings/system-health-section.tsx
msgid "Invalid token"
msgstr "유효하지 않은 토큰"
@@ -1648,6 +1708,11 @@ msgstr "일본어"
msgid "Job"
msgstr "작업"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Job not found"
msgstr ""
#: apps/web/src/components/settings/backup-schedule-section.tsx
msgid "Keeping"
msgstr "유지 중"
@@ -2231,6 +2296,16 @@ msgstr "비밀번호"
msgid "Password is required"
msgstr "비밀번호를 입력해주세요"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Password is too long"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Password is too short"
msgstr ""
#: apps/native/src/app/change-password.tsx
msgid "Password must be at least 8 characters"
msgstr "비밀번호는 최소 8자 이상이어야 합니다"
@@ -2269,6 +2344,8 @@ msgid "Person"
msgstr "인물"
#: apps/native/src/app/person/[id].tsx
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
#: apps/web/src/routes/_app/people.$id.tsx
msgid "Person not found"
msgstr "인물을 찾을 수 없습니다"
@@ -2548,6 +2625,11 @@ msgstr "회원가입 비활성화됨"
msgid "Registration failed"
msgstr "회원가입 실패"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Registration is currently closed"
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#: apps/web/src/components/settings/registration-section.tsx
msgid "Registration opened"
@@ -2832,6 +2914,10 @@ msgstr "자체 호스팅 영화 & TV 트래커"
msgid "Server"
msgstr "서버"
#: apps/native/src/app/(auth)/server-url.tsx
msgid "Server found but reporting an issue. Try again in a moment."
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Server Health"
msgstr "서버 상태"
@@ -2972,9 +3058,11 @@ msgstr "시청을 완료하면 Sofa가 자동으로 영화와 에피소드를
#: apps/native/src/app/change-password.tsx
#: apps/native/src/app/person/[id].tsx
#: apps/native/src/app/title/[id].tsx
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/components/auth-form.tsx
#: apps/web/src/components/route-error.tsx
#: apps/web/src/components/settings/account-section.tsx
#: apps/web/src/lib/error-messages.ts
#: apps/web/src/routes/__root.tsx
msgid "Something went wrong"
msgstr "오류가 발생했습니다"
@@ -3079,6 +3167,10 @@ msgstr "{name}(으)로 전환"
msgid "Takes effect after restarting the app"
msgstr "앱을 다시 시작하면 적용됩니다"
#: apps/native/src/app/(auth)/server-url.tsx
msgid "That URL doesn't look right. Include the full server address."
msgstr ""
#: apps/native/src/app/+not-found.tsx
msgid "The page you're looking for doesn't exist."
msgstr "찾으시는 페이지가 존재하지 않습니다."
@@ -3095,6 +3187,15 @@ msgstr "찾으시는 타이틀이 존재하지 않거나 데이터베이스에
msgid "then"
msgstr "그 다음"
#: apps/native/src/app/(auth)/server-url.tsx
msgid "This doesn't appear to be a Sofa server. Double-check the URL."
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "This import cannot be cancelled"
msgstr ""
#: apps/web/src/components/settings/account-section.tsx
#: apps/web/src/components/settings/imports-section.tsx
msgid "This may take a few minutes for large libraries. Please don't close this tab."
@@ -3198,6 +3299,8 @@ msgid "Title A-Z"
msgstr "제목 A-Z"
#: apps/native/src/app/title/[id].tsx
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
#: apps/web/src/routes/_app/titles.$id.tsx
msgid "Title not found"
msgstr "타이틀을 찾을 수 없습니다"
@@ -3217,6 +3320,11 @@ msgstr "Sofa 관심 목록의 타이틀은 Radarr가 이 목록을 폴링할 때
msgid "Titles on your Sofa watchlist will be automatically added for download when Sonarr polls this list (every 6 hours by default)"
msgstr "Sofa 관심 목록의 타이틀은 Sonarr가 이 목록을 폴링할 때(기본값: 6시간마다) 자동으로 다운로드에 추가됩니다"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "TMDB API key is not configured"
msgstr ""
#: apps/native/src/components/library/sort-menu.tsx
#: apps/web/src/components/library/library-toolbar.tsx
msgid "TMDB Rating"
@@ -3262,6 +3370,11 @@ msgstr "사이드바 토글"
msgid "Tomorrow"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Too many attempts. Wait a moment and try again."
msgstr ""
#: apps/web/src/components/landing-page.tsx
msgid "Track what you watch. Know what's next.<0/>Your library, your data, your rules."
msgstr "시청하는 것을 기록하세요. 다음이 무엇인지 알 수 있습니다.<0/>내 라이브러리, 내 데이터, 내 규칙."
+115 -2
View File
@@ -410,6 +410,16 @@ msgstr "Al een account? Aanmelden"
msgid "Also available on"
msgstr "Ook beschikbaar op"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "An account with this email already exists"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "An import is already in progress"
msgstr ""
#: apps/web/src/components/route-error.tsx
#: apps/web/src/routes/__root.tsx
msgid "An unexpected error occurred while loading this page. You can try again or head back to the dashboard."
@@ -512,6 +522,16 @@ msgstr "Back-up aangemaakt"
msgid "Backup deleted"
msgstr "Back-up verwijderd"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Backup not found"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Backup restoration failed"
msgstr ""
#: apps/web/src/components/settings/backup-schedule-section.tsx
msgid "Backup schedule"
msgstr "Back-upschema"
@@ -784,6 +804,10 @@ msgstr "Verbinden..."
msgid "Connecting…"
msgstr "Verbinden…"
#: apps/native/src/app/(auth)/server-url.tsx
msgid "Connection timed out. The server might be down or unreachable."
msgstr ""
#: apps/web/src/components/library/library-filters.tsx
msgid "Content rating"
msgstr "Leeftijdsclassificatie"
@@ -833,6 +857,10 @@ msgstr "Kon titeldetails niet laden"
msgid "Could not load your library"
msgstr "Kon je bibliotheek niet laden"
#: apps/native/src/app/(auth)/server-url.tsx
msgid "Could not reach the server. Check your connection and the URL."
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Crash reporting"
msgstr "Crashrapportage"
@@ -1067,6 +1095,8 @@ msgstr "Engels"
#: apps/native/src/app/(auth)/login.tsx
#: apps/native/src/app/(auth)/register.tsx
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Enter a valid email address"
msgstr "Voer een geldig e-mailadres in"
@@ -1200,8 +1230,8 @@ msgid "Failed to change password"
msgstr "Wachtwoord wijzigen mislukt"
#: apps/web/src/components/settings/imports-section.tsx
msgid "Failed to connect"
msgstr "Verbinden mislukt"
#~ msgid "Failed to connect"
#~ msgstr "Verbinden mislukt"
#: apps/native/src/components/settings/integration-card.tsx
#: apps/web/src/components/settings/integration-card.tsx
@@ -1216,7 +1246,9 @@ msgstr "Account aanmaken mislukt"
msgid "Failed to create backup"
msgstr "Back-up aanmaken mislukt"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/components/settings/backup-section.tsx
#: apps/web/src/lib/error-messages.ts
msgid "Failed to delete backup"
msgstr "Back-up verwijderen mislukt"
@@ -1225,6 +1257,11 @@ msgstr "Back-up verwijderen mislukt"
msgid "Failed to disconnect {label}"
msgstr "{label} loskoppelen mislukt"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Failed to export data"
msgstr ""
#: apps/web/src/components/settings/backup-schedule-section.tsx
msgid "Failed to load backup schedule settings"
msgstr "Kon instellingen voor back-upplanning niet laden"
@@ -1358,11 +1395,14 @@ msgid "Failed to update scheduled backup setting"
msgstr "Instelling voor geplande back-up bijwerken mislukt"
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#: apps/web/src/components/settings/streaming-services-section.tsx
#: apps/web/src/components/settings/update-check-section.tsx
#: apps/web/src/routes/_app/onboarding.tsx
msgid "Failed to update setting"
msgstr "Instelling bijwerken mislukt"
#: apps/native/src/hooks/use-title-actions.ts
#: apps/web/src/components/title-card.tsx
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Failed to update status"
msgstr "Status bijwerken mislukt"
@@ -1571,6 +1611,11 @@ msgstr "Importeren loopt nog op de achtergrond. Controleer het later."
msgid "Import options"
msgstr "Importopties"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Import payload is too large"
msgstr ""
#: apps/web/src/components/settings/account-section.tsx
msgid "Import Sofa data"
msgstr "Sofa-gegevens importeren"
@@ -1627,11 +1672,26 @@ msgstr "Installeer de <0>Webhook-plugin<1/></0> uit de plugincatalogus van Jelly
msgid "Install the Webhook plugin from Jellyfin's plugin catalog"
msgstr "Installeer de Webhook-plugin uit de plugincatalogus van Jellyfin"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Integration not found"
msgstr ""
#: apps/native/src/components/settings/integrations-section.tsx
#: apps/web/src/routes/_app/settings.tsx
msgid "Integrations"
msgstr "Integraties"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Invalid email or password"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Invalid import file"
msgstr ""
#: apps/web/src/components/settings/system-health-section.tsx
msgid "Invalid token"
msgstr "Ongeldig token"
@@ -1648,6 +1708,11 @@ msgstr "Japans"
msgid "Job"
msgstr "Taak"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Job not found"
msgstr ""
#: apps/web/src/components/settings/backup-schedule-section.tsx
msgid "Keeping"
msgstr "Bewaren"
@@ -2231,6 +2296,16 @@ msgstr "Wachtwoord"
msgid "Password is required"
msgstr "Wachtwoord is vereist"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Password is too long"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Password is too short"
msgstr ""
#: apps/native/src/app/change-password.tsx
msgid "Password must be at least 8 characters"
msgstr "Wachtwoord moet minimaal 8 tekens bevatten"
@@ -2269,6 +2344,8 @@ msgid "Person"
msgstr "Persoon"
#: apps/native/src/app/person/[id].tsx
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
#: apps/web/src/routes/_app/people.$id.tsx
msgid "Person not found"
msgstr "Persoon niet gevonden"
@@ -2548,6 +2625,11 @@ msgstr "Registratie gesloten"
msgid "Registration failed"
msgstr "Registratie mislukt"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Registration is currently closed"
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#: apps/web/src/components/settings/registration-section.tsx
msgid "Registration opened"
@@ -2832,6 +2914,10 @@ msgstr "Zelfgehoste film- & tv-tracker"
msgid "Server"
msgstr ""
#: apps/native/src/app/(auth)/server-url.tsx
msgid "Server found but reporting an issue. Try again in a moment."
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Server Health"
msgstr "Serverstatus"
@@ -2972,9 +3058,11 @@ msgstr "Sofa registreert automatisch films en afleveringen wanneer je klaar bent
#: apps/native/src/app/change-password.tsx
#: apps/native/src/app/person/[id].tsx
#: apps/native/src/app/title/[id].tsx
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/components/auth-form.tsx
#: apps/web/src/components/route-error.tsx
#: apps/web/src/components/settings/account-section.tsx
#: apps/web/src/lib/error-messages.ts
#: apps/web/src/routes/__root.tsx
msgid "Something went wrong"
msgstr "Er is iets misgegaan"
@@ -3079,6 +3167,10 @@ msgstr "Overschakelen naar {name}"
msgid "Takes effect after restarting the app"
msgstr "Van kracht na het herstarten van de app"
#: apps/native/src/app/(auth)/server-url.tsx
msgid "That URL doesn't look right. Include the full server address."
msgstr ""
#: apps/native/src/app/+not-found.tsx
msgid "The page you're looking for doesn't exist."
msgstr "De pagina die je zoekt bestaat niet."
@@ -3095,6 +3187,15 @@ msgstr "De titel die je zoekt bestaat niet of is mogelijk verwijderd uit de data
msgid "then"
msgstr "dan"
#: apps/native/src/app/(auth)/server-url.tsx
msgid "This doesn't appear to be a Sofa server. Double-check the URL."
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "This import cannot be cancelled"
msgstr ""
#: apps/web/src/components/settings/account-section.tsx
#: apps/web/src/components/settings/imports-section.tsx
msgid "This may take a few minutes for large libraries. Please don't close this tab."
@@ -3198,6 +3299,8 @@ msgid "Title A-Z"
msgstr "Titel A-Z"
#: apps/native/src/app/title/[id].tsx
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
#: apps/web/src/routes/_app/titles.$id.tsx
msgid "Title not found"
msgstr "Titel niet gevonden"
@@ -3217,6 +3320,11 @@ msgstr "Titels op je Sofa-watchlist worden automatisch toegevoegd voor download
msgid "Titles on your Sofa watchlist will be automatically added for download when Sonarr polls this list (every 6 hours by default)"
msgstr "Titels op je Sofa-watchlist worden automatisch toegevoegd voor download wanneer Sonarr deze lijst opvraagt (standaard elke 6 uur)"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "TMDB API key is not configured"
msgstr ""
#: apps/native/src/components/library/sort-menu.tsx
#: apps/web/src/components/library/library-toolbar.tsx
msgid "TMDB Rating"
@@ -3262,6 +3370,11 @@ msgstr "Zijbalk in-/uitschakelen"
msgid "Tomorrow"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Too many attempts. Wait a moment and try again."
msgstr ""
#: apps/web/src/components/landing-page.tsx
msgid "Track what you watch. Know what's next.<0/>Your library, your data, your rules."
msgstr "Houd bij wat je kijkt. Weet wat er volgt.<0/>Jouw bibliotheek, jouw data, jouw regels."
+115 -2
View File
@@ -410,6 +410,16 @@ msgstr "Já tem uma conta? Entrar"
msgid "Also available on"
msgstr "Também disponível em"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "An account with this email already exists"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "An import is already in progress"
msgstr ""
#: apps/web/src/components/route-error.tsx
#: apps/web/src/routes/__root.tsx
msgid "An unexpected error occurred while loading this page. You can try again or head back to the dashboard."
@@ -512,6 +522,16 @@ msgstr "Backup criado"
msgid "Backup deleted"
msgstr "Backup excluído"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Backup not found"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Backup restoration failed"
msgstr ""
#: apps/web/src/components/settings/backup-schedule-section.tsx
msgid "Backup schedule"
msgstr "Agendamento de backup"
@@ -784,6 +804,10 @@ msgstr "Conectando..."
msgid "Connecting…"
msgstr "Conectando…"
#: apps/native/src/app/(auth)/server-url.tsx
msgid "Connection timed out. The server might be down or unreachable."
msgstr ""
#: apps/web/src/components/library/library-filters.tsx
msgid "Content rating"
msgstr "Classificação etária"
@@ -833,6 +857,10 @@ msgstr "Não foi possível carregar os detalhes do título"
msgid "Could not load your library"
msgstr "Não foi possível carregar a sua biblioteca"
#: apps/native/src/app/(auth)/server-url.tsx
msgid "Could not reach the server. Check your connection and the URL."
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Crash reporting"
msgstr "Relatório de falhas"
@@ -1067,6 +1095,8 @@ msgstr "Inglês"
#: apps/native/src/app/(auth)/login.tsx
#: apps/native/src/app/(auth)/register.tsx
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Enter a valid email address"
msgstr "Introduza um endereço de email válido"
@@ -1200,8 +1230,8 @@ msgid "Failed to change password"
msgstr "Falha ao alterar senha"
#: apps/web/src/components/settings/imports-section.tsx
msgid "Failed to connect"
msgstr "Falha ao conectar"
#~ msgid "Failed to connect"
#~ msgstr "Falha ao conectar"
#: apps/native/src/components/settings/integration-card.tsx
#: apps/web/src/components/settings/integration-card.tsx
@@ -1216,7 +1246,9 @@ msgstr "Falha ao criar conta"
msgid "Failed to create backup"
msgstr "Falha ao criar backup"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/components/settings/backup-section.tsx
#: apps/web/src/lib/error-messages.ts
msgid "Failed to delete backup"
msgstr "Falha ao excluir backup"
@@ -1225,6 +1257,11 @@ msgstr "Falha ao excluir backup"
msgid "Failed to disconnect {label}"
msgstr "Falha ao desconectar {label}"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Failed to export data"
msgstr ""
#: apps/web/src/components/settings/backup-schedule-section.tsx
msgid "Failed to load backup schedule settings"
msgstr "Falha ao carregar as definições de agendamento de backup"
@@ -1358,11 +1395,14 @@ msgid "Failed to update scheduled backup setting"
msgstr "Falha ao atualizar configuração de backup agendado"
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#: apps/web/src/components/settings/streaming-services-section.tsx
#: apps/web/src/components/settings/update-check-section.tsx
#: apps/web/src/routes/_app/onboarding.tsx
msgid "Failed to update setting"
msgstr "Falha ao atualizar configuração"
#: apps/native/src/hooks/use-title-actions.ts
#: apps/web/src/components/title-card.tsx
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Failed to update status"
msgstr "Falha ao atualizar status"
@@ -1571,6 +1611,11 @@ msgstr "A importação ainda está em andamento em segundo plano. Verifique mais
msgid "Import options"
msgstr "Opções de importação"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Import payload is too large"
msgstr ""
#: apps/web/src/components/settings/account-section.tsx
msgid "Import Sofa data"
msgstr "Importar dados do Sofa"
@@ -1627,11 +1672,26 @@ msgstr "Instale o <0>plugin Webhook<1/></0> do catálogo de plugins do Jellyfin"
msgid "Install the Webhook plugin from Jellyfin's plugin catalog"
msgstr "Instale o plugin Webhook do catálogo de plugins do Jellyfin"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Integration not found"
msgstr ""
#: apps/native/src/components/settings/integrations-section.tsx
#: apps/web/src/routes/_app/settings.tsx
msgid "Integrations"
msgstr "Integrações"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Invalid email or password"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Invalid import file"
msgstr ""
#: apps/web/src/components/settings/system-health-section.tsx
msgid "Invalid token"
msgstr "Token inválido"
@@ -1648,6 +1708,11 @@ msgstr "Japonês"
msgid "Job"
msgstr "Tarefa"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Job not found"
msgstr ""
#: apps/web/src/components/settings/backup-schedule-section.tsx
msgid "Keeping"
msgstr "A manter"
@@ -2231,6 +2296,16 @@ msgstr "Senha"
msgid "Password is required"
msgstr "A palavra-passe é obrigatória"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Password is too long"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Password is too short"
msgstr ""
#: apps/native/src/app/change-password.tsx
msgid "Password must be at least 8 characters"
msgstr "A palavra-passe deve ter pelo menos 8 caracteres"
@@ -2269,6 +2344,8 @@ msgid "Person"
msgstr "Pessoa"
#: apps/native/src/app/person/[id].tsx
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
#: apps/web/src/routes/_app/people.$id.tsx
msgid "Person not found"
msgstr "Pessoa não encontrada"
@@ -2548,6 +2625,11 @@ msgstr "Registro Fechado"
msgid "Registration failed"
msgstr "Falha no registo"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Registration is currently closed"
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#: apps/web/src/components/settings/registration-section.tsx
msgid "Registration opened"
@@ -2832,6 +2914,10 @@ msgstr "Rastreador de filmes e séries auto-hospedado"
msgid "Server"
msgstr "Servidor"
#: apps/native/src/app/(auth)/server-url.tsx
msgid "Server found but reporting an issue. Try again in a moment."
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Server Health"
msgstr "Saúde do Servidor"
@@ -2972,9 +3058,11 @@ msgstr "O Sofa registrará automaticamente filmes e episódios quando você term
#: apps/native/src/app/change-password.tsx
#: apps/native/src/app/person/[id].tsx
#: apps/native/src/app/title/[id].tsx
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/components/auth-form.tsx
#: apps/web/src/components/route-error.tsx
#: apps/web/src/components/settings/account-section.tsx
#: apps/web/src/lib/error-messages.ts
#: apps/web/src/routes/__root.tsx
msgid "Something went wrong"
msgstr "Algo deu errado"
@@ -3079,6 +3167,10 @@ msgstr "Mudar para {name}"
msgid "Takes effect after restarting the app"
msgstr "Entra em vigor após reiniciar a aplicação"
#: apps/native/src/app/(auth)/server-url.tsx
msgid "That URL doesn't look right. Include the full server address."
msgstr ""
#: apps/native/src/app/+not-found.tsx
msgid "The page you're looking for doesn't exist."
msgstr "A página que você está procurando não existe."
@@ -3095,6 +3187,15 @@ msgstr "O título que você está procurando não existe ou pode ter sido removi
msgid "then"
msgstr "depois"
#: apps/native/src/app/(auth)/server-url.tsx
msgid "This doesn't appear to be a Sofa server. Double-check the URL."
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "This import cannot be cancelled"
msgstr ""
#: apps/web/src/components/settings/account-section.tsx
#: apps/web/src/components/settings/imports-section.tsx
msgid "This may take a few minutes for large libraries. Please don't close this tab."
@@ -3198,6 +3299,8 @@ msgid "Title A-Z"
msgstr "Título A-Z"
#: apps/native/src/app/title/[id].tsx
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
#: apps/web/src/routes/_app/titles.$id.tsx
msgid "Title not found"
msgstr "Título não encontrado"
@@ -3217,6 +3320,11 @@ msgstr "Os títulos na sua lista de desejos do Sofa serão automaticamente adici
msgid "Titles on your Sofa watchlist will be automatically added for download when Sonarr polls this list (every 6 hours by default)"
msgstr "Os títulos na sua lista de desejos do Sofa serão automaticamente adicionados para download quando o Sonarr verificar esta lista (a cada 6 horas por padrão)"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "TMDB API key is not configured"
msgstr ""
#: apps/native/src/components/library/sort-menu.tsx
#: apps/web/src/components/library/library-toolbar.tsx
msgid "TMDB Rating"
@@ -3262,6 +3370,11 @@ msgstr "Alternar barra lateral"
msgid "Tomorrow"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Too many attempts. Wait a moment and try again."
msgstr ""
#: apps/web/src/components/landing-page.tsx
msgid "Track what you watch. Know what's next.<0/>Your library, your data, your rules."
msgstr "Acompanhe o que você assiste. Saiba o que vem a seguir.<0/>Sua biblioteca, seus dados, suas regras."
+115 -2
View File
@@ -410,6 +410,16 @@ msgstr "已有账户?立即登录"
msgid "Also available on"
msgstr "同样在以下平台可用"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "An account with this email already exists"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "An import is already in progress"
msgstr ""
#: apps/web/src/components/route-error.tsx
#: apps/web/src/routes/__root.tsx
msgid "An unexpected error occurred while loading this page. You can try again or head back to the dashboard."
@@ -512,6 +522,16 @@ msgstr "备份已创建"
msgid "Backup deleted"
msgstr "备份已删除"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Backup not found"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Backup restoration failed"
msgstr ""
#: apps/web/src/components/settings/backup-schedule-section.tsx
msgid "Backup schedule"
msgstr "备份计划"
@@ -784,6 +804,10 @@ msgstr "连接中..."
msgid "Connecting…"
msgstr "连接中…"
#: apps/native/src/app/(auth)/server-url.tsx
msgid "Connection timed out. The server might be down or unreachable."
msgstr ""
#: apps/web/src/components/library/library-filters.tsx
msgid "Content rating"
msgstr "内容分级"
@@ -833,6 +857,10 @@ msgstr "无法加载标题详情"
msgid "Could not load your library"
msgstr "无法加载您的媒体库"
#: apps/native/src/app/(auth)/server-url.tsx
msgid "Could not reach the server. Check your connection and the URL."
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Crash reporting"
msgstr "崩溃报告"
@@ -1067,6 +1095,8 @@ msgstr "英文"
#: apps/native/src/app/(auth)/login.tsx
#: apps/native/src/app/(auth)/register.tsx
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Enter a valid email address"
msgstr "请输入有效的电子邮件地址"
@@ -1200,8 +1230,8 @@ msgid "Failed to change password"
msgstr "修改密码失败"
#: apps/web/src/components/settings/imports-section.tsx
msgid "Failed to connect"
msgstr "连接失败"
#~ msgid "Failed to connect"
#~ msgstr "连接失败"
#: apps/native/src/components/settings/integration-card.tsx
#: apps/web/src/components/settings/integration-card.tsx
@@ -1216,7 +1246,9 @@ msgstr "创建账户失败"
msgid "Failed to create backup"
msgstr "创建备份失败"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/components/settings/backup-section.tsx
#: apps/web/src/lib/error-messages.ts
msgid "Failed to delete backup"
msgstr "删除备份失败"
@@ -1225,6 +1257,11 @@ msgstr "删除备份失败"
msgid "Failed to disconnect {label}"
msgstr "断开 {label} 连接失败"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Failed to export data"
msgstr ""
#: apps/web/src/components/settings/backup-schedule-section.tsx
msgid "Failed to load backup schedule settings"
msgstr "加载备份计划设置失败"
@@ -1358,11 +1395,14 @@ msgid "Failed to update scheduled backup setting"
msgstr "更新定时备份设置失败"
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#: apps/web/src/components/settings/streaming-services-section.tsx
#: apps/web/src/components/settings/update-check-section.tsx
#: apps/web/src/routes/_app/onboarding.tsx
msgid "Failed to update setting"
msgstr "更新设置失败"
#: apps/native/src/hooks/use-title-actions.ts
#: apps/web/src/components/title-card.tsx
#: apps/web/src/components/titles/use-title-actions.ts
msgid "Failed to update status"
msgstr "更新状态失败"
@@ -1571,6 +1611,11 @@ msgstr "导入仍在后台运行,请稍后再来查看。"
msgid "Import options"
msgstr "导入选项"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Import payload is too large"
msgstr ""
#: apps/web/src/components/settings/account-section.tsx
msgid "Import Sofa data"
msgstr "导入 Sofa 数据"
@@ -1627,11 +1672,26 @@ msgstr "从 Jellyfin 的插件目录安装 <0>Webhook 插件<1/></0>"
msgid "Install the Webhook plugin from Jellyfin's plugin catalog"
msgstr "从 Jellyfin 的插件目录安装 Webhook 插件"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Integration not found"
msgstr ""
#: apps/native/src/components/settings/integrations-section.tsx
#: apps/web/src/routes/_app/settings.tsx
msgid "Integrations"
msgstr "集成"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Invalid email or password"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Invalid import file"
msgstr ""
#: apps/web/src/components/settings/system-health-section.tsx
msgid "Invalid token"
msgstr "无效令牌"
@@ -1648,6 +1708,11 @@ msgstr "日语"
msgid "Job"
msgstr "任务"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Job not found"
msgstr ""
#: apps/web/src/components/settings/backup-schedule-section.tsx
msgid "Keeping"
msgstr "保留"
@@ -2231,6 +2296,16 @@ msgstr "密码"
msgid "Password is required"
msgstr "密码不能为空"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Password is too long"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Password is too short"
msgstr ""
#: apps/native/src/app/change-password.tsx
msgid "Password must be at least 8 characters"
msgstr "密码至少需要 8 个字符"
@@ -2269,6 +2344,8 @@ msgid "Person"
msgstr "人物"
#: apps/native/src/app/person/[id].tsx
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
#: apps/web/src/routes/_app/people.$id.tsx
msgid "Person not found"
msgstr "未找到该人物"
@@ -2548,6 +2625,11 @@ msgstr "注册已关闭"
msgid "Registration failed"
msgstr "注册失败"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Registration is currently closed"
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
#: apps/web/src/components/settings/registration-section.tsx
msgid "Registration opened"
@@ -2832,6 +2914,10 @@ msgstr "自托管电影和电视剧追踪器"
msgid "Server"
msgstr "服务器"
#: apps/native/src/app/(auth)/server-url.tsx
msgid "Server found but reporting an issue. Try again in a moment."
msgstr ""
#: apps/native/src/app/(tabs)/(settings)/index.tsx
msgid "Server Health"
msgstr "服务器健康状态"
@@ -2972,9 +3058,11 @@ msgstr "当您看完电影或剧集时,Sofa 将自动记录"
#: apps/native/src/app/change-password.tsx
#: apps/native/src/app/person/[id].tsx
#: apps/native/src/app/title/[id].tsx
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/components/auth-form.tsx
#: apps/web/src/components/route-error.tsx
#: apps/web/src/components/settings/account-section.tsx
#: apps/web/src/lib/error-messages.ts
#: apps/web/src/routes/__root.tsx
msgid "Something went wrong"
msgstr "出现错误"
@@ -3079,6 +3167,10 @@ msgstr "切换到 {name}"
msgid "Takes effect after restarting the app"
msgstr "重启应用后生效"
#: apps/native/src/app/(auth)/server-url.tsx
msgid "That URL doesn't look right. Include the full server address."
msgstr ""
#: apps/native/src/app/+not-found.tsx
msgid "The page you're looking for doesn't exist."
msgstr "您访问的页面不存在。"
@@ -3095,6 +3187,15 @@ msgstr "您查找的内容不存在,或已从数据库中删除。"
msgid "then"
msgstr "然后"
#: apps/native/src/app/(auth)/server-url.tsx
msgid "This doesn't appear to be a Sofa server. Double-check the URL."
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "This import cannot be cancelled"
msgstr ""
#: apps/web/src/components/settings/account-section.tsx
#: apps/web/src/components/settings/imports-section.tsx
msgid "This may take a few minutes for large libraries. Please don't close this tab."
@@ -3198,6 +3299,8 @@ msgid "Title A-Z"
msgstr "标题 A-Z"
#: apps/native/src/app/title/[id].tsx
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
#: apps/web/src/routes/_app/titles.$id.tsx
msgid "Title not found"
msgstr "未找到内容"
@@ -3217,6 +3320,11 @@ msgstr "您 Sofa 待看列表中的内容将在 Radarr 轮询此列表时自动
msgid "Titles on your Sofa watchlist will be automatically added for download when Sonarr polls this list (every 6 hours by default)"
msgstr "您 Sofa 待看列表中的内容将在 Sonarr 轮询此列表时自动添加到下载队列(默认每 6 小时一次)"
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "TMDB API key is not configured"
msgstr ""
#: apps/native/src/components/library/sort-menu.tsx
#: apps/web/src/components/library/library-toolbar.tsx
msgid "TMDB Rating"
@@ -3262,6 +3370,11 @@ msgstr "切换侧边栏"
msgid "Tomorrow"
msgstr ""
#: apps/native/src/lib/error-messages.ts
#: apps/web/src/lib/error-messages.ts
msgid "Too many attempts. Wait a moment and try again."
msgstr ""
#: apps/web/src/components/landing-page.tsx
msgid "Track what you watch. Know what's next.<0/>Your library, your data, your rules."
msgstr "记录您的观看。掌握下一步。<0/>您的媒体库,您的数据,您的规则。"