mirror of
https://github.com/jakejarvis/sofa.git
synced 2026-10-16 06:25:42 -04:00
refactor: consolidate watchlist states (#18)
- Rename `watchlist` → `in_watchlist` and `in_progress` → `watching` across the full stack (DB migration, Drizzle schema, core services, API contract, web, native) - Add a new `caught_up` status for TV shows where all aired episodes are watched but the show is still airing - Add `titles.watchAll` procedure and `markAllWatched` action to mark every episode of a TV show as watched in one step; replace the old "Mark as Watching" / "Mark as Completed" context-menu actions with "Mark All Watched" (TV) and "Mark as Watched" (movie) - Extract `display-status.ts` in `@sofa/api` to share status → display label/color logic between web and native - Add `getDisplayStatusesByTitleIds` to `@sofa/core/tracking` and wire it into the dashboard library feed so clients receive resolved display statuses - Show a destructive Alert confirmation before removing a title from the library (native) - Remove "Mark as Completed" from the continue-watching card context menu - Update i18n catalogs for all 6 locales (de, en, es, fr, it, pt)
This commit is contained in:
49 files changed
+4889
-1309
No files matched your search
@@ -7,7 +7,8 @@
|
||||
"./contract": "./src/contract.ts",
|
||||
"./schemas": "./src/schemas.ts",
|
||||
"./errors": "./src/errors.ts",
|
||||
"./utils": "./src/utils.ts"
|
||||
"./utils": "./src/utils.ts",
|
||||
"./display-status": "./src/display-status.ts"
|
||||
},
|
||||
"scripts": {
|
||||
"lint": "oxlint",
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
export type StoredStatus = "watchlist" | "in_progress" | "completed";
|
||||
|
||||
export type DisplayStatus = "in_watchlist" | "watching" | "caught_up" | "completed";
|
||||
|
||||
export const ONGOING_TMDB_STATUSES = ["Returning Series", "In Production"];
|
||||
|
||||
/**
|
||||
* Derive the user-facing display status from stored status + context.
|
||||
*
|
||||
* Movies: watchlist → in_watchlist, completed → completed
|
||||
* TV: watchlist → in_watchlist, in_progress → watching | caught_up | completed
|
||||
*/
|
||||
export function getDisplayStatus(
|
||||
storedStatus: StoredStatus,
|
||||
titleType: "movie" | "tv",
|
||||
tmdbStatus: string | null,
|
||||
episodeProgress: { watched: number; total: number } | null,
|
||||
): DisplayStatus {
|
||||
if (storedStatus === "watchlist") return "in_watchlist";
|
||||
if (titleType === "movie") return storedStatus === "completed" ? "completed" : "in_watchlist";
|
||||
|
||||
// TV with in_progress: derive from episode progress + TMDB show status
|
||||
if (
|
||||
episodeProgress &&
|
||||
episodeProgress.total > 0 &&
|
||||
episodeProgress.watched >= episodeProgress.total
|
||||
) {
|
||||
return ONGOING_TMDB_STATUSES.includes(tmdbStatus ?? "") ? "caught_up" : "completed";
|
||||
}
|
||||
|
||||
return "watching";
|
||||
}
|
||||
+10
-12
@@ -50,13 +50,13 @@ export const UpdateStatusInput = z
|
||||
.object({
|
||||
id: z.string().min(1).describe("Title ID"),
|
||||
status: z
|
||||
.enum(["in_progress", "completed"])
|
||||
.enum(["watchlist"])
|
||||
.nullable()
|
||||
.describe(
|
||||
"Tracking status: in_progress (currently watching), completed (finished), or null to remove from library",
|
||||
"Set to watchlist to add to library, or null to remove. Other transitions happen via watch endpoints.",
|
||||
),
|
||||
})
|
||||
.meta({ description: "Update the user's tracking status for a title" });
|
||||
.meta({ description: "Add a title to the user's watchlist or remove from library" });
|
||||
|
||||
export const UpdateRatingInput = z
|
||||
.object({
|
||||
@@ -391,9 +391,11 @@ export const RecommendationItemSchema = z
|
||||
})
|
||||
.meta({ description: "A recommended title" });
|
||||
|
||||
const displayStatusEnum = z.enum(["in_watchlist", "watching", "caught_up", "completed"]);
|
||||
|
||||
const userStatusMap = z
|
||||
.record(z.string(), z.enum(["watchlist", "in_progress", "completed"]))
|
||||
.describe("Map of title ID to the user's tracking status");
|
||||
.record(z.string(), displayStatusEnum)
|
||||
.describe("Map of title ID to the user's display status");
|
||||
const episodeProgressMap = z
|
||||
.record(z.string(), z.object({ watched: z.number(), total: z.number() }))
|
||||
.describe("Map of title ID to episode watch progress");
|
||||
@@ -425,10 +427,9 @@ export const TitleDetailOutput = z
|
||||
|
||||
export const UserInfoOutput = z
|
||||
.object({
|
||||
status: z
|
||||
.enum(["watchlist", "in_progress", "completed"])
|
||||
status: displayStatusEnum
|
||||
.nullable()
|
||||
.describe("User's tracking status, or null if not in library"),
|
||||
.describe("User's display status, or null if not in library"),
|
||||
rating: z.number().nullable().describe("User's star rating (0-5), or null if unrated"),
|
||||
episodeWatches: z.array(z.string()).describe("IDs of episodes the user has watched"),
|
||||
})
|
||||
@@ -523,10 +524,7 @@ export const LibraryOutput = z
|
||||
releaseDate: z.string().nullable().describe("Release date (ISO 8601)"),
|
||||
firstAirDate: z.string().nullable().describe("First air date (ISO 8601)"),
|
||||
voteAverage: z.number().nullable().describe("Average rating (0-10)"),
|
||||
userStatus: z
|
||||
.enum(["watchlist", "in_progress", "completed"])
|
||||
.nullable()
|
||||
.describe("User's tracking status"),
|
||||
userStatus: displayStatusEnum.nullable().describe("User's display status"),
|
||||
})
|
||||
.meta({ description: "A library item with user status" }),
|
||||
),
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import {
|
||||
getAllTrackedTitleIds,
|
||||
getCompletedTitleIds,
|
||||
getEngagedTitleIds,
|
||||
getEpisodesBySeasonIds,
|
||||
getEpisodeWatchCountSince,
|
||||
getEpisodeWatchesByEpisodeIds,
|
||||
@@ -299,7 +299,7 @@ export { getLibraryFeed } from "@sofa/db/queries/discovery";
|
||||
|
||||
export function getRecommendationsFeed(userId: string) {
|
||||
// Get recommendations from user's highly-rated or completed titles
|
||||
const userCompletedOrRated = getCompletedTitleIds(userId);
|
||||
const userCompletedOrRated = getEngagedTitleIds(userId);
|
||||
|
||||
const ratedIds = getHighlyRatedTitleIds(userId);
|
||||
|
||||
|
||||
@@ -48,7 +48,11 @@ export async function getSonarrList(
|
||||
userId: string,
|
||||
statuses: Status[] = ["watchlist"],
|
||||
): Promise<{ TvdbId: number; Title: string }[]> {
|
||||
const rows = getSonarrShows(userId, statuses);
|
||||
// TV never stores 'completed' — map it to 'in_progress' (completion is derived)
|
||||
const mappedStatuses = [
|
||||
...new Set(statuses.map((s) => (s === "completed" ? "in_progress" : s))),
|
||||
] as Status[];
|
||||
const rows = getSonarrShows(userId, mappedStatuses);
|
||||
|
||||
// Resolve missing TVDB IDs in parallel instead of sequentially
|
||||
const needsResolution = rows.filter((r) => r.tvdbId == null);
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
import type { DisplayStatus } from "@sofa/api/display-status";
|
||||
import { getDisplayStatus } from "@sofa/api/display-status";
|
||||
import { getTitlesByIds } from "@sofa/db/queries/discovery";
|
||||
import { getTitleById } from "@sofa/db/queries/title";
|
||||
import {
|
||||
batchInsertEpisodeWatchesTransaction,
|
||||
@@ -64,19 +67,16 @@ export function logEpisodeWatch(
|
||||
const now = watchedAt ?? new Date();
|
||||
insertEpisodeWatch(userId, episodeId, now, source);
|
||||
|
||||
// Find the title for this episode (single JOIN instead of 2 queries)
|
||||
// Find the title for this episode
|
||||
const titleId = getEpisodeTitleId(episodeId);
|
||||
if (!titleId) return;
|
||||
|
||||
// Auto-set status to in_progress if not set
|
||||
// Auto-set status to in_progress if not set or still on watchlist
|
||||
const existing = getTitleStatus(userId, titleId);
|
||||
|
||||
if (!existing || existing.status === "watchlist") {
|
||||
setTitleStatus(userId, titleId, "in_progress", source);
|
||||
}
|
||||
|
||||
// Check if all episodes are watched -> auto-complete
|
||||
checkAllEpisodesWatched(userId, titleId);
|
||||
}
|
||||
|
||||
export function logEpisodeWatchBatch(
|
||||
@@ -104,33 +104,24 @@ export function markAllEpisodesWatched(
|
||||
|
||||
batchInsertMissingEpisodeWatches(userId, epIds, existingWatches, source, now);
|
||||
|
||||
setTitleStatus(userId, titleId, "completed", source);
|
||||
}
|
||||
|
||||
function checkAllEpisodesWatched(userId: string, titleId: string) {
|
||||
const epIds = getAllEpisodeIdsForTitle(titleId);
|
||||
|
||||
const totalEpisodes = epIds.length;
|
||||
if (totalEpisodes === 0) return;
|
||||
|
||||
const watchCount = countDistinctEpisodeWatches(userId, epIds);
|
||||
|
||||
if (watchCount >= totalEpisodes) {
|
||||
setTitleStatus(userId, titleId, "completed");
|
||||
}
|
||||
// TV never stores 'completed' — set in_progress and let display status derive the rest
|
||||
setTitleStatus(userId, titleId, "in_progress", source);
|
||||
}
|
||||
|
||||
export function unwatchEpisode(userId: string, episodeId: string) {
|
||||
deleteEpisodeWatch(userId, episodeId);
|
||||
|
||||
// Find parent title and downgrade from completed to in_progress
|
||||
const titleId = getEpisodeTitleId(episodeId);
|
||||
if (!titleId) return;
|
||||
|
||||
const existing = getTitleStatus(userId, titleId);
|
||||
if (!existing || existing.status !== "in_progress") return;
|
||||
|
||||
if (existing?.status === "completed") {
|
||||
setTitleStatus(userId, titleId, "in_progress");
|
||||
// If no episodes remain watched, downgrade to watchlist
|
||||
const epIds = getAllEpisodeIdsForTitle(titleId);
|
||||
const watchCount = countDistinctEpisodeWatches(userId, epIds);
|
||||
if (watchCount === 0) {
|
||||
setTitleStatus(userId, titleId, "watchlist");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -142,14 +133,17 @@ export function unwatchSeason(userId: string, seasonId: string) {
|
||||
deleteEpisodeWatches(userId, epIds);
|
||||
}
|
||||
|
||||
// Find parent title and downgrade from completed to in_progress
|
||||
const season = getSeasonById(seasonId);
|
||||
if (!season) return;
|
||||
|
||||
const existing = getTitleStatus(userId, season.titleId);
|
||||
if (!existing || existing.status !== "in_progress") return;
|
||||
|
||||
if (existing?.status === "completed") {
|
||||
setTitleStatus(userId, season.titleId, "in_progress");
|
||||
// If no episodes remain watched, downgrade to watchlist
|
||||
const allEpIds = getAllEpisodeIdsForTitle(season.titleId);
|
||||
const watchCount = countDistinctEpisodeWatches(userId, allEpIds);
|
||||
if (watchCount === 0) {
|
||||
setTitleStatus(userId, season.titleId, "watchlist");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -182,6 +176,46 @@ export function getUserStatusesByTitleIds(
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Derive display statuses for a set of titles.
|
||||
* Resolves stored status + episode progress + TMDB show status into display status.
|
||||
*/
|
||||
export function getDisplayStatusesByTitleIds(
|
||||
userId: string,
|
||||
titleIds: string[],
|
||||
): Record<string, DisplayStatus> {
|
||||
if (titleIds.length === 0) return {};
|
||||
|
||||
const storedStatuses = getUserStatusesByTitleIds(userId, titleIds);
|
||||
const statusEntries = Object.entries(storedStatuses);
|
||||
if (statusEntries.length === 0) return {};
|
||||
|
||||
// Find TV titles with in_progress status that need episode progress resolution
|
||||
const tvInProgressIds = statusEntries
|
||||
.filter(([, status]) => status === "in_progress")
|
||||
.map(([id]) => id);
|
||||
|
||||
// Fetch title data for type + TMDB status
|
||||
const trackedIds = statusEntries.map(([id]) => id);
|
||||
const titles = getTitlesByIds(trackedIds);
|
||||
const titleMap = new Map(titles.map((t) => [t.id, t]));
|
||||
|
||||
// Fetch episode progress for TV in_progress titles
|
||||
const episodeProgress =
|
||||
tvInProgressIds.length > 0 ? getEpisodeProgressByTitleIds(userId, tvInProgressIds) : {};
|
||||
|
||||
const result: Record<string, DisplayStatus> = {};
|
||||
for (const [titleId, storedStatus] of statusEntries) {
|
||||
const title = titleMap.get(titleId);
|
||||
const titleType = (title?.type ?? "movie") as "movie" | "tv";
|
||||
const tmdbStatus = title?.status ?? null;
|
||||
const progress = episodeProgress[titleId] ?? null;
|
||||
|
||||
result[titleId] = getDisplayStatus(storedStatus, titleType, tmdbStatus, progress);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
export function getEpisodeProgressByTitleIds(
|
||||
userId: string,
|
||||
titleIds: string[],
|
||||
|
||||
@@ -193,11 +193,12 @@ describe("getSonarrList", () => {
|
||||
title: "Show B",
|
||||
});
|
||||
insertStatus("user-1", "tv1", "watchlist");
|
||||
insertStatus("user-1", "tv2", "completed");
|
||||
insertStatus("user-1", "tv2", "in_progress");
|
||||
|
||||
const watchlist = await getSonarrList("user-1", ["watchlist"]);
|
||||
expect(watchlist).toEqual([{ TvdbId: 111, Title: "Show A" }]);
|
||||
|
||||
// 'completed' maps to 'in_progress' for TV (completion is derived)
|
||||
const all = await getSonarrList("user-1", ["watchlist", "completed"]);
|
||||
expect(all).toHaveLength(2);
|
||||
});
|
||||
|
||||
@@ -235,7 +235,7 @@ describe("logEpisodeWatch", () => {
|
||||
expect(row?.status).toBe("completed");
|
||||
});
|
||||
|
||||
test("auto-completes when all episodes are watched", () => {
|
||||
test("stays in_progress when all episodes are watched", () => {
|
||||
insertUser();
|
||||
const { titleId, episodeIds } = insertTvShow("tv-1", 99999, 1, 3);
|
||||
|
||||
@@ -248,7 +248,7 @@ describe("logEpisodeWatch", () => {
|
||||
.from(userTitleStatus)
|
||||
.where(and(eq(userTitleStatus.userId, "user-1"), eq(userTitleStatus.titleId, titleId)))
|
||||
.get();
|
||||
expect(row?.status).toBe("completed");
|
||||
expect(row?.status).toBe("in_progress");
|
||||
});
|
||||
});
|
||||
|
||||
@@ -281,7 +281,7 @@ describe("logEpisodeWatchBatch", () => {
|
||||
expect(row?.status).toBe("in_progress");
|
||||
});
|
||||
|
||||
test("auto-completes if batch covers all episodes", () => {
|
||||
test("stays in_progress if batch covers all episodes", () => {
|
||||
insertUser();
|
||||
const { titleId, episodeIds } = insertTvShow("tv-1", 99999, 1, 3);
|
||||
logEpisodeWatchBatch("user-1", episodeIds);
|
||||
@@ -291,7 +291,7 @@ describe("logEpisodeWatchBatch", () => {
|
||||
.from(userTitleStatus)
|
||||
.where(and(eq(userTitleStatus.userId, "user-1"), eq(userTitleStatus.titleId, titleId)))
|
||||
.get();
|
||||
expect(row?.status).toBe("completed");
|
||||
expect(row?.status).toBe("in_progress");
|
||||
});
|
||||
|
||||
test("no-op for empty array", () => {
|
||||
@@ -310,7 +310,7 @@ describe("logEpisodeWatchBatch", () => {
|
||||
// ── markAllEpisodesWatched ──────────────────────────────────────────
|
||||
|
||||
describe("markAllEpisodesWatched", () => {
|
||||
test("marks all episodes as watched and sets completed", () => {
|
||||
test("marks all episodes as watched and sets in_progress", () => {
|
||||
insertUser();
|
||||
const { titleId, episodeIds } = insertTvShow("tv-1", 99999, 1, 3);
|
||||
markAllEpisodesWatched("user-1", titleId);
|
||||
@@ -327,7 +327,7 @@ describe("markAllEpisodesWatched", () => {
|
||||
.from(userTitleStatus)
|
||||
.where(and(eq(userTitleStatus.userId, "user-1"), eq(userTitleStatus.titleId, titleId)))
|
||||
.get();
|
||||
expect(row?.status).toBe("completed");
|
||||
expect(row?.status).toBe("in_progress");
|
||||
});
|
||||
|
||||
test("skips already-watched episodes (no duplicates)", () => {
|
||||
@@ -379,23 +379,15 @@ describe("unwatchEpisode", () => {
|
||||
expect(watches).toHaveLength(0);
|
||||
});
|
||||
|
||||
test("downgrades completed to in_progress", () => {
|
||||
test("keeps in_progress when some episodes remain watched", () => {
|
||||
insertUser();
|
||||
const { titleId, episodeIds } = insertTvShow("tv-1", 99999, 1, 3);
|
||||
markAllEpisodesWatched("user-1", titleId);
|
||||
|
||||
// Verify completed first
|
||||
let row = testDb
|
||||
.select()
|
||||
.from(userTitleStatus)
|
||||
.where(and(eq(userTitleStatus.userId, "user-1"), eq(userTitleStatus.titleId, titleId)))
|
||||
.get();
|
||||
expect(row?.status).toBe("completed");
|
||||
|
||||
// Unwatch one episode
|
||||
// Unwatch one episode — still has 2 watched
|
||||
unwatchEpisode("user-1", episodeIds[0]);
|
||||
|
||||
row = testDb
|
||||
const row = testDb
|
||||
.select()
|
||||
.from(userTitleStatus)
|
||||
.where(and(eq(userTitleStatus.userId, "user-1"), eq(userTitleStatus.titleId, titleId)))
|
||||
@@ -403,7 +395,23 @@ describe("unwatchEpisode", () => {
|
||||
expect(row?.status).toBe("in_progress");
|
||||
});
|
||||
|
||||
test("doesn't change in_progress status", () => {
|
||||
test("downgrades to watchlist when all episodes unwatched", () => {
|
||||
insertUser();
|
||||
const { titleId, episodeIds } = insertTvShow("tv-1", 99999, 1, 3);
|
||||
|
||||
// Watch one episode then unwatch it
|
||||
logEpisodeWatch("user-1", episodeIds[0]);
|
||||
unwatchEpisode("user-1", episodeIds[0]);
|
||||
|
||||
const row = testDb
|
||||
.select()
|
||||
.from(userTitleStatus)
|
||||
.where(and(eq(userTitleStatus.userId, "user-1"), eq(userTitleStatus.titleId, titleId)))
|
||||
.get();
|
||||
expect(row?.status).toBe("watchlist");
|
||||
});
|
||||
|
||||
test("doesn't change in_progress status when episodes remain", () => {
|
||||
insertUser();
|
||||
const { titleId, episodeIds } = insertTvShow("tv-1", 99999, 1, 3);
|
||||
logEpisodeWatch("user-1", episodeIds[0]);
|
||||
@@ -448,30 +456,40 @@ describe("unwatchSeason", () => {
|
||||
expect(watches).toHaveLength(0);
|
||||
});
|
||||
|
||||
test("downgrades completed to in_progress", () => {
|
||||
test("keeps in_progress when other seasons have watches", () => {
|
||||
insertUser();
|
||||
const { titleId } = insertTvShow("tv-1", 99999, 2, 2);
|
||||
|
||||
// Watch all episodes across both seasons
|
||||
markAllEpisodesWatched("user-1", titleId);
|
||||
|
||||
let row = testDb
|
||||
.select()
|
||||
.from(userTitleStatus)
|
||||
.where(and(eq(userTitleStatus.userId, "user-1"), eq(userTitleStatus.titleId, titleId)))
|
||||
.get();
|
||||
expect(row?.status).toBe("completed");
|
||||
|
||||
// Unwatch season 1
|
||||
// Unwatch season 1 — season 2 still has watches
|
||||
unwatchSeason("user-1", "tv-1-s1");
|
||||
|
||||
row = testDb
|
||||
const row = testDb
|
||||
.select()
|
||||
.from(userTitleStatus)
|
||||
.where(and(eq(userTitleStatus.userId, "user-1"), eq(userTitleStatus.titleId, titleId)))
|
||||
.get();
|
||||
expect(row?.status).toBe("in_progress");
|
||||
});
|
||||
|
||||
test("downgrades to watchlist when all episodes unwatched", () => {
|
||||
insertUser();
|
||||
const { titleId } = insertTvShow("tv-1", 99999, 1, 2);
|
||||
|
||||
markAllEpisodesWatched("user-1", titleId);
|
||||
|
||||
// Unwatch the only season — no episodes remain
|
||||
unwatchSeason("user-1", "tv-1-s1");
|
||||
|
||||
const row = testDb
|
||||
.select()
|
||||
.from(userTitleStatus)
|
||||
.where(and(eq(userTitleStatus.userId, "user-1"), eq(userTitleStatus.titleId, titleId)))
|
||||
.get();
|
||||
expect(row?.status).toBe("watchlist");
|
||||
});
|
||||
});
|
||||
|
||||
// ── rateTitleStars ──────────────────────────────────────────────────
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
-- TV shows should never have 'completed' stored — convert to 'in_progress'.
|
||||
-- Display status (caught_up / completed) is now derived at read time from
|
||||
-- episode progress + TMDB show status.
|
||||
UPDATE userTitleStatus SET status = 'in_progress'
|
||||
WHERE status = 'completed'
|
||||
AND titleId IN (SELECT id FROM titles WHERE type = 'tv');
|
||||
--> statement-breakpoint
|
||||
-- Legacy movie rows stored as 'in_progress' (old UI always sent in_progress
|
||||
-- when clicking Watchlist). Convert to 'watchlist' since no watch was logged.
|
||||
UPDATE userTitleStatus SET status = 'watchlist'
|
||||
WHERE status = 'in_progress'
|
||||
AND titleId IN (SELECT id FROM titles WHERE type = 'movie');
|
||||
File diff suppressed because it is too large.
Load diff
@@ -74,12 +74,47 @@ export function getUserStatusCounts(userId: string) {
|
||||
const [row] = db
|
||||
.select({
|
||||
librarySize: sql<number>`count(*)`,
|
||||
completed: sql<number>`sum(case when ${userTitleStatus.status} = 'completed' then 1 else 0 end)`,
|
||||
movieCompleted: sql<number>`sum(case when ${userTitleStatus.status} = 'completed' then 1 else 0 end)`,
|
||||
})
|
||||
.from(userTitleStatus)
|
||||
.where(eq(userTitleStatus.userId, userId))
|
||||
.all();
|
||||
return row;
|
||||
|
||||
// Count TV shows where all aired episodes are watched (caught_up + completed display states)
|
||||
const today = new Date().toISOString().slice(0, 10);
|
||||
const [tvRow] = db
|
||||
.select({ count: sql<number>`count(*)` })
|
||||
.from(userTitleStatus)
|
||||
.innerJoin(titles, eq(titles.id, userTitleStatus.titleId))
|
||||
.where(
|
||||
and(
|
||||
eq(userTitleStatus.userId, userId),
|
||||
eq(userTitleStatus.status, "in_progress"),
|
||||
eq(titles.type, "tv"),
|
||||
sql`(
|
||||
SELECT count(distinct e.id) FROM episodes e
|
||||
INNER JOIN seasons s ON e.seasonId = s.id
|
||||
WHERE s.titleId = ${titles.id} AND e.airDate IS NOT NULL AND e.airDate <= ${today}
|
||||
) > 0`,
|
||||
sql`(
|
||||
SELECT count(distinct e.id) FROM episodes e
|
||||
INNER JOIN seasons s ON e.seasonId = s.id
|
||||
WHERE s.titleId = ${titles.id} AND e.airDate IS NOT NULL AND e.airDate <= ${today}
|
||||
) = (
|
||||
SELECT count(distinct ew.episodeId) FROM userEpisodeWatches ew
|
||||
INNER JOIN episodes e2 ON ew.episodeId = e2.id
|
||||
INNER JOIN seasons s2 ON e2.seasonId = s2.id
|
||||
WHERE s2.titleId = ${titles.id} AND ew.userId = ${userTitleStatus.userId}
|
||||
AND e2.airDate IS NOT NULL AND e2.airDate <= ${today}
|
||||
)`,
|
||||
),
|
||||
)
|
||||
.all();
|
||||
|
||||
return {
|
||||
librarySize: row?.librarySize ?? 0,
|
||||
completed: (row?.movieCompleted ?? 0) + (tvRow?.count ?? 0),
|
||||
};
|
||||
}
|
||||
|
||||
export function getInProgressTitleIds(userId: string) {
|
||||
@@ -212,11 +247,16 @@ export function getLibraryFeed(userId: string, page = 1, limit = 20) {
|
||||
};
|
||||
}
|
||||
|
||||
export function getCompletedTitleIds(userId: string) {
|
||||
export function getEngagedTitleIds(userId: string) {
|
||||
return db
|
||||
.select({ titleId: userTitleStatus.titleId })
|
||||
.from(userTitleStatus)
|
||||
.where(and(eq(userTitleStatus.userId, userId), eq(userTitleStatus.status, "completed")))
|
||||
.where(
|
||||
and(
|
||||
eq(userTitleStatus.userId, userId),
|
||||
sql`${userTitleStatus.status} IN ('completed', 'in_progress')`,
|
||||
),
|
||||
)
|
||||
.all()
|
||||
.map((r) => r.titleId);
|
||||
}
|
||||
|
||||
@@ -74,11 +74,10 @@ export function batchInsertEpisodeWatchesTransaction(
|
||||
episodeIds: string[],
|
||||
source: "manual" | "import" | "plex" | "jellyfin" | "emby",
|
||||
watchedAt?: Date,
|
||||
): { titleId: string | null; completionReached: boolean } {
|
||||
if (episodeIds.length === 0) return { titleId: null, completionReached: false };
|
||||
): { titleId: string | null } {
|
||||
if (episodeIds.length === 0) return { titleId: null };
|
||||
|
||||
let resultTitleId: string | null = null;
|
||||
let completionReached = false;
|
||||
|
||||
db.transaction((tx) => {
|
||||
const now = watchedAt ?? new Date();
|
||||
@@ -119,46 +118,9 @@ export function batchInsertEpisodeWatchesTransaction(
|
||||
})
|
||||
.run();
|
||||
}
|
||||
|
||||
const allSeasons = tx.select().from(seasons).where(eq(seasons.titleId, titleId)).all();
|
||||
if (allSeasons.length === 0) return;
|
||||
|
||||
const allSeasonIds = allSeasons.map((s) => s.id);
|
||||
const allEps = tx.select().from(episodes).where(inArray(episodes.seasonId, allSeasonIds)).all();
|
||||
const totalEpisodes = allEps.length;
|
||||
if (totalEpisodes === 0) return;
|
||||
|
||||
const allEpIds = allEps.map((ep) => ep.id);
|
||||
const [watchCount] = tx
|
||||
.select({
|
||||
count: sql<number>`count(distinct ${userEpisodeWatches.episodeId})`,
|
||||
})
|
||||
.from(userEpisodeWatches)
|
||||
.where(
|
||||
and(eq(userEpisodeWatches.userId, userId), inArray(userEpisodeWatches.episodeId, allEpIds)),
|
||||
)
|
||||
.all();
|
||||
|
||||
if (watchCount.count >= totalEpisodes) {
|
||||
completionReached = true;
|
||||
const completeNow = new Date();
|
||||
tx.insert(userTitleStatus)
|
||||
.values({
|
||||
userId,
|
||||
titleId,
|
||||
status: "completed",
|
||||
addedAt: completeNow,
|
||||
updatedAt: completeNow,
|
||||
})
|
||||
.onConflictDoUpdate({
|
||||
target: [userTitleStatus.userId, userTitleStatus.titleId],
|
||||
set: { status: "completed", updatedAt: completeNow },
|
||||
})
|
||||
.run();
|
||||
}
|
||||
});
|
||||
|
||||
return { titleId: resultTitleId, completionReached };
|
||||
return { titleId: resultTitleId };
|
||||
}
|
||||
|
||||
export function getAllEpisodeIdsForTitle(titleId: string): string[] {
|
||||
@@ -253,12 +215,16 @@ export function getUserStatusesByTitleIds(userId: string, titleIds: string[]) {
|
||||
|
||||
export function getEpisodeProgressByTitleIds(userId: string, titleIds: string[]) {
|
||||
if (titleIds.length === 0) return [];
|
||||
const today = new Date().toISOString().slice(0, 10);
|
||||
return db
|
||||
.select({
|
||||
titleId: titles.id,
|
||||
totalEpisodes: sql<number>`count(distinct ${episodes.id})`.as("totalEpisodes"),
|
||||
totalEpisodes:
|
||||
sql<number>`count(distinct case when ${episodes.airDate} IS NOT NULL AND ${episodes.airDate} <= ${today} then ${episodes.id} end)`.as(
|
||||
"totalEpisodes",
|
||||
),
|
||||
watchedEpisodes:
|
||||
sql<number>`count(distinct case when ${userEpisodeWatches.id} is not null then ${episodes.id} end)`.as(
|
||||
sql<number>`count(distinct case when ${userEpisodeWatches.id} is not null AND ${episodes.airDate} IS NOT NULL AND ${episodes.airDate} <= ${today} then ${episodes.id} end)`.as(
|
||||
"watchedEpisodes",
|
||||
),
|
||||
})
|
||||
|
||||
@@ -182,9 +182,35 @@ function getUntranslatedEntries(catalog: CatalogType): UntranslatedEntry[] {
|
||||
// does not detect argument type changes, malformed plural/select, or nested corruption.
|
||||
|
||||
function extractSimplePlaceholders(text: string): string[] {
|
||||
// Intentionally conservative. This catches the common placeholder cases:
|
||||
// {0}, {name}, {count}
|
||||
return [...text.matchAll(/\{[a-zA-Z0-9_]+\}/g)].map((m) => m[0]).sort();
|
||||
// Extract top-level ICU placeholders ({0}, {name}, {count}) while skipping
|
||||
// content words nested inside plural/select branches like {episode} in
|
||||
// "{count, plural, one {episode} other {episodes}}".
|
||||
const results: string[] = [];
|
||||
let depth = 0;
|
||||
let argStart = -1;
|
||||
|
||||
for (let i = 0; i < text.length; i++) {
|
||||
if (text[i] === "{") {
|
||||
if (depth === 0) argStart = i;
|
||||
depth++;
|
||||
} else if (text[i] === "}") {
|
||||
depth--;
|
||||
if (depth === 0 && argStart >= 0) {
|
||||
const inner = text.slice(argStart + 1, i);
|
||||
// Top-level simple placeholder: just an identifier, no comma (not plural/select)
|
||||
if (/^[a-zA-Z0-9_]+$/.test(inner)) {
|
||||
results.push(`{${inner}}`);
|
||||
} else {
|
||||
// Complex ICU argument — extract just the argument name before the comma
|
||||
const argName = inner.match(/^([a-zA-Z0-9_]+)\s*,/)?.[1];
|
||||
if (argName) results.push(`{${argName}}`);
|
||||
}
|
||||
argStart = -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return results.sort();
|
||||
}
|
||||
|
||||
function extractNumberedTags(text: string): string[] {
|
||||
|
||||
+210
-173
File diff suppressed because it is too large.
Load diff
@@ -1 +1 @@
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"+5kO8P\":[\"Samstag\"],\"+6i0lS\":[\"Verlauf, Merkliste und Bewertungen werden abgerufen...\"],\"+Cv+V9\":[\"Aus Bibliothek entfernen\"],\"+JkEpu\":[\"Diese Seite ist auf dem Schneidetisch gelandet. Sie wurde möglicherweise verschoben, entfernt oder hat es nie über das Drehbuch hinaus geschafft.\"],\"+K0AvT\":[\"Trennen\"],\"+N0l5/\":[\"Verbunden mit <0>\",[\"serverHost\"],\"</0>. Tippe zum Ändern.\"],\"+gLHYi\":[\"Titel konnte nicht geladen werden\"],\"+j1ex/\":[\"Konnte nicht aus der Bibliothek entfernt werden\"],\"+nF1ZO\":[\"Foto entfernen\"],\"/+6dvC\":[\"Fehler (\",[\"0\"],\")\"],\"/BBXeA\":[\"Verbinde mit Server...\"],\"/DwR+n\":[\"Erstelle...\"],\"/XtbPO\":[[\"0\"],\" titles\"],\"/cg+QV\":[\"Alle als gesehen markieren\"],\"/gQXGv\":[\"Status konnte nicht aktualisiert werden\"],\"/nT6AE\":[\"Neues Passwort\"],\"/sHc1/\":[\"Update-Prüfung\"],\"0+dyau\":[\"Aufbewahrungseinstellung konnte nicht aktualisiert werden\"],\"0BFJKK\":[\"Autorisierung wurde verweigert. Bitte versuche es erneut.\"],\"0GHb20\":[\"Metadaten-Cache leeren?\"],\"0IBW21\":[\"Cache konnte nicht geleert werden\"],\"0gH/sc\":[\"Profilbild entfernen\"],\"1+P9RR\":[\"Zu \",[\"0\"],\" wechseln\"],\"12cc1j\":[\"Am Schauen\"],\"12lVOl\":[\"Selbstgehosteter Film- & Serien-Tracker\"],\"1B4z0M\":[\"Filmografie\"],\"1J4Ek0\":[\"Datenbank automatisch nach Zeitplan sichern\"],\"1JhxXW\":[\"Episode \",[\"0\"],\", \",[\"episodeLabel\"]],\"1N6wNP\":[\"Importoptionen\"],\"1Qz4uG\":[\"Ereigniskategorie \\\"Playback\\\" aktivieren\"],\"1hMWR6\":[\"Konto erstellen\"],\"1jHIjh\":[\"Alle Episoden von \",[\"seasonName\"],\" als gesehen markiert\"],\"1vSYsG\":[\"Backup herunterladen\"],\"1wL1tj\":[\"Serie\"],\"2FletP\":[[\"0\",\"plural\",{\"one\":[\"#\",\" Titel\"],\"other\":[\"#\",\" Titel\"]}],\", \",[\"1\",\"plural\",{\"one\":[\"#\",\" Person\"],\"other\":[\"#\",\" Personen\"]}],\", \",[\"2\",\"plural\",{\"one\":[\"#\",\" Datei\"],\"other\":[\"#\",\" Dateien\"]}],\" bereinigt (\",[\"freed\"],\" freigegeben)\"],\"2Fsd9r\":[\"Diesen Monat\"],\"2MPcep\":[\"Import abgeschlossen\"],\"2Mu33Z\":[\"Cache-Verwaltung\"],\"2POOFK\":[\"Kostenlos\"],\"2Pt2NY\":[\"Dadurch werden alle Einträge aus deinem Verlauf entfernt.\"],\"2fCpt5\":[\"Zur Startseite\"],\"2pPBp6\":[\"Heute im Trend\"],\"39neVN\":[\"Movies \",[\"0\"]],\"39y5bn\":[\"Freitag\"],\"3Blefz\":[\"Bewertungen\"],\"3JTlG8\":[\"Letzte Suchen\"],\"3Jy8bM\":[\"Filme \",[\"select\"]],\"3L9OuQ\":[\"Episode \",[\"0\"]],\"3T/4MV\":[\"this year\"],\"3T8ziB\":[\"Konto erstellen\"],\"3hELxX\":[\"Gib deine Sofa-Server-URL ein, um loszulegen\"],\"4fxLkp\":[\"Öffne Sonarr, gehe zu <0>Settings > Import Lists</0>\"],\"4kpBqM\":[\"Letztes Ereignis \",[\"0\"]],\"4uUjVO\":[\"Produzent\"],\"4x+A56\":[\"Anonyme Nutzungsberichte\"],\"5IShvp\":[[\"totalItems\"],\" Einträge importieren\"],\"5IYJSv\":[\"Titel entdecken\"],\"5Y4mym\":[\"Von \",[\"0\"],\" importieren\"],\"5ZzgbQ\":[[\"0\"],\" verbinden\"],\"5fEnbK\":[\"Einstellung für geplante Backups konnte nicht aktualisiert werden\"],\"5lWFkC\":[\"Anmelden\"],\"5v9C16\":[\"Verbunden mit \",[\"source\"]],\"623bR4\":[\"Aufgabe konnte nicht ausgelöst werden\"],\"6HN0yh\":[\"Öffne Plex, gehe zu Settings > Webhooks\"],\"6TNjOJ\":[\"Bewertung konnte nicht aktualisiert werden\"],\"6TfUy6\":[\"letzte \",[\"value\"]],\"6V3Ea3\":[\"Kopiert\"],\"6YtxFj\":[\"Name\"],\"6exX+8\":[\"Neu generieren\"],\"6gRgw8\":[\"Erneut versuchen\"],\"6lGV3K\":[\"Weniger anzeigen\"],\"76++pR\":[\"Warnungen\"],\"77DIAu\":[\"Gehe zu Dashboard > Plugins > Webhook\"],\"79m/GK\":[\"Episodes \",[\"0\"]],\"7Bj3x9\":[\"Fehlgeschlagen\"],\"7D50KC\":[[\"label\"],\" getrennt\"],\"7GfM5w\":[\"Zuletzt angesehen\"],\"7L01XJ\":[\"Aktionen\"],\"7eMo+U\":[\"Zur Startseite\"],\"7p5kLi\":[\"Dashboard\"],\"85eoJ1\":[\"Zeitplan aktualisiert\"],\"8B9E2D\":[\"Tag:\"],\"8YwF1J\":[\"Gehe zu <0>Dashboard > Plugins > Webhook</0>\"],\"8ZsakT\":[\"Passwort\"],\"8tjQCz\":[\"Entdecken\"],\"8vNtLy\":[\"Füge die obige Radarr-URL in das Feld \\\"List URL\\\" ein\"],\"8wYDMp\":[\"Bereits ein Konto?\"],\"9AE3vb\":[\"Öffne Plex, gehe zu <0>Settings > Webhooks<1/></0>\"],\"9GW0ZB\":[\"Import läuft noch im Hintergrund. Komm später wieder.\"],\"9NyAH9\":[\"Übersprungen\"],\"9Xhrps\":[\"Verbindung fehlgeschlagen\"],\"9ZLGbA\":[\"backups.\"],\"9eF5oV\":[\"Willkommen zurück\"],\"9rG25a\":[\"Server-URL\"],\"A+0rLe\":[\"Als abgeschlossen markiert\"],\"A1taO8\":[\"Search\"],\"AOHgZp\":[\"Episoden\"],\"AOddWK\":[[\"label\"],\" verbinden\"],\"ATfxL/\":[\"Trailer\"],\"AVlZoM\":[\"Umgebung\"],\"Acf6vF\":[\"Namen speichern\"],\"AdoUfN\":[\"Konnte nicht zur Merkliste hinzugefügt werden\"],\"AeXO77\":[\"Konto\"],\"AjtYj0\":[\"Auf der Merkliste\"],\"Avee+B\":[\"Name konnte nicht aktualisiert werden\"],\"B2R3xD\":[\"Geplante Backups umschalten\"],\"BEVzjL\":[\"Import fehlgeschlagen\"],\"BQnS5I\":[[\"source\"],\" öffnen, um Code einzugeben\"],\"BUnoSB\":[[Line truncated
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"+5kO8P\":[\"Samstag\"],\"+6i0lS\":[\"Verlauf, Merkliste und Bewertungen werden abgerufen...\"],\"+Cv+V9\":[\"Aus Bibliothek entfernen\"],\"+JkEpu\":[\"Diese Seite ist auf dem Schneidetisch gelandet. Sie wurde möglicherweise verschoben, entfernt oder hat es nie über das Drehbuch hinaus geschafft.\"],\"+K0AvT\":[\"Trennen\"],\"+N0l5/\":[\"Verbunden mit <0>\",[\"serverHost\"],\"</0>. Tippe zum Ändern.\"],\"+gLHYi\":[\"Titel konnte nicht geladen werden\"],\"+j1ex/\":[\"Konnte nicht aus der Bibliothek entfernt werden\"],\"+nF1ZO\":[\"Foto entfernen\"],\"/+6dvC\":[\"Fehler (\",[\"0\"],\")\"],\"/BBXeA\":[\"Verbinde mit Server...\"],\"/DwR+n\":[\"Erstelle...\"],\"/XtbPO\":[[\"0\"],\" titles\"],\"/cg+QV\":[\"Alle als gesehen markieren\"],\"/gQXGv\":[\"Status konnte nicht aktualisiert werden\"],\"/nT6AE\":[\"Neues Passwort\"],\"/sHc1/\":[\"Update-Prüfung\"],\"0+dyau\":[\"Aufbewahrungseinstellung konnte nicht aktualisiert werden\"],\"0BFJKK\":[\"Autorisierung wurde verweigert. Bitte versuche es erneut.\"],\"0GHb20\":[\"Metadaten-Cache leeren?\"],\"0IBW21\":[\"Cache konnte nicht geleert werden\"],\"0gH/sc\":[\"Profilbild entfernen\"],\"1+P9RR\":[\"Zu \",[\"0\"],\" wechseln\"],\"12cc1j\":[\"Am Schauen\"],\"12lVOl\":[\"Selbstgehosteter Film- & Serien-Tracker\"],\"1B4z0M\":[\"Filmografie\"],\"1J4Ek0\":[\"Datenbank automatisch nach Zeitplan sichern\"],\"1JhxXW\":[\"Folge \",[\"0\"],\", \",[\"episodeLabel\"]],\"1N6wNP\":[\"Importoptionen\"],\"1Qz4uG\":[\"Ereigniskategorie \\\"Playback\\\" aktivieren\"],\"1hMWR6\":[\"Konto erstellen\"],\"1jHIjh\":[\"Alle Episoden von \",[\"seasonName\"],\" als gesehen markiert\"],\"1vSYsG\":[\"Backup herunterladen\"],\"1wL1tj\":[\"Serie\"],\"2FletP\":[[\"0\",\"plural\",{\"one\":[\"#\",\" Titel\"],\"other\":[\"#\",\" Titel\"]}],\", \",[\"1\",\"plural\",{\"one\":[\"#\",\" Person\"],\"other\":[\"#\",\" Personen\"]}],\", \",[\"2\",\"plural\",{\"one\":[\"#\",\" Datei\"],\"other\":[\"#\",\" Dateien\"]}],\" bereinigt (\",[\"freed\"],\" freigegeben)\"],\"2Fsd9r\":[\"Diesen Monat\"],\"2MPcep\":[\"Import abgeschlossen\"],\"2Mu33Z\":[\"Cache-Verwaltung\"],\"2POOFK\":[\"Kostenlos\"],\"2Pt2NY\":[\"Dadurch werden alle Einträge aus deinem Verlauf entfernt.\"],\"2fCpt5\":[\"Zur Startseite\"],\"2pPBp6\":[\"Heute im Trend\"],\"37o8E8\":[\"In der Merkliste\"],\"39neVN\":[\"Filme \",[\"0\"]],\"39y5bn\":[\"Freitag\"],\"3Blefz\":[\"Bewertungen\"],\"3JTlG8\":[\"Letzte Suchen\"],\"3Jy8bM\":[\"Filme \",[\"select\"]],\"3L9OuQ\":[\"Folge \",[\"0\"]],\"3T/4MV\":[\"dieses Jahr\"],\"3T8ziB\":[\"Konto erstellen\"],\"3hELxX\":[\"Gib deine Sofa-Server-URL ein, um loszulegen\"],\"4fxLkp\":[\"Öffne Sonarr, gehe zu <0>Settings > Import Lists</0>\"],\"4kpBqM\":[\"Letztes Ereignis \",[\"0\"]],\"4uUjVO\":[\"Produzent\"],\"4x+A56\":[\"Anonyme Nutzungsberichte\"],\"5IShvp\":[[\"totalItems\"],\" Einträge importieren\"],\"5IYJSv\":[\"Titel entdecken\"],\"5Y4mym\":[\"Von \",[\"0\"],\" importieren\"],\"5ZzgbQ\":[[\"0\"],\" verbinden\"],\"5fEnbK\":[\"Einstellung für geplante Backups konnte nicht aktualisiert werden\"],\"5lWFkC\":[\"Anmelden\"],\"5v9C16\":[\"Verbunden mit \",[\"source\"]],\"623bR4\":[\"Aufgabe konnte nicht ausgelöst werden\"],\"6HN0yh\":[\"Öffne Plex, gehe zu Settings > Webhooks\"],\"6TNjOJ\":[\"Bewertung konnte nicht aktualisiert werden\"],\"6TfUy6\":[\"letzte \",[\"value\"]],\"6V3Ea3\":[\"Kopiert\"],\"6YtxFj\":[\"Name\"],\"6exX+8\":[\"Neu generieren\"],\"6gRgw8\":[\"Erneut versuchen\"],\"6lGV3K\":[\"Weniger anzeigen\"],\"76++pR\":[\"Warnungen\"],\"77DIAu\":[\"Gehe zu Dashboard > Plugins > Webhook\"],\"79m/GK\":[\"Folgen \",[\"0\"]],\"7Bj3x9\":[\"Fehlgeschlagen\"],\"7D50KC\":[[\"label\"],\" getrennt\"],\"7GfM5w\":[\"Zuletzt angesehen\"],\"7L01XJ\":[\"Aktionen\"],\"7eMo+U\":[\"Zur Startseite\"],\"7p5kLi\":[\"Dashboard\"],\"85eoJ1\":[\"Zeitplan aktualisiert\"],\"8B9E2D\":[\"Tag:\"],\"8YwF1J\":[\"Gehe zu <0>Dashboard > Plugins > Webhook</0>\"],\"8ZsakT\":[\"Passwort\"],\"8tjQCz\":[\"Entdecken\"],\"8vNtLy\":[\"Füge die obige Radarr-URL in das Feld \\\"List URL\\\" ein\"],\"8wYDMp\":[\"Bereits ein Konto?\"],\"9AE3vb\":[\"Öffne Plex, gehe zu <0>Settings > Webhooks<1/></0>\"],\"9GW0ZB\":[\"Import läuft noch im Hintergrund. Komm später wieder.\"],\"9NyAH9\":[\"Übersprungen\"],\"9Xhrps\":[\"Verbindung fehlgeschlagen\"],\"9ZLGbA\":[\"backups.\"],\"9eF5oV\":[\"Willkommen zurück\"],\"9rG25a\":[\"Server-URL\"],\"A+0rLe\":[\"Als abgeschlossen markiert\"],\"A1taO8\":[\"Suche\"],\"AOHgZp\":[\"Episoden\"],\"AOddWK\":[[\"label\"],\" verbinden\"],\"ATfxL/\":[\"Trailer\"],\"AVlZoM\":[\"Umgebung\"],\"Acf6vF\":[\"Namen speichern\"],\"AdoUfN\":[\"Konnte nicht zur Merkliste hinzugefügt werden\"],\"AeXO77\":[\"Konto\"],\"AjtYj0\":[\"Auf der Merkliste\"],\"Avee+B\":[\"Name konnte nicht aktualisiert werden\"],\"B2R3xD\":[\"Geplante Backups umschalten\"],\"BEVzjL\":[\"Import fehlgeschlagen\"],\"BQnS5I\":[[\"source\"],\" öffnen, um CodeLine truncated
|
||||
+194
-157
@@ -104,8 +104,8 @@ msgstr ""
|
||||
#~ msgid "{0}/{1} episodes"
|
||||
#~ msgstr "{0}/{1} episodes"
|
||||
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:200
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:278
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:198
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:270
|
||||
msgid "{count} earlier {count, plural, one {episode} other {episodes}} unwatched"
|
||||
msgstr ""
|
||||
|
||||
@@ -114,22 +114,22 @@ msgstr ""
|
||||
msgid "{healthyCount} of {0} jobs healthy"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:84
|
||||
#: apps/native/src/components/settings/integration-card.tsx:86
|
||||
#: apps/web/src/components/settings/integration-card.tsx:89
|
||||
msgid "{label} connected"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:94
|
||||
#: apps/native/src/components/settings/integration-card.tsx:96
|
||||
#: apps/web/src/components/settings/integration-card.tsx:105
|
||||
msgid "{label} disconnected"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:104
|
||||
#: apps/native/src/components/settings/integration-card.tsx:106
|
||||
#: apps/web/src/components/settings/integration-card.tsx:119
|
||||
msgid "{label} URL regenerated"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/components/title-card.tsx:152
|
||||
#: apps/web/src/components/title-card.tsx:157
|
||||
msgid "{watched}/{total} episodes"
|
||||
msgstr ""
|
||||
|
||||
@@ -157,7 +157,7 @@ msgstr ""
|
||||
msgid "Actions"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/person/[id].tsx:50
|
||||
#: apps/native/src/app/person/[id].tsx:138
|
||||
#: apps/native/src/components/search/recently-viewed-row-content.tsx:28
|
||||
#: apps/web/src/components/people/person-hero.tsx:69
|
||||
msgid "Actor"
|
||||
@@ -180,13 +180,13 @@ msgstr ""
|
||||
msgid "Add to Library"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:73
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:80
|
||||
msgid "Add to watchlist"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/components/explore/hero-banner.tsx:132
|
||||
#: apps/native/src/components/ui/poster-card.tsx:212
|
||||
#: apps/web/src/components/title-card.tsx:133
|
||||
#: apps/native/src/components/ui/poster-card.tsx:215
|
||||
#: apps/web/src/components/title-card.tsx:138
|
||||
msgid "Add to Watchlist"
|
||||
msgstr ""
|
||||
|
||||
@@ -197,7 +197,7 @@ msgstr ""
|
||||
#: apps/native/src/hooks/use-title-actions.ts:44
|
||||
#: apps/native/src/hooks/use-title-actions.ts:59
|
||||
#: apps/native/src/lib/title-actions.ts:25
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:98
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:95
|
||||
msgid "Added to watchlist"
|
||||
msgstr ""
|
||||
|
||||
@@ -209,11 +209,11 @@ msgstr ""
|
||||
msgid "Admin"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/routes/_app/settings.tsx:154
|
||||
#: apps/web/src/routes/_app/settings.tsx:156
|
||||
msgid "Admin only"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/person/[id].tsx:249
|
||||
#: apps/native/src/app/person/[id].tsx:189
|
||||
#: apps/web/src/components/people/person-hero.tsx:89
|
||||
msgid "age {age}"
|
||||
msgstr ""
|
||||
@@ -243,7 +243,7 @@ msgstr ""
|
||||
msgid "Anonymous usage reporting"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/routes/_app/settings.tsx:135
|
||||
#: apps/web/src/routes/_app/settings.tsx:137
|
||||
msgid "App Settings"
|
||||
msgstr ""
|
||||
|
||||
@@ -251,7 +251,7 @@ msgstr ""
|
||||
msgid "Application"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:139
|
||||
#: apps/native/src/components/settings/integration-card.tsx:148
|
||||
msgid "Are you sure you want to disconnect {label}? The current URL will stop working."
|
||||
msgstr ""
|
||||
|
||||
@@ -310,7 +310,7 @@ msgid "Backup schedule"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/components/settings/system-health-section.tsx:583
|
||||
#: apps/web/src/routes/_app/settings.tsx:190
|
||||
#: apps/web/src/routes/_app/settings.tsx:192
|
||||
msgid "Backups"
|
||||
msgstr ""
|
||||
|
||||
@@ -337,8 +337,9 @@ msgstr ""
|
||||
#: apps/native/src/components/header-avatar.tsx:63
|
||||
#: apps/native/src/components/search/recently-viewed-list.ios.tsx:58
|
||||
#: apps/native/src/components/search/recently-viewed-list.tsx:32
|
||||
#: apps/native/src/components/settings/integration-card.tsx:126
|
||||
#: apps/native/src/components/settings/integration-card.tsx:141
|
||||
#: apps/native/src/components/settings/integration-card.tsx:135
|
||||
#: apps/native/src/components/settings/integration-card.tsx:150
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:104
|
||||
#: apps/web/src/components/settings/account-section.tsx:477
|
||||
#: apps/web/src/components/settings/backup-restore-section.tsx:101
|
||||
#: apps/web/src/components/settings/backup-section.tsx:240
|
||||
@@ -348,6 +349,7 @@ msgstr ""
|
||||
#: apps/web/src/components/settings/imports-section.tsx:611
|
||||
#: apps/web/src/components/settings/imports-section.tsx:674
|
||||
#: apps/web/src/components/settings/imports-section.tsx:798
|
||||
#: apps/web/src/components/titles/status-button.tsx:131
|
||||
#: apps/web/src/components/titles/title-seasons.tsx:127
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
@@ -361,14 +363,20 @@ msgstr ""
|
||||
msgid "Cast"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:202
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:280
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:200
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:272
|
||||
msgid "Catch up"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:50
|
||||
#: apps/web/src/components/title-card.tsx:74
|
||||
#: apps/web/src/components/titles/status-button.tsx:54
|
||||
msgid "Caught Up"
|
||||
msgstr "Caught Up"
|
||||
|
||||
#. placeholder {0}: episodeIds.length
|
||||
#. placeholder {1}: episodeIds.length
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:72
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:69
|
||||
msgid "Caught up — marked {0} {1, plural, one {episode} other {episodes}} as watched"
|
||||
msgstr ""
|
||||
|
||||
@@ -418,7 +426,7 @@ msgstr ""
|
||||
#: apps/native/src/components/search/recently-viewed-list.ios.tsx:60
|
||||
#: apps/native/src/components/search/recently-viewed-list.ios.tsx:104
|
||||
#: apps/native/src/components/search/recently-viewed-list.tsx:34
|
||||
#: apps/native/src/components/search/recently-viewed-list.tsx:86
|
||||
#: apps/native/src/components/search/recently-viewed-list.tsx:68
|
||||
msgid "Clear"
|
||||
msgstr ""
|
||||
|
||||
@@ -455,10 +463,10 @@ msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx:146
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:45
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:52
|
||||
#: apps/web/src/components/dashboard/stats-display.tsx:219
|
||||
#: apps/web/src/components/title-card.tsx:74
|
||||
#: apps/web/src/components/titles/status-button.tsx:25
|
||||
#: apps/web/src/components/title-card.tsx:79
|
||||
#: apps/web/src/components/titles/status-button.tsx:59
|
||||
msgid "Completed"
|
||||
msgstr ""
|
||||
|
||||
@@ -477,7 +485,7 @@ msgstr ""
|
||||
msgid "Connect {0}"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:207
|
||||
#: apps/native/src/components/settings/integration-card.tsx:216
|
||||
msgid "Connect {label}"
|
||||
msgstr ""
|
||||
|
||||
@@ -485,7 +493,7 @@ msgstr ""
|
||||
msgid "Connect to {source}"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/routes/setup.tsx:98
|
||||
#: apps/web/src/routes/setup.tsx:99
|
||||
msgid "Connect to TMDB"
|
||||
msgstr ""
|
||||
|
||||
@@ -516,7 +524,7 @@ msgstr ""
|
||||
msgid "Connecting..."
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:207
|
||||
#: apps/native/src/components/settings/integration-card.tsx:216
|
||||
msgid "Connecting…"
|
||||
msgstr ""
|
||||
|
||||
@@ -545,7 +553,7 @@ msgstr ""
|
||||
msgid "Could not load integrations"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/person/[id].tsx:172
|
||||
#: apps/native/src/app/person/[id].tsx:257
|
||||
msgid "Could not load person details"
|
||||
msgstr ""
|
||||
|
||||
@@ -579,14 +587,14 @@ msgstr ""
|
||||
msgid "Current password is required"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/routes/_app/settings.tsx:216
|
||||
#: apps/web/src/routes/_app/settings.tsx:218
|
||||
msgid "Danger Zone"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/routes/__root.tsx:163
|
||||
#: apps/web/src/routes/_app/people.$id.tsx:76
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:119
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:165
|
||||
#: apps/web/src/routes/_app/people.$id.tsx:78
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:120
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:166
|
||||
msgid "Dashboard"
|
||||
msgstr ""
|
||||
|
||||
@@ -630,12 +638,12 @@ msgstr ""
|
||||
msgid "Device code expired. Please try again."
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/person/[id].tsx:249
|
||||
#: apps/native/src/app/person/[id].tsx:189
|
||||
#: apps/web/src/components/people/person-hero.tsx:89
|
||||
msgid "died at {age}"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/person/[id].tsx:51
|
||||
#: apps/native/src/app/person/[id].tsx:139
|
||||
#: apps/native/src/components/search/recently-viewed-row-content.tsx:29
|
||||
#: apps/web/src/components/people/person-hero.tsx:71
|
||||
msgid "Director"
|
||||
@@ -646,13 +654,13 @@ msgstr ""
|
||||
msgid "Disabled"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:143
|
||||
#: apps/native/src/components/settings/integration-card.tsx:257
|
||||
#: apps/native/src/components/settings/integration-card.tsx:152
|
||||
#: apps/native/src/components/settings/integration-card.tsx:266
|
||||
#: apps/web/src/components/settings/integration-card.tsx:234
|
||||
msgid "Disconnect"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:138
|
||||
#: apps/native/src/components/settings/integration-card.tsx:147
|
||||
msgid "Disconnect {label}"
|
||||
msgstr ""
|
||||
|
||||
@@ -685,7 +693,7 @@ msgstr ""
|
||||
msgid "Download backup"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/person/[id].tsx:54
|
||||
#: apps/native/src/app/person/[id].tsx:142
|
||||
#: apps/native/src/components/search/recently-viewed-row-content.tsx:32
|
||||
#: apps/web/src/components/people/person-hero.tsx:77
|
||||
msgid "Editor"
|
||||
@@ -729,24 +737,31 @@ msgstr ""
|
||||
msgid "Environment"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: episode.episodeNumber
|
||||
#: apps/native/src/components/titles/episode-row.tsx:27
|
||||
#: apps/native/src/components/titles/episode-row.tsx:48
|
||||
msgid "Episode {0}"
|
||||
msgstr ""
|
||||
#~ msgid "Episode {0}"
|
||||
#~ msgstr ""
|
||||
|
||||
#. placeholder {0}: episode.episodeNumber
|
||||
#: apps/native/src/components/titles/episode-row.tsx:34
|
||||
msgid "Episode {0}, {episodeLabel}"
|
||||
msgstr ""
|
||||
#~ msgid "Episode {0}, {episodeLabel}"
|
||||
#~ msgstr ""
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:111
|
||||
#: apps/native/src/lib/title-actions.ts:108
|
||||
#: apps/native/src/components/titles/episode-row.tsx:29
|
||||
#: apps/native/src/components/titles/episode-row.tsx:52
|
||||
msgid "Episode {episodeNumber}"
|
||||
msgstr "Episode {episodeNumber}"
|
||||
|
||||
#: apps/native/src/components/titles/episode-row.tsx:38
|
||||
msgid "Episode {episodeNumber}, {episodeLabel}"
|
||||
msgstr "Episode {episodeNumber}, {episodeLabel}"
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:109
|
||||
#: apps/native/src/lib/title-actions.ts:84
|
||||
msgid "Episode unwatched"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:101
|
||||
#: apps/native/src/lib/title-actions.ts:98
|
||||
#: apps/native/src/hooks/use-title-actions.ts:99
|
||||
#: apps/native/src/lib/title-actions.ts:74
|
||||
msgid "Episode watched"
|
||||
msgstr ""
|
||||
|
||||
@@ -790,8 +805,8 @@ msgstr ""
|
||||
msgid "Explore"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/routes/_app/people.$id.tsx:68
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:157
|
||||
#: apps/web/src/routes/_app/people.$id.tsx:70
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:158
|
||||
msgid "Explore titles"
|
||||
msgstr ""
|
||||
|
||||
@@ -804,7 +819,7 @@ msgstr ""
|
||||
msgid "Failed to add to watchlist"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:80
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:77
|
||||
msgid "Failed to catch up"
|
||||
msgstr ""
|
||||
|
||||
@@ -817,7 +832,7 @@ msgstr ""
|
||||
msgid "Failed to connect"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:87
|
||||
#: apps/native/src/components/settings/integration-card.tsx:89
|
||||
#: apps/web/src/components/settings/integration-card.tsx:91
|
||||
msgid "Failed to connect {label}"
|
||||
msgstr ""
|
||||
@@ -834,7 +849,7 @@ msgstr ""
|
||||
msgid "Failed to delete backup"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:97
|
||||
#: apps/native/src/components/settings/integration-card.tsx:99
|
||||
#: apps/web/src/components/settings/integration-card.tsx:108
|
||||
msgid "Failed to disconnect {label}"
|
||||
msgstr ""
|
||||
@@ -843,29 +858,30 @@ msgstr ""
|
||||
msgid "Failed to load backup schedule settings."
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:110
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:111
|
||||
msgid "Failed to load title"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:344
|
||||
#: apps/native/src/lib/title-actions.ts:101
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:338
|
||||
msgid "Failed to mark all episodes as watched"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:79
|
||||
#: apps/native/src/lib/title-actions.ts:67
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:137
|
||||
#: apps/native/src/hooks/use-title-actions.ts:77
|
||||
#: apps/native/src/lib/title-actions.ts:43
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:134
|
||||
msgid "Failed to mark as watched"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:104
|
||||
#: apps/native/src/lib/title-actions.ts:101
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:216
|
||||
#: apps/native/src/hooks/use-title-actions.ts:102
|
||||
#: apps/native/src/lib/title-actions.ts:77
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:214
|
||||
msgid "Failed to mark episode"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:124
|
||||
#: apps/native/src/lib/title-actions.ts:123
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:294
|
||||
#: apps/native/src/hooks/use-title-actions.ts:122
|
||||
#: apps/native/src/lib/title-actions.ts:113
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:286
|
||||
msgid "Failed to mark some episodes"
|
||||
msgstr ""
|
||||
|
||||
@@ -889,12 +905,12 @@ msgstr ""
|
||||
msgid "Failed to purge metadata cache"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:107
|
||||
#: apps/native/src/components/settings/integration-card.tsx:109
|
||||
#: apps/web/src/components/settings/integration-card.tsx:121
|
||||
msgid "Failed to regenerate {label} URL"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/lib/title-actions.ts:77
|
||||
#: apps/native/src/lib/title-actions.ts:53
|
||||
msgid "Failed to remove from library"
|
||||
msgstr ""
|
||||
|
||||
@@ -916,13 +932,13 @@ msgstr ""
|
||||
msgid "Failed to trigger job"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:114
|
||||
#: apps/native/src/lib/title-actions.ts:111
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:163
|
||||
#: apps/native/src/hooks/use-title-actions.ts:112
|
||||
#: apps/native/src/lib/title-actions.ts:87
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:161
|
||||
msgid "Failed to unmark episode"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:320
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:312
|
||||
msgid "Failed to unmark some episodes"
|
||||
msgstr ""
|
||||
|
||||
@@ -930,9 +946,9 @@ msgstr ""
|
||||
msgid "Failed to update name"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:94
|
||||
#: apps/native/src/lib/title-actions.ts:91
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:123
|
||||
#: apps/native/src/hooks/use-title-actions.ts:92
|
||||
#: apps/native/src/lib/title-actions.ts:67
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:120
|
||||
msgid "Failed to update rating"
|
||||
msgstr ""
|
||||
|
||||
@@ -958,10 +974,8 @@ msgstr ""
|
||||
msgid "Failed to update setting"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:69
|
||||
#: apps/native/src/lib/title-actions.ts:41
|
||||
#: apps/native/src/lib/title-actions.ts:55
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:101
|
||||
#: apps/native/src/hooks/use-title-actions.ts:67
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:98
|
||||
msgid "Failed to update status"
|
||||
msgstr ""
|
||||
|
||||
@@ -973,7 +987,7 @@ msgstr ""
|
||||
msgid "Fetching your library data from {source}..."
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/person/[id].tsx:279
|
||||
#: apps/native/src/app/person/[id].tsx:219
|
||||
#: apps/web/src/components/people/filmography-grid.tsx:67
|
||||
msgid "Filmography"
|
||||
msgstr ""
|
||||
@@ -1002,8 +1016,8 @@ msgstr ""
|
||||
msgid "Get Started"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/person/[id].tsx:176
|
||||
#: apps/native/src/app/person/[id].tsx:196
|
||||
#: apps/native/src/app/person/[id].tsx:261
|
||||
#: apps/native/src/app/person/[id].tsx:281
|
||||
#: apps/native/src/app/title/[id].tsx:235
|
||||
msgid "Go back"
|
||||
msgstr ""
|
||||
@@ -1112,6 +1126,11 @@ msgstr ""
|
||||
msgid "In Library"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:46
|
||||
#: apps/web/src/components/titles/status-button.tsx:40
|
||||
msgid "In Watchlist"
|
||||
msgstr "In Watchlist"
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx:179
|
||||
#: apps/web/src/components/dashboard/library-section.tsx:35
|
||||
msgid "In Your Library"
|
||||
@@ -1222,22 +1241,23 @@ msgid "Mark all episodes as watched?"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/components/titles/season-accordion.tsx:152
|
||||
#: apps/native/src/components/ui/poster-card.tsx:229
|
||||
#: apps/web/src/components/titles/title-seasons.tsx:109
|
||||
#: apps/web/src/components/titles/title-seasons.tsx:135
|
||||
msgid "Mark All Watched"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/components/dashboard/continue-watching-card.tsx:103
|
||||
msgid "Mark as Completed"
|
||||
msgstr ""
|
||||
#~ msgid "Mark as Completed"
|
||||
#~ msgstr ""
|
||||
|
||||
#: apps/native/src/components/ui/poster-card.tsx:226
|
||||
#: apps/native/src/components/ui/poster-card.tsx:222
|
||||
msgid "Mark as Watched"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/components/ui/poster-card.tsx:219
|
||||
msgid "Mark as Watching"
|
||||
msgstr ""
|
||||
#~ msgid "Mark as Watching"
|
||||
#~ msgstr ""
|
||||
|
||||
#: apps/native/src/app/title/[id].tsx:400
|
||||
#: apps/web/src/components/titles/title-actions.tsx:27
|
||||
@@ -1245,32 +1265,37 @@ msgid "Mark Watched"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/lib/title-actions.ts:50
|
||||
msgid "Marked \"{titleName}\" as completed"
|
||||
msgstr ""
|
||||
#~ msgid "Marked \"{titleName}\" as completed"
|
||||
#~ msgstr ""
|
||||
|
||||
#: apps/native/src/lib/title-actions.ts:63
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:134
|
||||
#: apps/native/src/lib/title-actions.ts:39
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:131
|
||||
msgid "Marked \"{titleName}\" as watched"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:337
|
||||
#: apps/native/src/lib/title-actions.ts:97
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:331
|
||||
msgid "Marked all episodes as watched"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/lib/title-actions.ts:96
|
||||
msgid "Marked all episodes of \"{titleName}\" as watched"
|
||||
msgstr "Marked all episodes of \"{titleName}\" as watched"
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:61
|
||||
#: apps/native/src/lib/title-actions.ts:51
|
||||
msgid "Marked as completed"
|
||||
msgstr ""
|
||||
#~ msgid "Marked as completed"
|
||||
#~ msgstr ""
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:76
|
||||
#: apps/native/src/lib/title-actions.ts:63
|
||||
#: apps/native/src/hooks/use-title-actions.ts:74
|
||||
#: apps/native/src/lib/title-actions.ts:39
|
||||
msgid "Marked as watched"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:60
|
||||
#: apps/native/src/lib/title-actions.ts:38
|
||||
msgid "Marked as watching"
|
||||
msgstr ""
|
||||
#~ msgid "Marked as watching"
|
||||
#~ msgstr ""
|
||||
|
||||
#: apps/web/src/components/settings/account-section.tsx:314
|
||||
msgid "Member since {memberSince}"
|
||||
@@ -1345,7 +1370,7 @@ msgstr ""
|
||||
msgid "New account creation is currently disabled."
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/routes/_auth/register.tsx:36
|
||||
#: apps/web/src/routes/_auth/register.tsx:33
|
||||
msgid "New accounts are not being accepted right now. Contact the admin if you need access."
|
||||
msgstr ""
|
||||
|
||||
@@ -1403,7 +1428,7 @@ msgstr ""
|
||||
msgid "No titles found for this genre."
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:174
|
||||
#: apps/native/src/components/settings/integration-card.tsx:183
|
||||
#: apps/web/src/components/settings/integration-card.tsx:153
|
||||
#: apps/web/src/components/settings/system-health-section.tsx:229
|
||||
msgid "Not configured"
|
||||
@@ -1517,8 +1542,8 @@ msgstr ""
|
||||
msgid "Person"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/person/[id].tsx:192
|
||||
#: apps/web/src/routes/_app/people.$id.tsx:50
|
||||
#: apps/native/src/app/person/[id].tsx:277
|
||||
#: apps/web/src/routes/_app/people.$id.tsx:52
|
||||
msgid "Person not found"
|
||||
msgstr ""
|
||||
|
||||
@@ -1527,12 +1552,12 @@ msgid "Play trailer"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(explore)/index.tsx:89
|
||||
#: apps/web/src/routes/_app/explore.tsx:141
|
||||
#: apps/web/src/routes/_app/explore.tsx:143
|
||||
msgid "Popular Movies"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(explore)/index.tsx:102
|
||||
#: apps/web/src/routes/_app/explore.tsx:151
|
||||
#: apps/web/src/routes/_app/explore.tsx:153
|
||||
msgid "Popular TV Shows"
|
||||
msgstr ""
|
||||
|
||||
@@ -1540,7 +1565,7 @@ msgstr ""
|
||||
msgid "Pre-restore backup"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/person/[id].tsx:53
|
||||
#: apps/native/src/app/person/[id].tsx:141
|
||||
#: apps/native/src/components/search/recently-viewed-row-content.tsx:31
|
||||
#: apps/web/src/components/people/person-hero.tsx:75
|
||||
msgid "Producer"
|
||||
@@ -1612,7 +1637,7 @@ msgstr ""
|
||||
|
||||
#. placeholder {0}: input.stars
|
||||
#. placeholder {1}: input.stars
|
||||
#: apps/native/src/hooks/use-title-actions.ts:88
|
||||
#: apps/native/src/hooks/use-title-actions.ts:86
|
||||
msgid "Rated {0} {1, plural, one {star} other {stars}}"
|
||||
msgstr ""
|
||||
|
||||
@@ -1620,11 +1645,11 @@ msgstr ""
|
||||
#~ msgid "Rated {0} star{1}"
|
||||
#~ msgstr "Rated {0} star{1}"
|
||||
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:118
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:115
|
||||
msgid "Rated {ratingStars} {ratingStars, plural, one {star} other {stars}}"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/lib/title-actions.ts:86
|
||||
#: apps/native/src/lib/title-actions.ts:62
|
||||
msgid "Rated {stars, plural, one {# star} other {# stars}}"
|
||||
msgstr ""
|
||||
|
||||
@@ -1633,9 +1658,9 @@ msgstr ""
|
||||
msgid "Rating"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:89
|
||||
#: apps/native/src/lib/title-actions.ts:87
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:119
|
||||
#: apps/native/src/hooks/use-title-actions.ts:87
|
||||
#: apps/native/src/lib/title-actions.ts:63
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:116
|
||||
msgid "Rating removed"
|
||||
msgstr ""
|
||||
|
||||
@@ -1663,7 +1688,7 @@ msgid "Recent Searches"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/components/search/recently-viewed-list.ios.tsx:95
|
||||
#: apps/native/src/components/search/recently-viewed-list.tsx:77
|
||||
#: apps/native/src/components/search/recently-viewed-list.tsx:59
|
||||
msgid "Recently Viewed"
|
||||
msgstr ""
|
||||
|
||||
@@ -1692,12 +1717,12 @@ msgstr ""
|
||||
msgid "Refresh system health"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:128
|
||||
#: apps/native/src/components/settings/integration-card.tsx:248
|
||||
#: apps/native/src/components/settings/integration-card.tsx:137
|
||||
#: apps/native/src/components/settings/integration-card.tsx:257
|
||||
msgid "Regenerate"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:123
|
||||
#: apps/native/src/components/settings/integration-card.tsx:132
|
||||
#: apps/web/src/components/settings/integration-card.tsx:226
|
||||
msgid "Regenerate URL"
|
||||
msgstr ""
|
||||
@@ -1717,7 +1742,7 @@ msgid "Registration closed"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(auth)/register.tsx:87
|
||||
#: apps/web/src/routes/_auth/register.tsx:33
|
||||
#: apps/web/src/routes/_auth/register.tsx:30
|
||||
msgid "Registration Closed"
|
||||
msgstr ""
|
||||
|
||||
@@ -1726,20 +1751,27 @@ msgstr ""
|
||||
msgid "Registration opened"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/components/titles/status-button.tsx:76
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:106
|
||||
#: apps/web/src/components/titles/status-button.tsx:109
|
||||
#: apps/web/src/components/titles/status-button.tsx:139
|
||||
msgid "Remove"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:96
|
||||
#: apps/web/src/components/titles/status-button.tsx:60
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:115
|
||||
#: apps/web/src/components/titles/status-button.tsx:93
|
||||
msgid "Remove from library"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/components/dashboard/continue-watching-card.tsx:108
|
||||
#: apps/native/src/components/ui/poster-card.tsx:233
|
||||
#: apps/native/src/components/ui/poster-card.tsx:236
|
||||
msgid "Remove from Library"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:101
|
||||
#: apps/web/src/components/titles/status-button.tsx:120
|
||||
msgid "Remove from library?"
|
||||
msgstr "Remove from library?"
|
||||
|
||||
#: apps/native/src/app/(tabs)/(settings)/index.tsx:268
|
||||
msgid "Remove Photo"
|
||||
msgstr ""
|
||||
@@ -1752,9 +1784,9 @@ msgstr ""
|
||||
msgid "Remove profile picture"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:65
|
||||
#: apps/native/src/lib/title-actions.ts:74
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:98
|
||||
#: apps/native/src/hooks/use-title-actions.ts:63
|
||||
#: apps/native/src/lib/title-actions.ts:50
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:95
|
||||
msgid "Removed from library"
|
||||
msgstr ""
|
||||
|
||||
@@ -1868,7 +1900,7 @@ msgid "Search for movies and TV shows to start tracking"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/components/search/recently-viewed-list.ios.tsx:72
|
||||
#: apps/native/src/components/search/recently-viewed-list.tsx:55
|
||||
#: apps/native/src/components/search/recently-viewed-list.tsx:81
|
||||
msgid "Search for movies, shows, or people"
|
||||
msgstr ""
|
||||
|
||||
@@ -1892,13 +1924,13 @@ msgstr ""
|
||||
#. placeholder {0}: season.seasonNumber
|
||||
#: apps/native/src/components/titles/season-accordion.tsx:113
|
||||
#: apps/native/src/components/titles/season-accordion.tsx:119
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:274
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:313
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:266
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:305
|
||||
msgid "Season {0}"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:121
|
||||
#: apps/native/src/lib/title-actions.ts:119
|
||||
#: apps/native/src/hooks/use-title-actions.ts:119
|
||||
#: apps/native/src/lib/title-actions.ts:109
|
||||
msgid "Season watched"
|
||||
msgstr ""
|
||||
|
||||
@@ -1907,7 +1939,7 @@ msgid "Seasons"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(settings)/index.tsx:452
|
||||
#: apps/web/src/routes/_app/settings.tsx:167
|
||||
#: apps/web/src/routes/_app/settings.tsx:169
|
||||
msgid "Security"
|
||||
msgstr ""
|
||||
|
||||
@@ -1915,7 +1947,7 @@ msgstr ""
|
||||
msgid "Self-hosted movie & TV tracker"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/routes/_app/settings.tsx:151
|
||||
#: apps/web/src/routes/_app/settings.tsx:153
|
||||
msgid "Server"
|
||||
msgstr ""
|
||||
|
||||
@@ -1947,12 +1979,12 @@ msgstr ""
|
||||
msgid "Settings"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:271
|
||||
#: apps/native/src/components/settings/integration-card.tsx:280
|
||||
#: apps/web/src/components/settings/integration-card.tsx:248
|
||||
msgid "Setup instructions"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/routes/setup.tsx:95
|
||||
#: apps/web/src/routes/setup.tsx:96
|
||||
msgid "Setup required"
|
||||
msgstr ""
|
||||
|
||||
@@ -1977,7 +2009,7 @@ msgstr ""
|
||||
msgid "Sign In"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/routes/_auth/register.tsx:45
|
||||
#: apps/web/src/routes/_auth/register.tsx:42
|
||||
msgid "Sign in instead"
|
||||
msgstr ""
|
||||
|
||||
@@ -2031,13 +2063,13 @@ msgid "Sofa will automatically log movies and episodes when you finish watching
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/change-password.tsx:77
|
||||
#: apps/native/src/app/person/[id].tsx:169
|
||||
#: apps/native/src/app/person/[id].tsx:254
|
||||
#: apps/web/src/components/settings/account-section.tsx:391
|
||||
#: apps/web/src/routes/__root.tsx:139
|
||||
msgid "Something went wrong"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:113
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:114
|
||||
msgid "Something went wrong while loading this title. Please try again."
|
||||
msgstr ""
|
||||
|
||||
@@ -2070,7 +2102,7 @@ msgstr ""
|
||||
msgid "Starting import..."
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:64
|
||||
#: apps/native/src/hooks/use-title-actions.ts:62
|
||||
msgid "Status updated"
|
||||
msgstr ""
|
||||
|
||||
@@ -2095,11 +2127,11 @@ msgstr ""
|
||||
msgid "The page you're looking for doesn't exist."
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/routes/_app/people.$id.tsx:53
|
||||
#: apps/web/src/routes/_app/people.$id.tsx:55
|
||||
msgid "The person you're looking for doesn't exist or may have been removed from the database."
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:142
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:143
|
||||
msgid "The title you're looking for doesn't exist or may have been removed from the database."
|
||||
msgstr ""
|
||||
|
||||
@@ -2121,11 +2153,16 @@ msgid "This page was left on the cutting room floor. It may have been moved, rem
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(settings)/index.tsx:559
|
||||
#: apps/web/src/routes/_app/settings.tsx:112
|
||||
#: apps/web/src/routes/setup.tsx:180
|
||||
#: apps/web/src/routes/_app/settings.tsx:114
|
||||
#: apps/web/src/routes/setup.tsx:181
|
||||
msgid "This product uses the TMDB API but is not endorsed or certified by TMDB."
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:102
|
||||
#: apps/web/src/components/titles/status-button.tsx:123
|
||||
msgid "This title will be removed from your library. Your watch history and ratings will be kept."
|
||||
msgstr "This title will be removed from your library. Your watch history and ratings will be kept."
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx:88
|
||||
msgid "this week"
|
||||
msgstr "this week"
|
||||
@@ -2147,7 +2184,7 @@ msgstr ""
|
||||
msgid "This will delete un-enriched stub titles that aren't in any user's library and clean up orphaned person records. Deleted titles will be re-imported if accessed again."
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:124
|
||||
#: apps/native/src/components/settings/integration-card.tsx:133
|
||||
msgid "This will invalidate the current {label} URL. You'll need to update it in {label}."
|
||||
msgstr ""
|
||||
|
||||
@@ -2187,7 +2224,7 @@ msgid "Time:"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/title/[id].tsx:231
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:139
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:140
|
||||
msgid "Title not found"
|
||||
msgstr ""
|
||||
|
||||
@@ -2236,7 +2273,7 @@ msgid "Trending today"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(explore)/index.tsx:77
|
||||
#: apps/web/src/routes/_app/explore.tsx:129
|
||||
#: apps/web/src/routes/_app/explore.tsx:131
|
||||
msgid "Trending Today"
|
||||
msgstr ""
|
||||
|
||||
@@ -2291,11 +2328,11 @@ msgid "Unwatch all"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: season.name ?? t`Season ${season.seasonNumber}`
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:313
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:305
|
||||
msgid "Unwatched all of {0}"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:156
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:154
|
||||
msgid "Unwatched S{seasonNum} E{epNum}"
|
||||
msgstr ""
|
||||
|
||||
@@ -2366,7 +2403,7 @@ msgstr ""
|
||||
msgid "Upload profile picture"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:117
|
||||
#: apps/native/src/components/settings/integration-card.tsx:125
|
||||
msgid "URL copied to clipboard"
|
||||
msgstr ""
|
||||
|
||||
@@ -2399,36 +2436,36 @@ msgstr ""
|
||||
msgid "Watch on {name}"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:277
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:286
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:269
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:278
|
||||
msgid "Watched all of {seasonLabel}"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/lib/title-actions.ts:119
|
||||
#: apps/native/src/lib/title-actions.ts:109
|
||||
msgid "Watched all of {seasonName}"
|
||||
msgstr ""
|
||||
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:199
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:208
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:197
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:206
|
||||
msgid "Watched S{seasonNum} E{epNum}"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:43
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:48
|
||||
#: apps/web/src/components/title-card.tsx:69
|
||||
#: apps/web/src/components/titles/status-button.tsx:14
|
||||
#: apps/web/src/components/titles/status-button.tsx:47
|
||||
msgid "Watching"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:78
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:85
|
||||
#: apps/web/src/components/settings/imports-section.tsx:743
|
||||
#: apps/web/src/components/settings/imports-section.tsx:769
|
||||
#: apps/web/src/components/titles/status-button.tsx:49
|
||||
#: apps/web/src/components/titles/status-button.tsx:82
|
||||
msgid "Watchlist"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:41
|
||||
msgid "Watchlisted"
|
||||
msgstr ""
|
||||
#~ msgid "Watchlisted"
|
||||
#~ msgstr ""
|
||||
|
||||
#: apps/native/src/components/settings/integration-configs.ts:51
|
||||
#: apps/native/src/components/settings/integration-configs.ts:66
|
||||
@@ -2458,7 +2495,7 @@ msgstr ""
|
||||
msgid "With Ads"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/person/[id].tsx:52
|
||||
#: apps/native/src/app/person/[id].tsx:140
|
||||
#: apps/native/src/components/search/recently-viewed-row-content.tsx:30
|
||||
#: apps/web/src/components/people/person-hero.tsx:73
|
||||
msgid "Writer"
|
||||
|
||||
@@ -1 +1 @@
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"+5kO8P\":[\"Saturday\"],\"+6i0lS\":[\"Retrieving your watch history, watchlist, and ratings...\"],\"+Cv+V9\":[\"Remove from library\"],\"+JkEpu\":[\"This page was left on the cutting room floor. It may have been moved, removed, or never made it past the screenplay.\"],\"+K0AvT\":[\"Disconnect\"],\"+N0l5/\":[\"Connected to <0>\",[\"serverHost\"],\"</0>. Tap to change.\"],\"+gLHYi\":[\"Failed to load title\"],\"+j1ex/\":[\"Failed to remove from library\"],\"+nF1ZO\":[\"Remove Photo\"],\"/+6dvC\":[\"Errors (\",[\"0\"],\")\"],\"/BBXeA\":[\"Connecting to server...\"],\"/DwR+n\":[\"Creating…\"],\"/XtbPO\":[[\"0\"],\" titles\"],\"/cg+QV\":[\"Watch all\"],\"/gQXGv\":[\"Failed to update status\"],\"/nT6AE\":[\"New password\"],\"/sHc1/\":[\"Update check\"],\"0+dyau\":[\"Failed to update retention setting\"],\"0BFJKK\":[\"Authorization was denied. Please try again.\"],\"0GHb20\":[\"Purge metadata cache?\"],\"0IBW21\":[\"Failed to purge caches\"],\"0gH/sc\":[\"Remove profile picture\"],\"1+P9RR\":[\"Switch to \",[\"0\"]],\"12cc1j\":[\"Watching\"],\"12lVOl\":[\"Self-hosted movie & TV tracker\"],\"1B4z0M\":[\"Filmography\"],\"1J4Ek0\":[\"Automatically back up your database on a schedule\"],\"1JhxXW\":[\"Episode \",[\"0\"],\", \",[\"episodeLabel\"]],\"1N6wNP\":[\"Import options\"],\"1Qz4uG\":[\"Enable the \\\"Playback\\\" event category\"],\"1hMWR6\":[\"Create account\"],\"1jHIjh\":[\"Watched all of \",[\"seasonName\"]],\"1vSYsG\":[\"Download backup\"],\"1wL1tj\":[\"TV show\"],\"2FletP\":[\"Purged \",[\"0\",\"plural\",{\"one\":[\"#\",\" title\"],\"other\":[\"#\",\" titles\"]}],\", \",[\"1\",\"plural\",{\"one\":[\"#\",\" person\"],\"other\":[\"#\",\" persons\"]}],\", \",[\"2\",\"plural\",{\"one\":[\"#\",\" file\"],\"other\":[\"#\",\" files\"]}],\" (\",[\"freed\"],\" freed)\"],\"2Fsd9r\":[\"This Month\"],\"2MPcep\":[\"Import complete\"],\"2Mu33Z\":[\"Cache management\"],\"2POOFK\":[\"Free\"],\"2Pt2NY\":[\"This will remove all items from your history.\"],\"2fCpt5\":[\"Return home\"],\"2pPBp6\":[\"Trending today\"],\"39neVN\":[\"Movies \",[\"0\"]],\"39y5bn\":[\"Friday\"],\"3Blefz\":[\"Ratings\"],\"3JTlG8\":[\"Recent Searches\"],\"3Jy8bM\":[\"Movies \",[\"select\"]],\"3L9OuQ\":[\"Episode \",[\"0\"]],\"3T/4MV\":[\"this year\"],\"3T8ziB\":[\"Create an account\"],\"3hELxX\":[\"Enter your Sofa server URL to get started\"],\"4fxLkp\":[\"Open Sonarr, go to <0>Settings > Import Lists</0>\"],\"4kpBqM\":[\"Last event \",[\"0\"]],\"4uUjVO\":[\"Producer\"],\"4x+A56\":[\"Anonymous usage reporting\"],\"5IShvp\":[\"Import \",[\"totalItems\"],\" items\"],\"5IYJSv\":[\"Explore titles\"],\"5Y4mym\":[\"Import from \",[\"0\"]],\"5ZzgbQ\":[\"Connect \",[\"0\"]],\"5fEnbK\":[\"Failed to update scheduled backup setting\"],\"5lWFkC\":[\"Sign in\"],\"5v9C16\":[\"Connected to \",[\"source\"]],\"623bR4\":[\"Failed to trigger job\"],\"6HN0yh\":[\"Open Plex, go to Settings > Webhooks\"],\"6TNjOJ\":[\"Failed to update rating\"],\"6TfUy6\":[\"last \",[\"value\"]],\"6V3Ea3\":[\"Copied\"],\"6YtxFj\":[\"Name\"],\"6exX+8\":[\"Regenerate\"],\"6gRgw8\":[\"Retry\"],\"6lGV3K\":[\"Show less\"],\"76++pR\":[\"Warnings\"],\"77DIAu\":[\"Go to Dashboard > Plugins > Webhook\"],\"79m/GK\":[\"Episodes \",[\"0\"]],\"7Bj3x9\":[\"Failed\"],\"7D50KC\":[[\"label\"],\" disconnected\"],\"7GfM5w\":[\"Recently Viewed\"],\"7L01XJ\":[\"Actions\"],\"7eMo+U\":[\"Go Home\"],\"7p5kLi\":[\"Dashboard\"],\"85eoJ1\":[\"Schedule updated\"],\"8B9E2D\":[\"Day:\"],\"8YwF1J\":[\"Go to <0>Dashboard > Plugins > Webhook</0>\"],\"8ZsakT\":[\"Password\"],\"8tjQCz\":[\"Explore\"],\"8vNtLy\":[\"Paste the Radarr URL above into the List URL field\"],\"8wYDMp\":[\"Already have an account?\"],\"9AE3vb\":[\"Open Plex, go to <0>Settings > Webhooks<1/></0>\"],\"9GW0ZB\":[\"Import is still running in the background. Check back later.\"],\"9NyAH9\":[\"Skipped\"],\"9Xhrps\":[\"Failed to connect\"],\"9ZLGbA\":[\"backups.\"],\"9eF5oV\":[\"Welcome back\"],\"9rG25a\":[\"Server URL\"],\"A+0rLe\":[\"Marked as completed\"],\"A1taO8\":[\"Search\"],\"AOHgZp\":[\"Episodes\"],\"AOddWK\":[\"Connect \",[\"label\"]],\"ATfxL/\":[\"Trailer\"],\"AVlZoM\":[\"Environment\"],\"Acf6vF\":[\"Save name\"],\"AdoUfN\":[\"Failed to add to watchlist\"],\"AeXO77\":[\"Account\"],\"AjtYj0\":[\"On Watchlist\"],\"Avee+B\":[\"Failed to update name\"],\"B2R3xD\":[\"Toggle scheduled backups\"],\"BEVzjL\":[\"Import failed\"],\"BQnS5I\":[\"Open \",[\"source\"],\" to enter code\"],\"BUnoSB\":[[\"0\"],\" \",[\"1\",\"plural\",{\"one\":[\"backup\"],\"other\":[\"backups\"]}],\" stored\"],\"BpttUI\":[\"Trending Today\"],\"BrrIs8\":[\"Storage\"],\"BskWMl\":[\"Unreachable\"],\"BzEFor\":[\"or\"],\"CGDHFb\":[\"Add a <0>Generic Destination</0> and paste the URL above\"],\"CGExDN\":[\"Failed to purge image cache\"],\"CHeXFE\":[\"Status updated\"],\"CKyk7Q\":[\"Go back\"],\"CaB/+I\":[\"Welcome back, \",[\"name\"]],\"CodnUh\":[\"Removed from library\"],\"CpzGJY\":[\"ThLine truncated
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"+5kO8P\":[\"Saturday\"],\"+6i0lS\":[\"Retrieving your watch history, watchlist, and ratings...\"],\"+Cv+V9\":[\"Remove from library\"],\"+JkEpu\":[\"This page was left on the cutting room floor. It may have been moved, removed, or never made it past the screenplay.\"],\"+K0AvT\":[\"Disconnect\"],\"+N0l5/\":[\"Connected to <0>\",[\"serverHost\"],\"</0>. Tap to change.\"],\"+gLHYi\":[\"Failed to load title\"],\"+j1ex/\":[\"Failed to remove from library\"],\"+nF1ZO\":[\"Remove Photo\"],\"/+6dvC\":[\"Errors (\",[\"0\"],\")\"],\"/BBXeA\":[\"Connecting to server...\"],\"/DwR+n\":[\"Creating…\"],\"/XtbPO\":[[\"0\"],\" titles\"],\"/cg+QV\":[\"Watch all\"],\"/gQXGv\":[\"Failed to update status\"],\"/nT6AE\":[\"New password\"],\"/sHc1/\":[\"Update check\"],\"0+dyau\":[\"Failed to update retention setting\"],\"0BFJKK\":[\"Authorization was denied. Please try again.\"],\"0GHb20\":[\"Purge metadata cache?\"],\"0IBW21\":[\"Failed to purge caches\"],\"0gH/sc\":[\"Remove profile picture\"],\"1+P9RR\":[\"Switch to \",[\"0\"]],\"12cc1j\":[\"Watching\"],\"12lVOl\":[\"Self-hosted movie & TV tracker\"],\"1B4z0M\":[\"Filmography\"],\"1J4Ek0\":[\"Automatically back up your database on a schedule\"],\"1JhxXW\":[\"Episode \",[\"0\"],\", \",[\"episodeLabel\"]],\"1N6wNP\":[\"Import options\"],\"1Qz4uG\":[\"Enable the \\\"Playback\\\" event category\"],\"1hMWR6\":[\"Create account\"],\"1jHIjh\":[\"Watched all of \",[\"seasonName\"]],\"1vSYsG\":[\"Download backup\"],\"1wL1tj\":[\"TV show\"],\"2FletP\":[\"Purged \",[\"0\",\"plural\",{\"one\":[\"#\",\" title\"],\"other\":[\"#\",\" titles\"]}],\", \",[\"1\",\"plural\",{\"one\":[\"#\",\" person\"],\"other\":[\"#\",\" persons\"]}],\", \",[\"2\",\"plural\",{\"one\":[\"#\",\" file\"],\"other\":[\"#\",\" files\"]}],\" (\",[\"freed\"],\" freed)\"],\"2Fsd9r\":[\"This Month\"],\"2MPcep\":[\"Import complete\"],\"2Mu33Z\":[\"Cache management\"],\"2POOFK\":[\"Free\"],\"2Pt2NY\":[\"This will remove all items from your history.\"],\"2fCpt5\":[\"Return home\"],\"2pPBp6\":[\"Trending today\"],\"37o8E8\":[\"In Watchlist\"],\"39neVN\":[\"Movies \",[\"0\"]],\"39y5bn\":[\"Friday\"],\"3Blefz\":[\"Ratings\"],\"3JTlG8\":[\"Recent Searches\"],\"3Jy8bM\":[\"Movies \",[\"select\"]],\"3L9OuQ\":[\"Episode \",[\"0\"]],\"3T/4MV\":[\"this year\"],\"3T8ziB\":[\"Create an account\"],\"3hELxX\":[\"Enter your Sofa server URL to get started\"],\"4fxLkp\":[\"Open Sonarr, go to <0>Settings > Import Lists</0>\"],\"4kpBqM\":[\"Last event \",[\"0\"]],\"4uUjVO\":[\"Producer\"],\"4x+A56\":[\"Anonymous usage reporting\"],\"5IShvp\":[\"Import \",[\"totalItems\"],\" items\"],\"5IYJSv\":[\"Explore titles\"],\"5Y4mym\":[\"Import from \",[\"0\"]],\"5ZzgbQ\":[\"Connect \",[\"0\"]],\"5fEnbK\":[\"Failed to update scheduled backup setting\"],\"5lWFkC\":[\"Sign in\"],\"5v9C16\":[\"Connected to \",[\"source\"]],\"623bR4\":[\"Failed to trigger job\"],\"6HN0yh\":[\"Open Plex, go to Settings > Webhooks\"],\"6TNjOJ\":[\"Failed to update rating\"],\"6TfUy6\":[\"last \",[\"value\"]],\"6V3Ea3\":[\"Copied\"],\"6YtxFj\":[\"Name\"],\"6exX+8\":[\"Regenerate\"],\"6gRgw8\":[\"Retry\"],\"6lGV3K\":[\"Show less\"],\"76++pR\":[\"Warnings\"],\"77DIAu\":[\"Go to Dashboard > Plugins > Webhook\"],\"79m/GK\":[\"Episodes \",[\"0\"]],\"7Bj3x9\":[\"Failed\"],\"7D50KC\":[[\"label\"],\" disconnected\"],\"7GfM5w\":[\"Recently Viewed\"],\"7L01XJ\":[\"Actions\"],\"7eMo+U\":[\"Go Home\"],\"7p5kLi\":[\"Dashboard\"],\"85eoJ1\":[\"Schedule updated\"],\"8B9E2D\":[\"Day:\"],\"8YwF1J\":[\"Go to <0>Dashboard > Plugins > Webhook</0>\"],\"8ZsakT\":[\"Password\"],\"8tjQCz\":[\"Explore\"],\"8vNtLy\":[\"Paste the Radarr URL above into the List URL field\"],\"8wYDMp\":[\"Already have an account?\"],\"9AE3vb\":[\"Open Plex, go to <0>Settings > Webhooks<1/></0>\"],\"9GW0ZB\":[\"Import is still running in the background. Check back later.\"],\"9NyAH9\":[\"Skipped\"],\"9Xhrps\":[\"Failed to connect\"],\"9ZLGbA\":[\"backups.\"],\"9eF5oV\":[\"Welcome back\"],\"9rG25a\":[\"Server URL\"],\"A+0rLe\":[\"Marked as completed\"],\"A1taO8\":[\"Search\"],\"AOHgZp\":[\"Episodes\"],\"AOddWK\":[\"Connect \",[\"label\"]],\"ATfxL/\":[\"Trailer\"],\"AVlZoM\":[\"Environment\"],\"Acf6vF\":[\"Save name\"],\"AdoUfN\":[\"Failed to add to watchlist\"],\"AeXO77\":[\"Account\"],\"AjtYj0\":[\"On Watchlist\"],\"Avee+B\":[\"Failed to update name\"],\"B2R3xD\":[\"Toggle scheduled backups\"],\"BEVzjL\":[\"Import failed\"],\"BQnS5I\":[\"Open \",[\"source\"],\" to enter code\"],\"BUnoSB\":[[\"0\"],\" \",[\"1\",\"plural\",{\"one\":[\"backup\"],\"other\":[\"backups\"]}],\" stored\"],\"BpttUI\":[\"Trending Today\"],\"BrrIs8\":[\"Storage\"],\"BskWMl\":[\"Unreachable\"],\"BzEFor\":[\"or\"],\"CGDHFb\":[\"Add a <0>Generic Destination</0> and paste the URL above\"],\"CGExDN\":[\"Failed to purge image cache\"],\"CHeXFE\":[\"Status updated\"],\"CKyk7Q\":[\"Go back\"],\"CaB/+I\":[\"Welcome back, \",[\"name\"]],\"CodnUh\":[\"Removed frLine truncated
|
||||
+207
-170
@@ -57,7 +57,7 @@ msgstr "{0} imágenes en caché"
|
||||
#. placeholder {1}: member.episodeCount !== 1 ? "s" : ""
|
||||
#: apps/web/src/components/titles/cast-carousel.tsx:78
|
||||
msgid "{0} ep{1}"
|
||||
msgstr ""
|
||||
msgstr "{0} ep{1}"
|
||||
|
||||
#: apps/native/src/app/(tabs)/(settings)/index.tsx:472
|
||||
#~ msgid "{0} images"
|
||||
@@ -104,8 +104,8 @@ msgstr "{0}/{1} {2, plural, one {episodio} other {episodios}}"
|
||||
#~ msgid "{0}/{1} episodes"
|
||||
#~ msgstr "{0}/{1} episodes"
|
||||
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:200
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:278
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:198
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:270
|
||||
msgid "{count} earlier {count, plural, one {episode} other {episodes}} unwatched"
|
||||
msgstr "{count} {count, plural, one {episodio anterior sin ver} other {episodios anteriores sin ver}}"
|
||||
|
||||
@@ -114,22 +114,22 @@ msgstr "{count} {count, plural, one {episodio anterior sin ver} other {episodios
|
||||
msgid "{healthyCount} of {0} jobs healthy"
|
||||
msgstr "{healthyCount} de {0} tareas en buen estado"
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:84
|
||||
#: apps/native/src/components/settings/integration-card.tsx:86
|
||||
#: apps/web/src/components/settings/integration-card.tsx:89
|
||||
msgid "{label} connected"
|
||||
msgstr "{label} conectado"
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:94
|
||||
#: apps/native/src/components/settings/integration-card.tsx:96
|
||||
#: apps/web/src/components/settings/integration-card.tsx:105
|
||||
msgid "{label} disconnected"
|
||||
msgstr "{label} desconectado"
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:104
|
||||
#: apps/native/src/components/settings/integration-card.tsx:106
|
||||
#: apps/web/src/components/settings/integration-card.tsx:119
|
||||
msgid "{label} URL regenerated"
|
||||
msgstr "URL de {label} regenerada"
|
||||
|
||||
#: apps/web/src/components/title-card.tsx:152
|
||||
#: apps/web/src/components/title-card.tsx:157
|
||||
msgid "{watched}/{total} episodes"
|
||||
msgstr "{watched}/{total} episodios"
|
||||
|
||||
@@ -157,11 +157,11 @@ msgstr "Cuenta"
|
||||
msgid "Actions"
|
||||
msgstr "Acciones"
|
||||
|
||||
#: apps/native/src/app/person/[id].tsx:50
|
||||
#: apps/native/src/app/person/[id].tsx:138
|
||||
#: apps/native/src/components/search/recently-viewed-row-content.tsx:28
|
||||
#: apps/web/src/components/people/person-hero.tsx:69
|
||||
msgid "Actor"
|
||||
msgstr ""
|
||||
msgstr "Actor"
|
||||
|
||||
#: apps/native/src/components/settings/integration-configs.ts:71
|
||||
msgid "Add a \"Generic Destination\" and paste the URL above"
|
||||
@@ -180,13 +180,13 @@ msgstr "Añade un nuevo webhook y pega la URL anterior"
|
||||
msgid "Add to Library"
|
||||
msgstr "Añadir a la biblioteca"
|
||||
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:73
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:80
|
||||
msgid "Add to watchlist"
|
||||
msgstr "Añadir a la lista"
|
||||
|
||||
#: apps/native/src/components/explore/hero-banner.tsx:132
|
||||
#: apps/native/src/components/ui/poster-card.tsx:212
|
||||
#: apps/web/src/components/title-card.tsx:133
|
||||
#: apps/native/src/components/ui/poster-card.tsx:215
|
||||
#: apps/web/src/components/title-card.tsx:138
|
||||
msgid "Add to Watchlist"
|
||||
msgstr "Añadir a la lista"
|
||||
|
||||
@@ -197,7 +197,7 @@ msgstr "\"{titleName}\" añadido a la lista"
|
||||
#: apps/native/src/hooks/use-title-actions.ts:44
|
||||
#: apps/native/src/hooks/use-title-actions.ts:59
|
||||
#: apps/native/src/lib/title-actions.ts:25
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:98
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:95
|
||||
msgid "Added to watchlist"
|
||||
msgstr "Añadido a la lista"
|
||||
|
||||
@@ -207,13 +207,13 @@ msgstr "Añadido a la lista"
|
||||
#: apps/web/src/components/nav-bar.tsx:223
|
||||
#: apps/web/src/components/settings/account-section.tsx:309
|
||||
msgid "Admin"
|
||||
msgstr ""
|
||||
msgstr "Admin"
|
||||
|
||||
#: apps/web/src/routes/_app/settings.tsx:154
|
||||
#: apps/web/src/routes/_app/settings.tsx:156
|
||||
msgid "Admin only"
|
||||
msgstr "Solo administradores"
|
||||
|
||||
#: apps/native/src/app/person/[id].tsx:249
|
||||
#: apps/native/src/app/person/[id].tsx:189
|
||||
#: apps/web/src/components/people/person-hero.tsx:89
|
||||
msgid "age {age}"
|
||||
msgstr "edad {age}"
|
||||
@@ -243,7 +243,7 @@ msgstr "Ocurrió un error inesperado al cargar esta página. Puedes intentarlo d
|
||||
msgid "Anonymous usage reporting"
|
||||
msgstr "Informe de uso anónimo"
|
||||
|
||||
#: apps/web/src/routes/_app/settings.tsx:135
|
||||
#: apps/web/src/routes/_app/settings.tsx:137
|
||||
msgid "App Settings"
|
||||
msgstr "Ajustes de la app"
|
||||
|
||||
@@ -251,7 +251,7 @@ msgstr "Ajustes de la app"
|
||||
msgid "Application"
|
||||
msgstr "Aplicación"
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:139
|
||||
#: apps/native/src/components/settings/integration-card.tsx:148
|
||||
msgid "Are you sure you want to disconnect {label}? The current URL will stop working."
|
||||
msgstr "¿Seguro que quieres desconectar {label}? La URL actual dejará de funcionar."
|
||||
|
||||
@@ -310,7 +310,7 @@ msgid "Backup schedule"
|
||||
msgstr "Programación de copias de seguridad"
|
||||
|
||||
#: apps/web/src/components/settings/system-health-section.tsx:583
|
||||
#: apps/web/src/routes/_app/settings.tsx:190
|
||||
#: apps/web/src/routes/_app/settings.tsx:192
|
||||
msgid "Backups"
|
||||
msgstr "Copias de seguridad"
|
||||
|
||||
@@ -337,8 +337,9 @@ msgstr "No se puede contactar con el servidor"
|
||||
#: apps/native/src/components/header-avatar.tsx:63
|
||||
#: apps/native/src/components/search/recently-viewed-list.ios.tsx:58
|
||||
#: apps/native/src/components/search/recently-viewed-list.tsx:32
|
||||
#: apps/native/src/components/settings/integration-card.tsx:126
|
||||
#: apps/native/src/components/settings/integration-card.tsx:141
|
||||
#: apps/native/src/components/settings/integration-card.tsx:135
|
||||
#: apps/native/src/components/settings/integration-card.tsx:150
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:104
|
||||
#: apps/web/src/components/settings/account-section.tsx:477
|
||||
#: apps/web/src/components/settings/backup-restore-section.tsx:101
|
||||
#: apps/web/src/components/settings/backup-section.tsx:240
|
||||
@@ -348,6 +349,7 @@ msgstr "No se puede contactar con el servidor"
|
||||
#: apps/web/src/components/settings/imports-section.tsx:611
|
||||
#: apps/web/src/components/settings/imports-section.tsx:674
|
||||
#: apps/web/src/components/settings/imports-section.tsx:798
|
||||
#: apps/web/src/components/titles/status-button.tsx:131
|
||||
#: apps/web/src/components/titles/title-seasons.tsx:127
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
@@ -361,14 +363,20 @@ msgstr "Cancelar edición"
|
||||
msgid "Cast"
|
||||
msgstr "Reparto"
|
||||
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:202
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:280
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:200
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:272
|
||||
msgid "Catch up"
|
||||
msgstr "Ponerse al día"
|
||||
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:50
|
||||
#: apps/web/src/components/title-card.tsx:74
|
||||
#: apps/web/src/components/titles/status-button.tsx:54
|
||||
msgid "Caught Up"
|
||||
msgstr "Al día"
|
||||
|
||||
#. placeholder {0}: episodeIds.length
|
||||
#. placeholder {1}: episodeIds.length
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:72
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:69
|
||||
msgid "Caught up — marked {0} {1, plural, one {episode} other {episodes}} as watched"
|
||||
msgstr "Al día — {0} {1, plural, one {episodio marcado como visto} other {episodios marcados como vistos}}"
|
||||
|
||||
@@ -418,7 +426,7 @@ msgstr "Elige cómo importar tus datos de {0}."
|
||||
#: apps/native/src/components/search/recently-viewed-list.ios.tsx:60
|
||||
#: apps/native/src/components/search/recently-viewed-list.ios.tsx:104
|
||||
#: apps/native/src/components/search/recently-viewed-list.tsx:34
|
||||
#: apps/native/src/components/search/recently-viewed-list.tsx:86
|
||||
#: apps/native/src/components/search/recently-viewed-list.tsx:68
|
||||
msgid "Clear"
|
||||
msgstr "Limpiar"
|
||||
|
||||
@@ -455,10 +463,10 @@ msgid "Close"
|
||||
msgstr "Cerrar"
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx:146
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:45
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:52
|
||||
#: apps/web/src/components/dashboard/stats-display.tsx:219
|
||||
#: apps/web/src/components/title-card.tsx:74
|
||||
#: apps/web/src/components/titles/status-button.tsx:25
|
||||
#: apps/web/src/components/title-card.tsx:79
|
||||
#: apps/web/src/components/titles/status-button.tsx:59
|
||||
msgid "Completed"
|
||||
msgstr "Completado"
|
||||
|
||||
@@ -477,7 +485,7 @@ msgstr "Conectar"
|
||||
msgid "Connect {0}"
|
||||
msgstr "Conectar {0}"
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:207
|
||||
#: apps/native/src/components/settings/integration-card.tsx:216
|
||||
msgid "Connect {label}"
|
||||
msgstr "Conectar {label}"
|
||||
|
||||
@@ -485,7 +493,7 @@ msgstr "Conectar {label}"
|
||||
msgid "Connect to {source}"
|
||||
msgstr "Conectar con {source}"
|
||||
|
||||
#: apps/web/src/routes/setup.tsx:98
|
||||
#: apps/web/src/routes/setup.tsx:99
|
||||
msgid "Connect to TMDB"
|
||||
msgstr "Conectar con TMDB"
|
||||
|
||||
@@ -516,7 +524,7 @@ msgstr "Conectando al servidor..."
|
||||
msgid "Connecting..."
|
||||
msgstr "Conectando..."
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:207
|
||||
#: apps/native/src/components/settings/integration-card.tsx:216
|
||||
msgid "Connecting…"
|
||||
msgstr "Conectando…"
|
||||
|
||||
@@ -545,7 +553,7 @@ msgstr "Copiar URL"
|
||||
msgid "Could not load integrations"
|
||||
msgstr "No se pudieron cargar las integraciones"
|
||||
|
||||
#: apps/native/src/app/person/[id].tsx:172
|
||||
#: apps/native/src/app/person/[id].tsx:257
|
||||
msgid "Could not load person details"
|
||||
msgstr "No se pudieron cargar los detalles de la persona"
|
||||
|
||||
@@ -579,14 +587,14 @@ msgstr "Contraseña actual"
|
||||
msgid "Current password is required"
|
||||
msgstr "La contraseña actual es obligatoria"
|
||||
|
||||
#: apps/web/src/routes/_app/settings.tsx:216
|
||||
#: apps/web/src/routes/_app/settings.tsx:218
|
||||
msgid "Danger Zone"
|
||||
msgstr "Zona de peligro"
|
||||
|
||||
#: apps/web/src/routes/__root.tsx:163
|
||||
#: apps/web/src/routes/_app/people.$id.tsx:76
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:119
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:165
|
||||
#: apps/web/src/routes/_app/people.$id.tsx:78
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:120
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:166
|
||||
msgid "Dashboard"
|
||||
msgstr "Panel"
|
||||
|
||||
@@ -630,29 +638,29 @@ msgstr "{0, plural, one {# archivo eliminado} other {# archivos eliminados}}, li
|
||||
msgid "Device code expired. Please try again."
|
||||
msgstr "El código del dispositivo ha expirado. Por favor, inténtalo de nuevo."
|
||||
|
||||
#: apps/native/src/app/person/[id].tsx:249
|
||||
#: apps/native/src/app/person/[id].tsx:189
|
||||
#: apps/web/src/components/people/person-hero.tsx:89
|
||||
msgid "died at {age}"
|
||||
msgstr "falleció a los {age}"
|
||||
|
||||
#: apps/native/src/app/person/[id].tsx:51
|
||||
#: apps/native/src/app/person/[id].tsx:139
|
||||
#: apps/native/src/components/search/recently-viewed-row-content.tsx:29
|
||||
#: apps/web/src/components/people/person-hero.tsx:71
|
||||
msgid "Director"
|
||||
msgstr ""
|
||||
msgstr "Director"
|
||||
|
||||
#: apps/web/src/components/settings/system-health-section.tsx:394
|
||||
#: apps/web/src/components/settings/system-health-section.tsx:574
|
||||
msgid "Disabled"
|
||||
msgstr "Desactivado"
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:143
|
||||
#: apps/native/src/components/settings/integration-card.tsx:257
|
||||
#: apps/native/src/components/settings/integration-card.tsx:152
|
||||
#: apps/native/src/components/settings/integration-card.tsx:266
|
||||
#: apps/web/src/components/settings/integration-card.tsx:234
|
||||
msgid "Disconnect"
|
||||
msgstr "Desconectar"
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:138
|
||||
#: apps/native/src/components/settings/integration-card.tsx:147
|
||||
msgid "Disconnect {label}"
|
||||
msgstr "Desconectar {label}"
|
||||
|
||||
@@ -685,11 +693,11 @@ msgstr "Descargar"
|
||||
msgid "Download backup"
|
||||
msgstr "Descargar copia de seguridad"
|
||||
|
||||
#: apps/native/src/app/person/[id].tsx:54
|
||||
#: apps/native/src/app/person/[id].tsx:142
|
||||
#: apps/native/src/components/search/recently-viewed-row-content.tsx:32
|
||||
#: apps/web/src/components/people/person-hero.tsx:77
|
||||
msgid "Editor"
|
||||
msgstr ""
|
||||
msgstr "Editor"
|
||||
|
||||
#: apps/native/src/app/(auth)/login.tsx:123
|
||||
#: apps/native/src/app/(auth)/register.tsx:139
|
||||
@@ -729,24 +737,31 @@ msgstr "Introduce la URL de tu servidor Sofa para comenzar"
|
||||
msgid "Environment"
|
||||
msgstr "Entorno"
|
||||
|
||||
#. placeholder {0}: episode.episodeNumber
|
||||
#: apps/native/src/components/titles/episode-row.tsx:27
|
||||
#: apps/native/src/components/titles/episode-row.tsx:48
|
||||
msgid "Episode {0}"
|
||||
msgstr "Episodio {0}"
|
||||
#~ msgid "Episode {0}"
|
||||
#~ msgstr "Episodio {0}"
|
||||
|
||||
#. placeholder {0}: episode.episodeNumber
|
||||
#: apps/native/src/components/titles/episode-row.tsx:34
|
||||
msgid "Episode {0}, {episodeLabel}"
|
||||
msgstr "Episodio {0}, {episodeLabel}"
|
||||
#~ msgid "Episode {0}, {episodeLabel}"
|
||||
#~ msgstr "Episodio {0}, {episodeLabel}"
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:111
|
||||
#: apps/native/src/lib/title-actions.ts:108
|
||||
#: apps/native/src/components/titles/episode-row.tsx:29
|
||||
#: apps/native/src/components/titles/episode-row.tsx:52
|
||||
msgid "Episode {episodeNumber}"
|
||||
msgstr "Episodio {episodeNumber}"
|
||||
|
||||
#: apps/native/src/components/titles/episode-row.tsx:38
|
||||
msgid "Episode {episodeNumber}, {episodeLabel}"
|
||||
msgstr "Episodio {episodeNumber}, {episodeLabel}"
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:109
|
||||
#: apps/native/src/lib/title-actions.ts:84
|
||||
msgid "Episode unwatched"
|
||||
msgstr "Episodio marcado como no visto"
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:101
|
||||
#: apps/native/src/lib/title-actions.ts:98
|
||||
#: apps/native/src/hooks/use-title-actions.ts:99
|
||||
#: apps/native/src/lib/title-actions.ts:74
|
||||
msgid "Episode watched"
|
||||
msgstr "Episodio marcado como visto"
|
||||
|
||||
@@ -758,7 +773,7 @@ msgstr "Episodios"
|
||||
#. placeholder {0}: periodLabels[episodePeriod]
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx:125
|
||||
msgid "Episodes {0}"
|
||||
msgstr ""
|
||||
msgstr "Episodios {0}"
|
||||
|
||||
#: apps/web/src/components/dashboard/stats-display.tsx:162
|
||||
#~ msgid "Episodes {periodSelect}"
|
||||
@@ -775,7 +790,7 @@ msgstr "Episodios {select}"
|
||||
#: apps/native/src/app/change-password.tsx:67
|
||||
#: apps/native/src/app/change-password.tsx:77
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
msgstr "Error"
|
||||
|
||||
#. placeholder {0}: result.errors.length
|
||||
#: apps/web/src/components/settings/imports-section.tsx:887
|
||||
@@ -790,8 +805,8 @@ msgstr "Errores ({0})"
|
||||
msgid "Explore"
|
||||
msgstr "Explorar"
|
||||
|
||||
#: apps/web/src/routes/_app/people.$id.tsx:68
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:157
|
||||
#: apps/web/src/routes/_app/people.$id.tsx:70
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:158
|
||||
msgid "Explore titles"
|
||||
msgstr "Explorar títulos"
|
||||
|
||||
@@ -804,7 +819,7 @@ msgstr "Fallido"
|
||||
msgid "Failed to add to watchlist"
|
||||
msgstr "Error al añadir a la lista"
|
||||
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:80
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:77
|
||||
msgid "Failed to catch up"
|
||||
msgstr "Error al ponerse al día"
|
||||
|
||||
@@ -817,7 +832,7 @@ msgstr "Error al cambiar la contraseña"
|
||||
msgid "Failed to connect"
|
||||
msgstr "Error al conectar"
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:87
|
||||
#: apps/native/src/components/settings/integration-card.tsx:89
|
||||
#: apps/web/src/components/settings/integration-card.tsx:91
|
||||
msgid "Failed to connect {label}"
|
||||
msgstr "Error al conectar {label}"
|
||||
@@ -834,7 +849,7 @@ msgstr "Error al crear la copia de seguridad"
|
||||
msgid "Failed to delete backup"
|
||||
msgstr "Error al eliminar la copia de seguridad"
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:97
|
||||
#: apps/native/src/components/settings/integration-card.tsx:99
|
||||
#: apps/web/src/components/settings/integration-card.tsx:108
|
||||
msgid "Failed to disconnect {label}"
|
||||
msgstr "Error al desconectar {label}"
|
||||
@@ -843,29 +858,30 @@ msgstr "Error al desconectar {label}"
|
||||
msgid "Failed to load backup schedule settings."
|
||||
msgstr "Error al cargar los ajustes de programación de copias de seguridad."
|
||||
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:110
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:111
|
||||
msgid "Failed to load title"
|
||||
msgstr "Error al cargar el título"
|
||||
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:344
|
||||
#: apps/native/src/lib/title-actions.ts:101
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:338
|
||||
msgid "Failed to mark all episodes as watched"
|
||||
msgstr "Error al marcar todos los episodios como vistos"
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:79
|
||||
#: apps/native/src/lib/title-actions.ts:67
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:137
|
||||
#: apps/native/src/hooks/use-title-actions.ts:77
|
||||
#: apps/native/src/lib/title-actions.ts:43
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:134
|
||||
msgid "Failed to mark as watched"
|
||||
msgstr "Error al marcar como visto"
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:104
|
||||
#: apps/native/src/lib/title-actions.ts:101
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:216
|
||||
#: apps/native/src/hooks/use-title-actions.ts:102
|
||||
#: apps/native/src/lib/title-actions.ts:77
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:214
|
||||
msgid "Failed to mark episode"
|
||||
msgstr "Error al marcar el episodio"
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:124
|
||||
#: apps/native/src/lib/title-actions.ts:123
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:294
|
||||
#: apps/native/src/hooks/use-title-actions.ts:122
|
||||
#: apps/native/src/lib/title-actions.ts:113
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:286
|
||||
msgid "Failed to mark some episodes"
|
||||
msgstr "Error al marcar algunos episodios"
|
||||
|
||||
@@ -889,12 +905,12 @@ msgstr "Error al purgar la caché de imágenes"
|
||||
msgid "Failed to purge metadata cache"
|
||||
msgstr "Error al purgar la caché de metadatos"
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:107
|
||||
#: apps/native/src/components/settings/integration-card.tsx:109
|
||||
#: apps/web/src/components/settings/integration-card.tsx:121
|
||||
msgid "Failed to regenerate {label} URL"
|
||||
msgstr "Error al regenerar la URL de {label}"
|
||||
|
||||
#: apps/native/src/lib/title-actions.ts:77
|
||||
#: apps/native/src/lib/title-actions.ts:53
|
||||
msgid "Failed to remove from library"
|
||||
msgstr "Error al eliminar de la biblioteca"
|
||||
|
||||
@@ -916,13 +932,13 @@ msgstr "Error al iniciar la conexión con {0}"
|
||||
msgid "Failed to trigger job"
|
||||
msgstr "Error al iniciar la tarea"
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:114
|
||||
#: apps/native/src/lib/title-actions.ts:111
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:163
|
||||
#: apps/native/src/hooks/use-title-actions.ts:112
|
||||
#: apps/native/src/lib/title-actions.ts:87
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:161
|
||||
msgid "Failed to unmark episode"
|
||||
msgstr "Error al desmarcar el episodio"
|
||||
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:320
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:312
|
||||
msgid "Failed to unmark some episodes"
|
||||
msgstr "Error al desmarcar algunos episodios"
|
||||
|
||||
@@ -930,9 +946,9 @@ msgstr "Error al desmarcar algunos episodios"
|
||||
msgid "Failed to update name"
|
||||
msgstr "Error al actualizar el nombre"
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:94
|
||||
#: apps/native/src/lib/title-actions.ts:91
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:123
|
||||
#: apps/native/src/hooks/use-title-actions.ts:92
|
||||
#: apps/native/src/lib/title-actions.ts:67
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:120
|
||||
msgid "Failed to update rating"
|
||||
msgstr "Error al actualizar la valoración"
|
||||
|
||||
@@ -958,10 +974,8 @@ msgstr "Error al actualizar el ajuste de copia de seguridad programada"
|
||||
msgid "Failed to update setting"
|
||||
msgstr "Error al actualizar el ajuste"
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:69
|
||||
#: apps/native/src/lib/title-actions.ts:41
|
||||
#: apps/native/src/lib/title-actions.ts:55
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:101
|
||||
#: apps/native/src/hooks/use-title-actions.ts:67
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:98
|
||||
msgid "Failed to update status"
|
||||
msgstr "Error al actualizar el estado"
|
||||
|
||||
@@ -973,7 +987,7 @@ msgstr "Error al subir el avatar"
|
||||
msgid "Fetching your library data from {source}..."
|
||||
msgstr "Obteniendo datos de tu biblioteca desde {source}..."
|
||||
|
||||
#: apps/native/src/app/person/[id].tsx:279
|
||||
#: apps/native/src/app/person/[id].tsx:219
|
||||
#: apps/web/src/components/people/filmography-grid.tsx:67
|
||||
msgid "Filmography"
|
||||
msgstr "Filmografía"
|
||||
@@ -1002,8 +1016,8 @@ msgstr "Viernes"
|
||||
msgid "Get Started"
|
||||
msgstr "Comenzar"
|
||||
|
||||
#: apps/native/src/app/person/[id].tsx:176
|
||||
#: apps/native/src/app/person/[id].tsx:196
|
||||
#: apps/native/src/app/person/[id].tsx:261
|
||||
#: apps/native/src/app/person/[id].tsx:281
|
||||
#: apps/native/src/app/title/[id].tsx:235
|
||||
msgid "Go back"
|
||||
msgstr "Volver"
|
||||
@@ -1112,6 +1126,11 @@ msgstr "En la biblioteca"
|
||||
msgid "In Library"
|
||||
msgstr "En la biblioteca"
|
||||
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:46
|
||||
#: apps/web/src/components/titles/status-button.tsx:40
|
||||
msgid "In Watchlist"
|
||||
msgstr "En lista de seguimiento"
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx:179
|
||||
#: apps/web/src/components/dashboard/library-section.tsx:35
|
||||
msgid "In Your Library"
|
||||
@@ -1222,22 +1241,23 @@ msgid "Mark all episodes as watched?"
|
||||
msgstr "¿Marcar todos los episodios como vistos?"
|
||||
|
||||
#: apps/native/src/components/titles/season-accordion.tsx:152
|
||||
#: apps/native/src/components/ui/poster-card.tsx:229
|
||||
#: apps/web/src/components/titles/title-seasons.tsx:109
|
||||
#: apps/web/src/components/titles/title-seasons.tsx:135
|
||||
msgid "Mark All Watched"
|
||||
msgstr "Marcar todos como vistos"
|
||||
|
||||
#: apps/native/src/components/dashboard/continue-watching-card.tsx:103
|
||||
msgid "Mark as Completed"
|
||||
msgstr "Marcar como completado"
|
||||
#~ msgid "Mark as Completed"
|
||||
#~ msgstr "Marcar como completado"
|
||||
|
||||
#: apps/native/src/components/ui/poster-card.tsx:226
|
||||
#: apps/native/src/components/ui/poster-card.tsx:222
|
||||
msgid "Mark as Watched"
|
||||
msgstr "Marcar como visto"
|
||||
|
||||
#: apps/native/src/components/ui/poster-card.tsx:219
|
||||
msgid "Mark as Watching"
|
||||
msgstr "Marcar como en curso"
|
||||
#~ msgid "Mark as Watching"
|
||||
#~ msgstr "Marcar como en curso"
|
||||
|
||||
#: apps/native/src/app/title/[id].tsx:400
|
||||
#: apps/web/src/components/titles/title-actions.tsx:27
|
||||
@@ -1245,32 +1265,37 @@ msgid "Mark Watched"
|
||||
msgstr "Marcar como visto"
|
||||
|
||||
#: apps/native/src/lib/title-actions.ts:50
|
||||
msgid "Marked \"{titleName}\" as completed"
|
||||
msgstr "\"{titleName}\" marcado como completado"
|
||||
#~ msgid "Marked \"{titleName}\" as completed"
|
||||
#~ msgstr "\"{titleName}\" marcado como completado"
|
||||
|
||||
#: apps/native/src/lib/title-actions.ts:63
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:134
|
||||
#: apps/native/src/lib/title-actions.ts:39
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:131
|
||||
msgid "Marked \"{titleName}\" as watched"
|
||||
msgstr "\"{titleName}\" marcado como visto"
|
||||
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:337
|
||||
#: apps/native/src/lib/title-actions.ts:97
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:331
|
||||
msgid "Marked all episodes as watched"
|
||||
msgstr "Todos los episodios marcados como vistos"
|
||||
|
||||
#: apps/native/src/lib/title-actions.ts:96
|
||||
msgid "Marked all episodes of \"{titleName}\" as watched"
|
||||
msgstr "Se marcaron todos los episodios de \"{titleName}\" como vistos"
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:61
|
||||
#: apps/native/src/lib/title-actions.ts:51
|
||||
msgid "Marked as completed"
|
||||
msgstr "Marcado como completado"
|
||||
#~ msgid "Marked as completed"
|
||||
#~ msgstr "Marcado como completado"
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:76
|
||||
#: apps/native/src/lib/title-actions.ts:63
|
||||
#: apps/native/src/hooks/use-title-actions.ts:74
|
||||
#: apps/native/src/lib/title-actions.ts:39
|
||||
msgid "Marked as watched"
|
||||
msgstr "Marcado como visto"
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:60
|
||||
#: apps/native/src/lib/title-actions.ts:38
|
||||
msgid "Marked as watching"
|
||||
msgstr "Marcado como en curso"
|
||||
#~ msgid "Marked as watching"
|
||||
#~ msgstr "Marcado como en curso"
|
||||
|
||||
#: apps/web/src/components/settings/account-section.tsx:314
|
||||
msgid "Member since {memberSince}"
|
||||
@@ -1305,7 +1330,7 @@ msgstr "Películas"
|
||||
#. placeholder {0}: periodLabels[moviePeriod]
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx:114
|
||||
msgid "Movies {0}"
|
||||
msgstr ""
|
||||
msgstr "Películas {0}"
|
||||
|
||||
#: apps/web/src/components/dashboard/stats-display.tsx:161
|
||||
#~ msgid "Movies {periodSelect}"
|
||||
@@ -1345,7 +1370,7 @@ msgstr "Nunca ejecutado"
|
||||
msgid "New account creation is currently disabled."
|
||||
msgstr "La creación de nuevas cuentas está desactivada actualmente."
|
||||
|
||||
#: apps/web/src/routes/_auth/register.tsx:36
|
||||
#: apps/web/src/routes/_auth/register.tsx:33
|
||||
msgid "New accounts are not being accepted right now. Contact the admin if you need access."
|
||||
msgstr "No se aceptan nuevas cuentas en este momento. Contacta al administrador si necesitas acceso."
|
||||
|
||||
@@ -1403,7 +1428,7 @@ msgstr "No se encontraron resultados."
|
||||
msgid "No titles found for this genre."
|
||||
msgstr "No se encontraron títulos para este género."
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:174
|
||||
#: apps/native/src/components/settings/integration-card.tsx:183
|
||||
#: apps/web/src/components/settings/integration-card.tsx:153
|
||||
#: apps/web/src/components/settings/system-health-section.tsx:229
|
||||
msgid "Not configured"
|
||||
@@ -1517,8 +1542,8 @@ msgstr "Comprobar periódicamente GitHub para nuevas versiones de Sofa"
|
||||
msgid "Person"
|
||||
msgstr "Persona"
|
||||
|
||||
#: apps/native/src/app/person/[id].tsx:192
|
||||
#: apps/web/src/routes/_app/people.$id.tsx:50
|
||||
#: apps/native/src/app/person/[id].tsx:277
|
||||
#: apps/web/src/routes/_app/people.$id.tsx:52
|
||||
msgid "Person not found"
|
||||
msgstr "Persona no encontrada"
|
||||
|
||||
@@ -1527,12 +1552,12 @@ msgid "Play trailer"
|
||||
msgstr "Reproducir tráiler"
|
||||
|
||||
#: apps/native/src/app/(tabs)/(explore)/index.tsx:89
|
||||
#: apps/web/src/routes/_app/explore.tsx:141
|
||||
#: apps/web/src/routes/_app/explore.tsx:143
|
||||
msgid "Popular Movies"
|
||||
msgstr "Películas populares"
|
||||
|
||||
#: apps/native/src/app/(tabs)/(explore)/index.tsx:102
|
||||
#: apps/web/src/routes/_app/explore.tsx:151
|
||||
#: apps/web/src/routes/_app/explore.tsx:153
|
||||
msgid "Popular TV Shows"
|
||||
msgstr "Series populares"
|
||||
|
||||
@@ -1540,7 +1565,7 @@ msgstr "Series populares"
|
||||
msgid "Pre-restore backup"
|
||||
msgstr "Copia de seguridad previa a restauración"
|
||||
|
||||
#: apps/native/src/app/person/[id].tsx:53
|
||||
#: apps/native/src/app/person/[id].tsx:141
|
||||
#: apps/native/src/components/search/recently-viewed-row-content.tsx:31
|
||||
#: apps/web/src/components/people/person-hero.tsx:75
|
||||
msgid "Producer"
|
||||
@@ -1612,7 +1637,7 @@ msgstr "URL de lista de Radarr"
|
||||
|
||||
#. placeholder {0}: input.stars
|
||||
#. placeholder {1}: input.stars
|
||||
#: apps/native/src/hooks/use-title-actions.ts:88
|
||||
#: apps/native/src/hooks/use-title-actions.ts:86
|
||||
msgid "Rated {0} {1, plural, one {star} other {stars}}"
|
||||
msgstr "Valorado con {0} {1, plural, one {estrella} other {estrellas}}"
|
||||
|
||||
@@ -1620,11 +1645,11 @@ msgstr "Valorado con {0} {1, plural, one {estrella} other {estrellas}}"
|
||||
#~ msgid "Rated {0} star{1}"
|
||||
#~ msgstr "Rated {0} star{1}"
|
||||
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:118
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:115
|
||||
msgid "Rated {ratingStars} {ratingStars, plural, one {star} other {stars}}"
|
||||
msgstr "Valorado con {ratingStars} {ratingStars, plural, one {estrella} other {estrellas}}"
|
||||
|
||||
#: apps/native/src/lib/title-actions.ts:86
|
||||
#: apps/native/src/lib/title-actions.ts:62
|
||||
msgid "Rated {stars, plural, one {# star} other {# stars}}"
|
||||
msgstr "Valorado con {stars, plural, one {# estrella} other {# estrellas}}"
|
||||
|
||||
@@ -1633,9 +1658,9 @@ msgstr "Valorado con {stars, plural, one {# estrella} other {# estrellas}}"
|
||||
msgid "Rating"
|
||||
msgstr "Valoración"
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:89
|
||||
#: apps/native/src/lib/title-actions.ts:87
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:119
|
||||
#: apps/native/src/hooks/use-title-actions.ts:87
|
||||
#: apps/native/src/lib/title-actions.ts:63
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:116
|
||||
msgid "Rating removed"
|
||||
msgstr "Valoración eliminada"
|
||||
|
||||
@@ -1663,7 +1688,7 @@ msgid "Recent Searches"
|
||||
msgstr "Búsquedas recientes"
|
||||
|
||||
#: apps/native/src/components/search/recently-viewed-list.ios.tsx:95
|
||||
#: apps/native/src/components/search/recently-viewed-list.tsx:77
|
||||
#: apps/native/src/components/search/recently-viewed-list.tsx:59
|
||||
msgid "Recently Viewed"
|
||||
msgstr "Vistos recientemente"
|
||||
|
||||
@@ -1692,12 +1717,12 @@ msgstr "Actualizar"
|
||||
msgid "Refresh system health"
|
||||
msgstr "Actualizar estado del sistema"
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:128
|
||||
#: apps/native/src/components/settings/integration-card.tsx:248
|
||||
#: apps/native/src/components/settings/integration-card.tsx:137
|
||||
#: apps/native/src/components/settings/integration-card.tsx:257
|
||||
msgid "Regenerate"
|
||||
msgstr "Regenerar"
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:123
|
||||
#: apps/native/src/components/settings/integration-card.tsx:132
|
||||
#: apps/web/src/components/settings/integration-card.tsx:226
|
||||
msgid "Regenerate URL"
|
||||
msgstr "Regenerar URL"
|
||||
@@ -1717,7 +1742,7 @@ msgid "Registration closed"
|
||||
msgstr "Registro cerrado"
|
||||
|
||||
#: apps/native/src/app/(auth)/register.tsx:87
|
||||
#: apps/web/src/routes/_auth/register.tsx:33
|
||||
#: apps/web/src/routes/_auth/register.tsx:30
|
||||
msgid "Registration Closed"
|
||||
msgstr "Registro cerrado"
|
||||
|
||||
@@ -1726,20 +1751,27 @@ msgstr "Registro cerrado"
|
||||
msgid "Registration opened"
|
||||
msgstr "Registro abierto"
|
||||
|
||||
#: apps/web/src/components/titles/status-button.tsx:76
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:106
|
||||
#: apps/web/src/components/titles/status-button.tsx:109
|
||||
#: apps/web/src/components/titles/status-button.tsx:139
|
||||
msgid "Remove"
|
||||
msgstr "Eliminar"
|
||||
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:96
|
||||
#: apps/web/src/components/titles/status-button.tsx:60
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:115
|
||||
#: apps/web/src/components/titles/status-button.tsx:93
|
||||
msgid "Remove from library"
|
||||
msgstr "Eliminar de la biblioteca"
|
||||
|
||||
#: apps/native/src/components/dashboard/continue-watching-card.tsx:108
|
||||
#: apps/native/src/components/ui/poster-card.tsx:233
|
||||
#: apps/native/src/components/ui/poster-card.tsx:236
|
||||
msgid "Remove from Library"
|
||||
msgstr "Eliminar de la biblioteca"
|
||||
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:101
|
||||
#: apps/web/src/components/titles/status-button.tsx:120
|
||||
msgid "Remove from library?"
|
||||
msgstr "¿Eliminar de la biblioteca?"
|
||||
|
||||
#: apps/native/src/app/(tabs)/(settings)/index.tsx:268
|
||||
msgid "Remove Photo"
|
||||
msgstr "Eliminar foto"
|
||||
@@ -1752,9 +1784,9 @@ msgstr "Eliminar foto"
|
||||
msgid "Remove profile picture"
|
||||
msgstr "Eliminar foto de perfil"
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:65
|
||||
#: apps/native/src/lib/title-actions.ts:74
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:98
|
||||
#: apps/native/src/hooks/use-title-actions.ts:63
|
||||
#: apps/native/src/lib/title-actions.ts:50
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:95
|
||||
msgid "Removed from library"
|
||||
msgstr "Eliminado de la biblioteca"
|
||||
|
||||
@@ -1861,14 +1893,14 @@ msgstr "Copias de seguridad programadas activadas"
|
||||
#: apps/native/src/app/(tabs)/(search)/_layout.tsx:7
|
||||
#: apps/native/src/components/navigation/native-tab-bar.tsx:41
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
msgstr "Buscar"
|
||||
|
||||
#: apps/web/src/components/dashboard/stats-section.tsx:35
|
||||
msgid "Search for movies and TV shows to start tracking"
|
||||
msgstr "Busca películas y series para empezar a seguirlas"
|
||||
|
||||
#: apps/native/src/components/search/recently-viewed-list.ios.tsx:72
|
||||
#: apps/native/src/components/search/recently-viewed-list.tsx:55
|
||||
#: apps/native/src/components/search/recently-viewed-list.tsx:81
|
||||
msgid "Search for movies, shows, or people"
|
||||
msgstr "Busca películas, series o personas"
|
||||
|
||||
@@ -1892,13 +1924,13 @@ msgstr "Buscar…"
|
||||
#. placeholder {0}: season.seasonNumber
|
||||
#: apps/native/src/components/titles/season-accordion.tsx:113
|
||||
#: apps/native/src/components/titles/season-accordion.tsx:119
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:274
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:313
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:266
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:305
|
||||
msgid "Season {0}"
|
||||
msgstr "Temporada {0}"
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:121
|
||||
#: apps/native/src/lib/title-actions.ts:119
|
||||
#: apps/native/src/hooks/use-title-actions.ts:119
|
||||
#: apps/native/src/lib/title-actions.ts:109
|
||||
msgid "Season watched"
|
||||
msgstr "Temporada marcada como vista"
|
||||
|
||||
@@ -1907,7 +1939,7 @@ msgid "Seasons"
|
||||
msgstr "Temporadas"
|
||||
|
||||
#: apps/native/src/app/(tabs)/(settings)/index.tsx:452
|
||||
#: apps/web/src/routes/_app/settings.tsx:167
|
||||
#: apps/web/src/routes/_app/settings.tsx:169
|
||||
msgid "Security"
|
||||
msgstr "Seguridad"
|
||||
|
||||
@@ -1915,7 +1947,7 @@ msgstr "Seguridad"
|
||||
msgid "Self-hosted movie & TV tracker"
|
||||
msgstr "Seguimiento de películas y series autoalojado"
|
||||
|
||||
#: apps/web/src/routes/_app/settings.tsx:151
|
||||
#: apps/web/src/routes/_app/settings.tsx:153
|
||||
msgid "Server"
|
||||
msgstr "Servidor"
|
||||
|
||||
@@ -1947,12 +1979,12 @@ msgstr "Configura tu perfil de calidad y carpeta raíz preferidos"
|
||||
msgid "Settings"
|
||||
msgstr "Ajustes"
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:271
|
||||
#: apps/native/src/components/settings/integration-card.tsx:280
|
||||
#: apps/web/src/components/settings/integration-card.tsx:248
|
||||
msgid "Setup instructions"
|
||||
msgstr "Instrucciones de configuración"
|
||||
|
||||
#: apps/web/src/routes/setup.tsx:95
|
||||
#: apps/web/src/routes/setup.tsx:96
|
||||
msgid "Setup required"
|
||||
msgstr "Configuración requerida"
|
||||
|
||||
@@ -1977,7 +2009,7 @@ msgstr "Iniciar sesión"
|
||||
msgid "Sign In"
|
||||
msgstr "Iniciar sesión"
|
||||
|
||||
#: apps/web/src/routes/_auth/register.tsx:45
|
||||
#: apps/web/src/routes/_auth/register.tsx:42
|
||||
msgid "Sign in instead"
|
||||
msgstr "Iniciar sesión"
|
||||
|
||||
@@ -2031,13 +2063,13 @@ msgid "Sofa will automatically log movies and episodes when you finish watching
|
||||
msgstr "Sofa registrará automáticamente películas y episodios cuando termines de verlos"
|
||||
|
||||
#: apps/native/src/app/change-password.tsx:77
|
||||
#: apps/native/src/app/person/[id].tsx:169
|
||||
#: apps/native/src/app/person/[id].tsx:254
|
||||
#: apps/web/src/components/settings/account-section.tsx:391
|
||||
#: apps/web/src/routes/__root.tsx:139
|
||||
msgid "Something went wrong"
|
||||
msgstr "Algo salió mal"
|
||||
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:113
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:114
|
||||
msgid "Something went wrong while loading this title. Please try again."
|
||||
msgstr "Algo salió mal al cargar este título. Por favor, inténtalo de nuevo."
|
||||
|
||||
@@ -2070,7 +2102,7 @@ msgstr "Comenzando a las"
|
||||
msgid "Starting import..."
|
||||
msgstr "Iniciando importación..."
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:64
|
||||
#: apps/native/src/hooks/use-title-actions.ts:62
|
||||
msgid "Status updated"
|
||||
msgstr "Estado actualizado"
|
||||
|
||||
@@ -2095,11 +2127,11 @@ msgstr "Cambiar a {0}"
|
||||
msgid "The page you're looking for doesn't exist."
|
||||
msgstr "La página que buscas no existe."
|
||||
|
||||
#: apps/web/src/routes/_app/people.$id.tsx:53
|
||||
#: apps/web/src/routes/_app/people.$id.tsx:55
|
||||
msgid "The person you're looking for doesn't exist or may have been removed from the database."
|
||||
msgstr "La persona que buscas no existe o puede haber sido eliminada de la base de datos."
|
||||
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:142
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:143
|
||||
msgid "The title you're looking for doesn't exist or may have been removed from the database."
|
||||
msgstr "El título que buscas no existe o puede haber sido eliminado de la base de datos."
|
||||
|
||||
@@ -2109,7 +2141,7 @@ msgstr "Esto puede tardar unos minutos para bibliotecas grandes. Por favor, no c
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx:89
|
||||
msgid "this month"
|
||||
msgstr ""
|
||||
msgstr "este mes"
|
||||
|
||||
#: apps/native/src/components/dashboard/stats-card.tsx:31
|
||||
#: apps/web/src/components/dashboard/stats-display.tsx:135
|
||||
@@ -2121,14 +2153,19 @@ msgid "This page was left on the cutting room floor. It may have been moved, rem
|
||||
msgstr "Esta página quedó en la sala de montaje. Puede que haya sido movida, eliminada o que nunca pasara del guion."
|
||||
|
||||
#: apps/native/src/app/(tabs)/(settings)/index.tsx:559
|
||||
#: apps/web/src/routes/_app/settings.tsx:112
|
||||
#: apps/web/src/routes/setup.tsx:180
|
||||
#: apps/web/src/routes/_app/settings.tsx:114
|
||||
#: apps/web/src/routes/setup.tsx:181
|
||||
msgid "This product uses the TMDB API but is not endorsed or certified by TMDB."
|
||||
msgstr "Este producto utiliza la API de TMDB pero no está respaldado ni certificado por TMDB."
|
||||
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:102
|
||||
#: apps/web/src/components/titles/status-button.tsx:123
|
||||
msgid "This title will be removed from your library. Your watch history and ratings will be kept."
|
||||
msgstr "Este título será eliminado de tu biblioteca. Tu historial de visualización y calificaciones se conservarán."
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx:88
|
||||
msgid "this week"
|
||||
msgstr ""
|
||||
msgstr "esta semana"
|
||||
|
||||
#: apps/native/src/components/dashboard/stats-card.tsx:30
|
||||
#: apps/web/src/components/dashboard/stats-display.tsx:134
|
||||
@@ -2147,7 +2184,7 @@ msgstr "Esto eliminará todos los títulos parciales sin enriquecer y todas las
|
||||
msgid "This will delete un-enriched stub titles that aren't in any user's library and clean up orphaned person records. Deleted titles will be re-imported if accessed again."
|
||||
msgstr "Esto eliminará los títulos parciales sin enriquecer que no estén en la biblioteca de ningún usuario y limpiará los registros de personas huérfanas. Los títulos eliminados se reimportarán si se accede a ellos de nuevo."
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:124
|
||||
#: apps/native/src/components/settings/integration-card.tsx:133
|
||||
msgid "This will invalidate the current {label} URL. You'll need to update it in {label}."
|
||||
msgstr "Esto invalidará la URL actual de {label}. Tendrás que actualizarla en {label}."
|
||||
|
||||
@@ -2171,7 +2208,7 @@ msgstr "Esto reemplazará toda tu base de datos con el archivo subido. Primero s
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx:90
|
||||
msgid "this year"
|
||||
msgstr ""
|
||||
msgstr "este año"
|
||||
|
||||
#: apps/native/src/components/dashboard/stats-card.tsx:32
|
||||
#: apps/web/src/components/dashboard/stats-display.tsx:136
|
||||
@@ -2187,7 +2224,7 @@ msgid "Time:"
|
||||
msgstr "Hora:"
|
||||
|
||||
#: apps/native/src/app/title/[id].tsx:231
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:139
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:140
|
||||
msgid "Title not found"
|
||||
msgstr "Título no encontrado"
|
||||
|
||||
@@ -2203,7 +2240,7 @@ msgstr "Los títulos de tu lista de Sofa se añadirán automáticamente para des
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx:87
|
||||
msgid "today"
|
||||
msgstr ""
|
||||
msgstr "hoy"
|
||||
|
||||
#: apps/native/src/components/dashboard/stats-card.tsx:29
|
||||
#: apps/web/src/components/dashboard/stats-display.tsx:133
|
||||
@@ -2236,7 +2273,7 @@ msgid "Trending today"
|
||||
msgstr "Tendencia hoy"
|
||||
|
||||
#: apps/native/src/app/(tabs)/(explore)/index.tsx:77
|
||||
#: apps/web/src/routes/_app/explore.tsx:129
|
||||
#: apps/web/src/routes/_app/explore.tsx:131
|
||||
msgid "Trending Today"
|
||||
msgstr "Tendencias hoy"
|
||||
|
||||
@@ -2291,11 +2328,11 @@ msgid "Unwatch all"
|
||||
msgstr "Desmarcar todo"
|
||||
|
||||
#. placeholder {0}: season.name ?? t`Season ${season.seasonNumber}`
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:313
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:305
|
||||
msgid "Unwatched all of {0}"
|
||||
msgstr "Todo de {0} marcado como no visto"
|
||||
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:156
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:154
|
||||
msgid "Unwatched S{seasonNum} E{epNum}"
|
||||
msgstr "No visto T{seasonNum} E{epNum}"
|
||||
|
||||
@@ -2366,7 +2403,7 @@ msgstr "Subir foto"
|
||||
msgid "Upload profile picture"
|
||||
msgstr "Subir foto de perfil"
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:117
|
||||
#: apps/native/src/components/settings/integration-card.tsx:125
|
||||
msgid "URL copied to clipboard"
|
||||
msgstr "URL copiada al portapapeles"
|
||||
|
||||
@@ -2399,36 +2436,36 @@ msgstr "Historial de visionado"
|
||||
msgid "Watch on {name}"
|
||||
msgstr "Ver en {name}"
|
||||
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:277
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:286
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:269
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:278
|
||||
msgid "Watched all of {seasonLabel}"
|
||||
msgstr "Visto todo de {seasonLabel}"
|
||||
|
||||
#: apps/native/src/lib/title-actions.ts:119
|
||||
#: apps/native/src/lib/title-actions.ts:109
|
||||
msgid "Watched all of {seasonName}"
|
||||
msgstr "Visto todo de {seasonName}"
|
||||
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:199
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:208
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:197
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:206
|
||||
msgid "Watched S{seasonNum} E{epNum}"
|
||||
msgstr "Visto T{seasonNum} E{epNum}"
|
||||
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:43
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:48
|
||||
#: apps/web/src/components/title-card.tsx:69
|
||||
#: apps/web/src/components/titles/status-button.tsx:14
|
||||
#: apps/web/src/components/titles/status-button.tsx:47
|
||||
msgid "Watching"
|
||||
msgstr "Viendo"
|
||||
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:78
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:85
|
||||
#: apps/web/src/components/settings/imports-section.tsx:743
|
||||
#: apps/web/src/components/settings/imports-section.tsx:769
|
||||
#: apps/web/src/components/titles/status-button.tsx:49
|
||||
#: apps/web/src/components/titles/status-button.tsx:82
|
||||
msgid "Watchlist"
|
||||
msgstr "Lista"
|
||||
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:41
|
||||
msgid "Watchlisted"
|
||||
msgstr "En lista"
|
||||
#~ msgid "Watchlisted"
|
||||
#~ msgstr "En lista"
|
||||
|
||||
#: apps/native/src/components/settings/integration-configs.ts:51
|
||||
#: apps/native/src/components/settings/integration-configs.ts:66
|
||||
@@ -2458,7 +2495,7 @@ msgstr "Dónde ver"
|
||||
msgid "With Ads"
|
||||
msgstr "Con anuncios"
|
||||
|
||||
#: apps/native/src/app/person/[id].tsx:52
|
||||
#: apps/native/src/app/person/[id].tsx:140
|
||||
#: apps/native/src/components/search/recently-viewed-row-content.tsx:30
|
||||
#: apps/web/src/components/people/person-hero.tsx:73
|
||||
msgid "Writer"
|
||||
|
||||
@@ -1 +1 @@
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"+5kO8P\":[\"Sábado\"],\"+6i0lS\":[\"Obteniendo tu historial de visionado, lista y valoraciones...\"],\"+Cv+V9\":[\"Eliminar de la biblioteca\"],\"+JkEpu\":[\"Esta página quedó en la sala de montaje. Puede que haya sido movida, eliminada o que nunca pasara del guion.\"],\"+K0AvT\":[\"Desconectar\"],\"+N0l5/\":[\"Conectado a <0>\",[\"serverHost\"],\"</0>. Toca para cambiar.\"],\"+gLHYi\":[\"Error al cargar el título\"],\"+j1ex/\":[\"Error al eliminar de la biblioteca\"],\"+nF1ZO\":[\"Eliminar foto\"],\"/+6dvC\":[\"Errores (\",[\"0\"],\")\"],\"/BBXeA\":[\"Conectando al servidor...\"],\"/DwR+n\":[\"Creando…\"],\"/XtbPO\":[[\"0\"],\" titles\"],\"/cg+QV\":[\"Marcar todo como visto\"],\"/gQXGv\":[\"Error al actualizar el estado\"],\"/nT6AE\":[\"Nueva contraseña\"],\"/sHc1/\":[\"Comprobación de actualizaciones\"],\"0+dyau\":[\"Error al actualizar el ajuste de retención\"],\"0BFJKK\":[\"La autorización fue denegada. Por favor, inténtalo de nuevo.\"],\"0GHb20\":[\"¿Purgar la caché de metadatos?\"],\"0IBW21\":[\"Error al purgar las cachés\"],\"0gH/sc\":[\"Eliminar foto de perfil\"],\"1+P9RR\":[\"Cambiar a \",[\"0\"]],\"12cc1j\":[\"Viendo\"],\"12lVOl\":[\"Seguimiento de películas y series autoalojado\"],\"1B4z0M\":[\"Filmografía\"],\"1J4Ek0\":[\"Realiza copias de seguridad automáticas de tu base de datos de forma programada\"],\"1JhxXW\":[\"Episodio \",[\"0\"],\", \",[\"episodeLabel\"]],\"1N6wNP\":[\"Opciones de importación\"],\"1Qz4uG\":[\"Activa la categoría de evento \\\"Playback\\\"\"],\"1hMWR6\":[\"Crear cuenta\"],\"1jHIjh\":[\"Visto todo de \",[\"seasonName\"]],\"1vSYsG\":[\"Descargar copia de seguridad\"],\"1wL1tj\":[\"Serie\"],\"2FletP\":[\"Purgados \",[\"0\",\"plural\",{\"one\":[\"#\",\" título\"],\"other\":[\"#\",\" títulos\"]}],\", \",[\"1\",\"plural\",{\"one\":[\"#\",\" persona\"],\"other\":[\"#\",\" personas\"]}],\", \",[\"2\",\"plural\",{\"one\":[\"#\",\" archivo\"],\"other\":[\"#\",\" archivos\"]}],\" (\",[\"freed\"],\" liberado)\"],\"2Fsd9r\":[\"Este mes\"],\"2MPcep\":[\"Importación completada\"],\"2Mu33Z\":[\"Gestión de caché\"],\"2POOFK\":[\"Gratis\"],\"2Pt2NY\":[\"Esto eliminará todos los elementos de tu historial.\"],\"2fCpt5\":[\"Volver al inicio\"],\"2pPBp6\":[\"Tendencia hoy\"],\"39neVN\":[\"Movies \",[\"0\"]],\"39y5bn\":[\"Viernes\"],\"3Blefz\":[\"Valoraciones\"],\"3JTlG8\":[\"Búsquedas recientes\"],\"3Jy8bM\":[\"Películas \",[\"select\"]],\"3L9OuQ\":[\"Episodio \",[\"0\"]],\"3T/4MV\":[\"this year\"],\"3T8ziB\":[\"Crear una cuenta\"],\"3hELxX\":[\"Introduce la URL de tu servidor Sofa para comenzar\"],\"4fxLkp\":[\"Abre Sonarr, ve a <0>Settings > Import Lists</0>\"],\"4kpBqM\":[\"Último evento \",[\"0\"]],\"4uUjVO\":[\"Productor\"],\"4x+A56\":[\"Informe de uso anónimo\"],\"5IShvp\":[\"Importar \",[\"totalItems\"],\" elementos\"],\"5IYJSv\":[\"Explorar títulos\"],\"5Y4mym\":[\"Importar desde \",[\"0\"]],\"5ZzgbQ\":[\"Conectar \",[\"0\"]],\"5fEnbK\":[\"Error al actualizar el ajuste de copia de seguridad programada\"],\"5lWFkC\":[\"Iniciar sesión\"],\"5v9C16\":[\"Conectado a \",[\"source\"]],\"623bR4\":[\"Error al iniciar la tarea\"],\"6HN0yh\":[\"Abre Plex, ve a Settings > Webhooks\"],\"6TNjOJ\":[\"Error al actualizar la valoración\"],\"6TfUy6\":[\"últimos \",[\"value\"]],\"6V3Ea3\":[\"Copiado\"],\"6YtxFj\":[\"Nombre\"],\"6exX+8\":[\"Regenerar\"],\"6gRgw8\":[\"Reintentar\"],\"6lGV3K\":[\"Mostrar menos\"],\"76++pR\":[\"Advertencias\"],\"77DIAu\":[\"Ve a Dashboard > Plugins > Webhook\"],\"79m/GK\":[\"Episodes \",[\"0\"]],\"7Bj3x9\":[\"Fallido\"],\"7D50KC\":[[\"label\"],\" desconectado\"],\"7GfM5w\":[\"Vistos recientemente\"],\"7L01XJ\":[\"Acciones\"],\"7eMo+U\":[\"Ir al inicio\"],\"7p5kLi\":[\"Panel\"],\"85eoJ1\":[\"Programación actualizada\"],\"8B9E2D\":[\"Día:\"],\"8YwF1J\":[\"Ve a <0>Dashboard > Plugins > Webhook</0>\"],\"8ZsakT\":[\"Contraseña\"],\"8tjQCz\":[\"Explorar\"],\"8vNtLy\":[\"Pega la URL de Radarr anterior en el campo URL de lista\"],\"8wYDMp\":[\"¿Ya tienes una cuenta?\"],\"9AE3vb\":[\"Abre Plex, ve a <0>Settings > Webhooks<1/></0>\"],\"9GW0ZB\":[\"La importación sigue en curso en segundo plano. Vuelve más tarde.\"],\"9NyAH9\":[\"Omitido\"],\"9Xhrps\":[\"Error al conectar\"],\"9ZLGbA\":[\"backups.\"],\"9eF5oV\":[\"Bienvenido de nuevo\"],\"9rG25a\":[\"URL del servidor\"],\"A+0rLe\":[\"Marcado como completado\"],\"A1taO8\":[\"Search\"],\"AOHgZp\":[\"Episodios\"],\"AOddWK\":[\"Conectar \",[\"label\"]],\"ATfxL/\":[\"Tráiler\"],\"AVlZoM\":[\"Entorno\"],\"Acf6vF\":[\"Guardar nombre\"],\"AdoUfN\":[\"Error al añadir a la lista\"],\"AeXO77\":[\"Cuenta\"],\"AjtYj0\":[\"En la lista\"],\"Avee+B\":[\"Error al actualizar el nombre\"],\"B2R3xD\":[\"Activar/desactivar copias de seguridad programadas\"],\"BEVzjL\":[\"Error en la importación\"],\"BQnS5I\":[\"Abre \",[\"source\"],\" para introducir el código\"],\"BUnoSB\":[[\"0\"],\" \",[\"1\",\"plural\",{\"one\":[\"bLine truncated
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"+5kO8P\":[\"Sábado\"],\"+6i0lS\":[\"Obteniendo tu historial de visionado, lista y valoraciones...\"],\"+Cv+V9\":[\"Eliminar de la biblioteca\"],\"+JkEpu\":[\"Esta página quedó en la sala de montaje. Puede que haya sido movida, eliminada o que nunca pasara del guion.\"],\"+K0AvT\":[\"Desconectar\"],\"+N0l5/\":[\"Conectado a <0>\",[\"serverHost\"],\"</0>. Toca para cambiar.\"],\"+gLHYi\":[\"Error al cargar el título\"],\"+j1ex/\":[\"Error al eliminar de la biblioteca\"],\"+nF1ZO\":[\"Eliminar foto\"],\"/+6dvC\":[\"Errores (\",[\"0\"],\")\"],\"/BBXeA\":[\"Conectando al servidor...\"],\"/DwR+n\":[\"Creando…\"],\"/XtbPO\":[[\"0\"],\" titles\"],\"/cg+QV\":[\"Marcar todo como visto\"],\"/gQXGv\":[\"Error al actualizar el estado\"],\"/nT6AE\":[\"Nueva contraseña\"],\"/sHc1/\":[\"Comprobación de actualizaciones\"],\"0+dyau\":[\"Error al actualizar el ajuste de retención\"],\"0BFJKK\":[\"La autorización fue denegada. Por favor, inténtalo de nuevo.\"],\"0GHb20\":[\"¿Purgar la caché de metadatos?\"],\"0IBW21\":[\"Error al purgar las cachés\"],\"0gH/sc\":[\"Eliminar foto de perfil\"],\"1+P9RR\":[\"Cambiar a \",[\"0\"]],\"12cc1j\":[\"Viendo\"],\"12lVOl\":[\"Seguimiento de películas y series autoalojado\"],\"1B4z0M\":[\"Filmografía\"],\"1J4Ek0\":[\"Realiza copias de seguridad automáticas de tu base de datos de forma programada\"],\"1JhxXW\":[\"Episodio \",[\"0\"],\", \",[\"episodeLabel\"]],\"1N6wNP\":[\"Opciones de importación\"],\"1Qz4uG\":[\"Activa la categoría de evento \\\"Playback\\\"\"],\"1hMWR6\":[\"Crear cuenta\"],\"1jHIjh\":[\"Visto todo de \",[\"seasonName\"]],\"1vSYsG\":[\"Descargar copia de seguridad\"],\"1wL1tj\":[\"Serie\"],\"2FletP\":[\"Purgados \",[\"0\",\"plural\",{\"one\":[\"#\",\" título\"],\"other\":[\"#\",\" títulos\"]}],\", \",[\"1\",\"plural\",{\"one\":[\"#\",\" persona\"],\"other\":[\"#\",\" personas\"]}],\", \",[\"2\",\"plural\",{\"one\":[\"#\",\" archivo\"],\"other\":[\"#\",\" archivos\"]}],\" (\",[\"freed\"],\" liberado)\"],\"2Fsd9r\":[\"Este mes\"],\"2MPcep\":[\"Importación completada\"],\"2Mu33Z\":[\"Gestión de caché\"],\"2POOFK\":[\"Gratis\"],\"2Pt2NY\":[\"Esto eliminará todos los elementos de tu historial.\"],\"2fCpt5\":[\"Volver al inicio\"],\"2pPBp6\":[\"Tendencia hoy\"],\"37o8E8\":[\"En lista de seguimiento\"],\"39neVN\":[\"Películas \",[\"0\"]],\"39y5bn\":[\"Viernes\"],\"3Blefz\":[\"Valoraciones\"],\"3JTlG8\":[\"Búsquedas recientes\"],\"3Jy8bM\":[\"Películas \",[\"select\"]],\"3L9OuQ\":[\"Episodio \",[\"0\"]],\"3T/4MV\":[\"este año\"],\"3T8ziB\":[\"Crear una cuenta\"],\"3hELxX\":[\"Introduce la URL de tu servidor Sofa para comenzar\"],\"4fxLkp\":[\"Abre Sonarr, ve a <0>Settings > Import Lists</0>\"],\"4kpBqM\":[\"Último evento \",[\"0\"]],\"4uUjVO\":[\"Productor\"],\"4x+A56\":[\"Informe de uso anónimo\"],\"5IShvp\":[\"Importar \",[\"totalItems\"],\" elementos\"],\"5IYJSv\":[\"Explorar títulos\"],\"5Y4mym\":[\"Importar desde \",[\"0\"]],\"5ZzgbQ\":[\"Conectar \",[\"0\"]],\"5fEnbK\":[\"Error al actualizar el ajuste de copia de seguridad programada\"],\"5lWFkC\":[\"Iniciar sesión\"],\"5v9C16\":[\"Conectado a \",[\"source\"]],\"623bR4\":[\"Error al iniciar la tarea\"],\"6HN0yh\":[\"Abre Plex, ve a Settings > Webhooks\"],\"6TNjOJ\":[\"Error al actualizar la valoración\"],\"6TfUy6\":[\"últimos \",[\"value\"]],\"6V3Ea3\":[\"Copiado\"],\"6YtxFj\":[\"Nombre\"],\"6exX+8\":[\"Regenerar\"],\"6gRgw8\":[\"Reintentar\"],\"6lGV3K\":[\"Mostrar menos\"],\"76++pR\":[\"Advertencias\"],\"77DIAu\":[\"Ve a Dashboard > Plugins > Webhook\"],\"79m/GK\":[\"Episodios \",[\"0\"]],\"7Bj3x9\":[\"Fallido\"],\"7D50KC\":[[\"label\"],\" desconectado\"],\"7GfM5w\":[\"Vistos recientemente\"],\"7L01XJ\":[\"Acciones\"],\"7eMo+U\":[\"Ir al inicio\"],\"7p5kLi\":[\"Panel\"],\"85eoJ1\":[\"Programación actualizada\"],\"8B9E2D\":[\"Día:\"],\"8YwF1J\":[\"Ve a <0>Dashboard > Plugins > Webhook</0>\"],\"8ZsakT\":[\"Contraseña\"],\"8tjQCz\":[\"Explorar\"],\"8vNtLy\":[\"Pega la URL de Radarr anterior en el campo URL de lista\"],\"8wYDMp\":[\"¿Ya tienes una cuenta?\"],\"9AE3vb\":[\"Abre Plex, ve a <0>Settings > Webhooks<1/></0>\"],\"9GW0ZB\":[\"La importación sigue en curso en segundo plano. Vuelve más tarde.\"],\"9NyAH9\":[\"Omitido\"],\"9Xhrps\":[\"Error al conectar\"],\"9ZLGbA\":[\"backups.\"],\"9eF5oV\":[\"Bienvenido de nuevo\"],\"9rG25a\":[\"URL del servidor\"],\"A+0rLe\":[\"Marcado como completado\"],\"A1taO8\":[\"Buscar\"],\"AOHgZp\":[\"Episodios\"],\"AOddWK\":[\"Conectar \",[\"label\"]],\"ATfxL/\":[\"Tráiler\"],\"AVlZoM\":[\"Entorno\"],\"Acf6vF\":[\"Guardar nombre\"],\"AdoUfN\":[\"Error al añadir a la lista\"],\"AeXO77\":[\"Cuenta\"],\"AjtYj0\":[\"En la lista\"],\"Avee+B\":[\"Error al actualizar el nombre\"],\"B2R3xD\":[\"Activar/desactivar copias de seguridad programadas\"],\"BEVzjL\":[\"Error en la importación\"],\"BQnS5I\":[\"Abre \",[\"source\"],\" para introducir el código\"],\"BUnoSB\":Line truncated
|
||||
+205
-168
@@ -26,7 +26,7 @@ msgstr "...et {0} de plus"
|
||||
#. placeholder {0}: systemHealth.data.imageCache.imageCount
|
||||
#: apps/native/src/app/(tabs)/(settings)/index.tsx:438
|
||||
msgid "{0, plural, one {# image} other {# images}}"
|
||||
msgstr ""
|
||||
msgstr "{0, plural, one {# image} other {# images}}"
|
||||
|
||||
#. placeholder {0}: systemHealth.data.database.titleCount
|
||||
#: apps/native/src/app/(tabs)/(settings)/index.tsx:424
|
||||
@@ -104,8 +104,8 @@ msgstr "{0}/{1} {2, plural, one {épisode} other {épisodes}}"
|
||||
#~ msgid "{0}/{1} episodes"
|
||||
#~ msgstr "{0}/{1} episodes"
|
||||
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:200
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:278
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:198
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:270
|
||||
msgid "{count} earlier {count, plural, one {episode} other {episodes}} unwatched"
|
||||
msgstr "{count} {count, plural, one {épisode précédent non visionné} other {épisodes précédents non visionnés}}"
|
||||
|
||||
@@ -114,22 +114,22 @@ msgstr "{count} {count, plural, one {épisode précédent non visionné} other {
|
||||
msgid "{healthyCount} of {0} jobs healthy"
|
||||
msgstr "{healthyCount} sur {0} tâches en bonne santé"
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:84
|
||||
#: apps/native/src/components/settings/integration-card.tsx:86
|
||||
#: apps/web/src/components/settings/integration-card.tsx:89
|
||||
msgid "{label} connected"
|
||||
msgstr "{label} connecté"
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:94
|
||||
#: apps/native/src/components/settings/integration-card.tsx:96
|
||||
#: apps/web/src/components/settings/integration-card.tsx:105
|
||||
msgid "{label} disconnected"
|
||||
msgstr "{label} déconnecté"
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:104
|
||||
#: apps/native/src/components/settings/integration-card.tsx:106
|
||||
#: apps/web/src/components/settings/integration-card.tsx:119
|
||||
msgid "{label} URL regenerated"
|
||||
msgstr "URL {label} régénérée"
|
||||
|
||||
#: apps/web/src/components/title-card.tsx:152
|
||||
#: apps/web/src/components/title-card.tsx:157
|
||||
msgid "{watched}/{total} episodes"
|
||||
msgstr "{watched}/{total} épisodes"
|
||||
|
||||
@@ -155,9 +155,9 @@ msgstr "Compte"
|
||||
|
||||
#: apps/web/src/components/settings/system-health-section.tsx:378
|
||||
msgid "Actions"
|
||||
msgstr ""
|
||||
msgstr "Actions"
|
||||
|
||||
#: apps/native/src/app/person/[id].tsx:50
|
||||
#: apps/native/src/app/person/[id].tsx:138
|
||||
#: apps/native/src/components/search/recently-viewed-row-content.tsx:28
|
||||
#: apps/web/src/components/people/person-hero.tsx:69
|
||||
msgid "Actor"
|
||||
@@ -180,13 +180,13 @@ msgstr "Ajoutez un nouveau webhook et collez l'URL ci-dessus"
|
||||
msgid "Add to Library"
|
||||
msgstr "Ajouter à la bibliothèque"
|
||||
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:73
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:80
|
||||
msgid "Add to watchlist"
|
||||
msgstr "Ajouter à la liste de suivi"
|
||||
|
||||
#: apps/native/src/components/explore/hero-banner.tsx:132
|
||||
#: apps/native/src/components/ui/poster-card.tsx:212
|
||||
#: apps/web/src/components/title-card.tsx:133
|
||||
#: apps/native/src/components/ui/poster-card.tsx:215
|
||||
#: apps/web/src/components/title-card.tsx:138
|
||||
msgid "Add to Watchlist"
|
||||
msgstr "Ajouter à la liste de suivi"
|
||||
|
||||
@@ -197,7 +197,7 @@ msgstr "« {titleName} » ajouté à la liste de suivi"
|
||||
#: apps/native/src/hooks/use-title-actions.ts:44
|
||||
#: apps/native/src/hooks/use-title-actions.ts:59
|
||||
#: apps/native/src/lib/title-actions.ts:25
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:98
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:95
|
||||
msgid "Added to watchlist"
|
||||
msgstr "Ajouté à la liste de suivi"
|
||||
|
||||
@@ -207,13 +207,13 @@ msgstr "Ajouté à la liste de suivi"
|
||||
#: apps/web/src/components/nav-bar.tsx:223
|
||||
#: apps/web/src/components/settings/account-section.tsx:309
|
||||
msgid "Admin"
|
||||
msgstr ""
|
||||
msgstr "Admin"
|
||||
|
||||
#: apps/web/src/routes/_app/settings.tsx:154
|
||||
#: apps/web/src/routes/_app/settings.tsx:156
|
||||
msgid "Admin only"
|
||||
msgstr "Admins uniquement"
|
||||
|
||||
#: apps/native/src/app/person/[id].tsx:249
|
||||
#: apps/native/src/app/person/[id].tsx:189
|
||||
#: apps/web/src/components/people/person-hero.tsx:89
|
||||
msgid "age {age}"
|
||||
msgstr "âge {age}"
|
||||
@@ -243,15 +243,15 @@ msgstr "Une erreur inattendue s'est produite lors du chargement de cette page. V
|
||||
msgid "Anonymous usage reporting"
|
||||
msgstr "Rapports d'utilisation anonymes"
|
||||
|
||||
#: apps/web/src/routes/_app/settings.tsx:135
|
||||
#: apps/web/src/routes/_app/settings.tsx:137
|
||||
msgid "App Settings"
|
||||
msgstr "Paramètres de l'application"
|
||||
|
||||
#: apps/native/src/app/(tabs)/(settings)/index.tsx:362
|
||||
msgid "Application"
|
||||
msgstr ""
|
||||
msgstr "Application"
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:139
|
||||
#: apps/native/src/components/settings/integration-card.tsx:148
|
||||
msgid "Are you sure you want to disconnect {label}? The current URL will stop working."
|
||||
msgstr "Voulez-vous vraiment déconnecter {label} ? L'URL actuelle cessera de fonctionner."
|
||||
|
||||
@@ -310,7 +310,7 @@ msgid "Backup schedule"
|
||||
msgstr "Planning de sauvegarde"
|
||||
|
||||
#: apps/web/src/components/settings/system-health-section.tsx:583
|
||||
#: apps/web/src/routes/_app/settings.tsx:190
|
||||
#: apps/web/src/routes/_app/settings.tsx:192
|
||||
msgid "Backups"
|
||||
msgstr "Sauvegardes"
|
||||
|
||||
@@ -337,8 +337,9 @@ msgstr "Impossible de joindre le serveur"
|
||||
#: apps/native/src/components/header-avatar.tsx:63
|
||||
#: apps/native/src/components/search/recently-viewed-list.ios.tsx:58
|
||||
#: apps/native/src/components/search/recently-viewed-list.tsx:32
|
||||
#: apps/native/src/components/settings/integration-card.tsx:126
|
||||
#: apps/native/src/components/settings/integration-card.tsx:141
|
||||
#: apps/native/src/components/settings/integration-card.tsx:135
|
||||
#: apps/native/src/components/settings/integration-card.tsx:150
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:104
|
||||
#: apps/web/src/components/settings/account-section.tsx:477
|
||||
#: apps/web/src/components/settings/backup-restore-section.tsx:101
|
||||
#: apps/web/src/components/settings/backup-section.tsx:240
|
||||
@@ -348,6 +349,7 @@ msgstr "Impossible de joindre le serveur"
|
||||
#: apps/web/src/components/settings/imports-section.tsx:611
|
||||
#: apps/web/src/components/settings/imports-section.tsx:674
|
||||
#: apps/web/src/components/settings/imports-section.tsx:798
|
||||
#: apps/web/src/components/titles/status-button.tsx:131
|
||||
#: apps/web/src/components/titles/title-seasons.tsx:127
|
||||
msgid "Cancel"
|
||||
msgstr "Annuler"
|
||||
@@ -361,14 +363,20 @@ msgstr "Annuler la modification"
|
||||
msgid "Cast"
|
||||
msgstr "Distribution"
|
||||
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:202
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:280
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:200
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:272
|
||||
msgid "Catch up"
|
||||
msgstr "Rattraper"
|
||||
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:50
|
||||
#: apps/web/src/components/title-card.tsx:74
|
||||
#: apps/web/src/components/titles/status-button.tsx:54
|
||||
msgid "Caught Up"
|
||||
msgstr "À jour"
|
||||
|
||||
#. placeholder {0}: episodeIds.length
|
||||
#. placeholder {1}: episodeIds.length
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:72
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:69
|
||||
msgid "Caught up — marked {0} {1, plural, one {episode} other {episodes}} as watched"
|
||||
msgstr "Rattrapé — {0} {1, plural, one {épisode marqué comme visionné} other {épisodes marqués comme visionnés}}"
|
||||
|
||||
@@ -418,7 +426,7 @@ msgstr "Choisissez comment importer vos données {0}."
|
||||
#: apps/native/src/components/search/recently-viewed-list.ios.tsx:60
|
||||
#: apps/native/src/components/search/recently-viewed-list.ios.tsx:104
|
||||
#: apps/native/src/components/search/recently-viewed-list.tsx:34
|
||||
#: apps/native/src/components/search/recently-viewed-list.tsx:86
|
||||
#: apps/native/src/components/search/recently-viewed-list.tsx:68
|
||||
msgid "Clear"
|
||||
msgstr "Effacer"
|
||||
|
||||
@@ -455,10 +463,10 @@ msgid "Close"
|
||||
msgstr "Fermer"
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx:146
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:45
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:52
|
||||
#: apps/web/src/components/dashboard/stats-display.tsx:219
|
||||
#: apps/web/src/components/title-card.tsx:74
|
||||
#: apps/web/src/components/titles/status-button.tsx:25
|
||||
#: apps/web/src/components/title-card.tsx:79
|
||||
#: apps/web/src/components/titles/status-button.tsx:59
|
||||
msgid "Completed"
|
||||
msgstr "Terminé"
|
||||
|
||||
@@ -477,7 +485,7 @@ msgstr "Connecter"
|
||||
msgid "Connect {0}"
|
||||
msgstr "Connecter {0}"
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:207
|
||||
#: apps/native/src/components/settings/integration-card.tsx:216
|
||||
msgid "Connect {label}"
|
||||
msgstr "Connecter {label}"
|
||||
|
||||
@@ -485,7 +493,7 @@ msgstr "Connecter {label}"
|
||||
msgid "Connect to {source}"
|
||||
msgstr "Se connecter à {source}"
|
||||
|
||||
#: apps/web/src/routes/setup.tsx:98
|
||||
#: apps/web/src/routes/setup.tsx:99
|
||||
msgid "Connect to TMDB"
|
||||
msgstr "Se connecter à TMDB"
|
||||
|
||||
@@ -516,7 +524,7 @@ msgstr "Connexion au serveur..."
|
||||
msgid "Connecting..."
|
||||
msgstr "Connexion..."
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:207
|
||||
#: apps/native/src/components/settings/integration-card.tsx:216
|
||||
msgid "Connecting…"
|
||||
msgstr "Connexion…"
|
||||
|
||||
@@ -545,7 +553,7 @@ msgstr "Copier l'URL"
|
||||
msgid "Could not load integrations"
|
||||
msgstr "Impossible de charger les intégrations"
|
||||
|
||||
#: apps/native/src/app/person/[id].tsx:172
|
||||
#: apps/native/src/app/person/[id].tsx:257
|
||||
msgid "Could not load person details"
|
||||
msgstr "Impossible de charger les détails de la personne"
|
||||
|
||||
@@ -579,14 +587,14 @@ msgstr "Mot de passe actuel"
|
||||
msgid "Current password is required"
|
||||
msgstr "Le mot de passe actuel est requis"
|
||||
|
||||
#: apps/web/src/routes/_app/settings.tsx:216
|
||||
#: apps/web/src/routes/_app/settings.tsx:218
|
||||
msgid "Danger Zone"
|
||||
msgstr "Zone de danger"
|
||||
|
||||
#: apps/web/src/routes/__root.tsx:163
|
||||
#: apps/web/src/routes/_app/people.$id.tsx:76
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:119
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:165
|
||||
#: apps/web/src/routes/_app/people.$id.tsx:78
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:120
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:166
|
||||
msgid "Dashboard"
|
||||
msgstr "Tableau de bord"
|
||||
|
||||
@@ -630,12 +638,12 @@ msgstr "{0, plural, one {# fichier supprimé} other {# fichiers supprimés}}, {f
|
||||
msgid "Device code expired. Please try again."
|
||||
msgstr "Le code d'appareil a expiré. Veuillez réessayer."
|
||||
|
||||
#: apps/native/src/app/person/[id].tsx:249
|
||||
#: apps/native/src/app/person/[id].tsx:189
|
||||
#: apps/web/src/components/people/person-hero.tsx:89
|
||||
msgid "died at {age}"
|
||||
msgstr "décédé à {age} ans"
|
||||
|
||||
#: apps/native/src/app/person/[id].tsx:51
|
||||
#: apps/native/src/app/person/[id].tsx:139
|
||||
#: apps/native/src/components/search/recently-viewed-row-content.tsx:29
|
||||
#: apps/web/src/components/people/person-hero.tsx:71
|
||||
msgid "Director"
|
||||
@@ -646,13 +654,13 @@ msgstr "Réalisateur"
|
||||
msgid "Disabled"
|
||||
msgstr "Désactivé"
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:143
|
||||
#: apps/native/src/components/settings/integration-card.tsx:257
|
||||
#: apps/native/src/components/settings/integration-card.tsx:152
|
||||
#: apps/native/src/components/settings/integration-card.tsx:266
|
||||
#: apps/web/src/components/settings/integration-card.tsx:234
|
||||
msgid "Disconnect"
|
||||
msgstr "Déconnecter"
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:138
|
||||
#: apps/native/src/components/settings/integration-card.tsx:147
|
||||
msgid "Disconnect {label}"
|
||||
msgstr "Déconnecter {label}"
|
||||
|
||||
@@ -685,7 +693,7 @@ msgstr "Télécharger"
|
||||
msgid "Download backup"
|
||||
msgstr "Télécharger la sauvegarde"
|
||||
|
||||
#: apps/native/src/app/person/[id].tsx:54
|
||||
#: apps/native/src/app/person/[id].tsx:142
|
||||
#: apps/native/src/components/search/recently-viewed-row-content.tsx:32
|
||||
#: apps/web/src/components/people/person-hero.tsx:77
|
||||
msgid "Editor"
|
||||
@@ -729,24 +737,31 @@ msgstr "Entrez l'URL de votre serveur Sofa pour commencer"
|
||||
msgid "Environment"
|
||||
msgstr "Environnement"
|
||||
|
||||
#. placeholder {0}: episode.episodeNumber
|
||||
#: apps/native/src/components/titles/episode-row.tsx:27
|
||||
#: apps/native/src/components/titles/episode-row.tsx:48
|
||||
msgid "Episode {0}"
|
||||
msgstr "Épisode {0}"
|
||||
#~ msgid "Episode {0}"
|
||||
#~ msgstr "Épisode {0}"
|
||||
|
||||
#. placeholder {0}: episode.episodeNumber
|
||||
#: apps/native/src/components/titles/episode-row.tsx:34
|
||||
msgid "Episode {0}, {episodeLabel}"
|
||||
msgstr "Épisode {0}, {episodeLabel}"
|
||||
#~ msgid "Episode {0}, {episodeLabel}"
|
||||
#~ msgstr "Épisode {0}, {episodeLabel}"
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:111
|
||||
#: apps/native/src/lib/title-actions.ts:108
|
||||
#: apps/native/src/components/titles/episode-row.tsx:29
|
||||
#: apps/native/src/components/titles/episode-row.tsx:52
|
||||
msgid "Episode {episodeNumber}"
|
||||
msgstr "Épisode {episodeNumber}"
|
||||
|
||||
#: apps/native/src/components/titles/episode-row.tsx:38
|
||||
msgid "Episode {episodeNumber}, {episodeLabel}"
|
||||
msgstr "Épisode {episodeNumber}, {episodeLabel}"
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:109
|
||||
#: apps/native/src/lib/title-actions.ts:84
|
||||
msgid "Episode unwatched"
|
||||
msgstr "Épisode non visionné"
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:101
|
||||
#: apps/native/src/lib/title-actions.ts:98
|
||||
#: apps/native/src/hooks/use-title-actions.ts:99
|
||||
#: apps/native/src/lib/title-actions.ts:74
|
||||
msgid "Episode watched"
|
||||
msgstr "Épisode visionné"
|
||||
|
||||
@@ -758,7 +773,7 @@ msgstr "Épisodes"
|
||||
#. placeholder {0}: periodLabels[episodePeriod]
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx:125
|
||||
msgid "Episodes {0}"
|
||||
msgstr ""
|
||||
msgstr "Épisodes {0}"
|
||||
|
||||
#: apps/web/src/components/dashboard/stats-display.tsx:162
|
||||
#~ msgid "Episodes {periodSelect}"
|
||||
@@ -790,8 +805,8 @@ msgstr "Erreurs ({0})"
|
||||
msgid "Explore"
|
||||
msgstr "Explorer"
|
||||
|
||||
#: apps/web/src/routes/_app/people.$id.tsx:68
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:157
|
||||
#: apps/web/src/routes/_app/people.$id.tsx:70
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:158
|
||||
msgid "Explore titles"
|
||||
msgstr "Explorer les titres"
|
||||
|
||||
@@ -804,7 +819,7 @@ msgstr "Échoué"
|
||||
msgid "Failed to add to watchlist"
|
||||
msgstr "Échec de l'ajout à la liste de suivi"
|
||||
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:80
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:77
|
||||
msgid "Failed to catch up"
|
||||
msgstr "Échec du rattrapage"
|
||||
|
||||
@@ -817,7 +832,7 @@ msgstr "Échec du changement de mot de passe"
|
||||
msgid "Failed to connect"
|
||||
msgstr "Échec de la connexion"
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:87
|
||||
#: apps/native/src/components/settings/integration-card.tsx:89
|
||||
#: apps/web/src/components/settings/integration-card.tsx:91
|
||||
msgid "Failed to connect {label}"
|
||||
msgstr "Échec de la connexion à {label}"
|
||||
@@ -834,7 +849,7 @@ msgstr "Échec de la création de la sauvegarde"
|
||||
msgid "Failed to delete backup"
|
||||
msgstr "Échec de la suppression de la sauvegarde"
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:97
|
||||
#: apps/native/src/components/settings/integration-card.tsx:99
|
||||
#: apps/web/src/components/settings/integration-card.tsx:108
|
||||
msgid "Failed to disconnect {label}"
|
||||
msgstr "Échec de la déconnexion de {label}"
|
||||
@@ -843,29 +858,30 @@ msgstr "Échec de la déconnexion de {label}"
|
||||
msgid "Failed to load backup schedule settings."
|
||||
msgstr "Échec du chargement des paramètres de planning de sauvegarde."
|
||||
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:110
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:111
|
||||
msgid "Failed to load title"
|
||||
msgstr "Échec du chargement du titre"
|
||||
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:344
|
||||
#: apps/native/src/lib/title-actions.ts:101
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:338
|
||||
msgid "Failed to mark all episodes as watched"
|
||||
msgstr "Échec du marquage de tous les épisodes comme visionnés"
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:79
|
||||
#: apps/native/src/lib/title-actions.ts:67
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:137
|
||||
#: apps/native/src/hooks/use-title-actions.ts:77
|
||||
#: apps/native/src/lib/title-actions.ts:43
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:134
|
||||
msgid "Failed to mark as watched"
|
||||
msgstr "Échec du marquage comme visionné"
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:104
|
||||
#: apps/native/src/lib/title-actions.ts:101
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:216
|
||||
#: apps/native/src/hooks/use-title-actions.ts:102
|
||||
#: apps/native/src/lib/title-actions.ts:77
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:214
|
||||
msgid "Failed to mark episode"
|
||||
msgstr "Échec du marquage de l'épisode"
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:124
|
||||
#: apps/native/src/lib/title-actions.ts:123
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:294
|
||||
#: apps/native/src/hooks/use-title-actions.ts:122
|
||||
#: apps/native/src/lib/title-actions.ts:113
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:286
|
||||
msgid "Failed to mark some episodes"
|
||||
msgstr "Échec du marquage de certains épisodes"
|
||||
|
||||
@@ -889,12 +905,12 @@ msgstr "Échec de la purge du cache d'images"
|
||||
msgid "Failed to purge metadata cache"
|
||||
msgstr "Échec de la purge du cache de métadonnées"
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:107
|
||||
#: apps/native/src/components/settings/integration-card.tsx:109
|
||||
#: apps/web/src/components/settings/integration-card.tsx:121
|
||||
msgid "Failed to regenerate {label} URL"
|
||||
msgstr "Échec de la régénération de l'URL {label}"
|
||||
|
||||
#: apps/native/src/lib/title-actions.ts:77
|
||||
#: apps/native/src/lib/title-actions.ts:53
|
||||
msgid "Failed to remove from library"
|
||||
msgstr "Échec de la suppression de la bibliothèque"
|
||||
|
||||
@@ -916,13 +932,13 @@ msgstr "Échec du démarrage de la connexion {0}"
|
||||
msgid "Failed to trigger job"
|
||||
msgstr "Échec du déclenchement de la tâche"
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:114
|
||||
#: apps/native/src/lib/title-actions.ts:111
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:163
|
||||
#: apps/native/src/hooks/use-title-actions.ts:112
|
||||
#: apps/native/src/lib/title-actions.ts:87
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:161
|
||||
msgid "Failed to unmark episode"
|
||||
msgstr "Échec du démarquage de l'épisode"
|
||||
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:320
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:312
|
||||
msgid "Failed to unmark some episodes"
|
||||
msgstr "Échec du démarquage de certains épisodes"
|
||||
|
||||
@@ -930,9 +946,9 @@ msgstr "Échec du démarquage de certains épisodes"
|
||||
msgid "Failed to update name"
|
||||
msgstr "Échec de la mise à jour du nom"
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:94
|
||||
#: apps/native/src/lib/title-actions.ts:91
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:123
|
||||
#: apps/native/src/hooks/use-title-actions.ts:92
|
||||
#: apps/native/src/lib/title-actions.ts:67
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:120
|
||||
msgid "Failed to update rating"
|
||||
msgstr "Échec de la mise à jour de la note"
|
||||
|
||||
@@ -958,10 +974,8 @@ msgstr "Échec de la mise à jour du paramètre de sauvegarde planifiée"
|
||||
msgid "Failed to update setting"
|
||||
msgstr "Échec de la mise à jour du paramètre"
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:69
|
||||
#: apps/native/src/lib/title-actions.ts:41
|
||||
#: apps/native/src/lib/title-actions.ts:55
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:101
|
||||
#: apps/native/src/hooks/use-title-actions.ts:67
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:98
|
||||
msgid "Failed to update status"
|
||||
msgstr "Échec de la mise à jour du statut"
|
||||
|
||||
@@ -973,7 +987,7 @@ msgstr "Échec du téléchargement de l'avatar"
|
||||
msgid "Fetching your library data from {source}..."
|
||||
msgstr "Récupération de vos données depuis {source}..."
|
||||
|
||||
#: apps/native/src/app/person/[id].tsx:279
|
||||
#: apps/native/src/app/person/[id].tsx:219
|
||||
#: apps/web/src/components/people/filmography-grid.tsx:67
|
||||
msgid "Filmography"
|
||||
msgstr "Filmographie"
|
||||
@@ -1002,8 +1016,8 @@ msgstr "Vendredi"
|
||||
msgid "Get Started"
|
||||
msgstr "Commencer"
|
||||
|
||||
#: apps/native/src/app/person/[id].tsx:176
|
||||
#: apps/native/src/app/person/[id].tsx:196
|
||||
#: apps/native/src/app/person/[id].tsx:261
|
||||
#: apps/native/src/app/person/[id].tsx:281
|
||||
#: apps/native/src/app/title/[id].tsx:235
|
||||
msgid "Go back"
|
||||
msgstr "Retour"
|
||||
@@ -1112,6 +1126,11 @@ msgstr "Dans la bibliothèque"
|
||||
msgid "In Library"
|
||||
msgstr "Dans la bibliothèque"
|
||||
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:46
|
||||
#: apps/web/src/components/titles/status-button.tsx:40
|
||||
msgid "In Watchlist"
|
||||
msgstr "Dans la liste"
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx:179
|
||||
#: apps/web/src/components/dashboard/library-section.tsx:35
|
||||
msgid "In Your Library"
|
||||
@@ -1222,22 +1241,23 @@ msgid "Mark all episodes as watched?"
|
||||
msgstr "Marquer tous les épisodes comme visionnés ?"
|
||||
|
||||
#: apps/native/src/components/titles/season-accordion.tsx:152
|
||||
#: apps/native/src/components/ui/poster-card.tsx:229
|
||||
#: apps/web/src/components/titles/title-seasons.tsx:109
|
||||
#: apps/web/src/components/titles/title-seasons.tsx:135
|
||||
msgid "Mark All Watched"
|
||||
msgstr "Tout marquer comme visionné"
|
||||
|
||||
#: apps/native/src/components/dashboard/continue-watching-card.tsx:103
|
||||
msgid "Mark as Completed"
|
||||
msgstr "Marquer comme terminé"
|
||||
#~ msgid "Mark as Completed"
|
||||
#~ msgstr "Marquer comme terminé"
|
||||
|
||||
#: apps/native/src/components/ui/poster-card.tsx:226
|
||||
#: apps/native/src/components/ui/poster-card.tsx:222
|
||||
msgid "Mark as Watched"
|
||||
msgstr "Marquer comme visionné"
|
||||
|
||||
#: apps/native/src/components/ui/poster-card.tsx:219
|
||||
msgid "Mark as Watching"
|
||||
msgstr "Marquer comme en cours"
|
||||
#~ msgid "Mark as Watching"
|
||||
#~ msgstr "Marquer comme en cours"
|
||||
|
||||
#: apps/native/src/app/title/[id].tsx:400
|
||||
#: apps/web/src/components/titles/title-actions.tsx:27
|
||||
@@ -1245,32 +1265,37 @@ msgid "Mark Watched"
|
||||
msgstr "Marquer comme visionné"
|
||||
|
||||
#: apps/native/src/lib/title-actions.ts:50
|
||||
msgid "Marked \"{titleName}\" as completed"
|
||||
msgstr "« {titleName} » marqué comme terminé"
|
||||
#~ msgid "Marked \"{titleName}\" as completed"
|
||||
#~ msgstr "« {titleName} » marqué comme terminé"
|
||||
|
||||
#: apps/native/src/lib/title-actions.ts:63
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:134
|
||||
#: apps/native/src/lib/title-actions.ts:39
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:131
|
||||
msgid "Marked \"{titleName}\" as watched"
|
||||
msgstr "« {titleName} » marqué comme visionné"
|
||||
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:337
|
||||
#: apps/native/src/lib/title-actions.ts:97
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:331
|
||||
msgid "Marked all episodes as watched"
|
||||
msgstr "Tous les épisodes marqués comme visionnés"
|
||||
|
||||
#: apps/native/src/lib/title-actions.ts:96
|
||||
msgid "Marked all episodes of \"{titleName}\" as watched"
|
||||
msgstr "Tous les épisodes de \"{titleName}\" marqués comme vus"
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:61
|
||||
#: apps/native/src/lib/title-actions.ts:51
|
||||
msgid "Marked as completed"
|
||||
msgstr "Marqué comme terminé"
|
||||
#~ msgid "Marked as completed"
|
||||
#~ msgstr "Marqué comme terminé"
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:76
|
||||
#: apps/native/src/lib/title-actions.ts:63
|
||||
#: apps/native/src/hooks/use-title-actions.ts:74
|
||||
#: apps/native/src/lib/title-actions.ts:39
|
||||
msgid "Marked as watched"
|
||||
msgstr "Marqué comme visionné"
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:60
|
||||
#: apps/native/src/lib/title-actions.ts:38
|
||||
msgid "Marked as watching"
|
||||
msgstr "Marqué comme en cours"
|
||||
#~ msgid "Marked as watching"
|
||||
#~ msgstr "Marqué comme en cours"
|
||||
|
||||
#: apps/web/src/components/settings/account-section.tsx:314
|
||||
msgid "Member since {memberSince}"
|
||||
@@ -1305,7 +1330,7 @@ msgstr "Films"
|
||||
#. placeholder {0}: periodLabels[moviePeriod]
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx:114
|
||||
msgid "Movies {0}"
|
||||
msgstr ""
|
||||
msgstr "Films {0}"
|
||||
|
||||
#: apps/web/src/components/dashboard/stats-display.tsx:161
|
||||
#~ msgid "Movies {periodSelect}"
|
||||
@@ -1345,7 +1370,7 @@ msgstr "Jamais exécuté"
|
||||
msgid "New account creation is currently disabled."
|
||||
msgstr "La création de nouveaux comptes est actuellement désactivée."
|
||||
|
||||
#: apps/web/src/routes/_auth/register.tsx:36
|
||||
#: apps/web/src/routes/_auth/register.tsx:33
|
||||
msgid "New accounts are not being accepted right now. Contact the admin if you need access."
|
||||
msgstr "Les nouvelles inscriptions sont fermées. Contactez l'administrateur si vous avez besoin d'un accès."
|
||||
|
||||
@@ -1403,7 +1428,7 @@ msgstr "Aucun résultat trouvé."
|
||||
msgid "No titles found for this genre."
|
||||
msgstr "Aucun titre trouvé pour ce genre."
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:174
|
||||
#: apps/native/src/components/settings/integration-card.tsx:183
|
||||
#: apps/web/src/components/settings/integration-card.tsx:153
|
||||
#: apps/web/src/components/settings/system-health-section.tsx:229
|
||||
msgid "Not configured"
|
||||
@@ -1517,8 +1542,8 @@ msgstr "Vérifier périodiquement GitHub pour les nouvelles versions de Sofa"
|
||||
msgid "Person"
|
||||
msgstr "Personne"
|
||||
|
||||
#: apps/native/src/app/person/[id].tsx:192
|
||||
#: apps/web/src/routes/_app/people.$id.tsx:50
|
||||
#: apps/native/src/app/person/[id].tsx:277
|
||||
#: apps/web/src/routes/_app/people.$id.tsx:52
|
||||
msgid "Person not found"
|
||||
msgstr "Personne introuvable"
|
||||
|
||||
@@ -1527,12 +1552,12 @@ msgid "Play trailer"
|
||||
msgstr "Lire la bande-annonce"
|
||||
|
||||
#: apps/native/src/app/(tabs)/(explore)/index.tsx:89
|
||||
#: apps/web/src/routes/_app/explore.tsx:141
|
||||
#: apps/web/src/routes/_app/explore.tsx:143
|
||||
msgid "Popular Movies"
|
||||
msgstr "Films populaires"
|
||||
|
||||
#: apps/native/src/app/(tabs)/(explore)/index.tsx:102
|
||||
#: apps/web/src/routes/_app/explore.tsx:151
|
||||
#: apps/web/src/routes/_app/explore.tsx:153
|
||||
msgid "Popular TV Shows"
|
||||
msgstr "Séries populaires"
|
||||
|
||||
@@ -1540,7 +1565,7 @@ msgstr "Séries populaires"
|
||||
msgid "Pre-restore backup"
|
||||
msgstr "Sauvegarde pré-restauration"
|
||||
|
||||
#: apps/native/src/app/person/[id].tsx:53
|
||||
#: apps/native/src/app/person/[id].tsx:141
|
||||
#: apps/native/src/components/search/recently-viewed-row-content.tsx:31
|
||||
#: apps/web/src/components/people/person-hero.tsx:75
|
||||
msgid "Producer"
|
||||
@@ -1612,7 +1637,7 @@ msgstr "URL de liste Radarr"
|
||||
|
||||
#. placeholder {0}: input.stars
|
||||
#. placeholder {1}: input.stars
|
||||
#: apps/native/src/hooks/use-title-actions.ts:88
|
||||
#: apps/native/src/hooks/use-title-actions.ts:86
|
||||
msgid "Rated {0} {1, plural, one {star} other {stars}}"
|
||||
msgstr "Noté {0} {1, plural, one {étoile} other {étoiles}}"
|
||||
|
||||
@@ -1620,11 +1645,11 @@ msgstr "Noté {0} {1, plural, one {étoile} other {étoiles}}"
|
||||
#~ msgid "Rated {0} star{1}"
|
||||
#~ msgstr "Rated {0} star{1}"
|
||||
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:118
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:115
|
||||
msgid "Rated {ratingStars} {ratingStars, plural, one {star} other {stars}}"
|
||||
msgstr "Noté {ratingStars} {ratingStars, plural, one {étoile} other {étoiles}}"
|
||||
|
||||
#: apps/native/src/lib/title-actions.ts:86
|
||||
#: apps/native/src/lib/title-actions.ts:62
|
||||
msgid "Rated {stars, plural, one {# star} other {# stars}}"
|
||||
msgstr "Noté {stars, plural, one {# étoile} other {# étoiles}}"
|
||||
|
||||
@@ -1633,9 +1658,9 @@ msgstr "Noté {stars, plural, one {# étoile} other {# étoiles}}"
|
||||
msgid "Rating"
|
||||
msgstr "Note"
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:89
|
||||
#: apps/native/src/lib/title-actions.ts:87
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:119
|
||||
#: apps/native/src/hooks/use-title-actions.ts:87
|
||||
#: apps/native/src/lib/title-actions.ts:63
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:116
|
||||
msgid "Rating removed"
|
||||
msgstr "Note supprimée"
|
||||
|
||||
@@ -1663,7 +1688,7 @@ msgid "Recent Searches"
|
||||
msgstr "Recherches récentes"
|
||||
|
||||
#: apps/native/src/components/search/recently-viewed-list.ios.tsx:95
|
||||
#: apps/native/src/components/search/recently-viewed-list.tsx:77
|
||||
#: apps/native/src/components/search/recently-viewed-list.tsx:59
|
||||
msgid "Recently Viewed"
|
||||
msgstr "Récemment consultés"
|
||||
|
||||
@@ -1692,12 +1717,12 @@ msgstr "Actualiser"
|
||||
msgid "Refresh system health"
|
||||
msgstr "Actualiser l'état du système"
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:128
|
||||
#: apps/native/src/components/settings/integration-card.tsx:248
|
||||
#: apps/native/src/components/settings/integration-card.tsx:137
|
||||
#: apps/native/src/components/settings/integration-card.tsx:257
|
||||
msgid "Regenerate"
|
||||
msgstr "Régénérer"
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:123
|
||||
#: apps/native/src/components/settings/integration-card.tsx:132
|
||||
#: apps/web/src/components/settings/integration-card.tsx:226
|
||||
msgid "Regenerate URL"
|
||||
msgstr "Régénérer l'URL"
|
||||
@@ -1717,7 +1742,7 @@ msgid "Registration closed"
|
||||
msgstr "Inscriptions fermées"
|
||||
|
||||
#: apps/native/src/app/(auth)/register.tsx:87
|
||||
#: apps/web/src/routes/_auth/register.tsx:33
|
||||
#: apps/web/src/routes/_auth/register.tsx:30
|
||||
msgid "Registration Closed"
|
||||
msgstr "Inscriptions fermées"
|
||||
|
||||
@@ -1726,20 +1751,27 @@ msgstr "Inscriptions fermées"
|
||||
msgid "Registration opened"
|
||||
msgstr "Inscriptions ouvertes"
|
||||
|
||||
#: apps/web/src/components/titles/status-button.tsx:76
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:106
|
||||
#: apps/web/src/components/titles/status-button.tsx:109
|
||||
#: apps/web/src/components/titles/status-button.tsx:139
|
||||
msgid "Remove"
|
||||
msgstr "Supprimer"
|
||||
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:96
|
||||
#: apps/web/src/components/titles/status-button.tsx:60
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:115
|
||||
#: apps/web/src/components/titles/status-button.tsx:93
|
||||
msgid "Remove from library"
|
||||
msgstr "Supprimer de la bibliothèque"
|
||||
|
||||
#: apps/native/src/components/dashboard/continue-watching-card.tsx:108
|
||||
#: apps/native/src/components/ui/poster-card.tsx:233
|
||||
#: apps/native/src/components/ui/poster-card.tsx:236
|
||||
msgid "Remove from Library"
|
||||
msgstr "Supprimer de la bibliothèque"
|
||||
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:101
|
||||
#: apps/web/src/components/titles/status-button.tsx:120
|
||||
msgid "Remove from library?"
|
||||
msgstr "Retirer de la bibliothèque ?"
|
||||
|
||||
#: apps/native/src/app/(tabs)/(settings)/index.tsx:268
|
||||
msgid "Remove Photo"
|
||||
msgstr "Supprimer la photo"
|
||||
@@ -1752,9 +1784,9 @@ msgstr "Supprimer la photo"
|
||||
msgid "Remove profile picture"
|
||||
msgstr "Supprimer la photo de profil"
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:65
|
||||
#: apps/native/src/lib/title-actions.ts:74
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:98
|
||||
#: apps/native/src/hooks/use-title-actions.ts:63
|
||||
#: apps/native/src/lib/title-actions.ts:50
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:95
|
||||
msgid "Removed from library"
|
||||
msgstr "Supprimé de la bibliothèque"
|
||||
|
||||
@@ -1861,14 +1893,14 @@ msgstr "Sauvegardes planifiées activées"
|
||||
#: apps/native/src/app/(tabs)/(search)/_layout.tsx:7
|
||||
#: apps/native/src/components/navigation/native-tab-bar.tsx:41
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
msgstr "Recherche"
|
||||
|
||||
#: apps/web/src/components/dashboard/stats-section.tsx:35
|
||||
msgid "Search for movies and TV shows to start tracking"
|
||||
msgstr "Recherchez des films et séries pour commencer à les suivre"
|
||||
|
||||
#: apps/native/src/components/search/recently-viewed-list.ios.tsx:72
|
||||
#: apps/native/src/components/search/recently-viewed-list.tsx:55
|
||||
#: apps/native/src/components/search/recently-viewed-list.tsx:81
|
||||
msgid "Search for movies, shows, or people"
|
||||
msgstr "Rechercher des films, séries ou personnes"
|
||||
|
||||
@@ -1892,13 +1924,13 @@ msgstr "Rechercher…"
|
||||
#. placeholder {0}: season.seasonNumber
|
||||
#: apps/native/src/components/titles/season-accordion.tsx:113
|
||||
#: apps/native/src/components/titles/season-accordion.tsx:119
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:274
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:313
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:266
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:305
|
||||
msgid "Season {0}"
|
||||
msgstr "Saison {0}"
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:121
|
||||
#: apps/native/src/lib/title-actions.ts:119
|
||||
#: apps/native/src/hooks/use-title-actions.ts:119
|
||||
#: apps/native/src/lib/title-actions.ts:109
|
||||
msgid "Season watched"
|
||||
msgstr "Saison visionnée"
|
||||
|
||||
@@ -1907,7 +1939,7 @@ msgid "Seasons"
|
||||
msgstr "Saisons"
|
||||
|
||||
#: apps/native/src/app/(tabs)/(settings)/index.tsx:452
|
||||
#: apps/web/src/routes/_app/settings.tsx:167
|
||||
#: apps/web/src/routes/_app/settings.tsx:169
|
||||
msgid "Security"
|
||||
msgstr "Sécurité"
|
||||
|
||||
@@ -1915,7 +1947,7 @@ msgstr "Sécurité"
|
||||
msgid "Self-hosted movie & TV tracker"
|
||||
msgstr "Suivi de films et séries auto-hébergé"
|
||||
|
||||
#: apps/web/src/routes/_app/settings.tsx:151
|
||||
#: apps/web/src/routes/_app/settings.tsx:153
|
||||
msgid "Server"
|
||||
msgstr "Serveur"
|
||||
|
||||
@@ -1947,12 +1979,12 @@ msgstr "Définissez votre profil de qualité et dossier racine préférés"
|
||||
msgid "Settings"
|
||||
msgstr "Paramètres"
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:271
|
||||
#: apps/native/src/components/settings/integration-card.tsx:280
|
||||
#: apps/web/src/components/settings/integration-card.tsx:248
|
||||
msgid "Setup instructions"
|
||||
msgstr "Instructions de configuration"
|
||||
|
||||
#: apps/web/src/routes/setup.tsx:95
|
||||
#: apps/web/src/routes/setup.tsx:96
|
||||
msgid "Setup required"
|
||||
msgstr "Configuration requise"
|
||||
|
||||
@@ -1977,7 +2009,7 @@ msgstr "Se connecter"
|
||||
msgid "Sign In"
|
||||
msgstr "Se connecter"
|
||||
|
||||
#: apps/web/src/routes/_auth/register.tsx:45
|
||||
#: apps/web/src/routes/_auth/register.tsx:42
|
||||
msgid "Sign in instead"
|
||||
msgstr "Se connecter"
|
||||
|
||||
@@ -2031,13 +2063,13 @@ msgid "Sofa will automatically log movies and episodes when you finish watching
|
||||
msgstr "Sofa enregistrera automatiquement les films et épisodes lorsque vous aurez fini de les regarder"
|
||||
|
||||
#: apps/native/src/app/change-password.tsx:77
|
||||
#: apps/native/src/app/person/[id].tsx:169
|
||||
#: apps/native/src/app/person/[id].tsx:254
|
||||
#: apps/web/src/components/settings/account-section.tsx:391
|
||||
#: apps/web/src/routes/__root.tsx:139
|
||||
msgid "Something went wrong"
|
||||
msgstr "Une erreur s'est produite"
|
||||
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:113
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:114
|
||||
msgid "Something went wrong while loading this title. Please try again."
|
||||
msgstr "Une erreur s'est produite lors du chargement de ce titre. Veuillez réessayer."
|
||||
|
||||
@@ -2070,7 +2102,7 @@ msgstr "À partir de"
|
||||
msgid "Starting import..."
|
||||
msgstr "Démarrage de l'importation..."
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:64
|
||||
#: apps/native/src/hooks/use-title-actions.ts:62
|
||||
msgid "Status updated"
|
||||
msgstr "Statut mis à jour"
|
||||
|
||||
@@ -2095,11 +2127,11 @@ msgstr "Passer à {0}"
|
||||
msgid "The page you're looking for doesn't exist."
|
||||
msgstr "La page que vous recherchez n'existe pas."
|
||||
|
||||
#: apps/web/src/routes/_app/people.$id.tsx:53
|
||||
#: apps/web/src/routes/_app/people.$id.tsx:55
|
||||
msgid "The person you're looking for doesn't exist or may have been removed from the database."
|
||||
msgstr "La personne que vous recherchez n'existe pas ou a peut-être été supprimée de la base de données."
|
||||
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:142
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:143
|
||||
msgid "The title you're looking for doesn't exist or may have been removed from the database."
|
||||
msgstr "Le titre que vous recherchez n'existe pas ou a peut-être été supprimé de la base de données."
|
||||
|
||||
@@ -2109,7 +2141,7 @@ msgstr "Cela peut prendre quelques minutes pour les grandes bibliothèques. Ne f
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx:89
|
||||
msgid "this month"
|
||||
msgstr ""
|
||||
msgstr "ce mois-ci"
|
||||
|
||||
#: apps/native/src/components/dashboard/stats-card.tsx:31
|
||||
#: apps/web/src/components/dashboard/stats-display.tsx:135
|
||||
@@ -2121,14 +2153,19 @@ msgid "This page was left on the cutting room floor. It may have been moved, rem
|
||||
msgstr "Cette page est restée sur le plancher de la salle de montage. Elle a peut-être été déplacée, supprimée, ou n'a jamais dépassé le stade du scénario."
|
||||
|
||||
#: apps/native/src/app/(tabs)/(settings)/index.tsx:559
|
||||
#: apps/web/src/routes/_app/settings.tsx:112
|
||||
#: apps/web/src/routes/setup.tsx:180
|
||||
#: apps/web/src/routes/_app/settings.tsx:114
|
||||
#: apps/web/src/routes/setup.tsx:181
|
||||
msgid "This product uses the TMDB API but is not endorsed or certified by TMDB."
|
||||
msgstr "Ce produit utilise l'API TMDB mais n'est pas approuvé ni certifié par TMDB."
|
||||
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:102
|
||||
#: apps/web/src/components/titles/status-button.tsx:123
|
||||
msgid "This title will be removed from your library. Your watch history and ratings will be kept."
|
||||
msgstr "Ce titre sera retiré de votre bibliothèque. Votre historique de visionnage et vos notes seront conservés."
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx:88
|
||||
msgid "this week"
|
||||
msgstr ""
|
||||
msgstr "cette semaine"
|
||||
|
||||
#: apps/native/src/components/dashboard/stats-card.tsx:30
|
||||
#: apps/web/src/components/dashboard/stats-display.tsx:134
|
||||
@@ -2147,7 +2184,7 @@ msgstr "Cela supprimera tous les titres ébauches non enrichis et toutes les ima
|
||||
msgid "This will delete un-enriched stub titles that aren't in any user's library and clean up orphaned person records. Deleted titles will be re-imported if accessed again."
|
||||
msgstr "Cela supprimera les titres ébauches non enrichis qui ne sont dans aucune bibliothèque et nettoiera les enregistrements de personnes orphelines. Les titres supprimés seront réimportés s'ils sont consultés à nouveau."
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:124
|
||||
#: apps/native/src/components/settings/integration-card.tsx:133
|
||||
msgid "This will invalidate the current {label} URL. You'll need to update it in {label}."
|
||||
msgstr "Cela invalidera l'URL {label} actuelle. Vous devrez la mettre à jour dans {label}."
|
||||
|
||||
@@ -2171,7 +2208,7 @@ msgstr "Cela remplacera toute votre base de données par le fichier télécharg
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx:90
|
||||
msgid "this year"
|
||||
msgstr ""
|
||||
msgstr "cette année"
|
||||
|
||||
#: apps/native/src/components/dashboard/stats-card.tsx:32
|
||||
#: apps/web/src/components/dashboard/stats-display.tsx:136
|
||||
@@ -2187,7 +2224,7 @@ msgid "Time:"
|
||||
msgstr "Heure :"
|
||||
|
||||
#: apps/native/src/app/title/[id].tsx:231
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:139
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:140
|
||||
msgid "Title not found"
|
||||
msgstr "Titre introuvable"
|
||||
|
||||
@@ -2203,7 +2240,7 @@ msgstr "Les titres de votre liste de suivi Sofa seront automatiquement ajoutés
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx:87
|
||||
msgid "today"
|
||||
msgstr ""
|
||||
msgstr "aujourd'hui"
|
||||
|
||||
#: apps/native/src/components/dashboard/stats-card.tsx:29
|
||||
#: apps/web/src/components/dashboard/stats-display.tsx:133
|
||||
@@ -2236,7 +2273,7 @@ msgid "Trending today"
|
||||
msgstr "Tendance aujourd'hui"
|
||||
|
||||
#: apps/native/src/app/(tabs)/(explore)/index.tsx:77
|
||||
#: apps/web/src/routes/_app/explore.tsx:129
|
||||
#: apps/web/src/routes/_app/explore.tsx:131
|
||||
msgid "Trending Today"
|
||||
msgstr "Tendances du jour"
|
||||
|
||||
@@ -2291,11 +2328,11 @@ msgid "Unwatch all"
|
||||
msgstr "Tout démarquer"
|
||||
|
||||
#. placeholder {0}: season.name ?? t`Season ${season.seasonNumber}`
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:313
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:305
|
||||
msgid "Unwatched all of {0}"
|
||||
msgstr "Tout démarqué de {0}"
|
||||
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:156
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:154
|
||||
msgid "Unwatched S{seasonNum} E{epNum}"
|
||||
msgstr "Démarqué S{seasonNum} E{epNum}"
|
||||
|
||||
@@ -2366,7 +2403,7 @@ msgstr "Télécharger une photo"
|
||||
msgid "Upload profile picture"
|
||||
msgstr "Télécharger une photo de profil"
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:117
|
||||
#: apps/native/src/components/settings/integration-card.tsx:125
|
||||
msgid "URL copied to clipboard"
|
||||
msgstr "URL copiée dans le presse-papiers"
|
||||
|
||||
@@ -2399,36 +2436,36 @@ msgstr "Historique de visionnage"
|
||||
msgid "Watch on {name}"
|
||||
msgstr "Regarder sur {name}"
|
||||
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:277
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:286
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:269
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:278
|
||||
msgid "Watched all of {seasonLabel}"
|
||||
msgstr "Tout visionné de {seasonLabel}"
|
||||
|
||||
#: apps/native/src/lib/title-actions.ts:119
|
||||
#: apps/native/src/lib/title-actions.ts:109
|
||||
msgid "Watched all of {seasonName}"
|
||||
msgstr "Tout visionné de {seasonName}"
|
||||
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:199
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:208
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:197
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:206
|
||||
msgid "Watched S{seasonNum} E{epNum}"
|
||||
msgstr "Visionné S{seasonNum} E{epNum}"
|
||||
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:43
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:48
|
||||
#: apps/web/src/components/title-card.tsx:69
|
||||
#: apps/web/src/components/titles/status-button.tsx:14
|
||||
#: apps/web/src/components/titles/status-button.tsx:47
|
||||
msgid "Watching"
|
||||
msgstr "En cours"
|
||||
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:78
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:85
|
||||
#: apps/web/src/components/settings/imports-section.tsx:743
|
||||
#: apps/web/src/components/settings/imports-section.tsx:769
|
||||
#: apps/web/src/components/titles/status-button.tsx:49
|
||||
#: apps/web/src/components/titles/status-button.tsx:82
|
||||
msgid "Watchlist"
|
||||
msgstr "Liste de suivi"
|
||||
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:41
|
||||
msgid "Watchlisted"
|
||||
msgstr "Dans la liste de suivi"
|
||||
#~ msgid "Watchlisted"
|
||||
#~ msgstr "Dans la liste de suivi"
|
||||
|
||||
#: apps/native/src/components/settings/integration-configs.ts:51
|
||||
#: apps/native/src/components/settings/integration-configs.ts:66
|
||||
@@ -2458,7 +2495,7 @@ msgstr "Où regarder"
|
||||
msgid "With Ads"
|
||||
msgstr "Avec publicités"
|
||||
|
||||
#: apps/native/src/app/person/[id].tsx:52
|
||||
#: apps/native/src/app/person/[id].tsx:140
|
||||
#: apps/native/src/components/search/recently-viewed-row-content.tsx:30
|
||||
#: apps/web/src/components/people/person-hero.tsx:73
|
||||
msgid "Writer"
|
||||
|
||||
@@ -1 +1 @@
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"+5kO8P\":[\"Samedi\"],\"+6i0lS\":[\"Récupération de votre historique, liste de suivi et notes...\"],\"+Cv+V9\":[\"Supprimer de la bibliothèque\"],\"+JkEpu\":[\"Cette page est restée sur le plancher de la salle de montage. Elle a peut-être été déplacée, supprimée, ou n'a jamais dépassé le stade du scénario.\"],\"+K0AvT\":[\"Déconnecter\"],\"+N0l5/\":[\"Connecté à <0>\",[\"serverHost\"],\"</0>. Appuyez pour modifier.\"],\"+gLHYi\":[\"Échec du chargement du titre\"],\"+j1ex/\":[\"Échec de la suppression de la bibliothèque\"],\"+nF1ZO\":[\"Supprimer la photo\"],\"/+6dvC\":[\"Erreurs (\",[\"0\"],\")\"],\"/BBXeA\":[\"Connexion au serveur...\"],\"/DwR+n\":[\"Création…\"],\"/XtbPO\":[[\"0\"],\" titles\"],\"/cg+QV\":[\"Tout marquer comme visionné\"],\"/gQXGv\":[\"Échec de la mise à jour du statut\"],\"/nT6AE\":[\"Nouveau mot de passe\"],\"/sHc1/\":[\"Vérification des mises à jour\"],\"0+dyau\":[\"Échec de la mise à jour du paramètre de rétention\"],\"0BFJKK\":[\"L'autorisation a été refusée. Veuillez réessayer.\"],\"0GHb20\":[\"Purger le cache de métadonnées ?\"],\"0IBW21\":[\"Échec de la purge des caches\"],\"0gH/sc\":[\"Supprimer la photo de profil\"],\"1+P9RR\":[\"Passer à \",[\"0\"]],\"12cc1j\":[\"En cours\"],\"12lVOl\":[\"Suivi de films et séries auto-hébergé\"],\"1B4z0M\":[\"Filmographie\"],\"1J4Ek0\":[\"Sauvegardez automatiquement votre base de données selon un planning\"],\"1JhxXW\":[\"Épisode \",[\"0\"],\", \",[\"episodeLabel\"]],\"1N6wNP\":[\"Options d'importation\"],\"1Qz4uG\":[\"Activez la catégorie d'événement « Playback »\"],\"1hMWR6\":[\"Créer un compte\"],\"1jHIjh\":[\"Tout visionné de \",[\"seasonName\"]],\"1vSYsG\":[\"Télécharger la sauvegarde\"],\"1wL1tj\":[\"Série TV\"],\"2FletP\":[[\"0\",\"plural\",{\"one\":[\"#\",\" titre\"],\"other\":[\"#\",\" titres\"]}],\", \",[\"1\",\"plural\",{\"one\":[\"#\",\" personne\"],\"other\":[\"#\",\" personnes\"]}],\", \",[\"2\",\"plural\",{\"one\":[\"#\",\" fichier\"],\"other\":[\"#\",\" fichiers\"]}],\" purgés (\",[\"freed\"],\" libéré)\"],\"2Fsd9r\":[\"Ce mois-ci\"],\"2MPcep\":[\"Importation terminée\"],\"2Mu33Z\":[\"Gestion du cache\"],\"2POOFK\":[\"Gratuit\"],\"2Pt2NY\":[\"Cela supprimera tous les éléments de votre historique.\"],\"2fCpt5\":[\"Retour à l'accueil\"],\"2pPBp6\":[\"Tendance aujourd'hui\"],\"39neVN\":[\"Movies \",[\"0\"]],\"39y5bn\":[\"Vendredi\"],\"3Blefz\":[\"Notes\"],\"3JTlG8\":[\"Recherches récentes\"],\"3Jy8bM\":[\"Films \",[\"select\"]],\"3L9OuQ\":[\"Épisode \",[\"0\"]],\"3T/4MV\":[\"this year\"],\"3T8ziB\":[\"Créer un compte\"],\"3hELxX\":[\"Entrez l'URL de votre serveur Sofa pour commencer\"],\"4fxLkp\":[\"Ouvrez Sonarr, allez dans <0>Settings > Import Lists</0>\"],\"4kpBqM\":[\"Dernier événement \",[\"0\"]],\"4uUjVO\":[\"Producteur\"],\"4x+A56\":[\"Rapports d'utilisation anonymes\"],\"5IShvp\":[\"Importer \",[\"totalItems\"],\" éléments\"],\"5IYJSv\":[\"Explorer les titres\"],\"5Y4mym\":[\"Importer depuis \",[\"0\"]],\"5ZzgbQ\":[\"Connecter \",[\"0\"]],\"5fEnbK\":[\"Échec de la mise à jour du paramètre de sauvegarde planifiée\"],\"5lWFkC\":[\"Se connecter\"],\"5v9C16\":[\"Connecté à \",[\"source\"]],\"623bR4\":[\"Échec du déclenchement de la tâche\"],\"6HN0yh\":[\"Ouvrez Plex, allez dans Settings > Webhooks\"],\"6TNjOJ\":[\"Échec de la mise à jour de la note\"],\"6TfUy6\":[[\"value\"],\" dernières\"],\"6V3Ea3\":[\"Copié\"],\"6YtxFj\":[\"Nom\"],\"6exX+8\":[\"Régénérer\"],\"6gRgw8\":[\"Réessayer\"],\"6lGV3K\":[\"Afficher moins\"],\"76++pR\":[\"Avertissements\"],\"77DIAu\":[\"Aller dans Dashboard > Plugins > Webhook\"],\"79m/GK\":[\"Episodes \",[\"0\"]],\"7Bj3x9\":[\"Échoué\"],\"7D50KC\":[[\"label\"],\" déconnecté\"],\"7GfM5w\":[\"Récemment consultés\"],\"7L01XJ\":[\"Actions\"],\"7eMo+U\":[\"Accueil\"],\"7p5kLi\":[\"Tableau de bord\"],\"85eoJ1\":[\"Planning mis à jour\"],\"8B9E2D\":[\"Jour :\"],\"8YwF1J\":[\"Aller dans <0>Dashboard > Plugins > Webhook</0>\"],\"8ZsakT\":[\"Mot de passe\"],\"8tjQCz\":[\"Explorer\"],\"8vNtLy\":[\"Collez l'URL Radarr ci-dessus dans le champ List URL\"],\"8wYDMp\":[\"Vous avez déjà un compte ?\"],\"9AE3vb\":[\"Ouvrez Plex, allez dans <0>Settings > Webhooks<1/></0>\"],\"9GW0ZB\":[\"L'importation est toujours en cours en arrière-plan. Revenez plus tard.\"],\"9NyAH9\":[\"Ignoré\"],\"9Xhrps\":[\"Échec de la connexion\"],\"9ZLGbA\":[\"backups.\"],\"9eF5oV\":[\"Bon retour\"],\"9rG25a\":[\"URL du serveur\"],\"A+0rLe\":[\"Marqué comme terminé\"],\"A1taO8\":[\"Search\"],\"AOHgZp\":[\"Épisodes\"],\"AOddWK\":[\"Connecter \",[\"label\"]],\"ATfxL/\":[\"Bande-annonce\"],\"AVlZoM\":[\"Environnement\"],\"Acf6vF\":[\"Enregistrer le nom\"],\"AdoUfN\":[\"Échec de l'ajout à la liste de suivi\"],\"AeXO77\":[\"Compte\"],\"AjtYj0\":[\"Dans la liste de suivi\"],\"Avee+B\":[\"Échec de la mise à jour du nom\"],\"B2R3xD\":[\"Activer/désactivLine truncated
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"+5kO8P\":[\"Samedi\"],\"+6i0lS\":[\"Récupération de votre historique, liste de suivi et notes...\"],\"+Cv+V9\":[\"Supprimer de la bibliothèque\"],\"+JkEpu\":[\"Cette page est restée sur le plancher de la salle de montage. Elle a peut-être été déplacée, supprimée, ou n'a jamais dépassé le stade du scénario.\"],\"+K0AvT\":[\"Déconnecter\"],\"+N0l5/\":[\"Connecté à <0>\",[\"serverHost\"],\"</0>. Appuyez pour modifier.\"],\"+gLHYi\":[\"Échec du chargement du titre\"],\"+j1ex/\":[\"Échec de la suppression de la bibliothèque\"],\"+nF1ZO\":[\"Supprimer la photo\"],\"/+6dvC\":[\"Erreurs (\",[\"0\"],\")\"],\"/BBXeA\":[\"Connexion au serveur...\"],\"/DwR+n\":[\"Création…\"],\"/XtbPO\":[[\"0\"],\" titles\"],\"/cg+QV\":[\"Tout marquer comme visionné\"],\"/gQXGv\":[\"Échec de la mise à jour du statut\"],\"/nT6AE\":[\"Nouveau mot de passe\"],\"/sHc1/\":[\"Vérification des mises à jour\"],\"0+dyau\":[\"Échec de la mise à jour du paramètre de rétention\"],\"0BFJKK\":[\"L'autorisation a été refusée. Veuillez réessayer.\"],\"0GHb20\":[\"Purger le cache de métadonnées ?\"],\"0IBW21\":[\"Échec de la purge des caches\"],\"0gH/sc\":[\"Supprimer la photo de profil\"],\"1+P9RR\":[\"Passer à \",[\"0\"]],\"12cc1j\":[\"En cours\"],\"12lVOl\":[\"Suivi de films et séries auto-hébergé\"],\"1B4z0M\":[\"Filmographie\"],\"1J4Ek0\":[\"Sauvegardez automatiquement votre base de données selon un planning\"],\"1JhxXW\":[\"Épisode \",[\"0\"],\", \",[\"episodeLabel\"]],\"1N6wNP\":[\"Options d'importation\"],\"1Qz4uG\":[\"Activez la catégorie d'événement « Playback »\"],\"1hMWR6\":[\"Créer un compte\"],\"1jHIjh\":[\"Tout visionné de \",[\"seasonName\"]],\"1vSYsG\":[\"Télécharger la sauvegarde\"],\"1wL1tj\":[\"Série TV\"],\"2FletP\":[[\"0\",\"plural\",{\"one\":[\"#\",\" titre\"],\"other\":[\"#\",\" titres\"]}],\", \",[\"1\",\"plural\",{\"one\":[\"#\",\" personne\"],\"other\":[\"#\",\" personnes\"]}],\", \",[\"2\",\"plural\",{\"one\":[\"#\",\" fichier\"],\"other\":[\"#\",\" fichiers\"]}],\" purgés (\",[\"freed\"],\" libéré)\"],\"2Fsd9r\":[\"Ce mois-ci\"],\"2MPcep\":[\"Importation terminée\"],\"2Mu33Z\":[\"Gestion du cache\"],\"2POOFK\":[\"Gratuit\"],\"2Pt2NY\":[\"Cela supprimera tous les éléments de votre historique.\"],\"2fCpt5\":[\"Retour à l'accueil\"],\"2pPBp6\":[\"Tendance aujourd'hui\"],\"37o8E8\":[\"Dans la liste\"],\"39neVN\":[\"Films \",[\"0\"]],\"39y5bn\":[\"Vendredi\"],\"3Blefz\":[\"Notes\"],\"3JTlG8\":[\"Recherches récentes\"],\"3Jy8bM\":[\"Films \",[\"select\"]],\"3L9OuQ\":[\"Épisode \",[\"0\"]],\"3T/4MV\":[\"cette année\"],\"3T8ziB\":[\"Créer un compte\"],\"3hELxX\":[\"Entrez l'URL de votre serveur Sofa pour commencer\"],\"4fxLkp\":[\"Ouvrez Sonarr, allez dans <0>Settings > Import Lists</0>\"],\"4kpBqM\":[\"Dernier événement \",[\"0\"]],\"4uUjVO\":[\"Producteur\"],\"4x+A56\":[\"Rapports d'utilisation anonymes\"],\"5IShvp\":[\"Importer \",[\"totalItems\"],\" éléments\"],\"5IYJSv\":[\"Explorer les titres\"],\"5Y4mym\":[\"Importer depuis \",[\"0\"]],\"5ZzgbQ\":[\"Connecter \",[\"0\"]],\"5fEnbK\":[\"Échec de la mise à jour du paramètre de sauvegarde planifiée\"],\"5lWFkC\":[\"Se connecter\"],\"5v9C16\":[\"Connecté à \",[\"source\"]],\"623bR4\":[\"Échec du déclenchement de la tâche\"],\"6HN0yh\":[\"Ouvrez Plex, allez dans Settings > Webhooks\"],\"6TNjOJ\":[\"Échec de la mise à jour de la note\"],\"6TfUy6\":[[\"value\"],\" dernières\"],\"6V3Ea3\":[\"Copié\"],\"6YtxFj\":[\"Nom\"],\"6exX+8\":[\"Régénérer\"],\"6gRgw8\":[\"Réessayer\"],\"6lGV3K\":[\"Afficher moins\"],\"76++pR\":[\"Avertissements\"],\"77DIAu\":[\"Aller dans Dashboard > Plugins > Webhook\"],\"79m/GK\":[\"Épisodes \",[\"0\"]],\"7Bj3x9\":[\"Échoué\"],\"7D50KC\":[[\"label\"],\" déconnecté\"],\"7GfM5w\":[\"Récemment consultés\"],\"7L01XJ\":[\"Actions\"],\"7eMo+U\":[\"Accueil\"],\"7p5kLi\":[\"Tableau de bord\"],\"85eoJ1\":[\"Planning mis à jour\"],\"8B9E2D\":[\"Jour :\"],\"8YwF1J\":[\"Aller dans <0>Dashboard > Plugins > Webhook</0>\"],\"8ZsakT\":[\"Mot de passe\"],\"8tjQCz\":[\"Explorer\"],\"8vNtLy\":[\"Collez l'URL Radarr ci-dessus dans le champ List URL\"],\"8wYDMp\":[\"Vous avez déjà un compte ?\"],\"9AE3vb\":[\"Ouvrez Plex, allez dans <0>Settings > Webhooks<1/></0>\"],\"9GW0ZB\":[\"L'importation est toujours en cours en arrière-plan. Revenez plus tard.\"],\"9NyAH9\":[\"Ignoré\"],\"9Xhrps\":[\"Échec de la connexion\"],\"9ZLGbA\":[\"backups.\"],\"9eF5oV\":[\"Bon retour\"],\"9rG25a\":[\"URL du serveur\"],\"A+0rLe\":[\"Marqué comme terminé\"],\"A1taO8\":[\"Recherche\"],\"AOHgZp\":[\"Épisodes\"],\"AOddWK\":[\"Connecter \",[\"label\"]],\"ATfxL/\":[\"Bande-annonce\"],\"AVlZoM\":[\"Environnement\"],\"Acf6vF\":[\"Enregistrer le nom\"],\"AdoUfN\":[\"Échec de l'ajout à la liste de suivi\"],\"AeXO77\":[\"Compte\"],\"AjtYj0\":[\"Dans la liste de suivi\"],\"Avee+B\":[\"Échec de la mise à jour du nLine truncated
|
||||
+217
-180
File diff suppressed because it is too large.
Load diff
@@ -1 +1 @@
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"+5kO8P\":[\"Sabato\"],\"+6i0lS\":[\"Recupero della cronologia, watchlist e valutazioni...\"],\"+Cv+V9\":[\"Rimuovi dalla libreria\"],\"+JkEpu\":[\"Questa pagina è rimasta sul pavimento della sala di montaggio. Potrebbe essere stata spostata, rimossa, o non essere mai arrivata alla sceneggiatura.\"],\"+K0AvT\":[\"Disconnetti\"],\"+N0l5/\":[\"Connesso a <0>\",[\"serverHost\"],\"</0>. Tocca per cambiare.\"],\"+gLHYi\":[\"Impossibile caricare il titolo\"],\"+j1ex/\":[\"Impossibile rimuovere dalla libreria\"],\"+nF1ZO\":[\"Rimuovi foto\"],\"/+6dvC\":[\"Errori (\",[\"0\"],\")\"],\"/BBXeA\":[\"Connessione al server in corso...\"],\"/DwR+n\":[\"Creazione in corso…\"],\"/XtbPO\":[[\"0\"],\" titles\"],\"/cg+QV\":[\"Segna tutta la stagione come vista\"],\"/gQXGv\":[\"Impossibile aggiornare lo stato\"],\"/nT6AE\":[\"Nuova password\"],\"/sHc1/\":[\"Controllo aggiornamenti\"],\"0+dyau\":[\"Impossibile aggiornare l'impostazione di conservazione\"],\"0BFJKK\":[\"Autorizzazione negata. Riprova.\"],\"0GHb20\":[\"Svuotare la cache metadati?\"],\"0IBW21\":[\"Impossibile svuotare le cache\"],\"0gH/sc\":[\"Rimuovi immagine del profilo\"],\"1+P9RR\":[\"Passa a \",[\"0\"]],\"12cc1j\":[\"In visione\"],\"12lVOl\":[\"Tracker film & TV self-hosted\"],\"1B4z0M\":[\"Filmografia\"],\"1J4Ek0\":[\"Esegui il backup automatico del database secondo una pianificazione\"],\"1JhxXW\":[\"Episodio \",[\"0\"],\", \",[\"episodeLabel\"]],\"1N6wNP\":[\"Opzioni di importazione\"],\"1Qz4uG\":[\"Abilita la categoria evento \\\"Playback\\\"\"],\"1hMWR6\":[\"Crea account\"],\"1jHIjh\":[\"Segnata come vista tutta la \",[\"seasonName\"]],\"1vSYsG\":[\"Scarica backup\"],\"1wL1tj\":[\"Serie TV\"],\"2FletP\":[[\"0\",\"plural\",{\"one\":[\"#\",\" titolo\"],\"other\":[\"#\",\" titoli\"]}],\", \",[\"1\",\"plural\",{\"one\":[\"#\",\" persona\"],\"other\":[\"#\",\" persone\"]}],\", \",[\"2\",\"plural\",{\"one\":[\"#\",\" file\"],\"other\":[\"#\",\" file\"]}],\" eliminati (\",[\"freed\"],\" liberati)\"],\"2Fsd9r\":[\"Questo mese\"],\"2MPcep\":[\"Importazione completata\"],\"2Mu33Z\":[\"Gestione cache\"],\"2POOFK\":[\"Gratis\"],\"2Pt2NY\":[\"Questo rimuoverà tutti gli elementi dalla tua cronologia.\"],\"2fCpt5\":[\"Torna alla home\"],\"2pPBp6\":[\"In tendenza oggi\"],\"39neVN\":[\"Movies \",[\"0\"]],\"39y5bn\":[\"Venerdì\"],\"3Blefz\":[\"Valutazioni\"],\"3JTlG8\":[\"Ricerche recenti\"],\"3Jy8bM\":[\"Film \",[\"select\"]],\"3L9OuQ\":[\"Episodio \",[\"0\"]],\"3T/4MV\":[\"this year\"],\"3T8ziB\":[\"Crea un account\"],\"3hELxX\":[\"Inserisci l'URL del tuo server Sofa per iniziare\"],\"4fxLkp\":[\"Apri Sonarr, vai su <0>Impostazioni > Liste di importazione</0>\"],\"4kpBqM\":[\"Ultimo evento \",[\"0\"]],\"4uUjVO\":[\"Produttore\"],\"4x+A56\":[\"Segnalazione anonima dell'utilizzo\"],\"5IShvp\":[\"Importa \",[\"totalItems\"],\" elementi\"],\"5IYJSv\":[\"Esplora titoli\"],\"5Y4mym\":[\"Importa da \",[\"0\"]],\"5ZzgbQ\":[\"Connetti \",[\"0\"]],\"5fEnbK\":[\"Impossibile aggiornare l'impostazione di backup pianificato\"],\"5lWFkC\":[\"Accedi\"],\"5v9C16\":[\"Connesso a \",[\"source\"]],\"623bR4\":[\"Impossibile avviare il job\"],\"6HN0yh\":[\"Apri Plex, vai su Impostazioni > Webhook\"],\"6TNjOJ\":[\"Impossibile aggiornare la valutazione\"],\"6TfUy6\":[\"ultimi \",[\"value\"]],\"6V3Ea3\":[\"Copiato\"],\"6YtxFj\":[\"Nome\"],\"6exX+8\":[\"Rigenera\"],\"6gRgw8\":[\"Riprova\"],\"6lGV3K\":[\"Mostra meno\"],\"76++pR\":[\"Avvisi\"],\"77DIAu\":[\"Vai su Dashboard > Plugin > Webhook\"],\"79m/GK\":[\"Episodes \",[\"0\"]],\"7Bj3x9\":[\"Non riuscito\"],\"7D50KC\":[\"Disconnesso: \",[\"label\"]],\"7GfM5w\":[\"Visualizzati di recente\"],\"7L01XJ\":[\"Azioni\"],\"7eMo+U\":[\"Vai alla home\"],\"7p5kLi\":[\"Dashboard\"],\"85eoJ1\":[\"Pianificazione aggiornata\"],\"8B9E2D\":[\"Giorno:\"],\"8YwF1J\":[\"Vai su <0>Dashboard > Plugin > Webhook</0>\"],\"8ZsakT\":[\"Password\"],\"8tjQCz\":[\"Esplora\"],\"8vNtLy\":[\"Incolla l'URL di Radarr nel campo URL della lista\"],\"8wYDMp\":[\"Hai già un account?\"],\"9AE3vb\":[\"Apri Plex, vai su <0>Impostazioni > Webhook<1/></0>\"],\"9GW0ZB\":[\"L'importazione è ancora in corso in background. Ricontrolla più tardi.\"],\"9NyAH9\":[\"Ignorati\"],\"9Xhrps\":[\"Impossibile connettersi\"],\"9ZLGbA\":[\"backups.\"],\"9eF5oV\":[\"Bentornato\"],\"9rG25a\":[\"URL server\"],\"A+0rLe\":[\"Segnato come completato\"],\"A1taO8\":[\"Search\"],\"AOHgZp\":[\"Episodi\"],\"AOddWK\":[\"Connetti \",[\"label\"]],\"ATfxL/\":[\"Trailer\"],\"AVlZoM\":[\"Ambiente\"],\"Acf6vF\":[\"Salva nome\"],\"AdoUfN\":[\"Impossibile aggiungere alla watchlist\"],\"AeXO77\":[\"Account\"],\"AjtYj0\":[\"In watchlist\"],\"Avee+B\":[\"Impossibile aggiornare il nome\"],\"B2R3xD\":[\"Attiva/disattiva backup pianificati\"],\"BEVzjL\":[\"Importazione fallita\"],\"BQnS5I\":[\"Apri \",[\"source\"],\" per inserire il codice\"],\"BUnoSB\":[[\"0\"],\" \",[\"1\",\"plural\",{\"one\":[\"backup\"],\"other\":[\"backup\"]Line truncated
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"+5kO8P\":[\"Sabato\"],\"+6i0lS\":[\"Recupero della cronologia, watchlist e valutazioni...\"],\"+Cv+V9\":[\"Rimuovi dalla libreria\"],\"+JkEpu\":[\"Questa pagina è rimasta sul pavimento della sala di montaggio. Potrebbe essere stata spostata, rimossa, o non essere mai arrivata alla sceneggiatura.\"],\"+K0AvT\":[\"Disconnetti\"],\"+N0l5/\":[\"Connesso a <0>\",[\"serverHost\"],\"</0>. Tocca per cambiare.\"],\"+gLHYi\":[\"Impossibile caricare il titolo\"],\"+j1ex/\":[\"Impossibile rimuovere dalla libreria\"],\"+nF1ZO\":[\"Rimuovi foto\"],\"/+6dvC\":[\"Errori (\",[\"0\"],\")\"],\"/BBXeA\":[\"Connessione al server in corso...\"],\"/DwR+n\":[\"Creazione in corso…\"],\"/XtbPO\":[[\"0\"],\" titles\"],\"/cg+QV\":[\"Segna tutta la stagione come vista\"],\"/gQXGv\":[\"Impossibile aggiornare lo stato\"],\"/nT6AE\":[\"Nuova password\"],\"/sHc1/\":[\"Controllo aggiornamenti\"],\"0+dyau\":[\"Impossibile aggiornare l'impostazione di conservazione\"],\"0BFJKK\":[\"Autorizzazione negata. Riprova.\"],\"0GHb20\":[\"Svuotare la cache metadati?\"],\"0IBW21\":[\"Impossibile svuotare le cache\"],\"0gH/sc\":[\"Rimuovi immagine del profilo\"],\"1+P9RR\":[\"Passa a \",[\"0\"]],\"12cc1j\":[\"In visione\"],\"12lVOl\":[\"Tracker film & TV self-hosted\"],\"1B4z0M\":[\"Filmografia\"],\"1J4Ek0\":[\"Esegui il backup automatico del database secondo una pianificazione\"],\"1JhxXW\":[\"Episodio \",[\"0\"],\", \",[\"episodeLabel\"]],\"1N6wNP\":[\"Opzioni di importazione\"],\"1Qz4uG\":[\"Abilita la categoria evento \\\"Playback\\\"\"],\"1hMWR6\":[\"Crea account\"],\"1jHIjh\":[\"Segnata come vista tutta la \",[\"seasonName\"]],\"1vSYsG\":[\"Scarica backup\"],\"1wL1tj\":[\"Serie TV\"],\"2FletP\":[[\"0\",\"plural\",{\"one\":[\"#\",\" titolo\"],\"other\":[\"#\",\" titoli\"]}],\", \",[\"1\",\"plural\",{\"one\":[\"#\",\" persona\"],\"other\":[\"#\",\" persone\"]}],\", \",[\"2\",\"plural\",{\"one\":[\"#\",\" file\"],\"other\":[\"#\",\" file\"]}],\" eliminati (\",[\"freed\"],\" liberati)\"],\"2Fsd9r\":[\"Questo mese\"],\"2MPcep\":[\"Importazione completata\"],\"2Mu33Z\":[\"Gestione cache\"],\"2POOFK\":[\"Gratis\"],\"2Pt2NY\":[\"Questo rimuoverà tutti gli elementi dalla tua cronologia.\"],\"2fCpt5\":[\"Torna alla home\"],\"2pPBp6\":[\"In tendenza oggi\"],\"37o8E8\":[\"Nella watchlist\"],\"39neVN\":[\"Film \",[\"0\"]],\"39y5bn\":[\"Venerdì\"],\"3Blefz\":[\"Valutazioni\"],\"3JTlG8\":[\"Ricerche recenti\"],\"3Jy8bM\":[\"Film \",[\"select\"]],\"3L9OuQ\":[\"Episodio \",[\"0\"]],\"3T/4MV\":[\"quest'anno\"],\"3T8ziB\":[\"Crea un account\"],\"3hELxX\":[\"Inserisci l'URL del tuo server Sofa per iniziare\"],\"4fxLkp\":[\"Apri Sonarr, vai su <0>Impostazioni > Liste di importazione</0>\"],\"4kpBqM\":[\"Ultimo evento \",[\"0\"]],\"4uUjVO\":[\"Produttore\"],\"4x+A56\":[\"Segnalazione anonima dell'utilizzo\"],\"5IShvp\":[\"Importa \",[\"totalItems\"],\" elementi\"],\"5IYJSv\":[\"Esplora titoli\"],\"5Y4mym\":[\"Importa da \",[\"0\"]],\"5ZzgbQ\":[\"Connetti \",[\"0\"]],\"5fEnbK\":[\"Impossibile aggiornare l'impostazione di backup pianificato\"],\"5lWFkC\":[\"Accedi\"],\"5v9C16\":[\"Connesso a \",[\"source\"]],\"623bR4\":[\"Impossibile avviare il job\"],\"6HN0yh\":[\"Apri Plex, vai su Impostazioni > Webhook\"],\"6TNjOJ\":[\"Impossibile aggiornare la valutazione\"],\"6TfUy6\":[\"ultimi \",[\"value\"]],\"6V3Ea3\":[\"Copiato\"],\"6YtxFj\":[\"Nome\"],\"6exX+8\":[\"Rigenera\"],\"6gRgw8\":[\"Riprova\"],\"6lGV3K\":[\"Mostra meno\"],\"76++pR\":[\"Avvisi\"],\"77DIAu\":[\"Vai su Dashboard > Plugin > Webhook\"],\"79m/GK\":[\"Episodi \",[\"0\"]],\"7Bj3x9\":[\"Non riuscito\"],\"7D50KC\":[\"Disconnesso: \",[\"label\"]],\"7GfM5w\":[\"Visualizzati di recente\"],\"7L01XJ\":[\"Azioni\"],\"7eMo+U\":[\"Vai alla home\"],\"7p5kLi\":[\"Dashboard\"],\"85eoJ1\":[\"Pianificazione aggiornata\"],\"8B9E2D\":[\"Giorno:\"],\"8YwF1J\":[\"Vai su <0>Dashboard > Plugin > Webhook</0>\"],\"8ZsakT\":[\"Password\"],\"8tjQCz\":[\"Esplora\"],\"8vNtLy\":[\"Incolla l'URL di Radarr nel campo URL della lista\"],\"8wYDMp\":[\"Hai già un account?\"],\"9AE3vb\":[\"Apri Plex, vai su <0>Impostazioni > Webhook<1/></0>\"],\"9GW0ZB\":[\"L'importazione è ancora in corso in background. Ricontrolla più tardi.\"],\"9NyAH9\":[\"Ignorati\"],\"9Xhrps\":[\"Impossibile connettersi\"],\"9ZLGbA\":[\"backups.\"],\"9eF5oV\":[\"Bentornato\"],\"9rG25a\":[\"URL server\"],\"A+0rLe\":[\"Segnato come completato\"],\"A1taO8\":[\"Cerca\"],\"AOHgZp\":[\"Episodi\"],\"AOddWK\":[\"Connetti \",[\"label\"]],\"ATfxL/\":[\"Trailer\"],\"AVlZoM\":[\"Ambiente\"],\"Acf6vF\":[\"Salva nome\"],\"AdoUfN\":[\"Impossibile aggiungere alla watchlist\"],\"AeXO77\":[\"Account\"],\"AjtYj0\":[\"In watchlist\"],\"Avee+B\":[\"Impossibile aggiornare il nome\"],\"B2R3xD\":[\"Attiva/disattiva backup pianificati\"],\"BEVzjL\":[\"Importazione fallita\"],\"BQnS5I\":[\"Apri \",[\"source\"],\" per inserire il codice\"],\"BUnoSB\":[[\"0\"],\" \",[\"1\",\"plural\",{\"one\":[\"baLine truncated
|
||||
+206
-169
@@ -57,7 +57,7 @@ msgstr "{0} imagens em cache"
|
||||
#. placeholder {1}: member.episodeCount !== 1 ? "s" : ""
|
||||
#: apps/web/src/components/titles/cast-carousel.tsx:78
|
||||
msgid "{0} ep{1}"
|
||||
msgstr ""
|
||||
msgstr "{0} ep{1}"
|
||||
|
||||
#: apps/native/src/app/(tabs)/(settings)/index.tsx:472
|
||||
#~ msgid "{0} images"
|
||||
@@ -104,8 +104,8 @@ msgstr "{0}/{1} {2, plural, one {episódio} other {episódios}}"
|
||||
#~ msgid "{0}/{1} episodes"
|
||||
#~ msgstr "{0}/{1} episodes"
|
||||
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:200
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:278
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:198
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:270
|
||||
msgid "{count} earlier {count, plural, one {episode} other {episodes}} unwatched"
|
||||
msgstr "{count} {count, plural, one {episódio anterior não assistido} other {episódios anteriores não assistidos}}"
|
||||
|
||||
@@ -114,22 +114,22 @@ msgstr "{count} {count, plural, one {episódio anterior não assistido} other {e
|
||||
msgid "{healthyCount} of {0} jobs healthy"
|
||||
msgstr "{healthyCount} de {0} tarefas saudáveis"
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:84
|
||||
#: apps/native/src/components/settings/integration-card.tsx:86
|
||||
#: apps/web/src/components/settings/integration-card.tsx:89
|
||||
msgid "{label} connected"
|
||||
msgstr "{label} conectado"
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:94
|
||||
#: apps/native/src/components/settings/integration-card.tsx:96
|
||||
#: apps/web/src/components/settings/integration-card.tsx:105
|
||||
msgid "{label} disconnected"
|
||||
msgstr "{label} desconectado"
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:104
|
||||
#: apps/native/src/components/settings/integration-card.tsx:106
|
||||
#: apps/web/src/components/settings/integration-card.tsx:119
|
||||
msgid "{label} URL regenerated"
|
||||
msgstr "URL de {label} regenerada"
|
||||
|
||||
#: apps/web/src/components/title-card.tsx:152
|
||||
#: apps/web/src/components/title-card.tsx:157
|
||||
msgid "{watched}/{total} episodes"
|
||||
msgstr "{watched}/{total} episódios"
|
||||
|
||||
@@ -157,7 +157,7 @@ msgstr "Conta"
|
||||
msgid "Actions"
|
||||
msgstr "Ações"
|
||||
|
||||
#: apps/native/src/app/person/[id].tsx:50
|
||||
#: apps/native/src/app/person/[id].tsx:138
|
||||
#: apps/native/src/components/search/recently-viewed-row-content.tsx:28
|
||||
#: apps/web/src/components/people/person-hero.tsx:69
|
||||
msgid "Actor"
|
||||
@@ -180,13 +180,13 @@ msgstr "Adicione um novo webhook e cole a URL acima"
|
||||
msgid "Add to Library"
|
||||
msgstr "Adicionar à Biblioteca"
|
||||
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:73
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:80
|
||||
msgid "Add to watchlist"
|
||||
msgstr "Adicionar à lista de desejos"
|
||||
|
||||
#: apps/native/src/components/explore/hero-banner.tsx:132
|
||||
#: apps/native/src/components/ui/poster-card.tsx:212
|
||||
#: apps/web/src/components/title-card.tsx:133
|
||||
#: apps/native/src/components/ui/poster-card.tsx:215
|
||||
#: apps/web/src/components/title-card.tsx:138
|
||||
msgid "Add to Watchlist"
|
||||
msgstr "Adicionar à Lista de Desejos"
|
||||
|
||||
@@ -197,7 +197,7 @@ msgstr "Adicionado \"{titleName}\" à lista de desejos"
|
||||
#: apps/native/src/hooks/use-title-actions.ts:44
|
||||
#: apps/native/src/hooks/use-title-actions.ts:59
|
||||
#: apps/native/src/lib/title-actions.ts:25
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:98
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:95
|
||||
msgid "Added to watchlist"
|
||||
msgstr "Adicionado à lista de desejos"
|
||||
|
||||
@@ -209,11 +209,11 @@ msgstr "Adicionado à lista de desejos"
|
||||
msgid "Admin"
|
||||
msgstr "Administrador"
|
||||
|
||||
#: apps/web/src/routes/_app/settings.tsx:154
|
||||
#: apps/web/src/routes/_app/settings.tsx:156
|
||||
msgid "Admin only"
|
||||
msgstr "Apenas administradores"
|
||||
|
||||
#: apps/native/src/app/person/[id].tsx:249
|
||||
#: apps/native/src/app/person/[id].tsx:189
|
||||
#: apps/web/src/components/people/person-hero.tsx:89
|
||||
msgid "age {age}"
|
||||
msgstr "idade {age}"
|
||||
@@ -243,7 +243,7 @@ msgstr "Ocorreu um erro inesperado ao carregar esta página. Você pode tentar n
|
||||
msgid "Anonymous usage reporting"
|
||||
msgstr "Relatório de uso anônimo"
|
||||
|
||||
#: apps/web/src/routes/_app/settings.tsx:135
|
||||
#: apps/web/src/routes/_app/settings.tsx:137
|
||||
msgid "App Settings"
|
||||
msgstr "Configurações do App"
|
||||
|
||||
@@ -251,7 +251,7 @@ msgstr "Configurações do App"
|
||||
msgid "Application"
|
||||
msgstr "Aplicativo"
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:139
|
||||
#: apps/native/src/components/settings/integration-card.tsx:148
|
||||
msgid "Are you sure you want to disconnect {label}? The current URL will stop working."
|
||||
msgstr "Tem certeza que deseja desconectar {label}? A URL atual deixará de funcionar."
|
||||
|
||||
@@ -295,7 +295,7 @@ msgstr "Tarefas em segundo plano"
|
||||
|
||||
#: apps/web/src/components/settings/system-health-section.tsx:309
|
||||
msgid "Backup"
|
||||
msgstr ""
|
||||
msgstr "Backup"
|
||||
|
||||
#: apps/web/src/components/settings/backup-section.tsx:62
|
||||
msgid "Backup created"
|
||||
@@ -310,9 +310,9 @@ msgid "Backup schedule"
|
||||
msgstr "Agendamento de backup"
|
||||
|
||||
#: apps/web/src/components/settings/system-health-section.tsx:583
|
||||
#: apps/web/src/routes/_app/settings.tsx:190
|
||||
#: apps/web/src/routes/_app/settings.tsx:192
|
||||
msgid "Backups"
|
||||
msgstr ""
|
||||
msgstr "Backups"
|
||||
|
||||
#: apps/web/src/components/settings/backup-schedule-section.tsx:272
|
||||
#~ msgid "backups."
|
||||
@@ -337,8 +337,9 @@ msgstr "Não foi possível alcançar o servidor"
|
||||
#: apps/native/src/components/header-avatar.tsx:63
|
||||
#: apps/native/src/components/search/recently-viewed-list.ios.tsx:58
|
||||
#: apps/native/src/components/search/recently-viewed-list.tsx:32
|
||||
#: apps/native/src/components/settings/integration-card.tsx:126
|
||||
#: apps/native/src/components/settings/integration-card.tsx:141
|
||||
#: apps/native/src/components/settings/integration-card.tsx:135
|
||||
#: apps/native/src/components/settings/integration-card.tsx:150
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:104
|
||||
#: apps/web/src/components/settings/account-section.tsx:477
|
||||
#: apps/web/src/components/settings/backup-restore-section.tsx:101
|
||||
#: apps/web/src/components/settings/backup-section.tsx:240
|
||||
@@ -348,6 +349,7 @@ msgstr "Não foi possível alcançar o servidor"
|
||||
#: apps/web/src/components/settings/imports-section.tsx:611
|
||||
#: apps/web/src/components/settings/imports-section.tsx:674
|
||||
#: apps/web/src/components/settings/imports-section.tsx:798
|
||||
#: apps/web/src/components/titles/status-button.tsx:131
|
||||
#: apps/web/src/components/titles/title-seasons.tsx:127
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
@@ -361,14 +363,20 @@ msgstr "Cancelar edição"
|
||||
msgid "Cast"
|
||||
msgstr "Elenco"
|
||||
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:202
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:280
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:200
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:272
|
||||
msgid "Catch up"
|
||||
msgstr "Colocar em dia"
|
||||
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:50
|
||||
#: apps/web/src/components/title-card.tsx:74
|
||||
#: apps/web/src/components/titles/status-button.tsx:54
|
||||
msgid "Caught Up"
|
||||
msgstr "Em dia"
|
||||
|
||||
#. placeholder {0}: episodeIds.length
|
||||
#. placeholder {1}: episodeIds.length
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:72
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:69
|
||||
msgid "Caught up — marked {0} {1, plural, one {episode} other {episodes}} as watched"
|
||||
msgstr "Em dia — {0} {1, plural, one {episódio marcado como assistido} other {episódios marcados como assistidos}}"
|
||||
|
||||
@@ -418,7 +426,7 @@ msgstr "Escolha como importar seus dados do {0}."
|
||||
#: apps/native/src/components/search/recently-viewed-list.ios.tsx:60
|
||||
#: apps/native/src/components/search/recently-viewed-list.ios.tsx:104
|
||||
#: apps/native/src/components/search/recently-viewed-list.tsx:34
|
||||
#: apps/native/src/components/search/recently-viewed-list.tsx:86
|
||||
#: apps/native/src/components/search/recently-viewed-list.tsx:68
|
||||
msgid "Clear"
|
||||
msgstr "Limpar"
|
||||
|
||||
@@ -455,10 +463,10 @@ msgid "Close"
|
||||
msgstr "Fechar"
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx:146
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:45
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:52
|
||||
#: apps/web/src/components/dashboard/stats-display.tsx:219
|
||||
#: apps/web/src/components/title-card.tsx:74
|
||||
#: apps/web/src/components/titles/status-button.tsx:25
|
||||
#: apps/web/src/components/title-card.tsx:79
|
||||
#: apps/web/src/components/titles/status-button.tsx:59
|
||||
msgid "Completed"
|
||||
msgstr "Concluído"
|
||||
|
||||
@@ -477,7 +485,7 @@ msgstr "Conectar"
|
||||
msgid "Connect {0}"
|
||||
msgstr "Conectar {0}"
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:207
|
||||
#: apps/native/src/components/settings/integration-card.tsx:216
|
||||
msgid "Connect {label}"
|
||||
msgstr "Conectar {label}"
|
||||
|
||||
@@ -485,7 +493,7 @@ msgstr "Conectar {label}"
|
||||
msgid "Connect to {source}"
|
||||
msgstr "Conectar a {source}"
|
||||
|
||||
#: apps/web/src/routes/setup.tsx:98
|
||||
#: apps/web/src/routes/setup.tsx:99
|
||||
msgid "Connect to TMDB"
|
||||
msgstr "Conectar ao TMDB"
|
||||
|
||||
@@ -516,7 +524,7 @@ msgstr "Conectando ao servidor..."
|
||||
msgid "Connecting..."
|
||||
msgstr "Conectando..."
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:207
|
||||
#: apps/native/src/components/settings/integration-card.tsx:216
|
||||
msgid "Connecting…"
|
||||
msgstr "Conectando…"
|
||||
|
||||
@@ -545,7 +553,7 @@ msgstr "Copiar URL"
|
||||
msgid "Could not load integrations"
|
||||
msgstr "Não foi possível carregar as integrações"
|
||||
|
||||
#: apps/native/src/app/person/[id].tsx:172
|
||||
#: apps/native/src/app/person/[id].tsx:257
|
||||
msgid "Could not load person details"
|
||||
msgstr "Não foi possível carregar os detalhes da pessoa"
|
||||
|
||||
@@ -579,14 +587,14 @@ msgstr "Senha atual"
|
||||
msgid "Current password is required"
|
||||
msgstr "A senha atual é obrigatória"
|
||||
|
||||
#: apps/web/src/routes/_app/settings.tsx:216
|
||||
#: apps/web/src/routes/_app/settings.tsx:218
|
||||
msgid "Danger Zone"
|
||||
msgstr "Zona de Perigo"
|
||||
|
||||
#: apps/web/src/routes/__root.tsx:163
|
||||
#: apps/web/src/routes/_app/people.$id.tsx:76
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:119
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:165
|
||||
#: apps/web/src/routes/_app/people.$id.tsx:78
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:120
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:166
|
||||
msgid "Dashboard"
|
||||
msgstr "Painel"
|
||||
|
||||
@@ -630,12 +638,12 @@ msgstr "{0, plural, one {# arquivo excluído} other {# arquivos excluídos}}, {f
|
||||
msgid "Device code expired. Please try again."
|
||||
msgstr "Código do dispositivo expirou. Tente novamente."
|
||||
|
||||
#: apps/native/src/app/person/[id].tsx:249
|
||||
#: apps/native/src/app/person/[id].tsx:189
|
||||
#: apps/web/src/components/people/person-hero.tsx:89
|
||||
msgid "died at {age}"
|
||||
msgstr "faleceu aos {age}"
|
||||
|
||||
#: apps/native/src/app/person/[id].tsx:51
|
||||
#: apps/native/src/app/person/[id].tsx:139
|
||||
#: apps/native/src/components/search/recently-viewed-row-content.tsx:29
|
||||
#: apps/web/src/components/people/person-hero.tsx:71
|
||||
msgid "Director"
|
||||
@@ -646,13 +654,13 @@ msgstr "Diretor"
|
||||
msgid "Disabled"
|
||||
msgstr "Desativado"
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:143
|
||||
#: apps/native/src/components/settings/integration-card.tsx:257
|
||||
#: apps/native/src/components/settings/integration-card.tsx:152
|
||||
#: apps/native/src/components/settings/integration-card.tsx:266
|
||||
#: apps/web/src/components/settings/integration-card.tsx:234
|
||||
msgid "Disconnect"
|
||||
msgstr "Desconectar"
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:138
|
||||
#: apps/native/src/components/settings/integration-card.tsx:147
|
||||
msgid "Disconnect {label}"
|
||||
msgstr "Desconectar {label}"
|
||||
|
||||
@@ -685,11 +693,11 @@ msgstr "Baixar"
|
||||
msgid "Download backup"
|
||||
msgstr "Baixar backup"
|
||||
|
||||
#: apps/native/src/app/person/[id].tsx:54
|
||||
#: apps/native/src/app/person/[id].tsx:142
|
||||
#: apps/native/src/components/search/recently-viewed-row-content.tsx:32
|
||||
#: apps/web/src/components/people/person-hero.tsx:77
|
||||
msgid "Editor"
|
||||
msgstr ""
|
||||
msgstr "Editor"
|
||||
|
||||
#: apps/native/src/app/(auth)/login.tsx:123
|
||||
#: apps/native/src/app/(auth)/register.tsx:139
|
||||
@@ -729,24 +737,31 @@ msgstr "Insira a URL do seu servidor Sofa para começar"
|
||||
msgid "Environment"
|
||||
msgstr "Ambiente"
|
||||
|
||||
#. placeholder {0}: episode.episodeNumber
|
||||
#: apps/native/src/components/titles/episode-row.tsx:27
|
||||
#: apps/native/src/components/titles/episode-row.tsx:48
|
||||
msgid "Episode {0}"
|
||||
msgstr "Episódio {0}"
|
||||
#~ msgid "Episode {0}"
|
||||
#~ msgstr "Episódio {0}"
|
||||
|
||||
#. placeholder {0}: episode.episodeNumber
|
||||
#: apps/native/src/components/titles/episode-row.tsx:34
|
||||
msgid "Episode {0}, {episodeLabel}"
|
||||
msgstr "Episódio {0}, {episodeLabel}"
|
||||
#~ msgid "Episode {0}, {episodeLabel}"
|
||||
#~ msgstr "Episódio {0}, {episodeLabel}"
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:111
|
||||
#: apps/native/src/lib/title-actions.ts:108
|
||||
#: apps/native/src/components/titles/episode-row.tsx:29
|
||||
#: apps/native/src/components/titles/episode-row.tsx:52
|
||||
msgid "Episode {episodeNumber}"
|
||||
msgstr "Episódio {episodeNumber}"
|
||||
|
||||
#: apps/native/src/components/titles/episode-row.tsx:38
|
||||
msgid "Episode {episodeNumber}, {episodeLabel}"
|
||||
msgstr "Episódio {episodeNumber}, {episodeLabel}"
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:109
|
||||
#: apps/native/src/lib/title-actions.ts:84
|
||||
msgid "Episode unwatched"
|
||||
msgstr "Episódio não assistido"
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:101
|
||||
#: apps/native/src/lib/title-actions.ts:98
|
||||
#: apps/native/src/hooks/use-title-actions.ts:99
|
||||
#: apps/native/src/lib/title-actions.ts:74
|
||||
msgid "Episode watched"
|
||||
msgstr "Episódio assistido"
|
||||
|
||||
@@ -758,7 +773,7 @@ msgstr "Episódios"
|
||||
#. placeholder {0}: periodLabels[episodePeriod]
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx:125
|
||||
msgid "Episodes {0}"
|
||||
msgstr ""
|
||||
msgstr "Episódios {0}"
|
||||
|
||||
#: apps/web/src/components/dashboard/stats-display.tsx:162
|
||||
#~ msgid "Episodes {periodSelect}"
|
||||
@@ -790,8 +805,8 @@ msgstr "Erros ({0})"
|
||||
msgid "Explore"
|
||||
msgstr "Explorar"
|
||||
|
||||
#: apps/web/src/routes/_app/people.$id.tsx:68
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:157
|
||||
#: apps/web/src/routes/_app/people.$id.tsx:70
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:158
|
||||
msgid "Explore titles"
|
||||
msgstr "Explorar títulos"
|
||||
|
||||
@@ -804,7 +819,7 @@ msgstr "Falhou"
|
||||
msgid "Failed to add to watchlist"
|
||||
msgstr "Falha ao adicionar à lista de desejos"
|
||||
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:80
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:77
|
||||
msgid "Failed to catch up"
|
||||
msgstr "Falha ao colocar em dia"
|
||||
|
||||
@@ -817,7 +832,7 @@ msgstr "Falha ao alterar senha"
|
||||
msgid "Failed to connect"
|
||||
msgstr "Falha ao conectar"
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:87
|
||||
#: apps/native/src/components/settings/integration-card.tsx:89
|
||||
#: apps/web/src/components/settings/integration-card.tsx:91
|
||||
msgid "Failed to connect {label}"
|
||||
msgstr "Falha ao conectar {label}"
|
||||
@@ -834,7 +849,7 @@ msgstr "Falha ao criar backup"
|
||||
msgid "Failed to delete backup"
|
||||
msgstr "Falha ao excluir backup"
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:97
|
||||
#: apps/native/src/components/settings/integration-card.tsx:99
|
||||
#: apps/web/src/components/settings/integration-card.tsx:108
|
||||
msgid "Failed to disconnect {label}"
|
||||
msgstr "Falha ao desconectar {label}"
|
||||
@@ -843,29 +858,30 @@ msgstr "Falha ao desconectar {label}"
|
||||
msgid "Failed to load backup schedule settings."
|
||||
msgstr "Falha ao carregar as configurações do agendamento de backup."
|
||||
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:110
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:111
|
||||
msgid "Failed to load title"
|
||||
msgstr "Falha ao carregar título"
|
||||
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:344
|
||||
#: apps/native/src/lib/title-actions.ts:101
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:338
|
||||
msgid "Failed to mark all episodes as watched"
|
||||
msgstr "Falha ao marcar todos os episódios como assistidos"
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:79
|
||||
#: apps/native/src/lib/title-actions.ts:67
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:137
|
||||
#: apps/native/src/hooks/use-title-actions.ts:77
|
||||
#: apps/native/src/lib/title-actions.ts:43
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:134
|
||||
msgid "Failed to mark as watched"
|
||||
msgstr "Falha ao marcar como assistido"
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:104
|
||||
#: apps/native/src/lib/title-actions.ts:101
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:216
|
||||
#: apps/native/src/hooks/use-title-actions.ts:102
|
||||
#: apps/native/src/lib/title-actions.ts:77
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:214
|
||||
msgid "Failed to mark episode"
|
||||
msgstr "Falha ao marcar episódio"
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:124
|
||||
#: apps/native/src/lib/title-actions.ts:123
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:294
|
||||
#: apps/native/src/hooks/use-title-actions.ts:122
|
||||
#: apps/native/src/lib/title-actions.ts:113
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:286
|
||||
msgid "Failed to mark some episodes"
|
||||
msgstr "Falha ao marcar alguns episódios"
|
||||
|
||||
@@ -889,12 +905,12 @@ msgstr "Falha ao limpar cache de imagens"
|
||||
msgid "Failed to purge metadata cache"
|
||||
msgstr "Falha ao limpar cache de metadados"
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:107
|
||||
#: apps/native/src/components/settings/integration-card.tsx:109
|
||||
#: apps/web/src/components/settings/integration-card.tsx:121
|
||||
msgid "Failed to regenerate {label} URL"
|
||||
msgstr "Falha ao regenerar URL de {label}"
|
||||
|
||||
#: apps/native/src/lib/title-actions.ts:77
|
||||
#: apps/native/src/lib/title-actions.ts:53
|
||||
msgid "Failed to remove from library"
|
||||
msgstr "Falha ao remover da biblioteca"
|
||||
|
||||
@@ -916,13 +932,13 @@ msgstr "Falha ao iniciar conexão com {0}"
|
||||
msgid "Failed to trigger job"
|
||||
msgstr "Falha ao acionar tarefa"
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:114
|
||||
#: apps/native/src/lib/title-actions.ts:111
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:163
|
||||
#: apps/native/src/hooks/use-title-actions.ts:112
|
||||
#: apps/native/src/lib/title-actions.ts:87
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:161
|
||||
msgid "Failed to unmark episode"
|
||||
msgstr "Falha ao desmarcar episódio"
|
||||
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:320
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:312
|
||||
msgid "Failed to unmark some episodes"
|
||||
msgstr "Falha ao desmarcar alguns episódios"
|
||||
|
||||
@@ -930,9 +946,9 @@ msgstr "Falha ao desmarcar alguns episódios"
|
||||
msgid "Failed to update name"
|
||||
msgstr "Falha ao atualizar nome"
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:94
|
||||
#: apps/native/src/lib/title-actions.ts:91
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:123
|
||||
#: apps/native/src/hooks/use-title-actions.ts:92
|
||||
#: apps/native/src/lib/title-actions.ts:67
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:120
|
||||
msgid "Failed to update rating"
|
||||
msgstr "Falha ao atualizar avaliação"
|
||||
|
||||
@@ -958,10 +974,8 @@ msgstr "Falha ao atualizar configuração de backup agendado"
|
||||
msgid "Failed to update setting"
|
||||
msgstr "Falha ao atualizar configuração"
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:69
|
||||
#: apps/native/src/lib/title-actions.ts:41
|
||||
#: apps/native/src/lib/title-actions.ts:55
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:101
|
||||
#: apps/native/src/hooks/use-title-actions.ts:67
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:98
|
||||
msgid "Failed to update status"
|
||||
msgstr "Falha ao atualizar status"
|
||||
|
||||
@@ -973,7 +987,7 @@ msgstr "Falha ao enviar avatar"
|
||||
msgid "Fetching your library data from {source}..."
|
||||
msgstr "Buscando seus dados da biblioteca em {source}..."
|
||||
|
||||
#: apps/native/src/app/person/[id].tsx:279
|
||||
#: apps/native/src/app/person/[id].tsx:219
|
||||
#: apps/web/src/components/people/filmography-grid.tsx:67
|
||||
msgid "Filmography"
|
||||
msgstr "Filmografia"
|
||||
@@ -1002,8 +1016,8 @@ msgstr "Sexta-feira"
|
||||
msgid "Get Started"
|
||||
msgstr "Começar"
|
||||
|
||||
#: apps/native/src/app/person/[id].tsx:176
|
||||
#: apps/native/src/app/person/[id].tsx:196
|
||||
#: apps/native/src/app/person/[id].tsx:261
|
||||
#: apps/native/src/app/person/[id].tsx:281
|
||||
#: apps/native/src/app/title/[id].tsx:235
|
||||
msgid "Go back"
|
||||
msgstr "Voltar"
|
||||
@@ -1112,6 +1126,11 @@ msgstr "Na biblioteca"
|
||||
msgid "In Library"
|
||||
msgstr "Na Biblioteca"
|
||||
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:46
|
||||
#: apps/web/src/components/titles/status-button.tsx:40
|
||||
msgid "In Watchlist"
|
||||
msgstr "Na lista"
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx:179
|
||||
#: apps/web/src/components/dashboard/library-section.tsx:35
|
||||
msgid "In Your Library"
|
||||
@@ -1222,22 +1241,23 @@ msgid "Mark all episodes as watched?"
|
||||
msgstr "Marcar todos os episódios como assistidos?"
|
||||
|
||||
#: apps/native/src/components/titles/season-accordion.tsx:152
|
||||
#: apps/native/src/components/ui/poster-card.tsx:229
|
||||
#: apps/web/src/components/titles/title-seasons.tsx:109
|
||||
#: apps/web/src/components/titles/title-seasons.tsx:135
|
||||
msgid "Mark All Watched"
|
||||
msgstr "Marcar Todos como Assistidos"
|
||||
|
||||
#: apps/native/src/components/dashboard/continue-watching-card.tsx:103
|
||||
msgid "Mark as Completed"
|
||||
msgstr "Marcar como Concluído"
|
||||
#~ msgid "Mark as Completed"
|
||||
#~ msgstr "Marcar como Concluído"
|
||||
|
||||
#: apps/native/src/components/ui/poster-card.tsx:226
|
||||
#: apps/native/src/components/ui/poster-card.tsx:222
|
||||
msgid "Mark as Watched"
|
||||
msgstr "Marcar como Assistido"
|
||||
|
||||
#: apps/native/src/components/ui/poster-card.tsx:219
|
||||
msgid "Mark as Watching"
|
||||
msgstr "Marcar como Assistindo"
|
||||
#~ msgid "Mark as Watching"
|
||||
#~ msgstr "Marcar como Assistindo"
|
||||
|
||||
#: apps/native/src/app/title/[id].tsx:400
|
||||
#: apps/web/src/components/titles/title-actions.tsx:27
|
||||
@@ -1245,32 +1265,37 @@ msgid "Mark Watched"
|
||||
msgstr "Marcar como Assistido"
|
||||
|
||||
#: apps/native/src/lib/title-actions.ts:50
|
||||
msgid "Marked \"{titleName}\" as completed"
|
||||
msgstr "Marcado \"{titleName}\" como concluído"
|
||||
#~ msgid "Marked \"{titleName}\" as completed"
|
||||
#~ msgstr "Marcado \"{titleName}\" como concluído"
|
||||
|
||||
#: apps/native/src/lib/title-actions.ts:63
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:134
|
||||
#: apps/native/src/lib/title-actions.ts:39
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:131
|
||||
msgid "Marked \"{titleName}\" as watched"
|
||||
msgstr "Marcado \"{titleName}\" como assistido"
|
||||
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:337
|
||||
#: apps/native/src/lib/title-actions.ts:97
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:331
|
||||
msgid "Marked all episodes as watched"
|
||||
msgstr "Todos os episódios marcados como assistidos"
|
||||
|
||||
#: apps/native/src/lib/title-actions.ts:96
|
||||
msgid "Marked all episodes of \"{titleName}\" as watched"
|
||||
msgstr "Todos os episódios de \"{titleName}\" marcados como vistos"
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:61
|
||||
#: apps/native/src/lib/title-actions.ts:51
|
||||
msgid "Marked as completed"
|
||||
msgstr "Marcado como concluído"
|
||||
#~ msgid "Marked as completed"
|
||||
#~ msgstr "Marcado como concluído"
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:76
|
||||
#: apps/native/src/lib/title-actions.ts:63
|
||||
#: apps/native/src/hooks/use-title-actions.ts:74
|
||||
#: apps/native/src/lib/title-actions.ts:39
|
||||
msgid "Marked as watched"
|
||||
msgstr "Marcado como assistido"
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:60
|
||||
#: apps/native/src/lib/title-actions.ts:38
|
||||
msgid "Marked as watching"
|
||||
msgstr "Marcado como assistindo"
|
||||
#~ msgid "Marked as watching"
|
||||
#~ msgstr "Marcado como assistindo"
|
||||
|
||||
#: apps/web/src/components/settings/account-section.tsx:314
|
||||
msgid "Member since {memberSince}"
|
||||
@@ -1305,7 +1330,7 @@ msgstr "Filmes"
|
||||
#. placeholder {0}: periodLabels[moviePeriod]
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx:114
|
||||
msgid "Movies {0}"
|
||||
msgstr ""
|
||||
msgstr "Filmes {0}"
|
||||
|
||||
#: apps/web/src/components/dashboard/stats-display.tsx:161
|
||||
#~ msgid "Movies {periodSelect}"
|
||||
@@ -1345,7 +1370,7 @@ msgstr "Nunca executado"
|
||||
msgid "New account creation is currently disabled."
|
||||
msgstr "A criação de novas contas está desativada no momento."
|
||||
|
||||
#: apps/web/src/routes/_auth/register.tsx:36
|
||||
#: apps/web/src/routes/_auth/register.tsx:33
|
||||
msgid "New accounts are not being accepted right now. Contact the admin if you need access."
|
||||
msgstr "Novas contas não estão sendo aceitas agora. Entre em contato com o administrador se precisar de acesso."
|
||||
|
||||
@@ -1403,7 +1428,7 @@ msgstr "Nenhum resultado encontrado."
|
||||
msgid "No titles found for this genre."
|
||||
msgstr "Nenhum título encontrado para este gênero."
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:174
|
||||
#: apps/native/src/components/settings/integration-card.tsx:183
|
||||
#: apps/web/src/components/settings/integration-card.tsx:153
|
||||
#: apps/web/src/components/settings/system-health-section.tsx:229
|
||||
msgid "Not configured"
|
||||
@@ -1517,8 +1542,8 @@ msgstr "Verificar periodicamente o GitHub por novas versões do Sofa"
|
||||
msgid "Person"
|
||||
msgstr "Pessoa"
|
||||
|
||||
#: apps/native/src/app/person/[id].tsx:192
|
||||
#: apps/web/src/routes/_app/people.$id.tsx:50
|
||||
#: apps/native/src/app/person/[id].tsx:277
|
||||
#: apps/web/src/routes/_app/people.$id.tsx:52
|
||||
msgid "Person not found"
|
||||
msgstr "Pessoa não encontrada"
|
||||
|
||||
@@ -1527,12 +1552,12 @@ msgid "Play trailer"
|
||||
msgstr "Reproduzir trailer"
|
||||
|
||||
#: apps/native/src/app/(tabs)/(explore)/index.tsx:89
|
||||
#: apps/web/src/routes/_app/explore.tsx:141
|
||||
#: apps/web/src/routes/_app/explore.tsx:143
|
||||
msgid "Popular Movies"
|
||||
msgstr "Filmes Populares"
|
||||
|
||||
#: apps/native/src/app/(tabs)/(explore)/index.tsx:102
|
||||
#: apps/web/src/routes/_app/explore.tsx:151
|
||||
#: apps/web/src/routes/_app/explore.tsx:153
|
||||
msgid "Popular TV Shows"
|
||||
msgstr "Séries Populares"
|
||||
|
||||
@@ -1540,7 +1565,7 @@ msgstr "Séries Populares"
|
||||
msgid "Pre-restore backup"
|
||||
msgstr "Backup pré-restauração"
|
||||
|
||||
#: apps/native/src/app/person/[id].tsx:53
|
||||
#: apps/native/src/app/person/[id].tsx:141
|
||||
#: apps/native/src/components/search/recently-viewed-row-content.tsx:31
|
||||
#: apps/web/src/components/people/person-hero.tsx:75
|
||||
msgid "Producer"
|
||||
@@ -1612,7 +1637,7 @@ msgstr "URL da Lista do Radarr"
|
||||
|
||||
#. placeholder {0}: input.stars
|
||||
#. placeholder {1}: input.stars
|
||||
#: apps/native/src/hooks/use-title-actions.ts:88
|
||||
#: apps/native/src/hooks/use-title-actions.ts:86
|
||||
msgid "Rated {0} {1, plural, one {star} other {stars}}"
|
||||
msgstr "Avaliado com {0} {1, plural, one {estrela} other {estrelas}}"
|
||||
|
||||
@@ -1620,11 +1645,11 @@ msgstr "Avaliado com {0} {1, plural, one {estrela} other {estrelas}}"
|
||||
#~ msgid "Rated {0} star{1}"
|
||||
#~ msgstr "Rated {0} star{1}"
|
||||
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:118
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:115
|
||||
msgid "Rated {ratingStars} {ratingStars, plural, one {star} other {stars}}"
|
||||
msgstr "Avaliado com {ratingStars} {ratingStars, plural, one {estrela} other {estrelas}}"
|
||||
|
||||
#: apps/native/src/lib/title-actions.ts:86
|
||||
#: apps/native/src/lib/title-actions.ts:62
|
||||
msgid "Rated {stars, plural, one {# star} other {# stars}}"
|
||||
msgstr "Avaliado com {stars, plural, one {# estrela} other {# estrelas}}"
|
||||
|
||||
@@ -1633,9 +1658,9 @@ msgstr "Avaliado com {stars, plural, one {# estrela} other {# estrelas}}"
|
||||
msgid "Rating"
|
||||
msgstr "Avaliação"
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:89
|
||||
#: apps/native/src/lib/title-actions.ts:87
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:119
|
||||
#: apps/native/src/hooks/use-title-actions.ts:87
|
||||
#: apps/native/src/lib/title-actions.ts:63
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:116
|
||||
msgid "Rating removed"
|
||||
msgstr "Avaliação removida"
|
||||
|
||||
@@ -1663,7 +1688,7 @@ msgid "Recent Searches"
|
||||
msgstr "Pesquisas Recentes"
|
||||
|
||||
#: apps/native/src/components/search/recently-viewed-list.ios.tsx:95
|
||||
#: apps/native/src/components/search/recently-viewed-list.tsx:77
|
||||
#: apps/native/src/components/search/recently-viewed-list.tsx:59
|
||||
msgid "Recently Viewed"
|
||||
msgstr "Vistos Recentemente"
|
||||
|
||||
@@ -1692,12 +1717,12 @@ msgstr "Atualizar"
|
||||
msgid "Refresh system health"
|
||||
msgstr "Atualizar status de saúde do sistema"
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:128
|
||||
#: apps/native/src/components/settings/integration-card.tsx:248
|
||||
#: apps/native/src/components/settings/integration-card.tsx:137
|
||||
#: apps/native/src/components/settings/integration-card.tsx:257
|
||||
msgid "Regenerate"
|
||||
msgstr "Regenerar"
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:123
|
||||
#: apps/native/src/components/settings/integration-card.tsx:132
|
||||
#: apps/web/src/components/settings/integration-card.tsx:226
|
||||
msgid "Regenerate URL"
|
||||
msgstr "Regenerar URL"
|
||||
@@ -1717,7 +1742,7 @@ msgid "Registration closed"
|
||||
msgstr "Registro fechado"
|
||||
|
||||
#: apps/native/src/app/(auth)/register.tsx:87
|
||||
#: apps/web/src/routes/_auth/register.tsx:33
|
||||
#: apps/web/src/routes/_auth/register.tsx:30
|
||||
msgid "Registration Closed"
|
||||
msgstr "Registro Fechado"
|
||||
|
||||
@@ -1726,20 +1751,27 @@ msgstr "Registro Fechado"
|
||||
msgid "Registration opened"
|
||||
msgstr "Registro aberto"
|
||||
|
||||
#: apps/web/src/components/titles/status-button.tsx:76
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:106
|
||||
#: apps/web/src/components/titles/status-button.tsx:109
|
||||
#: apps/web/src/components/titles/status-button.tsx:139
|
||||
msgid "Remove"
|
||||
msgstr "Remover"
|
||||
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:96
|
||||
#: apps/web/src/components/titles/status-button.tsx:60
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:115
|
||||
#: apps/web/src/components/titles/status-button.tsx:93
|
||||
msgid "Remove from library"
|
||||
msgstr "Remover da biblioteca"
|
||||
|
||||
#: apps/native/src/components/dashboard/continue-watching-card.tsx:108
|
||||
#: apps/native/src/components/ui/poster-card.tsx:233
|
||||
#: apps/native/src/components/ui/poster-card.tsx:236
|
||||
msgid "Remove from Library"
|
||||
msgstr "Remover da Biblioteca"
|
||||
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:101
|
||||
#: apps/web/src/components/titles/status-button.tsx:120
|
||||
msgid "Remove from library?"
|
||||
msgstr "Remover da biblioteca?"
|
||||
|
||||
#: apps/native/src/app/(tabs)/(settings)/index.tsx:268
|
||||
msgid "Remove Photo"
|
||||
msgstr "Remover Foto"
|
||||
@@ -1752,9 +1784,9 @@ msgstr "Remover foto"
|
||||
msgid "Remove profile picture"
|
||||
msgstr "Remover foto de perfil"
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:65
|
||||
#: apps/native/src/lib/title-actions.ts:74
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:98
|
||||
#: apps/native/src/hooks/use-title-actions.ts:63
|
||||
#: apps/native/src/lib/title-actions.ts:50
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:95
|
||||
msgid "Removed from library"
|
||||
msgstr "Removido da biblioteca"
|
||||
|
||||
@@ -1861,14 +1893,14 @@ msgstr "Backups agendados ativados"
|
||||
#: apps/native/src/app/(tabs)/(search)/_layout.tsx:7
|
||||
#: apps/native/src/components/navigation/native-tab-bar.tsx:41
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
msgstr "Pesquisar"
|
||||
|
||||
#: apps/web/src/components/dashboard/stats-section.tsx:35
|
||||
msgid "Search for movies and TV shows to start tracking"
|
||||
msgstr "Pesquise filmes e séries para começar a acompanhar"
|
||||
|
||||
#: apps/native/src/components/search/recently-viewed-list.ios.tsx:72
|
||||
#: apps/native/src/components/search/recently-viewed-list.tsx:55
|
||||
#: apps/native/src/components/search/recently-viewed-list.tsx:81
|
||||
msgid "Search for movies, shows, or people"
|
||||
msgstr "Pesquise filmes, séries ou pessoas"
|
||||
|
||||
@@ -1892,13 +1924,13 @@ msgstr "Pesquisar…"
|
||||
#. placeholder {0}: season.seasonNumber
|
||||
#: apps/native/src/components/titles/season-accordion.tsx:113
|
||||
#: apps/native/src/components/titles/season-accordion.tsx:119
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:274
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:313
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:266
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:305
|
||||
msgid "Season {0}"
|
||||
msgstr "Temporada {0}"
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:121
|
||||
#: apps/native/src/lib/title-actions.ts:119
|
||||
#: apps/native/src/hooks/use-title-actions.ts:119
|
||||
#: apps/native/src/lib/title-actions.ts:109
|
||||
msgid "Season watched"
|
||||
msgstr "Temporada assistida"
|
||||
|
||||
@@ -1907,7 +1939,7 @@ msgid "Seasons"
|
||||
msgstr "Temporadas"
|
||||
|
||||
#: apps/native/src/app/(tabs)/(settings)/index.tsx:452
|
||||
#: apps/web/src/routes/_app/settings.tsx:167
|
||||
#: apps/web/src/routes/_app/settings.tsx:169
|
||||
msgid "Security"
|
||||
msgstr "Segurança"
|
||||
|
||||
@@ -1915,7 +1947,7 @@ msgstr "Segurança"
|
||||
msgid "Self-hosted movie & TV tracker"
|
||||
msgstr "Rastreador de filmes e séries auto-hospedado"
|
||||
|
||||
#: apps/web/src/routes/_app/settings.tsx:151
|
||||
#: apps/web/src/routes/_app/settings.tsx:153
|
||||
msgid "Server"
|
||||
msgstr "Servidor"
|
||||
|
||||
@@ -1947,12 +1979,12 @@ msgstr "Defina seu perfil de qualidade preferido e pasta raiz"
|
||||
msgid "Settings"
|
||||
msgstr "Configurações"
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:271
|
||||
#: apps/native/src/components/settings/integration-card.tsx:280
|
||||
#: apps/web/src/components/settings/integration-card.tsx:248
|
||||
msgid "Setup instructions"
|
||||
msgstr "Instruções de configuração"
|
||||
|
||||
#: apps/web/src/routes/setup.tsx:95
|
||||
#: apps/web/src/routes/setup.tsx:96
|
||||
msgid "Setup required"
|
||||
msgstr "Configuração necessária"
|
||||
|
||||
@@ -1977,7 +2009,7 @@ msgstr "Entrar"
|
||||
msgid "Sign In"
|
||||
msgstr "Entrar"
|
||||
|
||||
#: apps/web/src/routes/_auth/register.tsx:45
|
||||
#: apps/web/src/routes/_auth/register.tsx:42
|
||||
msgid "Sign in instead"
|
||||
msgstr "Entrar em vez disso"
|
||||
|
||||
@@ -2031,13 +2063,13 @@ msgid "Sofa will automatically log movies and episodes when you finish watching
|
||||
msgstr "O Sofa registrará automaticamente filmes e episódios quando você terminar de assisti-los"
|
||||
|
||||
#: apps/native/src/app/change-password.tsx:77
|
||||
#: apps/native/src/app/person/[id].tsx:169
|
||||
#: apps/native/src/app/person/[id].tsx:254
|
||||
#: apps/web/src/components/settings/account-section.tsx:391
|
||||
#: apps/web/src/routes/__root.tsx:139
|
||||
msgid "Something went wrong"
|
||||
msgstr "Algo deu errado"
|
||||
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:113
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:114
|
||||
msgid "Something went wrong while loading this title. Please try again."
|
||||
msgstr "Algo deu errado ao carregar este título. Tente novamente."
|
||||
|
||||
@@ -2070,7 +2102,7 @@ msgstr "Iniciando às"
|
||||
msgid "Starting import..."
|
||||
msgstr "Iniciando importação..."
|
||||
|
||||
#: apps/native/src/hooks/use-title-actions.ts:64
|
||||
#: apps/native/src/hooks/use-title-actions.ts:62
|
||||
msgid "Status updated"
|
||||
msgstr "Status atualizado"
|
||||
|
||||
@@ -2095,11 +2127,11 @@ msgstr "Mudar para {0}"
|
||||
msgid "The page you're looking for doesn't exist."
|
||||
msgstr "A página que você está procurando não existe."
|
||||
|
||||
#: apps/web/src/routes/_app/people.$id.tsx:53
|
||||
#: apps/web/src/routes/_app/people.$id.tsx:55
|
||||
msgid "The person you're looking for doesn't exist or may have been removed from the database."
|
||||
msgstr "A pessoa que você está procurando não existe ou pode ter sido removida do banco de dados."
|
||||
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:142
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:143
|
||||
msgid "The title you're looking for doesn't exist or may have been removed from the database."
|
||||
msgstr "O título que você está procurando não existe ou pode ter sido removido do banco de dados."
|
||||
|
||||
@@ -2109,7 +2141,7 @@ msgstr "Isso pode levar alguns minutos para bibliotecas grandes. Por favor, não
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx:89
|
||||
msgid "this month"
|
||||
msgstr ""
|
||||
msgstr "este mês"
|
||||
|
||||
#: apps/native/src/components/dashboard/stats-card.tsx:31
|
||||
#: apps/web/src/components/dashboard/stats-display.tsx:135
|
||||
@@ -2121,14 +2153,19 @@ msgid "This page was left on the cutting room floor. It may have been moved, rem
|
||||
msgstr "Esta página ficou no chão da sala de montagem. Pode ter sido movida, removida ou nunca ter passado do roteiro."
|
||||
|
||||
#: apps/native/src/app/(tabs)/(settings)/index.tsx:559
|
||||
#: apps/web/src/routes/_app/settings.tsx:112
|
||||
#: apps/web/src/routes/setup.tsx:180
|
||||
#: apps/web/src/routes/_app/settings.tsx:114
|
||||
#: apps/web/src/routes/setup.tsx:181
|
||||
msgid "This product uses the TMDB API but is not endorsed or certified by TMDB."
|
||||
msgstr "Este produto usa a API do TMDB, mas não é endossado ou certificado pelo TMDB."
|
||||
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:102
|
||||
#: apps/web/src/components/titles/status-button.tsx:123
|
||||
msgid "This title will be removed from your library. Your watch history and ratings will be kept."
|
||||
msgstr "Este título será removido da sua biblioteca. O seu histórico de visualizações e avaliações serão mantidos."
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx:88
|
||||
msgid "this week"
|
||||
msgstr ""
|
||||
msgstr "esta semana"
|
||||
|
||||
#: apps/native/src/components/dashboard/stats-card.tsx:30
|
||||
#: apps/web/src/components/dashboard/stats-display.tsx:134
|
||||
@@ -2147,7 +2184,7 @@ msgstr "Isso excluirá todos os títulos stub não enriquecidos e todas as image
|
||||
msgid "This will delete un-enriched stub titles that aren't in any user's library and clean up orphaned person records. Deleted titles will be re-imported if accessed again."
|
||||
msgstr "Isso excluirá títulos stub não enriquecidos que não estão na biblioteca de nenhum usuário e limpará registros de pessoas órfãs. Os títulos excluídos serão reimportados se acessados novamente."
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:124
|
||||
#: apps/native/src/components/settings/integration-card.tsx:133
|
||||
msgid "This will invalidate the current {label} URL. You'll need to update it in {label}."
|
||||
msgstr "Isso invalidará a URL atual do {label}. Você precisará atualizá-la no {label}."
|
||||
|
||||
@@ -2171,7 +2208,7 @@ msgstr "Isso substituirá todo o seu banco de dados pelo arquivo enviado. Um bac
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx:90
|
||||
msgid "this year"
|
||||
msgstr ""
|
||||
msgstr "este ano"
|
||||
|
||||
#: apps/native/src/components/dashboard/stats-card.tsx:32
|
||||
#: apps/web/src/components/dashboard/stats-display.tsx:136
|
||||
@@ -2187,7 +2224,7 @@ msgid "Time:"
|
||||
msgstr "Hora:"
|
||||
|
||||
#: apps/native/src/app/title/[id].tsx:231
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:139
|
||||
#: apps/web/src/routes/_app/titles.$id.tsx:140
|
||||
msgid "Title not found"
|
||||
msgstr "Título não encontrado"
|
||||
|
||||
@@ -2203,7 +2240,7 @@ msgstr "Os títulos na sua lista de desejos do Sofa serão automaticamente adici
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx:87
|
||||
msgid "today"
|
||||
msgstr ""
|
||||
msgstr "hoje"
|
||||
|
||||
#: apps/native/src/components/dashboard/stats-card.tsx:29
|
||||
#: apps/web/src/components/dashboard/stats-display.tsx:133
|
||||
@@ -2229,14 +2266,14 @@ msgstr "Acompanhe o que você assiste. Saiba o que vem a seguir.<0/>Sua bibliote
|
||||
#: apps/web/src/components/titles/trailer-dialog.tsx:38
|
||||
#: apps/web/src/components/titles/trailer-dialog.tsx:42
|
||||
msgid "Trailer"
|
||||
msgstr ""
|
||||
msgstr "Trailer"
|
||||
|
||||
#: apps/web/src/components/explore/hero-banner.tsx:70
|
||||
msgid "Trending today"
|
||||
msgstr "Em alta hoje"
|
||||
|
||||
#: apps/native/src/app/(tabs)/(explore)/index.tsx:77
|
||||
#: apps/web/src/routes/_app/explore.tsx:129
|
||||
#: apps/web/src/routes/_app/explore.tsx:131
|
||||
msgid "Trending Today"
|
||||
msgstr "Em Alta Hoje"
|
||||
|
||||
@@ -2291,11 +2328,11 @@ msgid "Unwatch all"
|
||||
msgstr "Desmarcar todos"
|
||||
|
||||
#. placeholder {0}: season.name ?? t`Season ${season.seasonNumber}`
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:313
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:305
|
||||
msgid "Unwatched all of {0}"
|
||||
msgstr "Desmarcados todos os episódios de {0}"
|
||||
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:156
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:154
|
||||
msgid "Unwatched S{seasonNum} E{epNum}"
|
||||
msgstr "Desmarcado T{seasonNum} E{epNum}"
|
||||
|
||||
@@ -2366,7 +2403,7 @@ msgstr "Enviar foto"
|
||||
msgid "Upload profile picture"
|
||||
msgstr "Enviar foto de perfil"
|
||||
|
||||
#: apps/native/src/components/settings/integration-card.tsx:117
|
||||
#: apps/native/src/components/settings/integration-card.tsx:125
|
||||
msgid "URL copied to clipboard"
|
||||
msgstr "URL copiada para a área de transferência"
|
||||
|
||||
@@ -2399,36 +2436,36 @@ msgstr "Histórico de exibição"
|
||||
msgid "Watch on {name}"
|
||||
msgstr "Assistir em {name}"
|
||||
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:277
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:286
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:269
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:278
|
||||
msgid "Watched all of {seasonLabel}"
|
||||
msgstr "Todos os episódios de {seasonLabel} assistidos"
|
||||
|
||||
#: apps/native/src/lib/title-actions.ts:119
|
||||
#: apps/native/src/lib/title-actions.ts:109
|
||||
msgid "Watched all of {seasonName}"
|
||||
msgstr "Todos os episódios de {seasonName} assistidos"
|
||||
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:199
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:208
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:197
|
||||
#: apps/web/src/components/titles/use-title-actions.ts:206
|
||||
msgid "Watched S{seasonNum} E{epNum}"
|
||||
msgstr "Assistido T{seasonNum} E{epNum}"
|
||||
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:43
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:48
|
||||
#: apps/web/src/components/title-card.tsx:69
|
||||
#: apps/web/src/components/titles/status-button.tsx:14
|
||||
#: apps/web/src/components/titles/status-button.tsx:47
|
||||
msgid "Watching"
|
||||
msgstr "Assistindo"
|
||||
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:78
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:85
|
||||
#: apps/web/src/components/settings/imports-section.tsx:743
|
||||
#: apps/web/src/components/settings/imports-section.tsx:769
|
||||
#: apps/web/src/components/titles/status-button.tsx:49
|
||||
#: apps/web/src/components/titles/status-button.tsx:82
|
||||
msgid "Watchlist"
|
||||
msgstr "Lista de Desejos"
|
||||
|
||||
#: apps/native/src/components/titles/status-action-button.tsx:41
|
||||
msgid "Watchlisted"
|
||||
msgstr "Na Lista de Desejos"
|
||||
#~ msgid "Watchlisted"
|
||||
#~ msgstr "Na Lista de Desejos"
|
||||
|
||||
#: apps/native/src/components/settings/integration-configs.ts:51
|
||||
#: apps/native/src/components/settings/integration-configs.ts:66
|
||||
@@ -2458,7 +2495,7 @@ msgstr "Onde Assistir"
|
||||
msgid "With Ads"
|
||||
msgstr "Com Anúncios"
|
||||
|
||||
#: apps/native/src/app/person/[id].tsx:52
|
||||
#: apps/native/src/app/person/[id].tsx:140
|
||||
#: apps/native/src/components/search/recently-viewed-row-content.tsx:30
|
||||
#: apps/web/src/components/people/person-hero.tsx:73
|
||||
msgid "Writer"
|
||||
|
||||
@@ -1 +1 @@
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"+5kO8P\":[\"Sábado\"],\"+6i0lS\":[\"Buscando seu histórico de exibição, lista de desejos e avaliações...\"],\"+Cv+V9\":[\"Remover da biblioteca\"],\"+JkEpu\":[\"Esta página ficou no chão da sala de montagem. Pode ter sido movida, removida ou nunca ter passado do roteiro.\"],\"+K0AvT\":[\"Desconectar\"],\"+N0l5/\":[\"Conectado a <0>\",[\"serverHost\"],\"</0>. Toque para alterar.\"],\"+gLHYi\":[\"Falha ao carregar título\"],\"+j1ex/\":[\"Falha ao remover da biblioteca\"],\"+nF1ZO\":[\"Remover Foto\"],\"/+6dvC\":[\"Erros (\",[\"0\"],\")\"],\"/BBXeA\":[\"Conectando ao servidor...\"],\"/DwR+n\":[\"Criando…\"],\"/XtbPO\":[[\"0\"],\" titles\"],\"/cg+QV\":[\"Marcar todos\"],\"/gQXGv\":[\"Falha ao atualizar status\"],\"/nT6AE\":[\"Nova senha\"],\"/sHc1/\":[\"Verificação de atualização\"],\"0+dyau\":[\"Falha ao atualizar configuração de retenção\"],\"0BFJKK\":[\"Autorização negada. Tente novamente.\"],\"0GHb20\":[\"Limpar cache de metadados?\"],\"0IBW21\":[\"Falha ao limpar caches\"],\"0gH/sc\":[\"Remover foto de perfil\"],\"1+P9RR\":[\"Mudar para \",[\"0\"]],\"12cc1j\":[\"Assistindo\"],\"12lVOl\":[\"Rastreador de filmes e séries auto-hospedado\"],\"1B4z0M\":[\"Filmografia\"],\"1J4Ek0\":[\"Faça backup automático do banco de dados com agendamento\"],\"1JhxXW\":[\"Episódio \",[\"0\"],\", \",[\"episodeLabel\"]],\"1N6wNP\":[\"Opções de importação\"],\"1Qz4uG\":[\"Ative a categoria de evento \\\"Playback\\\"\"],\"1hMWR6\":[\"Criar conta\"],\"1jHIjh\":[\"Todos os episódios de \",[\"seasonName\"],\" assistidos\"],\"1vSYsG\":[\"Baixar backup\"],\"1wL1tj\":[\"Série\"],\"2FletP\":[[\"0\",\"plural\",{\"one\":[\"#\",\" título removido\"],\"other\":[\"#\",\" títulos removidos\"]}],\", \",[\"1\",\"plural\",{\"one\":[\"#\",\" pessoa\"],\"other\":[\"#\",\" pessoas\"]}],\", \",[\"2\",\"plural\",{\"one\":[\"#\",\" arquivo\"],\"other\":[\"#\",\" arquivos\"]}],\" (\",[\"freed\"],\" liberado)\"],\"2Fsd9r\":[\"Este Mês\"],\"2MPcep\":[\"Importação concluída\"],\"2Mu33Z\":[\"Gerenciamento de cache\"],\"2POOFK\":[\"Grátis\"],\"2Pt2NY\":[\"Isso removerá todos os itens do seu histórico.\"],\"2fCpt5\":[\"Voltar ao início\"],\"2pPBp6\":[\"Em alta hoje\"],\"39neVN\":[\"Movies \",[\"0\"]],\"39y5bn\":[\"Sexta-feira\"],\"3Blefz\":[\"Avaliações\"],\"3JTlG8\":[\"Pesquisas Recentes\"],\"3Jy8bM\":[\"Filmes \",[\"select\"]],\"3L9OuQ\":[\"Episódio \",[\"0\"]],\"3T/4MV\":[\"this year\"],\"3T8ziB\":[\"Criar uma conta\"],\"3hELxX\":[\"Insira a URL do seu servidor Sofa para começar\"],\"4fxLkp\":[\"Abra o Sonarr, vá para <0>Settings > Import Lists</0>\"],\"4kpBqM\":[\"Último evento \",[\"0\"]],\"4uUjVO\":[\"Produtor\"],\"4x+A56\":[\"Relatório de uso anônimo\"],\"5IShvp\":[\"Importar \",[\"totalItems\"],\" itens\"],\"5IYJSv\":[\"Explorar títulos\"],\"5Y4mym\":[\"Importar de \",[\"0\"]],\"5ZzgbQ\":[\"Conectar \",[\"0\"]],\"5fEnbK\":[\"Falha ao atualizar configuração de backup agendado\"],\"5lWFkC\":[\"Entrar\"],\"5v9C16\":[\"Conectado a \",[\"source\"]],\"623bR4\":[\"Falha ao acionar tarefa\"],\"6HN0yh\":[\"Abra o Plex, vá para Settings > Webhooks\"],\"6TNjOJ\":[\"Falha ao atualizar avaliação\"],\"6TfUy6\":[\"últimos \",[\"value\"]],\"6V3Ea3\":[\"Copiado\"],\"6YtxFj\":[\"Nome\"],\"6exX+8\":[\"Regenerar\"],\"6gRgw8\":[\"Tentar novamente\"],\"6lGV3K\":[\"Mostrar menos\"],\"76++pR\":[\"Avisos\"],\"77DIAu\":[\"Acesse Dashboard > Plugins > Webhook\"],\"79m/GK\":[\"Episodes \",[\"0\"]],\"7Bj3x9\":[\"Falhou\"],\"7D50KC\":[[\"label\"],\" desconectado\"],\"7GfM5w\":[\"Vistos Recentemente\"],\"7L01XJ\":[\"Ações\"],\"7eMo+U\":[\"Ir para Início\"],\"7p5kLi\":[\"Painel\"],\"85eoJ1\":[\"Agendamento atualizado\"],\"8B9E2D\":[\"Dia:\"],\"8YwF1J\":[\"Acesse <0>Dashboard > Plugins > Webhook</0>\"],\"8ZsakT\":[\"Senha\"],\"8tjQCz\":[\"Explorar\"],\"8vNtLy\":[\"Cole a URL do Radarr acima no campo URL da Lista\"],\"8wYDMp\":[\"Já tem uma conta?\"],\"9AE3vb\":[\"Abra o Plex, vá para <0>Settings > Webhooks<1/></0>\"],\"9GW0ZB\":[\"A importação ainda está em andamento em segundo plano. Verifique mais tarde.\"],\"9NyAH9\":[\"Ignorado\"],\"9Xhrps\":[\"Falha ao conectar\"],\"9ZLGbA\":[\"backups.\"],\"9eF5oV\":[\"Bem-vindo de volta\"],\"9rG25a\":[\"URL do Servidor\"],\"A+0rLe\":[\"Marcado como concluído\"],\"A1taO8\":[\"Search\"],\"AOHgZp\":[\"Episódios\"],\"AOddWK\":[\"Conectar \",[\"label\"]],\"ATfxL/\":[\"Trailer\"],\"AVlZoM\":[\"Ambiente\"],\"Acf6vF\":[\"Salvar nome\"],\"AdoUfN\":[\"Falha ao adicionar à lista de desejos\"],\"AeXO77\":[\"Conta\"],\"AjtYj0\":[\"Na Lista de Desejos\"],\"Avee+B\":[\"Falha ao atualizar nome\"],\"B2R3xD\":[\"Ativar/desativar backups agendados\"],\"BEVzjL\":[\"Importação falhou\"],\"BQnS5I\":[\"Abrir \",[\"source\"],\" para inserir o código\"],\"BUnoSB\":[[\"0\"],\" \",[\"1\",\"plural\",{\"one\":[\"backup armazenado\"],\"other\":[\"backups armazenados\"]}]],\"BpttUI\":[\"Em Alta Hoje\"],\"BrrIs8Line truncated
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"+5kO8P\":[\"Sábado\"],\"+6i0lS\":[\"Buscando seu histórico de exibição, lista de desejos e avaliações...\"],\"+Cv+V9\":[\"Remover da biblioteca\"],\"+JkEpu\":[\"Esta página ficou no chão da sala de montagem. Pode ter sido movida, removida ou nunca ter passado do roteiro.\"],\"+K0AvT\":[\"Desconectar\"],\"+N0l5/\":[\"Conectado a <0>\",[\"serverHost\"],\"</0>. Toque para alterar.\"],\"+gLHYi\":[\"Falha ao carregar título\"],\"+j1ex/\":[\"Falha ao remover da biblioteca\"],\"+nF1ZO\":[\"Remover Foto\"],\"/+6dvC\":[\"Erros (\",[\"0\"],\")\"],\"/BBXeA\":[\"Conectando ao servidor...\"],\"/DwR+n\":[\"Criando…\"],\"/XtbPO\":[[\"0\"],\" titles\"],\"/cg+QV\":[\"Marcar todos\"],\"/gQXGv\":[\"Falha ao atualizar status\"],\"/nT6AE\":[\"Nova senha\"],\"/sHc1/\":[\"Verificação de atualização\"],\"0+dyau\":[\"Falha ao atualizar configuração de retenção\"],\"0BFJKK\":[\"Autorização negada. Tente novamente.\"],\"0GHb20\":[\"Limpar cache de metadados?\"],\"0IBW21\":[\"Falha ao limpar caches\"],\"0gH/sc\":[\"Remover foto de perfil\"],\"1+P9RR\":[\"Mudar para \",[\"0\"]],\"12cc1j\":[\"Assistindo\"],\"12lVOl\":[\"Rastreador de filmes e séries auto-hospedado\"],\"1B4z0M\":[\"Filmografia\"],\"1J4Ek0\":[\"Faça backup automático do banco de dados com agendamento\"],\"1JhxXW\":[\"Episódio \",[\"0\"],\", \",[\"episodeLabel\"]],\"1N6wNP\":[\"Opções de importação\"],\"1Qz4uG\":[\"Ative a categoria de evento \\\"Playback\\\"\"],\"1hMWR6\":[\"Criar conta\"],\"1jHIjh\":[\"Todos os episódios de \",[\"seasonName\"],\" assistidos\"],\"1vSYsG\":[\"Baixar backup\"],\"1wL1tj\":[\"Série\"],\"2FletP\":[[\"0\",\"plural\",{\"one\":[\"#\",\" título removido\"],\"other\":[\"#\",\" títulos removidos\"]}],\", \",[\"1\",\"plural\",{\"one\":[\"#\",\" pessoa\"],\"other\":[\"#\",\" pessoas\"]}],\", \",[\"2\",\"plural\",{\"one\":[\"#\",\" arquivo\"],\"other\":[\"#\",\" arquivos\"]}],\" (\",[\"freed\"],\" liberado)\"],\"2Fsd9r\":[\"Este Mês\"],\"2MPcep\":[\"Importação concluída\"],\"2Mu33Z\":[\"Gerenciamento de cache\"],\"2POOFK\":[\"Grátis\"],\"2Pt2NY\":[\"Isso removerá todos os itens do seu histórico.\"],\"2fCpt5\":[\"Voltar ao início\"],\"2pPBp6\":[\"Em alta hoje\"],\"37o8E8\":[\"Na lista\"],\"39neVN\":[\"Filmes \",[\"0\"]],\"39y5bn\":[\"Sexta-feira\"],\"3Blefz\":[\"Avaliações\"],\"3JTlG8\":[\"Pesquisas Recentes\"],\"3Jy8bM\":[\"Filmes \",[\"select\"]],\"3L9OuQ\":[\"Episódio \",[\"0\"]],\"3T/4MV\":[\"este ano\"],\"3T8ziB\":[\"Criar uma conta\"],\"3hELxX\":[\"Insira a URL do seu servidor Sofa para começar\"],\"4fxLkp\":[\"Abra o Sonarr, vá para <0>Settings > Import Lists</0>\"],\"4kpBqM\":[\"Último evento \",[\"0\"]],\"4uUjVO\":[\"Produtor\"],\"4x+A56\":[\"Relatório de uso anônimo\"],\"5IShvp\":[\"Importar \",[\"totalItems\"],\" itens\"],\"5IYJSv\":[\"Explorar títulos\"],\"5Y4mym\":[\"Importar de \",[\"0\"]],\"5ZzgbQ\":[\"Conectar \",[\"0\"]],\"5fEnbK\":[\"Falha ao atualizar configuração de backup agendado\"],\"5lWFkC\":[\"Entrar\"],\"5v9C16\":[\"Conectado a \",[\"source\"]],\"623bR4\":[\"Falha ao acionar tarefa\"],\"6HN0yh\":[\"Abra o Plex, vá para Settings > Webhooks\"],\"6TNjOJ\":[\"Falha ao atualizar avaliação\"],\"6TfUy6\":[\"últimos \",[\"value\"]],\"6V3Ea3\":[\"Copiado\"],\"6YtxFj\":[\"Nome\"],\"6exX+8\":[\"Regenerar\"],\"6gRgw8\":[\"Tentar novamente\"],\"6lGV3K\":[\"Mostrar menos\"],\"76++pR\":[\"Avisos\"],\"77DIAu\":[\"Acesse Dashboard > Plugins > Webhook\"],\"79m/GK\":[\"Episódios \",[\"0\"]],\"7Bj3x9\":[\"Falhou\"],\"7D50KC\":[[\"label\"],\" desconectado\"],\"7GfM5w\":[\"Vistos Recentemente\"],\"7L01XJ\":[\"Ações\"],\"7eMo+U\":[\"Ir para Início\"],\"7p5kLi\":[\"Painel\"],\"85eoJ1\":[\"Agendamento atualizado\"],\"8B9E2D\":[\"Dia:\"],\"8YwF1J\":[\"Acesse <0>Dashboard > Plugins > Webhook</0>\"],\"8ZsakT\":[\"Senha\"],\"8tjQCz\":[\"Explorar\"],\"8vNtLy\":[\"Cole a URL do Radarr acima no campo URL da Lista\"],\"8wYDMp\":[\"Já tem uma conta?\"],\"9AE3vb\":[\"Abra o Plex, vá para <0>Settings > Webhooks<1/></0>\"],\"9GW0ZB\":[\"A importação ainda está em andamento em segundo plano. Verifique mais tarde.\"],\"9NyAH9\":[\"Ignorado\"],\"9Xhrps\":[\"Falha ao conectar\"],\"9ZLGbA\":[\"backups.\"],\"9eF5oV\":[\"Bem-vindo de volta\"],\"9rG25a\":[\"URL do Servidor\"],\"A+0rLe\":[\"Marcado como concluído\"],\"A1taO8\":[\"Pesquisar\"],\"AOHgZp\":[\"Episódios\"],\"AOddWK\":[\"Conectar \",[\"label\"]],\"ATfxL/\":[\"Trailer\"],\"AVlZoM\":[\"Ambiente\"],\"Acf6vF\":[\"Salvar nome\"],\"AdoUfN\":[\"Falha ao adicionar à lista de desejos\"],\"AeXO77\":[\"Conta\"],\"AjtYj0\":[\"Na Lista de Desejos\"],\"Avee+B\":[\"Falha ao atualizar nome\"],\"B2R3xD\":[\"Ativar/desativar backups agendados\"],\"BEVzjL\":[\"Importação falhou\"],\"BQnS5I\":[\"Abrir \",[\"source\"],\" para inserir o código\"],\"BUnoSB\":[[\"0\"],\" \",[\"1\",\"plural\",{\"one\":[\"backup armazenado\"],\"other\":[\"backups armazenados\"]}]],\"BpttUILine truncated
|
||||
Reference in new issue
Block a user