diff --git a/fastlane/metadata/android/de-DE/full_description.txt b/fastlane/metadata/android/de-DE/full_description.txt
new file mode 100644
index 00000000..c14aebc1
--- /dev/null
+++ b/fastlane/metadata/android/de-DE/full_description.txt
@@ -0,0 +1,25 @@
+Materialious ist ein Client für Invidious mit Material Design.
+Es lässt dich Videos durchstöbern und anschauen, Wiedergabelisten verwalten und Kanäle verwenden.
+
+Funktionen:
+
+ - Unterstützung für Invidious Companion
+ - Invidious API Extended Integration
+ - YouTube.js-Fallback für Desktop & Android, falls Invidious beim Laden von Videos fehlschlägt
+ - Unterstützung zur Deaktivierung der Zertifikatsüberprüfung für Homelab-Nutzer
+ - Synchronisiere deinen Wiedergabefortschritt zwischen Invidious-Sitzungen
+ - Schaue gemeinsam in Synchronisationsgruppen
+ - Sponsorblock miteingebaut
+ - Return YouTube Dislikes miteingebaut
+ - DeArrow miteingebaut (Mit Fallback zur lokalen Verarbeitung)
+ - Keine Werbung
+ - Kein Tracking
+ - Hell- und Dunkel-Themes
+ - Benutzerdefinierte Farb-Themes
+ - Integriert mit Invidious Abonnements, Wiedergabeverlauf & mehr
+ - Livestream-Unterstützung
+ - Dash-Unterstützung
+ - Kapitel
+ - Nur-Ton-Modus
+ - Wiedergabelisten
+
diff --git a/fastlane/metadata/android/de-DE/short_description.txt b/fastlane/metadata/android/de-DE/short_description.txt
new file mode 100644
index 00000000..9ad5820b
--- /dev/null
+++ b/fastlane/metadata/android/de-DE/short_description.txt
@@ -0,0 +1 @@
+Modernes Material-Design für Invidious
diff --git a/materialious/src/lib/i18n/locales/de.json b/materialious/src/lib/i18n/locales/de.json
index aebab534..83ee1fdf 100644
--- a/materialious/src/lib/i18n/locales/de.json
+++ b/materialious/src/lib/i18n/locales/de.json
@@ -3,12 +3,12 @@
"copyUrl": "URL kopieren",
"loadMore": "Mehr laden",
"views": "Ansichten",
- "invidiousBlockWarning": "Invidious wird derzeit von Google blockiert. Wenn Videos für diese Instanz nicht geladen werden, verwenden Sie diese Instanz bitte auf Materialious auf {android} oder {desktop}, um dies mit lokalem Videozurückfall zu umgehen.",
+ "invidiousBlockWarning": "Invidious wird derzeit von Google blockiert. Wenn Videos für diese Instanz nicht geladen werden, verwende diese Instanz bitte auf Materialious auf {android} oder {desktop}, um dies mit lokalem Video-Fallback zu umgehen.",
"videos": "Videos",
"cancel": "Abbrechen",
"create": "Erstellen",
"title": "Titel",
- "searchPlaceholder": "Suchen...",
+ "searchPlaceholder": "Suchen",
"delete": "Löschen",
"donate": "Spenden",
"deleteAllHistory": "Gesamten Verlauf löschen",
@@ -19,15 +19,15 @@
"language": "Sprache",
"channels": "Kanäle",
"transcript": "Transkript",
- "noCaptionData": "Untertitel enthalten keine daten.",
+ "noCaptionData": "Untertitel enthalten keine Daten.",
"selectLang": "Sprache auswählen",
"letterCase": "Groß-/Kleinschreibung für Titel",
"hideReplies": "Antworten verstecken",
"hideVideo": "Video verstecken",
"syncParty": {
- "userJoined": "Ein Benutzer ist Ihrer Anzeiggruppe beigetreten.",
- "userLeft": "Ein Benutzer hat ihre Anzeiggruppe verlassen.",
- "userOnPrivatePage": "Der Benutzer sieht gerade eine private Seite, die Synchronisierung wird in Kürze fortgesetzt."
+ "userJoined": "Ein Benutzer ist deiner Wiedergabegruppe beigetreten.",
+ "userLeft": "Ein Benutzer hat deine Wiedergabegruppe verlassen.",
+ "userOnPrivatePage": "Der Benutzer sieht sich gerade eine private Seite an, die Synchronisierung wird in Kürze fortgesetzt."
},
"videoTabs": {
"all": "Alle",
@@ -35,7 +35,7 @@
"playlists": "Wiedergabeliste",
"channels": "Kanäle",
"shorts": "Shorts",
- "streams": "Ströme"
+ "streams": "Streams"
},
"subscriptions": {
"manageSubscriptions": "Abonnements verwalten"
@@ -70,14 +70,14 @@
"pauseVideoIn": "Video pausieren in ",
"share": {
"title": "Teilen",
- "materialiousLink": "Materialious link kopieren",
- "invidiousRedirect": "Invidious Weiterleitungslink kopieren",
- "youtubeLink": "YouTube Link kopieren"
+ "materialiousLink": "Materialious-Link kopieren",
+ "invidiousRedirect": "Invidious-Weiterleitungslink kopieren",
+ "youtubeLink": "YouTube-Link kopieren"
},
"download": "Herunterladen",
"downloadSteps": {
"merging": "Video und Audio zusammenführen",
- "video": "Herunterladen der Video",
+ "video": "Herunterladen des Videos",
"audio": "Herunterladen der Audio",
"ffmpeg": "Herunterladen der ffmpeg-Bibliothek und -Komponenten",
"classWorker": "Herunterladen des ffmpeg-Klassenarbeiters",
@@ -88,22 +88,29 @@
"noPlaylists": "Keine Wiedergabelisten",
"unableToLoadComments": "Laden der Kommentare fehlgeschlagen",
"addToPlaylist": "Zur Wiedergabeliste hinzufügen",
- "youtubeJsFallBack": "Lokales Videozurückfall wird verwendet"
+ "youtubeJsFallBack": "Lokaler Video-Fallback wird verwendet",
+ "enableYoutubejsPerm": "Lokales Video-Fallback immer erlauben",
+ "defaultLanguage": "Standardsprache",
+ "preferredQuality": "Bevorzugte Qualität",
+ "enableYoutubejsTemp": "Nutze einmalig lokales Video-Fallback",
+ "chapters": "Kapitel",
+ "retryText": "Das Video konnte nicht geladen werden, wie möchtest du weiterfahren?",
+ "youtubeJsLoading": "Das Video konnte nicht geladen werden, es wird mit lokalem Video-Fallback erneut versucht."
},
"layout": {
- "interface": "Schnittstelle",
+ "interface": "Benutzeroberfläche",
"star": "Sternchen auf GitHub vergeben!",
- "syncParty": "Synchronisierung der Partei",
- "syncPartyWarning": "Bitte beachten Sie, dass Ihre IP für die von Ihnen eingeladenen Benutzer sichtbar ist.",
- "startSyncParty": "Synchronisierung der Partei starten",
- "endSyncParty": "Synchronisierung der Partei beenden",
+ "syncParty": "Synchronisationsgruppe",
+ "syncPartyWarning": "Bitte beachte, dass deine IP für die von dir eingeladenen Benutzer sichtbar ist.",
+ "startSyncParty": "Synchronisationsgruppe starten",
+ "endSyncParty": "Synchronisationsgruppe stoppen",
"notifications": "Benachrichtigungen",
"noNewNotifications": "Keine neuen Benachrichtigungen",
"settings": "Einstellungen",
"login": "Anmelden",
"logout": "Abmelden",
"customize": "Anpassen",
- "lowBandwidthMode": "Modus der geringer Bandbreite",
+ "lowBandwidthMode": "Modus für geringe Bandbreite",
"theme": {
"theme": "Thema",
"darkMode": "Dunkler Modus",
@@ -116,25 +123,29 @@
"expandDescription": "Beschreibung standardmäßig erweitern",
"expandComments": "Kommentare standardmäßig erweitern",
"dataPreferences": {
- "content": "Sie möchten Abonnements importieren/exportieren, Ihr Passwort ändern oder Ihr Konto löschen? Klicken Sie hier und scrollen Sie bis zum Ende der Seite.",
+ "content": "Du möchtest Abonnements importieren/exportieren, dein Passwort ändern oder dein Konto löschen? Klicke hier und scrolle bis zum Ende der Seite.",
"dataPreferences": "Dateneinstellungen"
},
"player": {
- "title": "Spieler",
+ "title": "Player",
"autoPlay": "Video automatisch abspielen",
"alwaysLoopVideo": "Video immer in Schleife abspielen",
"savePlaybackPosition": "Wiedergabeposition speichern",
"listenByDefault": "Standardmäßig zuhören",
"theatreModeByDefault": "Standardmäßiger Theatermodus",
"autoPlayNextByDefault": "Standardmäßige Wiedergabe des nächsten Videos",
- "miniPlayer": "Minispieler",
- "proxyVideos": "Proxy-Videos",
+ "miniPlayer": "Mini-Player",
+ "proxyVideos": "Videos durch Proxy leiten",
"backgroundPlay": "Ton im Hintergrund abspielen",
- "dash": "Bindestrichmodus",
+ "dash": "Dash",
"silenceSkipper": "Schweigenüberspringer (Experimentell)",
"youtubeJsFallback": "Fallback für lokale Videoverarbeitung",
- "youtubeJsAlways": "Verwenden Sie immer die lokale Videoverarbeitung",
- "lockOrientation": "Ausrichtung an Seitenverhältnis gebunden"
+ "youtubeJsAlways": "Immer nutzen",
+ "lockOrientation": "Ausrichtung an Seitenverhältnis gebunden",
+ "defaultPlaybackSpeed": "Standardmäßige Wiedergabegeschwindigkeit",
+ "ccByDefault": "Untertitel standardmäßig an",
+ "localVideoFallback": "Lokaler Video-Fallback",
+ "playerStatistics": "Player-Statistiken standardmäßig anzeigen"
},
"bookmarklet": "Lesezeichen",
"instanceUrl": "URL der Instanz",
@@ -143,18 +154,30 @@
"disableToast": "Toast deaktivieren",
"disableTimeline": "Segmente auf der Zeitleiste deaktivieren",
"Catagories": "Kategorien",
- "unpaidSelfPromotion": "Unbezahlte/Selbstständige Förderung",
- "interactionReminder": "Interaktionserinnerung (Abonnieren)",
+ "unpaidSelfPromotion": "Unbezahlte Werbung/Eigenwerbung",
+ "interactionReminder": "Interaktionsaufforderung (Abonnieren)",
"intermissionIntroAnimation": "Unterbrechung/Einstiegsanimation",
- "credits": "Endkarten/Gutschriften",
- "preViewRecapHook": "Vorschau/Rückblick/Haken",
- "tangentJokes": "Füller Tangent/Witze"
+ "credits": "Abspann",
+ "preViewRecapHook": "Vorschau/Rückblick/Hook",
+ "tangentJokes": "Füllende Abweichler/Witze"
},
"deArrow": {
"title": "DeArrow",
- "thumbnailInstanceUrl": "URL der Miniaturansicht",
+ "thumbnailInstanceUrl": "URL der Vorschaubilder-Instanz",
"titleOnly": "Nur Titel"
- }
+ },
+ "allowInsecureRequests": "Unsichere Anfragen zulassen",
+ "searchHistory": "Suchverlauf",
+ "companionUrl": "Companion URL",
+ "expandChapters": "Kapitel standardmäßig ausklappen",
+ "displayThumbnailAvatars": "Vorschaubild-Avatare (Langsam)"
},
- "subscribe": "Abonnieren"
+ "subscribe": "Abonnieren",
+ "recommendedVideos": "Vorgeschlagene Videos",
+ "playlistVideos": "Wiedergabelisten Videos",
+ "defaultPage": "Standardseite",
+ "disabled": "Deaktiviert",
+ "invidiousLogin": "Bitte melde dich mit deinem Invidious-Konto an",
+ "invalidInstance": "Bitte prüfe die URL. Wenn sie korrekt ist, ist die Instanz möglicherweise außer Betrieb oder unterstützt keine Clients von Drittanbietern.",
+ "login": "Anmeldung"
}
diff --git a/materialious/src/lib/i18n/locales/ja.json b/materialious/src/lib/i18n/locales/ja.json
index 0967ef42..0cfaf403 100644
--- a/materialious/src/lib/i18n/locales/ja.json
+++ b/materialious/src/lib/i18n/locales/ja.json
@@ -1 +1,183 @@
-{}
+{
+ "copyUrl": "URLをコピー",
+ "disabled": "無効",
+ "enabled": "有効",
+ "loadMore": "もっと表示",
+ "login": "ログイン",
+ "recommendedVideos": "おすすめの動画",
+ "invidiousLogin": "Invidious アカウントでログインしてください",
+ "views": "回再生",
+ "playlistVideos": "再生リストの動画",
+ "invalidInstance": "URLを確認してください。間違いがなければ、サーバーがダウンしているか、第三者製のクライアントに対応していない可能性があります。",
+ "videos": "動画",
+ "cancel": "キャンセル",
+ "create": "作成",
+ "title": "題",
+ "searchPlaceholder": "検索",
+ "delete": "削除",
+ "donate": "寄付",
+ "deleteAllHistory": "すべての履歴を削除",
+ "replies": "件の返信",
+ "region": "地域",
+ "noResult": "結果なし",
+ "language": "言語",
+ "channels": "チャンネル",
+ "skipping": "スキップ",
+ "transcript": "字幕",
+ "selectLang": "言語を選択",
+ "hideReplies": "返信を非表示",
+ "letterCase": "題名の大文字表示",
+ "hideVideo": "動画を非表示",
+ "defaultPage": "最初に表示するページ",
+ "videoTabs": {
+ "all": "すべて",
+ "videos": "動画",
+ "playlists": "再生リスト",
+ "channels": "チャンネル",
+ "shorts": "ショート",
+ "streams": "配信"
+ },
+ "syncParty": {
+ "userLeft": "視聴グループからユーザーが脱退した。",
+ "userJoined": "視聴グループにユーザーが参加した。",
+ "userOnPrivatePage": "ユーザーは現在非公開のページを閲覧中。同期はすぐに再開されます。"
+ },
+ "noCaptionData": "字幕のデータがありません。",
+ "loginRequired": "要ログイン",
+ "subscriptions": {
+ "manageSubscriptions": "登録チャンネルを管理"
+ },
+ "playlist": {
+ "createPlaylist": "再生リストを作成",
+ "public": "公開",
+ "private": "非公開",
+ "unlisted": "限定公開",
+ "playVideos": "動画を再生",
+ "shuffleVideos": "シャッフルして動画再生",
+ "loopPlaylist": "再生リストをループ"
+ },
+ "thumbnail": {
+ "live": "ライブ",
+ "failedToLoadImage": "画像読み込みに失敗"
+ },
+ "pages": {
+ "home": "ホーム",
+ "trending": "急上昇",
+ "subscriptions": "登録チャンネル",
+ "history": "履歴",
+ "playlists": "再生リスト"
+ },
+ "subscribers": "人の登録者",
+ "unsubscribe": "登録解除",
+ "player": {
+ "theatreMode": "シアターモード",
+ "audioOnly": "音声のみ",
+ "pauseTimer": "停止タイマー",
+ "pauseVideoIn": "停止まで ",
+ "chapters": "チャプター",
+ "preferredQuality": "優先する画質",
+ "share": {
+ "title": "共有",
+ "materialiousLink": "Materialious リンクコピー",
+ "invidiousRedirect": "Invidious リンクコピー",
+ "youtubeLink": "YouTube リンクコピー"
+ },
+ "download": "ダウンロード",
+ "downloadSteps": {
+ "merging": "映像と音声を結合中",
+ "audio": "音声をダウンロード中",
+ "video": "映像をダウンロード中",
+ "ffmpeg": "ffmpeg ライブラリと構成要素ダウンロード中",
+ "classWorker": "ffmpeg クラスワーカーをダウンロード中",
+ "core": "ffmpeg コアをダウンロード中",
+ "wasm": "ffmpeg wasm ダウンロード中",
+ "worker": "ffmpeg ワーカーダウンロード中"
+ },
+ "noPlaylists": "再生リストなし",
+ "unableToLoadComments": "コメントを読み込めません",
+ "addToPlaylist": "再生リストに追加",
+ "defaultLanguage": "既定の言語",
+ "retryText": "動画の読み込みに失敗。どう続けますか?",
+ "enableYoutubejsTemp": "一度だけ動画への代替接続で直接接続",
+ "enableYoutubejsPerm": "常に動画への代替接続で直接接続",
+ "youtubeJsFallBack": "動画への代替接続で直接接続を使用",
+ "youtubeJsLoading": "動画の読み込みに失敗。動画への代替接続で直接接続を試みます。"
+ },
+ "layout": {
+ "interface": "外観",
+ "star": "Githubで星を押して!",
+ "syncParty": "同期グループ",
+ "syncPartyWarning": "招待したユーザーにはあなたのIPが公開されます。",
+ "startSyncParty": "同期グループを開始",
+ "endSyncParty": "動機グループを終了",
+ "notifications": "通知",
+ "settings": "設定",
+ "login": "ログイン",
+ "logout": "ログアウト",
+ "lowBandwidthMode": "低速回線モード",
+ "searchHistory": "視聴履歴",
+ "displayThumbnailAvatars": "アバター画像 (遅い)",
+ "theme": {
+ "theme": "テーマ",
+ "darkMode": "ダークモード",
+ "lightMode": "ライトモード",
+ "color": "色",
+ "AmoledTheme": "Amoled テーマ"
+ },
+ "searchSuggestions": "検索候補を表示",
+ "previewVideoOnHover": "マウスを乗せるとプレビュー",
+ "companionUrl": "コンパニオンのURL",
+ "expandDescription": "最初から説明を展開",
+ "expandChapters": "最初からチャプターを展開",
+ "expandComments": "最初からコメント展開",
+ "allowInsecureRequests": "安全でないリクエストの許可",
+ "dataPreferences": {
+ "content": "登録チャンネルのインポート/エクスポート、パスワード変更、アカウント削除ですか?ここをクリックし、ページの一番下までスクロール。",
+ "dataPreferences": "データ設定"
+ },
+ "player": {
+ "title": "プレイヤー",
+ "autoPlay": "動画を自動再生",
+ "alwaysLoopVideo": "常に動画をループ",
+ "savePlaybackPosition": "再生位置を記憶",
+ "ccByDefault": "最初から字幕表示",
+ "theatreModeByDefault": "最初からシアターモード",
+ "autoPlayNextByDefault": "最初から自動で次の動画",
+ "miniPlayer": "ミニプレイヤー",
+ "proxyVideos": "動画のプロキシ",
+ "backgroundPlay": "バックグラウンドで音声を再生",
+ "dash": "DASH",
+ "listenByDefault": "最初から音声モード",
+ "silenceSkipper": "無音部分を飛ばす (実験的)",
+ "localVideoFallback": "動画への代替接続で直接接続",
+ "youtubeJsFallback": "失敗時に動画の代替処理を使用",
+ "youtubeJsAlways": "常に使用",
+ "lockOrientation": "アスペクト比と向きを固定",
+ "defaultPlaybackSpeed": "既定の再生速度",
+ "playerStatistics": "最初かプレイヤー統計情報を表示"
+ },
+ "bookmarklet": "ブックマーク",
+ "instanceUrl": "インスタンスのURL",
+ "sponsors": {
+ "sponsor": "協賛",
+ "disableToast": "通知を非表示",
+ "disableTimeline": "タイムライン上のシーン表示を非表示",
+ "Catagories": "分類",
+ "unpaidSelfPromotion": "無償または自己の宣伝",
+ "interactionReminder": "登録など操作を頼む自己宣伝",
+ "intermissionIntroAnimation": "合間/導入アニメ",
+ "credits": "終了画面/クレジット",
+ "preViewRecapHook": "予告/あらすじ/冒頭シーン",
+ "tangentJokes": "無関係な談話/冗談"
+ },
+ "deArrow": {
+ "title": "DeArrow",
+ "thumbnailInstanceUrl": "サムネイル用のインスタンスのURL",
+ "titleOnly": "題名のみ"
+ },
+ "noNewNotifications": "新規の通知なし",
+ "customize": "カスタマイズ"
+ },
+ "subscribe": "登録",
+ "invidiousBlockWarning": "Invidious は、現在Googleにブロックされています。このインスタンスで動画が読み込めない場合、{android} 版または {desktop} 版の Materialious でこのインスタンスを使用し、動画取得を直接行う代替接続を使ってください。"
+}