diff --git a/assets/jsons/translations/de.json b/assets/jsons/translations/de.json index c7eadb2d..4ae6518e 100644 --- a/assets/jsons/translations/de.json +++ b/assets/jsons/translations/de.json @@ -246,6 +246,7 @@ "zh-TW": "正體中文", "ja-JP": "日本語", "ko-KR": "한국어", + "uk-UA": "Українська", "translated": { "en-EN": "Englisch, Vereinigtes Königreich", "en-US": "Englisch, USA", @@ -258,7 +259,8 @@ "zh-CN": "Vereinfachtes Chinesisch", "zh-TW": "Traditionelles Chinesisch", "ja-JP": "Japanisch", - "ko-KR": "Koreanisch" + "ko-KR": "Koreanisch", + "uk-UA": "Ukrainisch" } } }, @@ -946,7 +948,7 @@ "maps": { "map-filter-panel": { "duration": "Länge", - "nps" : "Noten pro Sekunde", + "nps": "Noten pro Sekunde", "njs": "Notensprunggeschwindigkeit", "tags": "Stichwörter", "specificities": "Allgemein", @@ -1027,11 +1029,11 @@ "by": "Von {songAutor}", "mapped-by": "Gemapped von", "delete": "Löschen", - "preview" : "Kartenvorschau", - "bsr-code" : "BSR Code", - "download" : "Karte herunterladen", - "downloading" :"Karte wird heruntergeladen", - "cancel-download" : "Download abbrechen", + "preview": "Kartenvorschau", + "bsr-code": "BSR Code", + "download": "Karte herunterladen", + "downloading": "Karte wird heruntergeladen", + "cancel-download": "Download abbrechen", "hightlight-difficulty": "Schwierigkeit hervorheben" } }, diff --git a/assets/jsons/translations/en.json b/assets/jsons/translations/en.json index 3054223e..cdfb4cb7 100644 --- a/assets/jsons/translations/en.json +++ b/assets/jsons/translations/en.json @@ -246,6 +246,7 @@ "zh-TW": "正體中文", "ja-JP": "日本語", "ko-KR": "한국어", + "uk-UA": "Українська", "translated": { "en-EN": "English, United Kingdom", "en-US": "English, USA", @@ -258,7 +259,8 @@ "zh-CN": "Chinese (Simplified)", "zh-TW": "Chinese (Traditional)", "ja-JP": "Japanese", - "ko-KR": "Korean" + "ko-KR": "Korean", + "uk-UA": "Ukrainian" } } }, @@ -820,7 +822,7 @@ } } }, - "link-contents":{ + "link-contents": { "title": "Link {contentType}", "p-1": "Linking {contentType} allows sharing {contentType} between all versions with this feature enabled. Once linked, this version will benefit from shared {contentType}.", "p-2": "In order to enjoy the linking feature, all your {itemsHtml} will be moved to the {sharedHtml} folder. After that, a symbolic link pointing to the shared {contentType} folder will replace your original {contentType} folder.", @@ -829,7 +831,7 @@ "i-need-help": "I need help", "valid-btn": "Link {contentType}" }, - "unlink-contents":{ + "unlink-contents": { "title": "Unlink {contentType}", "p-1": "Be careful, unlinking {contentType} will disable the use of shared {contentType} for this version, until it is reenabled.", "p-2": "In order to unlink your maps, the symbolic link pointing to the {sharedHtml} will be removed. After that, all maps in the shared folder will be copied to the {itemsHtml} folder of your Beat Saber version.", @@ -1265,57 +1267,8 @@ } }, "dateformat": { - "dayNames": [ - "Sun", - "Mon", - "Tue", - "Wed", - "Thu", - "Fri", - "Sat", - "Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday" - ], - "monthNames": [ - "Jan", - "Feb", - "Mar", - "Apr", - "May", - "June", - "Jul", - "Aug", - "Sept", - "Oct", - "Nov", - "Dec", - "January", - "February", - "March", - "April", - "May", - "June", - "July", - "August", - "September", - "October", - "November", - "December" - ], - "timeNames": [ - "a", - "p", - "am", - "pm", - "A", - "P", - "AM", - "PM" - ] + "dayNames": ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], + "monthNames": ["Jan", "Feb", "Mar", "Apr", "May", "June", "Jul", "Aug", "Sept", "Oct", "Nov", "Dec", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], + "timeNames": ["a", "p", "am", "pm", "A", "P", "AM", "PM"] } } diff --git a/assets/jsons/translations/es.json b/assets/jsons/translations/es.json index c7681628..202a7577 100644 --- a/assets/jsons/translations/es.json +++ b/assets/jsons/translations/es.json @@ -246,6 +246,7 @@ "zh-TW": "正體中文", "ja-JP": "日本語", "ko-KR": "한국어", + "uk-UA": "Українська", "translated": { "en-EN": "Inglés, Reino Unido", "en-US": "Inglés, Estados Unidos", @@ -258,7 +259,8 @@ "zh-CN": "Chino simplificado", "zh-TW": "Chino tradicional", "ja-JP": "Japonés", - "ko-KR": "Coreano" + "ko-KR": "Coreano", + "uk-UA": "Ucraniano" } } }, @@ -1270,57 +1272,8 @@ } }, "dateformat": { - "dayNames": [ - "Dom", - "Lun", - "Mar", - "Mié", - "Jue", - "Vie", - "Sáb", - "Domingo", - "Lunes", - "Martes", - "Miércoles", - "Jueves", - "Viernes", - "Sábado" - ], - "monthNames": [ - "Ene", - "Feb", - "Mar", - "Abr", - "May", - "Jun", - "Jul", - "Ago", - "Sep", - "Oct", - "Nov", - "Dic", - "Enero", - "Febrero", - "Marzo", - "Abril", - "Mayo", - "Junio", - "Julio", - "Agosto", - "Septiembre", - "Octubre", - "Noviembre", - "Diciembre" - ], - "timeNames": [ - "a", - "p", - "am", - "pm", - "A", - "P", - "AM", - "PM" - ] + "dayNames": ["Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sáb", "Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado"], + "monthNames": ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic", "Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"], + "timeNames": ["a", "p", "am", "pm", "A", "P", "AM", "PM"] } } diff --git a/assets/jsons/translations/fr.json b/assets/jsons/translations/fr.json index d065f6d5..e7458889 100644 --- a/assets/jsons/translations/fr.json +++ b/assets/jsons/translations/fr.json @@ -246,6 +246,7 @@ "zh-TW": "正體中文", "ja-JP": "日本語", "ko-KR": "한국어", + "uk-UA": "Українська", "translated": { "en-EN": "Anglais, Royaume-Uni", "en-US": "Anglais, États-Unis", @@ -258,7 +259,8 @@ "zh-CN": "Chinois simplifié", "zh-TW": "Chinois traditionnel", "ja-JP": "Japonais", - "ko-KR": "Coréen" + "ko-KR": "Coréen", + "uk-UA": "Ukrainien" } } }, @@ -664,7 +666,6 @@ "title": "L'ajout du dossier partagé a échoué", "msg": "Vous ne pouvez pas ajouter \"{folder}\" aux dossiers partagés." } - }, "create-launch-shortcut": { "success": { @@ -947,7 +948,7 @@ "maps": { "map-filter-panel": { "duration": "Durée", - "nps" : "Notes Par Seconde", + "nps": "Notes Par Seconde", "njs": "Vitesse de saut des notes", "tags": "tags", "specificities": "général", @@ -1028,12 +1029,12 @@ "by": "Par {songAutor}", "mapped-by": "mappée par", "delete": "Supprimer", - "preview" : "Aperçu de la carte", - "bsr-code" : "Code BSR", - "download" : "Télécharger la carte", - "downloading" :"Téléchargement de la carte", - "cancel-download" : "Annuler le téléchargement", - "hightlight-difficulty" : "Surligner la difficulté" + "preview": "Aperçu de la carte", + "bsr-code": "Code BSR", + "download": "Télécharger la carte", + "downloading": "Téléchargement de la carte", + "cancel-download": "Annuler le téléchargement", + "hightlight-difficulty": "Surligner la difficulté" } }, "models": { @@ -1210,15 +1211,15 @@ "no-playlists-found": "Aucune playlists trouvées", "error-occur-while-loading-playlists": "Une erreur est survenue lors du chargement des playlists", "error-occur-while-loading-playlist": "Une erreur est survenue lors du chargement de la playlist", - "loading-maps":"Chargement des maps...", - "no-maps-found-for-playlist":"Aucune map trouvée pour cette playlist", - "playlist-contain-no-maps":"La playlist ne contient aucune map", - "no-map-installed-for-playlist":"Aucune map installée pour cette playlist", - "playlist-is-waiting-to-download":"La playlist est en attente de téléchargment", + "loading-maps": "Chargement des maps...", + "no-maps-found-for-playlist": "Aucune map trouvée pour cette playlist", + "playlist-contain-no-maps": "La playlist ne contient aucune map", + "no-map-installed-for-playlist": "Aucune map installée pour cette playlist", + "playlist-is-waiting-to-download": "La playlist est en attente de téléchargment", "download-maps": "Télécharger les maps", "download-missing-maps": "Télécharger les maps manquantes", - "playlist-is-downloading":"La playlist est en cours de téléchargement", - "some-playlist-maps-are-missing":"Certaines maps de cette playlist sont manquantes", + "playlist-is-downloading": "La playlist est en cours de téléchargement", + "some-playlist-maps-are-missing": "Certaines maps de cette playlist sont manquantes", "create-a-playlist": "Créer une playlist", "synchronize-playlists": "Synchroniser les playlists", "export-playlists": "Exporter les playlists", @@ -1269,7 +1270,6 @@ "CANNOT_PARSE_PLAYLIST": "Les playlists ne sont pas lisibles", "unknown": "Aucune playlist n'a pu être importée" } - }, "dateformat": { "dayNames": ["Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam", "Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi"], diff --git a/assets/jsons/translations/it.json b/assets/jsons/translations/it.json index 0bb01e70..33a81291 100644 --- a/assets/jsons/translations/it.json +++ b/assets/jsons/translations/it.json @@ -246,6 +246,7 @@ "zh-TW": "正體中文", "ja-JP": "日本語", "ko-KR": "한국어", + "uk-UA": "Українська", "translated": { "en-EN": "Inglese, Regno Unito", "en-US": "Inglese, Stati Uniti d'America", @@ -258,7 +259,8 @@ "zh-CN": "Cinese (Semplificato)", "zh-TW": "Cinese (Tradizionale)", "ja-JP": "Giapponese", - "ko-KR": "Coreano" + "ko-KR": "Coreano", + "uk-UA": "Ucraino" } } }, @@ -820,7 +822,7 @@ } } }, - "link-contents":{ + "link-contents": { "title": "Collega {contentType}", "p-1": "Collegare {contentType} consente di condividere {contentType} tra tutte le versioni con questa funzione attiva. Quando collegate, questa versione avrà il beneficio della condivisione di {contentType}.", "p-2": "Per usufruire della funzione di collegamento, tutti i tuoi {itemsHtml} saranno spostati nella cartella {sharedHtml}. Successivamente, un collegamento simbolico che punta alla cartella condivisa {contentType} sostituirà la tua cartella originale {contentType}.", @@ -829,7 +831,7 @@ "i-need-help": "Mi serve aiuto", "valid-btn": "Collega {contentType}" }, - "unlink-contents":{ + "unlink-contents": { "title": "Scollega {contentType}", "p-1": "Attenzione, scollegare {contentType} disabiliterà l'uso di {contentType} condivisi per questa versione, fino a quando non verrà riabilitato.", "p-2": "Per scollegare le tue mappe, il collegamento simbolico che punta alla {sharedHtml} verrà rimosso. Dopodiché, tutte le mappe nella cartella condivisa verranno copiate nella cartella {itemsHtml} della tua versione di Beat Saber.", @@ -878,65 +880,65 @@ "connect-to-meta": { "title": "Connettiti a Meta", "body": { - "token-needed": "Il tuo token di connessione Meta è necessario per scaricare Beat Saber.", - "need-cookie-enabled": "Accedendo a Meta, si aprirà una finestra di login e potrai quindi avviare il processo di login. Assicurati di accettare i cookie, altrimenti potremmo non essere in grado di recuperare il tuo token per avviare il download.", - "enter-token-manually": "Inserisci manualmente il mio token di login", - "enter-token-manually-tooltip": "Questo ti permetterà di inserire il tuo token di accesso senza passare per il login di Meta." + "token-needed": "Il tuo token di connessione Meta è necessario per scaricare Beat Saber.", + "need-cookie-enabled": "Accedendo a Meta, si aprirà una finestra di login e potrai quindi avviare il processo di login. Assicurati di accettare i cookie, altrimenti potremmo non essere in grado di recuperare il tuo token per avviare il download.", + "enter-token-manually": "Inserisci manualmente il mio token di login", + "enter-token-manually-tooltip": "Questo ti permetterà di inserire il tuo token di accesso senza passare per il login di Meta." + }, + "stay": "Ricordami", + "connect-to-meta": "Connettiti a Meta" }, - "stay": "Ricordami", - "connect-to-meta": "Connettiti a Meta" - }, "enable-oculus-sideloaded-apps": { - "title": "Abilita Sideloading", - "info-1": "Per avviare Beat Saber, è necessario abilitare la possibilità di eseguire app sideloaded. BSManager richiederà i diritti di amministratore per abilitare automaticamente questa funzione.", - "info-2": "La funzione di sideloading consente di avviare giochi situati al di fuori della cartella della libreria Oculus.", - "info-3": "Dopo che il sideloading è stato attivato, la funzione rimarrà attiva e non ti verrà più chiesto di abilitarla.", - "i-want-to-do-it-myself": "Voglio farlo da solo", - "understood": "Ho capito" - }, - "enter-meta-token": { - "title": "Token Oculus", - "body": { - "info-enter-token": "Per scaricare Beat Saber, è richiesto il tuo token di accesso Oculus.", - "how-obtain-token": "Come posso ottenere il mio token Oculus?", - "oculus-token": "Token Oculus", - "token-is-invalid": "Il token non è valido.", - "save-my-token": "Salva il mio token", - "have-token-saved": "Ho già un token salvato", - "save-token-info": "Questo salverà il tuo token per un uso più facile. Dovrai creare una password per criptare il tuo token a scopo di archiviazione. Se dimentichi la tua password, dovrai semplicemente fornire di nuovo il tuo token.", - "password": "Password", - "password-too-short": "Password troppo corta", - "info-enter-password": "Per scaricare Beat Saber, è richiesto il tuo token di accesso Oculus. Inserisci la password usata per salvare il tuo token Oculus.", - "info-disabled-btn-password": "Il token decriptato con la password fornita non è valido. Assicurati che la password sia la stessa usata per salvare il token.", - "enter-oculus-token": "Inserisci un token Oculus" + "title": "Abilita Sideloading", + "info-1": "Per avviare Beat Saber, è necessario abilitare la possibilità di eseguire app sideloaded. BSManager richiederà i diritti di amministratore per abilitare automaticamente questa funzione.", + "info-2": "La funzione di sideloading consente di avviare giochi situati al di fuori della cartella della libreria Oculus.", + "info-3": "Dopo che il sideloading è stato attivato, la funzione rimarrà attiva e non ti verrà più chiesto di abilitarla.", + "i-want-to-do-it-myself": "Voglio farlo da solo", + "understood": "Ho capito" }, - "valid-btn": "Valida" - }, - "launch-as-admin": { - "title": "Permessi di Amministratore", - "body": { - "info": "Steam è stato rilevato come in esecuzione con permessi di amministratore. Per comunicare con Steam, Beat Saber deve essere avviato anche come amministratore. Altrimenti, Beat Saber potrebbe riscontrare problemi e chiudersi dopo l'avvio.", - "info-2": "Avviare Beat Saber in modalità amministratore darà anche diritti di amministratore alle mod installate. Pertanto, è consigliato riavviare Steam senza permessi di amministratore.", - "info-3": "Si sconsiglia di dare diritti di amministratore a Steam, poiché questo influisce sui giochi e le mod installate, presentando un rischio per la sicurezza." + "enter-meta-token": { + "title": "Token Oculus", + "body": { + "info-enter-token": "Per scaricare Beat Saber, è richiesto il tuo token di accesso Oculus.", + "how-obtain-token": "Come posso ottenere il mio token Oculus?", + "oculus-token": "Token Oculus", + "token-is-invalid": "Il token non è valido.", + "save-my-token": "Salva il mio token", + "have-token-saved": "Ho già un token salvato", + "save-token-info": "Questo salverà il tuo token per un uso più facile. Dovrai creare una password per criptare il tuo token a scopo di archiviazione. Se dimentichi la tua password, dovrai semplicemente fornire di nuovo il tuo token.", + "password": "Password", + "password-too-short": "Password troppo corta", + "info-enter-password": "Per scaricare Beat Saber, è richiesto il tuo token di accesso Oculus. Inserisci la password usata per salvare il tuo token Oculus.", + "info-disabled-btn-password": "Il token decriptato con la password fornita non è valido. Assicurati che la password sia la stessa usata per salvare il token.", + "enter-oculus-token": "Inserisci un token Oculus" + }, + "valid-btn": "Valida" }, - "launch-as-admin": "Avvia come Amministratore", - "not-remind-me": "Non ricordarmelo" - }, - "ask-install-path": { - "title": "Cartella di installazione", - "choose-folder-description": "Scegli la cartella che conterrà tutti i contenuti scaricati da BSManager. (versioni, mod, mappe, playlist, ecc.)", - "default": "Predefinito", - "default-tooltip": "Predefinito nella tua cartella home" - }, - "choose-proton-folder": { - "title": "Cartella di Proton", - "proton-folder-description": "Su Linux, BSManager richiede Proton per funzionare. Scegli la cartella di installazione di Proton per continuare.", - "proton-folder-placeholder": "Cartella di installazione di Proton", - "where-is-proton-installed": "Dove è installato Proton?" - }, - "bs-version-outdated": { - "body": "La versione {outdatedVersion} è obsoleta, e alcune mod o funzioni potrebbero non funzionare più come previsto. Per favore scarica l'ultima versione raccomandata ({recommendedVersion}) di Beat Saber per godere delle ultime funzioni e bugfix." - } + "launch-as-admin": { + "title": "Permessi di Amministratore", + "body": { + "info": "Steam è stato rilevato come in esecuzione con permessi di amministratore. Per comunicare con Steam, Beat Saber deve essere avviato anche come amministratore. Altrimenti, Beat Saber potrebbe riscontrare problemi e chiudersi dopo l'avvio.", + "info-2": "Avviare Beat Saber in modalità amministratore darà anche diritti di amministratore alle mod installate. Pertanto, è consigliato riavviare Steam senza permessi di amministratore.", + "info-3": "Si sconsiglia di dare diritti di amministratore a Steam, poiché questo influisce sui giochi e le mod installate, presentando un rischio per la sicurezza." + }, + "launch-as-admin": "Avvia come Amministratore", + "not-remind-me": "Non ricordarmelo" + }, + "ask-install-path": { + "title": "Cartella di installazione", + "choose-folder-description": "Scegli la cartella che conterrà tutti i contenuti scaricati da BSManager. (versioni, mod, mappe, playlist, ecc.)", + "default": "Predefinito", + "default-tooltip": "Predefinito nella tua cartella home" + }, + "choose-proton-folder": { + "title": "Cartella di Proton", + "proton-folder-description": "Su Linux, BSManager richiede Proton per funzionare. Scegli la cartella di installazione di Proton per continuare.", + "proton-folder-placeholder": "Cartella di installazione di Proton", + "where-is-proton-installed": "Dove è installato Proton?" + }, + "bs-version-outdated": { + "body": "La versione {outdatedVersion} è obsoleta, e alcune mod o funzioni potrebbero non funzionare più come previsto. Per favore scarica l'ultima versione raccomandata ({recommendedVersion}) di Beat Saber per godere delle ultime funzioni e bugfix." + } }, "maps": { "map-filter-panel": { @@ -1266,57 +1268,8 @@ } }, "dateformat": { - "dayNames": [ - "Dom", - "Lun", - "Mar", - "Mer", - "Gio", - "Ven", - "Sab", - "Domenica", - "Lunedì", - "Martedì", - "Mercoledì", - "Giovedì", - "Venerdì", - "Sabato" - ], - "monthNames": [ - "Gen", - "Feb", - "Mar", - "Apr", - "Mag", - "Giu", - "Lug", - "Ago", - "Set", - "Ott", - "Nov", - "Dic", - "Gennaio", - "Febbraio", - "Marzo", - "Aprile", - "Maggio", - "Giugno", - "Luglio", - "Augosto", - "Settembre", - "Ottobre", - "Novembre", - "Dicembre" - ], - "timeNames": [ - "a", - "p", - "am", - "pm", - "A", - "P", - "AM", - "PM" - ] + "dayNames": ["Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab", "Domenica", "Lunedì", "Martedì", "Mercoledì", "Giovedì", "Venerdì", "Sabato"], + "monthNames": ["Gen", "Feb", "Mar", "Apr", "Mag", "Giu", "Lug", "Ago", "Set", "Ott", "Nov", "Dic", "Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Augosto", "Settembre", "Ottobre", "Novembre", "Dicembre"], + "timeNames": ["a", "p", "am", "pm", "A", "P", "AM", "PM"] } } diff --git a/assets/jsons/translations/ja.json b/assets/jsons/translations/ja.json index 32e8c7ed..2364060a 100644 --- a/assets/jsons/translations/ja.json +++ b/assets/jsons/translations/ja.json @@ -246,6 +246,7 @@ "zh-TW": "正體中文", "ja-JP": "日本語", "ko-KR": "한국어", + "uk-UA": "Українська", "translated": { "en-EN": "イギリス英語", "en-US": "アメリカ英語", @@ -258,7 +259,8 @@ "zh-CN": "簡体字中国", "zh-TW": "繁体字中国", "ja-JP": "日本語", - "ko-KR": "韓国語" + "ko-KR": "韓国語", + "uk-UA": "ウクライナ語" } } }, @@ -946,7 +948,7 @@ "maps": { "map-filter-panel": { "duration": "尺", - "nps" : "秒間ノート数", + "nps": "秒間ノート数", "njs": "ノートジャンプ速度", "tags": "タグ", "specificities": "一般", @@ -1027,11 +1029,11 @@ "by": "By {songAutor}", "mapped-by": "作成者 ", "delete": "削除", - "preview" : "マッププレビュー", - "bsr-code" : "BSRコード", - "download" : "マップをダウンロード", - "downloading" :"マップをダウンロード中", - "cancel-download" : "ダウンロードをキャンセル", + "preview": "マッププレビュー", + "bsr-code": "BSRコード", + "download": "マップをダウンロード", + "downloading": "マップをダウンロード中", + "cancel-download": "ダウンロードをキャンセル", "hightlight-difficulty": "難易度をハイライト" } }, diff --git a/assets/jsons/translations/ko.json b/assets/jsons/translations/ko.json index 035fefed..9db92f87 100644 --- a/assets/jsons/translations/ko.json +++ b/assets/jsons/translations/ko.json @@ -162,7 +162,6 @@ "dont-remind-me": "다시는 알리지 않기", "update": "업데이트" } - }, "drop-zone": { "text": "모드를 가져오기", @@ -247,6 +246,7 @@ "zh-TW": "正體中文", "ja-JP": "日本語", "ko-KR": "한국어", + "uk-UA": "Українська", "translated": { "en-EN": "영어(영국)", "en-US": "영어(미국)", @@ -259,7 +259,8 @@ "zh-CN": "중국어 (간체)", "zh-TW": "중국어 (번체)", "ja-JP": "일본어", - "ko-KR": "한국어" + "ko-KR": "한국어", + "uk-UA": "우크라이나어" } } }, @@ -1265,57 +1266,8 @@ } }, "dateformat": { - "dayNames": [ - "일", - "월", - "화", - "수", - "목", - "금", - "토", - "일요일", - "월요일", - "화요일", - "수요일", - "목요일", - "금요일", - "토요일" - ], - "monthNames": [ - "1월", - "2월", - "3월", - "4월", - "5월", - "6월", - "7월", - "8월", - "9월", - "10월", - "11월", - "12월", - "1월", - "2월", - "3월", - "4월", - "5월", - "6월", - "7월", - "8월", - "9월", - "10월", - "11월", - "12월" - ], - "timeNames": [ - "오전", - "오후", - "오전", - "오후", - "오전", - "오후", - "오전", - "오후" - ] + "dayNames": ["일", "월", "화", "수", "목", "금", "토", "일요일", "월요일", "화요일", "수요일", "목요일", "금요일", "토요일"], + "monthNames": ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월", "1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"], + "timeNames": ["오전", "오후", "오전", "오후", "오전", "오후", "오전", "오후"] } } diff --git a/assets/jsons/translations/pt-br.json b/assets/jsons/translations/pt-br.json index db3447f9..b352bce4 100644 --- a/assets/jsons/translations/pt-br.json +++ b/assets/jsons/translations/pt-br.json @@ -246,6 +246,7 @@ "zh-TW": "正體中文", "ja-JP": "日本語", "ko-KR": "한국어", + "uk-UA": "Українська", "translated": { "en-EN": "Inglês, Reino Unido", "en-US": "Inglês, Estados Unidos", @@ -258,7 +259,8 @@ "zh-CN": "Chinês (Simplificado)", "zh-TW": "Chinês (Tradicional)", "ja-JP": "Japonês", - "ko-KR": "Coreano" + "ko-KR": "Coreano", + "uk-UA": "Ucraniano" } } }, @@ -820,7 +822,7 @@ } } }, - "link-contents":{ + "link-contents": { "title": "Vincular {contentType}", "p-1": "Vincular {contentType} permite compartilhar {contentType} entre todas as suas versões que possuam essa função habilitada. Uma vez vinculados, essa versão irá se beneficiar dos {contentType} compartilhados.", "p-2": "Para que possa aproveitar a função de vinculação, todos os seus {itemsHtml} serão movidos para a pasta {sharedHtml}. Depois disso, um link simbólico apontando para a pasta compartilhada {contentType} irá substituir sua pasta original {contentType}.", @@ -829,7 +831,7 @@ "i-need-help": "Eu preciso de ajuda", "valid-btn": "Link {contentType}" }, - "unlink-contents":{ + "unlink-contents": { "title": "Desvincular {contentType}", "p-1": "Cuidado! Desvincular {contentType} irá desabilitar o compartilhamento de {contentType} para essa versão, até que seja habilitado novamente.", "p-2": "Para que possa desvincular seus mapas, o link simbólico criado anteriomente para {sharedHtml} será removido. Depois disso, todos os mapas na pasta compartilhada serão copiados para a pasta {itemsHtml} da sua versão do Beat Saber.", @@ -1265,57 +1267,8 @@ } }, "dateformat": { - "dayNames": [ - "Dom", - "Seg", - "Ter", - "Qua", - "Qui", - "Sex", - "Sab", - "Domingo", - "Segunda", - "Terça", - "Quarta", - "Quinta", - "Sexta", - "Sábado" - ], - "monthNames": [ - "Jan", - "Fev", - "Mar", - "Abr", - "Maio", - "Jun", - "Jul", - "Ago", - "Set", - "Out", - "Nov", - "Dez", - "Janeiro", - "Fevereiro", - "Março", - "Abril", - "Maio", - "Junho", - "Julho", - "Agosto", - "Setembro", - "Outubro", - "Novembro", - "Dezembro" - ], - "timeNames": [ - "a", - "p", - "am", - "pm", - "A", - "P", - "AM", - "PM" - ] + "dayNames": ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sab", "Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado"], + "monthNames": ["Jan", "Fev", "Mar", "Abr", "Maio", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez", "Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"], + "timeNames": ["a", "p", "am", "pm", "A", "P", "AM", "PM"] } } diff --git a/assets/jsons/translations/ru.json b/assets/jsons/translations/ru.json index 4a4500a1..2123fe93 100644 --- a/assets/jsons/translations/ru.json +++ b/assets/jsons/translations/ru.json @@ -246,6 +246,7 @@ "zh-TW": "正體中文", "ja-JP": "日本語", "ko-KR": "한국어", + "uk-UA": "Українська", "translated": { "en-EN": "Английский, Великобритания", "en-US": "Английский, США", @@ -258,7 +259,8 @@ "zh-CN": "Китайский (упрощенный)", "zh-TW": "Китайский (традиционный)", "ja-JP": "Японский", - "ko-KR": "Корейский" + "ko-KR": "Корейский", + "uk-UA": "Украинский" } } }, @@ -945,7 +947,7 @@ "maps": { "map-filter-panel": { "duration": "Длительность", - "nps" : "Нот в Секунду", + "nps": "Нот в Секунду", "njs": "Скорость прыжка нот", "tags": "тэги", "specificities": "основное", @@ -1026,11 +1028,11 @@ "by": "От {songAutor}", "mapped-by": "автор карты ", "delete": "Удалить", - "preview" : "Предпросмотр карты", - "bsr-code" : "Код BSR", - "download" : "Скачать карту", - "downloading" :"Загрузка карты", - "cancel-download" : "Отменить загрузку", + "preview": "Предпросмотр карты", + "bsr-code": "Код BSR", + "download": "Скачать карту", + "downloading": "Загрузка карты", + "cancel-download": "Отменить загрузку", "hightlight-difficulty": "Выделить сложность" } }, diff --git a/assets/jsons/translations/uk.json b/assets/jsons/translations/uk.json new file mode 100644 index 00000000..11d48291 --- /dev/null +++ b/assets/jsons/translations/uk.json @@ -0,0 +1,1274 @@ +{ + "misc": { + "download": "Завантажити", + "add": "Додати", + "verify": "Перевірити", + "launch": "Запустити", + "mods": "Моди", + "maps": "Карти", + "playlists": "Прейлисти", + "models": "Моделі", + "avatars": "Аватари", + "sabers": "Шпаги", + "platforms": "Платформи", + "blocks": "Блоки", + "cancel": "Скасувати", + "delete": "Видалити", + "accept": "Прийняти", + "refuse": "Відмовитись", + "apply": "Застосувати", + "copy": "Скопіювати", + "copied": "Скопійовано!", + "confirm": "Підтвердити", + "choose-folder": "Змінити папку", + "unknown": "Невідома помилка ¯\\_(ツ)_/¯", + "warning": "Увага", + "continue": "Продовжити", + "shared": "Спільне", + "pin": "Закріпти", + "unpin": "Відкріпити" + }, + "generic": { + "env": { + "parse": "Не вдалось розібрати рядок змінної оточення" + } + }, + "title-bar": { + "outdated": "застарілий" + }, + "nav-bar": { + "add-version": "Додати версію", + "settings": "Налаштування", + "shared": { + "text": "Спільне", + "tooltip": "Спільний контент" + } + }, + "pages": { + "version-viewer": { + "launch-mods": { + "oculus": "Режим Oculus", + "oculus-description": "Якщо ви використовуєте Beat Saber через Steam, це дозволяє використовувати Oculus VR в обхід SteamVR, для потенційного приросту продуктивності. Це не обов'язково для Oculus.", + "desktop": "Режим FPFC", + "desktop-description": "Режим літаючих контроллерів від першого лиця дозволяє використовувати меню за допомогою WASD і мишки. Це облегшує тестування модів, так як гра запускається без використання шолому VR!", + "debug": "Режим відладки", + "debug-description": "Включає вікно логів для IPA. В вікні будуть відображатись логи модів.", + "outdated-tippy": "Ця версія застаріла і деякі моди і/або функції можуть працювати некоректно. Рекомендуємо використовувати версію ({recommendedVersion}), щоб скористатись останніми функціями і виправленнями.", + "advanced-launch": { + "button": "Параметри запуску", + "placeholder": "Параметри запуску, наприклад: KEY=VALUE %command% fpfc" + }, + "skipsteam": "Пропустити Steam", + "skipsteam-description": "Запобігає автоматичному відкриттю Steam. Включіть це, якщо ви використовуєте інше серидовище VR (WiVRn/Monado), з яким Steam праює некоректно.", + "map-editor": "Редактор карт", + "map-editor-description": "Запускає офіційний редактор карт Beat Saber замість гри.", + "proton-logs": "Протонний журнал", + "proton-logs-description": "Увімкнути запис журналів протонів для цієї установки Beat Saber до \"{versionPath}\"." + }, + "maps": { + "search-bar": { + "search-placeholder": "Пошук серед карт", + "filters-btn": "Фільтри", + "dropdown": { + "export-maps": "Експорт карт", + "delete-maps": "Видалити карти", + "delete-duplicate-maps": "Видалити дублікати" + } + }, + "tabs": { + "maps": { + "actions": { + "drop-down": { + "browse-maps": "Перегляд карт", + "import-maps": "Імпорт карт" + }, + "link-maps": { + "tooltips": { + "link": "З'єднати карти", + "unlink": "Роз'єднати карти" + } + } + }, + "empty-maps": { + "text": "Карт немає", + "button": "Завантажити карти" + }, + "drop-zone": { + "text": "Імпортувати свої карти", + "subtext": "Пересуньте свої zip-файли сюди, щоб імпортувати карти" + }, + "sort": { + "name": "Назва", + "song-author": "Автор пісні", + "map-author": "Авто карти", + "bpm": "BPM", + "duration": "Довжина", + "likes": "Лайки", + "date-uploaded": "Дата завантаження" + } + }, + "playlists": { + "drop-down": { + "browse-playlists": "Переглнянути плейлист", + "create-a-playlist": "Створити плейлист", + "import-playlists": "Імпортувати плейлист" + }, + "drop-zone": { + "text": "Імпортуйте свої плейлисти", + "subtext": "Скиньте свої \".bplist\" або \".json\" файли сюди, щоб імпортувати їх" + }, + "sort": { + "title": "Назва", + "author": "Автор", + "number-of-maps": "Кількість карт", + "duration": "Довжина", + "notes-per-second": "NPS" + } + } + } + }, + "mods": { + "loading-mods": "Завантаження модів...", + "no-internet": "Немає інтернету", + "mods-not-available": "Для цієї версії Beat Saber поки що немає модів", + "buttons": { + "more-infos": "Більше інформації", + "install-or-update": "Встановити або оновити", + "reinstall-all": "Перевстановити всі" + }, + "mods-grid": { + "header-bar": { + "name": "Назва", + "installed": "Встановлено", + "latest": "Остання", + "description": "Опис", + "dropdown": { + "import-mods": "Імпортувати моди", + "uninstall-all": "Видалити всі", + "unselect-all": "Зняти виділення з всіх" + } + } + }, + "notifications": { + "all-mods-already-installed": { + "title": "Моди вже встановлені", + "description": "Всі вибрані моди вже встановлені" + }, + "outdated-mods": { + "title": "Застарілий мод", + "title-plural": "Застарілі моди", + "description": "{name} застарілий. Хочете оновити його?", + "description-plural": "Ця версія має {nb} застаріл(-ий/-і/-их) мод(-и/-ів). Ви хочете оновити їх?", + "dont-remind-me": "Не нагадувати", + "update": "Оновити" + } + }, + "drop-zone": { + "text": "Імпортувати свої моди", + "subtext": "Завантажте свої \".zip\" або \".dll\" файли сюди, щоб імпортувати їх" + } + }, + "dropdown": { + "open-folder": "Відкрийте папку", + "verify-files": "Перевірити файли", + "clone": "Клонувати", + "edit": "Змінити", + "uninstall": "Видалити", + "create-shortcut": "Створити ярлик", + "shared-folders": "Спільні папки" + } + }, + "available-versions": { + "title": "Завантажити версію", + "steam-release": "Сторінка релізу", + "dropdown": { + "refresh": "Оновити версії", + "import-version": "Іспортувати версію" + }, + "recommended": "рекомендована", + "recommended-tooltip": "Найбільш модифікована версія" + }, + "settings": { + "steam-and-oculus": { + "title": "Steam & Oculus", + "description": "Вийшовши з системи, ви зможете змінити обліковий запис під час наступного завантаження Beat Saber.", + "logout": "Вийти", + "logout-success": "Успішний вихід з системи", + "download-platform": { + "title": "Платформа за замовчуванням", + "desc": "Виберіть платформу за замовчуванням, яку ви хочете використовувати для завантаження версій Beat Saber.", + "always-ask": "Завжди запитувати" + } + }, + "appearance": { + "title": "Зовнішній вигляд", + "description": "Виберіть два основні кольори BSManager.", + "reset": "Скинути", + "sub-title": "Тема", + "themes": { + "dark": "Темна", + "light": "Світла", + "os": "Синхронізувати з комп'ютером" + } + }, + "installation-folder": { + "title": "Тека встановлення", + "description": "Змініть теку, яка міститиме весь контент, завантажений BSManager." + }, + "proton-folder": { + "title": "Тека Proton", + "description": "Змініть теку на шлях до Proton. (напр. Proton - Experimental)", + "errors": { + "title": "Не вдалося встановити теку Proton", + "invalid-folder": "Некоректний шлях до Proton" + } + }, + "additional-content": { + "title": "Додатковий контент", + "description": "Додатковий контент, що дозволяє налаштувати Beat Saber!", + "deep-links": { + "sub-title": "OneClick-встановлення" + } + }, + "language": { + "title": "Мова", + "description": "Виберіть мову.", + "languages": { + "en-EN": "English, UK", + "en-US": "English, US", + "fr-FR": "Français", + "es-ES": "Español", + "it-IT": "Italiano", + "de-DE": "Deutsch", + "pt-BR": "Português (Brasil)", + "ru-RU": "Русский", + "zh-CN": "简体中文", + "zh-TW": "正體中文", + "ja-JP": "日本語", + "ko-KR": "한국어", + "uk-UA": "Українська", + "translated": { + "en-EN": "Англійська, Велика Британія", + "en-US": "Англійська, США", + "fr-FR": "Французька", + "es-ES": "Іспанська", + "it-IT": "Італійська", + "de-DE": "Німецька", + "pt-BR": "Португальська (Бразилія)", + "ru-RU": "Російська", + "zh-CN": "Китайська (спрощена)", + "zh-TW": "Китайська (традиційна)", + "ja-JP": "Японська", + "ko-KR": "Корейська", + "uk-UA": "Українська" + } + } + }, + "patreon": { + "title": "Підтримайте BSManager 💖", + "description": "Підтримайте проєкт і допоможіть нам продовжувати вдосконалювати BSManager.", + "buttons": { + "support": "Підтримати BSManager 🥰", + "supporters": "Підписники 👀" + }, + "view": { + "no-supporters": "Ще немає підписників", + "sponsors": "Спонсори", + "supporters": "Підписники" + } + }, + "discord": { + "description": "Приєднуйтесь до спільноти BSManager, підписавшись на наші соціальні мережі!" + }, + "contribution": { + "description": "Запропонуйте нові функції або повідомте про помилку, щоб допомогти покращити BSManager!", + "buttons": { + "request-features": "Запропонувати нову функцію", + "report-bug": "Повідомити про помилку", + "open-logs": "Відкрити логи" + } + }, + "advanced": { + "title": "Додатково", + "description": "Додаткові налаштування для BSManager.", + "hardware-acceleration": { + "title": "Апаратне прискорення", + "description": "Увімкніть апаратне прискорення, щоб використовувати ваш GPU та покращити продуктивність BSManager. Вимкніть цю опцію, якщо у вас спостерігаються просідання кадрів.", + "modal": { + "title": "Потрібен перезапуск", + "body": "Зміна налаштувань апаратного прискорення призведе до виходу та повторного запуску BSManager. Ви впевнені, що хочете це зробити?", + "confirm-btn": "Так, я впевнений" + }, + "error-notification": { + "message": "Сталася помилка, неможливо вимкнути апаратне прискорення." + } + }, + "use-symlinks": { + "title": "Використовувати символьні посилання", + "description": "Використовувати символьні посилання замість з'єднань для прив’язки папок. Увімкніть цю опцію лише за необхідності.", + "modal": { + "title": "Дозволи для символьних посилань", + "body": "Для створення символьних посилань BSManager потребуватиме прав адміністратора або увімкненого режиму розробника у вашій системі. Ви впевнені, що хочете продовжити?", + "confirm-btn": "Так, я впевнений" + }, + "error-notification": { + "message": "Сталася помилка, неможливо змінити налаштування символьних посилань." + } + }, + "use-system-proxy": { + "title": "Використовувати системний проксі", + "description": "BSManager виконуватиме мережеві запити через ваш системний проксі.", + "error-notification": { + "message": "Сталася помилка, неможливо змінити налаштування системного проксі." + } + } + } + } + }, + "notifications": { + "types": { + "error": "🚨 Error", + "warning": "⚠️ Warning", + "success": "🎉 Success" + }, + "common": { + "msg": { + "error-occurred": "An error has occurred" + } + }, + "shared": { + "errors": { + "titles": { + "operation-running": "Operation running", + "no-internet": "No internet", + "file-not-supported": "File not supported" + }, + "msg": { + "operation-running": "Wait for the current operation to finish, then try again.", + "no-internet": "Check your connection and try again.", + "file-not-supported": "Only {types} files are supported." + } + } + }, + "bs-download": { + "success": { + "titles": { + "download-success": "Download complete", + "verification-finished": "Verification complete" + } + }, + "steam-download": { + "warnings": { + "msg": { + "ManifestChecksum": "The previously downloaded manifest does not match the new 🤔", + "ConnectionTimeout": "Your internet connection seems unstable 🥶", + "ConnectionLost": "The connection has been lost, try again...", + "ConnectionError": "Unable to connect to Steam, try again...", + "Unknown": "Something strange has happened 🤔 Your connection is probably unstable." + } + }, + "errors": { + "msg": { + "401": "Steam doesn't seem to want to let us download Beat Saber 😢", + "404": "Unable to contact Steam servers.", + "ExeNotFoundWindows": "\"DepotDownloader.exe\" is missing. Please check if the executable is quarantined by your anti-virus.", + "ExeNotFoundLinux": "\"DepotDownloader\" executable is missing.", + "Password": "Password is invalid.", + "InvalidCredentials": "Invalid login credentials, unapproved connection, or too many login attempts.", + "NoManifest": "No manifest was found", + "DirectoryCreate": "Unable to install the necessary folders.", + "NotAvailableApp": "Are you trying to download Beat Saber when you don't have it? 🤣", + "DepotNotFound": "Unable to download Beat Saber 😥 try again later 😕", + "NotCompleted": "The download could not complete ¯\\_(ツ)_/¯", + "InvalidManifest": "Unable to download Beat Saber 😥 try again later 😕", + "NoValidKey": "Unable to download Beat Saber 😥 try again later 😕", + "NoManifestCode": "Unable to download Beat Saber 😥 try again later 😕", + "Unknown": "An unknown error occurred ¯\\_(ツ)_/¯", + "NoServer": "Unable to contact Steam servers.", + "NotAllowed": "Apparently you are not allowed to download Beat Saber 🥱", + "ConnectionTimeout": "Cannot connect to Steam 😕", + "SteamLib": "If you have this error, report the bug on GitHub with the logs pls.", + "ConnectionError": "Unable to connect to Steam after 10 tries 🤯", + "LicenceError": "Unable to get the list of licenses.", + "RateLimitExceeded": "You've tried too many times, wait a while and try again later.", + "TokenRejected": "Your login token has been rejected 😕 Please try again.", + "AccessDenied": "Access to Steam has been denied." + } + } + }, + "oculus-download": { + "errors": { + "msg": { + "DOWNLOAD_MANIFEST_FAILED": "Unable to download the manifest for this version; your login token may be invalid.", + "MANIFEST_FILE_NOT_FOUND": "Unable to find the manifest for this version.", + "PARSE_MANIFEST_FILE_FAILED": "An error occurred while reading the manifest.", + "ALREADY_DOWNLOADING": "A version is already being downloaded.", + "UNABLE_TO_GET_MANIFEST": "Unable to obtain the manifest required for download.", + "VERIFY_INTEGRITY_FAILED": "An error occurred during file verification.", + "SOME_FILES_FAILED_TO_DOWNLOAD": "Some files failed to download.", + "META_LOGIN_TIMED_OUT": "The login token took too long to retrieve.", + "META_LOGIN_WINDOW_CLOSED_BY_USER": "The Meta login window was closed.", + "NO_META_AUTH_TOKEN": "Unable to retrieve the Meta login token required for download.", + "UNKNOWN_ERROR": "An unknown error occurred." + } + } + } + }, + "bs-import-version": { + "success": { + "start-import": { + "title": "Import in progress 👌", + "desc": "The import may take several minutes depending on your configuration." + }, + "imported": { + "title": "Imported version 🎉" + } + }, + "errors": { + "import-error": { + "desc": "Check that the selected folder is a Beat Saber installation." + } + } + }, + "settings": { + "move-folder": { + "success": { + "titles": { + "transfer-started": "Transfer in progress", + "transfer-finished": "Transfer complete" + }, + "descs": { + "transfer-started": "The transfer has started and may take several minutes depending on your configuration." + } + }, + "errors": { + "titles": { + "transfer-failed": "Transfer failed 😕" + }, + "descs": { + "COPY_TO_SUBPATH": "The destination folder cannot be a subfolder of the source folder.", + "restore-linked-folders": "An error occurred while restoring shared folders. You can still manually restore them via the 'Shared Folders' menu on the versions page." + } + } + }, + "steam": { + "success": { + "titles": { + "logout": "Disconnected from Steam." + } + } + }, + "additional-content": { + "deep-link": { + "select-all": "Select all", + "activation": { + "success": { + "title": "OneClick activated!", + "description": "OneClick installations have been activated." + }, + "error": { + "description": "Unable to activate OneClick installations." + } + }, + "deactivation": { + "success": { + "title": "OneClick deactivated!", + "description": "OneClick installations have been deactivated." + }, + "error": { + "description": "An unknown error occurred." + } + }, + "check-all-enabled": { + "title": "OneClick Disabled", + "description": "One or more OneClick installations are disabled. Go to settings to enable them.", + "actions": { + "settings": "Settings", + "not-remind": "Don't remind me" + } + } + } + } + }, + "bs-launch": { + "success": { + "titles": { + "BS_LAUNCHING": "Launching...🚀", + "STEAM_LAUNCHING": "Steam is launching!", + "SKIPPING_STEAM_LAUNCH": "Skipping Steam launch" + }, + "msg": { + "BS_LAUNCHING": "Don't forget to warm up 😉", + "STEAM_LAUNCHING": "Beat Saber will automatically launch after Steam.", + "SKIPPING_STEAM_LAUNCH": "I hope you know what you're doing :)" + } + }, + "errors": { + "titles": { + "UNKNOWN_ERROR": "Unable to launch", + "STEAM_NOT_RUNNING": "Steam is not running", + "OCULUS_NOT_RUNNING": "Oculus is not running", + "BS_ALREADY_RUNNING": "Beat Saber already running", + "EXE_NOT_FINDED": "Missing files", + "PROTON_NOT_SET": "Proton folder not set", + "PROTON_NOT_FOUND": "Proton binary not found", + "EXIT": "Abrupt stop", + "OCULUS_LIB_NOT_FOUND": "Oculus library not found", + "ORIGINAL_OCULUS_NOT_INSTALLED": "Original Oculus version not found" + }, + "msg": { + "UNKNOWN_ERROR": "An unknown error has occurred.", + "STEAM_NOT_RUNNING": "Steam must be running to launch BeatSaber.", + "OCULUS_NOT_RUNNING": "Oculus must be running to launch BeatSaber.", + "BS_ALREADY_RUNNING": "Close BeatSaber before launching it again.", + "EXE_NOT_FINDED": "Some files seem to be missing, try to verify the files.", + "EXIT": "BeatSaber stopped abruptly, tries to check the files.", + "OCULUS_LIB_NOT_FOUND": "Check that the Oculus application is properly installed, and that the libraries are correctly defined in Oculus.", + "PROTON_NOT_SET": "Set the Proton path in settings.", + "PROTON_NOT_FOUND": "Set the Proton path in settings.", + "ORIGINAL_OCULUS_NOT_INSTALLED": "Beat Saber must be installed from the Oculus app before opening." + }, + "actions": { + "STEAM_NOT_RUNNING": "Launch Steam" + } + } + }, + "steam": { + "steam-launching": { + "title": "Steam is launching!", + "description": "Beat Saber will automatically launch after Steam." + } + }, + "custom-version": { + "errors": { + "titles": { + "CantEditSteam": "Unable to edit", + "CantRename": "Renaming impossible", + "VersionAlreadExist": "This version already exists", + "CantClone": "Cloning impossible", + "UnknownError": "An unknown error occurred" + }, + "msg": { + "CantEditSteam": "You can't edit the Steam version. You can clone it though." + } + }, + "success": { + "titles": { + "CloningFinished": "Cloning complete 🎉" + } + } + }, + "mods": { + "install-mods": { + "titles": { + "success": "Mods installed 🎉", + "warning": "Mods installed 🤔" + }, + "msg": { + "success": "All mods have been installed.", + "warning": "One or more mods could not be installed.", + "errors": { + "no-mods": "No mods to install.", + "cannot-install-bsipa": "BSIPA installation failed 😨" + } + } + }, + "uninstall-mod": { + "titles": { + "success": "Mod uninstalled 🎉" + }, + "msg": { + "errors": { + "no-mods": "This mod isn't installed 😑" + } + } + }, + "uninstall-all-mods": { + "titles": { + "success": "Mods uninstalled 🎉" + }, + "msg": { + "success": "All mods have been uninstalled.", + "errors": { + "no-mods": "No mods are installed in this version 😑" + } + } + }, + "import-mod": { + "titles": { + "success": "Mods import completed", + "error": "An error occurred during the mods import" + }, + "msgs": { + "success": "Mods successfully imported.", + "some-success": "Some mods were successfully imported.", + "no-dlls": "The file(s) do not contain any \"dll\" files." + } + } + }, + "maps": { + "one-click-install": { + "success": "Map installation complete", + "error": "An error occurred while installing the map" + }, + "no-duplicates-maps": { + "title": "No Duplicates", + "msg": "No maps were deleted" + }, + "duplicates-maps-deleted": { + "title": "Duplicates Deleted", + "msg": "Duplicates were deleted" + }, + "import-map": { + "titles": { + "success": "Maps import completed", + "error": "An error occurred during the maps import" + }, + "msgs": { + "success": "Maps successfully imported.", + "some-success": "Some maps were successfully imported.", + "only-accept-zip": "Only zip files are supported.", + "invalid-zip": "The zip file(s) do not contain any maps.", + "unknown": "An unknown error occurred." + } + } + }, + "playlists": { + "one-click-install": { + "success": "Playlist installation complete", + "error": "An error occurred while installing the playlist" + } + }, + "models": { + "one-click-install": { + "success": "Model installation complete", + "error": "An error occurred while installing the model" + } + }, + "shared-folder": { + "info": { + "userdata-backup-created": { + "title": "Backup created", + "msg": "Sharing the 'UserData' folder can generate errors, in case of problems unlink the folder to restore the backup" + } + }, + "linking-error": { + "title": "Error while linking folder", + "msg": { + "EPERM": "BSManager does not have the necessary permissions to link the folder.", + "EACCES": "BSManager does not have the necessary permissions to link the folder.", + "ENOSPC": "The disk is full, make some space and try again.", + "LinkingNotSupported": "Folder linking is not supported on this file system.", + "UNKNOWN_ERROR": "An unknown error has occurred while linking the folder." + } + }, + "adding-error": { + "title": "Adding shared folder failed", + "msg": "You can't add \"{folder}\" to shared folders." + } + }, + "create-launch-shortcut": { + "success": { + "title": "Shortcut created", + "msg": "The shortcut has been created on the desktop.", + "msg-steam": "The shortcut has been created in the Steam library." + }, + "error": { + "msg": "An error occurred while creating the shortcut." + } + }, + "bs-version-oudated": { + "title": "Version Outdated", + "msg": "This Beat Saber version is outdated, use the recommended version to enjoy the latest features and bugfixes", + "actions": { + "do-not-remind": "Do not remind me", + "ok": "Ok" + } + } + }, + "modals": { + "misc": { + "remember-my-choice": "Remember my choice" + }, + "choose-store": { + "title": "Which platform?", + "body": "Select the platform from which you wish to download Beat Saber.", + "set-in-settings": "Set the default platform in settings" + }, + "guard": { + "title": "Steam Guard", + "inputs": { + "guard-code": { + "label": "Guard Code", + "placeholder": "Enter your Guard code" + } + }, + "buttons": { + "submit": "Login" + } + }, + "steam-login": { + "title": "Steam Login", + "inputs": { + "username": { + "label": "Sign in with account name", + "placeholder": "Enter your account name" + }, + "password": { + "label": "Password", + "placeholder": "Enter your password", + "max-length-warning": "The password exceeds 64 characters! If the password is invalid, try to enter only its first 64 characters." + }, + "qr": { + "label": "Or with a QR code", + "note": { + "use-the": "Use the ", + "steam-mobile-app": "Steam Mobile App", + "to-connect-with-qr": "to sign in via QR code." + } + }, + "stay": "Remember me" + }, + "why-credentials": "Why are my credentials necessary?", + "need-help-to-connect": "I need help to access my account!", + "buttons": { + "submit": "Sign in" + } + }, + "steam-auth-approve": { + "title": "Waiting for confirmation", + "protected-by-mobile-auth": "Account protected by mobile authenticator.", + "use-steam-app-to-approve": "Use the Steam mobile app to confirm the connection...", + "not-access-to-steam-app": "I don't have access to the Steam mobile app" + }, + "steam-credentials": { + "title": "Steam Credentials", + "p-1": "Your Steam credentials are only required to download versions of Beat Saber, we use DepotDownloader to achieve this which requires your Steam credentials to verify that you own the game within your library before allowing you to retrieve the game files, your credentials are not stored or saved and are passed directly to DepotDownloader. However, if you don't want to do that, you can follow this tutorial instead: ", + "p-2": "Afterwards you can click on the gear icon in the top right corner and select \"Import a version\", then you can select the folder where Beat Saber was downloaded to. (If you followed the tutorial, you will have the right location)" + }, + "bs-import-version": { + "title": "Import a version", + "description": "Imports a version of Beat Saber to use with BSManager. This will copy the selected Beat Saber installation folder to the BSManager versions folder.", + "oculus-version": "Oculus Version", + "oculus-version-tooltip": "Check if it's an Oculus version", + "buttons": { + "submit": "Import a version" + } + }, + "bs-uninstall": { + "title": "Uninstall", + "description": "Are you sure you want to uninstall Beat Saber {version}? You will have to download it again to play it.", + "buttons": { + "submit": "Uninstall" + } + }, + "install-folder": { + "title": "Installation folder", + "description": "Changing the default installation folder will result in moving all installed data to the new folder.", + "buttons": { + "submit": "Choose folder" + } + }, + "edit-version": { + "title": "Edit the version", + "buttons": { + "submit": "Edit" + } + }, + "clone-version": { + "title": "Clone version", + "description": "Cloning the version allows you to separate additional Beat Saber content between two versions.", + "inputs": { + "name": { + "label": "Name", + "placeholder": "Version name" + }, + "color": { + "label": "Color" + } + }, + "buttons": { + "submit": "Clone" + } + }, + "uninstall-mod": { + "title": "Uninstall", + "description": "Are you sure you want to uninstall {mod}? It could cause other installed mods to malfunction.", + "description-bsipa": "Are you sure you want to uninstall BSIPA? After that all installed mods will not work anymore." + }, + "uninstall-all-mods": { + "title": "Uninstalling mods", + "description": "Are you sure you want to uninstall all the mods from version {version}? This operation cannot be undone." + }, + "maps-actions": { + "delete-maps": { + "title": { + "single": "Delete this map?", + "multiple": "Delete maps?" + }, + "desc": { + "single": "Are you sure you want to delete the map {name}?", + "multiple": "Are you sure you want to delete all {nb} maps?" + }, + "info": { + "desc": { + "single": "This map is part of the shared maps", + "multiple": "These maps are part of the shared maps" + }, + "title": { + "single": "This map will also be removed from versions using shared maps", + "multiple": "These maps will also be removed from versions using shared maps" + } + } + } + }, + "link-contents": { + "title": "Link {contentType}", + "p-1": "Linking {contentType} allows sharing {contentType} between all versions with this feature enabled. Once linked, this version will benefit from shared {contentType}.", + "p-2": "In order to enjoy the linking feature, all your {itemsHtml} will be moved to the {sharedHtml} folder. After that, a symbolic link pointing to the shared {contentType} folder will replace your original {contentType} folder.", + "warning": "Please note that any changes affecting {contentType} will also affect all versions with this feature enabled.", + "what-is-a-symbolic-link": "What is a symbolic link?", + "i-need-help": "I need help", + "valid-btn": "Link {contentType}" + }, + "unlink-contents": { + "title": "Unlink {contentType}", + "p-1": "Be careful, unlinking {contentType} will disable the use of shared {contentType} for this version, until it is reenabled.", + "p-2": "In order to unlink your maps, the symbolic link pointing to the {sharedHtml} will be removed. After that, all maps in the shared folder will be copied to the {itemsHtml} folder of your Beat Saber version.", + "do-not-copy-contents": "Do not copy {contentType}", + "do-not-copy-contents-tip": "If enabled, {contentType} in the shared folder will not be copied to your Beat Saber version. As a result, no {contentType} will remain in your Beat Saber version after unlinking.", + "valid-btn": "Unlink {contentType}" + }, + "download-maps": { + "search-btn": "Search", + "loading-maps": "Loading maps...", + "no-maps-found": "No maps found", + "no-internet": "No internet" + }, + "mods-disclaimer": { + "title": "disclaimer", + "p-1": "By choosing to use mods, you understand that:", + "li-1": "You may experience problems that don't exist in the vanilla game. 99.9% of bugs, crashes, and lag are due to mods.", + "li-2": "Mods are subject to being broken by updates and that's normal - be patient and respectful when this happens, as modders are volunteers with real lives.", + "li-3": "Beat Games aren't purposefully trying to break mods. They wish to work on the codebase and sometimes this breaks mods, but they are not out to kill mods.", + "p-2": "Do not attack the game developers for issues related to mods, and vice versa - modders and game developers are two separate groups. Just don't be a jerk ok." + }, + "shared-folders": { + "title": "Shared Folders", + "description": "Link Beat Saber folders to synchronize their contents with shared folders in other versions. Note that deleting content will also be shared.", + "buttons": { + "add-folder": "Add Folder", + "link-folder": "Link Folder", + "unlink-folder": "Unlink Folder", + "link-all": "Link all", + "remove-from-the-list": "Remove from the list" + } + }, + "adding-shared-folder": { + "title": "Adding Shared Folder", + "description": "You might experience issues when linking the \"{folder}\" folder. Are you sure you want to add it?" + }, + "create-launch-shortcut": { + "title": "Create a shortcut", + "desc": "Creating a shortcut will allow you to start Beat Saber with the chosen options without going through BSManager.", + "launch-options": "Launch options", + "advanced-launch": "Advanced launch", + "valid-btn": "Create the shortcut", + "create-steam-shortcut": "Create a Steam shortcut", + "steam-shortcut-tippy": "If enabled, instead of creating a shortcut on the desktop, it will be created in Steam." + }, + "connect-to-meta": { + "title": "Connect to Meta", + "body": { + "token-needed": "Your Meta connection token is required to download Beat Saber.", + "need-cookie-enabled": "By logging into Meta, a login window will open and you can then start the login process. Please ensure to accept cookies, otherwise, we might not be able to retrieve your token to start the download.", + "enter-token-manually": "Enter my login token manually", + "enter-token-manually-tooltip": "This will allow you to enter your login token without going through Meta login." + }, + "stay": "Remember me", + "connect-to-meta": "Connect to Meta" + }, + "enable-oculus-sideloaded-apps": { + "title": "Enable Sideloading", + "info-1": "In order to launch Beat Saber, the ability to run sideloaded apps must be enabled. BSManager will request administrator rights to enable this feature automatically.", + "info-2": "The sideloaded apps feature allows launching games located outside your Oculus library folder.", + "info-3": "After sideloading is activated, the feature will remain active, and you will no longer be prompted to enable it.", + "i-want-to-do-it-myself": "I want to do it myself", + "understood": "Understood" + }, + "enter-meta-token": { + "title": "Oculus Token", + "body": { + "info-enter-token": "To download Beat Saber, your Oculus login token is required.", + "how-obtain-token": "How do I obtain my Oculus Token?", + "oculus-token": "Oculus Token", + "token-is-invalid": "The Token is invalid.", + "save-my-token": "Save my token", + "have-token-saved": "I already have a token saved", + "save-token-info": "This will save your token for easier reuse. You will need to create a password to encrypt your token for storage purposes. If you ever forget your password, you just need to provide your token again.", + "password": "Password", + "password-too-short": "Password too short", + "info-enter-password": "To download Beat Saber, your Oculus login token is required. Enter the password used to save your Oculus token.", + "info-disabled-btn-password": "The token decrypted with the provided password is invalid. Make sure the password is the same as the one used to save the token.", + "enter-oculus-token": "Enter an Oculus token" + }, + "valid-btn": "Validate" + }, + "launch-as-admin": { + "title": "Administrator Permissions", + "body": { + "info": "Steam has been detected as running with administrator permissions. To communicate with Steam, Beat Saber must also be launched as an administrator. Otherwise, Beat Saber might experience problems and close after launching.", + "info-2": "Launching Beat Saber in administrator mode will also give administrator rights to the installed mods. Therefore, it is recommended to restart Steam without administrator permissions.", + "info-3": "Note that it is advised against giving administrator rights to Steam, as this affects the installed games and mods, presenting a security risk." + }, + "launch-as-admin": "Launch as Administrator", + "not-remind-me": "Do not remind me" + }, + "ask-install-path": { + "title": "Installation folder", + "choose-folder-description": "Choose the folder that will contain all the content downloaded by BSManager. (versions, mods, maps, playlists, etc.)", + "default": "Default", + "default-tooltip": "Defaults to your home folder" + }, + "choose-proton-folder": { + "title": "Proton Folder", + "proton-folder-description": "On Linux, BSManager requires Proton to work. Choose the Proton installation folder to continue.", + "proton-folder-placeholder": "Proton installation folder", + "where-is-proton-installed": "Where is Proton installed?" + }, + "bs-version-outdated": { + "body": "The version {outdatedVersion} is outdated, and some mods or features may no longer work as expected. Please download the latest recommended version ({recommendedVersion}) of Beat Saber to enjoy the latest features and bugfixes." + } + }, + "maps": { + "map-filter-panel": { + "duration": "Duration", + "nps": "Notes Per Second", + "njs": "Note Jump Speed", + "tags": "tags", + "specificities": "general", + "requirements": "requirements", + "exclude": "exclude", + "leaderboard": "leaderboard" + }, + "map-types": { + "accuracy": "accuracy", + "balanced": "balanced", + "challenge": "challenge", + "dance-style": "dance", + "fitness": "fitness", + "speed": "speed", + "tech": "tech" + }, + "map-styles": { + "dance": "dance", + "swing": "swing", + "nightcore": "nightcore", + "folk-acoustic": "folk & acoustic", + "kids-family": "kids & family", + "ambient": "ambient", + "funk-disco": "funk & disco", + "jazz": "jazz", + "soul": "soul", + "speedcore": "speedcore", + "punk": "punk", + "rb": "r&b", + "holiday": "holiday", + "vocaloid": "vocaloid", + "j-rock": "j-rock", + "trance": "trance", + "drum-and-bass": "drum & bass", + "comedy-meme": "comedy & meme", + "instrumental": "instrumental", + "hardcore": "hardcore", + "k-pop": "k-pop", + "indie": "indie", + "techno": "techno", + "house": "house", + "video-game-soundtrack": "video game", + "tv-movie-soundtrack": "TV & film", + "alternative": "alternative", + "dubstep": "dubstep", + "metal": "metal", + "anime": "anime", + "hip-hop-rap": "hip hop & rap", + "j-pop": "j-pop", + "rock": "rock", + "pop": "pop", + "electronic": "electronic", + "classical-orchestral": "Classical & Orchestral" + }, + "map-specificities": { + "automapper": "AI", + "curated": "curated", + "verified": "verified", + "fullSpread": "full spread" + }, + "map-leaderboard": { + "All": "All", + "Ranked": "Ranked", + "BeatLeader": "BeatLeader", + "ScoreSaber": "ScoreSaber" + }, + "map-excludes": { + "installed": "installed" + }, + "difficulties": { + "Easy": "easy", + "Normal": "normal", + "Hard": "hard", + "Expert": "expert", + "ExpertPlus": "expert+" + }, + "map-item": { + "by": "By {songAutor}", + "mapped-by": "mapped by", + "delete": "Delete", + "preview": "Preview map", + "bsr-code": "BSR code", + "download": "Download map", + "downloading": "Downloading map", + "cancel-download": "Cancel download", + "hightlight-difficulty": "Highlight difficulty" + } + }, + "models": { + "types": { + "singular": { + "avatar": "avatar", + "saber": "saber", + "platform": "platform", + "bloq": "block" + }, + "plural": { + "avatar": "avatars", + "saber": "sabers", + "platform": "platforms", + "bloq": "blocks" + } + }, + "sorts": { + "name": "Name", + "date": "Date", + "author": "Author" + }, + "panel": { + "actions": { + "search": "Search a model", + "drop-down": { + "delete": "Delete models", + "export": "Export models" + }, + "link-models": "Link models", + "unlink-models": "Unlink models" + }, + "grid": { + "loading": "Loading models...", + "no-models": "No models", + "download-models": "Download models" + } + }, + "modals": { + "delete-model": { + "title": "Delete the model", + "desc": "Are you sure you want to delete the model {modelName}?", + "linked-annotation": "This model will be removed from all linked versions." + }, + "delete-models": { + "title": "Delete models", + "desc": "Are you sure you want to delete the {nb} models?", + "linked-annotation": "These models will be removed from all linked versions." + }, + "download-models": { + "search-btn": "Search", + "search-placeholder": "Search a model", + "search-tips": { + "header": { + "tag": "Tag", + "desc": "Description" + }, + "author-desc": "Show only models from the specified author.", + "hash-desc": "Show only models with the specified hash.", + "tag-desc": "Show only models with the specified tag.", + "name-desc": "Show only models with the specified name.", + "discordid-desc": "Show only models from the specified discord user.", + "status-desc": "Show only models with the specified status. (profile only, and only for the author)" + }, + "no-models": "No models found.", + "no-internet": "No internet connection.", + "error-occurred": "An error occurred, try again later." + } + }, + "notifications": { + "prevent-for-mods": { + "title": "Required mods", + "desc": "Make sure you've installed the necessary mods to use models in Beat Saber", + "go-to-mods": "Go to mods", + "not-remind": "Don't remind me" + }, + "export-success": { + "title": "Export completed 🎉" + } + } + }, + "beat-saver": { + "maps-sorts": { + "Latest": "Latest", + "Relevance": "Relevance", + "Rating": "Rating", + "Curated": "Curated" + } + }, + "auto-update": { + "checking": "Checking for updates", + "downloading": "Downloading updates" + }, + "bs-shortcut-launch": { + "beat-saber-launching": "Launching Beat Saber", + "launching": "Launching", + "open-bsmanager": "Open BSManager", + "status-text": { + "init": "Initializing...", + "success": { + "BS_LAUNCHING": "Launching Beat Saber...", + "STEAM_LAUNCHING": "Launching Steam...", + "STEAM_LAUNCHED": "Steam successfully launched!", + "UNABLE_TO_LAUNCH_STEAM": "Unable to launch Steam, forcing Beat Saber launch..." + } + } + }, + "drop-zone": { + "or-browse-files": "Or browse files" + }, + "playlist": { + "error-playlist-creation-title": "Error creating playlist", + "error-playlist-creation-desc": "An error occurred while creating the playlist.", + "playlist-created-title": "Playlist created", + "playlist-created-desc": "The playlist has been successfully created. You can now sync its maps!", + "download-playlist": "Download playlist", + "synchronize-playlist": "Synchronize playlist", + "synchronize-maps": "Synchronize maps", + "error-playlists-synchronization-title": "Error synchronizing playlists", + "error-playlists-synchronization-desc": "An error occurred while synchronizing playlists.", + "playlists-synchronized-title": "Playlists synchronized!", + "playlists-synchronized-desc": "Playlists and their maps have been downloaded.", + "playlists-export-error-title": "Error exporting playlists", + "playlists-export-error-desc": "An error occurred while exporting playlists.", + "playlists-exported-title": "Playlists exported!", + "playlists-exported-desc": "Playlists have been successfully exported.", + "playlists-with-maps-exported-desc": "Playlists and their maps have been successfully exported.", + "playlist-delete-error-title": "Error deleting playlist", + "playlist-delete-error-desc": "An error occurred while deleting the playlist.", + "playlists-deleted-title": "Playlists deleted!", + "playlists-deleted-desc": "Playlists have been successfully deleted.", + "edit-playlist": "Edit playlist", + "playlist-edit-error-title": "Error editing playlist", + "playlist-edit-error-desc": "An error occurred while editing the playlist.", + "playlist-edited-title": "Playlist edited!", + "playlist-edited-desc": "The playlist has been successfully modified. You can now sync its maps!", + "playlists-loading": "Loading playlists...", + "no-playlists": "No playlists", + "download-playlists": "Download playlists", + "created-by": "Created by", + "stop-download": "Stop download", + "cancel-download": "Cancel download", + "open-file": "Open file", + "delete-playlist-ask": "Delete playlist?", + "delete-playlists-ask": "Delete playlists?", + "delete-playlist-desc": "Are you sure you want to delete the playlist \"{playlistTitle}\"?", + "delete-playlists-desc": "Are you sure you want to delete {nb} playlists?", + "delete-maps": "Delete maps", + "delete-playlist-maps-tip": "If enabled, all maps in the playlist will be deleted", + "delete-playlists-maps-tip": "If enabled, all maps in the playlists will be deleted", + "export-playlist-ask": "Export playlist?", + "export-playlists-ask": "Export playlists?", + "export-playlist-desc": "Are you sure you want to export the playlist \"{playlistTitle}\"?", + "export-playlists-desc": "Are you sure you want to export {nb} playlists?", + "export-maps": "Export maps", + "export-playlist-maps-tip": "If enabled, all maps in the playlist will also be exported", + "export-playlists-maps-tip": "If enabled, all maps in the playlists will also be exported", + "export": "Export", + "need-clone-title": "Warning", + "need-clone-desc-1": "This playlist has been downloaded from an external site and contains a synchronization link.", + "need-clone-desc-2": "To avoid losing your changes during synchronization, the playlist will be duplicated and its synchronization link removed.", + "need-clone-desc-3": "You can then, if you wish, delete the original playlist.", + "understood": "I understand", + "synchronize-playlist-ask": "Synchronize playlist?", + "synchronize-playlists-ask": "Synchronize playlists?", + "synchronize-playlist-desc": "Are you sure you want to synchronize the playlist \"{playlistTitle}\"?", + "synchronize-playlists-desc": "Are you sure you want to synchronize {nb} playlists?", + "synchronize-playlist-tip": "This action updates playlists and downloads missing maps; it may take several minutes.", + "synchronize": "Synchronize", + "curated": "Recommended", + "verified-mapper": "Verified mapper", + "empty-playlists": "Empty playlists", + "search-playlist": "Search for a playlist", + "no-playlists-found": "No playlists found", + "error-occur-while-loading-playlists": "An error occurred while loading playlists", + "error-occur-while-loading-playlist": "An error occurred while loading the playlist", + "loading-maps": "Loading maps...", + "no-maps-found-for-playlist": "No maps found for this playlist", + "playlist-contain-no-maps": "The playlist contains no maps", + "no-map-installed-for-playlist": "No maps installed for this playlist", + "playlist-is-waiting-to-download": "The playlist is waiting to download", + "download-maps": "Download maps", + "download-missing-maps": "Download missing maps", + "playlist-is-downloading": "The playlist is downloading", + "some-playlist-maps-are-missing": "Some maps in this playlist are missing", + "create-a-playlist": "Create a playlist", + "synchronize-playlists": "Synchronize playlists", + "export-playlists": "Export playlists", + "delete-playlists": "Delete playlists", + "choose-image": "Choose an image", + "title": "Title", + "playlist-title": "Playlist title", + "description": "Description", + "playlist-description": "Playlist description", + "author": "Author", + "playlist-author": "Playlist author", + "save": "Save", + "loading": "Loading...", + "installed": "Installed", + "no-map-found": "No map found", + "edit-playlist-shortcuts": "Hold Shift or Ctrl to select multiple maps", + "add-to-playlist": "Add to playlist", + "remove-from-playlist": "Remove from playlist", + "playlist-is-empty": "The playlist is empty", + "continue": "Continue", + "nb-maps": "Number of maps", + "nb-mappers": "Number of mappers", + "duration": "Duration", + "nps": "Notes per second", + "date-picker": { + "start-date-end-date": "Start date — End date", + "all": "All", + "last-24h": "Last 24h", + "last-week": "Last week", + "last-month": "Last month", + "3-last-month": "Last 3 months" + }, + "playlists-imported": "Playlists imported", + "all-playlists-have-been-successfully-imported": "All playlists have been successfully imported", + "no-playlist-found": "No playlist found", + "no-playlist-found-in-selected-files": "No playlist found in the selected files", + "some-playlists-not-imported": "Some playlists not imported", + "some-playlists-have-been-imported": { + "INVALID_SOURCE": "Some playlists could not be found", + "INVALID_PLAYLIST_FILE": "Some playlists are invalid", + "CANNOT_PARSE_PLAYLIST": "Some playlists are unreadable", + "unknown": "Some playlists could not be imported" + }, + "no-playlists-imported": "No playlists imported", + "no-playlists-imported-errors": { + "INVALID_SOURCE": "Playlists could not be found", + "INVALID_PLAYLIST_FILE": "Playlists are invalid", + "CANNOT_PARSE_PLAYLIST": "Playlists are unreadable", + "unknown": "No playlist could be imported" + } + }, + "dateformat": { + "dayNames": ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], + "monthNames": ["Jan", "Feb", "Mar", "Apr", "May", "June", "Jul", "Aug", "Sept", "Oct", "Nov", "Dec", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], + "timeNames": ["a", "p", "am", "pm", "A", "P", "AM", "PM"] + } +} diff --git a/assets/jsons/translations/zh-tw.json b/assets/jsons/translations/zh-tw.json index cacac60a..42a50870 100644 --- a/assets/jsons/translations/zh-tw.json +++ b/assets/jsons/translations/zh-tw.json @@ -246,6 +246,7 @@ "zh-TW": "正體中文", "ja-JP": "日本語", "ko-KR": "한국어", + "uk-UA": "Українська", "translated": { "en-EN": "英式英語", "en-US": "美式英語", @@ -258,7 +259,8 @@ "zh-CN": "簡體中文", "zh-TW": "正體中文", "ja-JP": "日語", - "ko-KR": "韓語" + "ko-KR": "韓語", + "uk-UA": "烏克蘭" } } }, diff --git a/assets/jsons/translations/zh.json b/assets/jsons/translations/zh.json index da08ac9b..eabad9a9 100644 --- a/assets/jsons/translations/zh.json +++ b/assets/jsons/translations/zh.json @@ -245,6 +245,7 @@ "zh-TW": "正體中文", "ja-JP": "日本語", "ko-KR": "한국어", + "uk-UA": "Українська", "translated": { "en-EN": "英式英语", "en-US": "美式英语", @@ -257,7 +258,8 @@ "zh-CN": "简体中文", "zh-TW": "正体中文", "ja-JP": "日语", - "ko-KR": "韩语" + "ko-KR": "韩语", + "uk-UA": "烏克蘭" } } }, @@ -945,7 +947,7 @@ "maps": { "map-filter-panel": { "duration": "时长", - "nps" : "每秒音符数", + "nps": "每秒音符数", "njs": "音符跳跃速度", "tags": "标签", "specificities": "general", @@ -1026,11 +1028,11 @@ "by": "By {songAutor}", "mapped-by": "mapped by", "delete": "删除", - "preview" : "预览地图", - "bsr-code" : "BSR代码", - "download" : "下载地图", - "downloading" :"正在下载地图", - "cancel-download" : "取消下载", + "preview": "预览地图", + "bsr-code": "BSR代码", + "download": "下载地图", + "downloading": "正在下载地图", + "cancel-download": "取消下载", "hightlight-difficulty": "突出显示难度" } }, diff --git a/package-lock.json b/package-lock.json index a5d14dd9..cad04554 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "bs-manager", - "version": "1.5.0-alpha.9", + "version": "1.5.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "bs-manager", - "version": "1.5.0-alpha.9", + "version": "1.5.0", "hasInstallScript": true, "license": "GPL-3.0-only", "dependencies": { diff --git a/src/renderer/components/svgs/bsm-icon.component.tsx b/src/renderer/components/svgs/bsm-icon.component.tsx index fde8d8f4..ef4761bd 100644 --- a/src/renderer/components/svgs/bsm-icon.component.tsx +++ b/src/renderer/components/svgs/bsm-icon.component.tsx @@ -12,6 +12,7 @@ import { FranceIcon } from "./flags/france-icon.component"; import { SpainIcon } from "./flags/spain-icon.component"; import { ItalyIcon } from "./flags/italy-icon.component"; import { UsaIcon } from "./flags/usa-icon.component"; +import { UkraineIcon } from "./flags/ukraine-icon.component copy"; import { UkIcon } from "./flags/uk-icon.component"; import { TaskIcon } from "./icons/task-icon.component"; import { CopyIcon } from "./icons/copy-icon.component"; @@ -73,7 +74,7 @@ import { ArrowUpwardIcon } from "./icons/arrow-upward-icon.component"; -export type BsmIconType = SongDetailDiffCharactertistic | ("settings" | "trash" | "favorite" | "folder" | "bsNote" | "check" | "three-dots" | "twitch" | "eye" | "play" | "checkCircleIcon" | "discord" | "info" | "eye-cross" | "terminal" | "desktop" | "oculus" | "add" | "cross" | "task" | "github" | "close" | "thumbUpFill" | "timerFill" | "pause" | "twitter" | "sync" | "chevron-top" | "copy" | "steam" | "edit" | "export" | "patreon" | "search" | "bsMapDifficulty" | "link" | "unlink" | "download" | "filter" | "mee6" | "volume-up" | "volume-off" | "volume-down" | "shortcut" | "backup-restore" | "web-site" | "clean" | "browse" | "add-file" | "arrow-upward" | "cancel" | "warning" | "fr-FR-flag" | "es-ES-flag" | "it-IT-flag" | "en-US-flag" | "en-EN-flag" | "de-DE-flag" | "ru-RU-flag" | "zh-CN-flag" | "zh-TW-flag" | "ja-JP-flag" | "ko-KR-flag" | "pt-BR-flag" | "null" ); +export type BsmIconType = SongDetailDiffCharactertistic | ("settings" | "trash" | "favorite" | "folder" | "bsNote" | "check" | "three-dots" | "twitch" | "eye" | "play" | "checkCircleIcon" | "discord" | "info" | "eye-cross" | "terminal" | "desktop" | "oculus" | "add" | "cross" | "task" | "github" | "close" | "thumbUpFill" | "timerFill" | "pause" | "twitter" | "sync" | "chevron-top" | "copy" | "steam" | "edit" | "export" | "patreon" | "search" | "bsMapDifficulty" | "link" | "unlink" | "download" | "filter" | "mee6" | "volume-up" | "volume-off" | "volume-down" | "shortcut" | "backup-restore" | "web-site" | "clean" | "browse" | "add-file" | "arrow-upward" | "cancel" | "warning" | "fr-FR-flag" | "es-ES-flag" | "it-IT-flag" | "en-US-flag" | "en-EN-flag" | "de-DE-flag" | "ru-RU-flag" | "zh-CN-flag" | "zh-TW-flag" | "ja-JP-flag" | "ko-KR-flag" | "pt-BR-flag" | "uk-UA-flag"| "null" ); export const BsmIcon = memo(({ className, icon, style }: { className?: string; icon: BsmIconType; style?: CSSProperties }) => { // TODO : Very ugly very messy, need to find a better way to do this @@ -146,6 +147,9 @@ export const BsmIcon = memo(({ className, icon, style }: { className?: string; i if (icon === "pt-BR-flag"){ return ; } + if (icon === "uk-UA-flag"){ + return ; + } if (icon === "task") { return ; diff --git a/src/renderer/components/svgs/flags/ukraine-icon.component copy.tsx b/src/renderer/components/svgs/flags/ukraine-icon.component copy.tsx new file mode 100644 index 00000000..68571453 --- /dev/null +++ b/src/renderer/components/svgs/flags/ukraine-icon.component copy.tsx @@ -0,0 +1,12 @@ +import { CSSProperties } from "react"; + +export function UkraineIcon(props: { className?: string; style?: CSSProperties }) { + return ( + + + + + + + ); +} diff --git a/src/renderer/config/default-configuration.config.ts b/src/renderer/config/default-configuration.config.ts index e2c2bd90..645b116a 100644 --- a/src/renderer/config/default-configuration.config.ts +++ b/src/renderer/config/default-configuration.config.ts @@ -25,7 +25,7 @@ export const defaultConfiguration: { "second-color": "#ff4444", theme: "os", language: window.navigator.language.length <= 2 ? `${window.navigator.language}-${window.navigator.language.toLocaleUpperCase()}` : window.navigator.language, - supported_languages: ["en-US", "en-EN", "fr-FR", "es-ES", "it-IT", "de-DE", "ru-RU", "zh-CN", "zh-TW", "ja-JP", "ko-KR", "pt-BR"], + supported_languages: ["en-US", "en-EN", "fr-FR", "es-ES", "it-IT", "de-DE", "ru-RU", "zh-CN", "zh-TW", "ja-JP", "ko-KR", "pt-BR", "uk-UA"], default_mods: ["SongCore", "WhyIsThereNoLeaderboard", "BeatSaverDownloader", "BeatSaverVoting", "PlaylistManager"], "default-shared-folders": [ window.electron.path.join("Beat Saber_Data", "CustomLevels"),