From 752cb1cdc67d26061715fd5861fee60ec0fe4d0a Mon Sep 17 00:00:00 2001 From: Fredrik Burmester Date: Sun, 18 Aug 2024 17:10:31 +0200 Subject: [PATCH] wip --- app.json | 5 ++-- app/(auth)/(tabs)/_layout.tsx | 20 +++++++-------- app/(auth)/(tabs)/home/_layout.tsx | 4 ++- app/(auth)/(tabs)/home/index.tsx | 25 ++++++++++--------- app/_layout.tsx | 15 +++++++++++- app/login.tsx | 28 +++++++++++---------- bun.lockb | Bin 562661 -> 565028 bytes components/LanguageSwitcher.tsx | 36 +++++++++++++++++++++++++++ i18n.ts | 22 +++++++++++++++++ package.json | 3 +++ translations/en.json | 38 +++++++++++++++++++++++++++++ translations/sv.json | 38 +++++++++++++++++++++++++++++ utils/atoms/settings.ts | 3 +++ 13 files changed, 198 insertions(+), 39 deletions(-) create mode 100644 components/LanguageSwitcher.tsx create mode 100644 i18n.ts create mode 100644 translations/en.json create mode 100644 translations/sv.json diff --git a/app.json b/app.json index 71adc8e7..cf0e5b0f 100644 --- a/app.json +++ b/app.json @@ -30,7 +30,7 @@ }, "android": { "jsEngine": "hermes", - "versionCode": 17, + "versionCode": 18, "adaptiveIcon": { "foregroundImage": "./assets/images/icon.png" }, @@ -96,7 +96,8 @@ { "motionPermission": "Allow Streamyfin to access your device motion for landscape video watching." } - ] + ], + "expo-localization" ], "experiments": { "typedRoutes": true diff --git a/app/(auth)/(tabs)/_layout.tsx b/app/(auth)/(tabs)/_layout.tsx index c9e80906..8b0472b3 100644 --- a/app/(auth)/(tabs)/_layout.tsx +++ b/app/(auth)/(tabs)/_layout.tsx @@ -1,15 +1,15 @@ -import { router, Tabs } from "expo-router"; -import React, { useEffect } from "react"; -import * as NavigationBar from "expo-navigation-bar"; import { TabBarIcon } from "@/components/navigation/TabBarIcon"; import { Colors } from "@/constants/Colors"; -import { Platform, TouchableOpacity, View } from "react-native"; -import { Feather } from "@expo/vector-icons"; -import { Chromecast } from "@/components/Chromecast"; import { BlurView } from "expo-blur"; -import { StyleSheet } from "react-native"; +import * as NavigationBar from "expo-navigation-bar"; +import { Tabs } from "expo-router"; +import React, { useEffect } from "react"; +import { useTranslation } from "react-i18next"; +import { Platform, StyleSheet } from "react-native"; export default function TabLayout() { + const { t } = useTranslation(); + useEffect(() => { if (Platform.OS === "android") { NavigationBar.setBackgroundColorAsync("#121212"); @@ -53,7 +53,7 @@ export default function TabLayout() { name="home" options={{ headerShown: false, - title: "Home", + title: t("tabs.home"), tabBarIcon: ({ color, focused }) => ( ( ), @@ -76,7 +76,7 @@ export default function TabLayout() { name="library" options={{ headerShown: false, - title: "Library", + title: t("tabs.library"), tabBarIcon: ({ color, focused }) => ( - No Internet + {t("home.noInternet")} - No worries, you can still watch{"\n"}downloaded content. + {t("home.noInternetMessage")} @@ -239,10 +242,8 @@ export default function index() { if (isError) return ( - Oops! - - Something went wrong.{"\n"}Please log out and in again. - + {t("home.oops")} + {t("home.errorMessage")} ); @@ -265,14 +266,14 @@ export default function index() { - + + + ); } @@ -52,6 +57,8 @@ function Layout() { useKeepAwake(); + const { i18n } = useTranslation(); + const queryClientRef = useRef( new QueryClient({ defaultOptions: { @@ -75,6 +82,12 @@ function Layout() { ); }, [settings]); + useEffect(() => { + i18n.changeLanguage( + settings?.preferedLanguage || getLocales()[0].languageCode || "en" + ); + }, [settings]); + return ( diff --git a/app/login.tsx b/app/login.tsx index d4c1d51c..9d99f086 100644 --- a/app/login.tsx +++ b/app/login.tsx @@ -1,11 +1,13 @@ import { Button } from "@/components/Button"; import { Input } from "@/components/common/Input"; import { Text } from "@/components/common/Text"; +import { LanguageSwitcher } from "@/components/LanguageSwitcher"; import { apiAtom, useJellyfin } from "@/providers/JellyfinProvider"; import { Ionicons } from "@expo/vector-icons"; import { AxiosError } from "axios"; import { useAtom } from "jotai"; import React, { useMemo, useState } from "react"; +import { useTranslation } from "react-i18next"; import { Alert, KeyboardAvoidingView, @@ -21,6 +23,7 @@ const CredentialsSchema = z.object({ }); const Login: React.FC = () => { + const { t, i18n } = useTranslation(); const { setServer, login, removeServer } = useJellyfin(); const [api] = useAtom(apiAtom); @@ -72,7 +75,7 @@ const Login: React.FC = () => { Streamyfin - Server: {api.basePath} + {t("server.server_label", { serverURL: api.basePath })} - Log in + {t("login.login")} - Log in to any user account + {t("login.login_subtitle")} setCredentials({ ...credentials, username: text }) } @@ -116,7 +119,7 @@ const Login: React.FC = () => { setCredentials({ ...credentials, password: text }) } @@ -139,7 +142,7 @@ const Login: React.FC = () => { loading={loading} className="mt-auto mb-2" > - Log in + {t("login.login_button")} @@ -158,10 +161,10 @@ const Login: React.FC = () => { Streamyfin - Connect to your Jellyfin server + {t("server.connect_to_server")} { textContentType="URL" maxLength={500} /> - - Server URL requires http or https - + {t("server.server_url_hint")} + diff --git a/bun.lockb b/bun.lockb index fea3b82928cb89a95a1eb9abf105f4bff1d3a484..cf902f6f21bc9027d7606b7b153201978c60b542 100755 GIT binary patch delta 92642 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 delta 91159 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

l2`4?M&8u}6J;v2 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 = ({ ...props }) => { + const { i18n } = useTranslation(); + + const lngs = ["en", "sv"]; + + const [settings, updateSettings] = useSettings(); + return ( + + {lngs.map((l) => ( + { + i18n.changeLanguage(l); + updateSettings({ preferedLanguage: l }); + }} + > + + {l} + + + ))} + + ); +}; diff --git a/i18n.ts b/i18n.ts new file mode 100644 index 00000000..fdcd0643 --- /dev/null +++ b/i18n.ts @@ -0,0 +1,22 @@ +import i18n from "i18next"; +import { initReactI18next } from "react-i18next"; + +import en from "./translations/en.json"; +import sv from "./translations/sv.json"; +import { getLocales } from "expo-localization"; + +i18n.use(initReactI18next).init({ + compatibilityJSON: "v3", + resources: { + en: { translation: en }, + sv: { translation: sv }, + }, + + lng: getLocales()[0].languageCode || "en", + fallbackLng: "en", + interpolation: { + escapeValue: false, + }, +}); + +export default i18n; diff --git a/package.json b/package.json index e22b8c20..1790ff55 100644 --- a/package.json +++ b/package.json @@ -41,6 +41,7 @@ "expo-image": "~1.12.13", "expo-keep-awake": "~13.0.2", "expo-linking": "~6.3.1", + "expo-localization": "~15.0.3", "expo-navigation-bar": "~3.0.7", "expo-router": "~3.5.23", "expo-screen-orientation": "~7.0.5", @@ -51,11 +52,13 @@ "expo-updates": "~0.25.22", "expo-web-browser": "~13.0.3", "ffmpeg-kit-react-native": "^6.0.2", + "i18next": "^23.13.0", "jotai": "^2.9.1", "lodash": "^4.17.21", "nativewind": "^2.0.11", "react": "18.2.0", "react-dom": "18.2.0", + "react-i18next": "^15.0.1", "react-native": "0.74.5", "react-native-circular-progress": "^1.4.0", "react-native-compressor": "^1.8.25", diff --git a/translations/en.json b/translations/en.json new file mode 100644 index 00000000..be06bf72 --- /dev/null +++ b/translations/en.json @@ -0,0 +1,38 @@ +{ + "login": { + "username_required": "Username is required", + "error_title": "Error", + "url_error_message": "URL needs to start with http or https.", + "login": "Log in", + "login_subtitle": "Log in to any user account", + "username_placeholder": "Username", + "password_placeholder": "Password", + "login_button": "Log in" + }, + "server": { + "server_label": "Server: {{serverURL}}", + "change_server": "Change server", + "connect_to_server": "Connect to your Jellyfin server", + "server_url_placeholder": "Server URL", + "server_url_hint": "Server URL requires http or https", + "connect_button": "Connect" + }, + "home": { + "home": "Home", + "noInternet": "No Internet", + "noInternetMessage": "No worries, you can still watch\ndownloaded content.", + "goToDownloads": "Go to downloads", + "oops": "Oops!", + "errorMessage": "Something went wrong.\nPlease log out and in again.", + "continueWatching": "Continue Watching", + "nextUp": "Next Up", + "recentlyAddedMovies": "Recently Added in Movies", + "recentlyAddedTVShows": "Recently Added in TV-Shows", + "suggestions": "Suggestions" + }, + "tabs": { + "home": "Home", + "search": "Search", + "library": "Library" + } +} diff --git a/translations/sv.json b/translations/sv.json new file mode 100644 index 00000000..75b6ea2c --- /dev/null +++ b/translations/sv.json @@ -0,0 +1,38 @@ +{ + "login": { + "username_required": "Användarnamn krävs", + "error_title": "Fel", + "url_error_message": "URL måste börja med http eller https.", + "login_title": "Logga in", + "login_subtitle": "Logga in på ett användarkonto", + "username_placeholder": "Användarnamn", + "password_placeholder": "Lösenord", + "login_button": "Logga in" + }, + "server": { + "server_label": "Server: {{serverURL}}", + "change_server": "Byt server", + "connect_to_server": "Anslut till din Jellyfin-server", + "server_url_placeholder": "Server URL", + "server_url_hint": "Server URL kräver http eller https", + "connect_button": "Anslut" + }, + "home": { + "home": "Hem", + "noInternet": "Ingen Internet", + "noInternetMessage": "Ingen fara, du kan fortfarande titta\npå nedladdat innehåll.", + "goToDownloads": "Gå till nedladdningar", + "oops": "Hoppsan!", + "errorMessage": "Något gick fel.\nLogga ut och in igen.", + "continueWatching": "Fortsätt titta", + "nextUp": "Nästa upp", + "recentlyAddedMovies": "Nyligen tillagt i Filmer", + "recentlyAddedTVShows": "Nyligen tillagt i TV-Serier", + "suggestions": "Förslag" + }, + "tabs": { + "home": "Hem", + "search": "Sök", + "library": "Bibliotek" + } +} diff --git a/utils/atoms/settings.ts b/utils/atoms/settings.ts index eabf9284..df76f0a3 100644 --- a/utils/atoms/settings.ts +++ b/utils/atoms/settings.ts @@ -1,6 +1,7 @@ import { atom, useAtom } from "jotai"; import AsyncStorage from "@react-native-async-storage/async-storage"; import { useEffect } from "react"; +import { getLocales } from "expo-localization"; type Settings = { autoRotate?: boolean; @@ -10,6 +11,7 @@ type Settings = { deviceProfile?: "Expo" | "Native" | "Old"; forceDirectPlay?: boolean; mediaListCollectionIds?: string[]; + preferedLanguage?: string; }; /** @@ -33,6 +35,7 @@ const loadSettings = async (): Promise => { deviceProfile: "Expo", forceDirectPlay: false, mediaListCollectionIds: [], + preferedLanguage: getLocales()[0] || "en", }; };