diff --git a/extension/background.js b/extension/background.js index b2f491e..09e0caf 100644 --- a/extension/background.js +++ b/extension/background.js @@ -1,6 +1,6 @@ import { EVENTS, PROTOCOL_VERSION, OFFICIAL_SERVER_URL, OFFICIAL_SERVER_TOKEN, EPISODE_LOBBY_TIMEOUT, FORCE_SYNC_TIMEOUT } from './shared/constants.js'; import { generateUsername } from './shared/names.js'; -import { loadLocale, getMessage, SUPPORTED_LANGUAGES } from './i18n.js'; +import { loadLocale, getMessage, getSystemLanguage } from './i18n.js'; // --- State Management --- @@ -591,11 +591,7 @@ function showNotification(senderName, action) { chrome.storage.sync.get(['browserNotifications', 'locale'], async (settings) => { if (!settings.browserNotifications) return; - let lang = settings.locale; - if (!lang) { - const systemLang = (navigator.language || chrome.i18n.getUILanguage()).split('-')[0]; - lang = SUPPORTED_LANGUAGES.includes(systemLang) ? systemLang : 'en'; - } + const lang = settings.locale || getSystemLanguage(); await loadLocale(lang); let labelKey = ''; @@ -762,11 +758,7 @@ function handleServerEvent(event, data) { broadcastConnectionStatus('disconnected'); addLog(`Server Error: ${data.message}`, 'error'); chrome.storage.sync.get(['locale'], async (settings) => { - let lang = settings.locale; - if (!lang) { - const systemLang = (navigator.language || chrome.i18n.getUILanguage()).split('-')[0]; - lang = SUPPORTED_LANGUAGES.includes(systemLang) ? systemLang : 'en'; - } + const lang = settings.locale || getSystemLanguage(); await loadLocale(lang); chrome.notifications.create(`error_${Date.now()}`, { type: 'basic', @@ -1100,11 +1092,7 @@ function cancelEpisodeLobby(reason) { chrome.storage.sync.get(['browserNotifications', 'locale'], async (settings) => { if (!settings.browserNotifications) return; - let lang = settings.locale; - if (!lang) { - const systemLang = (navigator.language || chrome.i18n.getUILanguage()).split('-')[0]; - lang = SUPPORTED_LANGUAGES.includes(systemLang) ? systemLang : 'en'; - } + const lang = settings.locale || getSystemLanguage(); await loadLocale(lang); const reasonKey = reasonKeys[reason]; diff --git a/extension/i18n.js b/extension/i18n.js index 94a0c15..7ed4d79 100644 --- a/extension/i18n.js +++ b/extension/i18n.js @@ -1,5 +1,5 @@ // extension/i18n.js -export const SUPPORTED_LANGUAGES = ['en', 'de', 'fr', 'es', 'pt-BR', 'ru']; +export const SUPPORTED_LANGUAGES = ['en', 'de', 'fr', 'es', 'pt-BR', 'ru', 'it', 'pl', 'tr', 'nl', 'ja', 'ko', 'pt']; export const DEFAULT_LANGUAGE = 'en'; let activeDictionary = {}; @@ -87,3 +87,19 @@ export function translateDOM() { el.setAttribute('placeholder', getMessage(key)); }); } + +/** + * Detects and maps the user's system language to the best supported locale. + * @returns {string} Supported language code + */ +export function getSystemLanguage() { + const uiLang = (typeof chrome !== 'undefined' && chrome.i18n && chrome.i18n.getUILanguage) + ? chrome.i18n.getUILanguage() + : ''; + const fullLang = (navigator.language || uiLang || '').toLowerCase(); + if (fullLang.startsWith('pt-br')) { + return 'pt-BR'; + } + const baseLang = fullLang.split('-')[0]; + return SUPPORTED_LANGUAGES.includes(baseLang) ? baseLang : DEFAULT_LANGUAGE; +} diff --git a/extension/locales/it.json b/extension/locales/it.json new file mode 100644 index 0000000..86455b3 --- /dev/null +++ b/extension/locales/it.json @@ -0,0 +1,183 @@ +{ + "LANG_CODE": "it", + "HTML_CLASS": "lang-it", + "APP_TITLE": "KoalaSync", + "TAB_ROOM": "Stanza", + "TAB_ROOM_TOOLTIP": "Impostazioni della stanza e connessione", + "TAB_SYNC": "Sincronizza", + "TAB_SYNC_TOOLTIP": "Controlli di sincronizzazione video e azioni remote", + "TAB_SETTINGS": "Impostazioni", + "TAB_SETTINGS_TOOLTIP": "Preferenze dell'estensione", + "TAB_STATUS": "Stato", + "TAB_STATUS_TOOLTIP": "Diagnostica avanzata e log", + "BTN_CREATE_ROOM": "+ Crea Nuova Stanza", + "MANUAL_CONNECT_HEADER": "Connessione Manuale / Avanzata", + "LABEL_SERVER": "Server", + "BTN_SERVER_OFFICIAL": "Ufficiale", + "BTN_SERVER_OFFICIAL_TOOLTIP": "Usa il server ufficiale affidabile", + "BTN_SERVER_CUSTOM": "Personalizzato", + "BTN_SERVER_CUSTOM_TOOLTIP": "Connettiti al tuo server ospitato autonomamente", + "PLACEHOLDER_SERVER_URL": "wss://tuo-server:3000", + "LABEL_ROOM_ID": "ID Stanza", + "LABEL_ROOM_ID_TOOLTIP": "L'identificatore univoco per la tua stanza di sincronizzazione", + "PLACEHOLDER_ROOM_ID": "Inserisci ID Stanza", + "PLACEHOLDER_ROOM_ID_TOOLTIP": "L'ID univoco della stanza a cui vuoi unirti", + "LABEL_PASSWORD": "Password (Opzionale)", + "LABEL_PASSWORD_TOOLTIP": "Password opzionale per limitare l'accesso alla stanza", + "PLACEHOLDER_PASSWORD": "Password della stanza (opzionale)", + "PLACEHOLDER_PASSWORD_TOOLTIP": "Password per la stanza (lascia vuoto se nessuna)", + "BTN_JOIN_ROOM": "Entra / Crea Stanza", + "BTN_JOIN_ROOM_TOOLTIP": "Connettiti alla stanza", + "LABEL_PUBLIC_ROOMS": "Stanze Pubbliche", + "LABEL_PUBLIC_ROOMS_TOOLTIP": "Elenco delle stanze pubblicamente disponibili su questo server", + "BTN_REFRESH": "AGGIORNA", + "BTN_REFRESH_TOOLTIP": "Aggiorna l'elenco delle stanze pubbliche", + "PUBLIC_ROOMS_REFRESHING": "Aggiornamento...", + "BTN_REFRESH_COOLDOWN": "ATTENDI {seconds}s", + "BTN_REFRESH_COOLDOWN_TOOLTIP": "L'aggiornamento dell'elenco è in pausa. Riprova tra {seconds}s.", + "PUBLIC_ROOMS_REFRESHING_COOLDOWN": "Aggiornamento stanze pubbliche. Prossimo aggiornamento disponibile tra {seconds}s.", + "LABEL_ACTIVE_ROOM": "Stanza Attiva", + "LABEL_ACTIVE_ROOM_TOOLTIP": "La stanza a cui sei attualmente connesso", + "ACTIVE_ROOM_NONE": "NESSUNA", + "ACTIVE_SERVER_OFFICIAL": "Server Ufficiale", + "LABEL_INVITE_LINK": "Link di Invito", + "LABEL_INVITE_LINK_TOOLTIP": "Condividi questo link con gli amici per farli entrare", + "LABEL_PEERS_IN_ROOM": "Partecipanti nella Stanza", + "LABEL_PEERS_IN_ROOM_TOOLTIP": "Altri utenti attualmente connessi a questa stanza", + "NO_PEERS_CONNECTED": "Nessun partecipante connesso", + "BTN_LEAVE_ROOM": "Lascia Stanza", + "LABEL_SELECT_VIDEO": "Seleziona Video", + "LABEL_SELECT_VIDEO_TOOLTIP": "Scegli la scheda del browser contenente il video da sincronizzare", + "OPTION_SELECT_TAB": "-- Seleziona una Scheda --", + "LABEL_REMOTE_CONTROL": "Controllo Remoto", + "BTN_COPY_INVITE": "📋 Link di Invito", + "BTN_COPY_INVITE_TOOLTIP": "Copia Link di Invito", + "BTN_PLAY": "▶ Riproduci", + "BTN_PLAY_TOOLTIP": "Invia un comando di riproduzione a tutti", + "BTN_PAUSE": "⏸ Pausa", + "BTN_PAUSE_TOOLTIP": "Invia un comando di pausa a tutti", + "BTN_SYNC": "⚡ SYNC", + "BTN_SYNC_TOOLTIP": "Forza la sincronizzazione di tutti gli utenti", + "OPTION_JUMP_TO_OTHERS": "Salto dagli Altri", + "OPTION_JUMP_TO_ME": "Salto da Me", + "OPTION_JUMP_MODE_TOOLTIP": "Scegli il target di sincronizzazione", + "LABEL_LAST_ACTIVITY": "Stato Ultima Attività", + "LABEL_LAST_ACTIVITY_TOOLTIP": "Mostra il comando più recente di riproduzione, pausa o ricerca", + "NO_RECENT_COMMANDS": "Nessun comando recente", + "LOBBY_HEADER": "LOBBY EPISODIO", + "LOBBY_WAITING_FOR": "🎬 In attesa di: \"{title}\"", + "LOBBY_WAITING_PEERS": "In attesa dei partecipanti...", + "BTN_SKIP_PLAY": "Salta e riproduci comunque", + "BTN_SKIP_PLAY_TOOLTIP": "Annulla la lobby e riproduci comunque", + "LOBBY_CONNECT_FIRST": "Connettiti prima a una stanza", + "LOBBY_CONNECT_FIRST_DESC": "Devi unirti a una stanza tramite un link di invito o crearne una nuova per sincronizzare i video.", + "BTN_CREATE_ROOM_ALT": "Crea Nuova Stanza", + "BTN_CREATE_ROOM_ALT_TOOLTIP": "Crea una nuova stanza casuale ed entra", + "LABEL_USERNAME": "Tuo Nome Utente", + "LABEL_USERNAME_TOOLTIP": "Il nome utente aiuta gli altri a identificarti.", + "PLACEHOLDER_USERNAME": "Koala Anonimo", + "LABEL_HIDE_CLUTTER": "Nascondi Schede Inutili", + "LABEL_HIDE_CLUTTER_TOOLTIP": "Filtra le schede senza video e i domini non correlati per mantenere pulito l'elenco", + "LABEL_AUTO_SYNC_NEXT": "Auto-Sync Prossimo Episodio", + "LABEL_AUTO_SYNC_NEXT_TOOLTIP": "Pausa automaticamente e attende tutti i partecipanti al cambio episodio, poi si avvia in sincro.", + "LABEL_AUTO_COPY_INVITE": "Copia Automatica Invito", + "LABEL_AUTO_COPY_INVITE_TOOLTIP": "Copia automaticamente il link di invito negli appunti quando crei una nuova stanza.", + "LABEL_NOTIFICATIONS": "Notifiche del Browser", + "LABEL_NOTIFICATIONS_TOOLTIP": "Mostra le notifiche di sistema quando qualcuno entra/esce o riproduce/mette in pausa.", + "LABEL_LANGUAGE": "Lingua Applicazione", + "LABEL_LANGUAGE_TOOLTIP": "Scegli la lingua preferita per l'estensione", + "LABEL_TROUBLESHOOTING": "Risoluzione Problemi", + "LABEL_TROUBLESHOOTING_TOOLTIP": "Strumenti per risolvere problemi di connessione", + "BTN_REGEN_ID": "Rigenera ID Peer", + "BTN_REGEN_ID_TOOLTIP": "Rigenera il tuo ID interno e riconnettiti", + "REGEN_ID_DESC": "Usa questo se riscontri errori di \"Identità Duplicata\".", + "LABEL_CONN_STATUS": "Stato Connessione", + "LABEL_CONN_STATUS_TOOLTIP": "Stato corrente della connessione WebSocket", + "CONN_STATUS_DISCONNECTED": "Disconnesso", + "BTN_RETRY": "RIPROVA", + "BTN_RETRY_TOOLTIP": "Tenta di riconnettersi al server", + "BTN_COPY_LOGS": "Copia Log", + "BTN_COPY_LOGS_TOOLTIP": "Copia i log negli appunti per la condivisione", + "LABEL_VIDEO_DEBUG": "Info Debug Video", + "LABEL_VIDEO_DEBUG_TOOLTIP": "Dettagli tecnici sull'elemento video attualmente selezionato", + "VIDEO_DEBUG_EMPTY": "Nessuna scheda selezionata o video rilevato.", + "LABEL_HISTORY": "Cronologia Azioni Completa", + "LABEL_HISTORY_TOOLTIP": "Registro cronologico di tutti i comandi di sincronizzazione nella stanza", + "HISTORY_EMPTY": "Ancora nessuna attività", + "LABEL_LOGS": "Log (Ultimi 50)", + "LABEL_LOGS_TOOLTIP": "Log di connessione tecnica per il debug", + "BTN_CLEAR": "PULISCI", + "BTN_CLEAR_TOOLTIP": "Cancella l'output del log", + "LABEL_GITHUB": "Repository GitHub", + "BTN_ONBOARDING_SKIP": "Salta", + "BTN_ONBOARDING_SKIP_TOOLTIP": "Salta il tutorial", + "BTN_ONBOARDING_NEXT": "Avanti", + "BTN_ONBOARDING_NEXT_TOOLTIP": "Vai al passaggio successivo", + "ONBOARDING_1_TITLE": "Benvenuto in KoalaSync!", + "ONBOARDING_1_TEXT": "Guarda i video insieme in perfetta sincronia, non importa dove ti trovi. Facciamo un rapido tour!", + "ONBOARDING_2_TITLE": "1. Crea una Stanza", + "ONBOARDING_2_TEXT": "Inizia qui. Crea una stanza e condividi il link di invito con i tuoi amici.", + "ONBOARDING_3_TITLE": "2. Seleziona Video", + "ONBOARDING_3_TEXT": "Naviga qui per selezionare il video che vuoi sincronizzare. Riproduci, metti in pausa e cerca: tutti rimangono sincronizzati.", + "ONBOARDING_4_TITLE": "3. Personalizza", + "ONBOARDING_4_TEXT": "Scegli un nome utente divertente così i tuoi amici sanno chi sei.", + "ONBOARDING_5_TITLE": "Tutto pronto!", + "ONBOARDING_5_TEXT": "È ora di prendere i popcorn. Buona visione insieme!", + "ERR_CONN_TIMEOUT": "Connessione scaduta. Riprova.", + "ERR_INVALID_SERVER_URL": "Formato URL del server non valido.", + "ERR_IDENTITY_NOT_LOADED": "Identità non ancora caricata. Attendi un momento e riprova.", + "ERR_NO_PEERS_TIME": "Nessun altro peer con un orario noto. Passa a 'Salto da Me'.", + "ERR_NO_VIDEO_TAB": "Impossibile connettersi alla scheda del video.", + "ERR_SELECT_VIDEO": "Seleziona prima un video!", + "TOAST_INVITE_COPIED": "Link di invito copiato!", + "TOAST_COPY_FAILED": "Impossibile copiare negli appunti", + "TOAST_LOBBY_SKIPPED": "Lobby dell'episodio saltata.", + "TOAST_LOBBY_SKIP_FAILED": "Impossibile saltare la lobby.", + "TOAST_LOGS_COPIED": "Copiato!", + "TOAST_PEER_JOINED": "{name} è entrato nella stanza", + "TOAST_PEER_LEFT": "{name} ha lasciato la stanza", + "TOAST_PEER_ACTION": "{name} ha {action}", + "STATUS_CONNECTED": "Connesso", + "STATUS_RECONNECTING": "Riconnessione...", + "STATUS_CONNECTING": "Connessione in corso...", + "STATUS_FAILED": "Fallito", + "STATUS_DISCONNECTED": "Disconnesso", + "BTN_STATE_JOINING": "🚀 Entrando...", + "BTN_STATE_RECONNECTING": "🔄 Riconnessione...", + "BTN_STATE_PLAYING": "▶ Riproduzione...", + "BTN_STATE_PAUSING": "⏸ In pausa...", + "BTN_STATE_SYNCING_GROUP": "Sincronizzazione al gruppo ({time})...", + "BTN_STATE_SYNCING": "Sincronizzazione...", + "BTN_STATE_SYNCED": "✅ Sincronizzato!", + "NOTIF_PLAY": "avviato la riproduzione", + "NOTIF_PAUSE": "messo in pausa la riproduzione", + "NOTIF_SEEK": "cercato nel video", + "NOTIF_FORCE_PREPARE": "avviato la sincronizzazione forzata", + "NOTIF_FORCE_EXECUTE": "sincronizzato tutti", + "DEBUG_NO_TAB": "Nessuna scheda di destinazione selezionata.", + "DEBUG_COMM_FAIL": "Impossibile comunicare con il video della scheda.", + "EMPTY_PEERS_TITLE": "Ancora nessun partecipante", + "EMPTY_PEERS_HINT": "Condividi il tuo link di invito per iniziare", + "EMPTY_HISTORY_TITLE": "Ancora nessuna attività", + "EMPTY_HISTORY_HINT": "Riproduci, metti in pausa o cerca per vedere la cronologia", + "EMPTY_LOGS_TITLE": "Nessun log", + "EMPTY_LOGS_HINT": "Gli eventi di connessione appariranno qui", + "EMPTY_ROOMS_TITLE": "Nessuna stanza attiva", + "EMPTY_ROOMS_HINT": "Crea una stanza o aggiorna per trovare quelle pubbliche", + "LABEL_YOU": "Tu", + "ONBOARDING_DONE": "Fatto!", + "LABEL_LOBBY_PEER_READY": "Pronto", + "LABEL_LOBBY_PEER_LOADING": "Caricamento...", + "LABEL_PASSWORD_PROTECTED": "Protetto da Password", + "LABEL_PEERS_COUNT": "{count} partecipanti", + "LABEL_CUSTOM_SERVER": "Server Personalizzato", + "BTN_STATE_CREATING": "🚀 Creazione Stanza...", + "NOTIF_LOBBY_CANCEL_TITLE": "KoalaSync — Sincronizzazione Episodio Fallita", + "NOTIF_LOBBY_CANCEL_MSG": "Auto-sync annullato: {reason}. Potrebbe essere necessaria una sincronizzazione manuale.", + "LOBBY_CANCEL_TIMEOUT": "Timeout", + "LOBBY_CANCEL_TIMEOUT_RECOVERED": "Timeout (ripristinato)", + "LOBBY_CANCEL_PEERS_LEFT": "Tutti gli altri partecipanti hanno lasciato la stanza", + "LOBBY_CANCEL_TIMEOUT_PEERS_LOAD": "Timeout — non tutti i partecipanti hanno caricato l'episodio", + "LOBBY_CANCEL_USER": "Annullato dall'utente", + "NOTIF_ERROR_TITLE": "Errore KoalaSync" +} \ No newline at end of file diff --git a/extension/locales/ja.json b/extension/locales/ja.json new file mode 100644 index 0000000..b49abd7 --- /dev/null +++ b/extension/locales/ja.json @@ -0,0 +1,183 @@ +{ + "LANG_CODE": "ja", + "HTML_CLASS": "lang-ja", + "APP_TITLE": "KoalaSync", + "TAB_ROOM": "ルーム", + "TAB_ROOM_TOOLTIP": "ルーム設定と接続", + "TAB_SYNC": "同期", + "TAB_SYNC_TOOLTIP": "ビデオ同期コントロールとリモートアクション", + "TAB_SETTINGS": "設定", + "TAB_SETTINGS_TOOLTIP": "拡張機能の設定", + "TAB_STATUS": "ステータス", + "TAB_STATUS_TOOLTIP": "高度な診断とログ", + "BTN_CREATE_ROOM": "+ 新規ルーム作成", + "MANUAL_CONNECT_HEADER": "手動接続 / 詳細設定", + "LABEL_SERVER": "サーバー", + "BTN_SERVER_OFFICIAL": "公式", + "BTN_SERVER_OFFICIAL_TOOLTIP": "公式の信頼できるサーバーを使用", + "BTN_SERVER_CUSTOM": "カスタム", + "BTN_SERVER_CUSTOM_TOOLTIP": "独自のセルフホストサーバーに接続", + "PLACEHOLDER_SERVER_URL": "wss://your-server:3000", + "LABEL_ROOM_ID": "ルームID", + "LABEL_ROOM_ID_TOOLTIP": "同期ルームの固有の識別子", + "PLACEHOLDER_ROOM_ID": "ルームIDを入力", + "PLACEHOLDER_ROOM_ID_TOOLTIP": "参加したいルームの固有のID", + "LABEL_PASSWORD": "パスワード(任意)", + "LABEL_PASSWORD_TOOLTIP": "ルームへのアクセスを制限するための任意のパスワード", + "PLACEHOLDER_PASSWORD": "ルームのパスワード(任意)", + "PLACEHOLDER_PASSWORD_TOOLTIP": "ルームのパスワード(ない場合は空欄)", + "BTN_JOIN_ROOM": "ルームに参加 / 作成", + "BTN_JOIN_ROOM_TOOLTIP": "ルームに接続", + "LABEL_PUBLIC_ROOMS": "公開ルーム", + "LABEL_PUBLIC_ROOMS_TOOLTIP": "このサーバー上の公開ルーム의リスト", + "BTN_REFRESH": "更新", + "BTN_REFRESH_TOOLTIP": "公開ルームのリストを更新", + "PUBLIC_ROOMS_REFRESHING": "更新中...", + "BTN_REFRESH_COOLDOWN": "{seconds}秒待機", + "BTN_REFRESH_COOLDOWN_TOOLTIP": "ルームリスト更新のクールダウン中。{seconds}秒後に再試行してください。", + "PUBLIC_ROOMS_REFRESHING_COOLDOWN": "公開ルームを更新中。次の更新まであと{seconds}秒。", + "LABEL_ACTIVE_ROOM": "アクティブなルーム", + "LABEL_ACTIVE_ROOM_TOOLTIP": "現在接続しているルーム", + "ACTIVE_ROOM_NONE": "なし", + "ACTIVE_SERVER_OFFICIAL": "公式サーバー", + "LABEL_INVITE_LINK": "招待リンク", + "LABEL_INVITE_LINK_TOOLTIP": "友達とこのリンクを共有して参加してもらいましょう", + "LABEL_PEERS_IN_ROOM": "ルーム内のメンバー", + "LABEL_PEERS_IN_ROOM_TOOLTIP": "現在このルームに接続している他のユーザー", + "NO_PEERS_CONNECTED": "接続しているメンバーはいません", + "BTN_LEAVE_ROOM": "ルームを退室", + "LABEL_SELECT_VIDEO": "ビデオを選択", + "LABEL_SELECT_VIDEO_TOOLTIP": "同期するビデオが含まれるブラウザのタブを選択してください", + "OPTION_SELECT_TAB": "-- タブを選択してください --", + "LABEL_REMOTE_CONTROL": "リモートコントロール", + "BTN_COPY_INVITE": "📋 招待リンク", + "BTN_COPY_INVITE_TOOLTIP": "招待リンクをコピー", + "BTN_PLAY": "▶ 再生", + "BTN_PLAY_TOOLTIP": "全員に再生コマンドを送信", + "BTN_PAUSE": "⏸ 一時停止", + "BTN_PAUSE_TOOLTIP": "全員に一時停止コマンドを送信", + "BTN_SYNC": "⚡ 同期", + "BTN_SYNC_TOOLTIP": "すべてのユーザーを強制的に同期", + "OPTION_JUMP_TO_OTHERS": "他の人に合わせる", + "OPTION_JUMP_TO_ME": "自分に合わせる", + "OPTION_JUMP_MODE_TOOLTIP": "同期対象を選択", + "LABEL_LAST_ACTIVITY": "最新のアクティビティ状況", + "LABEL_LAST_ACTIVITY_TOOLTIP": "最新の再生、一時停止、またはシークコマンドを表示します", + "NO_RECENT_COMMANDS": "最近のコマンドはありません", + "LOBBY_HEADER": "エピソードロビー", + "LOBBY_WAITING_FOR": "🎬 待機中: \"{title}\"", + "LOBBY_WAITING_PEERS": "メンバーを待機中...", + "BTN_SKIP_PLAY": "スキップして再生", + "BTN_SKIP_PLAY_TOOLTIP": "ロビーをキャンセルして再生します", + "LOBBY_CONNECT_FIRST": "最初にルームに接続してください", + "LOBBY_CONNECT_FIRST_DESC": "ビデオを同期するには、招待リンクからルームに参加するか、新規に作成する必要があります。", + "BTN_CREATE_ROOM_ALT": "新規ルーム作成", + "BTN_CREATE_ROOM_ALT_TOOLTIP": "ランダムな新規ルームを作成して参加", + "LABEL_USERNAME": "ユーザー名", + "LABEL_USERNAME_TOOLTIP": "ユーザー名は他のメンバーがあなたを識別するのに役立ちます。", + "PLACEHOLDER_USERNAME": "匿名コアラ", + "LABEL_HIDE_CLUTTER": "不要なタブを非表示", + "LABEL_HIDE_CLUTTER_TOOLTIP": "リストをすっきりさせるため、ビデオのないタブや無関係なドメインをフィルタリングします", + "LABEL_AUTO_SYNC_NEXT": "次のエピソードを自動同期", + "LABEL_AUTO_SYNC_NEXT_TOOLTIP": "エピソード変更時に自動的に一時停止して全員を待ち、準備ができたら同時に再生を開始します。", + "LABEL_AUTO_COPY_INVITE": "招待リンク自動コピー", + "LABEL_AUTO_COPY_INVITE_TOOLTIP": "新規ルーム作成時に招待リンクをクリップボードに自動コピーします。", + "LABEL_NOTIFICATIONS": "ブラウザ通知", + "LABEL_NOTIFICATIONS_TOOLTIP": "誰かが参加/退室したとき、または再生/一時停止したときにシステムの通知を表示します。", + "LABEL_LANGUAGE": "アプリの言語", + "LABEL_LANGUAGE_TOOLTIP": "拡張機能の優先言語を選択してください", + "LABEL_TROUBLESHOOTING": "トラブルシューティング", + "LABEL_TROUBLESHOOTING_TOOLTIP": "接続の問題を修正するためのツール", + "BTN_REGEN_ID": "ピアIDの再生成", + "BTN_REGEN_ID_TOOLTIP": "内部IDを再生成して再接続します", + "REGEN_ID_DESC": "「Duplicate Identity」(ID重複)エラーが表示される場合に使用します。", + "LABEL_CONN_STATUS": "接続状態", + "LABEL_CONN_STATUS_TOOLTIP": "現在のWebSocket接続状態", + "CONN_STATUS_DISCONNECTED": "切断されました", + "BTN_RETRY": "再試行", + "BTN_RETRY_TOOLTIP": "サーバーへの再接続を試行", + "BTN_COPY_LOGS": "ログをコピー", + "BTN_COPY_LOGS_TOOLTIP": "共有用にログをクリップボードにコピー", + "LABEL_VIDEO_DEBUG": "ビデオデバッグ情報", + "LABEL_VIDEO_DEBUG_TOOLTIP": "現在選択されているビデオ要素に関する技術的詳細", + "VIDEO_DEBUG_EMPTY": "タブが選択されていないか、ビデオが検出されませんでした。", + "LABEL_HISTORY": "全アクション履歴", + "LABEL_HISTORY_TOOLTIP": "ルーム内のすべての同期コマンドの時系列ログ", + "HISTORY_EMPTY": "アクティビティはまだありません", + "LABEL_LOGS": "ログ(直近50件)", + "LABEL_LOGS_TOOLTIP": "デバッグ用の技術接続ログ", + "BTN_CLEAR": "消去", + "BTN_CLEAR_TOOLTIP": "ログ出力をクリア", + "LABEL_GITHUB": "GitHubリポジトリ", + "BTN_ONBOARDING_SKIP": "スキップ", + "BTN_ONBOARDING_SKIP_TOOLTIP": "チュートリアルをスキップ", + "BTN_ONBOARDING_NEXT": "次へ", + "BTN_ONBOARDING_NEXT_TOOLTIP": "次のステップに進む", + "ONBOARDING_1_TITLE": "KoalaSyncへようこそ!", + "ONBOARDING_1_TEXT": "どこにいても、完璧に同期してビデオを一緒に楽しめます。簡単なツアーを始めましょう!", + "ONBOARDING_2_TITLE": "1. ルームの作成", + "ONBOARDING_2_TEXT": "ここからスタート。ルームを作成し、招待リンクを友達に共有します。", + "ONBOARDING_3_TITLE": "2. ビデオの選択", + "ONBOARDING_3_TEXT": "ここで同期したいビデオを選択します。再生、一時停止、シーク操作は全員に同期されます。", + "ONBOARDING_4_TITLE": "3. カスタマイズ", + "ONBOARDING_4_TEXT": "友達にわかりやすいように、楽しいユーザー名を設定しましょう。", + "ONBOARDING_5_TITLE": "準備が整いました!", + "ONBOARDING_5_TEXT": "ポップコーンを用意しましょう。一緒に鑑賞を楽しんでください!", + "ERR_CONN_TIMEOUT": "接続がタイムアウトしました。再試行してください。", + "ERR_INVALID_SERVER_URL": "サーバーURLの形式が無効です。", + "ERR_IDENTITY_NOT_LOADED": "IDがまだロードされていません。しばらく待ってから再試行してください。", + "ERR_NO_PEERS_TIME": "既知の時間を持つ他のメンバーがいません。「自分に合わせる」に切り替えてください。", + "ERR_NO_VIDEO_TAB": "ビデオタブに接続できませんでした。", + "ERR_SELECT_VIDEO": "最初にビデオを選択してください!", + "TOAST_INVITE_COPIED": "招待リンクをコピーしました!", + "TOAST_COPY_FAILED": "クリップボードへのコピーに失敗しました", + "TOAST_LOBBY_SKIPPED": "エピソードロビーをスキップしました。", + "TOAST_LOBBY_SKIP_FAILED": "ロビーのスキップに失敗しました。", + "TOAST_LOGS_COPIED": "コピーしました!", + "TOAST_PEER_JOINED": "{name}が参加しました", + "TOAST_PEER_LEFT": "{name}が退室しました", + "TOAST_PEER_ACTION": "{name}が{action}", + "STATUS_CONNECTED": "接続完了", + "STATUS_RECONNECTING": "再接続中...", + "STATUS_CONNECTING": "接続中...", + "STATUS_FAILED": "失敗", + "STATUS_DISCONNECTED": "切断されました", + "BTN_STATE_JOINING": "🚀 参加中...", + "BTN_STATE_RECONNECTING": "🔄 再接続中...", + "BTN_STATE_PLAYING": "▶ 再生中...", + "BTN_STATE_PAUSING": "⏸ 一時停止中...", + "BTN_STATE_SYNCING_GROUP": "グループに同期中 ({time})...", + "BTN_STATE_SYNCING": "同期中...", + "BTN_STATE_SYNCED": "✅ 同期完了!", + "NOTIF_PLAY": "再生を開始しました", + "NOTIF_PAUSE": "再生を一時停止しました", + "NOTIF_SEEK": "動画をシークしました", + "NOTIF_FORCE_PREPARE": "強制同期を開始しました", + "NOTIF_FORCE_EXECUTE": "全員を同期しました", + "DEBUG_NO_TAB": "対象のタブが選択されていません。", + "DEBUG_COMM_FAIL": "タブのビデオと通信できませんでした。", + "EMPTY_PEERS_TITLE": "メンバーはまだいません", + "EMPTY_PEERS_HINT": "招待リンクを共有して始めましょう", + "EMPTY_HISTORY_TITLE": "アクティビティはまだありません", + "EMPTY_HISTORY_HINT": "履歴を表示するには再生、一時停止、またはシークを行います", + "EMPTY_LOGS_TITLE": "ログはありません", + "EMPTY_LOGS_HINT": "接続イベントがここに表示されます", + "EMPTY_ROOMS_TITLE": "アクティブなルームはありません", + "EMPTY_ROOMS_HINT": "ルームを作成するか、更新して公開ルームを探します", + "LABEL_YOU": "あなた", + "ONBOARDING_DONE": "完了!", + "LABEL_LOBBY_PEER_READY": "準備完了", + "LABEL_LOBBY_PEER_LOADING": "読み込み中...", + "LABEL_PASSWORD_PROTECTED": "パスワード保護", + "LABEL_PEERS_COUNT": "{count}人", + "LABEL_CUSTOM_SERVER": "カスタムサーバー", + "BTN_STATE_CREATING": "🚀 ルーム作成中...", + "NOTIF_LOBBY_CANCEL_TITLE": "KoalaSync — エピソード同期に失敗しました", + "NOTIF_LOBBY_CANCEL_MSG": "自動同期がキャンセルされました: {reason}。手動で同期する必要がある場合があります。", + "LOBBY_CANCEL_TIMEOUT": "タイムアウト", + "LOBBY_CANCEL_TIMEOUT_RECOVERED": "タイムアウト(回復済)", + "LOBBY_CANCEL_PEERS_LEFT": "他のすべてのメンバーが退室しました", + "LOBBY_CANCEL_TIMEOUT_PEERS_LOAD": "タイムアウト — 一部のメンバーがエピソードを読み込めませんでした", + "LOBBY_CANCEL_USER": "ユーザーによってキャンセルされました", + "NOTIF_ERROR_TITLE": "KoalaSyncエラー" +} \ No newline at end of file diff --git a/extension/locales/ko.json b/extension/locales/ko.json new file mode 100644 index 0000000..49bb860 --- /dev/null +++ b/extension/locales/ko.json @@ -0,0 +1,183 @@ +{ + "LANG_CODE": "ko", + "HTML_CLASS": "lang-ko", + "APP_TITLE": "KoalaSync", + "TAB_ROOM": "방", + "TAB_ROOM_TOOLTIP": "방 설정 및 연결", + "TAB_SYNC": "동기화", + "TAB_SYNC_TOOLTIP": "비디오 동기화 제어 및 원격 작업", + "TAB_SETTINGS": "설정", + "TAB_SETTINGS_TOOLTIP": "확장 프로그램 기본 설정", + "TAB_STATUS": "상태", + "TAB_STATUS_TOOLTIP": "고급 진단 및 로그", + "BTN_CREATE_ROOM": "+ 새 방 만들기", + "MANUAL_CONNECT_HEADER": "수동 연결 / 고급", + "LABEL_SERVER": "서버", + "BTN_SERVER_OFFICIAL": "공식", + "BTN_SERVER_OFFICIAL_TOOLTIP": "공식적이고 신뢰할 수 있는 서버 사용", + "BTN_SERVER_CUSTOM": "사용자 정의", + "BTN_SERVER_CUSTOM_TOOLTIP": "자체 호스팅 서버에 연결", + "PLACEHOLDER_SERVER_URL": "wss://your-server:3000", + "LABEL_ROOM_ID": "방 ID", + "LABEL_ROOM_ID_TOOLTIP": "동기화 방의 고유 식별자", + "PLACEHOLDER_ROOM_ID": "방 ID 입력", + "PLACEHOLDER_ROOM_ID_TOOLTIP": "참여하려는 방의 고유 ID", + "LABEL_PASSWORD": "비밀번호 (선택사항)", + "LABEL_PASSWORD_TOOLTIP": "방 액세스를 제한하기 위한 선택적 비밀번호", + "PLACEHOLDER_PASSWORD": "방 비밀번호 (선택사항)", + "PLACEHOLDER_PASSWORD_TOOLTIP": "방 비밀번호 (없으면 비워둠)", + "BTN_JOIN_ROOM": "방 참여 / 만들기", + "BTN_JOIN_ROOM_TOOLTIP": "방에 연결", + "LABEL_PUBLIC_ROOMS": "공개 방", + "LABEL_PUBLIC_ROOMS_TOOLTIP": "이 서버의 공개 방 목록", + "BTN_REFRESH": "Refreschi", + "BTN_REFRESH_TOOLTIP": "공개 방 목록 새로고침", + "PUBLIC_ROOMS_REFRESHING": "새로고침 중...", + "BTN_REFRESH_COOLDOWN": "{seconds}초 대기", + "BTN_REFRESH_COOLDOWN_TOOLTIP": "방 목록 새로고침 대기 중입니다. {seconds}초 후에 다시 시도하세요.", + "PUBLIC_ROOMS_REFRESHING_COOLDOWN": "공개 방 새로고침 중. {seconds}초 후 새로고침 가능.", + "LABEL_ACTIVE_ROOM": "활성 방", + "LABEL_ACTIVE_ROOM_TOOLTIP": "현재 연결된 방", + "ACTIVE_ROOM_NONE": "없음", + "ACTIVE_SERVER_OFFICIAL": "공식 서버", + "LABEL_INVITE_LINK": "초대 링크", + "LABEL_INVITE_LINK_TOOLTIP": "친구들이 참여할 수 있도록 이 링크를 공유하세요", + "LABEL_PEERS_IN_ROOM": "방의 참여자", + "LABEL_PEERS_IN_ROOM_TOOLTIP": "현재 이 방에 연결되어 있는 다른 사용자들", + "NO_PEERS_CONNECTED": "연결된 참여자가 없습니다", + "BTN_LEAVE_ROOM": "방 나가기", + "LABEL_SELECT_VIDEO": "비디오 선택", + "LABEL_SELECT_VIDEO_TOOLTIP": "동기화할 비디오가 포함된 브라우저 탭을 선택하세요", + "OPTION_SELECT_TAB": "-- 탭 선택 --", + "LABEL_REMOTE_CONTROL": "원격 제어", + "BTN_COPY_INVITE": "📋 초대 링크", + "BTN_COPY_INVITE_TOOLTIP": "초대 링크 복사", + "BTN_PLAY": "▶ 재생", + "BTN_PLAY_TOOLTIP": "모든 사람에게 재생 명령 전송", + "BTN_PAUSE": "⏸ 일시정지", + "BTN_PAUSE_TOOLTIP": "모든 사람에게 일시정지 명령 전송", + "BTN_SYNC": "⚡ 동기화", + "BTN_SYNC_TOOLTIP": "모든 사용자의 강제 동기화", + "OPTION_JUMP_TO_OTHERS": "다른 사람에게 이동", + "OPTION_JUMP_TO_ME": "나에게 이동", + "OPTION_JUMP_MODE_TOOLTIP": "동기화 대상 선택", + "LABEL_LAST_ACTIVITY": "최근 활동 상태", + "LABEL_LAST_ACTIVITY_TOOLTIP": "가장 최근의 재생, 일시정지, 탐색 명령을 표시합니다", + "NO_RECENT_COMMANDS": "최근 명령 없음", + "LOBBY_HEADER": "에피소드 로비", + "LOBBY_WAITING_FOR": "🎬 대기 중: \"{title}\"", + "LOBBY_WAITING_PEERS": "참여자 대기 중...", + "BTN_SKIP_PLAY": "건너뛰고 재생", + "BTN_SKIP_PLAY_TOOLTIP": "로비를 취소하고 재생합니다", + "LOBBY_CONNECT_FIRST": "먼저 방에 연결하세요", + "LOBBY_CONNECT_FIRST_DESC": "비디오를 동기화하려면 초대 링크를 통해 방에 참여하거나 새 방을 만들어야 합니다.", + "BTN_CREATE_ROOM_ALT": "새 방 만들기", + "BTN_CREATE_ROOM_ALT_TOOLTIP": "새로운 무작위 방을 만들고 참여", + "LABEL_USERNAME": "사용자 이름", + "LABEL_USERNAME_TOOLTIP": "사용자 이름은 다른 사람들이 귀하를 식별하는 데 도움이 됩니다.", + "PLACEHOLDER_USERNAME": "익명의 코알라", + "LABEL_HIDE_CLUTTER": "복잡한 탭 숨기기", + "LABEL_HIDE_CLUTTER_TOOLTIP": "목록을 깔끔하게 유지하기 위해 비디오가 없는 탭과 관련 없는 도메인을 필터링합니다", + "LABEL_AUTO_SYNC_NEXT": "다음 에피소드 자동 동기화", + "LABEL_AUTO_SYNC_NEXT_TOOLTIP": "에피소드가 변경되면 자동으로 일시정지하고 모든 참여자를 기다린 후 함께 동기화하여 시작합니다.", + "LABEL_AUTO_COPY_INVITE": "초대 링크 자동 복사", + "LABEL_AUTO_COPY_INVITE_TOOLTIP": "새 방을 만들 때 초대 링크를 클립보드에 자동으로 복사합니다.", + "LABEL_NOTIFICATIONS": "브라우저 알림", + "LABEL_NOTIFICATIONS_TOOLTIP": "누군가 참여/퇴장하거나 재생/일시정지할 때 시스템 알림을 표시합니다.", + "LABEL_LANGUAGE": "앱 언어", + "LABEL_LANGUAGE_TOOLTIP": "선호하는 확장 프로그램 언어를 선택하세요", + "LABEL_TROUBLESHOOTING": "문제 해결", + "LABEL_TROUBLESHOOTING_TOOLTIP": "연결 문제 해결을 위한 도구", + "BTN_REGEN_ID": "피어 ID 재생성", + "BTN_REGEN_ID_TOOLTIP": "내부 ID를 재생성하고 다시 연결합니다", + "REGEN_ID_DESC": "\"중복된 ID\" 오류가 발생할 경우에 사용하세요.", + "LABEL_CONN_STATUS": "연결 상태", + "LABEL_CONN_STATUS_TOOLTIP": "현재 WebSocket 연결 상태", + "CONN_STATUS_DISCONNECTED": "연결 끊김", + "BTN_RETRY": "재시도", + "BTN_RETRY_TOOLTIP": "서버에 재연결 시도", + "BTN_COPY_LOGS": "로그 복사", + "BTN_COPY_LOGS_TOOLTIP": "공유를 위해 로그를 클립보드에 복사", + "LABEL_VIDEO_DEBUG": "비디오 디버그 정보", + "LABEL_VIDEO_DEBUG_TOOLTIP": "현재 선택된 비디오 요소에 대한 기술적 세부 정보", + "VIDEO_DEBUG_EMPTY": "선택된 탭이 없거나 비디오가 감지되지 않았습니다.", + "LABEL_HISTORY": "전체 작업 내역", + "LABEL_HISTORY_TOOLTIP": "방 내 모든 동기화 명령의 시간순 로그", + "HISTORY_EMPTY": "활동 없음", + "LABEL_LOGS": "로그 (최근 50개)", + "LABEL_LOGS_TOOLTIP": "디버깅용 기술 연결 로그", + "BTN_CLEAR": "지우기", + "BTN_CLEAR_TOOLTIP": "로그 출력 지우기", + "LABEL_GITHUB": "GitHub 저장소", + "BTN_ONBOARDING_SKIP": "건너뛰기", + "BTN_ONBOARDING_SKIP_TOOLTIP": "튜토리얼 건너뛰기", + "BTN_ONBOARDING_NEXT": "다음", + "BTN_ONBOARDING_NEXT_TOOLTIP": "다음 단계로 이동", + "ONBOARDING_1_TITLE": "KoalaSync에 오신 것을 환영합니다!", + "ONBOARDING_1_TEXT": "어디에 있든 완벽하게 동기화된 비디오를 함께 시청하세요. 간단히 둘러볼까요!", + "ONBOARDING_2_TITLE": "1. 방 만들기", + "ONBOARDING_2_TEXT": "여기서 시작하세요. 방을 만들고 친구들에게 초대 링크를 공유하세요.", + "ONBOARDING_3_TITLE": "2. 비디오 선택", + "ONBOARDING_3_TEXT": "동기화할 비디오를 선택하려면 여기로 이동하세요. 재생, 일시정지, 탐색이 모든 참여자에게 동기화됩니다.", + "ONBOARDING_4_TITLE": "3. 개인화", + "ONBOARDING_4_TEXT": "친구들이 나를 알아볼 수 있도록 재미있는 사용자 이름을 골라보세요.", + "ONBOARDING_5_TITLE": "모든 준비가 끝났습니다!", + "ONBOARDING_5_TEXT": "팝콘을 준비할 시간입니다. 함께 즐겁게 시청하세요!", + "ERR_CONN_TIMEOUT": "연결 시간이 초과되었습니다. 다시 시도해 주세요.", + "ERR_INVALID_SERVER_URL": "올바르지 않은 서버 URL 형식입니다.", + "ERR_IDENTITY_NOT_LOADED": "ID가 아직 로드되지 않았습니다. 잠시 후 다시 시도해 주세요.", + "ERR_NO_PEERS_TIME": "시간을 알고 있는 다른 피어가 없습니다. '나에게 이동'으로 전환하세요.", + "ERR_NO_VIDEO_TAB": "비디오 탭에 연결할 수 없습니다.", + "ERR_SELECT_VIDEO": "먼저 비디오를 선택하세요!", + "TOAST_INVITE_COPIED": "초대 링크가 복사되었습니다!", + "TOAST_COPY_FAILED": "클립보드 복사에 실패했습니다", + "TOAST_LOBBY_SKIPPED": "에피소드 로비를 건너뛰었습니다.", + "TOAST_LOBBY_SKIP_FAILED": "로비 건너뛰기에 실패했습니다.", + "TOAST_LOGS_COPIED": "복사됨!", + "TOAST_PEER_JOINED": "{name} 님이 방에 참여했습니다", + "TOAST_PEER_LEFT": "{name} 님이 방에서 나갔습니다", + "TOAST_PEER_ACTION": "{name} 님이 {action}", + "STATUS_CONNECTED": "연결됨", + "STATUS_RECONNECTING": "재연결 중...", + "STATUS_CONNECTING": "연kel 중...", + "STATUS_FAILED": "실패", + "STATUS_DISCONNECTED": "연결 끊김", + "BTN_STATE_JOINING": "🚀 참여 중...", + "BTN_STATE_RECONNECTING": "🔄 재연결 중...", + "BTN_STATE_PLAYING": "▶ 재생 중...", + "BTN_STATE_PAUSING": "⏸ 일시정지 중...", + "BTN_STATE_SYNCING_GROUP": "그룹에 동기화 중 ({time})...", + "BTN_STATE_SYNCING": "동기화 중...", + "BTN_STATE_SYNCED": "✅ 동기화됨!", + "NOTIF_PLAY": "재생을 시작했습니다", + "NOTIF_PAUSE": "재생을 일시정지했습니다", + "NOTIF_SEEK": "비디오를 탐색했습니다", + "NOTIF_FORCE_PREPARE": "강제 동기화를 시작했습니다", + "NOTIF_FORCE_EXECUTE": "모든 사용자를 동기화했습니다", + "DEBUG_NO_TAB": "대상 탭이 선택되지 않았습니다.", + "DEBUG_COMM_FAIL": "탭 비디오와 통신할 수 없습니다.", + "EMPTY_PEERS_TITLE": "참여자 없음", + "EMPTY_PEERS_HINT": "시작하려면 초대 링크를 공유하세요", + "EMPTY_HISTORY_TITLE": "활동 없음", + "EMPTY_HISTORY_HINT": "기록을 보려면 재생, 일시정지 또는 탐색을 해보세요", + "EMPTY_LOGS_TITLE": "로그 없음", + "EMPTY_LOGS_HINT": "연결 이벤트가 여기에 표시됩니다", + "EMPTY_ROOMS_TITLE": "활성 방 없음", + "EMPTY_ROOMS_HINT": "방을 만들거나 새로고침하여 공개 방을 찾으세요", + "LABEL_YOU": "나", + "ONBOARDING_DONE": "완료!", + "LABEL_LOBBY_PEER_READY": "준비", + "LABEL_LOBBY_PEER_LOADING": "로딩 중...", + "LABEL_PASSWORD_PROTECTED": "비밀번호 보호됨", + "LABEL_PEERS_COUNT": "{count}명", + "LABEL_CUSTOM_SERVER": "사용자 정의 서버", + "BTN_STATE_CREATING": "🚀 방 만드는 중...", + "NOTIF_LOBBY_CANCEL_TITLE": "KoalaSync — 에피소드 동기화 실패", + "NOTIF_LOBBY_CANCEL_MSG": "자동 동기화 취소됨: {reason}. 수동 동기화가 필요할 수 있습니다.", + "LOBBY_CANCEL_TIMEOUT": "시간 초과", + "LOBBY_CANCEL_TIMEOUT_RECOVERED": "시간 초과 (복구됨)", + "LOBBY_CANCEL_PEERS_LEFT": "다른 모든 피어가 나갔습니다", + "LOBBY_CANCEL_TIMEOUT_PEERS_LOAD": "시간 초과 — 모든 피어가 에피소드를 로드하지 못했습니다", + "LOBBY_CANCEL_USER": "사용자에 의해 취소됨", + "NOTIF_ERROR_TITLE": "KoalaSync 오류" +} \ No newline at end of file diff --git a/extension/locales/nl.json b/extension/locales/nl.json new file mode 100644 index 0000000..7aceaf3 --- /dev/null +++ b/extension/locales/nl.json @@ -0,0 +1,183 @@ +{ + "LANG_CODE": "nl", + "HTML_CLASS": "lang-nl", + "APP_TITLE": "KoalaSync", + "TAB_ROOM": "Kamer", + "TAB_ROOM_TOOLTIP": "Kamerinstellingen en verbinding", + "TAB_SYNC": "Sync", + "TAB_SYNC_TOOLTIP": "Videobeheer en externe acties", + "TAB_SETTINGS": "Instellingen", + "TAB_SETTINGS_TOOLTIP": "Extensievoorkeuren", + "TAB_STATUS": "Status", + "TAB_STATUS_TOOLTIP": "Geavanceerde diagnostische gegevens & logs", + "BTN_CREATE_ROOM": "+ Nieuwe kamer maken", + "MANUAL_CONNECT_HEADER": "Handmatig verbinden / Geavanceerd", + "LABEL_SERVER": "Server", + "BTN_SERVER_OFFICIAL": "Officieel", + "BTN_SERVER_OFFICIAL_TOOLTIP": "Gebruik de officiële betrouwbare server", + "BTN_SERVER_CUSTOM": "Aangepast", + "BTN_SERVER_CUSTOM_TOOLTIP": "Verbind met uw eigen gehoste server", + "PLACEHOLDER_SERVER_URL": "wss://uw-server:3000", + "LABEL_ROOM_ID": "Kamer-ID", + "LABEL_ROOM_ID_TOOLTIP": "De unieke identificatie voor uw synchronisatiekamer", + "PLACEHOLDER_ROOM_ID": "Voer kamer-ID in", + "PLACEHOLDER_ROOM_ID_TOOLTIP": "Het unieke ID van de kamer waar u aan wilt deelnemen", + "LABEL_PASSWORD": "Wachtwoord (optioneel)", + "LABEL_PASSWORD_TOOLTIP": "Optioneel wachtwoord om toegang tot de kamer te beperken", + "PLACEHOLDER_PASSWORD": "Kamerwachtwoord (optioneel)", + "PLACEHOLDER_PASSWORD_TOOLTIP": "Wachtwoord voor de kamer (leeg laten indien geen)", + "BTN_JOIN_ROOM": "Deelnemen / Kamer maken", + "BTN_JOIN_ROOM_TOOLTIP": "Verbinden met de kamer", + "LABEL_PUBLIC_ROOMS": "Openbare kamers", + "LABEL_PUBLIC_ROOMS_TOOLTIP": "Lijst met openbaar beschikbare kamers op deze server", + "BTN_REFRESH": "VERNIEUWEN", + "BTN_REFRESH_TOOLTIP": "Vernieuw de lijst met openbare kamers", + "PUBLIC_ROOMS_REFRESHING": "Vernieuwen...", + "BTN_REFRESH_COOLDOWN": "WACHT {seconds}s", + "BTN_REFRESH_COOLDOWN_TOOLTIP": "Vernieuwen van kamerlijst is aan het afkoelen. Probeer opnieuw in {seconds}s.", + "PUBLIC_ROOMS_REFRESHING_COOLDOWN": "Openbare kamers vernieuwen. Volgende verversing beschikbaar in {seconds}s.", + "LABEL_ACTIVE_ROOM": "Actieve kamer", + "LABEL_ACTIVE_ROOM_TOOLTIP": "De kamer waar u momenteel mee bent verbonden", + "ACTIVE_ROOM_NONE": "GEEN", + "ACTIVE_SERVER_OFFICIAL": "Officiële server", + "LABEL_INVITE_LINK": "Uitnodigingslink", + "LABEL_INVITE_LINK_TOOLTIP": "Deel deze link met vrienden zodat ze kunnen deelnemen", + "LABEL_PEERS_IN_ROOM": "Deelnemers in kamer", + "LABEL_PEERS_IN_ROOM_TOOLTIP": "Andere gebruikers die momenteel zijn verbonden met deze kamer", + "NO_PEERS_CONNECTED": "Geen deelnemers verbonden", + "BTN_LEAVE_ROOM": "Kamer verlaten", + "LABEL_SELECT_VIDEO": "Selecteer video", + "LABEL_SELECT_VIDEO_TOOLTIP": "Kies het browsertabblad met de video die u wilt synchroniseren", + "OPTION_SELECT_TAB": "-- Selecteer een tabblad --", + "LABEL_REMOTE_CONTROL": "Afstandsbediening", + "BTN_COPY_INVITE": "📋 Uitnodigingslink", + "BTN_COPY_INVITE_TOOLTIP": "Uitnodigingslink kopiëren", + "BTN_PLAY": "▶ Afspelen", + "BTN_PLAY_TOOLTIP": "Stuur een afspeelopdracht naar iedereen", + "BTN_PAUSE": "⏸ Pauzeren", + "BTN_PAUSE_TOOLTIP": "Stuur een pauzeeropdracht naar iedereen", + "BTN_SYNC": "⚡ SYNC", + "BTN_SYNC_TOOLTIP": "Dwing alle gebruikers om te synchroniseren", + "OPTION_JUMP_TO_OTHERS": "Spring naar anderen", + "OPTION_JUMP_TO_ME": "Spring naar mij", + "OPTION_JUMP_MODE_TOOLTIP": "Kies synchronisatiedoel", + "LABEL_LAST_ACTIVITY": "Laatste activiteitsstatus", + "LABEL_LAST_ACTIVITY_TOOLTIP": "Toont de meest recente afspeel-, pauzeer- of zoekopdracht", + "NO_RECENT_COMMANDS": "Geen recente commando's", + "LOBBY_HEADER": "EPISODE LOBBY", + "LOBBY_WAITING_FOR": "🎬 Wachten op: \"{title}\"", + "LOBBY_WAITING_PEERS": "Wachten op deelnemers...", + "BTN_SKIP_PLAY": "Overslaan & toch afspelen", + "BTN_SKIP_PLAY_TOOLTIP": "Lobby annuleren en toch afspelen", + "LOBBY_CONNECT_FIRST": "Verbind eerst met een kamer", + "LOBBY_CONNECT_FIRST_DESC": "U moet deelnemen aan een kamer via een uitnodigingslink of een nieuwe maken om video's te synchroniseren.", + "BTN_CREATE_ROOM_ALT": "Nieuwe kamer maken", + "BTN_CREATE_ROOM_ALT_TOOLTIP": "Maak een nieuwe willekeurige kamer en neem deel", + "LABEL_USERNAME": "Uw gebruikersnaam", + "LABEL_USERNAME_TOOLTIP": "Gebruikersnaam helpt anderen u te identificeren.", + "PLACEHOLDER_USERNAME": "Anonieme Koala", + "LABEL_HIDE_CLUTTER": "Overbodige tabbladen verbergen", + "LABEL_HIDE_CLUTTER_TOOLTIP": "Filtert tabbladen zonder video's en niet-gerelateerde domeinen om de lijst schoon te houden", + "LABEL_AUTO_SYNC_NEXT": "Volgende aflevering automatisch syncen", + "LABEL_AUTO_SYNC_NEXT_TOOLTIP": "Pauzeert automatisch en wacht op alle deelnemers wanneer een aflevering verandert, en start dan gezamenlijk gesynchroniseerd.", + "LABEL_AUTO_COPY_INVITE": "Uitnodigingslink automatisch kopiëren", + "LABEL_AUTO_COPY_INVITE_TOOLTIP": "Kopieert de uitnodigingslink automatisch naar uw klembord bij het maken van een nieuwe kamer.", + "LABEL_NOTIFICATIONS": "Browsernotificaties", + "LABEL_NOTIFICATIONS_TOOLTIP": "Toont systeemnotificaties wanneer iemand deelneemt/verlaat of afspeelt/pauzeert.", + "LABEL_LANGUAGE": "Taal app", + "LABEL_LANGUAGE_TOOLTIP": "Kies uw favoriete taal voor de extensie", + "LABEL_TROUBLESHOOTING": "Problemen oplossen", + "LABEL_TROUBLESHOOTING_TOOLTIP": "Hulpmiddelen voor het oplossen van verbindingsproblemen", + "BTN_REGEN_ID": "Peer-ID opnieuw genereren", + "BTN_REGEN_ID_TOOLTIP": "Genereer uw interne ID opnieuw en maak opnieuw verbinding", + "REGEN_ID_DESC": "Gebruik dit als u fouten ziet over 'Duplicate Identity'.", + "LABEL_CONN_STATUS": "Verbindingsstatus", + "LABEL_CONN_STATUS_TOOLTIP": "Huidige WebSocket-verbindingsstatus", + "CONN_STATUS_DISCONNECTED": "Verbinding verbroken", + "BTN_RETRY": "OPNIEUW PROBEREN", + "BTN_RETRY_TOOLTIP": "Proberen opnieuw verbinding te maken met de server", + "BTN_COPY_LOGS": "Logs kopiëren", + "BTN_COPY_LOGS_TOOLTIP": "Kopieer logboeken naar het klembord om te delen", + "LABEL_VIDEO_DEBUG": "Video-debuginfo", + "LABEL_VIDEO_DEBUG_TOOLTIP": "Technische details over het momenteel geselecteerde video-element", + "VIDEO_DEBUG_EMPTY": "Geen tabblad geselecteerd of video gedetecteerd.", + "LABEL_HISTORY": "Volledige actiegeschiedenis", + "LABEL_HISTORY_TOOLTIP": "Chronologisch logboek van alle synchronisatieopdrachten in de kamer", + "HISTORY_EMPTY": "Nog geen activiteit", + "LABEL_LOGS": "Logs (Laatste 50)", + "LABEL_LOGS_TOOLTIP": "Technische verbindingslogboeken voor debuggen", + "BTN_CLEAR": "WISSEN", + "BTN_CLEAR_TOOLTIP": "Logboekuitvoer wissen", + "LABEL_GITHUB": "GitHub-repository", + "BTN_ONBOARDING_SKIP": "Overslaan", + "BTN_ONBOARDING_SKIP_TOOLTIP": "Sla de tutorial over", + "BTN_ONBOARDING_NEXT": "Volgende", + "BTN_ONBOARDING_NEXT_TOOLTIP": "Ga naar de volgende stap", + "ONBOARDING_1_TITLE": "Welkom bij KoalaSync!", + "ONBOARDING_1_TEXT": "Bekijk video's samen in perfecte synchronisatie — waar u ook bent. Laten we een snelle rondleiding nemen!", + "ONBOARDING_2_TITLE": "1. Kamer maken", + "ONBOARDING_2_TEXT": "Begin hier. Maak een kamer en deel de uitnodigingslink met uw vrienden.", + "ONBOARDING_3_TITLE": "2. Selecteer video", + "ONBOARDING_3_TEXT": "Navigeer hiernaartoe om de video te selecteren die u wilt synchroniseren. Spelen, pauzeren en zoeken — iedereen blijft synchroon.", + "ONBOARDING_4_TITLE": "3. Personaliseren", + "ONBOARDING_4_TEXT": "Kies een leuke gebruikersnaam zodat uw vrienden weten wie u bent.", + "ONBOARDING_5_TITLE": "U bent er helemaal klaar voor!", + "ONBOARDING_5_TEXT": "Tijd voor popcorn. Veel plezier met samen kijken!", + "ERR_CONN_TIMEOUT": "Verbinding time-out. Probeer het opnieuw.", + "ERR_INVALID_SERVER_URL": "Ongeldig server URL-formaat.", + "ERR_IDENTITY_NOT_LOADED": "Identiteit nog niet geladen. Wacht een moment en probeer het opnieuw.", + "ERR_NO_PEERS_TIME": "Geen andere deelnemers met een bekende tijd. Schakel over naar 'Spring naar mij'.", + "ERR_NO_VIDEO_TAB": "Kon geen verbinding maken met videotabblad.", + "ERR_SELECT_VIDEO": "Selecteer eerst een video!", + "TOAST_INVITE_COPIED": "Uitnodigingslink gekopieerd!", + "TOAST_COPY_FAILED": "Kopiëren naar klembord mislukt", + "TOAST_LOBBY_SKIPPED": "Episode Lobby overgeslagen.", + "TOAST_LOBBY_SKIP_FAILED": "Lobby overslaan mislukt.", + "TOAST_LOGS_COPIED": "Gekopieerd!", + "TOAST_PEER_JOINED": "{name} neemt deel aan de kamer", + "TOAST_PEER_LEFT": "{name} heeft de kamer verlaten", + "TOAST_PEER_ACTION": "{name} {action}", + "STATUS_CONNECTED": "Verbonden", + "STATUS_RECONNECTING": "Opnieuw verbinden...", + "STATUS_CONNECTING": "Verbinden...", + "STATUS_FAILED": "Mislukt", + "STATUS_DISCONNECTED": "Verbinding verbroken", + "BTN_STATE_JOINING": "🚀 Deelnemen...", + "BTN_STATE_RECONNECTING": "🔄 Opnieuw verbinden...", + "BTN_STATE_PLAYING": "▶ Afspelen...", + "BTN_STATE_PAUSING": "⏸ Pauzeren...", + "BTN_STATE_SYNCING_GROUP": "Synchroniseren met groep ({time})...", + "BTN_STATE_SYNCING": "Synchroniseren...", + "BTN_STATE_SYNCED": "✅ Gesynchroniseerd!", + "NOTIF_PLAY": "is begonnen met afspelen", + "NOTIF_PAUSE": "heeft afspelen gepauzeerd", + "NOTIF_SEEK": "heeft de video gespoeld", + "NOTIF_FORCE_PREPARE": "is een geforceerde sync gestart", + "NOTIF_FORCE_EXECUTE": "heeft iedereen gesynchroniseerd", + "DEBUG_NO_TAB": "Geen doeltabblad geselecteerd.", + "DEBUG_COMM_FAIL": "Kon niet cmmuniceren met de videotab.", + "EMPTY_PEERS_TITLE": "Nog geen deelnemers", + "EMPTY_PEERS_HINT": "Deel uw uitnodigingslink om te beginnen", + "EMPTY_HISTORY_TITLE": "Nog geen activiteit", + "EMPTY_HISTORY_HINT": "Speel af, pauzeer of spoel om geschiedenis te zien", + "EMPTY_LOGS_TITLE": "Geen logs", + "EMPTY_LOGS_HINT": "Verbindingsgebeurtenissen verschijnen hier", + "EMPTY_ROOMS_TITLE": "Geen actieve kamers", + "EMPTY_ROOMS_HINT": "Maak een kamer of vernieuw om openbare te vinden", + "LABEL_YOU": "Jij", + "ONBOARDING_DONE": "Klaar!", + "LABEL_LOBBY_PEER_READY": "Gereed", + "LABEL_LOBBY_PEER_LOADING": "Laden...", + "LABEL_PASSWORD_PROTECTED": "Wachtwoord beveiligd", + "LABEL_PEERS_COUNT": "{count} deelnemers", + "LABEL_CUSTOM_SERVER": "Aangepaste server", + "BTN_STATE_CREATING": "🚀 Kamer maken...", + "NOTIF_LOBBY_CANCEL_TITLE": "KoalaSync — Episode Sync mislukt", + "NOTIF_LOBBY_CANCEL_MSG": "Auto-sync geannuleerd: {reason}. Mogelijk moet u handmatig synchroniseren.", + "LOBBY_CANCEL_TIMEOUT": "Time-out", + "LOBBY_CANCEL_TIMEOUT_RECOVERED": "Time-out (hersteld)", + "LOBBY_CANCEL_PEERS_LEFT": "Alle andere deelnemers zijn vertrokken", + "LOBBY_CANCEL_TIMEOUT_PEERS_LOAD": "Time-out — niet alle deelnemers hebben de aflevering geladen", + "LOBBY_CANCEL_USER": "Geannuleerd door gebruiker", + "NOTIF_ERROR_TITLE": "KoalaSync-fout" +} \ No newline at end of file diff --git a/extension/locales/pl.json b/extension/locales/pl.json new file mode 100644 index 0000000..61eee14 --- /dev/null +++ b/extension/locales/pl.json @@ -0,0 +1,183 @@ +{ + "LANG_CODE": "pl", + "HTML_CLASS": "lang-pl", + "APP_TITLE": "KoalaSync", + "TAB_ROOM": "Pokój", + "TAB_ROOM_TOOLTIP": "Ustawienia pokoju i połączenie", + "TAB_SYNC": "Sync", + "TAB_SYNC_TOOLTIP": "Sterowanie synchronizacją wideo i zdalne akcje", + "TAB_SETTINGS": "Ustawienia", + "TAB_SETTINGS_TOOLTIP": "Preferencje rozszerzenia", + "TAB_STATUS": "Status", + "TAB_STATUS_TOOLTIP": "Zaawansowana diagnostyka i logi", + "BTN_CREATE_ROOM": "+ Utwórz nowy pokój", + "MANUAL_CONNECT_HEADER": "Połączenie ręczne / Zaawansowane", + "LABEL_SERVER": "Serwer", + "BTN_SERVER_OFFICIAL": "Oficjalny", + "BTN_SERVER_OFFICIAL_TOOLTIP": "Użyj oficjalnego, niezawodnego serwera", + "BTN_SERVER_CUSTOM": "Własny", + "BTN_SERVER_CUSTOM_TOOLTIP": "Połącz się z własnym serwerem", + "PLACEHOLDER_SERVER_URL": "wss://twoj-serwer:3000", + "LABEL_ROOM_ID": "ID pokoju", + "LABEL_ROOM_ID_TOOLTIP": "Unikalny identyfikator pokoju synchronizacji", + "PLACEHOLDER_ROOM_ID": "Wpisz ID pokoju", + "PLACEHOLDER_ROOM_ID_TOOLTIP": "Unikalny identyfikator pokoju, do którego chcesz dołączyć", + "LABEL_PASSWORD": "Hasło (opcjonalnie)", + "LABEL_PASSWORD_TOOLTIP": "Opcjonalne hasło ograniczające dostęp do pokoju", + "PLACEHOLDER_PASSWORD": "Hasło pokoju (opcjonalnie)", + "PLACEHOLDER_PASSWORD_TOOLTIP": "Hasło do pokoju (pozostaw puste, jeśli brak)", + "BTN_JOIN_ROOM": "Dołącz / Utwórz pokój", + "BTN_JOIN_ROOM_TOOLTIP": "Połącz z pokojem", + "LABEL_PUBLIC_ROOMS": "Pokoje publiczne", + "LABEL_PUBLIC_ROOMS_TOOLTIP": "Lista publicznie dostępnych pokoi na tym serwerze", + "BTN_REFRESH": "ODŚWIEŻ", + "BTN_REFRESH_TOOLTIP": "Odśwież listę pokoi publicznych", + "PUBLIC_ROOMS_REFRESHING": "Odświeżanie...", + "BTN_REFRESH_COOLDOWN": "CZEKAJ {seconds}s", + "BTN_REFRESH_COOLDOWN_TOOLTIP": "Odświeżanie listy pokoi stygnie. Spróbuj ponownie za {seconds}s.", + "PUBLIC_ROOMS_REFRESHING_COOLDOWN": "Odświeżanie pokoi publicznych. Następne odświeżenie za {seconds}s.", + "LABEL_ACTIVE_ROOM": "Aktywny pokój", + "LABEL_ACTIVE_ROOM_TOOLTIP": "Pokój, z którym jesteś aktualnie połączony", + "ACTIVE_ROOM_NONE": "BRAK", + "ACTIVE_SERVER_OFFICIAL": "Oficjalny serwer", + "LABEL_INVITE_LINK": "Link do zaproszenia", + "LABEL_INVITE_LINK_TOOLTIP": "Udostępnij ten link znajomym, aby mogli dołączyć", + "LABEL_PEERS_IN_ROOM": "Uczestnicy w pokoju", + "LABEL_PEERS_IN_ROOM_TOOLTIP": "Inni użytkownicy aktualnie połączeni z tym pokojem", + "NO_PEERS_CONNECTED": "Brak połączonych uczestników", + "BTN_LEAVE_ROOM": "Opuść pokój", + "LABEL_SELECT_VIDEO": "Wybierz wideo", + "LABEL_SELECT_VIDEO_TOOLTIP": "Wybierz kartę przeglądarki zawierającą wideo do synchronizacji", + "OPTION_SELECT_TAB": "-- Wybierz kartę --", + "LABEL_REMOTE_CONTROL": "Zdalne sterowanie", + "BTN_COPY_INVITE": "📋 Link do zaproszenia", + "BTN_COPY_INVITE_TOOLTIP": "Kopiuj link zaproszenia", + "BTN_PLAY": "▶ Odtwórz", + "BTN_PLAY_TOOLTIP": "Wyślij polecenie odtwarzania do wszystkich", + "BTN_PAUSE": "⏸ Pauza", + "BTN_PAUSE_TOOLTIP": "Wyślij polecenie pauzy do wszystkich", + "BTN_SYNC": "⚡ SYNC", + "BTN_SYNC_TOOLTIP": "Wymuś synchronizację wszystkich użytkowników", + "OPTION_JUMP_TO_OTHERS": "Skocz do innych", + "OPTION_JUMP_TO_ME": "Skocz do mnie", + "OPTION_JUMP_MODE_TOOLTIP": "Wybierz cel synchronizacji", + "LABEL_LAST_ACTIVITY": "Status ostatniej aktywności", + "LABEL_LAST_ACTIVITY_TOOLTIP": "Pokazuje najnowsze polecenie odtwarzania, pauzy lub przewijania", + "NO_RECENT_COMMANDS": "Brak ostatnich poleceń", + "LOBBY_HEADER": "LOBBY ODCINKA", + "LOBBY_WAITING_FOR": "🎬 Czekam na: \"{title}\"", + "LOBBY_WAITING_PEERS": "Oczekiwanie na uczestników...", + "BTN_SKIP_PLAY": "Pomiń i odtwórz mimo to", + "BTN_SKIP_PLAY_TOOLTIP": "Anuluj lobby i odtwórz mimo to", + "LOBBY_CONNECT_FIRST": "Najpierw połącz się z pokojem", + "LOBBY_CONNECT_FIRST_DESC": "Musisz dołączyć do pokoju przez link zaproszenia lub utworzyć nowy, aby synchronizować wideo.", + "BTN_CREATE_ROOM_ALT": "Utwórz nowy pokój", + "BTN_CREATE_ROOM_ALT_TOOLTIP": "Utwórz nowy losowy pokój i dołącz", + "LABEL_USERNAME": "Twoja nazwa użytkownika", + "LABEL_USERNAME_TOOLTIP": "Nazwa użytkownika pomaga innym Cię zidentyfikować.", + "PLACEHOLDER_USERNAME": "Anonimowy Koala", + "LABEL_HIDE_CLUTTER": "Ukryj zbędne karty", + "LABEL_HIDE_CLUTTER_TOOLTIP": "Filtruje karty bez wideo i niepowiązane domeny, aby zachować porządek", + "LABEL_AUTO_SYNC_NEXT": "Auto-sync następnego odcinka", + "LABEL_AUTO_SYNC_NEXT_TOOLTIP": "Automatycznie wstrzymuje i czeka na wszystkich uczestników po zmianie odcinka, a następnie uruchamia się wspólnie.", + "LABEL_AUTO_COPY_INVITE": "Auto-kopiowanie zaproszenia", + "LABEL_AUTO_COPY_INVITE_TOOLTIP": "Automatycznie kopiuje link zaproszenia do schowka po utworzeniu nowego pokoju.", + "LABEL_NOTIFICATIONS": "Powiadomienia przeglądarki", + "LABEL_NOTIFICATIONS_TOOLTIP": "Pokazuje natywne powiadomienia systemowe, gdy ktoś dołącza/odchodzi lub odtwarza/wstrzymuje.", + "LABEL_LANGUAGE": "Język aplikacji", + "LABEL_LANGUAGE_TOOLTIP": "Wybierz preferowany język rozszerzenia", + "LABEL_TROUBLESHOOTING": "Rozwiązywanie problemów", + "LABEL_TROUBLESHOOTING_TOOLTIP": "Narzędzia do rozwiązywania problemów z połączeniem", + "BTN_REGEN_ID": "Wygeneruj ponownie ID", + "BTN_REGEN_ID_TOOLTIP": "Wygeneruj ponownie swój identyfikator i połącz się ponownie", + "REGEN_ID_DESC": "Użyj tego, jeśli widzisz błędy o zduplikowanej tożsamości.", + "LABEL_CONN_STATUS": "Status połączenia", + "LABEL_CONN_STATUS_TOOLTIP": "Bieżący stan połączenia WebSocket", + "CONN_STATUS_DISCONNECTED": "Rozłączono", + "BTN_RETRY": "PONÓW", + "BTN_RETRY_TOOLTIP": "Próba ponownego połączenia z serwerem", + "BTN_COPY_LOGS": "Kopiuj logi", + "BTN_COPY_LOGS_TOOLTIP": "Kopiuj logi do schowka, aby je udostępnić", + "LABEL_VIDEO_DEBUG": "Info debugowania wideo", + "LABEL_VIDEO_DEBUG_TOOLTIP": "Szczegóły techniczne wybranego elementu wideo", + "VIDEO_DEBUG_EMPTY": "Nie wybrano karty ani nie wykryto wideo.", + "LABEL_HISTORY": "Pełna historia akcji", + "LABEL_HISTORY_TOOLTIP": "Chronologiczny rejestr wszystkich poleceń synchronizacji w pokoju", + "HISTORY_EMPTY": "Brak aktywności", + "LABEL_LOGS": "Logi (ostatnie 50)", + "LABEL_LOGS_TOOLTIP": "Logi połączenia technicznego do debugowania", + "BTN_CLEAR": "WYCZYŚĆ", + "BTN_CLEAR_TOOLTIP": "Wyczyść dane wyjściowe logów", + "LABEL_GITHUB": "Repozytorium GitHub", + "BTN_ONBOARDING_SKIP": "Pomiń", + "BTN_ONBOARDING_SKIP_TOOLTIP": "Pomiń samouczek", + "BTN_ONBOARDING_NEXT": "Dalej", + "BTN_ONBOARDING_NEXT_TOOLTIP": "Przejdź do następnego kroku", + "ONBOARDING_1_TITLE": "Witaj w KoalaSync!", + "ONBOARDING_1_TEXT": "Oglądaj filmy w idealnej synchronizacji — bez względu na to, gdzie jesteś. Zróbmy szybką wycieczkę!", + "ONBOARDING_2_TITLE": "1. Utwórz pokój", + "ONBOARDING_2_TEXT": "Zacznij tutaj. Utwórz pokój i udostępnij link zaproszenia znajomym.", + "ONBOARDING_3_TITLE": "2. Wybierz wideo", + "ONBOARDING_3_TEXT": "Przejdź tutaj, aby wybrać wideo, które chcesz synchronizować. Odtwarzaj, wstrzymuj i przewijaj — każdy pozostaje zsynchronizowany.", + "ONBOARDING_4_TITLE": "3. Personalizacja", + "ONBOARDING_4_TEXT": "Wybierz fajną nazwę użytkownika, aby znajomi wiedzieli, kim jesteś.", + "ONBOARDING_5_TITLE": "Wszystko gotowe!", + "ONBOARDING_5_TEXT": "Czas na popcorn. Miłego wspólnego oglądania!", + "ERR_CONN_TIMEOUT": "Przekroczono limit czasu połączenia. Spróbuj ponownie.", + "ERR_INVALID_SERVER_URL": "Nieprawidłowy format URL serwera.", + "ERR_IDENTITY_NOT_LOADED": "Tożsamość nie została jeszcze załadowana. Odczekaj chwilę i spróbuj ponownie.", + "ERR_NO_PEERS_TIME": "Brak innych uczestników ze znanym czasem. Przełącz na 'Skocz do mnie'.", + "ERR_NO_VIDEO_TAB": "Nie można połączyć się z kartą wideo.", + "ERR_SELECT_VIDEO": "Najpierw wybierz wideo!", + "TOAST_INVITE_COPIED": "Link zaproszenia skopiowany!", + "TOAST_COPY_FAILED": "Nie udało się skopiować do schowka", + "TOAST_LOBBY_SKIPPED": "Pominięto lobby odcinka.", + "TOAST_LOBBY_SKIP_FAILED": "Nie udało się pominąć lobby.", + "TOAST_LOGS_COPIED": "Skopiowano!", + "TOAST_PEER_JOINED": "{name} dołączył do pokoju", + "TOAST_PEER_LEFT": "{name} opuścił pokój", + "TOAST_PEER_ACTION": "{name} {action}", + "STATUS_CONNECTED": "Połączono", + "STATUS_RECONNECTING": "Ponowne łączenie...", + "STATUS_CONNECTING": "Łączenie...", + "STATUS_FAILED": "Nieudane", + "STATUS_DISCONNECTED": "Rozłączono", + "BTN_STATE_JOINING": "🚀 Dołączanie...", + "BTN_STATE_RECONNECTING": "🔄 Ponowne łączenie...", + "BTN_STATE_PLAYING": "▶ Odtwarzanie...", + "BTN_STATE_PAUSING": "⏸ Wstrzymywanie...", + "BTN_STATE_SYNCING_GROUP": "Synchronizacja do grupy ({time})...", + "BTN_STATE_SYNCING": "Synchronizacja...", + "BTN_STATE_SYNCED": "✅ Zsynchronizowano!", + "NOTIF_PLAY": "rozpoczął odtwarzanie", + "NOTIF_PAUSE": "wstrzymał odtwarzanie", + "NOTIF_SEEK": "przewinął wideo", + "NOTIF_FORCE_PREPARE": "wymusił synchronizację", + "NOTIF_FORCE_EXECUTE": "zsynchronizował wszystkich", + "DEBUG_NO_TAB": "Nie wybrano karty docelowej.", + "DEBUG_COMM_FAIL": "Nie można skomunikować się z wideo w karcie.", + "EMPTY_PEERS_TITLE": "Brak uczestników", + "EMPTY_PEERS_HINT": "Udostępnij link zaproszenia, aby rozpocząć", + "EMPTY_HISTORY_TITLE": "Brak aktywności", + "EMPTY_HISTORY_HINT": "Odtwórz, wstrzymaj lub przewiń, aby zobaczyć historię", + "EMPTY_LOGS_TITLE": "Brak logów", + "EMPTY_LOGS_HINT": "Zdarzenia połączenia pojawią się tutaj", + "EMPTY_ROOMS_TITLE": "Brak aktywnych pokoi", + "EMPTY_ROOMS_HINT": "Utwórz pokój lub odśwież, aby znaleźć publiczne", + "LABEL_YOU": "Ty", + "ONBOARDING_DONE": "Gotowe!", + "LABEL_LOBBY_PEER_READY": "Gotowy", + "LABEL_LOBBY_PEER_LOADING": "Ładowanie...", + "LABEL_PASSWORD_PROTECTED": "Chronione hasłem", + "LABEL_PEERS_COUNT": "{count} uczestników", + "LABEL_CUSTOM_SERVER": "Własny serwer", + "BTN_STATE_CREATING": "🚀 Tworzenie pokoju...", + "NOTIF_LOBBY_CANCEL_TITLE": "KoalaSync — Synchronizacja odcinka nieudana", + "NOTIF_LOBBY_CANCEL_MSG": "Auto-sync anulowane: {reason}. Może być konieczna ręczna synchronizacja.", + "LOBBY_CANCEL_TIMEOUT": "Limit czasu", + "LOBBY_CANCEL_TIMEOUT_RECOVERED": "Limit czasu (przywrócono)", + "LOBBY_CANCEL_PEERS_LEFT": "Wszyscy inni uczestnicy wyszli", + "LOBBY_CANCEL_TIMEOUT_PEERS_LOAD": "Limit czasu — nie wszyscy uczestnicy załadowali odcinek", + "LOBBY_CANCEL_USER": "Anulowane przez użytkownika", + "NOTIF_ERROR_TITLE": "Błąd KoalaSync" +} \ No newline at end of file diff --git a/extension/locales/pt.json b/extension/locales/pt.json new file mode 100644 index 0000000..b17a466 --- /dev/null +++ b/extension/locales/pt.json @@ -0,0 +1,183 @@ +{ + "LANG_CODE": "pt", + "HTML_CLASS": "lang-pt", + "APP_TITLE": "KoalaSync", + "TAB_ROOM": "Sala", + "TAB_ROOM_TOOLTIP": "Definições da sala e ligação", + "TAB_SYNC": "Sincronização", + "TAB_SYNC_TOOLTIP": "Controlo de sincronização de vídeo e ações remotas", + "TAB_SETTINGS": "Definições", + "TAB_SETTINGS_TOOLTIP": "Preferências da extensão", + "TAB_STATUS": "Estado", + "TAB_STATUS_TOOLTIP": "Diagnóstico avanzado e registos", + "BTN_CREATE_ROOM": "+ Criar Nova Sala", + "MANUAL_CONNECT_HEADER": "Ligação Manual / Avançado", + "LABEL_SERVER": "Servidor", + "BTN_SERVER_OFFICIAL": "Oficial", + "BTN_SERVER_OFFICIAL_TOOLTIP": "Usar o servidor oficial fiável", + "BTN_SERVER_CUSTOM": "Personalizado", + "BTN_SERVER_CUSTOM_TOOLTIP": "Ligar ao seu próprio servidor auto-hospedado", + "PLACEHOLDER_SERVER_URL": "wss://o-seu-servidor:3000", + "LABEL_ROOM_ID": "ID da Sala", + "LABEL_ROOM_ID_TOOLTIP": "O identificador exclusivo para a sua sala de sincronização", + "PLACEHOLDER_ROOM_ID": "Introduzir ID da Sala", + "PLACEHOLDER_ROOM_ID_TOOLTIP": "O ID exclusivo da sala à qual deseja aderir", + "LABEL_PASSWORD": "Palavra-passe (Opcional)", + "LABEL_PASSWORD_TOOLTIP": "Palavra-passe opcional para restringir o acesso à sala", + "PLACEHOLDER_PASSWORD": "Palavra-passe da sala (opcional)", + "PLACEHOLDER_PASSWORD_TOOLTIP": "Palavra-passe para la sala (deixar em branco se não houver)", + "BTN_JOIN_ROOM": "Entrar / Criar Sala", + "BTN_JOIN_ROOM_TOOLTIP": "Ligar à sala", + "LABEL_PUBLIC_ROOMS": "Salas Públicas", + "LABEL_PUBLIC_ROOMS_TOOLTIP": "Lista de salas públicas disponíveis neste servidor", + "BTN_REFRESH": "ATUALIZAR", + "BTN_REFRESH_TOOLTIP": "Atualizar a lista de salas públicas", + "PUBLIC_ROOMS_REFRESHING": "A atualizar...", + "BTN_REFRESH_COOLDOWN": "AGUARDE {seconds}s", + "BTN_REFRESH_COOLDOWN_TOOLTIP": "A atualização da lista de salas está em espera. Tente novamente em {seconds}s.", + "PUBLIC_ROOMS_REFRESHING_COOLDOWN": "A atualizar salas públicas. Próxima atualização disponível em {seconds}s.", + "LABEL_ACTIVE_ROOM": "Sala Ativa", + "LABEL_ACTIVE_ROOM_TOOLTIP": "A sala à qual está atualmente ligado", + "ACTIVE_ROOM_NONE": "NENHUMA", + "ACTIVE_SERVER_OFFICIAL": "Servidor Oficial", + "LABEL_INVITE_LINK": "Link de Invito", + "LABEL_INVITE_LINK_TOOLTIP": "Partilhar este link com os amigos para que possam entrar", + "LABEL_PEERS_IN_ROOM": "Participantes na Sala", + "LABEL_PEERS_IN_ROOM_TOOLTIP": "Outros utilizadores attualmente ligados a questa sala", + "NO_PEERS_CONNECTED": "Nenhum partecipante ligado", + "BTN_LEAVE_ROOM": "Sair della Sala", + "LABEL_SELECT_VIDEO": "Selecionar Vídeo", + "LABEL_SELECT_VIDEO_TOOLTIP": "Escolher o separador do navegador que contém o vídeo a sincronizar", + "OPTION_SELECT_TAB": "-- Selecionar um Separador --", + "LABEL_REMOTE_CONTROL": "Controlo Remoto", + "BTN_COPY_INVITE": "📋 Link de Invito", + "BTN_COPY_INVITE_TOOLTIP": "Copiar Link de Invito", + "BTN_PLAY": "▶ Reproduzir", + "BTN_PLAY_TOOLTIP": "Enviar um comando de Reproduzir para todos", + "BTN_PAUSE": "⏸ Pausa", + "BTN_PAUSE_TOOLTIP": "Enviar um comando de Pausa para todos", + "BTN_SYNC": "⚡ SYNC", + "BTN_SYNC_TOOLTIP": "Forçar todos os utilizadores a sincronizarem-se", + "OPTION_JUMP_TO_OTHERS": "Ir para os Outros", + "OPTION_JUMP_TO_ME": "Ir para Mim", + "OPTION_JUMP_MODE_TOOLTIP": "Escolher o destino de sincronização", + "LABEL_LAST_ACTIVITY": "Estado da Última Atividade", + "LABEL_LAST_ACTIVITY_TOOLTIP": "Mostra o comando mais recente de reproduzir, pausa ou busca", + "NO_RECENT_COMMANDS": "Nenhum comando recente", + "LOBBY_HEADER": "LOBBY DE EPISÓDIO", + "LOBBY_WAITING_FOR": "🎬 A aguardar: \"{title}\"", + "LOBBY_WAITING_PEERS": "A aguardar participantes...", + "BTN_SKIP_PLAY": "Ignorar e reproduzir mesmo assim", + "BTN_SKIP_PLAY_TOOLTIP": "Cancelar o lobby e reproduzir mesmo assim", + "LOBBY_CONNECT_FIRST": "Ligar-se primeiro a uma sala", + "LOBBY_CONNECT_FIRST_DESC": "Precisa de entrar numa sala através de um link de convite ou criar uma nova para sincronizar vídeos.", + "BTN_CREATE_ROOM_ALT": "Criar Nova Sala", + "BTN_CREATE_ROOM_ALT_TOOLTIP": "Criar uma nova sala aleatória e entrar nela", + "LABEL_USERNAME": "O seu Nome de Utilizador", + "LABEL_USERNAME_TOOLTIP": "O nome de utilizador ajuda os outros a identificá-lo.", + "PLACEHOLDER_USERNAME": "Coala Anónimo", + "LABEL_HIDE_CLUTTER": "Ocultar Separadores Desnecessários", + "LABEL_HIDE_CLUTTER_TOOLTIP": "Filtra separadores sem vídeo e domínios não relacionados para manter a lista limpa", + "LABEL_AUTO_SYNC_NEXT": "Sincronização Automática do Próximo Episódio", + "LABEL_AUTO_SYNC_NEXT_TOOLTIP": "Pausa automaticamente e aguarda por todos os participantes quando um episódio muda, iniciando depois a reprodução em sincronia.", + "LABEL_AUTO_COPY_INVITE": "Copiar Automaticamente o Link de Convite", + "LABEL_AUTO_COPY_INVITE_TOOLTIP": "Copia automaticamente o link de convite para a área de transferência ao criar uma nova sala.", + "LABEL_NOTIFICATIONS": "Notificações do Navegador", + "LABEL_NOTIFICATIONS_TOOLTIP": "Mostra notificações do sistema quando alguém entra/sai ou reproduz/pausa.", + "LABEL_LANGUAGE": "Idioma da App", + "LABEL_LANGUAGE_TOOLTIP": "Escolha o seu idioma de preferência para a extensão", + "LABEL_TROUBLESHOOTING": "Resolução de Problemas", + "LABEL_TROUBLESHOOTING_TOOLTIP": "Ferramentas para corrigir problemas de ligação", + "BTN_REGEN_ID": "Regerar ID do Peer", + "BTN_REGEN_ID_TOOLTIP": "Regerar o seu ID interno e voltar a ligar", + "REGEN_ID_DESC": "Use isto se vir erros de \"Identidade Duplicata\".", + "LABEL_CONN_STATUS": "Estado da Ligação", + "LABEL_CONN_STATUS_TOOLTIP": "Estado atual da ligação WebSocket", + "CONN_STATUS_DISCONNECTED": "Desligado", + "BTN_RETRY": "TENTAR NOVAMENTE", + "BTN_RETRY_TOOLTIP": "Tentar voltar a ligar ao servidor", + "BTN_COPY_LOGS": "Copiar Registos", + "BTN_COPY_LOGS_TOOLTIP": "Copiar registos para a área de transferência para partilha", + "LABEL_VIDEO_DEBUG": "Info de Debug de Vídeo", + "LABEL_VIDEO_DEBUG_TOOLTIP": "Detalhes técnicos sobre o elemento de vídeo atualmente seleccionado", + "VIDEO_DEBUG_EMPTY": "Nenhum separador selecionado ou vídeo detetado.", + "LABEL_HISTORY": "Histórico Completo de Ações", + "LABEL_HISTORY_TOOLTIP": "Registo cronológico de todos os comandos de sincronização na sala", + "HISTORY_EMPTY": "Nenhuma atividade ainda", + "LABEL_LOGS": "Registos (Últimos 50)", + "LABEL_LOGS_TOOLTIP": "Registos de ligação técnica para depuração", + "BTN_CLEAR": "LIMPAR", + "BTN_CLEAR_TOOLTIP": "Limpar a saída do registo", + "LABEL_GITHUB": "Repositório GitHub", + "BTN_ONBOARDING_SKIP": "Saltar", + "BTN_ONBOARDING_SKIP_TOOLTIP": "Saltar o tutorial", + "BTN_ONBOARDING_NEXT": "Seguinte", + "BTN_ONBOARDING_NEXT_TOOLTIP": "Ir para o passo seguinte", + "ONBOARDING_1_TITLE": "Bem-vindo ao KoalaSync!", + "ONBOARDING_1_TEXT": "Veja vídeos em conjunto numa sincronizzazione perfetta — não importa onde esteja. Vamos fare uma breve visita guiada!", + "ONBOARDING_2_TITLE": "1. Criar uma Sala", + "ONBOARDING_2_TEXT": "Comece aqui. Crie uma sala e partilhe o link de convite com os seus amigos.", + "ONBOARDING_3_TITLE": "2. Selecionar Vídeo", + "ONBOARDING_3_TEXT": "Navegue até aqui para selecionar o vídeo que deseja sincronizar. Reproduza, pause e avance — todos ficam em sincronia.", + "ONBOARDING_4_TITLE": "3. Personalizar", + "ONBOARDING_4_TEXT": "Escolha um nome de utilizador divertido para que os seus amigos saibam quem você é.", + "ONBOARDING_5_TITLE": "Está tudo pronto!", + "ONBOARDING_5_TEXT": "Altura de ir buscar pipocas. Divirtam-se a ver juntos!", + "ERR_CONN_TIMEOUT": "Ligação expirada. Tente novamente.", + "ERR_INVALID_SERVER_URL": "Formato de URL do Servidor inválido.", + "ERR_IDENTITY_NOT_LOADED": "Identidade ainda não carregada. Aguarde um momento e tente novamente.", + "ERR_NO_PEERS_TIME": "Nenhum outro peer com hora conhecida. Mude para 'Ir para Mim'.", + "ERR_NO_VIDEO_TAB": "Não foi possível ligar ao separador do vídeo.", + "ERR_SELECT_VIDEO": "Selecione primeiro um vídeo!", + "TOAST_INVITE_COPIED": "Link de convite copiado!", + "TOAST_COPY_FAILED": "Falha ao copiar para a área de transferência", + "TOAST_LOBBY_SKIPPED": "Lobby do episódio ignorado.", + "TOAST_LOBBY_SKIP_FAILED": "Falha ao ignorar o lobby.", + "TOAST_LOGS_COPIED": "Copiado!", + "TOAST_PEER_JOINED": "{name} entrou na sala", + "TOAST_PEER_LEFT": "{name} saiu da sala", + "TOAST_PEER_ACTION": "{name} {action}", + "STATUS_CONNECTED": "Ligado", + "STATUS_RECONNECTING": "A voltar a ligar...", + "STATUS_CONNECTING": "A ligar...", + "STATUS_FAILED": "Falhou", + "STATUS_DISCONNECTED": "Desligado", + "BTN_STATE_JOINING": "🚀 A entrar...", + "BTN_STATE_RECONNECTING": "🔄 A voltar a ligar...", + "BTN_STATE_PLAYING": "▶ A reproduzir...", + "BTN_STATE_PAUSING": "⏸ A pausar...", + "BTN_STATE_SYNCING_GROUP": "A sincronizar com o grupo ({time})....", + "BTN_STATE_SYNCING": "A sincronizar...", + "BTN_STATE_SYNCED": "✅ Sincronizado!", + "NOTIF_PLAY": "iniciou a reprodução", + "NOTIF_PAUSE": "pausou a reprodução", + "NOTIF_SEEK": "avançou/recuou no vídeo", + "NOTIF_FORCE_PREPARE": "iniciou a sincronização forçada", + "NOTIF_FORCE_EXECUTE": "sincronizou todos", + "DEBUG_NO_TAB": "Nenhum separador de destino selecionado.", + "DEBUG_COMM_FAIL": "Não foi possível comunicar com o vídeo do separador.", + "EMPTY_PEERS_TITLE": "Nenhum participante ainda", + "EMPTY_PEERS_HINT": "Partilhe o seu link de convite para começar", + "EMPTY_HISTORY_TITLE": "Nenhuma atividade ainda", + "EMPTY_HISTORY_HINT": "Reproduza, pause ou avance para ver o histórico", + "EMPTY_LOGS_TITLE": "Nenhum registo", + "EMPTY_LOGS_HINT": "Os eventi de ligação vão aparecer aqui", + "EMPTY_ROOMS_TITLE": "Nenhuma sala ativa", + "EMPTY_ROOMS_HINT": "Crie uma sala ou atualize para encontrar salas públicas", + "LABEL_YOU": "Tu", + "ONBOARDING_DONE": "Concluído!", + "LABEL_LOBBY_PEER_READY": "Pronto", + "LABEL_LOBBY_PEER_LOADING": "A carregar...", + "LABEL_PASSWORD_PROTECTED": "Protegido por Palavra-passe", + "LABEL_PEERS_COUNT": "{count} participantes", + "LABEL_CUSTOM_SERVER": "Servidor Personalizado", + "BTN_STATE_CREATING": "🚀 A Criar Sala...", + "NOTIF_LOBBY_CANCEL_TITLE": "KoalaSync — Sincronização do Episódio Falhou", + "NOTIF_LOBBY_CANCEL_MSG": "Sincronização automática cancelada: {reason}. Pode ter de sincronizar manualmente.", + "LOBBY_CANCEL_TIMEOUT": "Timeout", + "LOBBY_CANCEL_TIMEOUT_RECOVERED": "Timeout (recuperado)", + "LOBBY_CANCEL_PEERS_LEFT": "Todos os outros participantes saíram", + "LOBBY_CANCEL_TIMEOUT_PEERS_LOAD": "Timeout — nem todos os participantes carregaram o episódio", + "LOBBY_CANCEL_USER": "Cancelado pelo utilizador", + "NOTIF_ERROR_TITLE": "Erro do KoalaSync" +} \ No newline at end of file diff --git a/extension/locales/tr.json b/extension/locales/tr.json new file mode 100644 index 0000000..fdd63a6 --- /dev/null +++ b/extension/locales/tr.json @@ -0,0 +1,183 @@ +{ + "LANG_CODE": "tr", + "HTML_CLASS": "lang-tr", + "APP_TITLE": "KoalaSync", + "TAB_ROOM": "Oda", + "TAB_ROOM_TOOLTIP": "Oda ayarları ve bağlantı", + "TAB_SYNC": "Senkronizasyon", + "TAB_SYNC_TOOLTIP": "Video senkronizasyon kontrolleri ve uzaktan işlemler", + "TAB_SETTINGS": "Ayarlar", + "TAB_SETTINGS_TOOLTIP": "Eklenti tercihleri", + "TAB_STATUS": "Durum", + "TAB_STATUS_TOOLTIP": "Gelişmiş Teşhis ve Günlükler", + "BTN_CREATE_ROOM": "+ Yeni Oda Oluştur", + "MANUAL_CONNECT_HEADER": "Manuel Bağlantı / Gelişmiş", + "LABEL_SERVER": "Sunucu", + "BTN_SERVER_OFFICIAL": "Resmi", + "BTN_SERVER_OFFICIAL_TOOLTIP": "Resmi güvenilir sunucuyu kullanın", + "BTN_SERVER_CUSTOM": "Özel", + "BTN_SERVER_CUSTOM_TOOLTIP": "Kendi barındırdığınız sunucuya bağlanın", + "PLACEHOLDER_SERVER_URL": "wss://sunucunuz:3000", + "LABEL_ROOM_ID": "Oda Kimliği", + "LABEL_ROOM_ID_TOOLTIP": "Senkronizasyon odanız için benzersiz kimlik", + "PLACEHOLDER_ROOM_ID": "Oda Kimliğini Girin", + "PLACEHOLDER_ROOM_ID_TOOLTIP": "Katılmak istediğiniz odanın benzersiz kimliği", + "LABEL_PASSWORD": "Şifre (İsteğe Bağlı)", + "LABEL_PASSWORD_TOOLTIP": "Oda erişimini kısıtlamak için isteğe bağlı şifre", + "PLACEHOLDER_PASSWORD": "Oda Şifresi (isteğe bağlı)", + "PLACEHOLDER_PASSWORD_TOOLTIP": "Oda şifresi (yoksa boş bırakın)", + "BTN_JOIN_ROOM": "Odaya Katıl / Oluştur", + "BTN_JOIN_ROOM_TOOLTIP": "Odaya bağlan", + "LABEL_PUBLIC_ROOMS": "Açık Odalar", + "LABEL_PUBLIC_ROOMS_TOOLTIP": "Bu sunucuda herkese açık odaların listesi", + "BTN_REFRESH": "YENİLE", + "BTN_REFRESH_TOOLTIP": "Genel odaların listesini yenile", + "PUBLIC_ROOMS_REFRESHING": "Yenileniyor...", + "BTN_REFRESH_COOLDOWN": "{seconds}sn BEKLE", + "BTN_REFRESH_COOLDOWN_TOOLTIP": "Oda listesi yenileme soğuyor. {seconds}sn sonra tekrar deneyin.", + "PUBLIC_ROOMS_REFRESHING_COOLDOWN": "Açık odalar yenileniyor. Bir sonraki yenileme {seconds}sn sonra yapılabilecek.", + "LABEL_ACTIVE_ROOM": "Aktif Oda", + "LABEL_ACTIVE_ROOM_TOOLTIP": "Şu anda bağlı olduğunuz oda", + "ACTIVE_ROOM_NONE": "YOK", + "ACTIVE_SERVER_OFFICIAL": "Resmi Sunucu", + "LABEL_INVITE_LINK": "Davet Linki", + "LABEL_INVITE_LINK_TOOLTIP": "Katılabilmeleri için bu bağlantıyı arkadaşlarınızla paylaşın", + "LABEL_PEERS_IN_ROOM": "Odadaki Kişiler", + "LABEL_PEERS_IN_ROOM_TOOLTIP": "Şu anda bu odaya bağlı olan diğer kullanıcılar", + "NO_PEERS_CONNECTED": "Bağlı kimse yok", + "BTN_LEAVE_ROOM": "Odadan Ayrıl", + "LABEL_SELECT_VIDEO": "Video Seç", + "LABEL_SELECT_VIDEO_TOOLTIP": "Senkronize edilecek videoyu içeren tarayıcı sekmesini seçin", + "OPTION_SELECT_TAB": "-- Bir Sekme Seçin --", + "LABEL_REMOTE_CONTROL": "Uzaktan Kumanda", + "BTN_COPY_INVITE": "📋 Davet Linki", + "BTN_COPY_INVITE_TOOLTIP": "Davet Linkini Kopyala", + "BTN_PLAY": "▶ Oynat", + "BTN_PLAY_TOOLTIP": "Herkese Oynat komutu gönder", + "BTN_PAUSE": "⏸ Duraklat", + "BTN_PAUSE_TOOLTIP": "Herkese Duraklat komutu gönder", + "BTN_SYNC": "⚡ SYNC", + "BTN_SYNC_TOOLTIP": "Tüm kullanıcıları senkronize etmeye zorla", + "OPTION_JUMP_TO_OTHERS": "Diğerlerine Atla", + "OPTION_JUMP_TO_ME": "Bana Atla", + "OPTION_JUMP_MODE_TOOLTIP": "Senkronizasyon hedefini seçin", + "LABEL_LAST_ACTIVITY": "Son Etkinlik Durumu", + "LABEL_LAST_ACTIVITY_TOOLTIP": "En son oynatma, duraklatma veya arama komutunu gösterir", + "NO_RECENT_COMMANDS": "Son komut yok", + "LOBBY_HEADER": "BÖLÜM LOBİSİ", + "LOBBY_WAITING_FOR": "🎬 Beklenen: \"{title}\"", + "LOBBY_WAITING_PEERS": "Bağlantılar bekleniyor...", + "BTN_SKIP_PLAY": "Atla ve Yine de Oynat", + "BTN_SKIP_PLAY_TOOLTIP": "Lobiyi iptal et ve yine de oynat", + "LOBBY_CONNECT_FIRST": "Önce bir odaya bağlanın", + "LOBBY_CONNECT_FIRST_DESC": "Videoları senkronize etmek için bir davet bağlantısı aracılığıyla bir odaya katılmanız veya yeni bir oda oluşturmanız gerekir.", + "BTN_CREATE_ROOM_ALT": "Yeni Oda Oluştur", + "BTN_CREATE_ROOM_ALT_TOOLTIP": "Yeni rastgele bir oda oluşturun ve katılın", + "LABEL_USERNAME": "Kullanıcı Adınız", + "LABEL_USERNAME_TOOLTIP": "Kullanıcı adı başkalarının sizi tanımasına yardımcı olur.", + "PLACEHOLDER_USERNAME": "Anonim Koala", + "LABEL_HIDE_CLUTTER": "Gereksiz Sekmeleri Gizle", + "LABEL_HIDE_CLUTTER_TOOLTIP": "Listeyi temiz tutmak için video olmayan sekmeleri ve alakasız alan adlarını filtreler", + "LABEL_AUTO_SYNC_NEXT": "Sonraki Bölümü Otomatik Eşitle", + "LABEL_AUTO_SYNC_NEXT_TOOLTIP": "Bir bölüm değiştiğinde otomatik olarak duraklatılır ve tüm bağlantıların hazır olmasını bekler, ardından birlikte senkronize olarak başlar.", + "LABEL_AUTO_COPY_INVITE": "Davet Linkini Otomatik Kopyala", + "LABEL_AUTO_COPY_INVITE_TOOLTIP": "Yeni bir oda oluşturulduğunda davet bağlantısını panoya otomatik olarak kopyalar.", + "LABEL_NOTIFICATIONS": "Tarayıcı Bildirimleri", + "LABEL_NOTIFICATIONS_TOOLTIP": "Biri katıldığında/ayrıldığında veya oynattığında/duraklattığında yerel sistem bildirimlerini gösterir.", + "LABEL_LANGUAGE": "Uygulama Dili", + "LABEL_LANGUAGE_TOOLTIP": "Tercih ettiğiniz eklenti dilini seçin", + "LABEL_TROUBLESHOOTING": "Sorun Giderme", + "LABEL_TROUBLESHOOTING_TOOLTIP": "Bağlantı sorunlarını giderme araçları", + "BTN_REGEN_ID": "Bağlantı Kimliğini Yeniden Oluştur", + "BTN_REGEN_ID_TOOLTIP": "Dahili kimliğinizi yeniden oluşturun ve tekrar bağlanın", + "REGEN_ID_DESC": "\"Duplicate Identity\" (Mükerrer Kimlik) hataları görüyorsanız bunu kullanın.", + "LABEL_CONN_STATUS": "Bağlantı Durumu", + "LABEL_CONN_STATUS_TOOLTIP": "Mevcut WebSocket bağlantı durumu", + "CONN_STATUS_DISCONNECTED": "Bağlantı Kesildi", + "BTN_RETRY": "TEKRAR DENE", + "BTN_RETRY_TOOLTIP": "Sunucuya yeniden bağlanmayı dene", + "BTN_COPY_LOGS": "Günlükleri Kopyala", + "BTN_COPY_LOGS_TOOLTIP": "Paylaşmak için günlükleri panoya kopyalayın", + "LABEL_VIDEO_DEBUG": "Video Hata Ayıklama Bilgisi", + "LABEL_VIDEO_DEBUG_TOOLTIP": "Şu anda seçili video öğesi hakkında teknik ayrıntılar", + "VIDEO_DEBUG_EMPTY": "Sekme seçilmedi veya video algılanmadı.", + "LABEL_HISTORY": "Tam İşlem Geçmişi", + "LABEL_HISTORY_TOOLTIP": "Odadaki tüm senkronizasyon komutlarının kronolojik günlüğü", + "HISTORY_EMPTY": "Henüz etkinlik yok", + "LABEL_LOGS": "Günlükler (Son 50)", + "LABEL_LOGS_TOOLTIP": "Hata ayıklama için teknik bağlantı günlükleri", + "BTN_CLEAR": "TEMİZLE", + "BTN_CLEAR_TOOLTIP": "Günlük çıktısını temizle", + "LABEL_GITHUB": "GitHub Deposu", + "BTN_ONBOARDING_SKIP": "Atla", + "BTN_ONBOARDING_SKIP_TOOLTIP": "Eğitimi atla", + "BTN_ONBOARDING_NEXT": "İleri", + "BTN_ONBOARDING_NEXT_TOOLTIP": "Bir sonraki adıma git", + "ONBOARDING_1_TITLE": "KoalaSync'e Hoş Geldiniz!", + "ONBOARDING_1_TEXT": "Nerede olursanız olun videoları mükemmel bir senkronizasyonla birlikte izleyin. Hızlı bir tura çıkalım!", + "ONBOARDING_2_TITLE": "1. Oda Oluştur", + "ONBOARDING_2_TEXT": "Buradan başlayın. Bir oda oluşturun ve davet bağlantısını arkadaşlarınızla paylaşın.", + "ONBOARDING_3_TITLE": "2. Video Seç", + "ONBOARDING_3_TEXT": "Senkronize etmek istediğiniz videoyu seçmek için buraya gidin. Oynatın, duraklatın ve arayın — herkes senkronize kalır.", + "ONBOARDING_4_TITLE": "3. Kişiselleştir", + "ONBOARDING_4_TEXT": "Arkadaşlarınızın kim olduğunuzu bilmesi için eğlenceli bir kullanıcı adı seçin.", + "ONBOARDING_5_TITLE": "Her şey hazır!", + "ONBOARDING_5_TEXT": "Patlamış mısır alma zamanı. Birlikte izlemenin keyfini çıkarın!", + "ERR_CONN_TIMEOUT": "Bağlantı zaman aşımına uğradı. Lütfen tekrar deneyin.", + "ERR_INVALID_SERVER_URL": "Geçersiz Sunucu URL formatı.", + "ERR_IDENTITY_NOT_LOADED": "Kimlik henüz yüklenmedi. Biraz bekleyin ve tekrar deneyin.", + "ERR_NO_PEERS_TIME": "Bilinen bir zamanı olan başka bağlantı yok. 'Bana Atla' seçeneğine geçin.", + "ERR_NO_VIDEO_TAB": "Video sekmesine bağlanılamadı.", + "ERR_SELECT_VIDEO": "Lütfen önce bir video seçin!", + "TOAST_INVITE_COPIED": "Davet bağlantısı kopyalandı!", + "TOAST_COPY_FAILED": "Panoya kopyalanamadı", + "TOAST_LOBBY_SKIPPED": "Bölüm Lobisi atlandı.", + "TOAST_LOBBY_SKIP_FAILED": "Lobi atlanamadı.", + "TOAST_LOGS_COPIED": "Kopyalandı!", + "TOAST_PEER_JOINED": "{name} odaya katıldı", + "TOAST_PEER_LEFT": "{name} odadan ayrıldı", + "TOAST_PEER_ACTION": "{name} {action}", + "STATUS_CONNECTED": "Bağlandı", + "STATUS_RECONNECTING": "Yeniden bağlanılıyor...", + "STATUS_CONNECTING": "Bağlanılıyor...", + "STATUS_FAILED": "Başarısız", + "STATUS_DISCONNECTED": "Bağlantı Kesildi", + "BTN_STATE_JOINING": "🚀 Katılınıyor...", + "BTN_STATE_RECONNECTING": "🔄 Yeniden bağlanılıyor...", + "BTN_STATE_PLAYING": "▶ Oynatılıyor...", + "BTN_STATE_PAUSING": "⏸ Duraklatılıyor...", + "BTN_STATE_SYNCING_GROUP": "Gruba eşitleniyor ({time})...", + "BTN_STATE_SYNCING": "Senkronize ediliyor...", + "BTN_STATE_SYNCED": "✅ Eşitlendi!", + "NOTIF_PLAY": "oynatmayı başlattı", + "NOTIF_PAUSE": "oynatmayı duraklattı", + "NOTIF_SEEK": "videoda arama yaptı", + "NOTIF_FORCE_PREPARE": "zorunlu eşitleme başlattı", + "NOTIF_FORCE_EXECUTE": "herkesi eşitledi", + "DEBUG_NO_TAB": "Hedef sekme seçilmedi.", + "DEBUG_COMM_FAIL": "Sekme videosuyla iletişim kurulamadı.", + "EMPTY_PEERS_TITLE": "Henüz kimse yok", + "EMPTY_PEERS_HINT": "Başlamak için davet bağlantınızı paylaşın", + "EMPTY_HISTORY_TITLE": "Henüz etkinlik yok", + "EMPTY_HISTORY_HINT": "Geçmişi görmek için oynatın, duraklatın veya arayın", + "EMPTY_LOGS_TITLE": "Günlük yok", + "EMPTY_LOGS_HINT": "Bağlantı olayları burada görünecektir", + "EMPTY_ROOMS_TITLE": "Aktif oda yok", + "EMPTY_ROOMS_HINT": "Bir oda oluşturun veya genel odaları bulmak için yenileyin", + "LABEL_YOU": "Siz", + "ONBOARDING_DONE": "Tamamlandı!", + "LABEL_LOBBY_PEER_READY": "Hazır", + "LABEL_LOBBY_PEER_LOADING": "Yükleniyor...", + "LABEL_PASSWORD_PROTECTED": "Şifre Korumalı", + "LABEL_PEERS_COUNT": "{count} kişi", + "LABEL_CUSTOM_SERVER": "Özel Sunucu", + "BTN_STATE_CREATING": "🚀 Oda Oluşturuluyor...", + "NOTIF_LOBBY_CANCEL_TITLE": "KoalaSync — Bölüm Eşitlemesi Başarısız", + "NOTIF_LOBBY_CANCEL_MSG": "Otomatik eşitleme iptal edildi: {reason}. Manuel olarak eşitlemeniz gerekebilir.", + "LOBBY_CANCEL_TIMEOUT": "Zaman aşımı", + "LOBBY_CANCEL_TIMEOUT_RECOVERED": "Zaman aşımı (kurtarıldı)", + "LOBBY_CANCEL_PEERS_LEFT": "Diğer tüm bağlantılar ayrıldı", + "LOBBY_CANCEL_TIMEOUT_PEERS_LOAD": "Zaman aşımı — tüm bağlantılar bölümü yüklemedi", + "LOBBY_CANCEL_USER": "Kullanıcı tarafından iptal edildi", + "NOTIF_ERROR_TITLE": "KoalaSync Hatası" +} \ No newline at end of file diff --git a/extension/manifest.base.json b/extension/manifest.base.json index d9e15f1..7a15eff 100644 --- a/extension/manifest.base.json +++ b/extension/manifest.base.json @@ -1,7 +1,7 @@ { "manifest_version": 3, "name": "KoalaSync", - "version": "2.0.8", + "version": "2.1.0", "description": "Synchronize video playback on YouTube, Netflix, Emby, Jellyfin, and any HTML5 site in real-time with friends.", "permissions": [ "storage", diff --git a/extension/popup.html b/extension/popup.html index 8a2ed5d..0007c7c 100644 --- a/extension/popup.html +++ b/extension/popup.html @@ -504,6 +504,13 @@ + + + + + + + diff --git a/extension/popup.js b/extension/popup.js index 6df617d..92abeca 100644 --- a/extension/popup.js +++ b/extension/popup.js @@ -1,7 +1,7 @@ import { EVENTS, OFFICIAL_LANDING_PAGE_URL } from './shared/constants.js'; import { BLACKLIST_DOMAINS } from './shared/blacklist.js'; import { getAvatarForName, generateUsername, USERNAME_ADJECTIVES, USERNAME_NOUNS } from './shared/names.js'; -import { loadLocale, translateDOM, getMessage } from './i18n.js'; +import { loadLocale, translateDOM, getMessage, getSystemLanguage } from './i18n.js'; const elements = { @@ -113,8 +113,7 @@ async function init() { let activeLang = data.locale; if (!activeLang) { - const systemLang = (navigator.language || chrome.i18n.getUILanguage()).split('-')[0]; - activeLang = ['en', 'de', 'fr', 'es', 'pt', 'ru'].includes(systemLang) ? (systemLang === 'pt' ? 'pt-BR' : systemLang) : 'en'; + activeLang = getSystemLanguage(); chrome.storage.sync.set({ locale: activeLang }); } diff --git a/package.json b/package.json index 6026067..b68281a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "koalasync", - "version": "2.0.8", + "version": "2.1.0", "description": "KoalaSync Build Scripts", "private": true, "scripts": { diff --git a/website/app.js b/website/app.js index da28c39..80e94c8 100644 --- a/website/app.js +++ b/website/app.js @@ -459,11 +459,11 @@ document.addEventListener('DOMContentLoaded', () => { const activeLang = localStorage.getItem('koala_lang') || (navigator.language.startsWith('de') ? 'de' : 'en'); const path = window.location.pathname; const pathSegments = path.split('/'); - const isSubdir = pathSegments.some(seg => ['de', 'fr', 'es', 'pt-BR', 'ru'].includes(seg)); + const isSubdir = pathSegments.some(seg => ['de', 'fr', 'es', 'pt-BR', 'ru', 'it', 'pl', 'tr', 'nl', 'ja', 'ko', 'pt'].includes(seg)); // Only need to do this dynamic rewrite if we are NOT already inside a localized subdirectory if (!isSubdir) { - const homeLinks = document.querySelectorAll('a[href="./"], a[href="de/"], a[href="fr/"], a[href="es/"], a[href="pt-BR/"], a[href="ru/"]'); + const homeLinks = document.querySelectorAll('a[href="./"], a[href="de/"], a[href="fr/"], a[href="es/"], a[href="pt-BR/"], a[href="ru/"], a[href="it/"], a[href="pl/"], a[href="tr/"], a[href="nl/"], a[href="ja/"], a[href="ko/"], a[href="pt/"]'); homeLinks.forEach(link => { link.href = (activeLang === 'en') ? './' : `${activeLang}/`; }); @@ -486,7 +486,7 @@ document.addEventListener('DOMContentLoaded', () => { if (isIndex) { // Static navigation: Route to correct subdirectory const pathSegments = path.split('/'); - const isSubdir = pathSegments.some(seg => ['de', 'fr', 'es', 'pt-BR', 'ru'].includes(seg)); + const isSubdir = pathSegments.some(seg => ['de', 'fr', 'es', 'pt-BR', 'ru', 'it', 'pl', 'tr', 'nl', 'ja', 'ko', 'pt'].includes(seg)); let targetPath; if (newLang === 'en') { @@ -509,7 +509,7 @@ document.addEventListener('DOMContentLoaded', () => { } else { // Dynamic page: Toggle classes and update elements dynamically without navigating away const html = document.documentElement; - html.classList.remove('lang-en', 'lang-de', 'lang-fr', 'lang-es', 'lang-pt-br', 'lang-ru'); + html.classList.remove('lang-en', 'lang-de', 'lang-fr', 'lang-es', 'lang-pt-br', 'lang-ru', 'lang-it', 'lang-pl', 'lang-tr', 'lang-nl', 'lang-ja', 'lang-ko', 'lang-pt'); // Fallback dynamic pages to 'en' if 'de' is not chosen (since fr/es markup is not present) const activeDisplayLang = (newLang === 'de') ? 'de' : 'en'; diff --git a/website/build.js b/website/build.js index 0e7510b..f3842e3 100644 --- a/website/build.js +++ b/website/build.js @@ -162,7 +162,7 @@ async function compile() { } const templateContent = fs.readFileSync(templatePath, 'utf8'); const localesDir = path.join(websiteDir, 'locales'); - const languages = ['en', 'de', 'fr', 'es', 'pt-BR', 'ru']; + const languages = ['en', 'de', 'fr', 'es', 'pt-BR', 'ru', 'it', 'pl', 'tr', 'nl', 'ja', 'ko', 'pt']; // Read version for build-time injection (SEO: crawlers see real version) const versionJson = JSON.parse(fs.readFileSync(path.join(websiteDir, 'version.json'), 'utf8')); diff --git a/website/datenschutz.html b/website/datenschutz.html index 98f6fc3..0642c66 100644 --- a/website/datenschutz.html +++ b/website/datenschutz.html @@ -60,6 +60,13 @@ + + + + + + + diff --git a/website/impressum.html b/website/impressum.html index f6fd0ac..e15d31d 100644 --- a/website/impressum.html +++ b/website/impressum.html @@ -60,6 +60,13 @@ + + + + + + + diff --git a/website/join.html b/website/join.html index b771a28..21ac314 100644 --- a/website/join.html +++ b/website/join.html @@ -64,6 +64,13 @@ + + + + + + + diff --git a/website/lang-init.js b/website/lang-init.js index d1172ce..29901bf 100644 --- a/website/lang-init.js +++ b/website/lang-init.js @@ -7,8 +7,22 @@ 'de': 'de', 'fr': 'fr', 'es': 'es', - 'pt': 'pt-BR', - 'ru': 'ru' + 'pt-br': 'pt-BR', + 'pt': 'pt', + 'ru': 'ru', + 'it': 'it', + 'pl': 'pl', + 'tr': 'tr', + 'nl': 'nl', + 'ja': 'ja', + 'ko': 'ko' + }; + + var getBrowserLang = function() { + var fullLang = (navigator.language || '').toLowerCase(); + if (fullLang.indexOf('pt-br') === 0) return 'pt-br'; + if (fullLang.indexOf('pt') === 0) return 'pt'; + return fullLang.split('-')[0]; }; // Check if we are on the root index page (either "/" or "/index.html" at the root) @@ -16,7 +30,7 @@ if (isRootIndex) { var savedLang = localStorage.getItem('koala_lang'); - var browserLang = navigator.language.split('-')[0]; + var browserLang = getBrowserLang(); var preferredLang = savedLang || langMap[browserLang] || 'en'; if (preferredLang !== 'en') { @@ -41,7 +55,7 @@ localStorage.setItem('koala_lang', activeLang); } else { var savedLang = localStorage.getItem('koala_lang'); - var browserLang = navigator.language.split('-')[0]; + var browserLang = getBrowserLang(); activeLang = savedLang || langMap[browserLang] || 'en'; // Dynamic utility pages currently only support English and German markup. diff --git a/website/locales/it.json b/website/locales/it.json new file mode 100644 index 0000000..d8c5a34 --- /dev/null +++ b/website/locales/it.json @@ -0,0 +1,165 @@ +{ + "LANG_CODE": "it", + "HTML_CLASS": "lang-it", + "CANONICAL_PATH": "it/", + "LANG_TOGGLE_URL": "", + "LANG_TOGGLE_TEXT": "EN", + "OG_LOCALE": "it_IT", + "META_TITLE": "KoalaSync | Sincronizza Netflix, YouTube e qualsiasi video con gli amici", + "META_DESCRIPTION": "Guarda Netflix, YouTube, Twitch e qualsiasi video HTML5 in perfetta sincronia con gli amici. Estensione del browser gratuita e open source per Chrome e Firefox. Nessuna registrazione richiesta.", + "OG_TITLE": "KoalaSync | Sincronizza Netflix, Emby, Jellyfin e quasi tutti i video con gli amici", + "OG_DESCRIPTION": "Guarda Netflix, Emby, Jellyfin, YouTube, Twitch e quasi tutti i video HTML5 in perfetta sincronia. Estensione del browser open source e attenta alla privacy per Chrome e Firefox.", + "TWITTER_TITLE": "KoalaSync | Sincronizza Netflix, Emby, Jellyfin e quasi tutti i video con gli amici – Estensione Browser", + "TWITTER_DESCRIPTION": "Guarda Netflix, Emby, Jellyfin, YouTube, Twitch e quasi tutti i video HTML5 in perfetta sincronia con gli amici. Estensione del browser open source e attenta alla privacy per Chrome e Firefox.", + "NAV_FEATURES": "Funzionalità", + "NAV_HOW_IT_WORKS": "Come Funziona", + "HERO_TITLE": "Guarda Insieme.
Sincronizza Perfettamente.", + "HERO_SUBTITLE": "La tua serata cinema a distanza senza lag. Nessuna registrazione, nessun dato raccolto. Condividi un link e guarda insieme.", + "HERO_MASCOT_ALT": "Un simpatico koala in piedi che guarda in basso verso i pulsanti di download", + "ADD_TO_CHROME": "Aggiungi a Chrome", + "ADD_TO_FIREFOX": "Aggiungi a Firefox", + "COMPAT_HEADING": "Funziona sulle tue piattaforme preferite", + "COMPAT_MORE": "e molti altri", + "COMPAT_TOOLTIP": "Funziona su quasi tutti i siti con un elemento video", + "USE_CASES_TITLE": "Perfetto per Ogni Occasione", + "USE_CASES_SUBTITLE": "Vicini o lontani, KoalaSync unisce le persone attorno ai loro video preferiti.", + "USE_CASE_1_ALT": "Due simpatici koala seduti insieme che condividono un secchio di popcorn", + "USE_CASE_1_TITLE": "Serata Cinema con gli Amici", + "USE_CASE_1_DESC": "Sincronizza i tuoi film in tempo reale e parla via Discord, Zoom o la tua app di chiamata vocale preferita. Sembrerà di essere nella stessa stanza.", + "USE_CASE_2_ALT": "Un professore koala che presenta su uno schermo a due studenti koala a distanza", + "USE_CASE_2_TITLE": "Apprendimento a Distanza", + "USE_CASE_2_DESC": "Analizza tutorial online, lezioni o stream di formazione per sviluppatori insieme a compagni di classe o colleghi. Fai pausa e discuti i passaggi complessi in perfetta armonia.", + "USE_CASE_3_ALT": "Una simpatica coppia di koala che guarda insieme a distanza; uno è seduto al PC e l'altro è a letto con un laptop, con cuori che volano tra loro", + "USE_CASE_3_TITLE": "Relazioni a Distanza", + "USE_CASE_3_DESC": "Supera le distanze e goditi le serate romantiche. Vivi ogni colpo di scena, ridi alle stesse battute e condividi momenti emozionanti nello stesso identico millisecondo.", + "WHY_TITLE": "Perché KoalaSync?", + "WHY_SUBTITLE": "Progettato per una sincronizzazione affidabile, privacy al primo posto e configurazione semplice.", + "FEATURE_1_TITLE": "Controllo Totale / Sincronizzazione Istantanea", + "FEATURE_1_DESC": "Uno mette in pausa, tutti mettono in pausa. Uno cerca, tutti lo seguono. Il nostro protocollo di sincronizzazione a due fasi coordina la riproduzione in tempo reale tra tutti i partecipanti.", + "FEATURE_2_TITLE": "Binge-Watching Infinito", + "FEATURE_2_DESC": "Riproduzione automatica sincronizzata. KoalaSync rileva automaticamente i cambi di episodio e blocca la riproduzione finché tutti i partecipanti non hanno caricato il video successivo.", + "FEATURE_3_TITLE": "Zero Account / Massima Privacy", + "FEATURE_3_DESC": "Nessuna registrazione, nessun tracciamento, nessuna traccia persistente. Il server funziona interamente nella RAM effimera e cancella la tua stanza quando te ne vai.", + "FEATURE_4_TITLE": "Supporto HTML5 Universale", + "FEATURE_4_DESC": "Funziona su YouTube, Twitch, Netflix, Jellyfin, Emby e quasi tutte le pagine web standard contenenti un elemento video HTML5. Compatibile anche con server personalizzati.", + "FEATURE_5_TITLE": "Ospitabile Autonomamente e Pronto per Docker", + "FEATURE_5_DESC": "I nostri server ufficiali sono gratuiti e veloci, ma puoi gestirne uno tuo se preferisci. Avvia il tuo server di inoltro privato in pochi secondi tramite Docker.", + "FEATURE_6_TITLE": "Inviti Istantanei / Accesso con 1 Click", + "FEATURE_6_DESC": "Nessun indirizzo IP o password da scambiare. Condividi un link di invito generato con i tuoi amici per farli entrare nella stanza automaticamente con un solo clic.", + "COMP_TITLE": "KoalaSync vs. Teleparty", + "COMP_SUBTITLE": "Scopri perché l'open source, senza pubblicità e attento alla privacy è il modo migliore per guardare i video insieme.", + "COMP_COL_FEATURE": "Funzionalità", + "COMP_FEAT_1_NAME": "Costi / Paywall", + "COMP_FEAT_1_DESC": "Abbonamenti premium, costi nascosti o funzionalità bloccate.", + "COMP_FEAT_1_KOALA": "100% Gratuito", + "COMP_FEAT_1_TELE": "Piani a Pagamento / Blocchi Premium", + "COMP_FEAT_2_NAME": "Licenza / Codice Controllabile", + "COMP_FEAT_2_DESC": "Indica se il codice sorgente è aperto e liberamente controllabile.", + "COMP_FEAT_2_KOALA": "Open Source (MIT)", + "COMP_FEAT_2_TELE": "Proprietario", + "COMP_FEAT_3_NAME": "Ospitare in Proprio", + "COMP_FEAT_3_DESC": "Possibilità di distribuire il proprio server di inoltro privato.", + "COMP_FEAT_3_KOALA": "Sì (Pronto per Docker)", + "COMP_FEAT_3_TELE": "No", + "COMP_FEAT_4_NAME": "Privacy e Tracciamento", + "COMP_FEAT_4_DESC": "Requisiti di registrazione, cookie di tracciamento e analisi.", + "COMP_FEAT_4_KOALA": "Nessuna Persistenza (Solo RAM)", + "COMP_FEAT_4_TELE": "Google Analytics e Cookie", + "COMP_FEAT_5_NAME": "Compatibilità dei Siti", + "COMP_FEAT_5_DESC": "Siti web supportati e compatibilità dei player.", + "COMP_FEAT_5_KOALA": "Quasi tutti i video HTML5", + "COMP_FEAT_5_TELE": "Solo siti supportati", + "COMP_FEAT_6_NAME": "Localizzazione / Traduzione", + "COMP_FEAT_6_DESC": "Lingue dell'interfaccia disponibili e supporto alle traduzioni.", + "COMP_FEAT_6_KOALA": "13 Lingue (in crescita)", + "COMP_FEAT_6_TELE": "Solo Inglese", + "COMP_FOOTNOTE_1": "Stato del confronto: Maggio 2026.", + "COMP_FOOTNOTE_2": "Dettagli sui prezzi di Teleparty Premium e reti supportate:", + "COMP_FOOTNOTE_3": "Informativa sulla privacy di Teleparty e raccolta dei dati di tracciamento:", + "COMP_FOOTNOTE_4": "Funziona sui siti web che consentono l'iniezione di script nei tag video HTML5 standard. I siti web con Content Security Policy (CSP) molto rigide, protezioni DRM o wrapper del player fortemente offuscati (come shadow DOM complessi) potrebbero limitare il controllo o l'iniezione.", + "STEPS_TITLE": "Guida Introduttiva", + "STEP_1_TITLE": "Installa l'Estensione", + "STEP_1_DESC": "Aggiungi KoalaSync al tuo browser dal Chrome Web Store, da Firefox Add-ons, o scarica l'ultimo ZIP per sviluppatori da GitHub.", + "STEP_1_ILLUS_DESC": "Sincronizzatore video attento alla privacy", + "STEP_1_ILLUS_DL_CHROME": "Scarica per Chrome", + "STEP_1_ILLUS_DL_FIREFOX": "Scarica per Firefox", + "STEP_1_ILLUS_ACTIVE": "Estensione Attiva", + "STEP_1_ILLUS_READY": "Pronti a guardare insieme!", + "STEP_2_TITLE": "Crea una Stanza", + "STEP_2_DESC": "Apri il popup dell'estensione e fai clic su '+ Crea Nuova Stanza'. KoalaSync genererà automaticamente un ID Stanza e una Password sicuri, entrerà nella stanza e copierà il link di invito negli appunti.", + "STEP_2_ILLUS_ROOM": "Stanza", + "STEP_2_ILLUS_SYNC": "Sincronizza", + "STEP_2_ILLUS_SETTINGS": "Impostazioni", + "STEP_2_ILLUS_CREATE": "+ Crea Nuova Stanza", + "STEP_2_ILLUS_MANUAL": "Connessione Manuale / Avanzata", + "STEP_2_ILLUS_COPIED": "Link di invito copiato!", + "STEP_3_TITLE": "Condividi e Sincronizza", + "STEP_3_DESC": "Invia il link di invito ai tuoi amici. Una volta entrati, seleziona la scheda del tuo video e goditi la riproduzione sincronizzata.", + "STEP_3_ILLUS_IN_SYNC": "IN SINCRONIA", + "SELF_TITLE": "Per chi Ospita Autonomamente", + "SELF_SUBTITLE": "Non ti fidi del nostro server? Mantieni la piena sovranità sui tuoi dati. Distribuisci il tuo server di inoltro privato in pochi minuti.", + "SELF_MASCOT_ALT": "Un simpatico koala seduto al laptop che distribuisce un contenitore Docker per l'hosting autonomo", + "SELF_COPY_CODE": "Copia Codice", + "SELF_GITHUB_PACKAGES": "Visualizza tutti i tag delle immagini su GitHub Packages", + "BOTTOM_TITLE": "Non sei convinto? Guarda tu stesso.", + "BOTTOM_SUBTITLE": "KoalaSync è al 100% open source, senza pubblicità e senza tracciamento. Controlla il nostro codice su GitHub o installa direttamente l'estensione del browser.", + "BOTTOM_MASCOT_ALT": "Un simpatico koala che tiene una pagina del repository GitHub vicino alla mascotte di GitHub Octocat", + "FAQ_TITLE": "Domande Frequenti", + "FAQ_SUBTITLE": "Tutto quello che c'è da sapere sulla visione dei video insieme in perfetta sincronia.", + "FAQ_Q1": "Posso guardare Netflix, Emby o Jellyfin in sincronia con gli amici?", + "FAQ_A1": "Sì! KoalaSync funziona su Netflix, YouTube, Twitch e qualsiasi sito web con un lettore video HTML5 — inclusi Emby, Jellyfin e server multimediali personalizzati. Installa l'estensione, crea una stanza, condividi il link di invito e tutti guarderanno in perfetta sincronia.", + "FAQ_Q2": "KoalaSync è un'alternativa gratuita a Teleparty?", + "FAQ_A2": "Gratuito al 100% e open source con licenza MIT. Nessun piano premium, nessuna funzionalità bloccata, nessuna pubblicità — tutto è incluso. A differenza di Teleparty, il server di inoltro di KoalaSync è solo in RAM, con zero raccolta dati o account utente richiesti.", + "FAQ_Q3": "KoalaSync funziona con Emby, Jellyfin e server multimediali ospitati in proprio?", + "FAQ_A3": "Sì. KoalaSync rileva qualsiasi elemento video HTML5 standard, il che significa che funziona perfettamente con Emby, Jellyfin, Plex e qualsiasi configurazione di streaming personalizzata. Puoi anche ospitare autonomamente il server di inoltro tramite Docker.", + "FAQ_Q4": "Quali browser e piattaforme supportano KoalaSync?", + "FAQ_A4": "Google Chrome, Mozilla Firefox, Microsoft Edge, Opera, Brave e tutti i browser basati su Chromium. Installalo direttamente dal Chrome Web Store o da Firefox Add-ons — non è richiesta alcuna configurazione manuale.", + "FAQ_Q5": "Tutti i miei amici devono avere l'estensione installata?", + "FAQ_A5": "Sì, ogni partecipante deve avere KoalaSync installato — ma non è richiesta alcuna registrazione o creazione di account. Fai clic sul link di invito, installa l'estensione se non l'hai già fatto ed entrerai automaticamente nella stanza in pochi secondi.", + "FAQ_Q6": "I miei dati sono al sicuro? E se non mi fido del server ufficiale?", + "FAQ_A6": "Completamente al sicuro. Il server di inoltro di KoalaSync è solo in RAM — tutti i dati della sessione vengono eliminati permanentemente nel momento in cui lasci la stanza. Nessun database, nessun log, nessuna analisi, nessun account. E se preferisci il controllo totale: puoi ospitare autonomamente il tuo server di inoltro privato tramite Docker in pochi minuti. L'intera codebase è open source e controllabile su GitHub.", + "HOWTO_TITLE": "Come sincronizzare i video con gli amici usando KoalaSync", + "HOWTO_DESC": "Guarda qualsiasi video in perfetta sincronia con gli amici su YouTube, Netflix, Twitch e altri. Nessuna registrazione, nessun tracciamento.", + "HOWTO_STEP_1_NAME": "Installa l'estensione del browser", + "HOWTO_STEP_1_TEXT": "Aggiungi KoalaSync al tuo browser dal Chrome Web Store o da Firefox Add-ons. Funziona su qualsiasi sito web con un elemento video.", + "HOWTO_STEP_2_NAME": "Crea una stanza", + "HOWTO_STEP_2_TEXT": "Apri il popup dell'estensione e fai clic su Crea Nuova Stanza. Il link di invito viene copiato automaticamente negli appunti.", + "HOWTO_STEP_3_NAME": "Condividi e sincronizza", + "HOWTO_STEP_3_TEXT": "Invia il link di invito ai tuoi amici. Scegli una scheda video e goditi la riproduzione sincronizzata in tempo reale.", + "FOOTER_MIT": "Open source con licenza MIT.", + "FOOTER_RAM": "Nessun dato viene memorizzato sui nostri server. Inoltro basato esclusivamente su RAM.", + "FOOTER_LEGAL": "Note Legali", + "FOOTER_PRIVACY": "Informativa sulla Privacy", + "MOCK_01": "Stanza Attiva", + "MOCK_02": "Server Ufficiale", + "MOCK_03": "Link di Invito", + "MOCK_04": "Partecipanti nella Stanza", + "MOCK_05": "YOU", + "MOCK_06": "Playing", + "MOCK_07": "Peer", + "MOCK_08": "Lascia Stanza", + "MOCK_09": "Seleziona Video", + "MOCK_10": "Controllo Remoto", + "MOCK_11": " Play", + "MOCK_12": " Pause", + "MOCK_13": " SYNC", + "MOCK_14": "Salto dagli Altri", + "MOCK_15": "Stato Ultima Attività", + "MOCK_16": "In attesa di 1 partecipante (KoalaPC)...", + "MOCK_17": "Salta e riproduci comunque", + "MOCK_18": "Tuo Nome Utente", + "MOCK_19": "Nascondi Schede Inutili", + "MOCK_20": "Auto-Sync Prossimo Episodio", + "MOCK_21": "Copia Automatica Invito", + "MOCK_22": "Notifiche del Browser", + "MOCK_23": "Risoluzione Problemi", + "MOCK_24": "Rigenera ID Peer", + "MOCK_25": "Usa questo se riscontri errori di \"Identità Duplicata\".", + "MOCK_26": "Stato Connessione", + "MOCK_27": "Connected", + "MOCK_28": "Copia Log", + "MOCK_29": "Info Debug Video", + "MOCK_30": "Cronologia Azioni Completa", + "MOCK_31": "Log (Ultimi 50)", + "MOCK_32": "PULISCI" +} \ No newline at end of file diff --git a/website/locales/ja.json b/website/locales/ja.json new file mode 100644 index 0000000..4f1b944 --- /dev/null +++ b/website/locales/ja.json @@ -0,0 +1,165 @@ +{ + "LANG_CODE": "ja", + "HTML_CLASS": "lang-ja", + "CANONICAL_PATH": "ja/", + "LANG_TOGGLE_URL": "", + "LANG_TOGGLE_TEXT": "EN", + "OG_LOCALE": "ja_JP", + "META_TITLE": "KoalaSync | Netflix、YouTube、あらゆる動画を友達と同期視聴", + "META_DESCRIPTION": "Netflix、YouTube、Twitch、およびあらゆるHTML5動画を友達と完全に同期して視聴。ChromeおよびFirefox用の無料のオープンソースブラウザ拡張機能。登録不要。", + "OG_TITLE": "KoalaSync | Netflix、Emby、Jellyfin、ほぼすべての動画を友達と同期", + "OG_DESCRIPTION": "Netflix、Emby、Jellyfin、YouTube、Twitch、ほぼすべてのHTML5動画を完全に同期して視聴。ChromeおよびFirefox用のプライバシー優先のオープンソースブラウザ拡張機能。", + "TWITTER_TITLE": "KoalaSync | Netflix、Emby、Jellyfin、ほぼすべての動画を友達と同期 – ブラウザ拡張機能", + "TWITTER_DESCRIPTION": "Netflix、Emby、Jellyfin、YouTube、Twitch、ほぼすべてのHTML5動画を友達と完全に同期して視聴。ChromeおよびFirefox用のプライバシー優先のオープンソースブラウザ拡張機能。", + "NAV_FEATURES": "機能", + "NAV_HOW_IT_WORKS": "仕組み", + "HERO_TITLE": "一緒に観よう。
完璧に同期。", + "HERO_SUBTITLE": "遅延のないリモート映画鑑賞。登録不要、データ収集なし。リンクを共有するだけで、一緒に視聴できます。", + "HERO_MASCOT_ALT": "ダウンロードボタンを見下ろしているかわいいコアラ", + "ADD_TO_CHROME": "Chromeに追加", + "ADD_TO_FIREFOX": "Firefoxに追加", + "COMPAT_HEADING": "お気に入りのプラットフォームで動作", + "COMPAT_MORE": "その他多数", + "COMPAT_TOOLTIP": "ビデオ要素があるほぼすべてのサイトで動作します", + "USE_CASES_TITLE": "あらゆるシーンに最適", + "USE_CASES_SUBTITLE": "近くにいても遠くにいても、KoalaSyncはお気に入りのビデオを通じて人々を結びつけます。", + "USE_CASE_1_ALT": "一緒に座ってポップコーンを分け合っている2匹のかわいいコアラ", + "USE_CASE_1_TITLE": "友達との映画鑑賞", + "USE_CASE_1_DESC": "映画をリアルタイムで同期し、DiscordやZoomなどでおしゃべり。まるで同じ部屋に座っているかのような感覚です。", + "USE_CASE_2_ALT": "画面を通じて2匹のリモート生徒コアラに講義をするコアラ教授", + "USE_CASE_2_TITLE": "リモート学習", + "USE_CASE_2_DESC": "オンラインチュートリアル、講義、開発者向けトレーニング配信などをクラスメイトや同僚と一緒に分析。一時停止して、複雑なステップについて話し合えます。", + "USE_CASE_3_ALT": "離れた場所で一緒に見ているかわいいコアラのカップル。一方はPCの前に座り、もう一方はベッドでノートPCを持っていて、二人の間にはハートが飛んでいます", + "USE_CASE_3_TITLE": "遠距離恋愛", + "USE_CASE_3_DESC": "距離を縮めてデートナイトを楽しみましょう。すべてのストーリー展開を体験し、同じジョックで笑い、感情的な瞬間をまったく同じミリ秒で共有します。", + "WHY_TITLE": "KoalaSyncを選ぶ理由", + "WHY_SUBTITLE": "信頼性の高い同期、プライバシー優先の設計、簡単なセットアップのために構築。", + "FEATURE_1_TITLE": "完全なコントロール / 即時同期", + "FEATURE_1_DESC": "一人が一時停止すれば、全員が一時停止。一人がシークすれば、全員が追従。2フェーズ同期プロトコルが、リアルタイムで全員の再生状況を連動させます。", + "FEATURE_2_TITLE": "終わらない連続視聴", + "FEATURE_2_DESC": "同期した自動再生。KoalaSyncはエピソードの切り替えを自動検知し、全員が次の動画を読み込むまで再生を待機します。", + "FEATURE_3_TITLE": "アカウント不要 / 純粋なプライバシー", + "FEATURE_3_DESC": "登録不要、追跡なし、履歴も残りません。サーバーは一時的なメモリ(RAM)上でのみ動作し、退出時にルームを完全に消去します。", + "FEATURE_4_TITLE": "ユニバーサルHTML5サポート", + "FEATURE_4_DESC": "YouTube、Twitch、Netflix、Jellyfin、Emby、およびHTML5ビデオ要素を含むほぼすべての標準的なWebページで動作します。独自のセルフホスト設定とも互換性があります。", + "FEATURE_5_TITLE": "セルフホスト可能&Docker対応", + "FEATURE_5_DESC": "公式サーバーは無料で高速ですが、必要に応じて独自のサーバーを構築できます。Dockerを使用して、数秒でプライベートリレーサーバーを起動できます。", + "FEATURE_6_TITLE": "インスタント招待 / 1クリック参加", + "FEATURE_6_DESC": "IPアドレスやパスワードをやり取りする必要はありません。生成された招待リンクを友達に共有するだけで、1クリックで自動的にルームに参加できます。", + "COMP_TITLE": "KoalaSync と Teleparty の比較", + "COMP_SUBTITLE": "オープンソース、広告なし、プライバシー優先が、一緒に動画を観る上でいかに優れているかをご覧ください。", + "COMP_COL_FEATURE": "機能", + "COMP_FEAT_1_NAME": "費用 / ペイウォール", + "COMP_FEAT_1_DESC": "プレミアムサブスクリプション、隠れた料金、またはロックされた機能。", + "COMP_FEAT_1_KOALA": "100% 無料", + "COMP_FEAT_1_TELE": "有料プラン / プレミアム機能の制限", + "COMP_FEAT_2_NAME": "ライセンス / コードの監査性", + "COMP_FEAT_2_DESC": "ソースコードが公開され、自由に監査できるかどうか。", + "COMP_FEAT_2_KOALA": "オープンソース (MIT)", + "COMP_FEAT_2_TELE": "プロプライエタリ", + "COMP_FEAT_3_NAME": "セルフホスト", + "COMP_FEAT_3_DESC": "独自のプライベートリレーサーバーを展開する機能。", + "COMP_FEAT_3_KOALA": "可能(Docker対応)", + "COMP_FEAT_3_TELE": "不可", + "COMP_FEAT_4_NAME": "プライバシーと追跡", + "COMP_FEAT_4_DESC": "登録の要件、追跡クッキー、およびアナリティクス。", + "COMP_FEAT_4_KOALA": "履歴ゼロ (メモリ上のみ)", + "COMP_FEAT_4_TELE": "Google アナリティクスとクッキー", + "COMP_FEAT_5_NAME": "対応サイト", + "COMP_FEAT_5_DESC": "サポートされているWebサイトとプレーヤーの互換性。", + "COMP_FEAT_5_KOALA": "ほぼすべての HTML5 ビデオ", + "COMP_FEAT_5_TELE": "サポートされているサイトのみ", + "COMP_FEAT_6_NAME": "ローカライズ / 翻訳", + "COMP_FEAT_6_DESC": "利用可能なインターフェース言語と翻訳サポート。", + "COMP_FEAT_6_KOALA": "13の言語(今後も追加予定)", + "COMP_FEAT_6_TELE": "英語のみ", + "COMP_FOOTNOTE_1": "比較時点: 2026年5月。", + "COMP_FOOTNOTE_2": "公式 Teleparty Premium の価格設定と対応ネットワークの詳細:", + "COMP_FOOTNOTE_3": "Telepartyのプライバシーポリシーと追跡データの収集について:", + "COMP_FOOTNOTE_4": "標準的なHTML5ビデオタグへのスクリプトインジェクションを許可するウェブサイトで動作します。非常に厳格なコンテンツセキュリティポリシー(CSP)、DRMコピー保護、または高度に難読化されたプレーヤーラッパー(複雑なシャドウDOMなど)を持つウェブサイトでは、自動制御やインジェクションが制限される場合があります。", + "STEPS_TITLE": "はじめに", + "STEP_1_TITLE": "拡張機能をインストール", + "STEP_1_DESC": "Chrome ウェブストアや Firefox Add-ons から KoalaSync をブラウザに追加するか、GitHub から最新の開発者向け ZIP をダウンロードしてください。", + "STEP_1_ILLUS_DESC": "プライバシー優先のビデオ同期ツール", + "STEP_1_ILLUS_DL_CHROME": "Chrome版をダウンロード", + "STEP_1_ILLUS_DL_FIREFOX": "Firefox版をダウンロード", + "STEP_1_ILLUS_ACTIVE": "拡張機能はアクティブです", + "STEP_1_ILLUS_READY": "一緒に観る準備は完了!", + "STEP_2_TITLE": "ルームを作成", + "STEP_2_DESC": "拡張機能のポップアップを開き、「+ 新規ルーム作成」をクリックします。KoalaSyncは自動的に安全なルームIDとパスワードを生成し、接続し、招待リンクをクリップボードにコピーします。", + "STEP_2_ILLUS_ROOM": "ルーム", + "STEP_2_ILLUS_SYNC": "同期", + "STEP_2_ILLUS_SETTINGS": "設定", + "STEP_2_ILLUS_CREATE": "+ 新規ルーム作成", + "STEP_2_ILLUS_MANUAL": "手動接続 / 詳細設定", + "STEP_2_ILLUS_COPIED": "招待リンクをコピーしました!", + "STEP_3_TITLE": "共有と同期", + "STEP_3_DESC": "招待リンクを友達に送信します。友達が参加したら、ビデオのタブを選択して、同期された再生を楽しんでください。", + "STEP_3_ILLUS_IN_SYNC": "同期中", + "SELF_TITLE": "セルフホストする方向け", + "SELF_SUBTITLE": "公式サーバーを信頼しませんか?データの完全な所有権を維持しましょう。数分で独自のプライベートリレーサーバーを構築できます。", + "SELF_MASCOT_ALT": "セルフホスト用にDockerコンテナを展開している、ノートPCの前に座ったかわいいコアラ", + "SELF_COPY_CODE": "コードをコピー", + "SELF_GITHUB_PACKAGES": "GitHub Packages上のすべてのイメージタグを表示", + "BOTTOM_TITLE": "まだ迷っていますか? ぜひ実際にお確かめください。", + "BOTTOM_SUBTITLE": "KoalaSyncは100%オープンソースで、広告や追跡は一切ありません。GitHubでコードを監査するか、ブラウザ拡張機能を直接インストールしてください。", + "BOTTOM_MASCOT_ALT": "GitHubのマスコット「Octocat」の隣で、GitHubのリポジトリページを持っているかわいいコアラ", + "FAQ_TITLE": "よくある質問", + "FAQ_SUBTITLE": "完璧に同期して動画を一緒に楽しむために必要なすべての情報。", + "FAQ_Q1": "友達と一緒にNetflix、Emby、Jellyfinを同期視聴できますか?", + "FAQ_A1": "はい!KoalaSyncはNetflix, YouTube, TwitchおよびHTML5ビデオプレーヤーを備えたあらゆるウェブサイト(Emby, Jellyfin, 独自のメディアサーバーを含む)で動作します。拡張機能をインストールし、ルームを作成して招待リンクを共有するだけで、全員で完全に同期して視聴できます。", + "FAQ_Q2": "KoalaSyncはTelepartyの無料の代替ツールですか?", + "FAQ_A2": "MITライセンスのもとで100%無料かつオープンソース。有料プラン、制限された機能、広告などは一切ありません。Telepartyとは異 nel、KoalaSyncのリレーサーバーはメモリ上のみで動作し、データ収集やユーザーアカウント作成は不要です。", + "FAQ_Q3": "KoalaSyncはEmby、Jellyfin、およびセルフホストのメディアサーバーで動作しますか?", + "FAQ_A3": "はい。KoalaSyncは標準的なHTML5ビデオ要素を検出するため、Emby, Jellyfin, Plex、および独自のセルフホスト配信設定で完全に動作します。また、データの完全な所有権を維持するために、Dockerを介してリレーサーバーをセルフホストすることも可能です。", + "FAQ_Q4": "どのブラウザとプラットフォームがKoalaSyncをサポートしていますか?", + "FAQ_A4": "Google Chrome、Mozilla Firefox、Microsoft Edge、Opera、Brave、およびすべてのChromiumベースのブラウザ。Chrome ウェブストアまたは Firefox Add-ons から直接インストールできます。手動の設定は不要です。", + "FAQ_Q5": "友達も全員拡張機能をインストールする必要がありますか?", + "FAQ_A5": "はい、参加者全員にKoalaSyncがインストールされている必要があります。ただし、登録やアカウント作成は不要です。招待リンクをクリックし、未インストールの場合は拡張機能をインストールすれば、数秒で自動的にルームに参加できます。", + "FAQ_Q6": "データは安全ですか? 公式サーバーを信頼できない場合は?", + "FAQ_A6": "完全に安全です。KoalaSyncのリレーサーバーはメモリ上のみで動作するため、ルームを退出した瞬間にすべてのセッションデータが永久に削除されます。データベース、ログ、分析、アカウントは一切ありません。さらに、完全に管理したい場合は、Dockerを介して独自のプライベートリレーサーバーを数分でセルフホストできます。コードベース全体がオープンソースであり、GitHubで監査可能です。", + "HOWTO_TITLE": "KoalaSyncを使用して友達とビデオを同期視聴する方法", + "HOWTO_DESC": "YouTube、Netflix、Twitchなどで、友達と完全に同期してあらゆる動画を視聴。登録不要、追跡なし。", + "HOWTO_STEP_1_NAME": "ブラウザ拡張機能をインストールする", + "HOWTO_STEP_1_TEXT": "Chrome ウェブストアまたは Firefox Add-ons から KoalaSync をブラウザに追加します。ビデオ要素がある任意のウェブサイトで動作します。", + "HOWTO_STEP_2_NAME": "ルームを作成する", + "HOWTO_STEP_2_TEXT": "拡張機能のポップアップを開き、「新規ルーム作成」をクリックします。招待リンクは自動的にクリップボードにコピーされます。", + "HOWTO_STEP_3_NAME": "共有して同期する", + "HOWTO_STEP_3_TEXT": "招待リンクを友達に送信します。ビデオのタブを選択して、リアルタイムで同期された再生を楽しんでください。", + "FOOTER_MIT": "MITライセンスに基づくオープンソース。", + "FOOTER_RAM": "サーバーにはデータは一切保存されません。完全にメモリ(RAM)上でのみ中継されます。", + "FOOTER_LEGAL": "法的通知", + "FOOTER_PRIVACY": "プライバシーポリシー", + "MOCK_01": "アクティブなルーム", + "MOCK_02": "公式サーバー", + "MOCK_03": "招待リンク", + "MOCK_04": "ルーム内のメンバー", + "MOCK_05": "YOU", + "MOCK_06": "Playing", + "MOCK_07": "Peer", + "MOCK_08": "ルームを退室", + "MOCK_09": "ビデオを選択", + "MOCK_10": "リモートコントロール", + "MOCK_11": " Play", + "MOCK_12": " Pause", + "MOCK_13": " SYNC", + "MOCK_14": "他の人に合わせる", + "MOCK_15": "最新のアクティビティ状況", + "MOCK_16": "1人のメンバー (KoalaPC) を待機中...", + "MOCK_17": "スキップして再生", + "MOCK_18": "ユーザー名", + "MOCK_19": "不要なタブを非表示", + "MOCK_20": "次のエピソードを自動同期", + "MOCK_21": "招待リンク自動コピー", + "MOCK_22": "ブラウザ通知", + "MOCK_23": "トラブルシューティング", + "MOCK_24": "ピアIDの再生成", + "MOCK_25": "「Duplicate Identity」(ID重複)エラーが表示される場合に使用します。", + "MOCK_26": "接続状態", + "MOCK_27": "Connected", + "MOCK_28": "ログをコピー", + "MOCK_29": "ビデオデバッグ情報", + "MOCK_30": "全アクション履歴", + "MOCK_31": "ログ(直近50件)", + "MOCK_32": "消去" +} \ No newline at end of file diff --git a/website/locales/ko.json b/website/locales/ko.json new file mode 100644 index 0000000..23c8de2 --- /dev/null +++ b/website/locales/ko.json @@ -0,0 +1,165 @@ +{ + "LANG_CODE": "ko", + "HTML_CLASS": "lang-ko", + "CANONICAL_PATH": "ko/", + "LANG_TOGGLE_URL": "", + "LANG_TOGGLE_TEXT": "EN", + "OG_LOCALE": "ko_KR", + "META_TITLE": "KoalaSync | Netflix, YouTube 및 모든 비디오를 친구와 실시간 동기화 시청", + "META_DESCRIPTION": "Netflix, YouTube, Twitch 및 모든 HTML5 비디오를 친구들과 완벽하게 동기화하여 시청하세요. Chrome 및 Firefox용 무료 오픈 소스 브라우저 확장 프로그램. 가입 필요 없음.", + "OG_TITLE": "KoalaSync | Netflix, Emby, Jellyfin 및 거의 모든 비디오를 친구와 동기화 시청", + "OG_DESCRIPTION": "Netflix, Emby, Jellyfin, YouTube, Twitch 및 거의 모든 HTML5 비디오를 완벽하게 동기화하여 시청하세요. Chrome 및 Firefox용 개인정보 보호 중심 오픈 소스 브라우저 확장 프로그램.", + "TWITTER_TITLE": "KoalaSync | Netflix, Emby, Jellyfin 및 거의 모든 비디오를 친구와 동기화 시청 – 브라우저 확장 프로그램", + "TWITTER_DESCRIPTION": "Netflix, Emby, Jellyfin, YouTube, Twitch 및 거의 모든 HTML5 비디오를 친구들과 완벽하게 동기화하여 시청하세요. Chrome 및 Firefox용 개인정보 보호 중심 오픈 소스 브라우저 확장 프로그램.", + "NAV_FEATURES": "특징", + "NAV_HOW_IT_WORKS": "작동 방식", + "HERO_TITLE": "함께 시청하세요.
완벽하게 동기화됩니다.", + "HERO_SUBTITLE": "지연 없는 원격 영화의 밤. 회원가입도, 데이터 수집도 없습니다. 링크를 공유하고 함께 시청하세요.", + "HERO_MASCOT_ALT": "다운로드 버튼을 내려다보고 서 있는 귀여운 코알라", + "ADD_TO_CHROME": "Chrome에 추가", + "ADD_TO_FIREFOX": "Firefox에 추가", + "COMPAT_HEADING": "가장 좋아하는 플랫폼에서 작동합니다", + "COMPAT_MORE": "그리고 더 많은 플랫폼", + "COMPAT_TOOLTIP": "비디오 요소가 있는 거의 모든 사이트에서 작동합니다", + "USE_CASES_TITLE": "어떤 상황에도 완벽합니다", + "USE_CASES_SUBTITLE": "가깝든 멀든, KoalaSync는 사람들이 좋아하는 비디오를 함께 즐길 수 있도록 연결해 줍니다.", + "USE_CASE_1_ALT": "함께 앉아 팝콘을 나눠 먹는 두 마리의 귀여운 코알라", + "USE_CASE_1_TITLE": "친구들과의 영화의 밤", + "USE_CASE_1_DESC": "비디오를 실시간으로 동기화하고 Discord, Zoom 또는 음성 채팅 앱으로 대화하세요. 마치 같은 방에 있는 것처럼 느껴집니다.", + "USE_CASE_2_ALT": "화면을 통해 두 마리의 원격 학생 코알라에게 강의를 진행하는 코알라 교수", + "USE_CASE_2_TITLE": "원격 학습", + "USE_CASE_2_DESC": "온라인 튜토리얼, 강의 또는 개발자 교육 스트림을 클래스메이트나 동료와 함께 분석해 보세요. 어려운 단계를 멈추고 토론할 수 있습니다.", + "USE_CASE_3_ALT": "원격으로 함께 시청하는 귀여운 코알라 커플. 한 명은 PC에 앉아 있고 다른 한 명은 노트북과 함께 침대에 있으며, 둘 사이에 하트가 날아다닙니다", + "USE_CASE_3_TITLE": "장거리 연애", + "USE_CASE_3_DESC": "거리의 한계를 넘어 데이트를 즐겨보세요. 모든 줄거리의 반전을 경험하고, 같은 농담에 웃으며, 감동적인 순간을 정확히 같은 밀리초에 공유하세요.", + "WHY_TITLE": "왜 KoalaSync인가요?", + "WHY_SUBTITLE": "신뢰할 수 있는 동기화, 개인정보 보호 중심 설계, 쉬운 설정을 위해 구축되었습니다.", + "FEATURE_1_TITLE": "완벽한 제어 / 즉시 동기화", + "FEATURE_1_DESC": "한 명이 일시정지하면 모두가 일시정지됩니다. 한 명이 탐색하면 모두가 따라갑니다. 당사의 2단계 동기화 프로토콜은 실시간으로 모든 참여자의 비디오 재생을 조율합니다.", + "FEATURE_2_TITLE": "끊임없는 몰아보기", + "FEATURE_2_DESC": "동기화된 자동 재생. KoalaSync는 에피소드 전환을 자동으로 감지하고 모든 참여자가 다음 비디오를 로드할 때까지 재생을 대기시킵니다.", + "FEATURE_3_TITLE": "계정 없음 / 완전한 개인정보 보호", + "FEATURE_3_DESC": "회원가입 없음, 추적 없음, 흔적을 남기지 않습니다. 서버는 휘발성 RAM에서만 완전히 실행되며 방을 나가면 영구히 삭제됩니다.", + "FEATURE_4_TITLE": "범용 HTML5 지원", + "FEATURE_4_DESC": "YouTube, Twitch, Netflix, Jellyfin, Emby 및 HTML5 비디오 요소가 포함된 거의 모든 웹 페이지에서 작동합니다. 사용자 정의 자체 호스팅 설정과도 호환됩니다.", + "FEATURE_5_TITLE": "자체 호스팅 가능 및 Docker 지원", + "FEATURE_5_DESC": "공식 서버는 무료이며 빠르지만, 원하는 경우 직접 호스팅할 수도 있습니다. Docker를 통해 몇 초 만에 나만의 개인 릴레이 서버를 구축해 보세요.", + "FEATURE_6_TITLE": "즉시 초대 / 클릭 한 번으로 참여", + "FEATURE_6_DESC": "IP 주소나 비밀번호를 교환할 필요가 없습니다. 생성된 초대 링크를 친구들과 공유하면 클릭 한 번으로 방에 자동으로 참여할 수 있습니다.", + "COMP_TITLE": "KoalaSync 대 Teleparty", + "COMP_SUBTITLE": "오픈 소스, 광고 없음, 개인정보 보호 중심의 서비스가 왜 함께 시청하기에 더 우수한지 확인해 보세요.", + "COMP_COL_FEATURE": "기능", + "COMP_FEAT_1_NAME": "비용 / 유료 결제", + "COMP_FEAT_1_DESC": "프리미ウム 구독, 숨겨진 수수료 또는 차단된 기능.", + "COMP_FEAT_1_KOALA": "100% 무료", + "COMP_FEAT_1_TELE": "유료 요금제 / 프리미ウム 제한", + "COMP_FEAT_2_NAME": "라이선스 / 코드 감사 가능 여부", + "COMP_FEAT_2_DESC": "소스 코드가 공개되어 있으며 자유롭게 감사할 수 있는지 여부.", + "COMP_FEAT_2_KOALA": "오픈 소스 (MIT)", + "COMP_FEAT_2_TELE": "독점 라이선스 (Proprietary)", + "COMP_FEAT_3_NAME": "자체 호스팅", + "COMP_FEAT_3_DESC": "자신만의 개인 릴레이 서버를 배포할 수 있는 기능.", + "COMP_FEAT_3_KOALA": "지원 (Docker 지원)", + "COMP_FEAT_3_TELE": "미지원", + "COMP_FEAT_4_NAME": "개인정보 보호 및 추적", + "COMP_FEAT_4_DESC": "회원가입 요구사항, 추적 쿠키 및 분석 도구 사용 여부.", + "COMP_FEAT_4_KOALA": "흔적 없음 (RAM만 사용)", + "COMP_FEAT_4_TELE": "구글 애널리틱스 및 쿠키 사용", + "COMP_FEAT_5_NAME": "사이트 호환성", + "COMP_FEAT_5_DESC": "지원되는 웹사이트 및 플레이어 호환성.", + "COMP_FEAT_5_KOALA": "거의 모든 HTML5 비디오", + "COMP_FEAT_5_TELE": "지원되는 사이트만 가능", + "COMP_FEAT_6_NAME": "로컬라이징 / 다국어 지원", + "COMP_FEAT_6_DESC": "제공되는 인터페이스 언어 및 번역 지원 여부.", + "COMP_FEAT_6_KOALA": "13개 언어 지원 (추가 중)", + "COMP_FEAT_6_TELE": "영어만 지원", + "COMP_FOOTNOTE_1": "비교 기준일: 2026년 5월.", + "COMP_FOOTNOTE_2": "공식 Teleparty Premium 요금제 및 지원되는 네트워크 세부 정보:", + "COMP_FOOTNOTE_3": "Teleparty 개인정보 처리방침 및 추적 데이터 수집 정보:", + "COMP_FOOTNOTE_4": "표준 HTML5 비디오 태그에 스크립트 삽입을 허용하는 웹사이트에서 작동합니다. 콘텐츠 보안 정책(CSP)이 매우 엄격하거나, DRM 복사 방지가 적용되었거나, 플레이어 래퍼가 복잡하게 난독화된 웹사이트(예: 복잡한 섀도 DOM)에서는 자동 제어 또는 스크립트 삽입이 제한될 수 있습니다.", + "STEPS_TITLE": "시작하기", + "STEP_1_TITLE": "확장 프로그램 설치", + "STEP_1_DESC": "Chrome 웹 스토어, Firefox 부가 기능에서 KoalaSync를 브라우저에 추가하거나, GitHub에서 최신 개발자용 ZIP 파일을 다운로드하세요.", + "STEP_1_ILLUS_DESC": "개인정보 보호 중심의 비디오 동기화 프로그램", + "STEP_1_ILLUS_DL_CHROME": "Chrome용 다운로드", + "STEP_1_ILLUS_DL_FIREFOX": "Firefox용 다운로드", + "STEP_1_ILLUS_ACTIVE": "확장 프로그램 활성화됨", + "STEP_1_ILLUS_READY": "함께 시청할 준비가 되었습니다!", + "STEP_2_TITLE": "방 만들기", + "STEP_2_DESC": "확장 프로그램 팝업을 열고 '+ 새 방 만들기'를 클릭하세요. KoalaSync가 안전한 방 ID와 비밀번호를 자동으로 생성하고, 참여한 후 초대 링크를 클립보드에 복사합니다.", + "STEP_2_ILLUS_ROOM": "방", + "STEP_2_ILLUS_SYNC": "동기화", + "STEP_2_ILLUS_SETTINGS": "설정", + "STEP_2_ILLUS_CREATE": "+ 새 방 만들기", + "STEP_2_ILLUS_MANUAL": "수동 연결 / 고급", + "STEP_2_ILLUS_COPIED": "초대 링크가 복사되었습니다!", + "STEP_3_TITLE": "공유 및 동기화", + "STEP_3_DESC": "친구들에게 초대 링크를 보내세요. 친구들이 참여하면 비디오 탭을 선택하고 동기화된 재생을 즐기세요.", + "STEP_3_ILLUS_IN_SYNC": "동기화됨", + "SELF_TITLE": "자체 호스팅 사용자를 위한 안내", + "SELF_SUBTITLE": "공식 서버를 신뢰하기 어려우신가요? 완벽한 데이터 주권을 유지하세요. 몇 분 만에 나만의 개인 릴레이 서버를 구축할 수 있습니다.", + "SELF_MASCOT_ALT": "자체 호스팅을 위해 Docker 컨테이너를 배포하며 노트북 앞에 앉아 있는 귀여운 코알라", + "SELF_COPY_CODE": "코드 복사", + "SELF_GITHUB_PACKAGES": "GitHub Packages에서 모든 이미지 태그 보기", + "BOTTOM_TITLE": "아직 고민되시나요? 직접 확인해 보세요.", + "BOTTOM_SUBTITLE": "KoalaSync는 100% 오픈 소스이며, 광고와 추적이 없습니다. GitHub에서 코드 베이스를 감사하거나 브라우저 확장 프로그램을 직접 설치해 보세요.", + "BOTTOM_MASCOT_ALT": "GitHub 마스코트인 Octocat 옆에서 GitHub 저장소 페이지를 들고 있는 귀여운 코알라", + "FAQ_TITLE": "자주 묻는 질문", + "FAQ_SUBTITLE": "완벽한 동기화로 비디오를 함께 시청하는 방법에 대해 알아야 할 모든 것.", + "FAQ_Q1": "친구들과 Netflix, Emby 또는 Jellyfin을 함께 동기화하여 시청할 수 있나요?", + "FAQ_A1": "네! KoalaSync는 Netflix, YouTube, Twitch 및 HTML5 비디오 플레이어가 있는 모든 웹사이트(Emby, Jellyfin 및 자체 호스팅 미디어 서버 포함)에서 작동합니다. 확장 프로그램을 설치하고 방을 만든 후 초대 링크를 공유하면 모두가 완벽하게 동기화되어 시청할 수 있습니다.", + "FAQ_Q2": "KoalaSync는 Teleparty의 무료 대체 서비스인가요?", + "FAQ_A2": "MIT 라이선스에 따라 100% 무료이며 오픈 소스입니다. 프리미ウム 등급도, 제한된 기능도, 광고도 없습니다. 모든 것이 포함되어 있습니다. Teleparty와 달리 KoalaSync의 릴레이 서버는 가입이나 개인정보 수집 없이 RAM에서만 실행됩니다.", + "FAQ_Q3": "KoalaSync는 Emby, Jellyfin 및 자체 호스팅 미디어 서버에서 작동하나요?", + "FAQ_A3": "네. KoalaSync는 표준 HTML5 비디오 요소를 감지하므로 Emby, Jellyfin, Plex 및 모든 사용자 정의 자체 호스팅 스트리밍 설정에서 완벽하게 작동합니다. 데이터 주권을 완전히 유지하기 위해 Docker를 통해 KoalaSync 릴레이 서버를 직접 호스팅할 수도 있습니다.", + "FAQ_Q4": "어떤 브라우저와 플랫폼이 KoalaSync를 지원하나요?", + "FAQ_A4": "Google Chrome, Mozilla Firefox, Microsoft Edge, Opera, Brave 및 모든 Chromium 기반 브라우저를 지원합니다. Chrome 웹 스토어 또는 Firefox 부가 기능에서 직접 설치하세요. 수동 설정이 필요 없습니다.", + "FAQ_Q5": "친구들 모두 확장 프로그램을 설치해야 하나요?", + "FAQ_A5": "네, 각 참여자 모두 KoalaSync를 설치해야 합니다. 단, 가입이나 계정 생성은 필요하지 않습니다. 초대 링크를 클릭하고, 아직 설치하지 않았다면 확장 프로그램을 설치하면 몇 초 만에 자동으로 방에 참여하게 됩니다.", + "FAQ_Q6": "제 데이터는 안전한가요? 공식 서버를 믿지 못하겠다면 어떻게 하나요?", + "FAQ_A6": "완전히 안전합니다. KoalaSync의 릴레이 서버는 RAM 전용으로 작동하여, 방을 나가는 즉시 모든 세션 데이터가 영구적으로 삭제됩니다. 데이터베이스도, 로그도, 분석도, 계정도 없습니다. 완전한 제어를 원하신다면 Docker를 통해 몇 분 만에 나만의 개인 릴레이 서버를 직접 호스팅할 수 있습니다. 전체 소스 코드는 오픈 소스이며 GitHub에서 확인할 수 있습니다.", + "HOWTO_TITLE": "KoalaSync를 사용하여 친구들과 비디오를 동기화하는 방법", + "HOWTO_DESC": "YouTube, Netflix, Twitch 등에서 친구들과 완벽하게 동기화하여 비디오를 시청하세요. 가입 없음, 추적 없음.", + "HOWTO_STEP_1_NAME": "브라우저 확장 프로그램 설치", + "HOWTO_STEP_1_TEXT": "Chrome 웹 스토어 또는 Firefox 부가 기능에서 KoalaSync를 브라우저에 추가하세요. 비디오 요소가 있는 모든 웹사이트에서 작동합니다.", + "HOWTO_STEP_2_NAME": "방 만들기", + "HOWTO_STEP_2_TEXT": "확장 프로그램 팝업을 열고 '새 방 만들기'를 클릭하세요. 초대 링크가 클rip보드에 자동으로 복사됩니다.", + "HOWTO_STEP_3_NAME": "공유 및 동기화", + "HOWTO_STEP_3_TEXT": "친구들에게 초대 링크를 보내세요. 비디오 탭을 선택하고 실시간으로 동기화된 재생을 즐기세요.", + "FOOTER_MIT": "MIT 라이선스에 따른 오픈 소스.", + "FOOTER_RAM": "서버에 데이터가 저장되지 않습니다. 순수 RAM 기반 릴레이.", + "FOOTER_LEGAL": "법적 고지", + "FOOTER_PRIVACY": "개인정보 처리방침", + "MOCK_01": "활성 방", + "MOCK_02": "공식 서버", + "MOCK_03": "초대 링크", + "MOCK_04": "방의 참여자", + "MOCK_05": "YOU", + "MOCK_06": "Playing", + "MOCK_07": "Peer", + "MOCK_08": "방 나가기", + "MOCK_09": "비디오 선택", + "MOCK_10": "원격 제어", + "MOCK_11": " Play", + "MOCK_12": " Pause", + "MOCK_13": " SYNC", + "MOCK_14": "다른 사람에게 이동", + "MOCK_15": "최근 활동 상태", + "MOCK_16": "참여자 1명 (KoalaPC) 대기 중...", + "MOCK_17": "건너뛰고 재생", + "MOCK_18": "사용자 이름", + "MOCK_19": "복잡한 탭 숨기기", + "MOCK_20": "다음 에피소드 자동 동기화", + "MOCK_21": "초대 링크 자동 복사", + "MOCK_22": "브라우저 알림", + "MOCK_23": "문제 해결", + "MOCK_24": "피어 ID 재생성", + "MOCK_25": "\"중복된 ID\" 오류가 발생할 경우에 사용하세요.", + "MOCK_26": "연결 상태", + "MOCK_27": "Connected", + "MOCK_28": "로그 복사", + "MOCK_29": "비디오 디버그 정보", + "MOCK_30": "전체 작업 내역", + "MOCK_31": "로그 (최근 50개)", + "MOCK_32": "지우기" +} \ No newline at end of file diff --git a/website/locales/nl.json b/website/locales/nl.json new file mode 100644 index 0000000..f0d605b --- /dev/null +++ b/website/locales/nl.json @@ -0,0 +1,165 @@ +{ + "LANG_CODE": "nl", + "HTML_CLASS": "lang-nl", + "CANONICAL_PATH": "nl/", + "LANG_TOGGLE_URL": "", + "LANG_TOGGLE_TEXT": "EN", + "OG_LOCALE": "nl_NL", + "META_TITLE": "KoalaSync | Synchroniseer Netflix, YouTube & elke video met vrienden", + "META_DESCRIPTION": "Bekijk Netflix, YouTube, Twitch en elke HTML5-video in perfecte synchronisatie met vrienden. Gratis, open-source browserextensie voor Chrome en Firefox. Geen registratie nodig.", + "OG_TITLE": "KoalaSync | Synchroniseer Netflix, Emby, Jellyfin & bijna elke video met vrienden", + "OG_DESCRIPTION": "Bekijk Netflix, Emby, Jellyfin, YouTube, Twitch en bijna elke HTML5-video in perfecte synchronisatie. Privacy-first, open-source browserextensie voor Chrome & Firefox.", + "TWITTER_TITLE": "KoalaSync | Synchroniseer Netflix, Emby, Jellyfin & bijna elke video met vrienden – Browserextensie", + "TWITTER_DESCRIPTION": "Bekijk Netflix, Emby, Jellyfin, YouTube, Twitch en bijna elke HTML5-video in perfecte synchronisatie met vrienden. Privacy-first, open-source browserextensie voor Chrome en Firefox.", + "NAV_FEATURES": "Functies", + "NAV_HOW_IT_WORKS": "Hoe het werkt", + "HERO_TITLE": "Samen Kijken.
Perfect Synchroniseren.", + "HERO_SUBTITLE": "Uw filmavond op afstand zonder vertraging. Geen registratie, geen gegevensverzameling. Deel gewoon een link en kijk samen.", + "HERO_MASCOT_ALT": "Een schattige koala die staat en naar beneden kijkt naar de downloadknoppen", + "ADD_TO_CHROME": "Toevoegen aan Chrome", + "ADD_TO_FIREFOX": "Toevoegen aan Firefox", + "COMPAT_HEADING": "Werkt op uw favoriete platforms", + "COMPAT_MORE": "en nog veel meer", + "COMPAT_TOOLTIP": "Werkt op bijna elke site met een video-element", + "USE_CASES_TITLE": "Perfect voor elke gelegenheid", + "USE_CASES_SUBTITLE": "Of u nu dichtbij of ver weg bent, KoalaSync brengt mensen samen rond hun favoriete video's.", + "USE_CASE_1_ALT": "Twee schattige koala's die samen zitten en een emmer popcorn delen", + "USE_CASE_1_TITLE": "Filmavond met vrienden", + "USE_CASE_1_DESC": "Synchroniseer uw films in realtime en praat via Discord, Zoom of uw favoriete spraakoproep-app. Het voelt alsof u in dezelfde kamer zit.", + "USE_CASE_2_ALT": "Een koala-professor die op een scherm presenteert aan twee externe student-koala's", + "USE_CASE_2_TITLE": "Leren op afstand", + "USE_CASE_2_DESC": "Analyseer samen met klasgenoten of collega's online handleidingen, lezingen of trainingstreams voor ontwikkelaars. Pauzeer en bespreek complexe stappen in perfecte harmonie.", + "USE_CASE_3_ALT": "Een schattig koala-koppel dat op afstand samen kijkt; de een zit achter een pc and de ander ligt in bed met een laptop, met vliegende hartjes tussen hen in", + "USE_CASE_3_TITLE": "Langeafstandrelaties", + "USE_CASE_3_DESC": "Overbrug de afstand en geniet van date nights. Ervaar elke plotwending, lach om dezelfde grappen en deel emotionele momenten op exact dezelfde milliseconde.", + "WHY_TITLE": "Waarom KoalaSync?", + "WHY_SUBTITLE": "Gebouwd voor betrouwbare synchronisatie, privacy-first ontwerp en eenvoudige installatie.", + "FEATURE_1_TITLE": "Volledige controle / Directe synchronisatie", + "FEATURE_1_DESC": "Eén pauzeert, iedereen pauzeert. Eén spoelt, iedereen volgt. Ons tweefasige synchronisatieprotocol coördineert het afspelen in realtime voor alle deelnemers.", + "FEATURE_2_TITLE": "Eindeloos binge-watchen", + "FEATURE_2_DESC": "Automatisch afspelen in sync. KoalaSync detecteert automatisch afleveringsovergangen en houdt het afspelen vast totdat alle deelnemers de volgende video succesvol hebben geladen.", + "FEATURE_3_TITLE": "Geen accounts / Pure privacy", + "FEATURE_3_DESC": "Geen registratie, geen tracking, geen permanente voetafdruk. De server draait volledig in het tijdelijke RAM en wist uw kamer wanneer u vertrekt.", + "FEATURE_4_TITLE": "Universele HTML5-ondersteuning", + "FEATURE_4_DESC": "Werkt op YouTube, Twitch, Netflix, Jellyfin, Emby en bijna elke standaard webpagina met een HTML5-video-element. Ook compatibel met aangepaste zelfgehoste installaties.", + "FEATURE_5_TITLE": "Zelf te hosten & Docker-ready", + "FEATURE_5_DESC": "Onze officiële servers zijn gratis en snel, maar u kunt de volledige controle nemen als u dat wilt. Start uw eigen privé-relayserver in seconden via Docker.", + "FEATURE_6_TITLE": "Directe uitnodigingen / 1-klik deelname", + "FEATURE_6_DESC": "Geen IP-adressen of wachtwoorden om uit te wisselen. Deel een gegenereerde uitnodigingslink met uw vrienden om ze met een enkele klik automatisch deel te laten nemen.", + "COMP_TITLE": "KoalaSync vs. Teleparty", + "COMP_SUBTITLE": "Ontdek waarom open-source, reclamevrij en privacy-first de superieure manier is om samen te kijken.", + "COMP_COL_FEATURE": "Functie", + "COMP_FEAT_1_NAME": "Kosten / Betaalmuren", + "COMP_FEAT_1_DESC": "Premium abonnementen, verborgen kosten of vergrendelde functies.", + "COMP_FEAT_1_KOALA": "100% Gratis", + "COMP_FEAT_1_TELE": "Betaalde abonnementen / Premium-blokkades", + "COMP_FEAT_2_NAME": "Licentie / Code auditeerbaar", + "COMP_FEAT_2_DESC": "Of de broncode open en vrij auditeerbaar is.", + "COMP_FEAT_2_KOALA": "Open Source (MIT)", + "COMP_FEAT_2_TELE": "Propriëtair", + "COMP_FEAT_3_NAME": "Self-hosting", + "COMP_FEAT_3_DESC": "Mogelijkheid om uw eigen privé-relayserver te implementeren.", + "COMP_FEAT_3_KOALA": "Ja (Docker-ready)", + "COMP_FEAT_3_TELE": "Nee", + "COMP_FEAT_4_NAME": "Privacy & Tracking", + "COMP_FEAT_4_DESC": "Registratievereisten, trackingcookies en analyses.", + "COMP_FEAT_4_KOALA": "Geen persistentie (alleen RAM)", + "COMP_FEAT_4_TELE": "Google Analytics & Cookies", + "COMP_FEAT_5_NAME": "Site-compatibiliteit", + "COMP_FEAT_5_DESC": "Ondersteunde websites en compatibiliteit van spelers.", + "COMP_FEAT_5_KOALA": "Bijna elke HTML5-video", + "COMP_FEAT_5_TELE": "Alleen ondersteunde sites", + "COMP_FEAT_6_NAME": "Lokalisatie / Vertaling", + "COMP_FEAT_6_DESC": "Beschikbare interfacetalen en vertaalondersteuning.", + "COMP_FEAT_6_KOALA": "13 talen (en groeiend)", + "COMP_FEAT_6_TELE": "Alleen Engels", + "COMP_FOOTNOTE_1": "Vergelijkingstijdstip: Mei 2026.", + "COMP_FOOTNOTE_2": "Officiële Teleparty Premium-prijzen en ondersteunde netwerkdetails:", + "COMP_FOOTNOTE_3": "Teleparty privacybeleid en trackinggegevensverzameling:", + "COMP_FOOTNOTE_4": "Werkt op websites die scriptinjecties in standaard HTML5-videotags toestaan. Websites met een zeer strikt Content Security Policy (CSP), DRM-kopieerbeveiliging of sterk versluierde spelers (zoals complexe shadow-DOM's) kunnen automatische controle of injectie beperken.", + "STEPS_TITLE": "Aan de slag", + "STEP_1_TITLE": "Extensie installeren", + "STEP_1_DESC": "Voeg KoalaSync toe aan uw browser vanuit de Chrome Web Store, Firefox-add-ons, of download de nieuwste ontwikkelaars-ZIP van GitHub.", + "STEP_1_ILLUS_DESC": "Privacy-first videosynchronisator", + "STEP_1_ILLUS_DL_CHROME": "Downloaden voor Chrome", + "STEP_1_ILLUS_DL_FIREFOX": "Downloaden voor Firefox", + "STEP_1_ILLUS_ACTIVE": "Extensie actief", + "STEP_1_ILLUS_READY": "Klaar om samen te kijken!", + "STEP_2_TITLE": "Kamer maken", + "STEP_2_DESC": "Open de extensie-popup en klik op '+ Nieuwe kamer maken'. KoalaSync genereert automatisch een beveiligde Kamer-ID en Wachtwoord, neemt deel en kopieert de uitnodigingslink naar uw klembord.", + "STEP_2_ILLUS_ROOM": "Kamer", + "STEP_2_ILLUS_SYNC": "Sync", + "STEP_2_ILLUS_SETTINGS": "Instellingen", + "STEP_2_ILLUS_CREATE": "+ Nieuwe kamer maken", + "STEP_2_ILLUS_MANUAL": "Handmatig verbinden / Geavanceerd", + "STEP_2_ILLUS_COPIED": "Uitnodigingslink gekopieerd!", + "STEP_3_TITLE": "Delen & Synchroniseren", + "STEP_3_DESC": "Stuur de uitnodigingslink naar uw vrienden. Zodra ze deelnemen, selecteert u uw videotabblad en geniet u van gesynchroniseerd afspelen.", + "STEP_3_ILLUS_IN_SYNC": "IN SYNC", + "SELF_TITLE": "Voor zelf-hosters", + "SELF_SUBTITLE": "Vertrouwt u onze server niet? Behoud de volledige soevereiniteit over uw gegevens. Implementeer uw eigen privé-relayserver in enkele minuten.", + "SELF_MASCOT_ALT": "Een schattige koala die achter een laptop zit en een Docker-container implementeert voor self-hosting", + "SELF_COPY_CODE": "Code kopiëren", + "SELF_GITHUB_PACKAGES": "Bekijk alle image-tags op GitHub Packages", + "BOTTOM_TITLE": "Niet overtuigd? Zie het zelf.", + "BOTTOM_SUBTITLE": "KoalaSync is 100% open-source, reclamevrij en trackingvrij. Controleer onze codebase op GitHub of installeer de browserextensie rechtstreeks.", + "BOTTOM_MASCOT_ALT": "Een schattige koala die een GitHub-repositorypagina vasthoudt naast de GitHub-mascotte Octocat", + "FAQ_TITLE": "Veelgestelde vragen", + "FAQ_SUBTITLE": "Alles wat u moet weten over het samen bekijken van video's in perfecte synchronisatie.", + "FAQ_Q1": "Kan ik Netflix, Emby of Jellyfin samen in sync kijken met vrienden?", + "FAQ_A1": "Ja! KoalaSync werkt op Netflix, YouTube, Twitch en elke website met een HTML5-videospeler — inclusief Emby, Jellyfin en zelfgehoste mediaservers. Installeer de extensie, maak een kamer, deel de uitnodigingslink en iedereen kijkt in perfecte sync.", + "FAQ_Q2": "Is KoalaSync een gratis alternatief voor Teleparty?", + "FAQ_A2": "100% gratis en open-source onder de MIT-licentie. Geen premium-niveaus, geen vergrendelde functies, geen advertenties — alles is inbegrepen. In tegenstelling tot Teleparty is de relayserver van KoalaSync alleen in het RAM-geheugen met nul gegevensverzameling of gebruikersaccounts vereist.", + "FAQ_Q3": "Werkt KoalaSync met Emby, Jellyfin en zelfgehoste mediaservers?", + "FAQ_A3": "Ja. KoalaSync detecteert elk standaard HTML5-video-element, wat betekent dat het perfect werkt met Emby, Jellyfin, Plex en elke aangepaste zelfgehoste streaminginstallatie. U kunt de KoalaSync-relayserver ook zelf hosten via Docker voor volledige soevereiniteit over uw gegevens.", + "FAQ_Q4": "Welke browsers en platforms ondersteunen KoalaSync?", + "FAQ_A4": "Google Chrome, Mozilla Firefox, Microsoft Edge, Opera, Brave en alle op Chromium gebaseerde browsers. Installeer het rechtstreeks vanuit de Chrome Web Store of Firefox Add-ons — geen handmatige configuratie nodig.", + "FAQ_Q5": "Moeten al mijn vrienden de extensie geïnstalleerd hebben?", + "FAQ_A5": "Ja, elke deelnemer moet KoalaSync geïnstalleerd hebben — maar er is geen aanmelding of accountcreatie. Klik gewoon op de uitnodigingslink, installeer de extensie als u dat nog niet hebt gedaan, en u neemt binnen enkele seconden automatisch deel aan de kamer.", + "FAQ_Q6": "Zijn mijn gegevens veilig? Wat als ik de officiële server niet vertrouw?", + "FAQ_A6": "Volledig veilig. De relayserver van KoalaSync is alleen in het RAM-geheugen — alle sessiegegevens worden permanent verwijderd zodra u de kamer verlaat. Geen database, geen logboeken, geen analyses, geen accounts. En als u de voorkeur geeft aan volledige controle: u kunt uw eigen privé-relayserver binnen enkele minuten zelf hosten via Docker. De volledige codebase is open-source en auditeerbaar op GitHub.", + "HOWTO_TITLE": "Hoe video's te synchroniseren met vrienden via KoalaSync", + "HOWTO_DESC": "Bekijk elke video in perfecte synchronisatie met vrienden op YouTube, Netflix, Twitch en meer. Geen aanmelding, geen tracking.", + "HOWTO_STEP_1_NAME": "Installeer de browserextensie", + "HOWTO_STEP_1_TEXT": "Voeg KoalaSync toe aan uw browser vanuit de Chrome Web Store of Firefox Add-ons. Het werkt op elke website met een video-element.", + "HOWTO_STEP_2_NAME": "Maak een kamer", + "HOWTO_STEP_2_TEXT": "Open de extensie-popup en klik op Nieuwe kamer maken. De uitnodigingslink wordt automatisch naar uw klembord gekopieerd.", + "HOWTO_STEP_3_NAME": "Delen en synchroniseren", + "HOWTO_STEP_3_TEXT": "Stuur de uitnodigingslink naar uw vrienden. Kies een videotabblad en geniet in realtime van gesynchroniseerd afspelen.", + "FOOTER_MIT": "Open source onder de MIT-licentie.", + "FOOTER_RAM": "Er worden geen gegevens opgeslagen op onze servers. Pure retransmissie via RAM.", + "FOOTER_LEGAL": "Juridische kennisgeving", + "FOOTER_PRIVACY": "Privacybeleid", + "MOCK_01": "Actieve kamer", + "MOCK_02": "Officiële server", + "MOCK_03": "Uitnodigingslink", + "MOCK_04": "Deelnemers in kamer", + "MOCK_05": "YOU", + "MOCK_06": "Playing", + "MOCK_07": "Peer", + "MOCK_08": "Kamer verlaten", + "MOCK_09": "Selecteer video", + "MOCK_10": "Afstandsbediening", + "MOCK_11": " Play", + "MOCK_12": " Pause", + "MOCK_13": " SYNC", + "MOCK_14": "Spring naar anderen", + "MOCK_15": "Laatste activiteitsstatus", + "MOCK_16": "Wachten op 1 deelnemer (KoalaPC)...", + "MOCK_17": "Overslaan & toch afspelen", + "MOCK_18": "Uw gebruikersnaam", + "MOCK_19": "Overbodige tabbladen verbergen", + "MOCK_20": "Volgende aflevering automatisch syncen", + "MOCK_21": "Uitnodigingslink automatisch kopiëren", + "MOCK_22": "Browsernotificaties", + "MOCK_23": "Problemen oplossen", + "MOCK_24": "Peer-ID opnieuw genereren", + "MOCK_25": "Gebruik dit als u fouten ziet over 'Duplicate Identity'.", + "MOCK_26": "Verbindingsstatus", + "MOCK_27": "Connected", + "MOCK_28": "Logs kopiëren", + "MOCK_29": "Video-debuginfo", + "MOCK_30": "Volledige actiegeschiedenis", + "MOCK_31": "Logs (Laatste 50)", + "MOCK_32": "WISSEN" +} \ No newline at end of file diff --git a/website/locales/pl.json b/website/locales/pl.json new file mode 100644 index 0000000..0adc19f --- /dev/null +++ b/website/locales/pl.json @@ -0,0 +1,165 @@ +{ + "LANG_CODE": "pl", + "HTML_CLASS": "lang-pl", + "CANONICAL_PATH": "pl/", + "LANG_TOGGLE_URL": "", + "LANG_TOGGLE_TEXT": "EN", + "OG_LOCALE": "pl_PL", + "META_TITLE": "KoalaSync | Synchronizuj Netflix, YouTube i dowolne wideo ze znajomymi", + "META_DESCRIPTION": "Oglądaj Netflix, YouTube, Twitch i dowolne wideo HTML5 w idealnej synchronizacji ze znajomymi. Darmowe rozszerzenie o otwartym kodzie dla Chrome i Firefox. Bez rejestracji.", + "OG_TITLE": "KoalaSync | Synchronizuj Netflix, Emby, Jellyfin i prawie każde wideo ze znajomymi", + "OG_DESCRIPTION": "Oglądaj Netflix, Emby, Jellyfin, YouTube, Twitch i prawie każde wideo HTML5 w idealnej synchronizacji. Zorientowane na prywatność rozszerzenie o otwartym kodzie dla Chrome i Firefox.", + "TWITTER_TITLE": "KoalaSync | Synchronizuj Netflix, Emby, Jellyfin i prawie każde wideo ze znajomymi – Rozszerzenie przeglądarki", + "TWITTER_DESCRIPTION": "Oglądaj Netflix, Emby, Jellyfin, YouTube, Twitch i prawie każde wideo HTML5 w idealnej synchronizacji ze znajomymi. Zorientowane na prywatność rozszerzenie o otwartym kodzie dla Chrome i Firefox.", + "NAV_FEATURES": "Funkcje", + "NAV_HOW_IT_WORKS": "Jak to działa", + "HERO_TITLE": "Oglądajcie Razem.
Synchronizujcie Idealnie.", + "HERO_SUBTITLE": "Twój zdalny wieczór filmowy bez opóźnień. Bez rejestracji, bez zbierania danych. Po prostu udostępnij link i oglądajcie razem.", + "HERO_MASCOT_ALT": "Uroczy koala stojący i patrzący w dół na przyciski pobierania", + "ADD_TO_CHROME": "Dodaj do Chrome", + "ADD_TO_FIREFOX": "Dodaj do Firefox", + "COMPAT_HEADING": "Działa na Twoich ulubionych platformach", + "COMPAT_MORE": "i wiele innych", + "COMPAT_TOOLTIP": "Działa na prawie każdej stronie z elementem wideo", + "USE_CASES_TITLE": "Idealny na każdą okazję", + "USE_CASES_SUBTITLE": "Blisko czy daleko, KoalaSync łączy ludzi wokół ich ulubionych filmów.", + "USE_CASE_1_ALT": "Dwa urocze koale siedzące razem i dzielące się kubełkiem popcornu", + "USE_CASE_1_TITLE": "Wieczór filmowy ze znajomymi", + "USE_CASE_1_DESC": "Synchronizuj filmy w czasie rzeczywistym i rozmawiaj przez Discord, Zoom lub inną aplikację. Poczuj się, jakbyście siedzieli w tym samym pokoju.", + "USE_CASE_2_ALT": "Koala profesor prezentujący na ekranie dwóm zdalnym studentom koalom", + "USE_CASE_2_TITLE": "Zdalna nauka", + "USE_CASE_2_DESC": "Analizujcie razem samouczki, wykłady lub szkolenia dla programistów z kolegami z klasy lub pracy. Zatrzymujcie i omawiajcie trudne kroki w pełnej harmonii.", + "USE_CASE_3_ALT": "Urocza para koali oglądająca razem na odległość; jedno siedzi przy komputerze, a drugie w łóżku z laptopem, z latającymi sercami między nimi", + "USE_CASE_3_TITLE": "Związki na odległość", + "USE_CASE_3_DESC": "Pokonaj odległość i ciesz się randkami. Przeżywajcie każdy zwrot akcji, śmiejcie się z tych samych żartów i dzielcie emocje w tej samej milisekundzie.", + "WHY_TITLE": "Dlaczego KoalaSync?", + "WHY_SUBTITLE": "Stworzony z myślą o niezawodnej synchronizacji, prywatności i łatwej konfiguracji.", + "FEATURE_1_TITLE": "Pełna kontrola / Natychmiastowa synchronizacja", + "FEATURE_1_DESC": "Jeden zatrzymuje, wszyscy zatrzymują. Jeden przewija, wszyscy podążają. Nasz dwufazowy protokół synchronizacji koordynuje odtwarzanie w czasie rzeczywistym u wszystkich uczestników.", + "FEATURE_2_TITLE": "Niekończące się oglądanie", + "FEATURE_2_DESC": "Autoodtwarzanie w synchronizacji. KoalaSync automatycznie wykrywa zmiany odcinków i wstrzymuje odtwarzanie, dopóki wszyscy uczestnicy nie załadują następnego filmu.", + "FEATURE_3_TITLE": "Zero kont / Czysta prywatność", + "FEATURE_3_DESC": "Bez rejestracji, bez śledzenia, bez trwałych śladów. Serwer działa w całości w pamięci RAM i czyści Twój pokój, gdy go opuszczasz.", + "FEATURE_4_TITLE": "Uniwersalne wsparcie HTML5", + "FEATURE_4_DESC": "Działa na YouTube, Twitch, Netflix, Jellyfin, Emby i prawie każdej standardowej stronie z elementem wideo HTML5. Kompatybilny również z własnymi serwerami.", + "FEATURE_5_TITLE": "Możliwość własnego hostowania i wsparcie Docker", + "FEATURE_5_DESC": "Nasze oficjalne serwery są darmowe i szybkie, ale możesz przejąć pełną kontrolę, jeśli chcesz. Uruchom własny serwer w kilka sekund za pomocą Dockera.", + "FEATURE_6_TITLE": "Natychmiastowe zaproszenia / Dołączanie 1 kliknięciem", + "FEATURE_6_DESC": "Bez wymiany adresów IP czy haseł. Udostępnij wygenerowany link zaproszenia znajomym, aby mogli automatycznie dołączyć do pokoju jednym kliknięciem.", + "COMP_TITLE": "KoalaSync vs. Teleparty", + "COMP_SUBTITLE": "Zobacz, dlaczego otwarty kod, brak reklam i ochrona prywatności to lepszy sposób na wspólne oglądanie.", + "COMP_COL_FEATURE": "Funkcja", + "COMP_FEAT_1_NAME": "Koszty / Paywalle", + "COMP_FEAT_1_DESC": "Subskrypcje premium, ukryte opłaty lub zablokowane funkcje.", + "COMP_FEAT_1_KOALA": "100% Darmowy", + "COMP_FEAT_1_TELE": "Płatne plany / Blokady premium", + "COMP_FEAT_2_NAME": "Licencja / Kod do wglądu", + "COMP_FEAT_2_DESC": "Czy kod źródłowy jest otwarty i można go swobodnie sprawdzać.", + "COMP_FEAT_2_KOALA": "Open Source (MIT)", + "COMP_FEAT_2_TELE": "Zamknięty (własnościowy)", + "COMP_FEAT_3_NAME": "Self-hosting", + "COMP_FEAT_3_DESC": "Możliwość wdrożenia własnego prywatnego serwera.", + "COMP_FEAT_3_KOALA": "Tak (Wsparcie dla Docker)", + "COMP_FEAT_3_TELE": "Nie", + "COMP_FEAT_4_NAME": "Prywatność i śledzenie", + "COMP_FEAT_4_DESC": "Wymogi rejestracji, ciasteczka śledzące i analityka.", + "COMP_FEAT_4_KOALA": "Brak trwałości (tylko RAM)", + "COMP_FEAT_4_TELE": "Google Analytics i ciasteczka", + "COMP_FEAT_5_NAME": "Kompatybilność ze stronami", + "COMP_FEAT_5_DESC": "Obsługiwane strony internetowe i kompatybilność odtwarzacza.", + "COMP_FEAT_5_KOALA": "Prawie każde wideo HTML5", + "COMP_FEAT_5_TELE": "Tylko obsługiwane strony", + "COMP_FEAT_6_NAME": "Lokalizacja / Tłumaczenie", + "COMP_FEAT_6_DESC": "Dostępne języki interfejsu i wsparcie tłumaczeń.", + "COMP_FEAT_6_KOALA": "13 języków (i rośnie)", + "COMP_FEAT_6_TELE": "Tylko angielski", + "COMP_FOOTNOTE_1": "Stan porównania: Maj 2026.", + "COMP_FOOTNOTE_2": "Szczegóły oficjalnych cen Teleparty Premium i obsługiwanych sieci:", + "COMP_FOOTNOTE_3": "Polityka prywatności Teleparty i zbieranie danych śledzenia:", + "COMP_FOOTNOTE_4": "Działa na stronach zezwalających na wstrzykiwanie skryptów do standardowych tagów wideo HTML5. Strony z bardzo rygorystycznymi zasadami bezpieczeństwa (CSP), zabezpieczeniami DRM (kopiowanie) lub mocno zaciemnionymi odtwarzaczami (jak złożone systemy shadow DOM) mogą ograniczać zdalne sterowanie.", + "STEPS_TITLE": "Jak zacząć", + "STEP_1_TITLE": "Zainstaluj rozszerzenie", + "STEP_1_DESC": "Dodaj KoalaSync do swojej przeglądarki z Chrome Web Store, Firefox Add-ons lub pobierz najnowsze archiwum ZIP dla deweloperów z GitHub.", + "STEP_1_ILLUS_DESC": "Synchronizator wideo dbający o prywatność", + "STEP_1_ILLUS_DL_CHROME": "Pobierz dla Chrome", + "STEP_1_ILLUS_DL_FIREFOX": "Pobierz dla Firefox", + "STEP_1_ILLUS_ACTIVE": "Rozszerzenie aktywne", + "STEP_1_ILLUS_READY": "Gotowe do wspólnego oglądania!", + "STEP_2_TITLE": "Utwórz pokój", + "STEP_2_DESC": "Otwórz okienko rozszerzenia i kliknij '+ Utwórz nowy pokój'. KoalaSync automatycznie wygeneruje bezpieczny ID pokoju oraz hasło, dołączy do niego i skopiuje link zaproszenia do schowka.", + "STEP_2_ILLUS_ROOM": "Pokój", + "STEP_2_ILLUS_SYNC": "Sync", + "STEP_2_ILLUS_SETTINGS": "Ustawienia", + "STEP_2_ILLUS_CREATE": "+ Utwórz nowy pokój", + "STEP_2_ILLUS_MANUAL": "Połączenie ręczne / Zaawansowane", + "STEP_2_ILLUS_COPIED": "Link zaproszenia skopiowany!", + "STEP_3_TITLE": "Udostępnij i synchronizuj", + "STEP_3_DESC": "Wyślij link zaproszenia znajomym. Gdy dołączą, wybierz kartę z filmem i ciesz się zsynchronizowanym odtwarzaniem.", + "STEP_3_ILLUS_IN_SYNC": "ZSYNCHRONIZOWANO", + "SELF_TITLE": "Dla hostujących samodzielnie", + "SELF_SUBTITLE": "Nie ufasz naszemu serwerowi? Zachowaj pełną suwerenność danych. Wdróż własny prywatny serwer w kilka minut.", + "SELF_MASCOT_ALT": "Uroczy koala siedzący przy laptopie i wdrażający kontener Docker do samodzielnego hostowania", + "SELF_COPY_CODE": "Kopiuj kod", + "SELF_GITHUB_PACKAGES": "Zobacz wszystkie tagi obrazów w GitHub Packages", + "BOTTOM_TITLE": "Nieprzekonany? Zobacz sam.", + "BOTTOM_SUBTITLE": "KoalaSync jest w 100% otwarty, wolny od reklam i śledzenia. Zbadaj nasz kod na GitHubie lub zainstaluj rozszerzenie bezpośrednio.", + "BOTTOM_MASCOT_ALT": "Uroczy koala trzymający stronę repozytorium GitHub obok maskotki GitHuba Octocata", + "FAQ_TITLE": "Często zadawane pytania", + "FAQ_SUBTITLE": "Wszystko, co musisz wiedzieć o wspólnym oglądaniu filmów w idealnej synchronizacji.", + "FAQ_Q1": "Czy mogę oglądać Netflix, Emby lub Jellyfin w synchronizacji ze znajomymi?", + "FAQ_A1": "Tak! KoalaSync działa na Netflix, YouTube, Twitch i każdej stronie z odtwarzaczem wideo HTML5 — w tym Emby, Jellyfin i własnych serwerach mediów. Zainstaluj rozszerzenie, utwórz pokój, udostępnij link i wszyscy oglądają w idealnej synchronizacji.", + "FAQ_Q2": "Czy KoalaSync to darmowa alternatywa dla Teleparty?", + "FAQ_A2": "W 100% darmowy i o otwartym kodzie na licencji MIT. Brak planów premium, brak zablokowanych funkcji, brak reklam — wszystko jest w cenie. W przeciwieństwie do Teleparty, serwer KoalaSync działa tylko w pamięci RAM, bez zbierania danych i bez kont użytkowników.", + "FAQ_Q3": "Czy KoalaSync działa z Emby, Jellyfin i własnymi serwerami mediów?", + "FAQ_A3": "Tak. KoalaSync wykrywa każdy standardowy element wideo HTML5, co oznacza, że działa idealnie z Emby, Jellyfin, Plexem i dowolnymi własnymi rozwiązaniami streamingowymi. Możesz również samodzielnie hostować serwer przez Dockera.", + "FAQ_Q4": "Które przeglądarki i platformy obsługują KoalaSync?", + "FAQ_A4": "Google Chrome, Mozilla Firefox, Microsoft Edge, Opera, Brave i wszystkie przeglądarki oparte na Chromium. Zainstaluj je bezpośrednio z Chrome Web Store lub Firefox Add-ons — nie jest wymagana ręczna konfiguracja.", + "FAQ_Q5": "Czy wszyscy moi znajomi muszą mieć zainstalowane rozszerzenie?", + "FAQ_A5": "Tak, każdy uczestnik musi mieć zainstalowane KoalaSync — ale nie ma rejestracji ani tworzenia kont. Po prostu kliknij link zaproszenia, zainstaluj rozszerzenie, jeśli jeszcze tego nie zrobiłeś, a dołączysz do pokoju automatycznie w kilka sekund.", + "FAQ_Q6": "Czy moje dane są bezpieczne? Co jeśli nie ufam oficjalnemu serwerowi?", + "FAQ_A6": "Całkowicie bezpieczne. Serwer KoalaSync działa tylko w pamięci RAM — wszystkie dane sesji są trwale usuwane w momencie opuszczenia pokoju. Brak bazy danych, brak logowania, brak analityki, brak kont. A jeśli wolisz pełną kontrolę: możesz samodzielmente uruchomić własny serwer przez Dockera w kilka minut. Cały kod źródłowy jest otwarty i dostępny na GitHubie.", + "HOWTO_TITLE": "Jak synchronizować wideo ze znajomymi za pomocą KoalaSync", + "HOWTO_DESC": "Oglądaj dowolne wideo w idealnej synchronizacji ze znajomymi na YouTube, Netflix, Twitch i innych. Bez rejestracji, bez śledzenia.", + "HOWTO_STEP_1_NAME": "Zainstaluj rozszerzenie przeglądarki", + "HOWTO_STEP_1_TEXT": "Dodaj KoalaSync do swojej przeglądarki z Chrome Web Store lub Firefox Add-ons. Działa na każdej stronie z elementem wideo.", + "HOWTO_STEP_2_NAME": "Utwórz pokój", + "HOWTO_STEP_2_TEXT": "Otwórz okienko rozszerzenia i kliknij Utwórz nowy pokój. Link zaproszenia zostanie automatycznie skopiowany do schowka.", + "HOWTO_STEP_3_NAME": "Udostępnij i synchronizuj", + "HOWTO_STEP_3_TEXT": "Wyślij link zaproszenia znajomym. Wybierz kartę z wideo i ciesz się zsynchronizowanym odtwarzaniem w czasie rzeczywistym.", + "FOOTER_MIT": "Otwarty kod na licencji MIT.", + "FOOTER_RAM": "Żadne dane nie są przechowywane na naszych serwerach. Czysty przekaźnik w pamięci RAM.", + "FOOTER_LEGAL": "Nota prawna", + "FOOTER_PRIVACY": "Polityka prywatności", + "MOCK_01": "Aktywny pokój", + "MOCK_02": "Oficjalny serwer", + "MOCK_03": "Link do zaproszenia", + "MOCK_04": "Uczestnicy w pokoju", + "MOCK_05": "YOU", + "MOCK_06": "Playing", + "MOCK_07": "Peer", + "MOCK_08": "Opuść pokój", + "MOCK_09": "Wybierz wideo", + "MOCK_10": "Zdalne sterowanie", + "MOCK_11": " Play", + "MOCK_12": " Pause", + "MOCK_13": " SYNC", + "MOCK_14": "Skocz do innych", + "MOCK_15": "Status ostatniej aktywności", + "MOCK_16": "Oczekiwanie na 1 uczestnika (KoalaPC)...", + "MOCK_17": "Pomiń i odtwórz mimo to", + "MOCK_18": "Twoja nazwa użytkownika", + "MOCK_19": "Ukryj zbędne karty", + "MOCK_20": "Auto-sync następnego odcinka", + "MOCK_21": "Auto-kopiowanie zaproszenia", + "MOCK_22": "Powiadomienia przeglądarki", + "MOCK_23": "Rozwiązywanie problemów", + "MOCK_24": "Wygeneruj ponownie ID", + "MOCK_25": "Użyj tego, jeśli widzisz błędy o zduplikowanej tożsamości.", + "MOCK_26": "Status połączenia", + "MOCK_27": "Connected", + "MOCK_28": "Kopiuj logi", + "MOCK_29": "Info debugowania wideo", + "MOCK_30": "Pełna historia akcji", + "MOCK_31": "Logi (ostatnie 50)", + "MOCK_32": "WYCZYŚĆ" +} \ No newline at end of file diff --git a/website/locales/pt.json b/website/locales/pt.json new file mode 100644 index 0000000..d20a25e --- /dev/null +++ b/website/locales/pt.json @@ -0,0 +1,165 @@ +{ + "LANG_CODE": "pt", + "HTML_CLASS": "lang-pt", + "CANONICAL_PATH": "pt/", + "LANG_TOGGLE_URL": "", + "LANG_TOGGLE_TEXT": "EN", + "OG_LOCALE": "pt_PT", + "META_TITLE": "KoalaSync | Sincronize Netflix, YouTube e qualquer vídeo com os amigos", + "META_DESCRIPTION": "Veja Netflix, YouTube, Twitch e qualquer vídeo HTML5 em sincronia perfeita com os amigos. Extensão de navegador gratuita e de código aberto para Chrome e Firefox. Sem registo necessário.", + "OG_TITLE": "KoalaSync | Sincronize Netflix, Emby, Jellyfin e quase qualquer vídeo com os amigos", + "OG_DESCRIPTION": "Veja Netflix, Emby, Jellyfin, YouTube, Twitch e quase qualquer vídeo HTML5 em sincronia perfeita. Extensão de navegador de código aberto e focada na privacidade para Chrome e Firefox.", + "TWITTER_TITLE": "KoalaSync | Sincronize Netflix, Emby, Jellyfin e quase qualquer vídeo com os amigos – Extensão de Navegador", + "TWITTER_DESCRIPTION": "Veja Netflix, Emby, Jellyfin, YouTube, Twitch e quase qualquer vídeo HTML5 em sincronia perfeita com os amigos. Extensão de navegador de código aberto e focada na privacidade para Chrome e Firefox.", + "NAV_FEATURES": "Funcionalidades", + "NAV_HOW_IT_WORKS": "Como Funciona", + "HERO_TITLE": "Vejam Juntos.
Sincronizem Perfeitamente.", + "HERO_SUBTITLE": "A sua noite de cinema à distância e sem atrasos. Sem registo, sem recolha de dados. Partilhe apenas um link e vejam juntos.", + "HERO_MASCOT_ALT": "Um coala fofo em pé e a olhar para baixo para os botões de download", + "ADD_TO_CHROME": "Adicionar ao Chrome", + "ADD_TO_FIREFOX": "Adicionar ao Firefox", + "COMPAT_HEADING": "Funciona nas suas plataformas favoritas", + "COMPAT_MORE": "e muitos mais", + "COMPAT_TOOLTIP": "Funciona em quase todos os sites com um elemento de vídeo", + "USE_CASES_TITLE": "Perfeito para Qualquer Ocasião", + "USE_CASES_SUBTITLE": "Perto ou longe, o KoalaSync junta as pessoas em redor dos seus vídeos favoritos.", + "USE_CASE_1_ALT": "Dois coalas fofos sentados juntos e a partilhar um balde de pipocas", + "USE_CASE_1_TITLE": "Noite de Cinema com Amigos", + "USE_CASE_1_DESC": "Sincronize os seus filmes em tempo real e fale via Discord, Zoom ou a sua app de chamada de voz favorita. Parece que estão na mesma sala.", + "USE_CASE_2_ALT": "Um professor coala a dar uma apresentação num ecrã para dois estudantes coalas à distância", + "USE_CASE_2_TITLE": "Aprendizagem à Distância", + "USE_CASE_2_DESC": "Analise tutoriais online, palestras ou streams de formação com colegas. Pausa e discuta passos complexos em perfeita harmonia.", + "USE_CASE_3_ALT": "Um casal fofo de coalas a ver juntos à distância; um está sentado no PC e o outro está na cama com um portátil, com corações a voar entre eles", + "USE_CASE_3_TITLE": "Relacionamentos à Distância", + "USE_CASE_3_DESC": "Ponte para a distância e aproveite as noites de encontros. Experimente cada reviravolta, ria das mesmas piadas e partilhe momentos emocionantes exatamente no mesmo milissegundo.", + "WHY_TITLE": "Porquê KoalaSync?", + "WHY_SUBTITLE": "Construído para uma sincronizzazione fiável, design focado na privacidade e configuração simples.", + "FEATURE_1_TITLE": "Controlo Total / Sincronização Instantânea", + "FEATURE_1_DESC": "Um pausa, todos pausam. Um avança, todos seguem. O nosso protocolo di sincronizzazione a duas fases coordena a reprodução em tempo reale em todos os participantes.", + "FEATURE_2_TITLE": "Binge-Watching Infinito", + "FEATURE_2_DESC": "Reprodução automática em sincronia. O KoalaSync deteta automaticamente as transições de episódios e aguarda até que todos os peers tenham carregado o vídeo seguinte.", + "FEATURE_3_TITLE": "Zero Contas / Privacidade Pura", + "FEATURE_3_DESC": "Sem registo, sem rastreio, sem pegadas de persistência. O servidor corre inteiramente em RAM e purga a sala quando você sai.", + "FEATURE_4_TITLE": "Suporte HTML5 Universal", + "FEATURE_4_DESC": "Funciona no YouTube, Twitch, Netflix, Jellyfin, Emby e em quase todas as páginas web padrão que contenham um elemento de vídeo HTML5. Compatível também com servidores personalizados.", + "FEATURE_5_TITLE": "Auto-Hospedável e Pronto para Docker", + "FEATURE_5_DESC": "Os nossos servidores oficiais são gratuitos e rápidos, mas pode assumir o controlo total se quiser. Lance o seu próprio servidor de retransmissão privado em segundos via Docker.", + "FEATURE_6_TITLE": "Convites Instantâneos / Entrada com 1 Clique", + "FEATURE_6_DESC": "Nenhum endereço IP ou palavra-passe para trocar. Partilhe um link de convite gerado com os seus amigos para que possam entrar na sala automaticamente com um único clique.", + "COMP_TITLE": "KoalaSync vs. Teleparty", + "COMP_SUBTITLE": "Descubra porquê o código aberto, sem anúncios e focado na privacidade é a forma superior de ver vídeos juntos.", + "COMP_COL_FEATURE": "Funcionalidade", + "COMP_FEAT_1_NAME": "Custos / Paywalls", + "COMP_FEAT_1_DESC": "Assinaturas premium, taxas ocultas ou funcionalidades bloqueadas.", + "COMP_FEAT_1_KOALA": "100% Gratuito", + "COMP_FEAT_1_TELE": "Planos Pagos / Bloqueios Premium", + "COMP_FEAT_2_NAME": "Licença / Código Auditável", + "COMP_FEAT_2_DESC": "Se o código-fonte é aberto e livremente auditável.", + "COMP_FEAT_2_KOALA": "Código Aberto (MIT)", + "COMP_FEAT_2_TELE": "Proprietário", + "COMP_FEAT_3_NAME": "Self-Hosting", + "COMP_FEAT_3_DESC": "Capacidade de implementar o seu próprio servidor de retransmissão privado.", + "COMP_FEAT_3_KOALA": "Sim (Pronto para Docker)", + "COMP_FEAT_3_TELE": "Não", + "COMP_FEAT_4_NAME": "Privacidade e Rastreio", + "COMP_FEAT_4_DESC": "Requisitos de registo, cookies de rastreio e análises.", + "COMP_FEAT_4_KOALA": "Zero-Persistência (Apenas RAM)", + "COMP_FEAT_4_TELE": "Google Analytics e Cookies", + "COMP_FEAT_5_NAME": "Compatibilidade de Sites", + "COMP_FEAT_5_DESC": "Websites suportados e compatibilidade do leitor.", + "COMP_FEAT_5_KOALA": "Quase qualquer vídeo HTML5", + "COMP_FEAT_5_TELE": "Apenas sites suportados", + "COMP_FEAT_6_NAME": "Localização / Tradução", + "COMP_FEAT_6_DESC": "Idiomas de interface disponíveis e suporte de tradução.", + "COMP_FEAT_6_KOALA": "13 Idiomas (e a crescer)", + "COMP_FEAT_6_TELE": "Apenas Inglês", + "COMP_FOOTNOTE_1": "Estado da comparação: Maio de 2026.", + "COMP_FOOTNOTE_2": "Preços oficiais do Teleparty Premium e detalhes das redes suportadas:", + "COMP_FOOTNOTE_3": "Políticas de privacidade do Teleparty e recolha de dados de rastreio:", + "COMP_FOOTNOTE_4": "Funciona em websites que permitam injeções de scripts nas tags de vídeo HTML5 padrão. Websites com Políticas de Segurança de Conteúdo (CSP) muito rígidas, proteção de direitos de cópia DRM ou wrappers de leitores fortemente ofuscados (como shadow DOMs complexos) podem restringir o controlo ou injeção.", + "STEPS_TITLE": "Como Começar", + "STEP_1_TITLE": "Instalar Extensão", + "STEP_1_DESC": "Adicione o KoalaSync ao seu navegador a partir da Chrome Web Store, Firefox Add-ons ou transfira o ZIP de programador mais recente do GitHub.", + "STEP_1_ILLUS_DESC": "Sincronizador de vídeo focado na privacidade", + "STEP_1_ILLUS_DL_CHROME": "Descarregar para Chrome", + "STEP_1_ILLUS_DL_FIREFOX": "Descarregar para Firefox", + "STEP_1_ILLUS_ACTIVE": "Extensão Ativa", + "STEP_1_ILLUS_READY": "Pronto para verem juntos!", + "STEP_2_TITLE": "Criar uma Sala", + "STEP_2_DESC": "Abra o popup da extensão e clique em '+ Criar Nova Sala'. O KoalaSync gera automaticamente um ID de Sala e Palavra-passe seguros, entra nela e copia o link de convite para a área de transferência.", + "STEP_2_ILLUS_ROOM": "Sala", + "STEP_2_ILLUS_SYNC": "Sincronização", + "STEP_2_ILLUS_SETTINGS": "Definições", + "STEP_2_ILLUS_CREATE": "+ Criar Nova Sala", + "STEP_2_ILLUS_MANUAL": "Ligação Manual / Avançado", + "STEP_2_ILLUS_COPIED": "Link de convite copiado!", + "STEP_3_TITLE": "Partilhar e Sincronizar", + "STEP_3_DESC": "Envie o link de convite para os seus amigos. Assim que eles entrarem, selecione o seu separador do vídeo e desfrute da reprodução sincronizada.", + "STEP_3_ILLUS_IN_SYNC": "EM SINCRONIA", + "SELF_TITLE": "Para Auto-Hospedadores", + "SELF_SUBTITLE": "Não confia no nosso servidor? Mantenha a total soberania dos seus dados. Implemente o seu próprio servidor de retransmissão privado em minutos.", + "SELF_MASCOT_ALT": "Um coala fofo sentado num portátil a implementar um contentor Docker para auto-hospedagem", + "SELF_COPY_CODE": "Copiar Código", + "SELF_GITHUB_PACKAGES": "Ver todas as tags de imagens no GitHub Packages", + "BOTTOM_TITLE": "Não está convencido? Veja por si mesmo.", + "BOTTOM_SUBTITLE": "O KoalaSync é 100% de código aberto, sem anúncios e sem rastreio. Audite a nossa base de código no GitHub ou instale a extensão do navegador diretamente.", + "BOTTOM_MASCOT_ALT": "Um coala fofo a segurar numa página de repositório GitHub ao lado da mascote do GitHub Octocat", + "FAQ_TITLE": "Perguntas Frequentes", + "FAQ_SUBTITLE": "Tudo o que precisa de saber sobre ver vídeos juntos numa sincronização perfeita.", + "FAQ_Q1": "Posso ver Netflix, Emby ou Jellyfin juntos em sincronia com os amigos?", + "FAQ_A1": "Sim! O KoalaSync funciona no Netflix, YouTube, Twitch e em qualquer website com um leitor de vídeo HTML5 — incluindo Emby, Jellyfin e servidores de media auto-hospedados. Instale a extensão, crie uma sala, partilhe o link de convite e todos assistem em perfeita sincronia.", + "FAQ_Q2": "O KoalaSync é uma alternativa gratuita ao Teleparty?", + "FAQ_A2": "100% gratuito e de código aberto sob a Licença MIT. Sem planos premium, sem funcionalidades bloqueadas, sem anúncios — tudo incluído. Ao contrário do Teleparty, o servidor do KoalaSync corre apenas em RAM, sem qualquer recolha de dados ou necessidade de contas de utilizador.", + "FAQ_Q3": "O KoalaSync funciona com Emby, Jellyfin e servidores de media auto-hospedados?", + "FAQ_A3": "Sim. O KoalaSync deteta qualquer elemento de vídeo HTML5 padrão, o que significa que funciona perfeitamente com Emby, Jellyfin, Plex e qualquer configuração de streaming personalizada. Também pode auto-hospedar o servidor de retransmissão do KoalaSync via Docker para total soberania dos dados.", + "FAQ_Q4": "Que navegadores e plataformas suportam o KoalaSync?", + "FAQ_A4": "Google Chrome, Mozilla Firefox, Microsoft Edge, Opera, Brave e todos os navegadores baseados em Chromium. Instale diretamente da Chrome Web Store ou Firefox Add-ons — sem necessidade de configuração manual.", + "FAQ_Q5": "Todos os meus amigos precisam de ter a extensão instalada?", + "FAQ_A5": "Sim, cada participante precisa de ter o KoalaSync instalado — mas não há registo ou criação de conta. Basta clicar no link de convite, instalar a extensão se ainda não o fez, e entrará na sala automaticamente em segundos.", + "FAQ_Q6": "Os meus dados estão seguros? E se eu não confiar no servidor oficial?", + "FAQ_A6": "Totalmente seguro. O servidor de retransmissão do KoalaSync corre apenas em RAM — todos os dados da sessão são permanentemente eliminados no momento em que sai da sala. Sem base de dados, sem registo, sem análises, sem contas. E se preferir o controlo total: pode auto-hospedar o seu próprio servidor de retransmissão privado via Docker em minutos. Toda a base de código é aberta e auditável no GitHub.", + "HOWTO_TITLE": "Como sincronizar vídeos com amigos usando o KoalaSync", + "HOWTO_DESC": "Veja qualquer vídeo em sincronia perfeita com os amigos no YouTube, Netflix, Twitch e mais. Sem registo, sem rastreio.", + "HOWTO_STEP_1_NAME": "Instale a extensão do navegador", + "HOWTO_STEP_1_TEXT": "Adicione o KoalaSync ao seu navegador a partir da Chrome Web Store ou Firefox Add-ons. Funciona em qualquer website com um elemento de vídeo.", + "HOWTO_STEP_2_NAME": "Crie uma sala", + "HOWTO_STEP_2_TEXT": "Abra o popup da extensão e clique em Criar Nova Sala. O link de convite é copiado automaticamente para a área de transferência.", + "HOWTO_STEP_3_NAME": "Partilhe e sincronize", + "HOWTO_STEP_3_TEXT": "Envie o link de convite para os seus amigos. Escolha um separador do vídeo e desfrute da reprodução sincronizada em tempo real.", + "FOOTER_MIT": "Código aberto sob a Licença MIT.", + "FOOTER_RAM": "Nenhum dado é guardado nos nossos servidores. Transmissão baseada apenas em RAM.", + "FOOTER_LEGAL": "Aviso Legal", + "FOOTER_PRIVACY": "Política de Privacidade", + "MOCK_01": "Sala Ativa", + "MOCK_02": "Servidor Oficial", + "MOCK_03": "Link de Invito", + "MOCK_04": "Participantes na Sala", + "MOCK_05": "YOU", + "MOCK_06": "Playing", + "MOCK_07": "Peer", + "MOCK_08": "Sair della Sala", + "MOCK_09": "Selecionar Vídeo", + "MOCK_10": "Controlo Remoto", + "MOCK_11": " Play", + "MOCK_12": " Pause", + "MOCK_13": " SYNC", + "MOCK_14": "Ir para os Outros", + "MOCK_15": "Estado da Última Atividade", + "MOCK_16": "A aguardar por 1 participante (KoalaPC)...", + "MOCK_17": "Ignorar e reproduzir mesmo assim", + "MOCK_18": "O seu Nome de Utilizador", + "MOCK_19": "Ocultar Separadores Desnecessários", + "MOCK_20": "Sincronização Automática do Próximo Episódio", + "MOCK_21": "Copiar Automaticamente o Link de Convite", + "MOCK_22": "Notificações do Navegador", + "MOCK_23": "Resolução de Problemas", + "MOCK_24": "Regerar ID do Peer", + "MOCK_25": "Use isto se vir erros de \"Identidade Duplicata\".", + "MOCK_26": "Estado da Ligação", + "MOCK_27": "Connected", + "MOCK_28": "Copiar Registos", + "MOCK_29": "Info de Debug de Vídeo", + "MOCK_30": "Histórico Completo de Ações", + "MOCK_31": "Registos (Últimos 50)", + "MOCK_32": "LIMPAR" +} \ No newline at end of file diff --git a/website/locales/tr.json b/website/locales/tr.json new file mode 100644 index 0000000..5d89b3f --- /dev/null +++ b/website/locales/tr.json @@ -0,0 +1,165 @@ +{ + "LANG_CODE": "tr", + "HTML_CLASS": "lang-tr", + "CANONICAL_PATH": "tr/", + "LANG_TOGGLE_URL": "", + "LANG_TOGGLE_TEXT": "EN", + "OG_LOCALE": "tr_TR", + "META_TITLE": "KoalaSync | Netflix, YouTube ve Herhangi Bir Videoyu Arkadaşlarınızla Eşitleyin", + "META_DESCRIPTION": "Netflix, YouTube, Twitch ve herhangi bir HTML5 videoyu arkadaşlarınızla mükemmel uyum içinde izleyin. Chrome ve Firefox için ücretsiz, açık kaynaklı tarayıcı eklentisi. Kayıt gerekmez.", + "OG_TITLE": "KoalaSync | Netflix, Emby, Jellyfin ve Neredeyse Her Videoyu Arkadaşlarınızla Eşitleyin", + "OG_DESCRIPTION": "Netflix, Emby, Jellyfin, YouTube, Twitch ve neredeyse tüm HTML5 videolarını mükemmel bir senkronizasyonla izleyin. Chrome ve Firefox için gizlilik öncelikli, açık kaynaklı tarayıcı eklentisi.", + "TWITTER_TITLE": "KoalaSync | Netflix, Emby, Jellyfin ve Neredeyse Her Videoyu Arkadaşlarla Eşitle – Tarayıcı Eklentisi", + "TWITTER_DESCRIPTION": "Netflix, Emby, Jellyfin, YouTube, Twitch ve neredeyse tüm HTML5 videolarını arkadaşlarınızla mükemmel bir senkronizasyonla izleyin. Chrome ve Firefox için gizlilik öncelikli, açık kaynaklı tarayıcı eklentisi.", + "NAV_FEATURES": "Özellikler", + "NAV_HOW_IT_WORKS": "Nasıl Çalışır", + "HERO_TITLE": "Birlikte İzleyin.
Mükemmel Eşitleyin.", + "HERO_SUBTITLE": "Gecikmesiz uzaktan film geceniz. Kayıt yok, veri toplama yok. Sadece bir bağlantı paylaşın ve birlikte izleyin.", + "HERO_MASCOT_ALT": "İndirme düğmelerine bakan sevimli bir koala", + "ADD_TO_CHROME": "Chrome'a Ekle", + "ADD_TO_FIREFOX": "Firefox'a Ekle", + "COMPAT_HEADING": "En sevdiğiniz platformlarda çalışır", + "COMPAT_MORE": "ve çok daha fazlası", + "COMPAT_TOOLTIP": "Video öğesi olan neredeyse her sitede çalışır", + "USE_CASES_TITLE": "Her Durum İçin Mükemmel", + "USE_CASES_SUBTITLE": "Yakın ya da uzak, KoalaSync insanları en sevdikleri videolar etrafında bir araya getirir.", + "USE_CASE_1_ALT": "Birlikte oturan ve bir kova patlamış mısır paylaşan iki sevimli koala", + "USE_CASE_1_TITLE": "Arkadaşlarla Film Gecesi", + "USE_CASE_1_DESC": "Filmlerinizi gerçek zamanlı olarak senkronize edin ve Discord, Zoom veya en sevdiğiniz sesli arama uygulaması üzerinden konuşun. Aynı odada oturuyormuş gibi hissettirir.", + "USE_CASE_2_ALT": "Ekrandan iki uzaktaki öğrenci koalaya sunum yapan bir koala profesörü", + "USE_CASE_2_TITLE": "Uzaktan Eğitim", + "USE_CASE_2_DESC": "Sınıf arkadaşlarınız veya meslektaşlarınızla birlikte çevrimiçi öğreticileri, dersleri veya geliştirici eğitim akışlarını analiz edin. Karmaşık adımları mükemmel bir uyum içinde duraklatın ve tartışın.", + "USE_CASE_3_ALT": "Uzaktan birlikte izleyen sevimli bir koala çifti; biri bilgisayar başında oturuyor, diğeri yatakta dizüstü bilgisayarla, aralarında uçan kalpler var", + "USE_CASE_3_TITLE": "Uzak Mesafe İlişkileri", + "USE_CASE_3_DESC": "Mesafeleri köprüleyin ve buluşma gecelerinin tadını çıkarın. Her olay örgüsünü deneyimleyin, aynı şakalara gülün ve duygusal anları tam olarak aynı milisaniyede paylaşın.", + "WHY_TITLE": "Neden KoalaSync?", + "WHY_SUBTITLE": "Güvenilir eşitleme, önce gizlilik ilkesi ve kolay kurulum için tasarlandı.", + "FEATURE_1_TITLE": "Tam Kontrol / Anında Eşitleme", + "FEATURE_1_DESC": "Biri duraklatır, herkes duraklatır. Biri arar, herkes takip eder. İki aşamalı eşitleme protokolümüz, oynatmayı tüm katılımcılar arasında gerçek zamanlı olarak koordine eder.", + "FEATURE_2_TITLE": "Kesintisiz İzleme Keyfi", + "FEATURE_2_DESC": "Senkronize otomatik oynatma. KoalaSync, bölüm geçişlerini otomatik olarak algılar ve tüm bağlantılar bir sonraki videoyu başarıyla yükleyene kadar oynatmayı bekletir.", + "FEATURE_3_TITLE": "Sıfır Hesap / Saf Gizlilik", + "FEATURE_3_DESC": "Kayıt yok, takip yok, kalıcı iz yok. Sunucu tamamen geçici RAM üzerinde çalışır ve ayrıldığınızda odanızı temizler.", + "FEATURE_4_TITLE": "Evrensel HTML5 Desteği", + "FEATURE_4_DESC": "YouTube, Twitch, Netflix, Jellyfin, Emby ve HTML5 video öğesi içeren neredeyse tüm standart web sayfalarında çalışır. Ayrıca özel barındırılan kurulumlarla da uyumludur.", + "FEATURE_5_TITLE": "Kendi Kendine Barındırılabilir ve Docker Uyumlu", + "FEATURE_5_DESC": "Resmi sunucularımız ücretsiz ve hızlıdır, ancak isterseniz tüm kontrolü elinize alabilirsiniz. Docker aracılığıyla saniyeler içinde kendi özel aktarım sunucunuzu başlatın.", + "FEATURE_6_TITLE": "Anında Davetler / Tek Tıkla Katılım", + "FEATURE_6_DESC": "Takas edilecek IP adresi veya şifre yok. Arkadaşlarınızın tek bir tıklamayla odanıza otomatik olarak katılması için oluşturulan bir davet bağlantısını paylaşın.", + "COMP_TITLE": "KoalaSync vs. Teleparty", + "COMP_SUBTITLE": "Açık kaynaklı, reklamsız ve önce gizlilik diyen yöntemin neden birlikte izlemenin en iyi yolu olduğunu görün.", + "COMP_COL_FEATURE": "Özellik", + "COMP_FEAT_1_NAME": "Maliyet / Ödeme Duvarları", + "COMP_FEAT_1_DESC": "Premium abonelikler, gizli ücretler veya kilitli özellikler.", + "COMP_FEAT_1_KOALA": "%100 Ücretsiz", + "COMP_FEAT_1_TELE": "Ücretli Katmanlar / Premium Kilitler", + "COMP_FEAT_2_NAME": "Lisans / Kod Denetlenebilir", + "COMP_FEAT_2_DESC": "Kaynak kodunun açık ve serbestçe denetlenebilir olup olmadığı.", + "COMP_FEAT_2_KOALA": "Açık Kaynak (MIT)", + "COMP_FEAT_2_TELE": "Tescilli / Kapalı", + "COMP_FEAT_3_NAME": "Kendi Kendine Barındırma", + "COMP_FEAT_3_DESC": "Kendi özel aktarım sunucunuzu devreye alma yeteneği.", + "COMP_FEAT_3_KOALA": "Evet (Docker uyumlu)", + "COMP_FEAT_3_TELE": "Hayır", + "COMP_FEAT_4_NAME": "Gizlilik ve Takip", + "COMP_FEAT_4_DESC": "Kayıt gereksinimleri, takip çerezleri ve analitikler.", + "COMP_FEAT_4_KOALA": "Sıfır Kalıcılık (Sadece RAM)", + "COMP_FEAT_4_TELE": "Google Analytics ve Çerezler", + "COMP_FEAT_5_NAME": "Site Uyumluluğu", + "COMP_FEAT_5_DESC": "Desteklenen web siteleri ve oynatıcı uyumluluğu.", + "COMP_FEAT_5_KOALA": "Neredeyse tüm HTML5 videoları", + "COMP_FEAT_5_TELE": "Sadece desteklenen siteler", + "COMP_FEAT_6_NAME": "Yerelleştirme / Çeviri", + "COMP_FEAT_6_DESC": "Mevcut arayüz dilleri ve çeviri desteği.", + "COMP_FEAT_6_KOALA": "13 Dil (ve artıyor)", + "COMP_FEAT_6_TELE": "Sadece İngilizce", + "COMP_FOOTNOTE_1": "Karşılaştırma durumu: Mayıs 2026.", + "COMP_FOOTNOTE_2": "Resmi Teleparty Premium fiyatlandırması ve desteklenen ağ ayrıntıları:", + "COMP_FOOTNOTE_3": "Teleparty gizlilik politikaları ve takip verisi toplama:", + "COMP_FOOTNOTE_4": "Standart HTML5 video etiketlerine komut dosyası eklenmesine izin veren web sitelerinde çalışır. Çok katı İçerik Güvenliği Politikalarına (CSP) sahip, DRM kopya korumalı veya yoğun şekilde gizlenmiş oynatıcı sarmalayıcıları (karmaşık gölge DOM'lar gibi) olan web siteleri otomatik kontrolü veya enjeksiyonu kısıtlayabilir.", + "STEPS_TITLE": "Başlarken", + "STEP_1_TITLE": "Eklentiyi Kur", + "STEP_1_DESC": "KoalaSync'i Chrome Web Mağazası, Firefox Eklentileri aracılığıyla tarayıcınıza ekleyin veya en son geliştirici ZIP dosyasını GitHub'dan indirin.", + "STEP_1_ILLUS_DESC": "Gizlilik öncelikli video senkronize edici", + "STEP_1_ILLUS_DL_CHROME": "Chrome için İndir", + "STEP_1_ILLUS_DL_FIREFOX": "Firefox için İndir", + "STEP_1_ILLUS_ACTIVE": "Eklenti Etkin", + "STEP_1_ILLUS_READY": "Birlikte izlemeye hazır!", + "STEP_2_TITLE": "Oda Oluştur", + "STEP_2_DESC": "Eklenti açılır penceresini açın ve '+ Yeni Oda Oluştur' düğmesine tıklayın. KoalaSync otomatik olarak güvenli bir Oda Kimliği ve Şifresi oluşturur, odaya katılır ve davet bağlantısını panonuza kopyalar.", + "STEP_2_ILLUS_ROOM": "Oda", + "STEP_2_ILLUS_SYNC": "Senkronizasyon", + "STEP_2_ILLUS_SETTINGS": "Ayarlar", + "STEP_2_ILLUS_CREATE": "+ Yeni Oda Oluştur", + "STEP_2_ILLUS_MANUAL": "Manuel Bağlantı / Gelişmiş", + "STEP_2_ILLUS_COPIED": "Davet bağlantısı kopyalandı!", + "STEP_3_TITLE": "Paylaş ve Eşitle", + "STEP_3_DESC": "Davet bağlantısını arkadaşlarınıza gönderin. Katıldıklarında video sekmenizi seçin ve senkronize oynatmanın keyfini çıkarın.", + "STEP_3_ILLUS_IN_SYNC": "EŞİTLENDİ", + "SELF_TITLE": "Kendi Kendine Barındıranlar İçin", + "SELF_SUBTITLE": "Sunucumuza güvenmiyor musunuz? Veri egemenliğinizi koruyun. Kendi özel aktarım sunucunuzu dakikalar içinde devreye alın.", + "SELF_MASCOT_ALT": "Kendi kendine barındırma için bir Docker konteyneri kuran dizüstü bilgisayarlı sevimli bir koala", + "SELF_COPY_CODE": "Kodu Kopyala", + "SELF_GITHUB_PACKAGES": "GitHub Paketlerindeki tüm görüntü etiketlerini görüntüleyin", + "BOTTOM_TITLE": "İkna olmadınız mı? Kendiniz görün.", + "BOTTOM_SUBTITLE": "KoalaSync %100 açık kaynaklıdır, reklamsızdır ve takip içermez. GitHub'daki kod tabanımızı denetleyin veya tarayıcı eklentisini doğrudan kurun.", + "BOTTOM_MASCOT_ALT": "GitHub maskotu Octocat'in yanında GitHub depo sayfasını tutan sevimli bir koala", + "FAQ_TITLE": "Sıkça Sorulan Sorular", + "FAQ_SUBTITLE": "Videoları mükemmel bir uyum içinde birlikte izleme hakkında bilmeniz gereken her şey.", + "FAQ_Q1": "Arkadaşlarımla Netflix, Emby veya Jellyfin'i eş zamanlı olarak izleyebilir miyim?", + "FAQ_A1": "Evet! KoalaSync; Netflix, YouTube, Twitch ve HTML5 video oynatıcısı olan tüm web sitelerinde (Emby, Jellyfin ve kendi barındırdığınız medya sunucuları dahil) çalışır. Eklentiyi kurun, bir oda oluşturun, davet bağlantısını paylaşın; herkes mükemmel bir uyum içinde izlesin.", + "FAQ_Q2": "KoalaSync, Teleparty'ye ücretsiz bir alternatif mi?", + "FAQ_A2": "MIT Lisansı kapsamında %100 ücretsiz ve açık kaynaklıdır. Premium katmanlar yok, kilitli özellikler yok, reklam yok — her şey dahil. Teleparty'nin aksine, KoalaSync'in aktarım sunucusu yalnızca RAM üzerindedir; sıfır veri toplama ve kullanıcı hesabı gereksinimi vardır.", + "FAQ_Q3": "KoalaSync; Emby, Jellyfin ve kendi barındırdığınız medya sunucularıyla çalışır mı?", + "FAQ_A3": "Evet. KoalaSync, herhangi bir standart HTML5 video öğesini algılar; bu da Emby, Jellyfin, Plex ve her türlü özel barındırılan akış kurulumuyla mükemmel çalıştığı anlamına gelir. Tam veri egemenliği için Docker aracılığıyla KoalaSync aktarım sunucusunu kendiniz de barındırabilirsiniz.", + "FAQ_Q4": "Hangi tarayıcılar ve platformlar KoalaSync'i destekliyor?", + "FAQ_A4": "Google Chrome, Mozilla Firefox, Microsoft Edge, Opera, Brave ve tüm Chromium tabanlı tarayıcılar. Doğrudan Chrome Web Mağazası veya Firefox Eklentileri üzerinden kurun — manuel yapılandırmaya gerek yoktur.", + "FAQ_Q5": "Tüm arkadaşlarımın eklentiyi kurması gerekiyor mu?", + "FAQ_A5": "Evet, her katılımcının KoalaSync'i kurması gerekir — ancak kayıt veya hesap oluşturma yoktur. Sadece davet bağlantısına tıklayın, henüz yapmadıysanız eklentiyi kurun, saniyeler içinde odaya otomatik olarak katılacaksınız.", + "FAQ_Q6": "Verilerim güvende mi? Ya resmi sunucuya güvenmiyorsam?", + "FAQ_A6": "Tamamen güvende. KoalaSync'in aktarım sunucusu yalnızca RAM üzerindedir — odadan ayrıldığınız andan itibaren tüm oturum verileri kalıcı olarak silinir. Veritabanı yok, günlük kaydı yok, analitik yok, hesap yok. Ve tam kontrolü tercih ediyorsanız: Docker aracılığıyla kendi özel aktarım sunucunuzu dakikalar içinde barındırabilirsiniz. Tüm kod tabanı açık kaynaklıdır ve GitHub'da denetlenebilir.", + "HOWTO_TITLE": "KoalaSync kullanarak arkadaşlarınızla videoları senkronize etme", + "HOWTO_DESC": "YouTube, Netflix, Twitch ve daha fazlasında arkadaşlarınızla mükemmel uyum içinde herhangi bir videoyu izleyin. Kayıt yok, takip yok.", + "HOWTO_STEP_1_NAME": "Tarayıcı eklentisini kurun", + "HOWTO_STEP_1_TEXT": "Chrome Web Mağazası veya Firefox Eklentileri aracılığıyla KoalaSync'i tarayıcınıza ekleyin. Video öğesi olan her web sitesinde çalışır.", + "HOWTO_STEP_2_NAME": "Bir oda oluşturun", + "HOWTO_STEP_2_TEXT": "Eklenti açılır penceresini açın ve Yeni Oda Oluştur'a tıklayın. Davet bağlantısı otomatik olarak panonuza kopyalanır.", + "HOWTO_STEP_3_NAME": "Paylaşın ve eşitleyin", + "HOWTO_STEP_3_TEXT": "Davet bağlantısını arkadaşlarınıza gönderin. Bir video sekmesi seçin ve gerçek zamanlı olarak senkronize oynatmanın keyfini çıkarın.", + "FOOTER_MIT": "MIT Lisansı kapsamında açık kaynaklı.", + "FOOTER_RAM": "Sunucularımızda hiçbir veri saklanmaz. Saf RAM tabanlı aktarım.", + "FOOTER_LEGAL": "Yasal Uyarı", + "FOOTER_PRIVACY": "Gizlilik Politikası", + "MOCK_01": "Aktif Oda", + "MOCK_02": "Resmi Sunucu", + "MOCK_03": "Davet Linki", + "MOCK_04": "Odadaki Kişiler", + "MOCK_05": "YOU", + "MOCK_06": "Playing", + "MOCK_07": "Peer", + "MOCK_08": "Odadan Ayrıl", + "MOCK_09": "Video Seç", + "MOCK_10": "Uzaktan Kumanda", + "MOCK_11": " Play", + "MOCK_12": " Pause", + "MOCK_13": " SYNC", + "MOCK_14": "Diğerlerine Atla", + "MOCK_15": "Son Etkinlik Durumu", + "MOCK_16": "1 bağlantı bekleniyor (KoalaPC)...", + "MOCK_17": "Atla ve Yine de Oynat", + "MOCK_18": "Kullanıcı Adınız", + "MOCK_19": "Gereksiz Sekmeleri Gizle", + "MOCK_20": "Sonraki Bölümü Otomatik Eşitle", + "MOCK_21": "Davet Linkini Otomatik Kopyala", + "MOCK_22": "Tarayıcı Bildirimleri", + "MOCK_23": "Sorun Giderme", + "MOCK_24": "Bağlantı Kimliğini Yeniden Oluştur", + "MOCK_25": "\"Duplicate Identity\" (Mükerrer Kimlik) hataları görüyorsanız bunu kullanın.", + "MOCK_26": "Bağlantı Durumu", + "MOCK_27": "Connected", + "MOCK_28": "Günlükleri Kopyala", + "MOCK_29": "Video Hata Ayıklama Bilgisi", + "MOCK_30": "Tam İşlem Geçmişi", + "MOCK_31": "Günlükler (Son 50)", + "MOCK_32": "TEMİZLE" +} \ No newline at end of file diff --git a/website/template.html b/website/template.html index 6e54601..d86ad55 100644 --- a/website/template.html +++ b/website/template.html @@ -19,6 +19,13 @@ + + + + + + + @@ -35,6 +42,13 @@ + + + + + + + @@ -199,6 +213,13 @@ Español Português (Brasil) Русский + Italiano + Polski + Türkçe + Nederlands + 日本語 + 한국어 + Português (Portugal) @@ -225,8 +253,8 @@
- v1.5.3 OUT NOW - v1.5.3 JETZT VERFÜGBAR + v2.1.0 OUT NOW + v2.1.0 JETZT VERFÜGBAR

{{HERO_TITLE}}

{{HERO_SUBTITLE}}

diff --git a/website/version.json b/website/version.json index 1b546a9..fbdecb8 100644 --- a/website/version.json +++ b/website/version.json @@ -1,4 +1,4 @@ { - "version": "2.0.8", - "date": "2026-06-03T10:11:57Z" + "version": "2.1.0", + "date": "2026-06-04T12:00:00Z" } diff --git a/website/www/app.deb95738.min.js b/website/www/app.bd666530.min.js similarity index 65% rename from website/www/app.deb95738.min.js rename to website/www/app.bd666530.min.js index 829ed7f..e78ce4b 100644 --- a/website/www/app.deb95738.min.js +++ b/website/www/app.bd666530.min.js @@ -1,4 +1,4 @@ -document.addEventListener("DOMContentLoaded",()=>{const T=document.querySelectorAll("[data-reveal]"),w=new IntersectionObserver(n=>{n.forEach(i=>{i.isIntersecting&&(i.target.classList.add("revealed"),w.unobserve(i.target))})},{rootMargin:"0px 0px -150px 0px",threshold:.1});T.forEach(n=>w.observe(n));const v=document.querySelector("nav");window.addEventListener("scroll",()=>{window.scrollY>50?(v.style.padding="0.75rem 0",v.style.background="rgba(15, 23, 42, 0.9)"):(v.style.padding="1rem 0",v.style.background="rgba(30, 41, 59, 0.7)")}),document.querySelectorAll('a[href^="#"]').forEach(n=>{n.addEventListener("click",function(i){i.preventDefault();const t=document.querySelector(this.getAttribute("href"));t&&t.scrollIntoView({behavior:"smooth",block:"start"})})});const k=()=>{const n=window.location.pathname.includes("join");let t=new URLSearchParams(window.location.search).get("dev");if(!t){const o=window.location.hash.startsWith("#")?window.location.hash.substring(1):window.location.hash;t=new URLSearchParams(o).get("dev")}if(t||((window.location.hash.includes("devsuccess")||window.location.search.includes("devsuccess"))&&(t="success"),(window.location.hash.includes("devfailure")||window.location.search.includes("devfailure"))&&(t="failure")),n&&t){setTimeout(()=>{const o=document.getElementById("display-room-id"),e=document.getElementById("join-actions");o&&(o.textContent="DEV-ROOM"),e&&(e.innerHTML=` +document.addEventListener("DOMContentLoaded",()=>{const k=document.querySelectorAll("[data-reveal]"),w=new IntersectionObserver(n=>{n.forEach(i=>{i.isIntersecting&&(i.target.classList.add("revealed"),w.unobserve(i.target))})},{rootMargin:"0px 0px -150px 0px",threshold:.1});k.forEach(n=>w.observe(n));const v=document.querySelector("nav");window.addEventListener("scroll",()=>{window.scrollY>50?(v.style.padding="0.75rem 0",v.style.background="rgba(15, 23, 42, 0.9)"):(v.style.padding="1rem 0",v.style.background="rgba(30, 41, 59, 0.7)")}),document.querySelectorAll('a[href^="#"]').forEach(n=>{n.addEventListener("click",function(i){i.preventDefault();const t=document.querySelector(this.getAttribute("href"));t&&t.scrollIntoView({behavior:"smooth",block:"start"})})});const T=()=>{const n=window.location.pathname.includes("join");let t=new URLSearchParams(window.location.search).get("dev");if(!t){const a=window.location.hash.startsWith("#")?window.location.hash.substring(1):window.location.hash;t=new URLSearchParams(a).get("dev")}if(t||((window.location.hash.includes("devsuccess")||window.location.search.includes("devsuccess"))&&(t="success"),(window.location.hash.includes("devfailure")||window.location.search.includes("devfailure"))&&(t="failure")),n&&t){setTimeout(()=>{const a=document.getElementById("display-room-id"),e=document.getElementById("join-actions");a&&(a.textContent="DEV-ROOM"),e&&(e.innerHTML=`
@@ -8,7 +8,7 @@ document.addEventListener("DOMContentLoaded",()=>{const T=document.querySelector Simulating status event in 1.5 seconds.Status-Event wird in 1,5 Sekunden simuliert.

- `,setTimeout(()=>{window.dispatchEvent(new CustomEvent("KOALASYNC_STATUS",{detail:{success:t==="success",message:t==="failure"?"Simulated Connection Timeout!":""}}))},1500))},600);return}setTimeout(()=>{const o=document.documentElement.dataset.koalasyncInstalled==="true";if(window.location.hash.startsWith("#join:")){const e=window.location.hash.split(":");if(e.length>=3){const l=e[1],u=e[2],c=e[3]||"0",s=e[4]?decodeURIComponent(e[4]):"";if(n){const a=document.getElementById("display-room-id"),r=document.getElementById("join-actions");a&&(a.textContent=l),r&&(o?(r.innerHTML=` + `,setTimeout(()=>{window.dispatchEvent(new CustomEvent("KOALASYNC_STATUS",{detail:{success:t==="success",message:t==="failure"?"Simulated Connection Timeout!":""}}))},1500))},600);return}setTimeout(()=>{const a=document.documentElement.dataset.koalasyncInstalled==="true";if(window.location.hash.startsWith("#join:")){const e=window.location.hash.split(":");if(e.length>=3){const l=e[1],u=e[2],c=e[3]||"0",s=e[4]?decodeURIComponent(e[4]):"";if(n){const o=document.getElementById("display-room-id"),r=document.getElementById("join-actions");o&&(o.textContent=l),r&&(a?(r.innerHTML=`
@@ -48,12 +48,12 @@ document.addEventListener("DOMContentLoaded",()=>{const T=document.querySelector The extension is required to join and sync videos. Die Erweiterung ist erforderlich, um beizutreten und Videos zu synchronisieren.

- `)}else if(!document.getElementById("koala-banner")){const a=document.createElement("div");a.className="invite-banner",a.id="koala-banner";const r=document.createElement("div");r.className="container",r.style.cssText="display:flex; justify-content:space-between; align-items:center;";const d=document.createElement("span");d.appendChild(document.createTextNode("\u{1F3AB} Invitation for "));const m=document.createElement("b");m.textContent=l,d.appendChild(m),d.appendChild(document.createTextNode(" detected!"));const h=document.createElement("a");h.href="join"+window.location.hash,h.className="btn-banner",h.textContent="OPEN JOIN PAGE",r.appendChild(d),r.appendChild(h),a.appendChild(r),document.body.prepend(a)}document.addEventListener("click",a=>{a.target&&a.target.id==="webJoinBtn"&&(a.target.textContent="JOINING...",a.target.disabled=!0,window.dispatchEvent(new CustomEvent("KOALASYNC_JOIN_REQUEST",{detail:{roomId:l,password:u,useCustomServer:c==="1",serverUrl:s}})))})}}},600)};window.addEventListener("KOALASYNC_STATUS",n=>{const{success:i,message:t}=n.detail;if(window.location.pathname.includes("join")){const e=document.getElementById("join-status-icon"),l=document.getElementById("join-title"),u=document.getElementById("join-actions"),c=document.getElementById("join-desc"),s=document.getElementById("status-ring");if(i){s&&(s.classList.remove("active-pulse"),s.style.display="none"),e&&(e.innerHTML='Success',e.style.transform="scale(1)");const a=document.documentElement.classList.contains("lang-de");l.textContent=a?"Erfolgreich!":"Success!",c.innerHTML=a?'Verbunden!
W\xE4hle jetzt einen Video-Tab in der Erweiterung aus.':'Connected!
Now select a video tab in the extension.';let r=3;const d=()=>{r<=0?(window.close(),c.textContent=a?"Beitritt erfolgreich! Du kannst diesen Tab jetzt manuell schlie\xDFen.":"Joined successfully! You can close this tab manually."):(r--,setTimeout(d,1e3))};setTimeout(d,1e3);const m=a?"TAB JETZT SCHLIESSEN":"CLOSE TAB NOW";u.innerHTML=` + `)}else if(!document.getElementById("koala-banner")){const o=document.createElement("div");o.className="invite-banner",o.id="koala-banner";const r=document.createElement("div");r.className="container",r.style.cssText="display:flex; justify-content:space-between; align-items:center;";const d=document.createElement("span");d.appendChild(document.createTextNode("\u{1F3AB} Invitation for "));const m=document.createElement("b");m.textContent=l,d.appendChild(m),d.appendChild(document.createTextNode(" detected!"));const h=document.createElement("a");h.href="join"+window.location.hash,h.className="btn-banner",h.textContent="OPEN JOIN PAGE",r.appendChild(d),r.appendChild(h),o.appendChild(r),document.body.prepend(o)}document.addEventListener("click",o=>{o.target&&o.target.id==="webJoinBtn"&&(o.target.textContent="JOINING...",o.target.disabled=!0,window.dispatchEvent(new CustomEvent("KOALASYNC_JOIN_REQUEST",{detail:{roomId:l,password:u,useCustomServer:c==="1",serverUrl:s}})))})}}},600)};window.addEventListener("KOALASYNC_STATUS",n=>{const{success:i,message:t}=n.detail;if(window.location.pathname.includes("join")){const e=document.getElementById("join-status-icon"),l=document.getElementById("join-title"),u=document.getElementById("join-actions"),c=document.getElementById("join-desc"),s=document.getElementById("status-ring");if(i){s&&(s.classList.remove("active-pulse"),s.style.display="none"),e&&(e.innerHTML='Success',e.style.transform="scale(1)");const o=document.documentElement.classList.contains("lang-de");l.textContent=o?"Erfolgreich!":"Success!",c.innerHTML=o?'Verbunden!
W\xE4hle jetzt einen Video-Tab in der Erweiterung aus.':'Connected!
Now select a video tab in the extension.';let r=3;const d=()=>{r<=0?(window.close(),c.textContent=o?"Beitritt erfolgreich! Du kannst diesen Tab jetzt manuell schlie\xDFen.":"Joined successfully! You can close this tab manually."):(r--,setTimeout(d,1e3))};setTimeout(d,1e3);const m=o?"TAB JETZT SCHLIESSEN":"CLOSE TAB NOW";u.innerHTML=`
- `}else{s&&(s.classList.remove("active-pulse"),s.style.display="none"),e&&(e.innerHTML=`Error`,e.style.transform="scale(1)");const a=document.documentElement.classList.contains("lang-de");l.textContent=a?"Fehler":"Error",c.textContent=a?`Beitritt fehlgeschlagen: ${t}`:`Join failed: ${t}`;const r=a?"ERNEUT VERSUCHEN":"TRY AGAIN";u.innerHTML=` + `}else{s&&(s.classList.remove("active-pulse"),s.style.display="none"),e&&(e.innerHTML=`Error`,e.style.transform="scale(1)");const o=document.documentElement.classList.contains("lang-de");l.textContent=o?"Fehler":"Error",c.textContent=o?`Beitritt fehlgeschlagen: ${t}`:`Join failed: ${t}`;const r=o?"ERNEUT VERSUCHEN":"TRY AGAIN";u.innerHTML=`
- `}}else{const e=document.getElementById("koala-banner");if(e)if(i)e.style.background="var(--success)",e.innerHTML='
\u2705 Joined! This tab will close in 2s...
',setTimeout(()=>window.close(),2e3);else{e.style.background="var(--error)",e.innerHTML="";const l=document.createElement("div");l.className="container",l.textContent="\u274C Error: "+t,e.appendChild(l)}}});const C=async()=>{try{const n=document.documentElement.lang==="en"?"version.json":"../version.json",i=await fetch(n);if(!i.ok)return;const t=await i.json(),{version:o,date:e}=t;if(!o||!e)return;const l=new Date(e),c=new Date-l,s=Math.floor(c/(1e3*60*60*24)),a=Math.floor(c/(1e3*60*60)),r=Math.floor(c/(1e3*60));let d="",m="";s>0?(d=`${s} ${s===1?"day":"days"} ago`,m=`vor ${s} ${s===1?"Tag":"Tagen"}`):a>0?(d=`${a} ${a===1?"hour":"hours"} ago`,m=`vor ${a} ${a===1?"Stunde":"Stunden"}`):r>0?(d=`${r} ${r===1?"minute":"minutes"} ago`,m=`vor ${r} ${r===1?"Minute":"Minuten"}`):(d="just now",m="gerade eben");const h=document.querySelector(".version-text-en"),x=document.querySelector(".version-text-de");h&&(h.textContent=`v${o} OUT NOW \u2022 ${d}`),x&&(x.textContent=`v${o} JETZT VERF\xDCGBAR \u2022 ${m}`);const E=document.getElementById("schema-software");if(E)try{const y=JSON.parse(E.textContent);y.softwareVersion=o,E.textContent=JSON.stringify(y,null,2)}catch(y){console.warn("Failed to dynamically update schema version:",y)}}catch(n){console.warn("Failed to fetch dynamic version info:",n)}},b=document.querySelectorAll(".mock-tab"),A=document.querySelectorAll(".mock-screen");b.forEach(n=>{n.addEventListener("click",()=>{b.forEach(o=>o.classList.remove("active")),A.forEach(o=>o.classList.remove("active")),n.classList.add("active");const i=n.getAttribute("data-target"),t=document.getElementById(i);t&&t.classList.add("active")})});const L=document.querySelectorAll(".terminal-tab-btn"),I=document.querySelectorAll(".terminal-pane");L.forEach(n=>{n.addEventListener("click",()=>{L.forEach(o=>o.classList.remove("active")),I.forEach(o=>o.classList.remove("active")),n.classList.add("active");const i=n.getAttribute("data-tab"),t=document.getElementById(i);t&&t.classList.add("active")})});const g=document.querySelector(".terminal-copy-btn");g&&g.addEventListener("click",()=>{const n=document.querySelector(".terminal-pane.active");if(!n)return;const i=n.querySelector("code");if(!i)return;const t=i.innerText||i.textContent;navigator.clipboard.writeText(t).then(()=>{const o=document.documentElement.classList.contains("lang-de"),e=g.innerHTML;g.innerHTML=o?"\u2705 Kopiert!":"\u2705 Copied!",g.disabled=!0,setTimeout(()=>{g.innerHTML=e,g.disabled=!1},2e3)}).catch(o=>{console.error("Failed to copy text: ",o)})});const f=document.querySelector(".hamburger"),p=document.querySelector("#primary-nav");if(f&&p){f.setAttribute("aria-expanded","false");const n=()=>{p.classList.add("open"),f.setAttribute("aria-expanded","true"),document.addEventListener("keydown",o)},i=()=>{p.classList.remove("open"),f.setAttribute("aria-expanded","false"),document.removeEventListener("keydown",o)},t=()=>p.classList.contains("open")?i():n(),o=e=>{e.key==="Escape"&&i()};f.addEventListener("click",t),p.querySelectorAll("a").forEach(e=>e.addEventListener("click",i))}const S=()=>{const n=localStorage.getItem("koala_lang")||(navigator.language.startsWith("de")?"de":"en");window.location.pathname.split("/").some(e=>["de","fr","es","pt-BR","ru"].includes(e))||document.querySelectorAll('a[href="./"], a[href="de/"], a[href="fr/"], a[href="es/"], a[href="pt-BR/"], a[href="ru/"]').forEach(l=>{l.href=n==="en"?"./":`${n}/`})},B=n=>{const t=n.currentTarget.value,o=window.location.pathname;if(localStorage.setItem("koala_lang",t),!(o.includes("impressum")||o.includes("datenschutz")||o.includes("join"))){const c=o.split("/").some(a=>["de","fr","es","pt-BR","ru"].includes(a));let s;t==="en"?c?s="../":s="./":c?s="../"+t+"/":s=t+"/",window.location.href=s}else{const u=document.documentElement;u.classList.remove("lang-en","lang-de","lang-fr","lang-es","lang-pt-br","lang-ru");const c=t==="de"?"de":"en";if(u.classList.add("lang-"+c),u.lang=c,document.querySelectorAll(".lang-dropdown").forEach(a=>{a.value=t}),o.includes("join")){const a={en:"Join Room | KoalaSync",de:"Raum beitreten | KoalaSync"};document.title=a[c]||a.en}S()}};document.querySelectorAll(".lang-dropdown").forEach(n=>{n.addEventListener("change",B)});const j=()=>{const n=localStorage.getItem("koala_lang"),i=navigator.language.startsWith("de")?"de":"en",t=n||i;document.querySelectorAll(".lang-dropdown").forEach(o=>{o.value=t})};document.querySelectorAll(".email-reveal").forEach(n=>{n.addEventListener("click",function(){const i=this.getAttribute("data-user"),t=this.getAttribute("data-domain");i&&t&&(this.textContent=`${i}@${t}`)})}),(()=>{const n=navigator.userAgent.includes("Firefox"),i=navigator.userAgent.includes("Chrome")||navigator.userAgent.includes("Chromium"),t=document.querySelectorAll(".btn-primary"),o=document.querySelectorAll(".btn-firefox");n&&t.length>0&&o.length>0?(t.forEach(e=>{e.classList.remove("btn-primary"),e.classList.add("btn-secondary")}),o.forEach(e=>{e.style.order="-1",e.style.transform="scale(1.05)",e.addEventListener("mouseleave",()=>{e.style.transform="scale(1)"}),e.addEventListener("mouseenter",()=>{e.style.transform="scale(1.05) translateY(-2px)"})})):i&&t.length>0&&o.length>0&&o.forEach(e=>{e.classList.remove("btn-firefox"),e.classList.add("btn-secondary"),e.style.color="var(--text)",e.style.background="var(--card)",e.style.border="1px solid var(--glass-border)",e.style.boxShadow="none"}),setTimeout(()=>{const e=document.documentElement.dataset.koalasyncInstalled==="true",l=document.getElementById("nav-extension-status");e&&l&&(l.style.display="inline-flex");const u=document.querySelectorAll(".illus-store-btn.chrome"),c=document.querySelectorAll(".illus-store-btn.firefox");if(n&&c.length>0?(c.forEach(s=>{s.style.order="-1",e||(s.classList.add("install-breathe"),s.style.cursor="pointer",s.onclick=()=>window.open("https://addons.mozilla.org/de/firefox/addon/koalasync/","_blank"))}),u.forEach(s=>{s.style.opacity="0.5",s.style.transform="scale(0.95)"})):i&&u.length>0&&(u.forEach(s=>{s.style.order="-1",e||(s.classList.add("install-breathe"),s.style.cursor="pointer",s.onclick=()=>window.open("https://chromewebstore.google.com/detail/koalasync/obbnmkmlaaddodakcbdljknjpagklifc","_blank"))}),c.forEach(s=>{s.style.opacity="0.5",s.style.transform="scale(0.95)"})),!e){const s=document.querySelectorAll(n?".btn-firefox":i?".btn-primary":null);s&&s.length>0&&s.forEach(a=>{const d=a.classList.contains("btn-firefox")?"rgba(249, 115, 22, ":"rgba(99, 102, 241, ";a.animate([{transform:"scale(1)",boxShadow:`0 0 15px ${d}0.2)`},{transform:"scale(1.05)",boxShadow:`0 0 25px ${d}0.5)`},{transform:"scale(1)",boxShadow:`0 0 15px ${d}0.2)`}],{duration:2500,iterations:1/0,easing:"ease-in-out"})})}},600)})(),k(),C(),S(),j()}); + `}}else{const e=document.getElementById("koala-banner");if(e)if(i)e.style.background="var(--success)",e.innerHTML='
\u2705 Joined! This tab will close in 2s...
',setTimeout(()=>window.close(),2e3);else{e.style.background="var(--error)",e.innerHTML="";const l=document.createElement("div");l.className="container",l.textContent="\u274C Error: "+t,e.appendChild(l)}}});const C=async()=>{try{const n=document.documentElement.lang==="en"?"version.json":"../version.json",i=await fetch(n);if(!i.ok)return;const t=await i.json(),{version:a,date:e}=t;if(!a||!e)return;const l=new Date(e),c=new Date-l,s=Math.floor(c/(1e3*60*60*24)),o=Math.floor(c/(1e3*60*60)),r=Math.floor(c/(1e3*60));let d="",m="";s>0?(d=`${s} ${s===1?"day":"days"} ago`,m=`vor ${s} ${s===1?"Tag":"Tagen"}`):o>0?(d=`${o} ${o===1?"hour":"hours"} ago`,m=`vor ${o} ${o===1?"Stunde":"Stunden"}`):r>0?(d=`${r} ${r===1?"minute":"minutes"} ago`,m=`vor ${r} ${r===1?"Minute":"Minuten"}`):(d="just now",m="gerade eben");const h=document.querySelector(".version-text-en"),x=document.querySelector(".version-text-de");h&&(h.textContent=`v${a} OUT NOW \u2022 ${d}`),x&&(x.textContent=`v${a} JETZT VERF\xDCGBAR \u2022 ${m}`);const E=document.getElementById("schema-software");if(E)try{const y=JSON.parse(E.textContent);y.softwareVersion=a,E.textContent=JSON.stringify(y,null,2)}catch(y){console.warn("Failed to dynamically update schema version:",y)}}catch(n){console.warn("Failed to fetch dynamic version info:",n)}},b=document.querySelectorAll(".mock-tab"),A=document.querySelectorAll(".mock-screen");b.forEach(n=>{n.addEventListener("click",()=>{b.forEach(a=>a.classList.remove("active")),A.forEach(a=>a.classList.remove("active")),n.classList.add("active");const i=n.getAttribute("data-target"),t=document.getElementById(i);t&&t.classList.add("active")})});const L=document.querySelectorAll(".terminal-tab-btn"),I=document.querySelectorAll(".terminal-pane");L.forEach(n=>{n.addEventListener("click",()=>{L.forEach(a=>a.classList.remove("active")),I.forEach(a=>a.classList.remove("active")),n.classList.add("active");const i=n.getAttribute("data-tab"),t=document.getElementById(i);t&&t.classList.add("active")})});const g=document.querySelector(".terminal-copy-btn");g&&g.addEventListener("click",()=>{const n=document.querySelector(".terminal-pane.active");if(!n)return;const i=n.querySelector("code");if(!i)return;const t=i.innerText||i.textContent;navigator.clipboard.writeText(t).then(()=>{const a=document.documentElement.classList.contains("lang-de"),e=g.innerHTML;g.innerHTML=a?"\u2705 Kopiert!":"\u2705 Copied!",g.disabled=!0,setTimeout(()=>{g.innerHTML=e,g.disabled=!1},2e3)}).catch(a=>{console.error("Failed to copy text: ",a)})});const f=document.querySelector(".hamburger"),p=document.querySelector("#primary-nav");if(f&&p){f.setAttribute("aria-expanded","false");const n=()=>{p.classList.add("open"),f.setAttribute("aria-expanded","true"),document.addEventListener("keydown",a)},i=()=>{p.classList.remove("open"),f.setAttribute("aria-expanded","false"),document.removeEventListener("keydown",a)},t=()=>p.classList.contains("open")?i():n(),a=e=>{e.key==="Escape"&&i()};f.addEventListener("click",t),p.querySelectorAll("a").forEach(e=>e.addEventListener("click",i))}const S=()=>{const n=localStorage.getItem("koala_lang")||(navigator.language.startsWith("de")?"de":"en");window.location.pathname.split("/").some(e=>["de","fr","es","pt-BR","ru","it","pl","tr","nl","ja","ko","pt"].includes(e))||document.querySelectorAll('a[href="./"], a[href="de/"], a[href="fr/"], a[href="es/"], a[href="pt-BR/"], a[href="ru/"], a[href="it/"], a[href="pl/"], a[href="tr/"], a[href="nl/"], a[href="ja/"], a[href="ko/"], a[href="pt/"]').forEach(l=>{l.href=n==="en"?"./":`${n}/`})},j=n=>{const t=n.currentTarget.value,a=window.location.pathname;if(localStorage.setItem("koala_lang",t),!(a.includes("impressum")||a.includes("datenschutz")||a.includes("join"))){const c=a.split("/").some(o=>["de","fr","es","pt-BR","ru","it","pl","tr","nl","ja","ko","pt"].includes(o));let s;t==="en"?c?s="../":s="./":c?s="../"+t+"/":s=t+"/",window.location.href=s}else{const u=document.documentElement;u.classList.remove("lang-en","lang-de","lang-fr","lang-es","lang-pt-br","lang-ru","lang-it","lang-pl","lang-tr","lang-nl","lang-ja","lang-ko","lang-pt");const c=t==="de"?"de":"en";if(u.classList.add("lang-"+c),u.lang=c,document.querySelectorAll(".lang-dropdown").forEach(o=>{o.value=t}),a.includes("join")){const o={en:"Join Room | KoalaSync",de:"Raum beitreten | KoalaSync"};document.title=o[c]||o.en}S()}};document.querySelectorAll(".lang-dropdown").forEach(n=>{n.addEventListener("change",j)});const B=()=>{const n=localStorage.getItem("koala_lang"),i=navigator.language.startsWith("de")?"de":"en",t=n||i;document.querySelectorAll(".lang-dropdown").forEach(a=>{a.value=t})};document.querySelectorAll(".email-reveal").forEach(n=>{n.addEventListener("click",function(){const i=this.getAttribute("data-user"),t=this.getAttribute("data-domain");i&&t&&(this.textContent=`${i}@${t}`)})}),(()=>{const n=navigator.userAgent.includes("Firefox"),i=navigator.userAgent.includes("Chrome")||navigator.userAgent.includes("Chromium"),t=document.querySelectorAll(".btn-primary"),a=document.querySelectorAll(".btn-firefox");n&&t.length>0&&a.length>0?(t.forEach(e=>{e.classList.remove("btn-primary"),e.classList.add("btn-secondary")}),a.forEach(e=>{e.style.order="-1",e.style.transform="scale(1.05)",e.addEventListener("mouseleave",()=>{e.style.transform="scale(1)"}),e.addEventListener("mouseenter",()=>{e.style.transform="scale(1.05) translateY(-2px)"})})):i&&t.length>0&&a.length>0&&a.forEach(e=>{e.classList.remove("btn-firefox"),e.classList.add("btn-secondary"),e.style.color="var(--text)",e.style.background="var(--card)",e.style.border="1px solid var(--glass-border)",e.style.boxShadow="none"}),setTimeout(()=>{const e=document.documentElement.dataset.koalasyncInstalled==="true",l=document.getElementById("nav-extension-status");e&&l&&(l.style.display="inline-flex");const u=document.querySelectorAll(".illus-store-btn.chrome"),c=document.querySelectorAll(".illus-store-btn.firefox");if(n&&c.length>0?(c.forEach(s=>{s.style.order="-1",e||(s.classList.add("install-breathe"),s.style.cursor="pointer",s.onclick=()=>window.open("https://addons.mozilla.org/de/firefox/addon/koalasync/","_blank"))}),u.forEach(s=>{s.style.opacity="0.5",s.style.transform="scale(0.95)"})):i&&u.length>0&&(u.forEach(s=>{s.style.order="-1",e||(s.classList.add("install-breathe"),s.style.cursor="pointer",s.onclick=()=>window.open("https://chromewebstore.google.com/detail/koalasync/obbnmkmlaaddodakcbdljknjpagklifc","_blank"))}),c.forEach(s=>{s.style.opacity="0.5",s.style.transform="scale(0.95)"})),!e){const s=document.querySelectorAll(n?".btn-firefox":i?".btn-primary":null);s&&s.length>0&&s.forEach(o=>{const d=o.classList.contains("btn-firefox")?"rgba(249, 115, 22, ":"rgba(99, 102, 241, ";o.animate([{transform:"scale(1)",boxShadow:`0 0 15px ${d}0.2)`},{transform:"scale(1.05)",boxShadow:`0 0 25px ${d}0.5)`},{transform:"scale(1)",boxShadow:`0 0 15px ${d}0.2)`}],{duration:2500,iterations:1/0,easing:"ease-in-out"})})}},600)})(),T(),C(),S(),B()}); diff --git a/website/www/datenschutz.html b/website/www/datenschutz.html index b035bc9..8f34588 100644 --- a/website/www/datenschutz.html +++ b/website/www/datenschutz.html @@ -25,7 +25,7 @@ - +
@@ -60,6 +60,13 @@ + + + + + + +
@@ -218,6 +225,6 @@
- + diff --git a/website/www/de/index.html b/website/www/de/index.html index ab69fe3..61de7e4 100644 --- a/website/www/de/index.html +++ b/website/www/de/index.html @@ -19,6 +19,13 @@ + + + + + + + @@ -35,6 +42,13 @@ + + + + + + + @@ -49,7 +63,7 @@ - + + diff --git a/website/www/es/index.html b/website/www/es/index.html index c2c5408..fd287a1 100644 --- a/website/www/es/index.html +++ b/website/www/es/index.html @@ -19,6 +19,13 @@ + + + + + + + @@ -35,6 +42,13 @@ + + + + + + + @@ -49,7 +63,7 @@ - + + diff --git a/website/www/fr/index.html b/website/www/fr/index.html index 0c66a4e..8704721 100644 --- a/website/www/fr/index.html +++ b/website/www/fr/index.html @@ -19,6 +19,13 @@ + + + + + + + @@ -35,6 +42,13 @@ + + + + + + + @@ -49,7 +63,7 @@ - + + diff --git a/website/www/impressum.html b/website/www/impressum.html index 2cd288c..41eb209 100644 --- a/website/www/impressum.html +++ b/website/www/impressum.html @@ -25,7 +25,7 @@ - +
@@ -60,6 +60,13 @@ + + + + + + +
@@ -192,6 +199,6 @@
- + diff --git a/website/www/index.html b/website/www/index.html index 47d0c71..1b638b9 100644 --- a/website/www/index.html +++ b/website/www/index.html @@ -19,6 +19,13 @@ + + + + + + + @@ -35,6 +42,13 @@ + + + + + + + @@ -49,7 +63,7 @@ - + + diff --git a/website/www/it/index.html b/website/www/it/index.html new file mode 100644 index 0000000..e518772 --- /dev/null +++ b/website/www/it/index.html @@ -0,0 +1,1222 @@ + + + + + + KoalaSync | Sincronizza Netflix, YouTube e qualsiasi video con gli amici + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+ + + +
+
+
+ + v2.1.0 OUT NOW + v2.1.0 JETZT VERFÜGBAR + +

Guarda Insieme.
Sincronizza Perfettamente.

+

La tua serata cinema a distanza senza lag. Nessuna registrazione, nessun dato raccolto. Condividi un link e guarda insieme.

+
+ Un simpatico koala in piedi che guarda in basso verso i pulsanti di download +
+ +
+ + +
+
+
+
KoalaSync LogoKoalaSync
+ + + 2.1.0 + +
+
+ + + + +
+
+ +
+
+
+ Stanza Attiva + brave-eagle-80 +
+ Server Ufficiale +
+
+
Link di Invito
+
+ + +
+
+
+
Partecipanti nella Stanza
+
+
+
+ CoolUsername + YOU +
+
Stranger Things - S4E1
+
0:55 • Playing
+
+
+
+ KoalaPC + Peer +
+
Stranger Things - S4E1
+
0:55 • Playing
+
+
+
+ +
+ + +
+
+ + +
+ +
+ + +
+
+ + +
+ +
+ +
+ + Salto dagli Altri + + +
+
+ + +
+
+ PAUSE + CoolUsername @ 12:44:32 +
+
+
+
+ 🐨 KoalaPC +
+
+
+ + +
+
+ + Episode Lobby +
+
+ Stranger Things - S4E2 +
+
+ In attesa di 1 partecipante (KoalaPC)... +
+ +
+ + +
+
+
+
+ CoolUsername + YOU +
+
Stranger Things - S4E1
+
0:55 • Playing
+
+
+
+ KoalaPC + Peer +
+
Stranger Things - S4E1
+
0:55 • Playing
+
+
+
+
+ + +
+
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +

+ Usa questo se riscontri errori di "Identità Duplicata". +

+
+
+ + +
+ +
+ + + Connected + + +
+ + +
+
readyState: HAVE_ENOUGH_DATA
+
seekDelta: 0.05s
+
buffered: 300.2s
+
engineState: SYNCED
+
+ + +
+
+ CoolUsername: PAUSE + 0:55 +
+
+ KoalaPC: PLAY + 0:00 +
+
+ +
+ + +
+
+
[18:37:32] EVENT: PLAY -> ACK
+
[18:37:32] FORCE_SYNC -> 0.05s diff
+
[18:37:38] EVENT: PAUSE -> BROADCAST
+
[18:37:42] content_heartbeat: active
+
+ +
+ GitHub Repository +
2.1.0
+
+
+
+
+
+
+
+ +
+
+ A cute koala juggling multiple browser tabs showing streaming platforms +

+ Funziona sulle tue piattaforme preferite +

+
+ + + + + + + +
+
+
+ +
+
+

+ Perfetto per Ogni Occasione +

+

+ Vicini o lontani, KoalaSync unisce le persone attorno ai loro video preferiti. +

+
+
+ Due simpatici koala seduti insieme che condividono un secchio di popcorn +

+ Serata Cinema con gli Amici +

+

Sincronizza i tuoi film in tempo reale e parla via Discord, Zoom o la tua app di chiamata vocale preferita. Sembrerà di essere nella stessa stanza.

+
+
+ Un professore koala che presenta su uno schermo a due studenti koala a distanza +

+ Apprendimento a Distanza +

+

Analizza tutorial online, lezioni o stream di formazione per sviluppatori insieme a compagni di classe o colleghi. Fai pausa e discuti i passaggi complessi in perfetta armonia.

+
+
+ Una simpatica coppia di koala che guarda insieme a distanza; uno è seduto al PC e l'altro è a letto con un laptop, con cuori che volano tra loro +

+ Relazioni a Distanza +

+

Supera le distanze e goditi le serate romantiche. Vivi ogni colpo di scena, ridi alle stesse battute e condividi momenti emozionanti nello stesso identico millisecondo.

+
+
+
+
+ +
+
+ A cute koala with a question mark above its head wondering why to choose KoalaSync +

+ Perché KoalaSync? +

+

+ Progettato per una sincronizzazione affidabile, privacy al primo posto e configurazione semplice. +

+ +
+ +
+

+ + + + Controllo Totale / Sincronizzazione Istantanea +

+

Uno mette in pausa, tutti mettono in pausa. Uno cerca, tutti lo seguono. Il nostro protocollo di sincronizzazione a due fasi coordina la riproduzione in tempo reale tra tutti i partecipanti.

+
+ + +
+

+ + + + Binge-Watching Infinito +

+

Riproduzione automatica sincronizzata. KoalaSync rileva automaticamente i cambi di episodio e blocca la riproduzione finché tutti i partecipanti non hanno caricato il video successivo.

+
+ + +
+

+ + + + Zero Account / Massima Privacy +

+

Nessuna registrazione, nessun tracciamento, nessuna traccia persistente. Il server funziona interamente nella RAM effimera e cancella la tua stanza quando te ne vai.

+
+ STATE: VOLATILE + RAM-ONLY +
+
+ + +
+

+ + + + Supporto HTML5 Universale +

+

Funziona su YouTube, Twitch, Netflix, Jellyfin, Emby e quasi tutte le pagine web standard contenenti un elemento video HTML5. Compatibile anche con server personalizzati.

+
+ + +
+

+ + + + Inviti Istantanei / Accesso con 1 Click +

+

Nessun indirizzo IP o password da scambiare. Condividi un link di invito generato con i tuoi amici per farli entrare nella stanza automaticamente con un solo clic.

+
+ + +
+

+ + + + Ospitabile Autonomamente e Pronto per Docker +

+

I nostri server ufficiali sono gratuiti e veloci, ma puoi gestirne uno tuo se preferisci. Avvia il tuo server di inoltro privato in pochi secondi tramite Docker.

+
+
+ +
+
+ +
+
+ A cute koala weighing options in both hands to compare KoalaSync vs Teleparty +

+ KoalaSync vs. Teleparty +

+

+ Scopri perché l'open source, senza pubblicità e attento alla privacy è il modo migliore per guardare i video insieme. +

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FunzionalitàKoalaSyncTeleparty
+ Costi / Paywall + Abbonamenti premium, costi nascosti o funzionalità bloccate. + 100% Gratuito + ✘ Piani a Pagamento / Blocchi Premium + [1] +
+ Licenza / Codice Controllabile + Indica se il codice sorgente è aperto e liberamente controllabile. + Open Source (MIT) + ✘ Proprietario + [2] +
+ Ospitare in Proprio + Possibilità di distribuire il proprio server di inoltro privato. + Sì (Pronto per Docker) + ✘ No + [2] +
+ Privacy e Tracciamento + Requisiti di registrazione, cookie di tracciamento e analisi. + Nessuna Persistenza (Solo RAM) + ✘ Google Analytics e Cookie + [2] +
+ Compatibilità dei Siti + Siti web supportati e compatibilità dei player. + Quasi tutti i video HTML5[3] + ✘ Solo siti supportati + [1] +
+ Localizzazione / Traduzione + Lingue dell'interfaccia disponibili e supporto alle traduzioni. + 13 Lingue (in crescita) + ✘ Solo Inglese +
+
+

+ Stato del confronto: Maggio 2026. +

+

+ [1] + Dettagli sui prezzi di Teleparty Premium e reti supportate: + teleparty.com/premium +

+

+ [2] + Informativa sulla privacy di Teleparty e raccolta dei dati di tracciamento: + teleparty.com/privacy +

+

+ [3] + Funziona sui siti web che consentono l'iniezione di script nei tag video HTML5 standard. I siti web con Content Security Policy (CSP) molto rigide, protezioni DRM o wrapper del player fortemente offuscati (come shadow DOM complessi) potrebbero limitare il controllo o l'iniezione. +

+
+
+
+
+ +
+
+

+ Guida Introduttiva +

+ +
+
+
+ +

Installa l'Estensione

+

Aggiungi KoalaSync al tuo browser dal Chrome Web Store, da Firefox Add-ons, o scarica l'ultimo ZIP per sviluppatori da GitHub.

+
+ +
+
+
+
+ + + +
+
+ https://sync.koalastuff.net +
+
+
+ KoalaSync Extension +
+
+
+
+
+
+ +
+
KoalaSync
+
+ Sincronizzatore video attento alla privacy +
+
+
+
+
+ Chrome Logo + Scarica per Chrome +
+
+ Firefox Logo + Scarica per Firefox +
+
+
+ + +
+ + + +
+
+
+
+
+
+
+ +

Crea una Stanza

+

Apri il popup dell'estensione e fai clic su '+ Crea Nuova Stanza'. KoalaSync genererà automaticamente un ID Stanza e una Password sicuri, entrerà nella stanza e copierà il link di invito negli appunti.

+
+ +
+
+
+
+ KoalaSync Logo + KoalaSync +
+
2.1.0
+
+
+
+ Stanza +
+
+ Sincronizza +
+
+ Impostazioni +
+
+
+
+ + Crea Nuova Stanza +
+
+ +
+ + Connessione Manuale / Avanzata +
+ +
+ + Link di invito copiato! +
+
+
+
+
+
+
+ +

Condividi e Sincronizza

+

Invia il link di invito ai tuoi amici. Una volta entrati, seleziona la scheda del tuo video e goditi la riproduzione sincronizzata.

+
+ +
+
+ +
+
+ 🐨 KoalaPC + PLAYING +
+
+
+
+
+
+ +
+
+
+
+ 42:15 +
+
+ + +
+
+
+
+
+ IN SINCRONIA +
+
+ + +
+
+ 💻 LaptopKoala + PLAYING +
+
+
+
+
+
+ +
+
+
+
+ 42:15 +
+
+
+
+
+
+
+
+ + +
+
+

+ Per chi Ospita Autonomamente +

+

+ Non ti fidi del nostro server? Mantieni la piena sovranità sui tuoi dati. Distribuisci il tuo server di inoltro privato in pochi minuti. +

+ + +
+ Un simpatico koala seduto al laptop che distribuisce un contenitore Docker per l'hosting autonomo +
+ +
+
+
+ + + +
+
+ + + +
+
+
+ + +
+
services:
+  koala-sync:
+    image: ghcr.io/shik3i/koalasync:latest
+    container_name: KoalaSync
+    restart: always
+    # Access internally by proxying to container port 3000
+    environment:
+      - TZ=Europe/Berlin
+      - PORT=3000
+      - MIN_VERSION=1.0.0
+      - MAX_ROOMS=100
+      - MAX_PEERS_PER_ROOM=50
+    pids_limit: 2048
+ +
+ +
+
sync.koalastuff.net {
+    root * /var/www/koalasync/website/www
+    encode zstd gzip
+    
+    # Clean URLs support (no .html required)
+    try_files {path} {path}.html {path}/
+    file_server
+}
+
+syncserver.koalastuff.net {
+    reverse_proxy localhost:3000
+}
+
+ +
+
(security_headers) {
+    header {
+        # Enable HTTP Strict Transport Security (HSTS)
+        Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
+        # Prevent clickjacking attacks (Sameorigin)
+        X-Frame-Options "SAMEORIGIN"
+        # Prevent MIME-sniffing
+        X-Content-Type-Options "nosniff"
+        # Enable browser XSS protection
+        X-XSS-Protection "1; mode=block"
+        # Control referrer information
+        Referrer-Policy "strict-origin-when-cross-origin"
+        # Hide Caddy server stamp signature
+        -Server
+    }
+}
+
+sync.koalastuff.net {
+    encode zstd gzip
+    root * /var/www/koalasync/website/www
+
+    # Clean URLs: Resolves paths without .html in the URL
+    try_files {path} {path}.html {path}/
+    file_server
+
+    # Static Caching for high performance
+    @static {
+        file
+        path *.ico *.css *.js *.png *.svg *.webp *.avif
+    }
+    header @static Cache-Control "public, max-age=31536000, must-revalidate"
+
+    # Hardened Security & Permission Policies
+    import security_headers
+    header {
+        Content-Security-Policy "default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; connect-src 'self'; img-src 'self' data:; object-src 'none'; frame-ancestors 'none'; base-uri 'none'; form-action 'none';"
+        Permissions-Policy "camera=(), microphone=(), geolocation=(), payment=(), usb=()"
+    }
+}
+
+syncserver.koalastuff.net {
+    import security_headers
+    encode zstd gzip
+    reverse_proxy KoalaSync:3000
+}
+
+
+
+
+
+ +
+
+

+ Domande Frequenti +

+

+ Tutto quello che c'è da sapere sulla visione dei video insieme in perfetta sincronia. +

+
+
+ Posso guardare Netflix, Emby o Jellyfin in sincronia con gli amici? +

Sì! KoalaSync funziona su Netflix, YouTube, Twitch e qualsiasi sito web con un lettore video HTML5 — inclusi Emby, Jellyfin e server multimediali personalizzati. Installa l'estensione, crea una stanza, condividi il link di invito e tutti guarderanno in perfetta sincronia.

+
+
+ KoalaSync è un'alternativa gratuita a Teleparty? +

Gratuito al 100% e open source con licenza MIT. Nessun piano premium, nessuna funzionalità bloccata, nessuna pubblicità — tutto è incluso. A differenza di Teleparty, il server di inoltro di KoalaSync è solo in RAM, con zero raccolta dati o account utente richiesti.

+
+
+ KoalaSync funziona con Emby, Jellyfin e server multimediali ospitati in proprio? +

Sì. KoalaSync rileva qualsiasi elemento video HTML5 standard, il che significa che funziona perfettamente con Emby, Jellyfin, Plex e qualsiasi configurazione di streaming personalizzata. Puoi anche ospitare autonomamente il server di inoltro tramite Docker.

+
+
+ Quali browser e piattaforme supportano KoalaSync? +

Google Chrome, Mozilla Firefox, Microsoft Edge, Opera, Brave e tutti i browser basati su Chromium. Installalo direttamente dal Chrome Web Store o da Firefox Add-ons — non è richiesta alcuna configurazione manuale.

+
+
+ Tutti i miei amici devono avere l'estensione installata? +

Sì, ogni partecipante deve avere KoalaSync installato — ma non è richiesta alcuna registrazione o creazione di account. Fai clic sul link di invito, installa l'estensione se non l'hai già fatto ed entrerai automaticamente nella stanza in pochi secondi.

+
+
+ I miei dati sono al sicuro? E se non mi fido del server ufficiale? +

Completamente al sicuro. Il server di inoltro di KoalaSync è solo in RAM — tutti i dati della sessione vengono eliminati permanentemente nel momento in cui lasci la stanza. Nessun database, nessun log, nessuna analisi, nessun account. E se preferisci il controllo totale: puoi ospitare autonomamente il tuo server di inoltro privato tramite Docker in pochi minuti. L'intera codebase è open source e controllabile su GitHub.

+
+
+
+
+ +
+
+

+ Non sei convinto? Guarda tu stesso. +

+

+ KoalaSync è al 100% open source, senza pubblicità e senza tracciamento. Controlla il nostro codice su GitHub o installa direttamente l'estensione del browser. +

+ + + + Un simpatico koala che tiene una pagina del repository GitHub vicino alla mascotte di GitHub Octocat + + + +
+
+ + + + + + diff --git a/website/www/ja/index.html b/website/www/ja/index.html new file mode 100644 index 0000000..304d202 --- /dev/null +++ b/website/www/ja/index.html @@ -0,0 +1,1222 @@ + + + + + + KoalaSync | Netflix、YouTube、あらゆる動画を友達と同期視聴 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+ + + +
+
+
+ + v2.1.0 OUT NOW + v2.1.0 JETZT VERFÜGBAR + +

一緒に観よう。
完璧に同期。

+

遅延のないリモート映画鑑賞。登録不要、データ収集なし。リンクを共有するだけで、一緒に視聴できます。

+
+ ダウンロードボタンを見下ろしているかわいいコアラ +
+ +
+ + +
+
+
+
KoalaSync LogoKoalaSync
+ + + 2.1.0 + +
+
+ + + + +
+
+ +
+
+
+ アクティブなルーム + brave-eagle-80 +
+ 公式サーバー +
+
+
招待リンク
+
+ + +
+
+
+
ルーム内のメンバー
+
+
+
+ CoolUsername + YOU +
+
Stranger Things - S4E1
+
0:55 • Playing
+
+
+
+ KoalaPC + Peer +
+
Stranger Things - S4E1
+
0:55 • Playing
+
+
+
+ +
+ + +
+
+ + +
+ +
+ + +
+
+ + +
+ +
+ +
+ + 他の人に合わせる + + +
+
+ + +
+
+ PAUSE + CoolUsername @ 12:44:32 +
+
+
+
+ 🐨 KoalaPC +
+
+
+ + +
+
+ + Episode Lobby +
+
+ Stranger Things - S4E2 +
+
+ 1人のメンバー (KoalaPC) を待機中... +
+ +
+ + +
+
+
+
+ CoolUsername + YOU +
+
Stranger Things - S4E1
+
0:55 • Playing
+
+
+
+ KoalaPC + Peer +
+
Stranger Things - S4E1
+
0:55 • Playing
+
+
+
+
+ + +
+
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +

+ 「Duplicate Identity」(ID重複)エラーが表示される場合に使用します。 +

+
+
+ + +
+ +
+ + + Connected + + +
+ + +
+
readyState: HAVE_ENOUGH_DATA
+
seekDelta: 0.05s
+
buffered: 300.2s
+
engineState: SYNCED
+
+ + +
+
+ CoolUsername: PAUSE + 0:55 +
+
+ KoalaPC: PLAY + 0:00 +
+
+ +
+ + +
+
+
[18:37:32] EVENT: PLAY -> ACK
+
[18:37:32] FORCE_SYNC -> 0.05s diff
+
[18:37:38] EVENT: PAUSE -> BROADCAST
+
[18:37:42] content_heartbeat: active
+
+ +
+ GitHub Repository +
2.1.0
+
+
+
+
+
+
+
+ +
+
+ A cute koala juggling multiple browser tabs showing streaming platforms +

+ お気に入りのプラットフォームで動作 +

+
+ + + + + + + +
+
+
+ +
+
+

+ あらゆるシーンに最適 +

+

+ 近くにいても遠くにいても、KoalaSyncはお気に入りのビデオを通じて人々を結びつけます。 +

+
+
+ 一緒に座ってポップコーンを分け合っている2匹のかわいいコアラ +

+ 友達との映画鑑賞 +

+

映画をリアルタイムで同期し、DiscordやZoomなどでおしゃべり。まるで同じ部屋に座っているかのような感覚です。

+
+
+ 画面を通じて2匹のリモート生徒コアラに講義をするコアラ教授 +

+ リモート学習 +

+

オンラインチュートリアル、講義、開発者向けトレーニング配信などをクラスメイトや同僚と一緒に分析。一時停止して、複雑なステップについて話し合えます。

+
+
+ 離れた場所で一緒に見ているかわいいコアラのカップル。一方はPCの前に座り、もう一方はベッドでノートPCを持っていて、二人の間にはハートが飛んでいます +

+ 遠距離恋愛 +

+

距離を縮めてデートナイトを楽しみましょう。すべてのストーリー展開を体験し、同じジョックで笑い、感情的な瞬間をまったく同じミリ秒で共有します。

+
+
+
+
+ +
+
+ A cute koala with a question mark above its head wondering why to choose KoalaSync +

+ KoalaSyncを選ぶ理由 +

+

+ 信頼性の高い同期、プライバシー優先の設計、簡単なセットアップのために構築。 +

+ +
+ +
+

+ + + + 完全なコントロール / 即時同期 +

+

一人が一時停止すれば、全員が一時停止。一人がシークすれば、全員が追従。2フェーズ同期プロトコルが、リアルタイムで全員の再生状況を連動させます。

+
+ + +
+

+ + + + 終わらない連続視聴 +

+

同期した自動再生。KoalaSyncはエピソードの切り替えを自動検知し、全員が次の動画を読み込むまで再生を待機します。

+
+ + +
+

+ + + + アカウント不要 / 純粋なプライバシー +

+

登録不要、追跡なし、履歴も残りません。サーバーは一時的なメモリ(RAM)上でのみ動作し、退出時にルームを完全に消去します。

+
+ STATE: VOLATILE + RAM-ONLY +
+
+ + +
+

+ + + + ユニバーサルHTML5サポート +

+

YouTube、Twitch、Netflix、Jellyfin、Emby、およびHTML5ビデオ要素を含むほぼすべての標準的なWebページで動作します。独自のセルフホスト設定とも互換性があります。

+
+ + +
+

+ + + + インスタント招待 / 1クリック参加 +

+

IPアドレスやパスワードをやり取りする必要はありません。生成された招待リンクを友達に共有するだけで、1クリックで自動的にルームに参加できます。

+
+ + +
+

+ + + + セルフホスト可能&Docker対応 +

+

公式サーバーは無料で高速ですが、必要に応じて独自のサーバーを構築できます。Dockerを使用して、数秒でプライベートリレーサーバーを起動できます。

+
+
+ +
+
+ +
+
+ A cute koala weighing options in both hands to compare KoalaSync vs Teleparty +

+ KoalaSync と Teleparty の比較 +

+

+ オープンソース、広告なし、プライバシー優先が、一緒に動画を観る上でいかに優れているかをご覧ください。 +

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
機能KoalaSyncTeleparty
+ 費用 / ペイウォール + プレミアムサブスクリプション、隠れた料金、またはロックされた機能。 + 100% 無料 + ✘ 有料プラン / プレミアム機能の制限 + [1] +
+ ライセンス / コードの監査性 + ソースコードが公開され、自由に監査できるかどうか。 + オープンソース (MIT) + ✘ プロプライエタリ + [2] +
+ セルフホスト + 独自のプライベートリレーサーバーを展開する機能。 + 可能(Docker対応) + ✘ 不可 + [2] +
+ プライバシーと追跡 + 登録の要件、追跡クッキー、およびアナリティクス。 + 履歴ゼロ (メモリ上のみ) + ✘ Google アナリティクスとクッキー + [2] +
+ 対応サイト + サポートされているWebサイトとプレーヤーの互換性。 + ほぼすべての HTML5 ビデオ[3] + ✘ サポートされているサイトのみ + [1] +
+ ローカライズ / 翻訳 + 利用可能なインターフェース言語と翻訳サポート。 + 13の言語(今後も追加予定) + ✘ 英語のみ +
+
+

+ 比較時点: 2026年5月。 +

+

+ [1] + 公式 Teleparty Premium の価格設定と対応ネットワークの詳細: + teleparty.com/premium +

+

+ [2] + Telepartyのプライバシーポリシーと追跡データの収集について: + teleparty.com/privacy +

+

+ [3] + 標準的なHTML5ビデオタグへのスクリプトインジェクションを許可するウェブサイトで動作します。非常に厳格なコンテンツセキュリティポリシー(CSP)、DRMコピー保護、または高度に難読化されたプレーヤーラッパー(複雑なシャドウDOMなど)を持つウェブサイトでは、自動制御やインジェクションが制限される場合があります。 +

+
+
+
+
+ +
+
+

+ はじめに +

+ +
+
+
+ +

拡張機能をインストール

+

Chrome ウェブストアや Firefox Add-ons から KoalaSync をブラウザに追加するか、GitHub から最新の開発者向け ZIP をダウンロードしてください。

+
+ +
+
+
+
+ + + +
+
+ https://sync.koalastuff.net +
+
+
+ KoalaSync Extension +
+
+
+
+
+
+ +
+
KoalaSync
+
+ プライバシー優先のビデオ同期ツール +
+
+
+
+
+ Chrome Logo + Chrome版をダウンロード +
+
+ Firefox Logo + Firefox版をダウンロード +
+
+
+ + +
+ + + +
+
+
+
+
+
+
+ +

ルームを作成

+

拡張機能のポップアップを開き、「+ 新規ルーム作成」をクリックします。KoalaSyncは自動的に安全なルームIDとパスワードを生成し、接続し、招待リンクをクリップボードにコピーします。

+
+ +
+
+
+
+ KoalaSync Logo + KoalaSync +
+
2.1.0
+
+
+
+ ルーム +
+
+ 同期 +
+
+ 設定 +
+
+
+
+ + 新規ルーム作成 +
+
+ +
+ + 手動接続 / 詳細設定 +
+ +
+ + 招待リンクをコピーしました! +
+
+
+
+
+
+
+ +

共有と同期

+

招待リンクを友達に送信します。友達が参加したら、ビデオのタブを選択して、同期された再生を楽しんでください。

+
+ +
+
+ +
+
+ 🐨 KoalaPC + PLAYING +
+
+
+
+
+
+ +
+
+
+
+ 42:15 +
+
+ + +
+
+
+
+
+ 同期中 +
+
+ + +
+
+ 💻 LaptopKoala + PLAYING +
+
+
+
+
+
+ +
+
+
+
+ 42:15 +
+
+
+
+
+
+
+
+ + +
+
+

+ セルフホストする方向け +

+

+ 公式サーバーを信頼しませんか?データの完全な所有権を維持しましょう。数分で独自のプライベートリレーサーバーを構築できます。 +

+ + +
+ セルフホスト用にDockerコンテナを展開している、ノートPCの前に座ったかわいいコアラ +
+ +
+
+
+ + + +
+
+ + + +
+
+
+ + +
+
services:
+  koala-sync:
+    image: ghcr.io/shik3i/koalasync:latest
+    container_name: KoalaSync
+    restart: always
+    # Access internally by proxying to container port 3000
+    environment:
+      - TZ=Europe/Berlin
+      - PORT=3000
+      - MIN_VERSION=1.0.0
+      - MAX_ROOMS=100
+      - MAX_PEERS_PER_ROOM=50
+    pids_limit: 2048
+ +
+ +
+
sync.koalastuff.net {
+    root * /var/www/koalasync/website/www
+    encode zstd gzip
+    
+    # Clean URLs support (no .html required)
+    try_files {path} {path}.html {path}/
+    file_server
+}
+
+syncserver.koalastuff.net {
+    reverse_proxy localhost:3000
+}
+
+ +
+
(security_headers) {
+    header {
+        # Enable HTTP Strict Transport Security (HSTS)
+        Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
+        # Prevent clickjacking attacks (Sameorigin)
+        X-Frame-Options "SAMEORIGIN"
+        # Prevent MIME-sniffing
+        X-Content-Type-Options "nosniff"
+        # Enable browser XSS protection
+        X-XSS-Protection "1; mode=block"
+        # Control referrer information
+        Referrer-Policy "strict-origin-when-cross-origin"
+        # Hide Caddy server stamp signature
+        -Server
+    }
+}
+
+sync.koalastuff.net {
+    encode zstd gzip
+    root * /var/www/koalasync/website/www
+
+    # Clean URLs: Resolves paths without .html in the URL
+    try_files {path} {path}.html {path}/
+    file_server
+
+    # Static Caching for high performance
+    @static {
+        file
+        path *.ico *.css *.js *.png *.svg *.webp *.avif
+    }
+    header @static Cache-Control "public, max-age=31536000, must-revalidate"
+
+    # Hardened Security & Permission Policies
+    import security_headers
+    header {
+        Content-Security-Policy "default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; connect-src 'self'; img-src 'self' data:; object-src 'none'; frame-ancestors 'none'; base-uri 'none'; form-action 'none';"
+        Permissions-Policy "camera=(), microphone=(), geolocation=(), payment=(), usb=()"
+    }
+}
+
+syncserver.koalastuff.net {
+    import security_headers
+    encode zstd gzip
+    reverse_proxy KoalaSync:3000
+}
+
+
+
+
+
+ +
+
+

+ よくある質問 +

+

+ 完璧に同期して動画を一緒に楽しむために必要なすべての情報。 +

+
+
+ 友達と一緒にNetflix、Emby、Jellyfinを同期視聴できますか? +

はい!KoalaSyncはNetflix, YouTube, TwitchおよびHTML5ビデオプレーヤーを備えたあらゆるウェブサイト(Emby, Jellyfin, 独自のメディアサーバーを含む)で動作します。拡張機能をインストールし、ルームを作成して招待リンクを共有するだけで、全員で完全に同期して視聴できます。

+
+
+ KoalaSyncはTelepartyの無料の代替ツールですか? +

MITライセンスのもとで100%無料かつオープンソース。有料プラン、制限された機能、広告などは一切ありません。Telepartyとは異 nel、KoalaSyncのリレーサーバーはメモリ上のみで動作し、データ収集やユーザーアカウント作成は不要です。

+
+
+ KoalaSyncはEmby、Jellyfin、およびセルフホストのメディアサーバーで動作しますか? +

はい。KoalaSyncは標準的なHTML5ビデオ要素を検出するため、Emby, Jellyfin, Plex、および独自のセルフホスト配信設定で完全に動作します。また、データの完全な所有権を維持するために、Dockerを介してリレーサーバーをセルフホストすることも可能です。

+
+
+ どのブラウザとプラットフォームがKoalaSyncをサポートしていますか? +

Google Chrome、Mozilla Firefox、Microsoft Edge、Opera、Brave、およびすべてのChromiumベースのブラウザ。Chrome ウェブストアまたは Firefox Add-ons から直接インストールできます。手動の設定は不要です。

+
+
+ 友達も全員拡張機能をインストールする必要がありますか? +

はい、参加者全員にKoalaSyncがインストールされている必要があります。ただし、登録やアカウント作成は不要です。招待リンクをクリックし、未インストールの場合は拡張機能をインストールすれば、数秒で自動的にルームに参加できます。

+
+
+ データは安全ですか? 公式サーバーを信頼できない場合は? +

完全に安全です。KoalaSyncのリレーサーバーはメモリ上のみで動作するため、ルームを退出した瞬間にすべてのセッションデータが永久に削除されます。データベース、ログ、分析、アカウントは一切ありません。さらに、完全に管理したい場合は、Dockerを介して独自のプライベートリレーサーバーを数分でセルフホストできます。コードベース全体がオープンソースであり、GitHubで監査可能です。

+
+
+
+
+ +
+
+

+ まだ迷っていますか? ぜひ実際にお確かめください。 +

+

+ KoalaSyncは100%オープンソースで、広告や追跡は一切ありません。GitHubでコードを監査するか、ブラウザ拡張機能を直接インストールしてください。 +

+ + + + GitHubのマスコット「Octocat」の隣で、GitHubのリポジトリページを持っているかわいいコアラ + + + +
+
+ + + + + + diff --git a/website/www/join.html b/website/www/join.html index f32706c..3cdb632 100644 --- a/website/www/join.html +++ b/website/www/join.html @@ -29,7 +29,7 @@ - +
@@ -64,6 +64,13 @@ + + + + + + +
@@ -121,6 +128,6 @@
- + diff --git a/website/www/ko/index.html b/website/www/ko/index.html new file mode 100644 index 0000000..b121737 --- /dev/null +++ b/website/www/ko/index.html @@ -0,0 +1,1222 @@ + + + + + + KoalaSync | Netflix, YouTube 및 모든 비디오를 친구와 실시간 동기화 시청 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+ + + +
+
+
+ + v2.1.0 OUT NOW + v2.1.0 JETZT VERFÜGBAR + +

함께 시청하세요.
완벽하게 동기화됩니다.

+

지연 없는 원격 영화의 밤. 회원가입도, 데이터 수집도 없습니다. 링크를 공유하고 함께 시청하세요.

+
+ 다운로드 버튼을 내려다보고 서 있는 귀여운 코알라 +
+ +
+ + +
+
+
+
KoalaSync LogoKoalaSync
+ + + 2.1.0 + +
+
+ + + + +
+
+ +
+
+
+ 활성 방 + brave-eagle-80 +
+ 공식 서버 +
+
+
초대 링크
+
+ + +
+
+
+
방의 참여자
+
+
+
+ CoolUsername + YOU +
+
Stranger Things - S4E1
+
0:55 • Playing
+
+
+
+ KoalaPC + Peer +
+
Stranger Things - S4E1
+
0:55 • Playing
+
+
+
+ +
+ + +
+
+ + +
+ +
+ + +
+
+ + +
+ +
+ +
+ + 다른 사람에게 이동 + + +
+
+ + +
+
+ PAUSE + CoolUsername @ 12:44:32 +
+
+
+
+ 🐨 KoalaPC +
+
+
+ + +
+
+ + Episode Lobby +
+
+ Stranger Things - S4E2 +
+
+ 참여자 1명 (KoalaPC) 대기 중... +
+ +
+ + +
+
+
+
+ CoolUsername + YOU +
+
Stranger Things - S4E1
+
0:55 • Playing
+
+
+
+ KoalaPC + Peer +
+
Stranger Things - S4E1
+
0:55 • Playing
+
+
+
+
+ + +
+
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +

+ "중복된 ID" 오류가 발생할 경우에 사용하세요. +

+
+
+ + +
+ +
+ + + Connected + + +
+ + +
+
readyState: HAVE_ENOUGH_DATA
+
seekDelta: 0.05s
+
buffered: 300.2s
+
engineState: SYNCED
+
+ + +
+
+ CoolUsername: PAUSE + 0:55 +
+
+ KoalaPC: PLAY + 0:00 +
+
+ +
+ + +
+
+
[18:37:32] EVENT: PLAY -> ACK
+
[18:37:32] FORCE_SYNC -> 0.05s diff
+
[18:37:38] EVENT: PAUSE -> BROADCAST
+
[18:37:42] content_heartbeat: active
+
+ +
+ GitHub Repository +
2.1.0
+
+
+
+
+
+
+
+ +
+
+ A cute koala juggling multiple browser tabs showing streaming platforms +

+ 가장 좋아하는 플랫폼에서 작동합니다 +

+
+ + + + + + + +
+
+
+ +
+
+

+ 어떤 상황에도 완벽합니다 +

+

+ 가깝든 멀든, KoalaSync는 사람들이 좋아하는 비디오를 함께 즐길 수 있도록 연결해 줍니다. +

+
+
+ 함께 앉아 팝콘을 나눠 먹는 두 마리의 귀여운 코알라 +

+ 친구들과의 영화의 밤 +

+

비디오를 실시간으로 동기화하고 Discord, Zoom 또는 음성 채팅 앱으로 대화하세요. 마치 같은 방에 있는 것처럼 느껴집니다.

+
+
+ 화면을 통해 두 마리의 원격 학생 코알라에게 강의를 진행하는 코알라 교수 +

+ 원격 학습 +

+

온라인 튜토리얼, 강의 또는 개발자 교육 스트림을 클래스메이트나 동료와 함께 분석해 보세요. 어려운 단계를 멈추고 토론할 수 있습니다.

+
+
+ 원격으로 함께 시청하는 귀여운 코알라 커플. 한 명은 PC에 앉아 있고 다른 한 명은 노트북과 함께 침대에 있으며, 둘 사이에 하트가 날아다닙니다 +

+ 장거리 연애 +

+

거리의 한계를 넘어 데이트를 즐겨보세요. 모든 줄거리의 반전을 경험하고, 같은 농담에 웃으며, 감동적인 순간을 정확히 같은 밀리초에 공유하세요.

+
+
+
+
+ +
+
+ A cute koala with a question mark above its head wondering why to choose KoalaSync +

+ 왜 KoalaSync인가요? +

+

+ 신뢰할 수 있는 동기화, 개인정보 보호 중심 설계, 쉬운 설정을 위해 구축되었습니다. +

+ +
+ +
+

+ + + + 완벽한 제어 / 즉시 동기화 +

+

한 명이 일시정지하면 모두가 일시정지됩니다. 한 명이 탐색하면 모두가 따라갑니다. 당사의 2단계 동기화 프로토콜은 실시간으로 모든 참여자의 비디오 재생을 조율합니다.

+
+ + +
+

+ + + + 끊임없는 몰아보기 +

+

동기화된 자동 재생. KoalaSync는 에피소드 전환을 자동으로 감지하고 모든 참여자가 다음 비디오를 로드할 때까지 재생을 대기시킵니다.

+
+ + +
+

+ + + + 계정 없음 / 완전한 개인정보 보호 +

+

회원가입 없음, 추적 없음, 흔적을 남기지 않습니다. 서버는 휘발성 RAM에서만 완전히 실행되며 방을 나가면 영구히 삭제됩니다.

+
+ STATE: VOLATILE + RAM-ONLY +
+
+ + +
+

+ + + + 범용 HTML5 지원 +

+

YouTube, Twitch, Netflix, Jellyfin, Emby 및 HTML5 비디오 요소가 포함된 거의 모든 웹 페이지에서 작동합니다. 사용자 정의 자체 호스팅 설정과도 호환됩니다.

+
+ + +
+

+ + + + 즉시 초대 / 클릭 한 번으로 참여 +

+

IP 주소나 비밀번호를 교환할 필요가 없습니다. 생성된 초대 링크를 친구들과 공유하면 클릭 한 번으로 방에 자동으로 참여할 수 있습니다.

+
+ + +
+

+ + + + 자체 호스팅 가능 및 Docker 지원 +

+

공식 서버는 무료이며 빠르지만, 원하는 경우 직접 호스팅할 수도 있습니다. Docker를 통해 몇 초 만에 나만의 개인 릴레이 서버를 구축해 보세요.

+
+
+ +
+
+ +
+
+ A cute koala weighing options in both hands to compare KoalaSync vs Teleparty +

+ KoalaSync 대 Teleparty +

+

+ 오픈 소스, 광고 없음, 개인정보 보호 중심의 서비스가 왜 함께 시청하기에 더 우수한지 확인해 보세요. +

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
기능KoalaSyncTeleparty
+ 비용 / 유료 결제 + 프리미ウム 구독, 숨겨진 수수료 또는 차단된 기능. + 100% 무료 + ✘ 유료 요금제 / 프리미ウム 제한 + [1] +
+ 라이선스 / 코드 감사 가능 여부 + 소스 코드가 공개되어 있으며 자유롭게 감사할 수 있는지 여부. + 오픈 소스 (MIT) + ✘ 독점 라이선스 (Proprietary) + [2] +
+ 자체 호스팅 + 자신만의 개인 릴레이 서버를 배포할 수 있는 기능. + 지원 (Docker 지원) + ✘ 미지원 + [2] +
+ 개인정보 보호 및 추적 + 회원가입 요구사항, 추적 쿠키 및 분석 도구 사용 여부. + 흔적 없음 (RAM만 사용) + ✘ 구글 애널리틱스 및 쿠키 사용 + [2] +
+ 사이트 호환성 + 지원되는 웹사이트 및 플레이어 호환성. + 거의 모든 HTML5 비디오[3] + ✘ 지원되는 사이트만 가능 + [1] +
+ 로컬라이징 / 다국어 지원 + 제공되는 인터페이스 언어 및 번역 지원 여부. + 13개 언어 지원 (추가 중) + ✘ 영어만 지원 +
+
+

+ 비교 기준일: 2026년 5월. +

+

+ [1] + 공식 Teleparty Premium 요금제 및 지원되는 네트워크 세부 정보: + teleparty.com/premium +

+

+ [2] + Teleparty 개인정보 처리방침 및 추적 데이터 수집 정보: + teleparty.com/privacy +

+

+ [3] + 표준 HTML5 비디오 태그에 스크립트 삽입을 허용하는 웹사이트에서 작동합니다. 콘텐츠 보안 정책(CSP)이 매우 엄격하거나, DRM 복사 방지가 적용되었거나, 플레이어 래퍼가 복잡하게 난독화된 웹사이트(예: 복잡한 섀도 DOM)에서는 자동 제어 또는 스크립트 삽입이 제한될 수 있습니다. +

+
+
+
+
+ +
+
+

+ 시작하기 +

+ +
+
+
+ +

확장 프로그램 설치

+

Chrome 웹 스토어, Firefox 부가 기능에서 KoalaSync를 브라우저에 추가하거나, GitHub에서 최신 개발자용 ZIP 파일을 다운로드하세요.

+
+ +
+
+
+
+ + + +
+
+ https://sync.koalastuff.net +
+
+
+ KoalaSync Extension +
+
+
+
+
+
+ +
+
KoalaSync
+
+ 개인정보 보호 중심의 비디오 동기화 프로그램 +
+
+
+
+
+ Chrome Logo + Chrome용 다운로드 +
+
+ Firefox Logo + Firefox용 다운로드 +
+
+
+ + +
+ + + +
+
+
+
+
+
+
+ +

방 만들기

+

확장 프로그램 팝업을 열고 '+ 새 방 만들기'를 클릭하세요. KoalaSync가 안전한 방 ID와 비밀번호를 자동으로 생성하고, 참여한 후 초대 링크를 클립보드에 복사합니다.

+
+ +
+
+
+
+ KoalaSync Logo + KoalaSync +
+
2.1.0
+
+
+
+ +
+
+ 동기화 +
+
+ 설정 +
+
+
+
+ + 새 방 만들기 +
+
+ +
+ + 수동 연결 / 고급 +
+ +
+ + 초대 링크가 복사되었습니다! +
+
+
+
+
+
+
+ +

공유 및 동기화

+

친구들에게 초대 링크를 보내세요. 친구들이 참여하면 비디오 탭을 선택하고 동기화된 재생을 즐기세요.

+
+ +
+
+ +
+
+ 🐨 KoalaPC + PLAYING +
+
+
+
+
+
+ +
+
+
+
+ 42:15 +
+
+ + +
+
+
+
+
+ 동기화됨 +
+
+ + +
+
+ 💻 LaptopKoala + PLAYING +
+
+
+
+
+
+ +
+
+
+
+ 42:15 +
+
+
+
+
+
+
+
+ + +
+
+

+ 자체 호스팅 사용자를 위한 안내 +

+

+ 공식 서버를 신뢰하기 어려우신가요? 완벽한 데이터 주권을 유지하세요. 몇 분 만에 나만의 개인 릴레이 서버를 구축할 수 있습니다. +

+ + +
+ 자체 호스팅을 위해 Docker 컨테이너를 배포하며 노트북 앞에 앉아 있는 귀여운 코알라 +
+ +
+
+
+ + + +
+
+ + + +
+
+
+ + +
+
services:
+  koala-sync:
+    image: ghcr.io/shik3i/koalasync:latest
+    container_name: KoalaSync
+    restart: always
+    # Access internally by proxying to container port 3000
+    environment:
+      - TZ=Europe/Berlin
+      - PORT=3000
+      - MIN_VERSION=1.0.0
+      - MAX_ROOMS=100
+      - MAX_PEERS_PER_ROOM=50
+    pids_limit: 2048
+ +
+ +
+
sync.koalastuff.net {
+    root * /var/www/koalasync/website/www
+    encode zstd gzip
+    
+    # Clean URLs support (no .html required)
+    try_files {path} {path}.html {path}/
+    file_server
+}
+
+syncserver.koalastuff.net {
+    reverse_proxy localhost:3000
+}
+
+ +
+
(security_headers) {
+    header {
+        # Enable HTTP Strict Transport Security (HSTS)
+        Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
+        # Prevent clickjacking attacks (Sameorigin)
+        X-Frame-Options "SAMEORIGIN"
+        # Prevent MIME-sniffing
+        X-Content-Type-Options "nosniff"
+        # Enable browser XSS protection
+        X-XSS-Protection "1; mode=block"
+        # Control referrer information
+        Referrer-Policy "strict-origin-when-cross-origin"
+        # Hide Caddy server stamp signature
+        -Server
+    }
+}
+
+sync.koalastuff.net {
+    encode zstd gzip
+    root * /var/www/koalasync/website/www
+
+    # Clean URLs: Resolves paths without .html in the URL
+    try_files {path} {path}.html {path}/
+    file_server
+
+    # Static Caching for high performance
+    @static {
+        file
+        path *.ico *.css *.js *.png *.svg *.webp *.avif
+    }
+    header @static Cache-Control "public, max-age=31536000, must-revalidate"
+
+    # Hardened Security & Permission Policies
+    import security_headers
+    header {
+        Content-Security-Policy "default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; connect-src 'self'; img-src 'self' data:; object-src 'none'; frame-ancestors 'none'; base-uri 'none'; form-action 'none';"
+        Permissions-Policy "camera=(), microphone=(), geolocation=(), payment=(), usb=()"
+    }
+}
+
+syncserver.koalastuff.net {
+    import security_headers
+    encode zstd gzip
+    reverse_proxy KoalaSync:3000
+}
+
+
+
+
+
+ +
+
+

+ 자주 묻는 질문 +

+

+ 완벽한 동기화로 비디오를 함께 시청하는 방법에 대해 알아야 할 모든 것. +

+
+
+ 친구들과 Netflix, Emby 또는 Jellyfin을 함께 동기화하여 시청할 수 있나요? +

네! KoalaSync는 Netflix, YouTube, Twitch 및 HTML5 비디오 플레이어가 있는 모든 웹사이트(Emby, Jellyfin 및 자체 호스팅 미디어 서버 포함)에서 작동합니다. 확장 프로그램을 설치하고 방을 만든 후 초대 링크를 공유하면 모두가 완벽하게 동기화되어 시청할 수 있습니다.

+
+
+ KoalaSync는 Teleparty의 무료 대체 서비스인가요? +

MIT 라이선스에 따라 100% 무료이며 오픈 소스입니다. 프리미ウム 등급도, 제한된 기능도, 광고도 없습니다. 모든 것이 포함되어 있습니다. Teleparty와 달리 KoalaSync의 릴레이 서버는 가입이나 개인정보 수집 없이 RAM에서만 실행됩니다.

+
+
+ KoalaSync는 Emby, Jellyfin 및 자체 호스팅 미디어 서버에서 작동하나요? +

네. KoalaSync는 표준 HTML5 비디오 요소를 감지하므로 Emby, Jellyfin, Plex 및 모든 사용자 정의 자체 호스팅 스트리밍 설정에서 완벽하게 작동합니다. 데이터 주권을 완전히 유지하기 위해 Docker를 통해 KoalaSync 릴레이 서버를 직접 호스팅할 수도 있습니다.

+
+
+ 어떤 브라우저와 플랫폼이 KoalaSync를 지원하나요? +

Google Chrome, Mozilla Firefox, Microsoft Edge, Opera, Brave 및 모든 Chromium 기반 브라우저를 지원합니다. Chrome 웹 스토어 또는 Firefox 부가 기능에서 직접 설치하세요. 수동 설정이 필요 없습니다.

+
+
+ 친구들 모두 확장 프로그램을 설치해야 하나요? +

네, 각 참여자 모두 KoalaSync를 설치해야 합니다. 단, 가입이나 계정 생성은 필요하지 않습니다. 초대 링크를 클릭하고, 아직 설치하지 않았다면 확장 프로그램을 설치하면 몇 초 만에 자동으로 방에 참여하게 됩니다.

+
+
+ 제 데이터는 안전한가요? 공식 서버를 믿지 못하겠다면 어떻게 하나요? +

완전히 안전합니다. KoalaSync의 릴레이 서버는 RAM 전용으로 작동하여, 방을 나가는 즉시 모든 세션 데이터가 영구적으로 삭제됩니다. 데이터베이스도, 로그도, 분석도, 계정도 없습니다. 완전한 제어를 원하신다면 Docker를 통해 몇 분 만에 나만의 개인 릴레이 서버를 직접 호스팅할 수 있습니다. 전체 소스 코드는 오픈 소스이며 GitHub에서 확인할 수 있습니다.

+
+
+
+
+ +
+
+

+ 아직 고민되시나요? 직접 확인해 보세요. +

+

+ KoalaSync는 100% 오픈 소스이며, 광고와 추적이 없습니다. GitHub에서 코드 베이스를 감사하거나 브라우저 확장 프로그램을 직접 설치해 보세요. +

+ + + + GitHub 마스코트인 Octocat 옆에서 GitHub 저장소 페이지를 들고 있는 귀여운 코알라 + + + +
+
+ + + + + + diff --git a/website/www/lang-init.efcb118a.min.js b/website/www/lang-init.efcb118a.min.js new file mode 100644 index 0000000..55f2613 --- /dev/null +++ b/website/www/lang-init.efcb118a.min.js @@ -0,0 +1 @@ +(function(){var r=document.documentElement,e=window.location.pathname,d={de:"de",fr:"fr",es:"es","pt-br":"pt-BR",pt:"pt",ru:"ru",it:"it",pl:"pl",tr:"tr",nl:"nl",ja:"ja",ko:"ko"},c=function(){var s=(navigator.language||"").toLowerCase();return s.indexOf("pt-br")===0?"pt-br":s.indexOf("pt")===0?"pt":s.split("-")[0]},p=e==="/"||e==="/index.html"||e==="";if(p){var l=localStorage.getItem("koala_lang"),o=c(),v=l||d[o]||"en";if(v!=="en"){window.location.replace(v+"/");return}}for(var i=r.className.split(" "),a=null,g=!1,t=0;t + + + + + KoalaSync | Synchroniseer Netflix, YouTube & elke video met vrienden + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+ + + +
+
+
+ + v2.1.0 OUT NOW + v2.1.0 JETZT VERFÜGBAR + +

Samen Kijken.
Perfect Synchroniseren.

+

Uw filmavond op afstand zonder vertraging. Geen registratie, geen gegevensverzameling. Deel gewoon een link en kijk samen.

+
+ Een schattige koala die staat en naar beneden kijkt naar de downloadknoppen +
+ +
+ + +
+
+
+
KoalaSync LogoKoalaSync
+ + + 2.1.0 + +
+
+ + + + +
+
+ +
+
+
+ Actieve kamer + brave-eagle-80 +
+ Officiële server +
+
+
Uitnodigingslink
+
+ + +
+
+
+
Deelnemers in kamer
+
+
+
+ CoolUsername + YOU +
+
Stranger Things - S4E1
+
0:55 • Playing
+
+
+
+ KoalaPC + Peer +
+
Stranger Things - S4E1
+
0:55 • Playing
+
+
+
+ +
+ + +
+
+ + +
+ +
+ + +
+
+ + +
+ +
+ +
+ + Spring naar anderen + + +
+
+ + +
+
+ PAUSE + CoolUsername @ 12:44:32 +
+
+
+
+ 🐨 KoalaPC +
+
+
+ + +
+
+ + Episode Lobby +
+
+ Stranger Things - S4E2 +
+
+ Wachten op 1 deelnemer (KoalaPC)... +
+ +
+ + +
+
+
+
+ CoolUsername + YOU +
+
Stranger Things - S4E1
+
0:55 • Playing
+
+
+
+ KoalaPC + Peer +
+
Stranger Things - S4E1
+
0:55 • Playing
+
+
+
+
+ + +
+
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +

+ Gebruik dit als u fouten ziet over 'Duplicate Identity'. +

+
+
+ + +
+ +
+ + + Connected + + +
+ + +
+
readyState: HAVE_ENOUGH_DATA
+
seekDelta: 0.05s
+
buffered: 300.2s
+
engineState: SYNCED
+
+ + +
+
+ CoolUsername: PAUSE + 0:55 +
+
+ KoalaPC: PLAY + 0:00 +
+
+ +
+ + +
+
+
[18:37:32] EVENT: PLAY -> ACK
+
[18:37:32] FORCE_SYNC -> 0.05s diff
+
[18:37:38] EVENT: PAUSE -> BROADCAST
+
[18:37:42] content_heartbeat: active
+
+ +
+ GitHub Repository +
2.1.0
+
+
+
+
+
+
+
+ +
+
+ A cute koala juggling multiple browser tabs showing streaming platforms +

+ Werkt op uw favoriete platforms +

+
+ + + + + + + +
+
+
+ +
+
+

+ Perfect voor elke gelegenheid +

+

+ Of u nu dichtbij of ver weg bent, KoalaSync brengt mensen samen rond hun favoriete video's. +

+
+
+ Twee schattige koala's die samen zitten en een emmer popcorn delen +

+ Filmavond met vrienden +

+

Synchroniseer uw films in realtime en praat via Discord, Zoom of uw favoriete spraakoproep-app. Het voelt alsof u in dezelfde kamer zit.

+
+
+ Een koala-professor die op een scherm presenteert aan twee externe student-koala's +

+ Leren op afstand +

+

Analyseer samen met klasgenoten of collega's online handleidingen, lezingen of trainingstreams voor ontwikkelaars. Pauzeer en bespreek complexe stappen in perfecte harmonie.

+
+
+ Een schattig koala-koppel dat op afstand samen kijkt; de een zit achter een pc and de ander ligt in bed met een laptop, met vliegende hartjes tussen hen in +

+ Langeafstandrelaties +

+

Overbrug de afstand en geniet van date nights. Ervaar elke plotwending, lach om dezelfde grappen en deel emotionele momenten op exact dezelfde milliseconde.

+
+
+
+
+ +
+
+ A cute koala with a question mark above its head wondering why to choose KoalaSync +

+ Waarom KoalaSync? +

+

+ Gebouwd voor betrouwbare synchronisatie, privacy-first ontwerp en eenvoudige installatie. +

+ +
+ +
+

+ + + + Volledige controle / Directe synchronisatie +

+

Eén pauzeert, iedereen pauzeert. Eén spoelt, iedereen volgt. Ons tweefasige synchronisatieprotocol coördineert het afspelen in realtime voor alle deelnemers.

+
+ + +
+

+ + + + Eindeloos binge-watchen +

+

Automatisch afspelen in sync. KoalaSync detecteert automatisch afleveringsovergangen en houdt het afspelen vast totdat alle deelnemers de volgende video succesvol hebben geladen.

+
+ + +
+

+ + + + Geen accounts / Pure privacy +

+

Geen registratie, geen tracking, geen permanente voetafdruk. De server draait volledig in het tijdelijke RAM en wist uw kamer wanneer u vertrekt.

+
+ STATE: VOLATILE + RAM-ONLY +
+
+ + +
+

+ + + + Universele HTML5-ondersteuning +

+

Werkt op YouTube, Twitch, Netflix, Jellyfin, Emby en bijna elke standaard webpagina met een HTML5-video-element. Ook compatibel met aangepaste zelfgehoste installaties.

+
+ + +
+

+ + + + Directe uitnodigingen / 1-klik deelname +

+

Geen IP-adressen of wachtwoorden om uit te wisselen. Deel een gegenereerde uitnodigingslink met uw vrienden om ze met een enkele klik automatisch deel te laten nemen.

+
+ + +
+

+ + + + Zelf te hosten & Docker-ready +

+

Onze officiële servers zijn gratis en snel, maar u kunt de volledige controle nemen als u dat wilt. Start uw eigen privé-relayserver in seconden via Docker.

+
+
+ +
+
+ +
+
+ A cute koala weighing options in both hands to compare KoalaSync vs Teleparty +

+ KoalaSync vs. Teleparty +

+

+ Ontdek waarom open-source, reclamevrij en privacy-first de superieure manier is om samen te kijken. +

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FunctieKoalaSyncTeleparty
+ Kosten / Betaalmuren + Premium abonnementen, verborgen kosten of vergrendelde functies. + 100% Gratis + ✘ Betaalde abonnementen / Premium-blokkades + [1] +
+ Licentie / Code auditeerbaar + Of de broncode open en vrij auditeerbaar is. + Open Source (MIT) + ✘ Propriëtair + [2] +
+ Self-hosting + Mogelijkheid om uw eigen privé-relayserver te implementeren. + Ja (Docker-ready) + ✘ Nee + [2] +
+ Privacy & Tracking + Registratievereisten, trackingcookies en analyses. + Geen persistentie (alleen RAM) + ✘ Google Analytics & Cookies + [2] +
+ Site-compatibiliteit + Ondersteunde websites en compatibiliteit van spelers. + Bijna elke HTML5-video[3] + ✘ Alleen ondersteunde sites + [1] +
+ Lokalisatie / Vertaling + Beschikbare interfacetalen en vertaalondersteuning. + 13 talen (en groeiend) + ✘ Alleen Engels +
+
+

+ Vergelijkingstijdstip: Mei 2026. +

+

+ [1] + Officiële Teleparty Premium-prijzen en ondersteunde netwerkdetails: + teleparty.com/premium +

+

+ [2] + Teleparty privacybeleid en trackinggegevensverzameling: + teleparty.com/privacy +

+

+ [3] + Werkt op websites die scriptinjecties in standaard HTML5-videotags toestaan. Websites met een zeer strikt Content Security Policy (CSP), DRM-kopieerbeveiliging of sterk versluierde spelers (zoals complexe shadow-DOM's) kunnen automatische controle of injectie beperken. +

+
+
+
+
+ +
+
+

+ Aan de slag +

+ +
+
+
+ +

Extensie installeren

+

Voeg KoalaSync toe aan uw browser vanuit de Chrome Web Store, Firefox-add-ons, of download de nieuwste ontwikkelaars-ZIP van GitHub.

+
+ +
+
+
+
+ + + +
+
+ https://sync.koalastuff.net +
+
+
+ KoalaSync Extension +
+
+
+
+
+
+ +
+
KoalaSync
+
+ Privacy-first videosynchronisator +
+
+
+
+
+ Chrome Logo + Downloaden voor Chrome +
+
+ Firefox Logo + Downloaden voor Firefox +
+
+
+ + +
+ + + +
+
+
+
+
+
+
+ +

Kamer maken

+

Open de extensie-popup en klik op '+ Nieuwe kamer maken'. KoalaSync genereert automatisch een beveiligde Kamer-ID en Wachtwoord, neemt deel en kopieert de uitnodigingslink naar uw klembord.

+
+ +
+
+
+
+ KoalaSync Logo + KoalaSync +
+
2.1.0
+
+
+
+ Kamer +
+
+ Sync +
+
+ Instellingen +
+
+
+
+ + Nieuwe kamer maken +
+
+ +
+ + Handmatig verbinden / Geavanceerd +
+ +
+ + Uitnodigingslink gekopieerd! +
+
+
+
+
+
+
+ +

Delen & Synchroniseren

+

Stuur de uitnodigingslink naar uw vrienden. Zodra ze deelnemen, selecteert u uw videotabblad en geniet u van gesynchroniseerd afspelen.

+
+ +
+
+ +
+
+ 🐨 KoalaPC + PLAYING +
+
+
+
+
+
+ +
+
+
+
+ 42:15 +
+
+ + +
+
+
+
+
+ IN SYNC +
+
+ + +
+
+ 💻 LaptopKoala + PLAYING +
+
+
+
+
+
+ +
+
+
+
+ 42:15 +
+
+
+
+
+
+
+
+ + +
+
+

+ Voor zelf-hosters +

+

+ Vertrouwt u onze server niet? Behoud de volledige soevereiniteit over uw gegevens. Implementeer uw eigen privé-relayserver in enkele minuten. +

+ + +
+ Een schattige koala die achter een laptop zit en een Docker-container implementeert voor self-hosting +
+ +
+
+
+ + + +
+
+ + + +
+
+
+ + +
+
services:
+  koala-sync:
+    image: ghcr.io/shik3i/koalasync:latest
+    container_name: KoalaSync
+    restart: always
+    # Access internally by proxying to container port 3000
+    environment:
+      - TZ=Europe/Berlin
+      - PORT=3000
+      - MIN_VERSION=1.0.0
+      - MAX_ROOMS=100
+      - MAX_PEERS_PER_ROOM=50
+    pids_limit: 2048
+ +
+ +
+
sync.koalastuff.net {
+    root * /var/www/koalasync/website/www
+    encode zstd gzip
+    
+    # Clean URLs support (no .html required)
+    try_files {path} {path}.html {path}/
+    file_server
+}
+
+syncserver.koalastuff.net {
+    reverse_proxy localhost:3000
+}
+
+ +
+
(security_headers) {
+    header {
+        # Enable HTTP Strict Transport Security (HSTS)
+        Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
+        # Prevent clickjacking attacks (Sameorigin)
+        X-Frame-Options "SAMEORIGIN"
+        # Prevent MIME-sniffing
+        X-Content-Type-Options "nosniff"
+        # Enable browser XSS protection
+        X-XSS-Protection "1; mode=block"
+        # Control referrer information
+        Referrer-Policy "strict-origin-when-cross-origin"
+        # Hide Caddy server stamp signature
+        -Server
+    }
+}
+
+sync.koalastuff.net {
+    encode zstd gzip
+    root * /var/www/koalasync/website/www
+
+    # Clean URLs: Resolves paths without .html in the URL
+    try_files {path} {path}.html {path}/
+    file_server
+
+    # Static Caching for high performance
+    @static {
+        file
+        path *.ico *.css *.js *.png *.svg *.webp *.avif
+    }
+    header @static Cache-Control "public, max-age=31536000, must-revalidate"
+
+    # Hardened Security & Permission Policies
+    import security_headers
+    header {
+        Content-Security-Policy "default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; connect-src 'self'; img-src 'self' data:; object-src 'none'; frame-ancestors 'none'; base-uri 'none'; form-action 'none';"
+        Permissions-Policy "camera=(), microphone=(), geolocation=(), payment=(), usb=()"
+    }
+}
+
+syncserver.koalastuff.net {
+    import security_headers
+    encode zstd gzip
+    reverse_proxy KoalaSync:3000
+}
+
+
+
+
+
+ +
+
+

+ Veelgestelde vragen +

+

+ Alles wat u moet weten over het samen bekijken van video's in perfecte synchronisatie. +

+
+
+ Kan ik Netflix, Emby of Jellyfin samen in sync kijken met vrienden? +

Ja! KoalaSync werkt op Netflix, YouTube, Twitch en elke website met een HTML5-videospeler — inclusief Emby, Jellyfin en zelfgehoste mediaservers. Installeer de extensie, maak een kamer, deel de uitnodigingslink en iedereen kijkt in perfecte sync.

+
+
+ Is KoalaSync een gratis alternatief voor Teleparty? +

100% gratis en open-source onder de MIT-licentie. Geen premium-niveaus, geen vergrendelde functies, geen advertenties — alles is inbegrepen. In tegenstelling tot Teleparty is de relayserver van KoalaSync alleen in het RAM-geheugen met nul gegevensverzameling of gebruikersaccounts vereist.

+
+
+ Werkt KoalaSync met Emby, Jellyfin en zelfgehoste mediaservers? +

Ja. KoalaSync detecteert elk standaard HTML5-video-element, wat betekent dat het perfect werkt met Emby, Jellyfin, Plex en elke aangepaste zelfgehoste streaminginstallatie. U kunt de KoalaSync-relayserver ook zelf hosten via Docker voor volledige soevereiniteit over uw gegevens.

+
+
+ Welke browsers en platforms ondersteunen KoalaSync? +

Google Chrome, Mozilla Firefox, Microsoft Edge, Opera, Brave en alle op Chromium gebaseerde browsers. Installeer het rechtstreeks vanuit de Chrome Web Store of Firefox Add-ons — geen handmatige configuratie nodig.

+
+
+ Moeten al mijn vrienden de extensie geïnstalleerd hebben? +

Ja, elke deelnemer moet KoalaSync geïnstalleerd hebben — maar er is geen aanmelding of accountcreatie. Klik gewoon op de uitnodigingslink, installeer de extensie als u dat nog niet hebt gedaan, en u neemt binnen enkele seconden automatisch deel aan de kamer.

+
+
+ Zijn mijn gegevens veilig? Wat als ik de officiële server niet vertrouw? +

Volledig veilig. De relayserver van KoalaSync is alleen in het RAM-geheugen — alle sessiegegevens worden permanent verwijderd zodra u de kamer verlaat. Geen database, geen logboeken, geen analyses, geen accounts. En als u de voorkeur geeft aan volledige controle: u kunt uw eigen privé-relayserver binnen enkele minuten zelf hosten via Docker. De volledige codebase is open-source en auditeerbaar op GitHub.

+
+
+
+
+ +
+
+

+ Niet overtuigd? Zie het zelf. +

+

+ KoalaSync is 100% open-source, reclamevrij en trackingvrij. Controleer onze codebase op GitHub of installeer de browserextensie rechtstreeks. +

+ + + + Een schattige koala die een GitHub-repositorypagina vasthoudt naast de GitHub-mascotte Octocat + + + +
+
+ + + + + + diff --git a/website/www/pl/index.html b/website/www/pl/index.html new file mode 100644 index 0000000..279b8e3 --- /dev/null +++ b/website/www/pl/index.html @@ -0,0 +1,1222 @@ + + + + + + KoalaSync | Synchronizuj Netflix, YouTube i dowolne wideo ze znajomymi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+ + + +
+
+
+ + v2.1.0 OUT NOW + v2.1.0 JETZT VERFÜGBAR + +

Oglądajcie Razem.
Synchronizujcie Idealnie.

+

Twój zdalny wieczór filmowy bez opóźnień. Bez rejestracji, bez zbierania danych. Po prostu udostępnij link i oglądajcie razem.

+
+ Uroczy koala stojący i patrzący w dół na przyciski pobierania +
+ +
+ + +
+
+
+
KoalaSync LogoKoalaSync
+ + + 2.1.0 + +
+
+ + + + +
+
+ +
+
+
+ Aktywny pokój + brave-eagle-80 +
+ Oficjalny serwer +
+
+
Link do zaproszenia
+
+ + +
+
+
+
Uczestnicy w pokoju
+
+
+
+ CoolUsername + YOU +
+
Stranger Things - S4E1
+
0:55 • Playing
+
+
+
+ KoalaPC + Peer +
+
Stranger Things - S4E1
+
0:55 • Playing
+
+
+
+ +
+ + +
+
+ + +
+ +
+ + +
+
+ + +
+ +
+ +
+ + Skocz do innych + + +
+
+ + +
+
+ PAUSE + CoolUsername @ 12:44:32 +
+
+
+
+ 🐨 KoalaPC +
+
+
+ + +
+
+ + Episode Lobby +
+
+ Stranger Things - S4E2 +
+
+ Oczekiwanie na 1 uczestnika (KoalaPC)... +
+ +
+ + +
+
+
+
+ CoolUsername + YOU +
+
Stranger Things - S4E1
+
0:55 • Playing
+
+
+
+ KoalaPC + Peer +
+
Stranger Things - S4E1
+
0:55 • Playing
+
+
+
+
+ + +
+
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +

+ Użyj tego, jeśli widzisz błędy o zduplikowanej tożsamości. +

+
+
+ + +
+ +
+ + + Connected + + +
+ + +
+
readyState: HAVE_ENOUGH_DATA
+
seekDelta: 0.05s
+
buffered: 300.2s
+
engineState: SYNCED
+
+ + +
+
+ CoolUsername: PAUSE + 0:55 +
+
+ KoalaPC: PLAY + 0:00 +
+
+ +
+ + +
+
+
[18:37:32] EVENT: PLAY -> ACK
+
[18:37:32] FORCE_SYNC -> 0.05s diff
+
[18:37:38] EVENT: PAUSE -> BROADCAST
+
[18:37:42] content_heartbeat: active
+
+ +
+ GitHub Repository +
2.1.0
+
+
+
+
+
+
+
+ +
+
+ A cute koala juggling multiple browser tabs showing streaming platforms +

+ Działa na Twoich ulubionych platformach +

+
+ + + + + + + +
+
+
+ +
+
+

+ Idealny na każdą okazję +

+

+ Blisko czy daleko, KoalaSync łączy ludzi wokół ich ulubionych filmów. +

+
+
+ Dwa urocze koale siedzące razem i dzielące się kubełkiem popcornu +

+ Wieczór filmowy ze znajomymi +

+

Synchronizuj filmy w czasie rzeczywistym i rozmawiaj przez Discord, Zoom lub inną aplikację. Poczuj się, jakbyście siedzieli w tym samym pokoju.

+
+
+ Koala profesor prezentujący na ekranie dwóm zdalnym studentom koalom +

+ Zdalna nauka +

+

Analizujcie razem samouczki, wykłady lub szkolenia dla programistów z kolegami z klasy lub pracy. Zatrzymujcie i omawiajcie trudne kroki w pełnej harmonii.

+
+
+ Urocza para koali oglądająca razem na odległość; jedno siedzi przy komputerze, a drugie w łóżku z laptopem, z latającymi sercami między nimi +

+ Związki na odległość +

+

Pokonaj odległość i ciesz się randkami. Przeżywajcie każdy zwrot akcji, śmiejcie się z tych samych żartów i dzielcie emocje w tej samej milisekundzie.

+
+
+
+
+ +
+
+ A cute koala with a question mark above its head wondering why to choose KoalaSync +

+ Dlaczego KoalaSync? +

+

+ Stworzony z myślą o niezawodnej synchronizacji, prywatności i łatwej konfiguracji. +

+ +
+ +
+

+ + + + Pełna kontrola / Natychmiastowa synchronizacja +

+

Jeden zatrzymuje, wszyscy zatrzymują. Jeden przewija, wszyscy podążają. Nasz dwufazowy protokół synchronizacji koordynuje odtwarzanie w czasie rzeczywistym u wszystkich uczestników.

+
+ + +
+

+ + + + Niekończące się oglądanie +

+

Autoodtwarzanie w synchronizacji. KoalaSync automatycznie wykrywa zmiany odcinków i wstrzymuje odtwarzanie, dopóki wszyscy uczestnicy nie załadują następnego filmu.

+
+ + +
+

+ + + + Zero kont / Czysta prywatność +

+

Bez rejestracji, bez śledzenia, bez trwałych śladów. Serwer działa w całości w pamięci RAM i czyści Twój pokój, gdy go opuszczasz.

+
+ STATE: VOLATILE + RAM-ONLY +
+
+ + +
+

+ + + + Uniwersalne wsparcie HTML5 +

+

Działa na YouTube, Twitch, Netflix, Jellyfin, Emby i prawie każdej standardowej stronie z elementem wideo HTML5. Kompatybilny również z własnymi serwerami.

+
+ + +
+

+ + + + Natychmiastowe zaproszenia / Dołączanie 1 kliknięciem +

+

Bez wymiany adresów IP czy haseł. Udostępnij wygenerowany link zaproszenia znajomym, aby mogli automatycznie dołączyć do pokoju jednym kliknięciem.

+
+ + +
+

+ + + + Możliwość własnego hostowania i wsparcie Docker +

+

Nasze oficjalne serwery są darmowe i szybkie, ale możesz przejąć pełną kontrolę, jeśli chcesz. Uruchom własny serwer w kilka sekund za pomocą Dockera.

+
+
+ +
+
+ +
+
+ A cute koala weighing options in both hands to compare KoalaSync vs Teleparty +

+ KoalaSync vs. Teleparty +

+

+ Zobacz, dlaczego otwarty kod, brak reklam i ochrona prywatności to lepszy sposób na wspólne oglądanie. +

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FunkcjaKoalaSyncTeleparty
+ Koszty / Paywalle + Subskrypcje premium, ukryte opłaty lub zablokowane funkcje. + 100% Darmowy + ✘ Płatne plany / Blokady premium + [1] +
+ Licencja / Kod do wglądu + Czy kod źródłowy jest otwarty i można go swobodnie sprawdzać. + Open Source (MIT) + ✘ Zamknięty (własnościowy) + [2] +
+ Self-hosting + Możliwość wdrożenia własnego prywatnego serwera. + Tak (Wsparcie dla Docker) + ✘ Nie + [2] +
+ Prywatność i śledzenie + Wymogi rejestracji, ciasteczka śledzące i analityka. + Brak trwałości (tylko RAM) + ✘ Google Analytics i ciasteczka + [2] +
+ Kompatybilność ze stronami + Obsługiwane strony internetowe i kompatybilność odtwarzacza. + Prawie każde wideo HTML5[3] + ✘ Tylko obsługiwane strony + [1] +
+ Lokalizacja / Tłumaczenie + Dostępne języki interfejsu i wsparcie tłumaczeń. + 13 języków (i rośnie) + ✘ Tylko angielski +
+
+

+ Stan porównania: Maj 2026. +

+

+ [1] + Szczegóły oficjalnych cen Teleparty Premium i obsługiwanych sieci: + teleparty.com/premium +

+

+ [2] + Polityka prywatności Teleparty i zbieranie danych śledzenia: + teleparty.com/privacy +

+

+ [3] + Działa na stronach zezwalających na wstrzykiwanie skryptów do standardowych tagów wideo HTML5. Strony z bardzo rygorystycznymi zasadami bezpieczeństwa (CSP), zabezpieczeniami DRM (kopiowanie) lub mocno zaciemnionymi odtwarzaczami (jak złożone systemy shadow DOM) mogą ograniczać zdalne sterowanie. +

+
+
+
+
+ +
+
+

+ Jak zacząć +

+ +
+
+
+ +

Zainstaluj rozszerzenie

+

Dodaj KoalaSync do swojej przeglądarki z Chrome Web Store, Firefox Add-ons lub pobierz najnowsze archiwum ZIP dla deweloperów z GitHub.

+
+ +
+
+
+
+ + + +
+
+ https://sync.koalastuff.net +
+
+
+ KoalaSync Extension +
+
+
+
+
+
+ +
+
KoalaSync
+
+ Synchronizator wideo dbający o prywatność +
+
+
+
+
+ Chrome Logo + Pobierz dla Chrome +
+
+ Firefox Logo + Pobierz dla Firefox +
+
+
+ + +
+ + + +
+
+
+
+
+
+
+ +

Utwórz pokój

+

Otwórz okienko rozszerzenia i kliknij '+ Utwórz nowy pokój'. KoalaSync automatycznie wygeneruje bezpieczny ID pokoju oraz hasło, dołączy do niego i skopiuje link zaproszenia do schowka.

+
+ +
+
+
+
+ KoalaSync Logo + KoalaSync +
+
2.1.0
+
+
+
+ Pokój +
+
+ Sync +
+
+ Ustawienia +
+
+
+
+ + Utwórz nowy pokój +
+
+ +
+ + Połączenie ręczne / Zaawansowane +
+ +
+ + Link zaproszenia skopiowany! +
+
+
+
+
+
+
+ +

Udostępnij i synchronizuj

+

Wyślij link zaproszenia znajomym. Gdy dołączą, wybierz kartę z filmem i ciesz się zsynchronizowanym odtwarzaniem.

+
+ +
+
+ +
+
+ 🐨 KoalaPC + PLAYING +
+
+
+
+
+
+ +
+
+
+
+ 42:15 +
+
+ + +
+
+
+
+
+ ZSYNCHRONIZOWANO +
+
+ + +
+
+ 💻 LaptopKoala + PLAYING +
+
+
+
+
+
+ +
+
+
+
+ 42:15 +
+
+
+
+
+
+
+
+ + +
+
+

+ Dla hostujących samodzielnie +

+

+ Nie ufasz naszemu serwerowi? Zachowaj pełną suwerenność danych. Wdróż własny prywatny serwer w kilka minut. +

+ + +
+ Uroczy koala siedzący przy laptopie i wdrażający kontener Docker do samodzielnego hostowania +
+ +
+
+
+ + + +
+
+ + + +
+
+
+ + +
+
services:
+  koala-sync:
+    image: ghcr.io/shik3i/koalasync:latest
+    container_name: KoalaSync
+    restart: always
+    # Access internally by proxying to container port 3000
+    environment:
+      - TZ=Europe/Berlin
+      - PORT=3000
+      - MIN_VERSION=1.0.0
+      - MAX_ROOMS=100
+      - MAX_PEERS_PER_ROOM=50
+    pids_limit: 2048
+ +
+ +
+
sync.koalastuff.net {
+    root * /var/www/koalasync/website/www
+    encode zstd gzip
+    
+    # Clean URLs support (no .html required)
+    try_files {path} {path}.html {path}/
+    file_server
+}
+
+syncserver.koalastuff.net {
+    reverse_proxy localhost:3000
+}
+
+ +
+
(security_headers) {
+    header {
+        # Enable HTTP Strict Transport Security (HSTS)
+        Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
+        # Prevent clickjacking attacks (Sameorigin)
+        X-Frame-Options "SAMEORIGIN"
+        # Prevent MIME-sniffing
+        X-Content-Type-Options "nosniff"
+        # Enable browser XSS protection
+        X-XSS-Protection "1; mode=block"
+        # Control referrer information
+        Referrer-Policy "strict-origin-when-cross-origin"
+        # Hide Caddy server stamp signature
+        -Server
+    }
+}
+
+sync.koalastuff.net {
+    encode zstd gzip
+    root * /var/www/koalasync/website/www
+
+    # Clean URLs: Resolves paths without .html in the URL
+    try_files {path} {path}.html {path}/
+    file_server
+
+    # Static Caching for high performance
+    @static {
+        file
+        path *.ico *.css *.js *.png *.svg *.webp *.avif
+    }
+    header @static Cache-Control "public, max-age=31536000, must-revalidate"
+
+    # Hardened Security & Permission Policies
+    import security_headers
+    header {
+        Content-Security-Policy "default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; connect-src 'self'; img-src 'self' data:; object-src 'none'; frame-ancestors 'none'; base-uri 'none'; form-action 'none';"
+        Permissions-Policy "camera=(), microphone=(), geolocation=(), payment=(), usb=()"
+    }
+}
+
+syncserver.koalastuff.net {
+    import security_headers
+    encode zstd gzip
+    reverse_proxy KoalaSync:3000
+}
+
+
+
+
+
+ +
+
+

+ Często zadawane pytania +

+

+ Wszystko, co musisz wiedzieć o wspólnym oglądaniu filmów w idealnej synchronizacji. +

+
+
+ Czy mogę oglądać Netflix, Emby lub Jellyfin w synchronizacji ze znajomymi? +

Tak! KoalaSync działa na Netflix, YouTube, Twitch i każdej stronie z odtwarzaczem wideo HTML5 — w tym Emby, Jellyfin i własnych serwerach mediów. Zainstaluj rozszerzenie, utwórz pokój, udostępnij link i wszyscy oglądają w idealnej synchronizacji.

+
+
+ Czy KoalaSync to darmowa alternatywa dla Teleparty? +

W 100% darmowy i o otwartym kodzie na licencji MIT. Brak planów premium, brak zablokowanych funkcji, brak reklam — wszystko jest w cenie. W przeciwieństwie do Teleparty, serwer KoalaSync działa tylko w pamięci RAM, bez zbierania danych i bez kont użytkowników.

+
+
+ Czy KoalaSync działa z Emby, Jellyfin i własnymi serwerami mediów? +

Tak. KoalaSync wykrywa każdy standardowy element wideo HTML5, co oznacza, że działa idealnie z Emby, Jellyfin, Plexem i dowolnymi własnymi rozwiązaniami streamingowymi. Możesz również samodzielnie hostować serwer przez Dockera.

+
+
+ Które przeglądarki i platformy obsługują KoalaSync? +

Google Chrome, Mozilla Firefox, Microsoft Edge, Opera, Brave i wszystkie przeglądarki oparte na Chromium. Zainstaluj je bezpośrednio z Chrome Web Store lub Firefox Add-ons — nie jest wymagana ręczna konfiguracja.

+
+
+ Czy wszyscy moi znajomi muszą mieć zainstalowane rozszerzenie? +

Tak, każdy uczestnik musi mieć zainstalowane KoalaSync — ale nie ma rejestracji ani tworzenia kont. Po prostu kliknij link zaproszenia, zainstaluj rozszerzenie, jeśli jeszcze tego nie zrobiłeś, a dołączysz do pokoju automatycznie w kilka sekund.

+
+
+ Czy moje dane są bezpieczne? Co jeśli nie ufam oficjalnemu serwerowi? +

Całkowicie bezpieczne. Serwer KoalaSync działa tylko w pamięci RAM — wszystkie dane sesji są trwale usuwane w momencie opuszczenia pokoju. Brak bazy danych, brak logowania, brak analityki, brak kont. A jeśli wolisz pełną kontrolę: możesz samodzielmente uruchomić własny serwer przez Dockera w kilka minut. Cały kod źródłowy jest otwarty i dostępny na GitHubie.

+
+
+
+
+ +
+
+

+ Nieprzekonany? Zobacz sam. +

+

+ KoalaSync jest w 100% otwarty, wolny od reklam i śledzenia. Zbadaj nasz kod na GitHubie lub zainstaluj rozszerzenie bezpośrednio. +

+ + + + Uroczy koala trzymający stronę repozytorium GitHub obok maskotki GitHuba Octocata + + + +
+
+ + + + + + diff --git a/website/www/pt-BR/index.html b/website/www/pt-BR/index.html index 40d548c..36cfdd0 100644 --- a/website/www/pt-BR/index.html +++ b/website/www/pt-BR/index.html @@ -19,6 +19,13 @@ + + + + + + + @@ -35,6 +42,13 @@ + + + + + + + @@ -49,7 +63,7 @@ - + + diff --git a/website/www/pt/index.html b/website/www/pt/index.html new file mode 100644 index 0000000..e96d607 --- /dev/null +++ b/website/www/pt/index.html @@ -0,0 +1,1222 @@ + + + + + + KoalaSync | Sincronize Netflix, YouTube e qualquer vídeo com os amigos + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+ + + +
+
+
+ + v2.1.0 OUT NOW + v2.1.0 JETZT VERFÜGBAR + +

Vejam Juntos.
Sincronizem Perfeitamente.

+

A sua noite de cinema à distância e sem atrasos. Sem registo, sem recolha de dados. Partilhe apenas um link e vejam juntos.

+
+ Um coala fofo em pé e a olhar para baixo para os botões de download +
+ +
+ + +
+
+
+
KoalaSync LogoKoalaSync
+ + + 2.1.0 + +
+
+ + + + +
+
+ +
+
+
+ Sala Ativa + brave-eagle-80 +
+ Servidor Oficial +
+
+
Link de Invito
+
+ + +
+
+
+
Participantes na Sala
+
+
+
+ CoolUsername + YOU +
+
Stranger Things - S4E1
+
0:55 • Playing
+
+
+
+ KoalaPC + Peer +
+
Stranger Things - S4E1
+
0:55 • Playing
+
+
+
+ +
+ + +
+
+ + +
+ +
+ + +
+
+ + +
+ +
+ +
+ + Ir para os Outros + + +
+
+ + +
+
+ PAUSE + CoolUsername @ 12:44:32 +
+
+
+
+ 🐨 KoalaPC +
+
+
+ + +
+
+ + Episode Lobby +
+
+ Stranger Things - S4E2 +
+
+ A aguardar por 1 participante (KoalaPC)... +
+ +
+ + +
+
+
+
+ CoolUsername + YOU +
+
Stranger Things - S4E1
+
0:55 • Playing
+
+
+
+ KoalaPC + Peer +
+
Stranger Things - S4E1
+
0:55 • Playing
+
+
+
+
+ + +
+
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +

+ Use isto se vir erros de "Identidade Duplicata". +

+
+
+ + +
+ +
+ + + Connected + + +
+ + +
+
readyState: HAVE_ENOUGH_DATA
+
seekDelta: 0.05s
+
buffered: 300.2s
+
engineState: SYNCED
+
+ + +
+
+ CoolUsername: PAUSE + 0:55 +
+
+ KoalaPC: PLAY + 0:00 +
+
+ +
+ + +
+
+
[18:37:32] EVENT: PLAY -> ACK
+
[18:37:32] FORCE_SYNC -> 0.05s diff
+
[18:37:38] EVENT: PAUSE -> BROADCAST
+
[18:37:42] content_heartbeat: active
+
+ +
+ GitHub Repository +
2.1.0
+
+
+
+
+
+
+
+ +
+
+ A cute koala juggling multiple browser tabs showing streaming platforms +

+ Funciona nas suas plataformas favoritas +

+
+ + + + + + + +
+
+
+ +
+
+

+ Perfeito para Qualquer Ocasião +

+

+ Perto ou longe, o KoalaSync junta as pessoas em redor dos seus vídeos favoritos. +

+
+
+ Dois coalas fofos sentados juntos e a partilhar um balde de pipocas +

+ Noite de Cinema com Amigos +

+

Sincronize os seus filmes em tempo real e fale via Discord, Zoom ou a sua app de chamada de voz favorita. Parece que estão na mesma sala.

+
+
+ Um professor coala a dar uma apresentação num ecrã para dois estudantes coalas à distância +

+ Aprendizagem à Distância +

+

Analise tutoriais online, palestras ou streams de formação com colegas. Pausa e discuta passos complexos em perfeita harmonia.

+
+
+ Um casal fofo de coalas a ver juntos à distância; um está sentado no PC e o outro está na cama com um portátil, com corações a voar entre eles +

+ Relacionamentos à Distância +

+

Ponte para a distância e aproveite as noites de encontros. Experimente cada reviravolta, ria das mesmas piadas e partilhe momentos emocionantes exatamente no mesmo milissegundo.

+
+
+
+
+ +
+
+ A cute koala with a question mark above its head wondering why to choose KoalaSync +

+ Porquê KoalaSync? +

+

+ Construído para uma sincronizzazione fiável, design focado na privacidade e configuração simples. +

+ +
+ +
+

+ + + + Controlo Total / Sincronização Instantânea +

+

Um pausa, todos pausam. Um avança, todos seguem. O nosso protocolo di sincronizzazione a duas fases coordena a reprodução em tempo reale em todos os participantes.

+
+ + +
+

+ + + + Binge-Watching Infinito +

+

Reprodução automática em sincronia. O KoalaSync deteta automaticamente as transições de episódios e aguarda até que todos os peers tenham carregado o vídeo seguinte.

+
+ + +
+

+ + + + Zero Contas / Privacidade Pura +

+

Sem registo, sem rastreio, sem pegadas de persistência. O servidor corre inteiramente em RAM e purga a sala quando você sai.

+
+ STATE: VOLATILE + RAM-ONLY +
+
+ + +
+

+ + + + Suporte HTML5 Universal +

+

Funciona no YouTube, Twitch, Netflix, Jellyfin, Emby e em quase todas as páginas web padrão que contenham um elemento de vídeo HTML5. Compatível também com servidores personalizados.

+
+ + +
+

+ + + + Convites Instantâneos / Entrada com 1 Clique +

+

Nenhum endereço IP ou palavra-passe para trocar. Partilhe um link de convite gerado com os seus amigos para que possam entrar na sala automaticamente com um único clique.

+
+ + +
+

+ + + + Auto-Hospedável e Pronto para Docker +

+

Os nossos servidores oficiais são gratuitos e rápidos, mas pode assumir o controlo total se quiser. Lance o seu próprio servidor de retransmissão privado em segundos via Docker.

+
+
+ +
+
+ +
+
+ A cute koala weighing options in both hands to compare KoalaSync vs Teleparty +

+ KoalaSync vs. Teleparty +

+

+ Descubra porquê o código aberto, sem anúncios e focado na privacidade é a forma superior de ver vídeos juntos. +

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FuncionalidadeKoalaSyncTeleparty
+ Custos / Paywalls + Assinaturas premium, taxas ocultas ou funcionalidades bloqueadas. + 100% Gratuito + ✘ Planos Pagos / Bloqueios Premium + [1] +
+ Licença / Código Auditável + Se o código-fonte é aberto e livremente auditável. + Código Aberto (MIT) + ✘ Proprietário + [2] +
+ Self-Hosting + Capacidade de implementar o seu próprio servidor de retransmissão privado. + Sim (Pronto para Docker) + ✘ Não + [2] +
+ Privacidade e Rastreio + Requisitos de registo, cookies de rastreio e análises. + Zero-Persistência (Apenas RAM) + ✘ Google Analytics e Cookies + [2] +
+ Compatibilidade de Sites + Websites suportados e compatibilidade do leitor. + Quase qualquer vídeo HTML5[3] + ✘ Apenas sites suportados + [1] +
+ Localização / Tradução + Idiomas de interface disponíveis e suporte de tradução. + 13 Idiomas (e a crescer) + ✘ Apenas Inglês +
+
+

+ Estado da comparação: Maio de 2026. +

+

+ [1] + Preços oficiais do Teleparty Premium e detalhes das redes suportadas: + teleparty.com/premium +

+

+ [2] + Políticas de privacidade do Teleparty e recolha de dados de rastreio: + teleparty.com/privacy +

+

+ [3] + Funciona em websites que permitam injeções de scripts nas tags de vídeo HTML5 padrão. Websites com Políticas de Segurança de Conteúdo (CSP) muito rígidas, proteção de direitos de cópia DRM ou wrappers de leitores fortemente ofuscados (como shadow DOMs complexos) podem restringir o controlo ou injeção. +

+
+
+
+
+ +
+
+

+ Como Começar +

+ +
+
+
+ +

Instalar Extensão

+

Adicione o KoalaSync ao seu navegador a partir da Chrome Web Store, Firefox Add-ons ou transfira o ZIP de programador mais recente do GitHub.

+
+ +
+
+
+
+ + + +
+
+ https://sync.koalastuff.net +
+
+
+ KoalaSync Extension +
+
+
+
+
+
+ +
+
KoalaSync
+
+ Sincronizador de vídeo focado na privacidade +
+
+
+
+
+ Chrome Logo + Descarregar para Chrome +
+
+ Firefox Logo + Descarregar para Firefox +
+
+
+ + +
+ + + +
+
+
+
+
+
+
+ +

Criar uma Sala

+

Abra o popup da extensão e clique em '+ Criar Nova Sala'. O KoalaSync gera automaticamente um ID de Sala e Palavra-passe seguros, entra nela e copia o link de convite para a área de transferência.

+
+ +
+
+
+
+ KoalaSync Logo + KoalaSync +
+
2.1.0
+
+
+
+ Sala +
+
+ Sincronização +
+
+ Definições +
+
+
+
+ + Criar Nova Sala +
+
+ +
+ + Ligação Manual / Avançado +
+ +
+ + Link de convite copiado! +
+
+
+
+
+
+
+ +

Partilhar e Sincronizar

+

Envie o link de convite para os seus amigos. Assim que eles entrarem, selecione o seu separador do vídeo e desfrute da reprodução sincronizada.

+
+ +
+
+ +
+
+ 🐨 KoalaPC + PLAYING +
+
+
+
+
+
+ +
+
+
+
+ 42:15 +
+
+ + +
+
+
+
+
+ EM SINCRONIA +
+
+ + +
+
+ 💻 LaptopKoala + PLAYING +
+
+
+
+
+
+ +
+
+
+
+ 42:15 +
+
+
+
+
+
+
+
+ + +
+
+

+ Para Auto-Hospedadores +

+

+ Não confia no nosso servidor? Mantenha a total soberania dos seus dados. Implemente o seu próprio servidor de retransmissão privado em minutos. +

+ + +
+ Um coala fofo sentado num portátil a implementar um contentor Docker para auto-hospedagem +
+ +
+
+
+ + + +
+
+ + + +
+
+
+ + +
+
services:
+  koala-sync:
+    image: ghcr.io/shik3i/koalasync:latest
+    container_name: KoalaSync
+    restart: always
+    # Access internally by proxying to container port 3000
+    environment:
+      - TZ=Europe/Berlin
+      - PORT=3000
+      - MIN_VERSION=1.0.0
+      - MAX_ROOMS=100
+      - MAX_PEERS_PER_ROOM=50
+    pids_limit: 2048
+ +
+ +
+
sync.koalastuff.net {
+    root * /var/www/koalasync/website/www
+    encode zstd gzip
+    
+    # Clean URLs support (no .html required)
+    try_files {path} {path}.html {path}/
+    file_server
+}
+
+syncserver.koalastuff.net {
+    reverse_proxy localhost:3000
+}
+
+ +
+
(security_headers) {
+    header {
+        # Enable HTTP Strict Transport Security (HSTS)
+        Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
+        # Prevent clickjacking attacks (Sameorigin)
+        X-Frame-Options "SAMEORIGIN"
+        # Prevent MIME-sniffing
+        X-Content-Type-Options "nosniff"
+        # Enable browser XSS protection
+        X-XSS-Protection "1; mode=block"
+        # Control referrer information
+        Referrer-Policy "strict-origin-when-cross-origin"
+        # Hide Caddy server stamp signature
+        -Server
+    }
+}
+
+sync.koalastuff.net {
+    encode zstd gzip
+    root * /var/www/koalasync/website/www
+
+    # Clean URLs: Resolves paths without .html in the URL
+    try_files {path} {path}.html {path}/
+    file_server
+
+    # Static Caching for high performance
+    @static {
+        file
+        path *.ico *.css *.js *.png *.svg *.webp *.avif
+    }
+    header @static Cache-Control "public, max-age=31536000, must-revalidate"
+
+    # Hardened Security & Permission Policies
+    import security_headers
+    header {
+        Content-Security-Policy "default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; connect-src 'self'; img-src 'self' data:; object-src 'none'; frame-ancestors 'none'; base-uri 'none'; form-action 'none';"
+        Permissions-Policy "camera=(), microphone=(), geolocation=(), payment=(), usb=()"
+    }
+}
+
+syncserver.koalastuff.net {
+    import security_headers
+    encode zstd gzip
+    reverse_proxy KoalaSync:3000
+}
+
+
+
+
+
+ +
+
+

+ Perguntas Frequentes +

+

+ Tudo o que precisa de saber sobre ver vídeos juntos numa sincronização perfeita. +

+
+
+ Posso ver Netflix, Emby ou Jellyfin juntos em sincronia com os amigos? +

Sim! O KoalaSync funciona no Netflix, YouTube, Twitch e em qualquer website com um leitor de vídeo HTML5 — incluindo Emby, Jellyfin e servidores de media auto-hospedados. Instale a extensão, crie uma sala, partilhe o link de convite e todos assistem em perfeita sincronia.

+
+
+ O KoalaSync é uma alternativa gratuita ao Teleparty? +

100% gratuito e de código aberto sob a Licença MIT. Sem planos premium, sem funcionalidades bloqueadas, sem anúncios — tudo incluído. Ao contrário do Teleparty, o servidor do KoalaSync corre apenas em RAM, sem qualquer recolha de dados ou necessidade de contas de utilizador.

+
+
+ O KoalaSync funciona com Emby, Jellyfin e servidores de media auto-hospedados? +

Sim. O KoalaSync deteta qualquer elemento de vídeo HTML5 padrão, o que significa que funciona perfeitamente com Emby, Jellyfin, Plex e qualquer configuração de streaming personalizada. Também pode auto-hospedar o servidor de retransmissão do KoalaSync via Docker para total soberania dos dados.

+
+
+ Que navegadores e plataformas suportam o KoalaSync? +

Google Chrome, Mozilla Firefox, Microsoft Edge, Opera, Brave e todos os navegadores baseados em Chromium. Instale diretamente da Chrome Web Store ou Firefox Add-ons — sem necessidade de configuração manual.

+
+
+ Todos os meus amigos precisam de ter a extensão instalada? +

Sim, cada participante precisa de ter o KoalaSync instalado — mas não há registo ou criação de conta. Basta clicar no link de convite, instalar a extensão se ainda não o fez, e entrará na sala automaticamente em segundos.

+
+
+ Os meus dados estão seguros? E se eu não confiar no servidor oficial? +

Totalmente seguro. O servidor de retransmissão do KoalaSync corre apenas em RAM — todos os dados da sessão são permanentemente eliminados no momento em que sai da sala. Sem base de dados, sem registo, sem análises, sem contas. E se preferir o controlo total: pode auto-hospedar o seu próprio servidor de retransmissão privado via Docker em minutos. Toda a base de código é aberta e auditável no GitHub.

+
+
+
+
+ +
+
+

+ Não está convencido? Veja por si mesmo. +

+

+ O KoalaSync é 100% de código aberto, sem anúncios e sem rastreio. Audite a nossa base de código no GitHub ou instale a extensão do navegador diretamente. +

+ + + + Um coala fofo a segurar numa página de repositório GitHub ao lado da mascote do GitHub Octocat + + + +
+
+ + + + + + diff --git a/website/www/ru/index.html b/website/www/ru/index.html index 7fa34c0..31b5aed 100644 --- a/website/www/ru/index.html +++ b/website/www/ru/index.html @@ -19,6 +19,13 @@ + + + + + + + @@ -35,6 +42,13 @@ + + + + + + + @@ -49,7 +63,7 @@ - + + diff --git a/website/www/tr/index.html b/website/www/tr/index.html new file mode 100644 index 0000000..196a7a2 --- /dev/null +++ b/website/www/tr/index.html @@ -0,0 +1,1222 @@ + + + + + + KoalaSync | Netflix, YouTube ve Herhangi Bir Videoyu Arkadaşlarınızla Eşitleyin + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+ + + +
+
+
+ + v2.1.0 OUT NOW + v2.1.0 JETZT VERFÜGBAR + +

Birlikte İzleyin.
Mükemmel Eşitleyin.

+

Gecikmesiz uzaktan film geceniz. Kayıt yok, veri toplama yok. Sadece bir bağlantı paylaşın ve birlikte izleyin.

+
+ İndirme düğmelerine bakan sevimli bir koala +
+ +
+ + +
+
+
+
KoalaSync LogoKoalaSync
+ + + 2.1.0 + +
+
+ + + + +
+
+ +
+
+
+ Aktif Oda + brave-eagle-80 +
+ Resmi Sunucu +
+
+
Davet Linki
+
+ + +
+
+
+
Odadaki Kişiler
+
+
+
+ CoolUsername + YOU +
+
Stranger Things - S4E1
+
0:55 • Playing
+
+
+
+ KoalaPC + Peer +
+
Stranger Things - S4E1
+
0:55 • Playing
+
+
+
+ +
+ + +
+
+ + +
+ +
+ + +
+
+ + +
+ +
+ +
+ + Diğerlerine Atla + + +
+
+ + +
+
+ PAUSE + CoolUsername @ 12:44:32 +
+
+
+
+ 🐨 KoalaPC +
+
+
+ + +
+
+ + Episode Lobby +
+
+ Stranger Things - S4E2 +
+
+ 1 bağlantı bekleniyor (KoalaPC)... +
+ +
+ + +
+
+
+
+ CoolUsername + YOU +
+
Stranger Things - S4E1
+
0:55 • Playing
+
+
+
+ KoalaPC + Peer +
+
Stranger Things - S4E1
+
0:55 • Playing
+
+
+
+
+ + +
+
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +

+ "Duplicate Identity" (Mükerrer Kimlik) hataları görüyorsanız bunu kullanın. +

+
+
+ + +
+ +
+ + + Connected + + +
+ + +
+
readyState: HAVE_ENOUGH_DATA
+
seekDelta: 0.05s
+
buffered: 300.2s
+
engineState: SYNCED
+
+ + +
+
+ CoolUsername: PAUSE + 0:55 +
+
+ KoalaPC: PLAY + 0:00 +
+
+ +
+ + +
+
+
[18:37:32] EVENT: PLAY -> ACK
+
[18:37:32] FORCE_SYNC -> 0.05s diff
+
[18:37:38] EVENT: PAUSE -> BROADCAST
+
[18:37:42] content_heartbeat: active
+
+ +
+ GitHub Repository +
2.1.0
+
+
+
+
+
+
+
+ +
+
+ A cute koala juggling multiple browser tabs showing streaming platforms +

+ En sevdiğiniz platformlarda çalışır +

+
+ + + + + + + +
+
+
+ +
+
+

+ Her Durum İçin Mükemmel +

+

+ Yakın ya da uzak, KoalaSync insanları en sevdikleri videolar etrafında bir araya getirir. +

+
+
+ Birlikte oturan ve bir kova patlamış mısır paylaşan iki sevimli koala +

+ Arkadaşlarla Film Gecesi +

+

Filmlerinizi gerçek zamanlı olarak senkronize edin ve Discord, Zoom veya en sevdiğiniz sesli arama uygulaması üzerinden konuşun. Aynı odada oturuyormuş gibi hissettirir.

+
+
+ Ekrandan iki uzaktaki öğrenci koalaya sunum yapan bir koala profesörü +

+ Uzaktan Eğitim +

+

Sınıf arkadaşlarınız veya meslektaşlarınızla birlikte çevrimiçi öğreticileri, dersleri veya geliştirici eğitim akışlarını analiz edin. Karmaşık adımları mükemmel bir uyum içinde duraklatın ve tartışın.

+
+
+ Uzaktan birlikte izleyen sevimli bir koala çifti; biri bilgisayar başında oturuyor, diğeri yatakta dizüstü bilgisayarla, aralarında uçan kalpler var +

+ Uzak Mesafe İlişkileri +

+

Mesafeleri köprüleyin ve buluşma gecelerinin tadını çıkarın. Her olay örgüsünü deneyimleyin, aynı şakalara gülün ve duygusal anları tam olarak aynı milisaniyede paylaşın.

+
+
+
+
+ +
+
+ A cute koala with a question mark above its head wondering why to choose KoalaSync +

+ Neden KoalaSync? +

+

+ Güvenilir eşitleme, önce gizlilik ilkesi ve kolay kurulum için tasarlandı. +

+ +
+ +
+

+ + + + Tam Kontrol / Anında Eşitleme +

+

Biri duraklatır, herkes duraklatır. Biri arar, herkes takip eder. İki aşamalı eşitleme protokolümüz, oynatmayı tüm katılımcılar arasında gerçek zamanlı olarak koordine eder.

+
+ + +
+

+ + + + Kesintisiz İzleme Keyfi +

+

Senkronize otomatik oynatma. KoalaSync, bölüm geçişlerini otomatik olarak algılar ve tüm bağlantılar bir sonraki videoyu başarıyla yükleyene kadar oynatmayı bekletir.

+
+ + +
+

+ + + + Sıfır Hesap / Saf Gizlilik +

+

Kayıt yok, takip yok, kalıcı iz yok. Sunucu tamamen geçici RAM üzerinde çalışır ve ayrıldığınızda odanızı temizler.

+
+ STATE: VOLATILE + RAM-ONLY +
+
+ + +
+

+ + + + Evrensel HTML5 Desteği +

+

YouTube, Twitch, Netflix, Jellyfin, Emby ve HTML5 video öğesi içeren neredeyse tüm standart web sayfalarında çalışır. Ayrıca özel barındırılan kurulumlarla da uyumludur.

+
+ + +
+

+ + + + Anında Davetler / Tek Tıkla Katılım +

+

Takas edilecek IP adresi veya şifre yok. Arkadaşlarınızın tek bir tıklamayla odanıza otomatik olarak katılması için oluşturulan bir davet bağlantısını paylaşın.

+
+ + +
+

+ + + + Kendi Kendine Barındırılabilir ve Docker Uyumlu +

+

Resmi sunucularımız ücretsiz ve hızlıdır, ancak isterseniz tüm kontrolü elinize alabilirsiniz. Docker aracılığıyla saniyeler içinde kendi özel aktarım sunucunuzu başlatın.

+
+
+ +
+
+ +
+
+ A cute koala weighing options in both hands to compare KoalaSync vs Teleparty +

+ KoalaSync vs. Teleparty +

+

+ Açık kaynaklı, reklamsız ve önce gizlilik diyen yöntemin neden birlikte izlemenin en iyi yolu olduğunu görün. +

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ÖzellikKoalaSyncTeleparty
+ Maliyet / Ödeme Duvarları + Premium abonelikler, gizli ücretler veya kilitli özellikler. + %100 Ücretsiz + ✘ Ücretli Katmanlar / Premium Kilitler + [1] +
+ Lisans / Kod Denetlenebilir + Kaynak kodunun açık ve serbestçe denetlenebilir olup olmadığı. + Açık Kaynak (MIT) + ✘ Tescilli / Kapalı + [2] +
+ Kendi Kendine Barındırma + Kendi özel aktarım sunucunuzu devreye alma yeteneği. + Evet (Docker uyumlu) + ✘ Hayır + [2] +
+ Gizlilik ve Takip + Kayıt gereksinimleri, takip çerezleri ve analitikler. + Sıfır Kalıcılık (Sadece RAM) + ✘ Google Analytics ve Çerezler + [2] +
+ Site Uyumluluğu + Desteklenen web siteleri ve oynatıcı uyumluluğu. + Neredeyse tüm HTML5 videoları[3] + ✘ Sadece desteklenen siteler + [1] +
+ Yerelleştirme / Çeviri + Mevcut arayüz dilleri ve çeviri desteği. + 13 Dil (ve artıyor) + ✘ Sadece İngilizce +
+
+

+ Karşılaştırma durumu: Mayıs 2026. +

+

+ [1] + Resmi Teleparty Premium fiyatlandırması ve desteklenen ağ ayrıntıları: + teleparty.com/premium +

+

+ [2] + Teleparty gizlilik politikaları ve takip verisi toplama: + teleparty.com/privacy +

+

+ [3] + Standart HTML5 video etiketlerine komut dosyası eklenmesine izin veren web sitelerinde çalışır. Çok katı İçerik Güvenliği Politikalarına (CSP) sahip, DRM kopya korumalı veya yoğun şekilde gizlenmiş oynatıcı sarmalayıcıları (karmaşık gölge DOM'lar gibi) olan web siteleri otomatik kontrolü veya enjeksiyonu kısıtlayabilir. +

+
+
+
+
+ +
+
+

+ Başlarken +

+ +
+
+
+ +

Eklentiyi Kur

+

KoalaSync'i Chrome Web Mağazası, Firefox Eklentileri aracılığıyla tarayıcınıza ekleyin veya en son geliştirici ZIP dosyasını GitHub'dan indirin.

+
+ +
+
+
+
+ + + +
+
+ https://sync.koalastuff.net +
+
+
+ KoalaSync Extension +
+
+
+
+
+
+ +
+
KoalaSync
+
+ Gizlilik öncelikli video senkronize edici +
+
+
+
+
+ Chrome Logo + Chrome için İndir +
+
+ Firefox Logo + Firefox için İndir +
+
+
+ + +
+ + + +
+
+
+
+
+
+
+ +

Oda Oluştur

+

Eklenti açılır penceresini açın ve '+ Yeni Oda Oluştur' düğmesine tıklayın. KoalaSync otomatik olarak güvenli bir Oda Kimliği ve Şifresi oluşturur, odaya katılır ve davet bağlantısını panonuza kopyalar.

+
+ +
+
+
+
+ KoalaSync Logo + KoalaSync +
+
2.1.0
+
+
+
+ Oda +
+
+ Senkronizasyon +
+
+ Ayarlar +
+
+
+
+ + Yeni Oda Oluştur +
+
+ +
+ + Manuel Bağlantı / Gelişmiş +
+ +
+ + Davet bağlantısı kopyalandı! +
+
+
+
+
+
+
+ +

Paylaş ve Eşitle

+

Davet bağlantısını arkadaşlarınıza gönderin. Katıldıklarında video sekmenizi seçin ve senkronize oynatmanın keyfini çıkarın.

+
+ +
+
+ +
+
+ 🐨 KoalaPC + PLAYING +
+
+
+
+
+
+ +
+
+
+
+ 42:15 +
+
+ + +
+
+
+
+
+ EŞİTLENDİ +
+
+ + +
+
+ 💻 LaptopKoala + PLAYING +
+
+
+
+
+
+ +
+
+
+
+ 42:15 +
+
+
+
+
+
+
+
+ + +
+
+

+ Kendi Kendine Barındıranlar İçin +

+

+ Sunucumuza güvenmiyor musunuz? Veri egemenliğinizi koruyun. Kendi özel aktarım sunucunuzu dakikalar içinde devreye alın. +

+ + +
+ Kendi kendine barındırma için bir Docker konteyneri kuran dizüstü bilgisayarlı sevimli bir koala +
+ +
+
+
+ + + +
+
+ + + +
+
+
+ + +
+
services:
+  koala-sync:
+    image: ghcr.io/shik3i/koalasync:latest
+    container_name: KoalaSync
+    restart: always
+    # Access internally by proxying to container port 3000
+    environment:
+      - TZ=Europe/Berlin
+      - PORT=3000
+      - MIN_VERSION=1.0.0
+      - MAX_ROOMS=100
+      - MAX_PEERS_PER_ROOM=50
+    pids_limit: 2048
+ +
+ +
+
sync.koalastuff.net {
+    root * /var/www/koalasync/website/www
+    encode zstd gzip
+    
+    # Clean URLs support (no .html required)
+    try_files {path} {path}.html {path}/
+    file_server
+}
+
+syncserver.koalastuff.net {
+    reverse_proxy localhost:3000
+}
+
+ +
+
(security_headers) {
+    header {
+        # Enable HTTP Strict Transport Security (HSTS)
+        Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
+        # Prevent clickjacking attacks (Sameorigin)
+        X-Frame-Options "SAMEORIGIN"
+        # Prevent MIME-sniffing
+        X-Content-Type-Options "nosniff"
+        # Enable browser XSS protection
+        X-XSS-Protection "1; mode=block"
+        # Control referrer information
+        Referrer-Policy "strict-origin-when-cross-origin"
+        # Hide Caddy server stamp signature
+        -Server
+    }
+}
+
+sync.koalastuff.net {
+    encode zstd gzip
+    root * /var/www/koalasync/website/www
+
+    # Clean URLs: Resolves paths without .html in the URL
+    try_files {path} {path}.html {path}/
+    file_server
+
+    # Static Caching for high performance
+    @static {
+        file
+        path *.ico *.css *.js *.png *.svg *.webp *.avif
+    }
+    header @static Cache-Control "public, max-age=31536000, must-revalidate"
+
+    # Hardened Security & Permission Policies
+    import security_headers
+    header {
+        Content-Security-Policy "default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; connect-src 'self'; img-src 'self' data:; object-src 'none'; frame-ancestors 'none'; base-uri 'none'; form-action 'none';"
+        Permissions-Policy "camera=(), microphone=(), geolocation=(), payment=(), usb=()"
+    }
+}
+
+syncserver.koalastuff.net {
+    import security_headers
+    encode zstd gzip
+    reverse_proxy KoalaSync:3000
+}
+
+
+
+
+
+ +
+
+

+ Sıkça Sorulan Sorular +

+

+ Videoları mükemmel bir uyum içinde birlikte izleme hakkında bilmeniz gereken her şey. +

+
+
+ Arkadaşlarımla Netflix, Emby veya Jellyfin'i eş zamanlı olarak izleyebilir miyim? +

Evet! KoalaSync; Netflix, YouTube, Twitch ve HTML5 video oynatıcısı olan tüm web sitelerinde (Emby, Jellyfin ve kendi barındırdığınız medya sunucuları dahil) çalışır. Eklentiyi kurun, bir oda oluşturun, davet bağlantısını paylaşın; herkes mükemmel bir uyum içinde izlesin.

+
+
+ KoalaSync, Teleparty'ye ücretsiz bir alternatif mi? +

MIT Lisansı kapsamında %100 ücretsiz ve açık kaynaklıdır. Premium katmanlar yok, kilitli özellikler yok, reklam yok — her şey dahil. Teleparty'nin aksine, KoalaSync'in aktarım sunucusu yalnızca RAM üzerindedir; sıfır veri toplama ve kullanıcı hesabı gereksinimi vardır.

+
+
+ KoalaSync; Emby, Jellyfin ve kendi barındırdığınız medya sunucularıyla çalışır mı? +

Evet. KoalaSync, herhangi bir standart HTML5 video öğesini algılar; bu da Emby, Jellyfin, Plex ve her türlü özel barındırılan akış kurulumuyla mükemmel çalıştığı anlamına gelir. Tam veri egemenliği için Docker aracılığıyla KoalaSync aktarım sunucusunu kendiniz de barındırabilirsiniz.

+
+
+ Hangi tarayıcılar ve platformlar KoalaSync'i destekliyor? +

Google Chrome, Mozilla Firefox, Microsoft Edge, Opera, Brave ve tüm Chromium tabanlı tarayıcılar. Doğrudan Chrome Web Mağazası veya Firefox Eklentileri üzerinden kurun — manuel yapılandırmaya gerek yoktur.

+
+
+ Tüm arkadaşlarımın eklentiyi kurması gerekiyor mu? +

Evet, her katılımcının KoalaSync'i kurması gerekir — ancak kayıt veya hesap oluşturma yoktur. Sadece davet bağlantısına tıklayın, henüz yapmadıysanız eklentiyi kurun, saniyeler içinde odaya otomatik olarak katılacaksınız.

+
+
+ Verilerim güvende mi? Ya resmi sunucuya güvenmiyorsam? +

Tamamen güvende. KoalaSync'in aktarım sunucusu yalnızca RAM üzerindedir — odadan ayrıldığınız andan itibaren tüm oturum verileri kalıcı olarak silinir. Veritabanı yok, günlük kaydı yok, analitik yok, hesap yok. Ve tam kontrolü tercih ediyorsanız: Docker aracılığıyla kendi özel aktarım sunucunuzu dakikalar içinde barındırabilirsiniz. Tüm kod tabanı açık kaynaklıdır ve GitHub'da denetlenebilir.

+
+
+
+
+ +
+
+

+ İkna olmadınız mı? Kendiniz görün. +

+

+ KoalaSync %100 açık kaynaklıdır, reklamsızdır ve takip içermez. GitHub'daki kod tabanımızı denetleyin veya tarayıcı eklentisini doğrudan kurun. +

+ + + + GitHub maskotu Octocat'in yanında GitHub depo sayfasını tutan sevimli bir koala + + + +
+
+ + + + + + diff --git a/website/www/version.json b/website/www/version.json index 1b546a9..fbdecb8 100644 --- a/website/www/version.json +++ b/website/www/version.json @@ -1,4 +1,4 @@ { - "version": "2.0.8", - "date": "2026-06-03T10:11:57Z" + "version": "2.1.0", + "date": "2026-06-04T12:00:00Z" }