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"),