mirror of
https://github.com/jakejarvis/sofa.git
synced 2026-10-15 19:45:42 -04:00
fix(native): keep cached screens on refetch errors and show errors instead of empty states
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
20 files changed
+513
-56
No files matched your search
@@ -97,7 +97,28 @@ export default function RegisterScreen() {
|
||||
}
|
||||
};
|
||||
|
||||
if (!registrationOpen && !publicInfo.isPending) {
|
||||
if (publicInfo.isError && !publicInfo.data) {
|
||||
return (
|
||||
<AuthScreen title={t`Can't reach the server`}>
|
||||
<Animated.View entering={FadeInDown.duration(300).delay(200)}>
|
||||
<Button className="bg-primary mt-6" onPress={() => publicInfo.refetch()}>
|
||||
<ButtonLabel className="text-primary-foreground">
|
||||
<Trans>Retry</Trans>
|
||||
</ButtonLabel>
|
||||
</Button>
|
||||
<Link href="/(auth)/login" asChild>
|
||||
<Button variant="secondary" className="mt-3">
|
||||
<ButtonLabel>
|
||||
<Trans>Back to Login</Trans>
|
||||
</ButtonLabel>
|
||||
</Button>
|
||||
</Link>
|
||||
</Animated.View>
|
||||
</AuthScreen>
|
||||
);
|
||||
}
|
||||
|
||||
if (publicInfo.data && !registrationOpen) {
|
||||
return (
|
||||
<AuthScreen
|
||||
title={t`Registration Closed`}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import { useLingui } from "@lingui/react/macro";
|
||||
import { FlashList } from "@shopify/flash-list";
|
||||
import {
|
||||
IconAlertTriangle,
|
||||
IconBooks,
|
||||
IconCheck,
|
||||
IconDeviceTvOld,
|
||||
@@ -199,6 +200,14 @@ export default function DashboardScreen() {
|
||||
<HorizontalPosterRow items={[]} isLoading />
|
||||
) : hasLibrary ? (
|
||||
<HorizontalPosterRow items={library.data?.items ?? []} />
|
||||
) : library.isError && !library.data ? (
|
||||
<EmptyState
|
||||
icon={IconAlertTriangle}
|
||||
title={t`Something went wrong`}
|
||||
description={t`Couldn't load your library`}
|
||||
actionLabel={t`Retry`}
|
||||
onAction={() => library.refetch()}
|
||||
/>
|
||||
) : (
|
||||
<EmptyState
|
||||
title={t`Your library is empty`}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Trans, useLingui } from "@lingui/react/macro";
|
||||
import { IconCalendarEvent } from "@tabler/icons-react-native";
|
||||
import { IconAlertTriangle, IconCalendarEvent } from "@tabler/icons-react-native";
|
||||
import { useInfiniteQuery } from "@tanstack/react-query";
|
||||
import { Stack } from "expo-router";
|
||||
import { useCallback, useMemo, useState } from "react";
|
||||
@@ -8,6 +8,7 @@ import Animated, { FadeInDown } from "react-native-reanimated";
|
||||
import { useCSSVariable, useResolveClassNames } from "uniwind";
|
||||
|
||||
import { UpcomingRow } from "@/components/dashboard/upcoming-row";
|
||||
import { EmptyState } from "@/components/ui/empty-state";
|
||||
import { ScaledIcon } from "@/components/ui/scaled-icon";
|
||||
import { Text } from "@/components/ui/text";
|
||||
import { orpc } from "@/lib/orpc";
|
||||
@@ -55,20 +56,28 @@ export default function UpcomingScreen() {
|
||||
const [mediaType, setMediaType] = useState<"all" | "movie" | "tv">("all");
|
||||
const [statusFilter, setStatusFilter] = useState<"all" | "watching" | "watchlist">("all");
|
||||
|
||||
const { data, isPending, fetchNextPage, hasNextPage, isFetchingNextPage, isRefetching } =
|
||||
useInfiniteQuery(
|
||||
orpc.library.upcoming.infiniteOptions({
|
||||
input: (pageParam: string | undefined) => ({
|
||||
days: 90,
|
||||
limit: 20,
|
||||
cursor: pageParam,
|
||||
mediaType: mediaType !== "all" ? mediaType : undefined,
|
||||
statusFilter: statusFilter !== "all" ? [statusFilter] : undefined,
|
||||
}),
|
||||
initialPageParam: undefined as string | undefined,
|
||||
getNextPageParam: (lastPage) => lastPage.nextCursor ?? undefined,
|
||||
const {
|
||||
data,
|
||||
isPending,
|
||||
isError,
|
||||
refetch,
|
||||
fetchNextPage,
|
||||
hasNextPage,
|
||||
isFetchingNextPage,
|
||||
isRefetching,
|
||||
} = useInfiniteQuery(
|
||||
orpc.library.upcoming.infiniteOptions({
|
||||
input: (pageParam: string | undefined) => ({
|
||||
days: 90,
|
||||
limit: 20,
|
||||
cursor: pageParam,
|
||||
mediaType: mediaType !== "all" ? mediaType : undefined,
|
||||
statusFilter: statusFilter !== "all" ? [statusFilter] : undefined,
|
||||
}),
|
||||
);
|
||||
initialPageParam: undefined as string | undefined,
|
||||
getNextPageParam: (lastPage) => lastPage.nextCursor ?? undefined,
|
||||
}),
|
||||
);
|
||||
|
||||
const allItems = useMemo(() => data?.pages.flatMap((p) => p.items) ?? [], [data]);
|
||||
const sections = useMemo(
|
||||
@@ -141,44 +150,50 @@ export default function UpcomingScreen() {
|
||||
{t`Upcoming`}
|
||||
</Stack.Screen.Title>
|
||||
<Stack.Screen.BackButton displayMode="minimal" />
|
||||
{!isPending && allItems.length === 0 ? (
|
||||
<Animated.View
|
||||
entering={FadeInDown.duration(300)}
|
||||
className="flex-1 items-center justify-center px-4"
|
||||
>
|
||||
{filterChips}
|
||||
<View className="flex-1 items-center justify-center">
|
||||
<ScaledIcon icon={IconCalendarEvent} size={48} color={`${mutedColor}66`} />
|
||||
<Text className="text-muted-foreground mt-4 text-center text-sm">
|
||||
<Trans>No upcoming episodes or releases in the next 90 days.</Trans>
|
||||
<SectionList
|
||||
sections={sections}
|
||||
keyExtractor={(item, i) => `${item.titleId}-${item.date}-${i}`}
|
||||
ListHeaderComponent={filterChips}
|
||||
renderItem={({ item }) => (
|
||||
<View className="px-4 py-1">
|
||||
<UpcomingRow item={item} />
|
||||
</View>
|
||||
)}
|
||||
renderSectionHeader={({ section: { title } }) => (
|
||||
<View className="bg-background px-4 pt-3 pb-1">
|
||||
<Text className="text-muted-foreground text-xs font-semibold tracking-wider uppercase">
|
||||
{title}
|
||||
</Text>
|
||||
</View>
|
||||
</Animated.View>
|
||||
) : (
|
||||
<SectionList
|
||||
sections={sections}
|
||||
keyExtractor={(item, i) => `${item.titleId}-${item.date}-${i}`}
|
||||
ListHeaderComponent={filterChips}
|
||||
renderItem={({ item }) => (
|
||||
<View className="px-4 py-1">
|
||||
<UpcomingRow item={item} />
|
||||
</View>
|
||||
)}
|
||||
renderSectionHeader={({ section: { title } }) => (
|
||||
<View className="bg-background px-4 pt-3 pb-1">
|
||||
<Text className="text-muted-foreground text-xs font-semibold tracking-wider uppercase">
|
||||
{title}
|
||||
)}
|
||||
stickySectionHeadersEnabled
|
||||
contentContainerStyle={contentContainerStyle}
|
||||
contentInsetAdjustmentBehavior="automatic"
|
||||
onEndReached={onEndReached}
|
||||
onEndReachedThreshold={0.5}
|
||||
refreshControl={<RefreshControl refreshing={isRefetching} onRefresh={onRefresh} />}
|
||||
ListEmptyComponent={
|
||||
isPending ? null : isError && allItems.length === 0 ? (
|
||||
<EmptyState
|
||||
icon={IconAlertTriangle}
|
||||
title={t`Something went wrong`}
|
||||
description={t`Couldn't load upcoming releases`}
|
||||
actionLabel={t`Retry`}
|
||||
onAction={() => refetch()}
|
||||
/>
|
||||
) : (
|
||||
<Animated.View
|
||||
entering={FadeInDown.duration(300)}
|
||||
className="items-center justify-center px-4 py-16"
|
||||
>
|
||||
<ScaledIcon icon={IconCalendarEvent} size={48} color={`${mutedColor}66`} />
|
||||
<Text className="text-muted-foreground mt-4 text-center text-sm">
|
||||
<Trans>No upcoming episodes or releases in the next 90 days.</Trans>
|
||||
</Text>
|
||||
</View>
|
||||
)}
|
||||
stickySectionHeadersEnabled
|
||||
contentContainerStyle={contentContainerStyle}
|
||||
contentInsetAdjustmentBehavior="automatic"
|
||||
onEndReached={onEndReached}
|
||||
onEndReachedThreshold={0.5}
|
||||
refreshControl={<RefreshControl refreshing={isRefetching} onRefresh={onRefresh} />}
|
||||
/>
|
||||
)}
|
||||
</Animated.View>
|
||||
)
|
||||
}
|
||||
/>
|
||||
</>
|
||||
);
|
||||
}
|
||||
@@ -377,7 +377,7 @@ export default function LibraryScreen() {
|
||||
<View className="flex-1 items-center justify-center">
|
||||
<Spinner colorClassName="accent-primary" />
|
||||
</View>
|
||||
) : libraryQuery.isError ? (
|
||||
) : libraryQuery.isError && allItems.length === 0 ? (
|
||||
<EmptyState
|
||||
icon={IconAlertTriangle}
|
||||
title={t`Something went wrong`}
|
||||
@@ -418,7 +418,11 @@ export default function LibraryScreen() {
|
||||
}}
|
||||
refreshControl={<RefreshControl refreshing={isRefreshing} onRefresh={onRefresh} />}
|
||||
onEndReached={() => {
|
||||
if (libraryQuery.hasNextPage && !libraryQuery.isFetchingNextPage) {
|
||||
if (
|
||||
libraryQuery.hasNextPage &&
|
||||
!libraryQuery.isFetchingNextPage &&
|
||||
!libraryQuery.isFetchNextPageError
|
||||
) {
|
||||
libraryQuery.fetchNextPage();
|
||||
}
|
||||
}}
|
||||
@@ -428,6 +432,13 @@ export default function LibraryScreen() {
|
||||
<View className="items-center py-4">
|
||||
<Spinner />
|
||||
</View>
|
||||
) : libraryQuery.isFetchNextPageError ? (
|
||||
<View className="flex-row items-center justify-center gap-3 py-4">
|
||||
<Text className="text-muted-foreground text-sm">{t`Couldn't load more`}</Text>
|
||||
<Pressable onPress={() => libraryQuery.fetchNextPage()}>
|
||||
<Text className="text-primary font-sans text-sm font-medium">{t`Retry`}</Text>
|
||||
</Pressable>
|
||||
</View>
|
||||
) : null
|
||||
}
|
||||
/>
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import { Trans, useLingui } from "@lingui/react/macro";
|
||||
import { FlashList } from "@shopify/flash-list";
|
||||
import { IconAlertTriangle } from "@tabler/icons-react-native";
|
||||
import { skipToken, useInfiniteQuery } from "@tanstack/react-query";
|
||||
import { Stack } from "expo-router";
|
||||
import { useCallback, useMemo, useState } from "react";
|
||||
@@ -8,6 +9,7 @@ import Animated, { FadeIn } from "react-native-reanimated";
|
||||
|
||||
import { RecentlyViewedList } from "@/components/search/recently-viewed-list";
|
||||
import { type SearchResultItem, SearchResultRow } from "@/components/search/search-result-row";
|
||||
import { EmptyState } from "@/components/ui/empty-state";
|
||||
import { Spinner } from "@/components/ui/spinner";
|
||||
import { Text } from "@/components/ui/text";
|
||||
import { useDebounce } from "@/hooks/use-debounce";
|
||||
@@ -89,6 +91,14 @@ export default function SearchScreen() {
|
||||
<View className="flex-1 items-center justify-center">
|
||||
<Spinner colorClassName="accent-primary" />
|
||||
</View>
|
||||
) : searchResults.isError && allResults.length === 0 ? (
|
||||
<EmptyState
|
||||
icon={IconAlertTriangle}
|
||||
title={t`Something went wrong`}
|
||||
description={t`Couldn't search right now`}
|
||||
actionLabel={t`Retry`}
|
||||
onAction={() => searchResults.refetch()}
|
||||
/>
|
||||
) : allResults.length === 0 ? (
|
||||
<Animated.View
|
||||
entering={FadeIn.duration(300)}
|
||||
|
||||
@@ -252,7 +252,7 @@ export default function TitleDetailScreen() {
|
||||
);
|
||||
}
|
||||
|
||||
if (detail.isError || !title) {
|
||||
if (!title) {
|
||||
return (
|
||||
<ModalLayout>
|
||||
<View className="flex-1 items-center justify-center px-6">
|
||||
|
||||
@@ -2,7 +2,7 @@ import { Trans, useLingui } from "@lingui/react/macro";
|
||||
import type { Icon } from "@tabler/icons-react-native";
|
||||
import { skipToken, useInfiniteQuery } from "@tanstack/react-query";
|
||||
import { useMemo, useState } from "react";
|
||||
import { ScrollView, View } from "react-native";
|
||||
import { Pressable, ScrollView, View } from "react-native";
|
||||
|
||||
import {
|
||||
HorizontalPosterRow,
|
||||
@@ -129,7 +129,14 @@ export function FilterableTitleRow({
|
||||
</ScrollView>
|
||||
)}
|
||||
|
||||
{!showLoading && items.length === 0 && selectedGenre !== null ? (
|
||||
{!showLoading && items.length === 0 && selectedGenre !== null && discover.isError ? (
|
||||
<View className="items-center gap-2 py-6">
|
||||
<Text className="text-muted-foreground text-sm">{t`Couldn't load titles`}</Text>
|
||||
<Pressable onPress={() => discover.refetch()}>
|
||||
<Text className="text-primary font-sans text-sm font-medium">{t`Retry`}</Text>
|
||||
</Pressable>
|
||||
</View>
|
||||
) : !showLoading && items.length === 0 && selectedGenre !== null ? (
|
||||
<View className="items-center py-6">
|
||||
<Text className="text-muted-foreground text-sm">
|
||||
<Trans>No titles found for this genre.</Trans>
|
||||
|
||||
@@ -24,7 +24,7 @@ export function IntegrationsSection() {
|
||||
<View className="items-center py-4">
|
||||
<Spinner colorClassName="accent-primary" />
|
||||
</View>
|
||||
) : integrations.isError ? (
|
||||
) : integrations.isError && !integrations.data ? (
|
||||
<View className="items-center gap-2 py-4">
|
||||
<Text className="text-muted-foreground text-sm">
|
||||
<Trans>Could not load integrations</Trans>
|
||||
|
||||
@@ -563,6 +563,10 @@ msgstr "إدارة ذاكرة التخزين المؤقت"
|
||||
msgid "Can't reach server"
|
||||
msgstr "تعذر الوصول إلى الخادم"
|
||||
|
||||
#: apps/native/src/app/(auth)/register.tsx
|
||||
msgid "Can't reach the server"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(settings)/index.tsx
|
||||
#: apps/native/src/components/header-avatar.tsx
|
||||
#: apps/native/src/components/search/recently-viewed-list.ios.tsx
|
||||
@@ -861,6 +865,26 @@ msgstr "تعذّر تحميل مكتبتك"
|
||||
msgid "Could not reach the server. Check your connection and the URL."
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(library)/index.tsx
|
||||
msgid "Couldn't load more"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/components/explore/filterable-title-row.tsx
|
||||
msgid "Couldn't load titles"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/upcoming.tsx
|
||||
msgid "Couldn't load upcoming releases"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx
|
||||
msgid "Couldn't load your library"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(search)/index.tsx
|
||||
msgid "Couldn't search right now"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(settings)/index.tsx
|
||||
msgid "Crash reporting"
|
||||
msgstr "الإبلاغ عن الأعطال"
|
||||
@@ -2746,7 +2770,12 @@ msgstr "النتائج"
|
||||
msgid "Retrieving your watch history, watchlist, and ratings..."
|
||||
msgstr "جارٍ استرداد سجل المشاهدة وقائمة المشاهدة والتقييمات..."
|
||||
|
||||
#: apps/native/src/app/(auth)/register.tsx
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx
|
||||
#: apps/native/src/app/(tabs)/(home)/upcoming.tsx
|
||||
#: apps/native/src/app/(tabs)/(library)/index.tsx
|
||||
#: apps/native/src/app/(tabs)/(search)/index.tsx
|
||||
#: apps/native/src/components/explore/filterable-title-row.tsx
|
||||
#: apps/native/src/components/settings/integrations-section.tsx
|
||||
#: apps/native/src/components/ui/server-unreachable-banner.ios.tsx
|
||||
#: apps/native/src/components/ui/server-unreachable-banner.tsx
|
||||
@@ -3054,7 +3083,10 @@ msgstr "Sofa v{latestVersion} متاح"
|
||||
msgid "Sofa will automatically log movies and episodes when you finish watching them"
|
||||
msgstr "سيقوم Sofa تلقائياً بتسجيل الأفلام والحلقات عند الانتهاء من مشاهدتها"
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx
|
||||
#: apps/native/src/app/(tabs)/(home)/upcoming.tsx
|
||||
#: apps/native/src/app/(tabs)/(library)/index.tsx
|
||||
#: apps/native/src/app/(tabs)/(search)/index.tsx
|
||||
#: apps/native/src/app/change-password.tsx
|
||||
#: apps/native/src/app/person/[id].tsx
|
||||
#: apps/native/src/app/title/[id].tsx
|
||||
|
||||
@@ -563,6 +563,10 @@ msgstr "Cache-Verwaltung"
|
||||
msgid "Can't reach server"
|
||||
msgstr "Server nicht erreichbar"
|
||||
|
||||
#: apps/native/src/app/(auth)/register.tsx
|
||||
msgid "Can't reach the server"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(settings)/index.tsx
|
||||
#: apps/native/src/components/header-avatar.tsx
|
||||
#: apps/native/src/components/search/recently-viewed-list.ios.tsx
|
||||
@@ -861,6 +865,26 @@ msgstr "Bibliothek konnte nicht geladen werden"
|
||||
msgid "Could not reach the server. Check your connection and the URL."
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(library)/index.tsx
|
||||
msgid "Couldn't load more"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/components/explore/filterable-title-row.tsx
|
||||
msgid "Couldn't load titles"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/upcoming.tsx
|
||||
msgid "Couldn't load upcoming releases"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx
|
||||
msgid "Couldn't load your library"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(search)/index.tsx
|
||||
msgid "Couldn't search right now"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(settings)/index.tsx
|
||||
msgid "Crash reporting"
|
||||
msgstr "Absturzberichte"
|
||||
@@ -2746,7 +2770,12 @@ msgstr "Ergebnisse"
|
||||
msgid "Retrieving your watch history, watchlist, and ratings..."
|
||||
msgstr "Verlauf, Merkliste und Bewertungen werden abgerufen..."
|
||||
|
||||
#: apps/native/src/app/(auth)/register.tsx
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx
|
||||
#: apps/native/src/app/(tabs)/(home)/upcoming.tsx
|
||||
#: apps/native/src/app/(tabs)/(library)/index.tsx
|
||||
#: apps/native/src/app/(tabs)/(search)/index.tsx
|
||||
#: apps/native/src/components/explore/filterable-title-row.tsx
|
||||
#: apps/native/src/components/settings/integrations-section.tsx
|
||||
#: apps/native/src/components/ui/server-unreachable-banner.ios.tsx
|
||||
#: apps/native/src/components/ui/server-unreachable-banner.tsx
|
||||
@@ -3054,7 +3083,10 @@ msgstr "Sofa v{latestVersion} ist verfügbar"
|
||||
msgid "Sofa will automatically log movies and episodes when you finish watching them"
|
||||
msgstr "Sofa protokolliert Filme und Episoden automatisch, wenn du sie zu Ende gesehen hast"
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx
|
||||
#: apps/native/src/app/(tabs)/(home)/upcoming.tsx
|
||||
#: apps/native/src/app/(tabs)/(library)/index.tsx
|
||||
#: apps/native/src/app/(tabs)/(search)/index.tsx
|
||||
#: apps/native/src/app/change-password.tsx
|
||||
#: apps/native/src/app/person/[id].tsx
|
||||
#: apps/native/src/app/title/[id].tsx
|
||||
|
||||
@@ -563,6 +563,10 @@ msgstr ""
|
||||
msgid "Can't reach server"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(auth)/register.tsx
|
||||
msgid "Can't reach the server"
|
||||
msgstr "Can't reach the server"
|
||||
|
||||
#: apps/native/src/app/(tabs)/(settings)/index.tsx
|
||||
#: apps/native/src/components/header-avatar.tsx
|
||||
#: apps/native/src/components/search/recently-viewed-list.ios.tsx
|
||||
@@ -861,6 +865,26 @@ msgstr "Could not load your library"
|
||||
msgid "Could not reach the server. Check your connection and the URL."
|
||||
msgstr "Could not reach the server. Check your connection and the URL."
|
||||
|
||||
#: apps/native/src/app/(tabs)/(library)/index.tsx
|
||||
msgid "Couldn't load more"
|
||||
msgstr "Couldn't load more"
|
||||
|
||||
#: apps/native/src/components/explore/filterable-title-row.tsx
|
||||
msgid "Couldn't load titles"
|
||||
msgstr "Couldn't load titles"
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/upcoming.tsx
|
||||
msgid "Couldn't load upcoming releases"
|
||||
msgstr "Couldn't load upcoming releases"
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx
|
||||
msgid "Couldn't load your library"
|
||||
msgstr "Couldn't load your library"
|
||||
|
||||
#: apps/native/src/app/(tabs)/(search)/index.tsx
|
||||
msgid "Couldn't search right now"
|
||||
msgstr "Couldn't search right now"
|
||||
|
||||
#: apps/native/src/app/(tabs)/(settings)/index.tsx
|
||||
msgid "Crash reporting"
|
||||
msgstr "Crash reporting"
|
||||
@@ -2746,7 +2770,12 @@ msgstr ""
|
||||
msgid "Retrieving your watch history, watchlist, and ratings..."
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(auth)/register.tsx
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx
|
||||
#: apps/native/src/app/(tabs)/(home)/upcoming.tsx
|
||||
#: apps/native/src/app/(tabs)/(library)/index.tsx
|
||||
#: apps/native/src/app/(tabs)/(search)/index.tsx
|
||||
#: apps/native/src/components/explore/filterable-title-row.tsx
|
||||
#: apps/native/src/components/settings/integrations-section.tsx
|
||||
#: apps/native/src/components/ui/server-unreachable-banner.ios.tsx
|
||||
#: apps/native/src/components/ui/server-unreachable-banner.tsx
|
||||
@@ -3054,7 +3083,10 @@ msgstr "Sofa v{latestVersion} is available"
|
||||
msgid "Sofa will automatically log movies and episodes when you finish watching them"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx
|
||||
#: apps/native/src/app/(tabs)/(home)/upcoming.tsx
|
||||
#: apps/native/src/app/(tabs)/(library)/index.tsx
|
||||
#: apps/native/src/app/(tabs)/(search)/index.tsx
|
||||
#: apps/native/src/app/change-password.tsx
|
||||
#: apps/native/src/app/person/[id].tsx
|
||||
#: apps/native/src/app/title/[id].tsx
|
||||
|
||||
@@ -563,6 +563,10 @@ msgstr "Gestión de caché"
|
||||
msgid "Can't reach server"
|
||||
msgstr "No se puede contactar con el servidor"
|
||||
|
||||
#: apps/native/src/app/(auth)/register.tsx
|
||||
msgid "Can't reach the server"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(settings)/index.tsx
|
||||
#: apps/native/src/components/header-avatar.tsx
|
||||
#: apps/native/src/components/search/recently-viewed-list.ios.tsx
|
||||
@@ -861,6 +865,26 @@ msgstr "No se pudo cargar tu biblioteca"
|
||||
msgid "Could not reach the server. Check your connection and the URL."
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(library)/index.tsx
|
||||
msgid "Couldn't load more"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/components/explore/filterable-title-row.tsx
|
||||
msgid "Couldn't load titles"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/upcoming.tsx
|
||||
msgid "Couldn't load upcoming releases"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx
|
||||
msgid "Couldn't load your library"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(search)/index.tsx
|
||||
msgid "Couldn't search right now"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(settings)/index.tsx
|
||||
msgid "Crash reporting"
|
||||
msgstr "Informe de fallos"
|
||||
@@ -2746,7 +2770,12 @@ msgstr "Resultados"
|
||||
msgid "Retrieving your watch history, watchlist, and ratings..."
|
||||
msgstr "Obteniendo tu historial de visionado, lista y valoraciones..."
|
||||
|
||||
#: apps/native/src/app/(auth)/register.tsx
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx
|
||||
#: apps/native/src/app/(tabs)/(home)/upcoming.tsx
|
||||
#: apps/native/src/app/(tabs)/(library)/index.tsx
|
||||
#: apps/native/src/app/(tabs)/(search)/index.tsx
|
||||
#: apps/native/src/components/explore/filterable-title-row.tsx
|
||||
#: apps/native/src/components/settings/integrations-section.tsx
|
||||
#: apps/native/src/components/ui/server-unreachable-banner.ios.tsx
|
||||
#: apps/native/src/components/ui/server-unreachable-banner.tsx
|
||||
@@ -3054,7 +3083,10 @@ msgstr "Sofa v{latestVersion} está disponible"
|
||||
msgid "Sofa will automatically log movies and episodes when you finish watching them"
|
||||
msgstr "Sofa registrará automáticamente películas y episodios cuando termines de verlos"
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx
|
||||
#: apps/native/src/app/(tabs)/(home)/upcoming.tsx
|
||||
#: apps/native/src/app/(tabs)/(library)/index.tsx
|
||||
#: apps/native/src/app/(tabs)/(search)/index.tsx
|
||||
#: apps/native/src/app/change-password.tsx
|
||||
#: apps/native/src/app/person/[id].tsx
|
||||
#: apps/native/src/app/title/[id].tsx
|
||||
|
||||
@@ -563,6 +563,10 @@ msgstr "Gestion du cache"
|
||||
msgid "Can't reach server"
|
||||
msgstr "Impossible de joindre le serveur"
|
||||
|
||||
#: apps/native/src/app/(auth)/register.tsx
|
||||
msgid "Can't reach the server"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(settings)/index.tsx
|
||||
#: apps/native/src/components/header-avatar.tsx
|
||||
#: apps/native/src/components/search/recently-viewed-list.ios.tsx
|
||||
@@ -861,6 +865,26 @@ msgstr "Impossible de charger votre bibliothèque"
|
||||
msgid "Could not reach the server. Check your connection and the URL."
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(library)/index.tsx
|
||||
msgid "Couldn't load more"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/components/explore/filterable-title-row.tsx
|
||||
msgid "Couldn't load titles"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/upcoming.tsx
|
||||
msgid "Couldn't load upcoming releases"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx
|
||||
msgid "Couldn't load your library"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(search)/index.tsx
|
||||
msgid "Couldn't search right now"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(settings)/index.tsx
|
||||
msgid "Crash reporting"
|
||||
msgstr "Signalement de plantages"
|
||||
@@ -2746,7 +2770,12 @@ msgstr "Résultats"
|
||||
msgid "Retrieving your watch history, watchlist, and ratings..."
|
||||
msgstr "Récupération de votre historique, liste de suivi et notes..."
|
||||
|
||||
#: apps/native/src/app/(auth)/register.tsx
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx
|
||||
#: apps/native/src/app/(tabs)/(home)/upcoming.tsx
|
||||
#: apps/native/src/app/(tabs)/(library)/index.tsx
|
||||
#: apps/native/src/app/(tabs)/(search)/index.tsx
|
||||
#: apps/native/src/components/explore/filterable-title-row.tsx
|
||||
#: apps/native/src/components/settings/integrations-section.tsx
|
||||
#: apps/native/src/components/ui/server-unreachable-banner.ios.tsx
|
||||
#: apps/native/src/components/ui/server-unreachable-banner.tsx
|
||||
@@ -3054,7 +3083,10 @@ msgstr "Sofa v{latestVersion} est disponible"
|
||||
msgid "Sofa will automatically log movies and episodes when you finish watching them"
|
||||
msgstr "Sofa enregistrera automatiquement les films et épisodes lorsque vous aurez fini de les regarder"
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx
|
||||
#: apps/native/src/app/(tabs)/(home)/upcoming.tsx
|
||||
#: apps/native/src/app/(tabs)/(library)/index.tsx
|
||||
#: apps/native/src/app/(tabs)/(search)/index.tsx
|
||||
#: apps/native/src/app/change-password.tsx
|
||||
#: apps/native/src/app/person/[id].tsx
|
||||
#: apps/native/src/app/title/[id].tsx
|
||||
|
||||
@@ -563,6 +563,10 @@ msgstr "ניהול מטמון"
|
||||
msgid "Can't reach server"
|
||||
msgstr "לא ניתן להגיע לשרת"
|
||||
|
||||
#: apps/native/src/app/(auth)/register.tsx
|
||||
msgid "Can't reach the server"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(settings)/index.tsx
|
||||
#: apps/native/src/components/header-avatar.tsx
|
||||
#: apps/native/src/components/search/recently-viewed-list.ios.tsx
|
||||
@@ -861,6 +865,26 @@ msgstr "לא ניתן לטעון את הספרייה שלך"
|
||||
msgid "Could not reach the server. Check your connection and the URL."
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(library)/index.tsx
|
||||
msgid "Couldn't load more"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/components/explore/filterable-title-row.tsx
|
||||
msgid "Couldn't load titles"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/upcoming.tsx
|
||||
msgid "Couldn't load upcoming releases"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx
|
||||
msgid "Couldn't load your library"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(search)/index.tsx
|
||||
msgid "Couldn't search right now"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(settings)/index.tsx
|
||||
msgid "Crash reporting"
|
||||
msgstr "דיווח על קריסות"
|
||||
@@ -2746,7 +2770,12 @@ msgstr "תוצאות"
|
||||
msgid "Retrieving your watch history, watchlist, and ratings..."
|
||||
msgstr "מאחזר את היסטוריית הצפייה, רשימת הצפייה והדירוגים שלך..."
|
||||
|
||||
#: apps/native/src/app/(auth)/register.tsx
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx
|
||||
#: apps/native/src/app/(tabs)/(home)/upcoming.tsx
|
||||
#: apps/native/src/app/(tabs)/(library)/index.tsx
|
||||
#: apps/native/src/app/(tabs)/(search)/index.tsx
|
||||
#: apps/native/src/components/explore/filterable-title-row.tsx
|
||||
#: apps/native/src/components/settings/integrations-section.tsx
|
||||
#: apps/native/src/components/ui/server-unreachable-banner.ios.tsx
|
||||
#: apps/native/src/components/ui/server-unreachable-banner.tsx
|
||||
@@ -3054,7 +3083,10 @@ msgstr "Sofa v{latestVersion} זמין"
|
||||
msgid "Sofa will automatically log movies and episodes when you finish watching them"
|
||||
msgstr "Sofa יתעד אוטומטית סרטים ופרקים כשתסיים לצפות בהם"
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx
|
||||
#: apps/native/src/app/(tabs)/(home)/upcoming.tsx
|
||||
#: apps/native/src/app/(tabs)/(library)/index.tsx
|
||||
#: apps/native/src/app/(tabs)/(search)/index.tsx
|
||||
#: apps/native/src/app/change-password.tsx
|
||||
#: apps/native/src/app/person/[id].tsx
|
||||
#: apps/native/src/app/title/[id].tsx
|
||||
|
||||
@@ -563,6 +563,10 @@ msgstr "Gestione cache"
|
||||
msgid "Can't reach server"
|
||||
msgstr "Impossibile raggiungere il server"
|
||||
|
||||
#: apps/native/src/app/(auth)/register.tsx
|
||||
msgid "Can't reach the server"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(settings)/index.tsx
|
||||
#: apps/native/src/components/header-avatar.tsx
|
||||
#: apps/native/src/components/search/recently-viewed-list.ios.tsx
|
||||
@@ -861,6 +865,26 @@ msgstr "Impossibile caricare la tua libreria"
|
||||
msgid "Could not reach the server. Check your connection and the URL."
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(library)/index.tsx
|
||||
msgid "Couldn't load more"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/components/explore/filterable-title-row.tsx
|
||||
msgid "Couldn't load titles"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/upcoming.tsx
|
||||
msgid "Couldn't load upcoming releases"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx
|
||||
msgid "Couldn't load your library"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(search)/index.tsx
|
||||
msgid "Couldn't search right now"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(settings)/index.tsx
|
||||
msgid "Crash reporting"
|
||||
msgstr "Segnalazione degli arresti anomali"
|
||||
@@ -2746,7 +2770,12 @@ msgstr "Risultati"
|
||||
msgid "Retrieving your watch history, watchlist, and ratings..."
|
||||
msgstr "Recupero della cronologia, watchlist e valutazioni..."
|
||||
|
||||
#: apps/native/src/app/(auth)/register.tsx
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx
|
||||
#: apps/native/src/app/(tabs)/(home)/upcoming.tsx
|
||||
#: apps/native/src/app/(tabs)/(library)/index.tsx
|
||||
#: apps/native/src/app/(tabs)/(search)/index.tsx
|
||||
#: apps/native/src/components/explore/filterable-title-row.tsx
|
||||
#: apps/native/src/components/settings/integrations-section.tsx
|
||||
#: apps/native/src/components/ui/server-unreachable-banner.ios.tsx
|
||||
#: apps/native/src/components/ui/server-unreachable-banner.tsx
|
||||
@@ -3054,7 +3083,10 @@ msgstr "Sofa v{latestVersion} è disponibile"
|
||||
msgid "Sofa will automatically log movies and episodes when you finish watching them"
|
||||
msgstr "Sofa registrerà automaticamente film ed episodi quando finisci di guardarli"
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx
|
||||
#: apps/native/src/app/(tabs)/(home)/upcoming.tsx
|
||||
#: apps/native/src/app/(tabs)/(library)/index.tsx
|
||||
#: apps/native/src/app/(tabs)/(search)/index.tsx
|
||||
#: apps/native/src/app/change-password.tsx
|
||||
#: apps/native/src/app/person/[id].tsx
|
||||
#: apps/native/src/app/title/[id].tsx
|
||||
|
||||
@@ -563,6 +563,10 @@ msgstr "キャッシュ管理"
|
||||
msgid "Can't reach server"
|
||||
msgstr "サーバーに接続できません"
|
||||
|
||||
#: apps/native/src/app/(auth)/register.tsx
|
||||
msgid "Can't reach the server"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(settings)/index.tsx
|
||||
#: apps/native/src/components/header-avatar.tsx
|
||||
#: apps/native/src/components/search/recently-viewed-list.ios.tsx
|
||||
@@ -861,6 +865,26 @@ msgstr "ライブラリを読み込めませんでした"
|
||||
msgid "Could not reach the server. Check your connection and the URL."
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(library)/index.tsx
|
||||
msgid "Couldn't load more"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/components/explore/filterable-title-row.tsx
|
||||
msgid "Couldn't load titles"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/upcoming.tsx
|
||||
msgid "Couldn't load upcoming releases"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx
|
||||
msgid "Couldn't load your library"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(search)/index.tsx
|
||||
msgid "Couldn't search right now"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(settings)/index.tsx
|
||||
msgid "Crash reporting"
|
||||
msgstr "クラッシュレポート"
|
||||
@@ -2746,7 +2770,12 @@ msgstr "結果"
|
||||
msgid "Retrieving your watch history, watchlist, and ratings..."
|
||||
msgstr "視聴履歴、ウォッチリスト、評価を取得中..."
|
||||
|
||||
#: apps/native/src/app/(auth)/register.tsx
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx
|
||||
#: apps/native/src/app/(tabs)/(home)/upcoming.tsx
|
||||
#: apps/native/src/app/(tabs)/(library)/index.tsx
|
||||
#: apps/native/src/app/(tabs)/(search)/index.tsx
|
||||
#: apps/native/src/components/explore/filterable-title-row.tsx
|
||||
#: apps/native/src/components/settings/integrations-section.tsx
|
||||
#: apps/native/src/components/ui/server-unreachable-banner.ios.tsx
|
||||
#: apps/native/src/components/ui/server-unreachable-banner.tsx
|
||||
@@ -3054,7 +3083,10 @@ msgstr "Sofa v{latestVersion}が利用可能です"
|
||||
msgid "Sofa will automatically log movies and episodes when you finish watching them"
|
||||
msgstr "視聴完了後、Sofaが自動的に映画やエピソードを記録します"
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx
|
||||
#: apps/native/src/app/(tabs)/(home)/upcoming.tsx
|
||||
#: apps/native/src/app/(tabs)/(library)/index.tsx
|
||||
#: apps/native/src/app/(tabs)/(search)/index.tsx
|
||||
#: apps/native/src/app/change-password.tsx
|
||||
#: apps/native/src/app/person/[id].tsx
|
||||
#: apps/native/src/app/title/[id].tsx
|
||||
|
||||
@@ -563,6 +563,10 @@ msgstr "캐시 관리"
|
||||
msgid "Can't reach server"
|
||||
msgstr "서버에 연결할 수 없습니다"
|
||||
|
||||
#: apps/native/src/app/(auth)/register.tsx
|
||||
msgid "Can't reach the server"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(settings)/index.tsx
|
||||
#: apps/native/src/components/header-avatar.tsx
|
||||
#: apps/native/src/components/search/recently-viewed-list.ios.tsx
|
||||
@@ -861,6 +865,26 @@ msgstr "라이브러리를 불러올 수 없습니다"
|
||||
msgid "Could not reach the server. Check your connection and the URL."
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(library)/index.tsx
|
||||
msgid "Couldn't load more"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/components/explore/filterable-title-row.tsx
|
||||
msgid "Couldn't load titles"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/upcoming.tsx
|
||||
msgid "Couldn't load upcoming releases"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx
|
||||
msgid "Couldn't load your library"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(search)/index.tsx
|
||||
msgid "Couldn't search right now"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(settings)/index.tsx
|
||||
msgid "Crash reporting"
|
||||
msgstr "충돌 보고"
|
||||
@@ -2746,7 +2770,12 @@ msgstr "결과"
|
||||
msgid "Retrieving your watch history, watchlist, and ratings..."
|
||||
msgstr "시청 기록, 시청 목록, 평점을 가져오는 중..."
|
||||
|
||||
#: apps/native/src/app/(auth)/register.tsx
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx
|
||||
#: apps/native/src/app/(tabs)/(home)/upcoming.tsx
|
||||
#: apps/native/src/app/(tabs)/(library)/index.tsx
|
||||
#: apps/native/src/app/(tabs)/(search)/index.tsx
|
||||
#: apps/native/src/components/explore/filterable-title-row.tsx
|
||||
#: apps/native/src/components/settings/integrations-section.tsx
|
||||
#: apps/native/src/components/ui/server-unreachable-banner.ios.tsx
|
||||
#: apps/native/src/components/ui/server-unreachable-banner.tsx
|
||||
@@ -3054,7 +3083,10 @@ msgstr "Sofa v{latestVersion}을 사용할 수 있습니다"
|
||||
msgid "Sofa will automatically log movies and episodes when you finish watching them"
|
||||
msgstr "시청을 완료하면 Sofa가 자동으로 영화와 에피소드를 기록합니다"
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx
|
||||
#: apps/native/src/app/(tabs)/(home)/upcoming.tsx
|
||||
#: apps/native/src/app/(tabs)/(library)/index.tsx
|
||||
#: apps/native/src/app/(tabs)/(search)/index.tsx
|
||||
#: apps/native/src/app/change-password.tsx
|
||||
#: apps/native/src/app/person/[id].tsx
|
||||
#: apps/native/src/app/title/[id].tsx
|
||||
|
||||
@@ -563,6 +563,10 @@ msgstr "Cachebeheer"
|
||||
msgid "Can't reach server"
|
||||
msgstr "Server niet bereikbaar"
|
||||
|
||||
#: apps/native/src/app/(auth)/register.tsx
|
||||
msgid "Can't reach the server"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(settings)/index.tsx
|
||||
#: apps/native/src/components/header-avatar.tsx
|
||||
#: apps/native/src/components/search/recently-viewed-list.ios.tsx
|
||||
@@ -861,6 +865,26 @@ msgstr "Kon je bibliotheek niet laden"
|
||||
msgid "Could not reach the server. Check your connection and the URL."
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(library)/index.tsx
|
||||
msgid "Couldn't load more"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/components/explore/filterable-title-row.tsx
|
||||
msgid "Couldn't load titles"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/upcoming.tsx
|
||||
msgid "Couldn't load upcoming releases"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx
|
||||
msgid "Couldn't load your library"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(search)/index.tsx
|
||||
msgid "Couldn't search right now"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(settings)/index.tsx
|
||||
msgid "Crash reporting"
|
||||
msgstr "Crashrapportage"
|
||||
@@ -2746,7 +2770,12 @@ msgstr "Resultaten"
|
||||
msgid "Retrieving your watch history, watchlist, and ratings..."
|
||||
msgstr "Kijkgeschiedenis, watchlist en beoordelingen ophalen..."
|
||||
|
||||
#: apps/native/src/app/(auth)/register.tsx
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx
|
||||
#: apps/native/src/app/(tabs)/(home)/upcoming.tsx
|
||||
#: apps/native/src/app/(tabs)/(library)/index.tsx
|
||||
#: apps/native/src/app/(tabs)/(search)/index.tsx
|
||||
#: apps/native/src/components/explore/filterable-title-row.tsx
|
||||
#: apps/native/src/components/settings/integrations-section.tsx
|
||||
#: apps/native/src/components/ui/server-unreachable-banner.ios.tsx
|
||||
#: apps/native/src/components/ui/server-unreachable-banner.tsx
|
||||
@@ -3054,7 +3083,10 @@ msgstr "Sofa v{latestVersion} is beschikbaar"
|
||||
msgid "Sofa will automatically log movies and episodes when you finish watching them"
|
||||
msgstr "Sofa registreert automatisch films en afleveringen wanneer je klaar bent met kijken"
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx
|
||||
#: apps/native/src/app/(tabs)/(home)/upcoming.tsx
|
||||
#: apps/native/src/app/(tabs)/(library)/index.tsx
|
||||
#: apps/native/src/app/(tabs)/(search)/index.tsx
|
||||
#: apps/native/src/app/change-password.tsx
|
||||
#: apps/native/src/app/person/[id].tsx
|
||||
#: apps/native/src/app/title/[id].tsx
|
||||
|
||||
@@ -563,6 +563,10 @@ msgstr "Gerenciamento de cache"
|
||||
msgid "Can't reach server"
|
||||
msgstr "Não foi possível alcançar o servidor"
|
||||
|
||||
#: apps/native/src/app/(auth)/register.tsx
|
||||
msgid "Can't reach the server"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(settings)/index.tsx
|
||||
#: apps/native/src/components/header-avatar.tsx
|
||||
#: apps/native/src/components/search/recently-viewed-list.ios.tsx
|
||||
@@ -861,6 +865,26 @@ msgstr "Não foi possível carregar a sua biblioteca"
|
||||
msgid "Could not reach the server. Check your connection and the URL."
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(library)/index.tsx
|
||||
msgid "Couldn't load more"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/components/explore/filterable-title-row.tsx
|
||||
msgid "Couldn't load titles"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/upcoming.tsx
|
||||
msgid "Couldn't load upcoming releases"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx
|
||||
msgid "Couldn't load your library"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(search)/index.tsx
|
||||
msgid "Couldn't search right now"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(settings)/index.tsx
|
||||
msgid "Crash reporting"
|
||||
msgstr "Relatório de falhas"
|
||||
@@ -2746,7 +2770,12 @@ msgstr "Resultados"
|
||||
msgid "Retrieving your watch history, watchlist, and ratings..."
|
||||
msgstr "Buscando seu histórico de exibição, lista de desejos e avaliações..."
|
||||
|
||||
#: apps/native/src/app/(auth)/register.tsx
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx
|
||||
#: apps/native/src/app/(tabs)/(home)/upcoming.tsx
|
||||
#: apps/native/src/app/(tabs)/(library)/index.tsx
|
||||
#: apps/native/src/app/(tabs)/(search)/index.tsx
|
||||
#: apps/native/src/components/explore/filterable-title-row.tsx
|
||||
#: apps/native/src/components/settings/integrations-section.tsx
|
||||
#: apps/native/src/components/ui/server-unreachable-banner.ios.tsx
|
||||
#: apps/native/src/components/ui/server-unreachable-banner.tsx
|
||||
@@ -3054,7 +3083,10 @@ msgstr "Sofa v{latestVersion} disponível"
|
||||
msgid "Sofa will automatically log movies and episodes when you finish watching them"
|
||||
msgstr "O Sofa registrará automaticamente filmes e episódios quando você terminar de assisti-los"
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx
|
||||
#: apps/native/src/app/(tabs)/(home)/upcoming.tsx
|
||||
#: apps/native/src/app/(tabs)/(library)/index.tsx
|
||||
#: apps/native/src/app/(tabs)/(search)/index.tsx
|
||||
#: apps/native/src/app/change-password.tsx
|
||||
#: apps/native/src/app/person/[id].tsx
|
||||
#: apps/native/src/app/title/[id].tsx
|
||||
|
||||
@@ -563,6 +563,10 @@ msgstr "缓存管理"
|
||||
msgid "Can't reach server"
|
||||
msgstr "无法连接服务器"
|
||||
|
||||
#: apps/native/src/app/(auth)/register.tsx
|
||||
msgid "Can't reach the server"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(settings)/index.tsx
|
||||
#: apps/native/src/components/header-avatar.tsx
|
||||
#: apps/native/src/components/search/recently-viewed-list.ios.tsx
|
||||
@@ -861,6 +865,26 @@ msgstr "无法加载您的媒体库"
|
||||
msgid "Could not reach the server. Check your connection and the URL."
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(library)/index.tsx
|
||||
msgid "Couldn't load more"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/components/explore/filterable-title-row.tsx
|
||||
msgid "Couldn't load titles"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/upcoming.tsx
|
||||
msgid "Couldn't load upcoming releases"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx
|
||||
msgid "Couldn't load your library"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(search)/index.tsx
|
||||
msgid "Couldn't search right now"
|
||||
msgstr ""
|
||||
|
||||
#: apps/native/src/app/(tabs)/(settings)/index.tsx
|
||||
msgid "Crash reporting"
|
||||
msgstr "崩溃报告"
|
||||
@@ -2746,7 +2770,12 @@ msgstr "结果"
|
||||
msgid "Retrieving your watch history, watchlist, and ratings..."
|
||||
msgstr "正在获取您的观看记录、观看列表和评分..."
|
||||
|
||||
#: apps/native/src/app/(auth)/register.tsx
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx
|
||||
#: apps/native/src/app/(tabs)/(home)/upcoming.tsx
|
||||
#: apps/native/src/app/(tabs)/(library)/index.tsx
|
||||
#: apps/native/src/app/(tabs)/(search)/index.tsx
|
||||
#: apps/native/src/components/explore/filterable-title-row.tsx
|
||||
#: apps/native/src/components/settings/integrations-section.tsx
|
||||
#: apps/native/src/components/ui/server-unreachable-banner.ios.tsx
|
||||
#: apps/native/src/components/ui/server-unreachable-banner.tsx
|
||||
@@ -3054,7 +3083,10 @@ msgstr "Sofa v{latestVersion} 已发布"
|
||||
msgid "Sofa will automatically log movies and episodes when you finish watching them"
|
||||
msgstr "当您看完电影或剧集时,Sofa 将自动记录"
|
||||
|
||||
#: apps/native/src/app/(tabs)/(home)/index.tsx
|
||||
#: apps/native/src/app/(tabs)/(home)/upcoming.tsx
|
||||
#: apps/native/src/app/(tabs)/(library)/index.tsx
|
||||
#: apps/native/src/app/(tabs)/(search)/index.tsx
|
||||
#: apps/native/src/app/change-password.tsx
|
||||
#: apps/native/src/app/person/[id].tsx
|
||||
#: apps/native/src/app/title/[id].tsx
|
||||
|
||||
Reference in new issue
Block a user