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 f55c837f..d14d1087 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" } } }, @@ -825,7 +827,7 @@ "desc-plural": "{nb} duplicate maps have been found. Are you sure you want to delete them?" } }, - "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.", @@ -834,7 +836,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.", @@ -1270,57 +1272,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 3a445fe3..2faad53a 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" } } }, @@ -825,7 +827,7 @@ "desc-plural": "Sono state trovate {nb} mappe duplicate. Sei sicuro di volerle eliminare?" } }, - "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}.", @@ -834,7 +836,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.", @@ -883,65 +885,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": { @@ -1271,57 +1273,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 dc21fa60..4d71b78f 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" } } }, @@ -825,7 +827,7 @@ "desc-plural": "{nb} mapas duplicados foram encontrados. Tem certeza de que deseja excluí-los?" } }, - "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}.", @@ -834,7 +836,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.", @@ -1270,57 +1272,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..f40a46a9 --- /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": "🚨 Помилка", + "warning": "⚠️ Попередження", + "success": "🎉 Успіх" + }, + "common": { + "msg": { + "error-occurred": "Сталася помилка" + } + }, + "shared": { + "errors": { + "titles": { + "operation-running": "Операція виконується", + "no-internet": "Немає інтернету", + "file-not-supported": "Файл не підтримується" + }, + "msg": { + "operation-running": "Дочекайтеся завершення поточної операції, а потім спробуйте ще раз.", + "no-internet": "Перевірте підключення до мережі та спробуйте ще раз.", + "file-not-supported": "Підтримуються лише файли {types}." + } + } + }, + "bs-download": { + "success": { + "titles": { + "download-success": "Завантаження завершено", + "verification-finished": "Перевірка завершена" + } + }, + "steam-download": { + "warnings": { + "msg": { + "ManifestChecksum": "Раніше завантажений маніфест не збігається з новим 🤔", + "ConnectionTimeout": "Ваше інтернет-з'єднання нестабільне 🥶", + "ConnectionLost": "З'єднання втрачено, спробуйте ще раз...", + "ConnectionError": "Не вдалося підключитися до Steam, спробуйте ще раз...", + "Unknown": "Сталося щось дивне 🤔 Ймовірно, ваше з'єднання нестабільне." + } + }, + "errors": { + "msg": { + "401": "Steam не дозволяє нам завантажити Beat Saber 😢", + "404": "Не вдалося зв'язатися з серверами Steam.", + "ExeNotFoundWindows": "\"DepotDownloader.exe\" відсутній. Переконайтеся, що ваш антивірус не помістив файл у карантин.", + "ExeNotFoundLinux": "Виконуваний файл \"DepotDownloader\" відсутній.", + "Password": "Неправильний пароль.", + "InvalidCredentials": "Недійсні облікові дані, несанкціоноване підключення або забагато спроб входу.", + "NoManifest": "Маніфест не знайдено.", + "DirectoryCreate": "Не вдалося створити необхідні папки.", + "NotAvailableApp": "Ви намагаєтеся завантажити Beat Saber, не маючи його у бібліотеці? 🤣", + "DepotNotFound": "Не вдалося завантажити Beat Saber 😥 Спробуйте пізніше 😕", + "NotCompleted": "Завантаження не було завершено ¯\\_(ツ)_/¯", + "InvalidManifest": "Не вдалося завантажити Beat Saber 😥 Спробуйте пізніше 😕", + "NoValidKey": "Не вдалося завантажити Beat Saber 😥 Спробуйте пізніше 😕", + "NoManifestCode": "Не вдалося завантажити Beat Saber 😥 Спробуйте пізніше 😕", + "Unknown": "Сталася невідома помилка ¯\\_(ツ)_/¯", + "NoServer": "Не вдалося зв'язатися з серверами Steam.", + "NotAllowed": "Схоже, що вам не дозволено завантажувати Beat Saber 🥱", + "ConnectionTimeout": "Не вдалося підключитися до Steam 😕", + "SteamLib": "Якщо у вас з'явилася ця помилка, повідомте про баг на GitHub разом із логами.", + "ConnectionError": "Не вдалося підключитися до Steam після 10 спроб 🤯", + "LicenceError": "Не вдалося отримати список ліцензій.", + "RateLimitExceeded": "Забагато спроб, зачекайте і спробуйте ще раз пізніше.", + "TokenRejected": "Ваш токен входу відхилено 😕 Будь ласка, спробуйте ще раз.", + "AccessDenied": "Доступ до Steam було відхилено." + } + } + }, + "oculus-download": { + "errors": { + "msg": { + "DOWNLOAD_MANIFEST_FAILED": "Не вдалося завантажити маніфест для цієї версії; ваш токен входу може бути недійсним.", + "MANIFEST_FILE_NOT_FOUND": "Не вдалося знайти маніфест для цієї версії.", + "PARSE_MANIFEST_FILE_FAILED": "Сталася помилка під час читання маніфесту.", + "ALREADY_DOWNLOADING": "Версія вже завантажується.", + "UNABLE_TO_GET_MANIFEST": "Не вдалося отримати маніфест, необхідний для завантаження.", + "VERIFY_INTEGRITY_FAILED": "Сталася помилка під час перевірки цілісності файлів.", + "SOME_FILES_FAILED_TO_DOWNLOAD": "Деякі файли не вдалося завантажити.", + "META_LOGIN_TIMED_OUT": "Токен входу занадто довго отримувався.", + "META_LOGIN_WINDOW_CLOSED_BY_USER": "Вікно входу в Meta було закрите користувачем.", + "NO_META_AUTH_TOKEN": "Не вдалося отримати токен входу Meta, необхідний для завантаження.", + "UNKNOWN_ERROR": "Сталася невідома помилка." + } + } + } + }, + "bs-import-version": { + "success": { + "start-import": { + "title": "Імпорт триває 👌", + "desc": "Імпорт може зайняти кілька хвилин залежно від вашої конфігурації." + }, + "imported": { + "title": "Версія імпортована 🎉" + } + }, + "errors": { + "import-error": { + "desc": "Переконайтеся, що вибрана папка є встановленою версією Beat Saber." + } + } + }, + "settings": { + "move-folder": { + "success": { + "titles": { + "transfer-started": "Передача триває", + "transfer-finished": "Передача завершена" + }, + "descs": { + "transfer-started": "Передача розпочалася і може зайняти кілька хвилин залежно від вашої конфігурації." + } + }, + "errors": { + "titles": { + "transfer-failed": "Передача не вдалася 😕" + }, + "descs": { + "COPY_TO_SUBPATH": "Цільова папка не може бути підпапкою вихідної папки.", + "restore-linked-folders": "Сталася помилка під час відновлення спільних папок. Ви все ще можете відновити їх вручну через меню 'Спільні папки' на сторінці версій." + } + } + }, + "steam": { + "success": { + "titles": { + "logout": "Відключено від Steam." + } + } + }, + "additional-content": { + "deep-link": { + "select-all": "Вибрати все", + "activation": { + "success": { + "title": "OneClick активовано!", + "description": "OneClick-встановлення активовано." + }, + "error": { + "description": "Не вдалося активувати OneClick-встановлення." + } + }, + "deactivation": { + "success": { + "title": "OneClick деактивовано!", + "description": "OneClick-встановлення деактивовано." + }, + "error": { + "description": "Сталася невідома помилка." + } + }, + "check-all-enabled": { + "title": "OneClick вимкнено", + "description": "Одна або більше OneClick-встановлень вимкнено. Перейдіть до налаштувань, щоб увімкнути їх.", + "actions": { + "settings": "Налаштування", + "not-remind": "Не нагадувати" + } + } + } + } + }, + "bs-launch": { + "success": { + "titles": { + "BS_LAUNCHING": "Запускається...🚀", + "STEAM_LAUNCHING": "Steam запускається!", + "SKIPPING_STEAM_LAUNCH": "Пропуск запуску Steam" + }, + "msg": { + "BS_LAUNCHING": "Не забудьте розім'ятися 😉", + "STEAM_LAUNCHING": "Beat Saber запуститься автоматично після Steam.", + "SKIPPING_STEAM_LAUNCH": "Сподіваюся, ви знаєте, що робите :)" + } + }, + "errors": { + "titles": { + "UNKNOWN_ERROR": "Неможливо запустити", + "STEAM_NOT_RUNNING": "Steam не запущено", + "OCULUS_NOT_RUNNING": "Oculus не запущено", + "BS_ALREADY_RUNNING": "Beat Saber вже запущено", + "EXE_NOT_FINDED": "Відсутні файли", + "PROTON_NOT_SET": "Папку Proton не встановлено", + "PROTON_NOT_FOUND": "Виконуваний файл Proton не знайдено", + "EXIT": "Раптова зупинка", + "OCULUS_LIB_NOT_FOUND": "Бібліотеку Oculus не знайдено", + "ORIGINAL_OCULUS_NOT_INSTALLED": "Оригінальну версію Oculus не знайдено" + }, + "msg": { + "UNKNOWN_ERROR": "Сталася невідома помилка.", + "STEAM_NOT_RUNNING": "Для запуску BeatSaber має бути запущений Steam.", + "OCULUS_NOT_RUNNING": "Для запуску BeatSaber має бути запущений Oculus.", + "BS_ALREADY_RUNNING": "Закрийте BeatSaber перед повторним запуском.", + "EXE_NOT_FINDED": "Схоже, деякі файли відсутні, спробуйте перевірити файли.", + "EXIT": "BeatSaber раптово зупинився, спробуйте перевірити файли.", + "OCULUS_LIB_NOT_FOUND": "Перевірте, чи правильно встановлено додаток Oculus і чи правильно визначено бібліотеки в Oculus.", + "PROTON_NOT_SET": "Встановіть шлях до Proton в налаштуваннях.", + "PROTON_NOT_FOUND": "Встановіть шлях до Proton в налаштуваннях.", + "ORIGINAL_OCULUS_NOT_INSTALLED": "Beat Saber має бути встановлений з додатку Oculus перед відкриттям." + }, + "actions": { + "STEAM_NOT_RUNNING": "Запустити Steam" + } + } + }, + "steam": { + "steam-launching": { + "title": "Steam запускається!", + "description": "Beat Saber запуститься автоматично після Steam." + } + }, + "custom-version": { + "errors": { + "titles": { + "CantEditSteam": "Неможливо редагувати", + "CantRename": "Перейменування неможливе", + "VersionAlreadExist": "Ця версія вже існує", + "CantClone": "Клонування неможливе", + "UnknownError": "Сталася невідома помилка" + }, + "msg": { + "CantEditSteam": "Ви не можете редагувати версію Steam. Але ви можете її клонувати." + } + }, + "success": { + "titles": { + "CloningFinished": "Клонування завершено 🎉" + } + } + }, + "mods": { + "install-mods": { + "titles": { + "success": "Моди встановлено 🎉", + "warning": "Моди встановлено 🤔" + }, + "msg": { + "success": "Усі моди були встановлені.", + "warning": "Один або кілька модів не вдалося встановити.", + "errors": { + "no-mods": "Немає модів для встановлення.", + "cannot-install-bsipa": "Не вдалося встановити BSIPA 😨" + } + } + }, + "uninstall-mod": { + "titles": { + "success": "Мод видалено 🎉" + }, + "msg": { + "errors": { + "no-mods": "Цей мод не встановлено 😑" + } + } + }, + "uninstall-all-mods": { + "titles": { + "success": "Моди видалено 🎉" + }, + "msg": { + "success": "Усі моди були видалені.", + "errors": { + "no-mods": "У цій версії не встановлено жодних модів 😑" + } + } + }, + "import-mod": { + "titles": { + "success": "Імпорт модів завершено", + "error": "Сталася помилка під час імпорту модів" + }, + "msgs": { + "success": "Моди успішно імпортовано.", + "some-success": "Деякі моди були успішно імпортовані.", + "no-dlls": "Файл(и) не містять жодних файлів \"dll\"." + } + } + }, + "maps": { + "one-click-install": { + "success": "Встановлення карти завершено", + "error": "Сталася помилка під час встановлення карти" + }, + "no-duplicates-maps": { + "title": "Немає дублікатів", + "msg": "Жодних карт не було видалено" + }, + "duplicates-maps-deleted": { + "title": "Дублікати видалено", + "msg": "Дублікати були видалені" + }, + "import-map": { + "titles": { + "success": "Імпорт карт завершено", + "error": "Сталася помилка під час імпорту карт" + }, + "msgs": { + "success": "Карти успішно імпортовано.", + "some-success": "Деякі карти були успішно імпортовані.", + "only-accept-zip": "Підтримуються лише zip-файли.", + "invalid-zip": "Zip-файл(и) не містять жодних карт.", + "unknown": "Сталася невідома помилка." + } + } + }, + "playlists": { + "one-click-install": { + "success": "Встановлення плейлиста завершено", + "error": "Сталася помилка під час встановлення плейлиста" + } + }, + "models": { + "one-click-install": { + "success": "Встановлення моделі завершено", + "error": "Сталася помилка під час встановлення моделі" + } + }, + "shared-folder": { + "info": { + "userdata-backup-created": { + "title": "Резервну копію створено", + "msg": "Спільний доступ до папки 'UserData' може спричинити помилки, у разі виникнення проблем від'єднайте папку, щоб відновити резервну копію" + } + }, + "linking-error": { + "title": "Помилка під час прив'язки папки", + "msg": { + "EPERM": "BSManager не має необхідних дозволів для прив'язки папки.", + "EACCES": "BSManager не має необхідних дозволів для прив'язки папки.", + "ENOSPC": "Диск заповнений, звільніть місце та спробуйте знову.", + "LinkingNotSupported": "Прив'язка папок не підтримується на цій файловій системі.", + "UNKNOWN_ERROR": "Сталася невідома помилка під час прив'язки папки." + } + }, + "adding-error": { + "title": "Не вдалося додати спільну папку", + "msg": "Ви не можете додати \"{folder}\" до спільних папок." + } + }, + "create-launch-shortcut": { + "success": { + "title": "Ярлик створено", + "msg": "Ярлик було створено на робочому столі.", + "msg-steam": "Ярлик було створено в бібліотеці Steam." + }, + "error": { + "msg": "Сталася помилка під час створення ярлика." + } + }, + "bs-version-oudated": { + "title": "Версія застаріла", + "msg": "Ця версія Beat Saber застаріла, використовуйте рекомендовану версію, щоб насолоджуватися останніми функціями та виправленнями помилок", + "actions": { + "do-not-remind": "Не нагадувати", + "ok": "Гаразд" + } + } + }, + "modals": { + "misc": { + "remember-my-choice": "Запам'ятати мій вибір" + }, + "choose-store": { + "title": "Яка платформа?", + "body": "Виберіть платформу, з якої ви бажаєте завантажити Beat Saber.", + "set-in-settings": "Встановіть платформу за замовчуванням у налаштуваннях" + }, + "guard": { + "title": "Steam Guard", + "inputs": { + "guard-code": { + "label": "Код Guard", + "placeholder": "Введіть ваш код Guard" + } + }, + "buttons": { + "submit": "Увійти" + } + }, + "steam-login": { + "title": "Вхід у Steam", + "inputs": { + "username": { + "label": "Увійти з іменем облікового запису", + "placeholder": "Введіть ім'я облікового запису" + }, + "password": { + "label": "Пароль", + "placeholder": "Введіть ваш пароль", + "max-length-warning": "Пароль перевищує 64 символи! Якщо пароль недійсний, спробуйте ввести лише перші 64 символи." + }, + "qr": { + "label": "Або за допомогою QR-коду", + "note": { + "use-the": "Використовуйте ", + "steam-mobile-app": "мобільний додаток Steam", + "to-connect-with-qr": "для входу через QR-код." + } + }, + "stay": "Запам'ятати мене" + }, + "why-credentials": "Чому потрібні мої облікові дані?", + "need-help-to-connect": "Мені потрібна допомога для доступу до мого облікового запису!", + "buttons": { + "submit": "Увійти" + } + }, + "steam-auth-approve": { + "title": "Очікування підтвердження", + "protected-by-mobile-auth": "Обліковий запис захищено мобільним автентифікатором.", + "use-steam-app-to-approve": "Використовуйте мобільний додаток Steam для підтвердження з'єднання...", + "not-access-to-steam-app": "У мене немає доступу до мобільного додатку Steam" + }, + "steam-credentials": { + "title": "Облікові дані Steam", + "p-1": "Ваші облікові дані Steam потрібні лише для завантаження версій Beat Saber. Ми використовуємо DepotDownloader, якому потрібні ваші облікові дані Steam для перевірки наявності гри у вашій бібліотеці перед тим, як дозволити вам отримати файли гри. Ваші облікові дані не зберігаються і передаються безпосередньо до DepotDownloader. Однак, якщо ви не хочете цього робити, ви можете натомість скористатися цим посібником: ", + "p-2": "Після цього ви можете натиснути на значок шестерні у верхньому правому куті та вибрати \"Імпортувати версію\", потім ви можете вибрати папку, куди було завантажено Beat Saber. (Якщо ви слідували посібнику, у вас буде правильне розташування)" + }, + "bs-import-version": { + "title": "Імпортувати версію", + "description": "Імпортує версію Beat Saber для використання з BSManager. Це скопіює вибрану папку встановлення Beat Saber до папки версій BSManager.", + "oculus-version": "Версія Oculus", + "oculus-version-tooltip": "Відмітьте, якщо це версія Oculus", + "buttons": { + "submit": "Імпортувати версію" + } + }, + "bs-uninstall": { + "title": "Видалення", + "description": "Ви впевнені, що хочете видалити Beat Saber {version}? Вам доведеться завантажити його знову, щоб грати.", + "buttons": { + "submit": "Видалити" + } + }, + "install-folder": { + "title": "Папка встановлення", + "description": "Зміна папки встановлення за замовчуванням призведе до переміщення всіх встановлених даних до нової папки.", + "buttons": { + "submit": "Вибрати папку" + } + }, + "edit-version": { + "title": "Редагувати версію", + "buttons": { + "submit": "Редагувати" + } + }, + "clone-version": { + "title": "Клонувати версію", + "description": "Клонування версії дозволяє розділити додатковий вміст Beat Saber між двома версіями.", + "inputs": { + "name": { + "label": "Назва", + "placeholder": "Назва версії" + }, + "color": { + "label": "Колір" + } + }, + "buttons": { + "submit": "Клонувати" + } + }, + "uninstall-mod": { + "title": "Видалення", + "description": "Ви впевнені, що хочете видалити {mod}? Це може призвести до неправильної роботи інших встановлених модів.", + "description-bsipa": "Ви впевнені, що хочете видалити BSIPA? Після цього всі встановлені моди перестануть працювати." + }, + "uninstall-all-mods": { + "title": "Видалення модів", + "description": "Ви впевнені, що хочете видалити всі моди з версії {version}? Цю операцію неможливо скасувати." + }, + "maps-actions": { + "delete-maps": { + "title": { + "single": "Видалити цю карту?", + "multiple": "Видалити карти?" + }, + "desc": { + "single": "Ви впевнені, що хочете видалити карту {name}?", + "multiple": "Ви впевнені, що хочете видалити {nb} карт(-и)?" + }, + "info": { + "desc": { + "single": "Ця карта є частиною спільних карт", + "multiple": "Ці карти є частиною спільних карт" + }, + "title": { + "single": "Ця карта також буде видалена з версій, що використовують спільні карти", + "multiple": "Ці карти також будуть видалені з версій, що використовують спільні карти" + } + } + } + }, + "link-contents": { + "title": "Прив'язати {contentType}", + "p-1": "Прив'язка {contentType} дозволяє ділитися {contentType} між усіма версіями з увімкненою цією функцією. Після прив'язки ця версія отримає доступ до спільних {contentType}.", + "p-2": "Щоб скористатися функцією прив'язки, всі ваші {itemsHtml} будуть переміщені до папки {sharedHtml}. Після цього символічне посилання, що вказує на спільну папку {contentType}, замінить вашу оригінальну папку {contentType}.", + "warning": "Зверніть увагу, що будь-які зміни, що впливають на {contentType}, також вплинуть на всі версії з увімкненою цією функцією.", + "what-is-a-symbolic-link": "Що таке символічне посилання?", + "i-need-help": "Мені потрібна допомога", + "valid-btn": "Прив'язати {contentType}" + }, + "unlink-contents": { + "title": "Відв'язати {contentType}", + "p-1": "Будьте обережні, відв'язка {contentType} вимкне використання спільних {contentType} для цієї версії, доки її не буде знову ввімкнено.", + "p-2": "Для відв'язки ваших карт символічне посилання, що вказує на {sharedHtml}, буде видалено. Після цього всі карти зі спільної папки будуть скопійовані до папки {itemsHtml} вашої версії Beat Saber.", + "do-not-copy-contents": "Не копіювати {contentType}", + "do-not-copy-contents-tip": "Якщо увімкнено, {contentType} зі спільної папки не будуть скопійовані до вашої версії Beat Saber. В результаті після відв'язки у вашій версії Beat Saber не залишиться {contentType}.", + "valid-btn": "Відв'язати {contentType}" + }, + "download-maps": { + "search-btn": "Пошук", + "loading-maps": "Завантаження карт...", + "no-maps-found": "Карт не знайдено", + "no-internet": "Немає інтернету" + }, + "mods-disclaimer": { + "title": "Застереження", + "p-1": "Вибираючи використання модів, ви розумієте, що:", + "li-1": "Ви можете зіткнутися з проблемами, яких немає у оригінальній грі. 99.9% помилок, збоїв і затримок спричинені модами.", + "li-2": "Моди можуть перестати працювати після оновлень, і це нормально - будьте терплячі та поважайте це, оскільки модери є добровольцями з власним життям.", + "li-3": "Beat Games не намагаються навмисно зламати моди. Вони працюють над кодовою базою, і іноді це ламає моди, але вони не прагнуть знищити моди.", + "p-2": "Не нападайте на розробників гри через проблеми, пов'язані з модами, і навпаки - модери та розробники гри є двома окремими групами. Просто не будьте грубими, добре?" + }, + "shared-folders": { + "title": "Спільні папки", + "description": "Прив'яжіть папки Beat Saber для синхронізації їхнього вмісту зі спільними папками в інших версіях. Зауважте, що видалення вмісту також буде спільним.", + "buttons": { + "add-folder": "Додати папку", + "link-folder": "Прив'язати папку", + "unlink-folder": "Відв'язати папку", + "link-all": "Прив'язати все", + "remove-from-the-list": "Видалити зі плейслисту" + } + }, + "adding-shared-folder": { + "title": "Додавання спільної папки", + "description": "Ви можете зіткнутися з проблемами при прив'язці папки \"{folder}\". Ви впевнені, що хочете додати її?" + }, + "create-launch-shortcut": { + "title": "Створити ярлик", + "desc": "Створення ярлика дозволить вам запускати Beat Saber з обраними опціями без використання BSManager.", + "launch-options": "Параметри запуску", + "advanced-launch": "Розширений запуск", + "valid-btn": "Створити ярлик", + "create-steam-shortcut": "Створити ярлик Steam", + "steam-shortcut-tippy": "Якщо ввімкнено, замість створення ярлика на робочому столі, його буде створено в Steam." + }, + "connect-to-meta": { + "title": "Підключення до Meta", + "body": { + "token-needed": "Для завантаження Beat Saber потрібен ваш токен підключення Meta.", + "need-cookie-enabled": "При вході в Meta відкриється вікно входу, і ви зможете розпочати процес входу. Будь ласка, прийміть куки, інакше ми не зможемо отримати ваш токен для початку завантаження.", + "enter-token-manually": "Ввести мій токен входу вручну", + "enter-token-manually-tooltip": "Це дозволить вам ввести ваш токен входу без проходження входу через Meta." + }, + "stay": "Запам'ятати мене", + "connect-to-meta": "Підключитися до Meta" + }, + "enable-oculus-sideloaded-apps": { + "title": "Увімкнути сайдлоадинг", + "info-1": "Для запуску Beat Saber потрібно ввімкнути можливість запуску сайдлоад додатків. BSManager запитає права адміністратора для автоматичного ввімкнення цієї функції.", + "info-2": "Функція сайдлоад додатків дозволяє запускати ігри, розташовані поза папкою бібліотеки Oculus.", + "info-3": "Після активації сайдлоадингу функція залишиться активною, і вас більше не проситимуть увімкнути її.", + "i-want-to-do-it-myself": "Я хочу зробити це самостійно", + "understood": "Зрозуміло" + }, + "enter-meta-token": { + "title": "Токен Oculus", + "body": { + "info-enter-token": "Для завантаження Beat Saber потрібен ваш токен входу Oculus.", + "how-obtain-token": "Як отримати мій токен Oculus?", + "oculus-token": "Токен Oculus", + "token-is-invalid": "Токен недійсний.", + "save-my-token": "Зберегти мій токен", + "have-token-saved": "У мене вже є збережений токен", + "save-token-info": "Це збереже ваш токен для легшого повторного використання. Вам потрібно буде створити пароль для шифрування вашого токена для цілей зберігання. Якщо ви коли-небудь забудете пароль, вам просто потрібно буде надати токен знову.", + "password": "Пароль", + "password-too-short": "Пароль занадто короткий", + "info-enter-password": "Для завантаження Beat Saber потрібен ваш токен входу Oculus. Введіть пароль, використаний для збереження вашого токена Oculus.", + "info-disabled-btn-password": "Токен, розшифрований із наданим паролем, недійсний. Переконайтеся, що пароль такий самий, як той, що використовувався для збереження токена.", + "enter-oculus-token": "Введіть токен Oculus" + }, + "valid-btn": "Підтвердити" + }, + "launch-as-admin": { + "title": "Права адміністратора", + "body": { + "info": "Виявлено, що Steam працює з правами адміністратора. Для зв'язку зі Steam, Beat Saber також потрібно запустити як адміністратор. Інакше Beat Saber може зіткнутися з проблемами і закритися після запуску.", + "info-2": "Запуск Beat Saber в режимі адміністратора також надасть права адміністратора встановленим модам. Тому рекомендується перезапустити Steam без прав адміністратора.", + "info-3": "Зауважте, що не рекомендується надавати права адміністратора Steam, оскільки це впливає на встановлені ігри та моди, створюючи ризик безпеки." + }, + "launch-as-admin": "Запустити як адміністратор", + "not-remind-me": "Не нагадувати мені" + }, + "ask-install-path": { + "title": "Папка встановлення", + "choose-folder-description": "Виберіть папку, яка міститиме весь вміст, завантажений BSManager. (версії, моди, карти, плейлисти тощо)", + "default": "За замовчуванням", + "default-tooltip": "За замовчуванням ваша домашня папка" + }, + "choose-proton-folder": { + "title": "Папка Proton", + "proton-folder-description": "На Linux, BSManager потребує Proton для роботи. Виберіть папку встановлення Proton, щоб продовжити.", + "proton-folder-placeholder": "Папка встановлення Proton", + "where-is-proton-installed": "Де встановлено Proton?" + }, + "bs-version-outdated": { + "body": "Версія {outdatedVersion} застаріла, і деякі моди чи функції можуть більше не працювати належним чином. Будь ласка, завантажте останню рекомендовану версію ({recommendedVersion}) Beat Saber, щоб насолоджуватися останніми функціями та виправленнями помилок." + } + }, + "maps": { + "map-filter-panel": { + "duration": "Тривалість", + "nps": "Нот за секунду", + "njs": "Швидкість стрибка нот", + "tags": "теги", + "specificities": "загальне", + "requirements": "вимоги", + "exclude": "виключити", + "leaderboard": "таблиця лідерів" + }, + "map-types": { + "accuracy": "точність", + "balanced": "збалансовані", + "challenge": "виклик", + "dance-style": "танець", + "fitness": "фітнес", + "speed": "швидкість", + "tech": "техніка" + }, + "map-styles": { + "dance": "танцювальні", + "swing": "свінг", + "nightcore": "найткор", + "folk-acoustic": "фолк і акустика", + "kids-family": "для дітей і сім'ї", + "ambient": "ембієнт", + "funk-disco": "фанк і диско", + "jazz": "джаз", + "soul": "соул", + "speedcore": "спідкор", + "punk": "панк", + "rb": "r&b", + "holiday": "святкові", + "vocaloid": "вокалоїд", + "j-rock": "j-rock", + "trance": "транс", + "drum-and-bass": "драм-н-бейс", + "comedy-meme": "комедія і меми", + "instrumental": "інструментальні", + "hardcore": "хардкор", + "k-pop": "k-pop", + "indie": "інді", + "techno": "техно", + "house": "хаус", + "video-game-soundtrack": "відеоігри", + "tv-movie-soundtrack": "ТБ і фільми", + "alternative": "альтернатива", + "dubstep": "дабстеп", + "metal": "метал", + "anime": "аніме", + "hip-hop-rap": "хіп-хоп і реп", + "j-pop": "j-pop", + "rock": "рок", + "pop": "поп", + "electronic": "електронна", + "classical-orchestral": "Класична і оркестрова" + }, + "map-specificities": { + "automapper": "ШІ", + "curated": "куровані", + "verified": "перевірені", + "fullSpread": "повний набір" + }, + "map-leaderboard": { + "All": "Всі", + "Ranked": "Ранговані", + "BeatLeader": "BeatLeader", + "ScoreSaber": "ScoreSaber" + }, + "map-excludes": { + "installed": "встановлені" + }, + "difficulties": { + "Easy": "легкий", + "Normal": "нормальний", + "Hard": "складний", + "Expert": "експерт", + "ExpertPlus": "експерт+" + }, + "map-item": { + "by": "Від {songAutor}", + "mapped-by": "автор карти", + "delete": "Видалити", + "preview": "Попередній перегляд карти", + "bsr-code": "BSR код", + "download": "Завантажити карту", + "downloading": "Завантаження карти", + "cancel-download": "Скасувати завантаження", + "hightlight-difficulty": "Виділити складність" + } + }, + "models": { + "types": { + "singular": { + "avatar": "аватар", + "saber": "шпага", + "platform": "платформа", + "bloq": "блок" + }, + "plural": { + "avatar": "аватари", + "saber": "шпаги", + "platform": "платформи", + "bloq": "блоки" + } + }, + "sorts": { + "name": "Ім'я", + "date": "Дата", + "author": "Автор" + }, + "panel": { + "actions": { + "search": "Пошук завантажених моделей", + "drop-down": { + "delete": "Видалити моделі", + "export": "Експортувати моделі" + }, + "link-models": "Зв'язати моделі", + "unlink-models": "Відв'язати моделі" + }, + "grid": { + "loading": "Завантаження моделей...", + "no-models": "Немає моделей", + "download-models": "Завантажити моделі" + } + }, + "modals": { + "delete-model": { + "title": "Видалити модель", + "desc": "Ви впевнені, що хочете видалити модель {modelName}?", + "linked-annotation": "Цю модель буде видалено з усіх пов'язаних версій." + }, + "delete-models": { + "title": "Видалити моделі", + "desc": "Ви впевнені, що хочете видалити {nb} модел(-і/-ей)?", + "linked-annotation": "Ці моделі буде видалено з усіх пов'язаних версій." + }, + "download-models": { + "search-btn": "Пошук", + "search-placeholder": "Пошук моделі", + "search-tips": { + "header": { + "tag": "Тег", + "desc": "Опис" + }, + "author-desc": "Показати лише моделі від вказаного автора.", + "hash-desc": "Показати лише моделі з вказаним хешем.", + "tag-desc": "Показати лише моделі з вказаним тегом.", + "name-desc": "Показати лише моделі з вказаною назвою.", + "discordid-desc": "Показати лише моделі від вказаного користувача Discord.", + "status-desc": "Показати лише моделі з вказаним статусом. (тільки для профілю і лише для автора)" + }, + "no-models": "Моделей не знайдено.", + "no-internet": "Немає підключення до інтернету.", + "error-occurred": "Сталася помилка, спробуйте пізніше." + } + }, + "notifications": { + "prevent-for-mods": { + "title": "Необхідні моди", + "desc": "Переконайтеся, що ви встановили необхідні моди для використання моделей у Beat Saber", + "go-to-mods": "Перейти до модів", + "not-remind": "Не нагадувати" + }, + "export-success": { + "title": "Експорт завершено 🎉" + } + } + }, + "beat-saver": { + "maps-sorts": { + "Latest": "Останні", + "Relevance": "Актуальні", + "Rating": "Рейтинг", + "Curated": "Оцінені куратором" + } + }, + "auto-update": { + "checking": "Перевірка оновлень", + "downloading": "Завантаження оновлень" + }, + "bs-shortcut-launch": { + "beat-saber-launching": "Запуск Beat Saber", + "launching": "Запуск", + "open-bsmanager": "Відкрити BSManager", + "status-text": { + "init": "Ініціалізація...", + "success": { + "BS_LAUNCHING": "Запуск Beat Saber...", + "STEAM_LAUNCHING": "Запуск Steam...", + "STEAM_LAUNCHED": "Steam успішно запущено!", + "UNABLE_TO_LAUNCH_STEAM": "Не вдалося запустити Steam, спроба запустити Beat Saber..." + } + } + }, + "drop-zone": { + "or-browse-files": "Або перегляньте файли" + }, + "playlist": { + "error-playlist-creation-title": "Помилка створення плейлисту", + "error-playlist-creation-desc": "Виникла помилка під час створення плейлисту.", + "playlist-created-title": "Плейлист створюється", + "playlist-created-desc": "Плейлист успішно створений. Тепер ви можете синхронізувати його карти!", + "download-playlist": "Завантажити плейлист", + "synchronize-playlist": "Синхронізувати плейлист", + "synchronize-maps": "Синхронізувати карти", + "error-playlists-synchronization-title": "Помилка синхронізації плейлистів", + "error-playlists-synchronization-desc": "Виникла помилка під час синхронізації плейлистів.", + "playlists-synchronized-title": "Плейлисти синхронізовані!", + "playlists-synchronized-desc": "Плейлисти та їх карти завантажені.", + "playlists-export-error-title": "Помилка експорту плейлистів", + "playlists-export-error-desc": "Виникла помилка під час експорту плейлистів.", + "playlists-exported-title": "Плейлисти експортовані!", + "playlists-exported-desc": "Плейлисти успішно експортовані.", + "playlists-with-maps-exported-desc": "Плейлисти та їх карти успішно експортовані.", + "playlist-delete-error-title": "Помилка видалення плейлисту", + "playlist-delete-error-desc": "Виникла помилка під час видалення плейлисту.", + "playlists-deleted-title": "Плейлисти видалені!", + "playlists-deleted-desc": "Плейлисти успішно видалені.", + "edit-playlist": "Редагувати плейлист", + "playlist-edit-error-title": "Помилка редагування плейлисту", + "playlist-edit-error-desc": "Виникла помилка під час редагування плейлисту.", + "playlist-edited-title": "Плейлист змінений!", + "playlist-edited-desc": "Плейлист успішно змінений. Тепер ви можете синхронізувати його карти!", + "playlists-loading": "Завантаження плейлистів...", + "no-playlists": "Немає плейлистів", + "download-playlists": "Завантажити плейлисти", + "created-by": "Створено", + "stop-download": "Припинити завантаження", + "cancel-download": "Скасувати завантаження", + "open-file": "Відкрити файл", + "delete-playlist-ask": "Видалити плейлист?", + "delete-playlists-ask": "Видалити плейлисти?", + "delete-playlist-desc": "Ви впевнені, що хочете видалити плейлист \"{playlistTitle}\"?", + "delete-playlists-desc": "Ви впевнені, що хочете видалити {nb} плейлист(-и/-ів)?", + "delete-maps": "Видалити карти", + "delete-playlist-maps-tip": "Якщо включено, всі карти в плейлисті будуть видалені", + "delete-playlists-maps-tip": "Якщо включено, всі карти в плейлистах будуть видалені", + "export-playlist-ask": "Експортувати плейлист?", + "export-playlists-ask": "Експортувати плейлисти?", + "export-playlist-desc": "Ви впевнені, що хочете експортувати плейлист \"{playlistTitle}\"?", + "export-playlists-desc": "Ви впевнені, що хочете експортувати {nb} плейлист(-и/-ів)?", + "export-maps": "Експортувати карти", + "export-playlist-maps-tip": "Якщо включено, всі карти в плейлисті будуть також експортовані", + "export-playlists-maps-tip": "Якщо включено, всі карти в плейлистах будуть також експортовані", + "export": "Експортувати", + "need-clone-title": "Повідомлення", + "need-clone-desc-1": "Цей плейлист завантажений з зовнішнього сайту та містить посилання на синхронізацію.", + "need-clone-desc-2": "Для уникнення втрати змін під час синхронізації, плейлист буде дубльований та його посилання на синхронізацію буде видалене", + "need-clone-desc-3": "Ви можете потім, якщо захочете, видалити оригінальний плейлист", + "understood": "Я розумію", + "synchronize-playlist-ask": "Синхронізувати плейлист?", + "synchronize-playlists-ask": "Синхронізувати плейлисти?", + "synchronize-playlist-desc": "Ви впевнені, що хочете синхронізувати плейлист \"{playlistTitle}\"?", + "synchronize-playlists-desc": "Ви впевнені, що хочете синхронізувати {nb} плейлист(-и/-ів)?", + "synchronize-playlist-tip": "Ця дія оновлює плейлисти та завантажує відсутні карти; вона може зайняти кілька хвилин", + "synchronize": "Синхронізувати", + "curated": "Рекомендовані", + "verified-mapper": "Перевірений маппер", + "empty-playlists": "Порожні плейлисти", + "search-playlist": "Шукати плейлисти", + "no-playlists-found": "Немає плейлистів", + "error-occur-while-loading-playlists": "Виникла помилка під час завантаження плейлистів", + "error-occur-while-loading-playlist": "Виникла помилка під час завантаження плейлиста", + "loading-maps": "Завантаження карт...", + "no-maps-found-for-playlist": "Для цього плейлиста не знайдено карт", + "playlist-contain-no-maps": "Плейлист не містить жодної карти", + "no-map-installed-for-playlist": "Для цього плейлиста не встановлено карт", + "playlist-is-waiting-to-download": "Плейлист чекає на завантаження", + "download-maps": "Завантажити карти", + "download-missing-maps": "Завантажити відсутні карти", + "playlist-is-downloading": "Плейлист завантажується", + "some-playlist-maps-are-missing": "Деякі карти в цьому плейлисті відсутні", + "create-a-playlist": "Створіть плейлист", + "synchronize-playlists": "Синхронізувати плейлисти", + "export-playlists": "Експортувати плейлисти", + "delete-playlists": "Видалити плейлисти", + "choose-image": "Оберіть зображення", + "title": "Назва", + "playlist-title": "Назва плейлисту", + "description": "Опис", + "playlist-description": "Опис плейлисту", + "author": "Автор", + "playlist-author": "Автор плейлисту", + "save": "Зберегти", + "loading": "Завантаження...", + "installed": "Встановлено", + "no-map-found": "Нічого не знайдено", + "edit-playlist-shortcuts": "Натисніть Shift або Ctrl, щоб обрати кілька карт", + "add-to-playlist": "Додати до плейлисту", + "remove-from-playlist": "Видалити з плейлисту", + "playlist-is-empty": "Плейлист порожній", + "continue": "Продовжити", + "nb-maps": "Кількість карт", + "nb-mappers": "Кількість виконавців", + "duration": "Тривалість", + "nps": "Нот в секунду (NPS)", + "date-picker": { + "start-date-end-date": "Дата початку — Дата завершення", + "all": "Всі", + "last-24h": "Останні 24 години", + "last-week": "Остання неділя", + "last-month": "Останній місяць", + "3-last-month": "Останні 3 місяці" + }, + "playlists-imported": "Плейлисти імпортовані", + "all-playlists-have-been-successfully-imported": "Всі плейлисти успішно імпортовані", + "no-playlist-found": "Нічого не знайдено", + "no-playlist-found-in-selected-files": "Нічого не знайдено серед обраних файлів", + "some-playlists-not-imported": "Деякі плейлисти не імпортовані", + "some-playlists-have-been-imported": { + "INVALID_SOURCE": "Деякі плейлисти не знайдені", + "INVALID_PLAYLIST_FILE": "Деякі плейлисти не можуть бути імпортовані", + "CANNOT_PARSE_PLAYLIST": "Деякі плейлисти не можуть бути прочитані", + "unknown": "Деякі плейлисти не можуть бути імпортовані" + }, + "no-playlists-imported": "Нічого не імпортовано", + "no-playlists-imported-errors": { + "INVALID_SOURCE": "Плейлисти не знайдено", + "INVALID_PLAYLIST_FILE": "Плейлисти не можуть бути імпортовані", + "CANNOT_PARSE_PLAYLIST": "Плейлисти не можуть бути прочитані", + "unknown": "Нічого не імпортовано" + } + }, + "dateformat": { + "dayNames": ["Нд", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб", "Неділя", "Понеділок", "Вівторок", "Середа", "Четвер", "П'ятниця", "Субота"], + "monthNames": ["Січ", "Лют", "Бер", "Кві", "Тра", "Чер", "Лип", "Сер", "Вер", "Жов", "Лис", "Гру", "Січень", "Лютий", "Березень", "Квітень", "Травень", "Червень", "Липень", "Серпень", "Вересень", "Жовтень", "Листопад", "Грудень"], + "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..f4f95305 100644 --- a/src/renderer/components/svgs/bsm-icon.component.tsx +++ b/src/renderer/components/svgs/bsm-icon.component.tsx @@ -12,7 +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 { UkIcon } from "./flags/uk-icon.component"; +import { UkraineIcon } from "./flags/ukraine-icon.component"; import { TaskIcon } from "./icons/task-icon.component"; import { CopyIcon } from "./icons/copy-icon.component"; import { SteamIcon } from "./icons/steam-icon.component"; @@ -70,10 +70,11 @@ import { AddFileIcon } from "./icons/add-file-icon.component"; import { CancelIcon } from "./icons/cancel-icon.component"; import { WarningIcon } from "./icons/warning-icon.component"; import { ArrowUpwardIcon } from "./icons/arrow-upward-icon.component"; +import { UkIcon } from "./flags/uk-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.tsx b/src/renderer/components/svgs/flags/ukraine-icon.component.tsx new file mode 100644 index 00000000..517ed36a --- /dev/null +++ b/src/renderer/components/svgs/flags/ukraine-icon.component.tsx @@ -0,0 +1,14 @@ +import { createSvgIcon } from "../svg-icon.type"; + +// Uploaded from: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools + +export const UkraineIcon = createSvgIcon((props, ref) => { + 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"),