Compare commits

...

14 Commits

Author SHA1 Message Date
d73f91ed5f Bump version to 1.18.2 2023-10-27 17:44:29 +07:00
b918fadaab Bump version to 1.18.2 2023-10-27 17:44:03 +07:00
b79775839b Update README.md 2023-10-27 17:37:19 +07:00
d3e0ba9d9f Change "Target Resolution > Auto" to "Default" 2023-10-27 17:26:33 +07:00
e6e8297632 Clear touch controller's style after switching game 2023-10-27 17:20:06 +07:00
e94fb28266 Fix TitlesInfo 2023-10-27 17:00:25 +07:00
11e953c382 Bump version to 1.18.1 2023-10-26 20:06:46 +07:00
4845ea6994 Bump version to 1.18.1 2023-10-26 20:06:27 +07:00
0f0072bcb0 Update README.md 2023-10-26 20:05:57 +07:00
85d156f6b2 Clear Application Insights buffers periodically 2023-10-26 15:43:33 +07:00
8d24494b02 Add French & Japanese translations 2023-10-26 15:28:13 +07:00
9d1bca99aa Clear Analytics Insight buffers no page load 2023-10-26 15:14:35 +07:00
a8cf0896c5 Loading screen: use Image_Tile when Image_Hero is not available 2023-10-26 15:02:32 +07:00
4767df442e Update translations 2023-10-15 17:28:11 +07:00
3 changed files with 231 additions and 10 deletions

View File

@ -278,11 +278,13 @@ It's a reference to an Userscript called "better360" that I created many years a
## Translators
- **Chinese (Simplified)**: [@nyavana](https://github.com/nyavana)
- **French**: rodolphe.chouteau
- **German**: [@KingNothing81](https://github.com/KingNothing81)
- **Korean**: [@rightones](https://github.com/rightones)
- **Japanese**: Tak_attack, udonshi
- **Portuguese (Brazilian)**: [@ricardo404](https://github.com/ricardo404), [@Haisom](https://github.com/Haisom)
- **Polish**: [@aleksishere](https://github.com/aleksishere)
- **Russian**: [anpom6](https://crowdin.com/profile/anpom6)
- **Russian**: anpom6
- **Spanish**: [@PabloSebas](https://github.com/PabloSebas)
- **Turkish**: [@transbebek](https://github.com/transbebek)
- **Vietnamese**: [@redphx](https://github.com/redphx)
@ -299,5 +301,5 @@ But if you still really want to donate, I have a [Ko-fi page](https://ko-fi.com/
- Icons by [Phosphor Icons](https://phosphoricons.com)
## Disclaimers
- Use as it your own risk.
- Use it at your own risk.
- This project is not affiliated with Xbox in any way. All Xbox logos/icons/trademarks are copyright of their respective owners.

View File

@ -1,5 +1,5 @@
// ==UserScript==
// @name Better xCloud
// @namespace https://github.com/redphx
// @version 1.18
// @version 1.18.2
// ==/UserScript==

View File

@ -1,7 +1,7 @@
// ==UserScript==
// @name Better xCloud
// @namespace https://github.com/redphx
// @version 1.18
// @version 1.18.2
// @description Improve Xbox Cloud Gaming (xCloud) experience
// @author redphx
// @license MIT
@ -13,7 +13,7 @@
// ==/UserScript==
'use strict';
const SCRIPT_VERSION = '1.18';
const SCRIPT_VERSION = '1.18.2';
const SCRIPT_HOME = 'https://github.com/redphx/better-xcloud';
console.log(`[Better xCloud] readyState: ${document.readyState}`);
@ -67,7 +67,9 @@ const Translations = {
'de-DE',
'en-US',
'es-ES',
'fr-FR',
'ko-KR',
'ja-JP',
'pl-PL',
'pt-BR',
'ru-RU',
@ -97,6 +99,8 @@ const Translations = {
"de-DE": "Erweitert",
"en-US": "Advanced",
"es-ES": "Avanzado",
"fr-FR": "Options avancées",
"ja-JP": "高度な設定",
"ko-KR": "고급",
"pl-PL": "Zaawansowane",
"pt-BR": "Avançado",
@ -109,6 +113,8 @@ const Translations = {
"de-DE": "Audio",
"en-US": "Audio",
"es-ES": "Audio",
"fr-FR": "Audio",
"ja-JP": "音声",
"ko-KR": "오디오",
"pl-PL": "Dźwięk",
"pt-BR": "Áudio",
@ -121,6 +127,8 @@ const Translations = {
"de-DE": "Automatisch",
"en-US": "Auto",
"es-ES": "Auto",
"fr-FR": "Auto",
"ja-JP": "自動",
"ko-KR": "자동",
"pl-PL": "Automatyczne",
"pt-BR": "Automático",
@ -133,6 +141,8 @@ const Translations = {
"de-DE": "Audio",
"en-US": "Audio",
"es-ES": "Audio",
"fr-FR": "Audio",
"ja-JP": "音声",
"ko-KR": "오디오",
"pl-PL": "Dźwięk",
"pt-BR": "Áudio",
@ -145,6 +155,8 @@ const Translations = {
"de-DE": "Batterie",
"en-US": "Battery",
"es-ES": "Batería",
"fr-FR": "Batterie",
"ja-JP": "バッテリー",
"ko-KR": "배터리",
"pl-PL": "Bateria",
"pt-BR": "Bateria",
@ -157,6 +169,8 @@ const Translations = {
"de-DE": "Empfangen",
"en-US": "In",
"es-ES": "Entrada",
"fr-FR": "Dans",
"ja-JP": "IN",
"ko-KR": "다운로드",
"pl-PL": "Pobieranie",
"pt-BR": "Recebidos",
@ -169,6 +183,8 @@ const Translations = {
"de-DE": "Gesendet",
"en-US": "Out",
"es-ES": "Salida",
"fr-FR": "Sorti",
"ja-JP": "OUT",
"ko-KR": "업로드",
"pl-PL": "Wysyłanie",
"pt-BR": "Enviados",
@ -181,6 +197,8 @@ const Translations = {
"de-DE": "Spielzeit",
"en-US": "Playtime",
"es-ES": "Tiempo jugado",
"fr-FR": "Temps de jeu",
"ja-JP": "プレイ時間",
"ko-KR": "플레이한 시간",
"pl-PL": "Czas gry",
"pt-BR": "Tempo de jogo",
@ -193,6 +211,8 @@ const Translations = {
"de-DE": "Server",
"en-US": "Server",
"es-ES": "Servidor",
"fr-FR": "Serveur",
"ja-JP": "サーバー",
"ko-KR": "서버",
"pl-PL": "Serwer",
"pt-BR": "Servidor",
@ -205,6 +225,8 @@ const Translations = {
"de-DE": "Video",
"en-US": "Video",
"es-ES": "Video",
"fr-FR": "Vidéo",
"ja-JP": "映像",
"ko-KR": "비디오",
"pl-PL": "Obraz",
"pt-BR": "Vídeo",
@ -217,6 +239,8 @@ const Translations = {
"de-DE": "Unten links",
"en-US": "Bottom-left",
"es-ES": "Inferior izquierdo",
"fr-FR": "En bas à gauche",
"ja-JP": "左下",
"ko-KR": "좌측 하단",
"pl-PL": "Lewy dolny róg",
"pt-BR": "Inferior Esquerdo",
@ -229,6 +253,8 @@ const Translations = {
"de-DE": "Unten rechts",
"en-US": "Bottom-right",
"es-ES": "Inferior derecha",
"fr-FR": "Bas-droit",
"ja-JP": "右下",
"ko-KR": "우측 하단",
"pl-PL": "Prawy dolny róg",
"pt-BR": "Inferior-direito",
@ -241,6 +267,8 @@ const Translations = {
"de-DE": "Helligkeit",
"en-US": "Brightness",
"es-ES": "Brillo",
"fr-FR": "Luminosité",
"ja-JP": "輝度",
"ko-KR": "밝기",
"pl-PL": "Jasność",
"pt-BR": "Brilho",
@ -253,6 +281,8 @@ const Translations = {
"de-DE": "Dein Browser unterstützt diese Funktion nicht",
"en-US": "Your browser doesn't support this feature",
"es-ES": "Su navegador no soporta esta característica",
"fr-FR": "Votre navigateur ne supporte pas cette fonctionnalité",
"ja-JP": "お使いのブラウザはこの機能をサポートしていません。",
"ko-KR": "브라우저에서 이 기능을 지원하지 않습니다.",
"pl-PL": "Twoja przeglądarka nie obsługuje tej funkcji",
"pt-BR": "Seu navegador não suporta este recurso",
@ -265,6 +295,8 @@ const Translations = {
"de-DE": "Klarheit",
"en-US": "Clarity",
"es-ES": "Claridad",
"fr-FR": "Clarté",
"ja-JP": "明瞭度(クラリティ)",
"ko-KR": "선명도",
"pl-PL": "Ostrość",
"pt-BR": "Clareza",
@ -277,6 +309,8 @@ const Translations = {
"de-DE": "Diese Einstellungen funktionieren nicht, wenn \"Clarity Boost\" aktiviert ist",
"en-US": "These settings don't work when the Clarity Boost mode is ON",
"es-ES": "Estos ajustes no funcionan cuando el modo Clarity Boost está activado",
"fr-FR": "Ces paramètres ne fonctionnent pas lorsque le mode Clarity Boost est activé",
"ja-JP": "クラリティブーストが有効の場合、映像設定は無効化されます。",
"ko-KR": "이 설정들은 선명도 향상 기능이 켜져 있을 때는 동작하지 않습니다.",
"pl-PL": "Te ustawienia nie będą działać, gdy tryb \"Clarity Boost\" jest włączony",
"pt-BR": "Estas configurações não funcionam quando o modo de \"Clarity Boost\" está ATIVADO",
@ -289,6 +323,8 @@ const Translations = {
"de-DE": "Schließen",
"en-US": "Close",
"es-ES": "Cerrar",
"fr-FR": "Fermer",
"ja-JP": "閉じる",
"ko-KR": "닫기",
"pl-PL": "Zamknij",
"pt-BR": "Fechar",
@ -301,6 +337,8 @@ const Translations = {
"de-DE": "Zustandsabhängige Textfarbe",
"en-US": "Conditional formatting text color",
"es-ES": "Color condicional de formato de texto",
"fr-FR": "Couleur du texte de mise en forme conditionnelle",
"ja-JP": "状態に応じた文字色で表示",
"ko-KR": "통계에 따라 글자 색 지정",
"pl-PL": "Kolor tekstu zależny od wartości",
"pt-BR": "Cor do texto do formato condicional",
@ -313,6 +351,8 @@ const Translations = {
"de-DE": "Möchtest Du den Stream aktualisieren?",
"en-US": "Do you want to refresh the stream?",
"es-ES": "¿Quieres actualizar el stream?\n",
"fr-FR": "Voulez-vous actualiser le stream ?",
"ja-JP": "ストリーミングをリフレッシュしますか?",
"ko-KR": "스트리밍을 재시작할까요?",
"pl-PL": "Czy chcesz odświeżyć transmisję?",
"pt-BR": "Você deseja atualizar o stream?",
@ -325,6 +365,8 @@ const Translations = {
"de-DE": "Kontrast",
"en-US": "Contrast",
"es-ES": "Contraste",
"fr-FR": "Contraste",
"ja-JP": "コントラスト",
"ko-KR": "대비",
"pl-PL": "Kontrast",
"pt-BR": "Contraste",
@ -337,6 +379,8 @@ const Translations = {
"de-DE": "Benutzerdefiniert",
"en-US": "Custom",
"es-ES": "Personalizado",
"fr-FR": "Personnalisée",
"ja-JP": "カスタム",
"ko-KR": "사용자 지정",
"pl-PL": "Niestandardowe",
"pt-BR": "Customizado",
@ -349,6 +393,8 @@ const Translations = {
"de-DE": "Standard",
"en-US": "Default",
"es-ES": "Por defecto",
"fr-FR": "Par défaut",
"ja-JP": "デフォルト",
"ko-KR": "기본값",
"pl-PL": "Domyślny",
"pt-BR": "Padrão",
@ -361,6 +407,8 @@ const Translations = {
"de-DE": "Dein Gerät hat keine Touch-Unterstützung",
"en-US": "Your device doesn't have touch support",
"es-ES": "Tu dispositivo no tiene soporte táctil",
"fr-FR": "Votre appareil n'a pas de support tactile",
"ja-JP": "お使いのデバイスはタッチ機能をサポートしていません。",
"ko-KR": "브라우저에서 터치를 지원하지 않습니다.",
"pl-PL": "Twoje urządzenie nie obsługuję tej funkcji",
"pt-BR": "Seu dispositivo não possui suporte de toque",
@ -373,6 +421,8 @@ const Translations = {
"de-DE": "Deaktiviert",
"en-US": "Disable",
"es-ES": "Deshabilitar",
"fr-FR": "Désactiver",
"ja-JP": "無効",
"ko-KR": "비활성화",
"pl-PL": "Wyłącz",
"pt-BR": "Desabilitar",
@ -385,6 +435,8 @@ const Translations = {
"de-DE": "Bandbreitenüberprüfung deaktivieren",
"en-US": "Disable bandwidth checking",
"es-ES": "Desactivar comprobación de ancho de banda",
"fr-FR": "Désactiver la vérification de bande passante",
"ja-JP": "帯域幅の警告を非表示",
"ko-KR": "대역폭 확인 비활성화",
"pl-PL": "Wyłącz sprawdzanie przepustowości",
"pt-BR": "Desativar verificação de banda",
@ -394,13 +446,22 @@ const Translations = {
"zh-CN": "禁用带宽测速",
},
"disable-post-stream-feedback-dialog": {
"de-DE": "Feedback-Dialog beim Beenden deaktivieren",
"en-US": "Disable post-stream feedback dialog",
"es-ES": "Desactivar diálogo de retroalimentación post-stream",
"fr-FR": "Désactiver la boîte de dialogue de commentaires post-stream",
"ja-JP": "ストリーミング終了後のフィードバック画面を非表示",
"pl-PL": "Wyłącz okno opinii po zakończeniu transmisji",
"pt-BR": "Desativar o diálogo de feedback pós-stream",
"tr-TR": "Yayın sonrası geribildirim ekranını kapat",
"vi-VN": "Tắt hộp thoại góp ý sau khi chơi xong",
},
"disable-social-features": {
"de-DE": "Soziale Funktionen deaktivieren",
"en-US": "Disable social features",
"es-ES": "Desactivar características sociales",
"fr-FR": "Désactiver les fonctionnalités sociales",
"ja-JP": "ソーシャル機能を無効",
"ko-KR": "소셜 기능 비활성화",
"pl-PL": "Wyłącz funkcje społecznościowe",
"pt-BR": "Desativar recursos sociais",
@ -413,6 +474,8 @@ const Translations = {
"de-DE": "xCloud-Datenanalyse deaktivieren",
"en-US": "Disable xCloud analytics",
"es-ES": "Desactivar análisis de xCloud",
"fr-FR": "Désactiver les analyses xCloud",
"ja-JP": "xCloudアナリティクスを無効",
"ko-KR": "xCloud 통계 비활성화",
"pl-PL": "Wyłącz analitykę xCloud",
"pt-BR": "Desativar telemetria do xCloud",
@ -425,6 +488,8 @@ const Translations = {
"de-DE": "Mikrofon bei Spielstart aktivieren",
"en-US": "Enable microphone on game launch",
"es-ES": "Activar micrófono al iniciar el juego",
"fr-FR": "Activer le microphone lors du lancement du jeu",
"ja-JP": "ゲーム起動時にマイクを有効化",
"ko-KR": "게임 시작 시 마이크 활성화",
"pl-PL": "Włącz mikrofon przy uruchomieniu gry",
"pt-BR": "Ativar microfone na inicialização do jogo",
@ -437,6 +502,8 @@ const Translations = {
"de-DE": "\"Kurzer Blick\"-Modus aktivieren",
"en-US": "Enable \"Quick Glance\" mode",
"es-ES": "Activar modo \"Vista rápida\"",
"fr-FR": "Activer le mode \"Aperçu rapide\"",
"ja-JP": "クイック確認モードを有効化",
"ko-KR": "\"퀵 글랜스\" 모드 활성화",
"pl-PL": "Włącz tryb \"Quick Glance\"",
"pt-BR": "Ativar modo \"Revisão Rápida\"",
@ -449,6 +516,8 @@ const Translations = {
"de-DE": "Lautstärkeregelung aktivieren",
"en-US": "Enable volume control feature",
"es-ES": "Habilitar la función de control de volumen",
"fr-FR": "Activer la fonction de contrôle du volume",
"ja-JP": "音量調節機能を有効化",
"ko-KR": "음량 조절 기능 활성화",
"pl-PL": "Włącz funkcję kontroli głośności",
"pt-BR": "Ativar recurso de controle de volume",
@ -460,6 +529,8 @@ const Translations = {
"de-DE": "Mauszeiger bei Inaktivität ausblenden",
"en-US": "Hide mouse cursor on idle",
"es-ES": "Ocultar el cursor del ratón al estar inactivo",
"fr-FR": "Masquer le curseur de la souris",
"ja-JP": "マウスカーソルを3秒間動かしていない場合に非表示",
"ko-KR": "대기 상태에서 마우스 커서 숨기기",
"pl-PL": "Ukryj kursor myszy podczas bezczynności",
"pt-BR": "Ocultar o cursor do mouse no ocioso",
@ -472,6 +543,8 @@ const Translations = {
"de-DE": "Symbol des System-Menüs ausblenden",
"en-US": "Hide System menu's icon",
"es-ES": "Ocultar el icono del menú del sistema",
"fr-FR": "Masquer l'icône du menu système",
"ja-JP": "システムメニューのアイコンを非表示",
"ko-KR": "시스템 메뉴 아이콘 숨기기",
"pl-PL": "Ukryj ikonę menu systemu",
"pt-BR": "Ocultar ícone do menu do sistema",
@ -484,6 +557,8 @@ const Translations = {
"de-DE": "Sprache",
"en-US": "Language",
"es-ES": "Idioma",
"fr-FR": "Langue",
"ja-JP": "言語",
"ko-KR": "언어",
"pl-PL": "Język",
"pt-BR": "Linguagem",
@ -496,6 +571,8 @@ const Translations = {
"de-DE": "Groß",
"en-US": "Large",
"es-ES": "Grande",
"fr-FR": "Grande",
"ja-JP": "大",
"ko-KR": "크게",
"pl-PL": "Duży",
"pt-BR": "Largo",
@ -508,6 +585,8 @@ const Translations = {
"de-DE": "Ladebildschirm",
"en-US": "Loading screen",
"es-ES": "Pantalla de carga",
"fr-FR": "Écran de chargement",
"ja-JP": "ロード画面",
"ko-KR": "로딩 화면",
"pl-PL": "Ekran wczytywania",
"pt-BR": "Tela de Carregamento",
@ -520,6 +599,8 @@ const Translations = {
"de-DE": "Stream Einstellungen",
"en-US": "Stream settings",
"es-ES": "Ajustes del stream",
"fr-FR": "Réglages Stream",
"ja-JP": "ストリーミング設定",
"ko-KR": "스트리밍 설정",
"pl-PL": "Ustawienia strumienia",
"pt-BR": "Ajustes de transmissão",
@ -532,6 +613,8 @@ const Translations = {
"de-DE": "Stream Statistiken",
"en-US": "Stream stats",
"es-ES": "Estadísticas del stream",
"fr-FR": "Statistiques du stream",
"ja-JP": "ストリーミング統計情報",
"ko-KR": "통계",
"pl-PL": "Statystyki strumienia",
"pt-BR": "Estatísticas da transmissão",
@ -544,6 +627,8 @@ const Translations = {
"de-DE": "Mittel",
"en-US": "Normal",
"es-ES": "Normal",
"fr-FR": "Normal",
"ja-JP": "標準",
"ko-KR": "보통",
"pl-PL": "Normalny",
"pt-BR": "Normal",
@ -556,6 +641,8 @@ const Translations = {
"de-DE": "Aus",
"en-US": "Off",
"es-ES": "Apagado",
"fr-FR": "Désactivé",
"ja-JP": "オフ",
"ko-KR": "꺼짐",
"pl-PL": "Wyłączone",
"pt-BR": "Desligado",
@ -568,6 +655,8 @@ const Translations = {
"de-DE": "Deckkraft",
"en-US": "Opacity",
"es-ES": "Opacidad",
"fr-FR": "Opacité",
"ja-JP": "透過度",
"ko-KR": "불투명도",
"pl-PL": "Przezroczystość",
"pt-BR": "Transparência",
@ -580,6 +669,8 @@ const Translations = {
"de-DE": "Sonstiges",
"en-US": "Other",
"es-ES": "Otro",
"fr-FR": "Autres",
"ja-JP": "その他",
"ko-KR": "기타",
"pl-PL": "Inne",
"pt-BR": "Outros",
@ -592,6 +683,8 @@ const Translations = {
"de-DE": "Position",
"en-US": "Position",
"es-ES": "Posición",
"fr-FR": "Position",
"ja-JP": "位置",
"ko-KR": "위치",
"pl-PL": "Pozycja",
"pt-BR": "Posição",
@ -604,6 +697,8 @@ const Translations = {
"de-DE": "IPv6-Server bevorzugen",
"en-US": "Prefer IPv6 server",
"es-ES": "Servidor IPv6 preferido",
"fr-FR": "Préférer le serveur IPv6",
"ja-JP": "IPv6 サーバーを優先",
"ko-KR": "IPv6 서버 우선",
"pl-PL": "Preferuj serwer IPv6",
"pt-BR": "Preferir servidor IPV6",
@ -616,6 +711,8 @@ const Translations = {
"de-DE": "Bevorzugte Spielsprache",
"en-US": "Preferred game's language",
"es-ES": "Idioma preferencial del juego",
"fr-FR": "Langue préférée du jeu",
"ja-JP": "ゲームの優先言語設定",
"ko-KR": "선호하는 게임 언어",
"pl-PL": "Preferowany język gry",
"pt-BR": "Idioma preferencial do jogo",
@ -628,6 +725,8 @@ const Translations = {
"de-DE": "Seitenverhältnis",
"en-US": "Ratio",
"es-ES": "Relación de aspecto",
"fr-FR": "Ratio",
"ja-JP": "比率",
"ko-KR": "화면 비율",
"pl-PL": "Współczynnik proporcji",
"pt-BR": "Proporção",
@ -640,6 +739,8 @@ const Translations = {
"de-DE": "Animationen reduzieren",
"en-US": "Reduce UI animations",
"es-ES": "Reduce las animaciones de la interfaz",
"fr-FR": "Réduire les animations dans linterface",
"ja-JP": "UIアニメーションを減らす",
"ko-KR": "애니메이션 감소",
"pl-PL": "Ogranicz animacje interfejsu",
"pt-BR": "Reduzir animações da interface",
@ -652,6 +753,8 @@ const Translations = {
"de-DE": "Region",
"en-US": "Region",
"es-ES": "Región",
"fr-FR": "Région",
"ja-JP": "地域",
"ko-KR": "지역",
"pl-PL": "Region",
"pt-BR": "Região",
@ -664,6 +767,8 @@ const Translations = {
"de-DE": "Immer ausblenden",
"en-US": "Always hide",
"es-ES": "Ocultar siempre",
"fr-FR": "Toujours masquer",
"ja-JP": "常に非表示",
"ko-KR": "항상 숨기기",
"pl-PL": "Zawsze ukrywaj",
"pt-BR": "Sempre ocultar",
@ -676,6 +781,8 @@ const Translations = {
"de-DE": "Immer anzeigen",
"en-US": "Always show",
"es-ES": "Mostrar siempre",
"fr-FR": "Toujours afficher",
"ja-JP": "常に表示",
"ko-KR": "항상 표시",
"pl-PL": "Zawsze pokazuj",
"pt-BR": "Sempre mostrar",
@ -688,6 +795,8 @@ const Translations = {
"de-DE": "Raketen Animation",
"en-US": "Rocket animation",
"es-ES": "Animación del cohete",
"fr-FR": "Animation de la fusée",
"ja-JP": "ロケットのアニメーション",
"ko-KR": "로켓 애니메이션",
"pl-PL": "Animacja rakiety",
"pt-BR": "Animação do foguete",
@ -700,6 +809,8 @@ const Translations = {
"de-DE": "Bei Warteschlange ausblenden",
"en-US": "Hide when queuing",
"es-ES": "Ocultar al hacer cola",
"fr-FR": "Masquer lors de la file d'attente",
"ja-JP": "待機中は非表示",
"ko-KR": "대기 중에는 숨기기",
"pl-PL": "Ukryj podczas czekania w kolejce",
"pt-BR": "Ocultar quando estiver na fila",
@ -712,6 +823,8 @@ const Translations = {
"de-DE": "Ausführen von \"Better xCloud\" fehlgeschlagen. Versuche es erneut, bitte warten...",
"en-US": "Failed to run Better xCloud. Retrying, please wait...",
"es-ES": "No se pudo ejecutar Better xCloud. Reintentando, por favor espera...",
"fr-FR": "Impossible d'exécuter Better xCloud. Nouvelle tentative, veuillez patienter...",
"ja-JP": "Better xCloud の実行に失敗しました。再試行中...",
"ko-KR": "Better xCloud 시작에 실패했습니다. 재시도중이니 잠시만 기다려 주세요.",
"pl-PL": "Nie udało się uruchomić Better xCloud. Ponawiam próbę...",
"pt-BR": "Falha ao executar o Better xCloud. Tentando novamente, aguarde...",
@ -724,6 +837,8 @@ const Translations = {
"de-DE": "Sättigung",
"en-US": "Saturation",
"es-ES": "Saturación",
"fr-FR": "Saturation",
"ja-JP": "彩度",
"ko-KR": "채도",
"pl-PL": "Nasycenie",
"pt-BR": "Saturação",
@ -736,6 +851,8 @@ const Translations = {
"de-DE": "Position des Screenshot-Buttons",
"en-US": "Screenshot button's position",
"es-ES": "Posición del botón de captura de pantalla",
"fr-FR": "Position du bouton de capture d'écran",
"ja-JP": "スクリーンショットボタンの位置",
"ko-KR": "스크린샷 버튼 위치",
"pl-PL": "Pozycja przycisku zrzutu ekranu",
"pt-BR": "Posição do botão de captura de tela",
@ -748,6 +865,8 @@ const Translations = {
"de-DE": "Server",
"en-US": "Server",
"es-ES": "Servidor",
"fr-FR": "Serveur",
"ja-JP": "サーバー",
"ko-KR": "서버",
"pl-PL": "Serwer",
"pt-BR": "Servidor",
@ -760,6 +879,8 @@ const Translations = {
"de-DE": "Seite neu laden und Änderungen anwenden",
"en-US": "Reload page to reflect changes",
"es-ES": "Actualice la página para aplicar los cambios",
"fr-FR": "Recharger la page pour bénéficier des changements",
"ja-JP": "ページを更新をして設定変更を適用",
"ko-KR": "변경 사항을 적용하려면 페이지를 다시 로드하세요.",
"pl-PL": "Odśwież stronę, aby zastosować zmiany",
"pt-BR": "Recarregue a página para refletir as alterações",
@ -772,6 +893,8 @@ const Translations = {
"de-DE": "Wird neu geladen...",
"en-US": "Reloading...",
"es-ES": "Recargando...",
"fr-FR": "Actualisation...",
"ja-JP": "更新中...",
"ko-KR": "새로고침하는 중...",
"pl-PL": "Ponowne ładowanie...",
"pt-BR": "Recarregando...",
@ -784,6 +907,8 @@ const Translations = {
"de-DE": "Poster des Spiels anzeigen",
"en-US": "Show game art",
"es-ES": "Mostrar imagen del juego",
"fr-FR": "Afficher la couverture du jeu",
"ja-JP": "ゲームアートを表示",
"ko-KR": "게임 아트 표시",
"pl-PL": "Pokaż okładkę gry",
"pt-BR": "Mostrar arte do jogo",
@ -796,6 +921,8 @@ const Translations = {
"de-DE": "Statistiken beim Start des Spiels anzeigen",
"en-US": "Show stats when starting the game",
"es-ES": "Mostrar estadísticas al iniciar el juego",
"fr-FR": "Afficher les statistiques au démarrage de la partie",
"ja-JP": "ゲーム開始時に統計情報を表示",
"ko-KR": "게임 시작 시 통계 보여주기",
"pl-PL": "Pokaż statystyki podczas uruchamiania gry",
"pt-BR": "Mostrar estatísticas ao iniciar o jogo",
@ -808,6 +935,8 @@ const Translations = {
"de-DE": "Geschätzte Wartezeit anzeigen",
"en-US": "Show the estimated wait time",
"es-ES": "Mostrar el tiempo de espera estimado",
"fr-FR": "Afficher le temps d'attente estimé",
"ja-JP": "推定待機時間を表示",
"ko-KR": "예상 대기 시간 표시",
"pl-PL": "Pokaż szacowany czas oczekiwania",
"pt-BR": "Mostrar o tempo estimado de espera",
@ -820,6 +949,8 @@ const Translations = {
"de-DE": "Stream-Menü vereinfachen",
"en-US": "Simplify Stream's menu",
"es-ES": "Simplificar el menú del stream",
"fr-FR": "Simplifier le menu Stream",
"ja-JP": "ストリーミングメニューのラベルを非表示",
"ko-KR": "메뉴 간단히 보기",
"pl-PL": "Uprość menu strumienia",
"pt-BR": "Simplificar menu do streaming",
@ -832,6 +963,8 @@ const Translations = {
"de-DE": "Xbox Logo überspringen",
"en-US": "Skip Xbox splash video",
"es-ES": "Saltar vídeo de presentación de Xbox",
"fr-FR": "Ignorer la vidéo de démarrage Xbox",
"ja-JP": "Xboxの起動画面をスキップ",
"ko-KR": "Xbox 스플래시 건너뛰기",
"pl-PL": "Pomiń wstępne intro Xbox",
"pt-BR": "Pular vídeo de abertura do Xbox",
@ -844,6 +977,8 @@ const Translations = {
"de-DE": "Klein",
"en-US": "Small",
"es-ES": "Pequeño",
"fr-FR": "Petite",
"ja-JP": "小",
"ko-KR": "작게",
"pl-PL": "Mały",
"pt-BR": "Pequeno",
@ -856,6 +991,8 @@ const Translations = {
"de-DE": "Bitrate",
"en-US": "Bitrate",
"es-ES": "Tasa de bits",
"fr-FR": "Bitrate",
"ja-JP": "ビットレート",
"ko-KR": "비트레이트",
"pl-PL": "Bitrate",
"pt-BR": "Bitrate",
@ -868,6 +1005,8 @@ const Translations = {
"de-DE": "Dekodierzeit",
"en-US": "Decode time",
"es-ES": "Tiempo de decodificación",
"fr-FR": "Décodage",
"ja-JP": "デコード時間",
"ko-KR": "디코딩 시간",
"pl-PL": "Czas dekodowania",
"pt-BR": "Tempo de decodificação",
@ -880,6 +1019,8 @@ const Translations = {
"de-DE": "Framerate",
"en-US": "FPS",
"es-ES": "FPS",
"fr-FR": "FPS",
"ja-JP": "FPS",
"ko-KR": "FPS",
"pl-PL": "FPS",
"pt-BR": "FPS",
@ -892,6 +1033,8 @@ const Translations = {
"de-DE": "Verlorene Frames",
"en-US": "Frames lost",
"es-ES": "Pérdida de fotogramas",
"fr-FR": "Images perdues",
"ja-JP": "フレームロス",
"ko-KR": "프레임 손실",
"pl-PL": "Utracone klatki",
"pt-BR": "Quadros perdidos",
@ -904,6 +1047,8 @@ const Translations = {
"de-DE": "Paketverluste",
"en-US": "Packets lost",
"es-ES": "Pérdida de paquetes",
"fr-FR": "Perte paquets",
"ja-JP": "パケットロス",
"ko-KR": "패킷 손실",
"pl-PL": "Utracone pakiety",
"pt-BR": "Pacotes perdidos",
@ -916,6 +1061,8 @@ const Translations = {
"de-DE": "Ping",
"en-US": "Ping",
"es-ES": "Latencia",
"fr-FR": "Ping",
"ja-JP": "Ping",
"ko-KR": "지연 시간",
"pl-PL": "Ping",
"pt-BR": "Ping",
@ -928,6 +1075,8 @@ const Translations = {
"de-DE": "Statistiken",
"en-US": "Stats",
"es-ES": "Estadísticas",
"fr-FR": "Stats",
"ja-JP": "統計情報",
"ko-KR": "통계",
"pl-PL": "Statystyki",
"pt-BR": "Estatísticas",
@ -940,6 +1089,8 @@ const Translations = {
"de-DE": "Stream",
"en-US": "Stream",
"es-ES": "Stream",
"fr-FR": "Stream",
"ja-JP": "ストリーミング",
"ko-KR": "스트리밍",
"pl-PL": "Stream",
"pt-BR": "Stream",
@ -952,6 +1103,8 @@ const Translations = {
"de-DE": "Stream Statistik Einstellungen",
"en-US": "Stream stats settings",
"es-ES": "Ajustes de estadísticas de stream",
"fr-FR": "Paramètres des statistiques du stream",
"ja-JP": "ストリーミング統計の設定",
"ko-KR": "스트리밍 통계 설정",
"pl-PL": "Ustawienia statystyk strumienia",
"pt-BR": "Ajustes de estatísticas",
@ -964,6 +1117,8 @@ const Translations = {
"de-DE": "Strecken",
"en-US": "Stretch",
"es-ES": "Estirado",
"fr-FR": "Étirer",
"ja-JP": "引き伸ばし",
"ko-KR": "채우기",
"pl-PL": "Rozciągnij",
"pt-BR": "Esticar",
@ -976,6 +1131,8 @@ const Translations = {
"de-DE": "Festgelegte Auflösung",
"en-US": "Target resolution",
"es-ES": "Calidad de imagen",
"fr-FR": "Résolution cible",
"ja-JP": "ターゲット解像度",
"ko-KR": "목표 해상도",
"pl-PL": "Rozdzielczość docelowa",
"pt-BR": "Resolução alvo",
@ -988,6 +1145,8 @@ const Translations = {
"de-DE": "Alle Spiele",
"en-US": "All games",
"es-ES": "Todos los juegos",
"fr-FR": "Tous les jeux",
"ja-JP": "全てのゲームで有効",
"ko-KR": "모든 게임",
"pl-PL": "Wszystkie gry",
"pt-BR": "Todos os jogos",
@ -1000,6 +1159,8 @@ const Translations = {
"de-DE": "Komplett weiß",
"en-US": "All white",
"es-ES": "Todo blanco",
"fr-FR": "Tout blanc",
"ja-JP": "オールホワイト",
"ko-KR": "모두 하얗게",
"pl-PL": "Wszystkie białe",
"pt-BR": "Tudo branco",
@ -1012,6 +1173,8 @@ const Translations = {
"de-DE": "Verfügbarkeit",
"en-US": "Availability",
"es-ES": "Disponibilidad",
"fr-FR": "Disponibilité",
"ja-JP": "強制的に有効化",
"ko-KR": "사용 여부",
"pl-PL": "Dostępność",
"pt-BR": "Disponibilidade",
@ -1024,6 +1187,8 @@ const Translations = {
"de-DE": "Angepasstes Layout Button Stil",
"en-US": "Custom layout's button style",
"es-ES": "Estilo de botones de diseño personalizado",
"fr-FR": "Style personnalisé des boutons",
"ja-JP": "カスタムレイアウト",
"ko-KR": "커스텀 레이아웃의 버튼 스타일",
"pl-PL": "Niestandardowy układ przycisków",
"pt-BR": "Estilo de botão do layout personalizado",
@ -1036,6 +1201,8 @@ const Translations = {
"de-DE": "Matte Farben",
"en-US": "Muted colors",
"es-ES": "Colores apagados",
"fr-FR": "Couleurs adoucies",
"ja-JP": "ミュートカラー",
"ko-KR": "저채도 색상",
"pl-PL": "Stonowane kolory",
"pt-BR": "Cores silenciadas",
@ -1048,6 +1215,8 @@ const Translations = {
"de-DE": "Standard Layout Button Stil",
"en-US": "Standard layout's button style",
"es-ES": "Estilo de botones de diseño estándar",
"fr-FR": "Style standard des boutons",
"ja-JP": "標準レイアウト",
"ko-KR": "표준 레이아웃의 버튼 스타일",
"pl-PL": "Standardowy układ przycisków",
"pt-BR": "Estilo padrão de botões do layout",
@ -1060,6 +1229,8 @@ const Translations = {
"de-DE": "Textgröße",
"en-US": "Text size",
"es-ES": "Tamano del texto",
"fr-FR": "Taille du texte",
"ja-JP": "文字サイズ",
"ko-KR": "글자 크기",
"pl-PL": "Rozmiar tekstu",
"pt-BR": "Tamanho do texto",
@ -1072,6 +1243,8 @@ const Translations = {
"de-DE": "Oben zentriert",
"en-US": "Top-center",
"es-ES": "Superior centrado",
"fr-FR": "En haut au centre",
"ja-JP": "上",
"ko-KR": "중앙 상단",
"pl-PL": "Wyśrodkowany na górze",
"pt-BR": "Superior-centralizado",
@ -1084,6 +1257,8 @@ const Translations = {
"de-DE": "Oben links",
"en-US": "Top-left",
"es-ES": "Superior izquierdo",
"fr-FR": "Haut-gauche",
"ja-JP": "左上",
"ko-KR": "좌측 상단",
"pl-PL": "Lewy górny róg",
"pt-BR": "Superior-esquerdo",
@ -1096,6 +1271,8 @@ const Translations = {
"de-DE": "Oben rechts",
"en-US": "Top-right",
"es-ES": "Superior derecho",
"fr-FR": "En haut à droite",
"ja-JP": "右上",
"ko-KR": "우측 상단",
"pl-PL": "Prawy górny róg",
"pt-BR": "Superior-direito",
@ -1108,6 +1285,8 @@ const Translations = {
"de-DE": "Touch-Controller",
"en-US": "Touch controller",
"es-ES": "Controles táctiles",
"fr-FR": "Commandes tactiles",
"ja-JP": "タッチコントローラー",
"ko-KR": "터치 컨트롤",
"pl-PL": "Sterowanie dotykiem",
"pt-BR": "Controle de toque",
@ -1120,6 +1299,8 @@ const Translations = {
"de-DE": "Transparenter Hintergrund",
"en-US": "Transparent background",
"es-ES": "Fondo transparente",
"fr-FR": "Fond transparent",
"ja-JP": "背景の透過",
"ko-KR": "투명 배경",
"pl-PL": "Przezroczyste tło",
"pt-BR": "Fundo transparente",
@ -1132,6 +1313,8 @@ const Translations = {
"de-DE": "Benutzeroberfläche",
"en-US": "UI",
"es-ES": "Interfaz de usuario",
"fr-FR": "Interface utilisateur",
"ja-JP": "UI",
"ko-KR": "UI",
"pl-PL": "Interfejs",
"pt-BR": "Interface",
@ -1144,6 +1327,8 @@ const Translations = {
"de-DE": "User-Agent Profil",
"en-US": "User-Agent profile",
"es-ES": "Perfil del agente de usuario",
"fr-FR": "Profil de l'agent utilisateur",
"ja-JP": "ユーザーエージェントプロファイル",
"ko-KR": "사용자 에이전트 프로파일",
"pl-PL": "Profil User-Agent",
"pt-BR": "Perfil do User-Agent",
@ -1156,6 +1341,8 @@ const Translations = {
"de-DE": "Video",
"en-US": "Video",
"es-ES": "Video",
"fr-FR": "Vidéo",
"ja-JP": "映像",
"ko-KR": "비디오",
"pl-PL": "Obraz",
"pt-BR": "Vídeo",
@ -1168,6 +1355,8 @@ const Translations = {
"de-DE": "Bildqualität",
"en-US": "Visual quality",
"es-ES": "Calidad visual",
"fr-FR": "Qualité visuelle",
"ja-JP": "画質",
"ko-KR": "시각적 품질",
"pl-PL": "Jakość grafiki",
"pt-BR": "Qualidade visual",
@ -1180,6 +1369,8 @@ const Translations = {
"de-DE": "Hoch",
"en-US": "High",
"es-ES": "Alto",
"fr-FR": "Élevée",
"ja-JP": "高",
"ko-KR": "높음",
"pl-PL": "Wysoka",
"pt-BR": "Alto",
@ -1192,6 +1383,8 @@ const Translations = {
"de-DE": "Niedrig",
"en-US": "Low",
"es-ES": "Bajo",
"fr-FR": "Basse",
"ja-JP": "低",
"ko-KR": "낮음",
"pl-PL": "Niska",
"pt-BR": "Baixo",
@ -1204,6 +1397,8 @@ const Translations = {
"de-DE": "Mittel",
"en-US": "Normal",
"es-ES": "Normal",
"fr-FR": "Normal",
"ja-JP": "中",
"ko-KR": "보통",
"pl-PL": "Normalna",
"pt-BR": "Normal",
@ -1216,6 +1411,8 @@ const Translations = {
"de-DE": "Lautstärke",
"en-US": "Volume",
"es-ES": "Volumen",
"fr-FR": "Volume",
"ja-JP": "音量",
"ko-KR": "음량",
"pl-PL": "Głośność",
"pt-BR": "Volume",
@ -1228,6 +1425,8 @@ const Translations = {
"de-DE": "Countdown",
"en-US": "Countdown",
"es-ES": "Cuenta Regresiva",
"fr-FR": "Compte à rebours",
"ja-JP": "カウントダウン",
"ko-KR": "카운트다운",
"pl-PL": "Pozostały czas oczekiwania",
"pt-BR": "Contagem regressiva",
@ -1240,6 +1439,8 @@ const Translations = {
"de-DE": "Geschätzte Endzeit",
"en-US": "Estimated finish time",
"es-ES": "Tiempo estimado de finalización",
"fr-FR": "Temps estimé avant la fin",
"ja-JP": "推定完了時間",
"ko-KR": "예상 완료 시간",
"pl-PL": "Szacowany czas zakończenia",
"pt-BR": "Tempo estimado de conclusão",
@ -1329,18 +1530,18 @@ class TitlesInfo {
static saveFromTitleInfo(titleInfo) {
const details = titleInfo.details;
TitlesInfo.#INFO[details.productId] = {
TitlesInfo.update(details.productId, {
titleId: titleInfo.titleId,
// Has more than one input type -> must have touch support
hasTouchSupport: (details.supportedInputTypes.length > 1),
};
});
}
static saveFromCatalogInfo(catalogInfo) {
const titleId = catalogInfo.StoreId;
const imageHero = (catalogInfo.Image_Hero || catalogInfo.Image_Tile || {}).URL;
TitlesInfo.update(titleId, {
imageHero: catalogInfo.Image_Hero ? catalogInfo.Image_Hero.URL : '',
imageHero: imageHero,
});
}
@ -1562,6 +1763,8 @@ class TouchController {
}
static #$bar;
static #$style;
static #enable = false;
static #showing = false;
static #dataChannel;
@ -1606,6 +1809,7 @@ class TouchController {
TouchController.#dataChannel = null;
TouchController.#$bar && TouchController.#$bar.removeAttribute('data-showing');
TouchController.#$style && (TouchController.#$style.textContent = '');
}
static #dispatchMessage(msg) {
@ -1638,6 +1842,7 @@ class TouchController {
});
TouchController.#$bar = $bar;
TouchController.#$style = $style;
const PREF_STYLE_STANDARD = PREFS.get(Preferences.STREAM_TOUCH_CONTROLLER_STYLE_STANDARD);
const PREF_STYLE_CUSTOM = PREFS.get(Preferences.STREAM_TOUCH_CONTROLLER_STYLE_CUSTOM);
@ -2389,7 +2594,9 @@ class Preferences {
'de-DE': 'Deutsch',
'en-US': 'English (United States)',
'es-ES': 'espa\xf1ol (Espa\xf1a)',
'fr-FR': 'fran\xe7ais',
'ko-KR': '\ud55c\uad6d\uc5b4',
'ja-JP': '\u65e5\u672c\u8a9e',
'pl-PL': 'polski',
'pt-BR': 'portugu\xeas (Brasil)',
'ru-RU': '\u0440\u0443\u0441\u0441\u043a\u0438\u0439',
@ -2437,7 +2644,7 @@ class Preferences {
[Preferences.STREAM_TARGET_RESOLUTION]: {
'default': 'auto',
'options': {
'auto': __('auto'),
'auto': __('default'),
'1080p': '1080p',
'720p': '720p',
},
@ -3865,9 +4072,18 @@ function updateIceCandidates(candidates) {
}
function clearApplicationInsightsBuffers() {
window.sessionStorage.removeItem('AI_buffer');
window.sessionStorage.removeItem('AI_sentBuffer');
}
function interceptHttpRequests() {
var BLOCKED_URLS = [];
if (PREFS.get(Preferences.BLOCK_TRACKING)) {
// Clear Applications Insight buffers
clearApplicationInsightsBuffers();
BLOCKED_URLS = BLOCKED_URLS.concat([
'https://arc.msn.com',
'https://browser.events.data.microsoft.com',
@ -3902,6 +4118,9 @@ function interceptHttpRequests() {
xhrPrototype.send = function(...arg) {
for (let blocked of BLOCKED_URLS) {
if (this._url.startsWith(blocked)) {
if (blocked === 'https://dc.services.visualstudio.com') {
setTimeout(clearApplicationInsightsBuffers, 1000);
}
return false;
}
}