diff --git a/components.json b/components.json
new file mode 100644
index 00000000..d357f6bd
--- /dev/null
+++ b/components.json
@@ -0,0 +1,20 @@
+{
+ "$schema": "https://ui.shadcn.com/schema.json",
+ "style": "new-york",
+ "rsc": true,
+ "tsx": true,
+ "tailwind": {
+ "config": "tailwind.config.ts",
+ "css": "src/app/[locale]/globals.css",
+ "baseColor": "neutral",
+ "cssVariables": true,
+ "prefix": ""
+ },
+ "aliases": {
+ "components": "@/components",
+ "utils": "@/lib/utils",
+ "ui": "@/components/ui",
+ "lib": "@/lib",
+ "hooks": "@/hooks"
+ }
+}
\ No newline at end of file
diff --git a/messages/bn.json b/messages/bn.json
index bd4649dc..224d36ec 100644
--- a/messages/bn.json
+++ b/messages/bn.json
@@ -1,7 +1,6 @@
{
"Index": {
"HomePage": {
- "title": "টাইমার",
"hint": "ইঙ্গিত",
"optimal-yellow-layer": "সেরা হলুদ স্তর",
"solving": "সমাধান হচ্ছে...",
@@ -23,36 +22,57 @@
},
"SolvesPage": {
"title": "সমাধান",
- "search-by-time": "⏱︎ সময় দ্বারা খুঁজুন",
- "finalize-session": "সেশন চূড়ান্ত করুন",
- "eliminate-session": "সেশন বাদ দিন",
- "archive-sessions-legend": "এই ক্রিয়া একই বিভাগের সব চলমান সেশন আর্কাইভ করবে।",
- "delete-session-legend": "এই ক্রিয়া শুধুমাত্র নির্বাচিত কিউব সহ আপনার বর্তমান সমাধানগুলি মুছে ফেলবে।",
- "archive": "আর্কাইভ",
- "unarchive": "আনআর্কাইভ",
- "copy": "কপি",
- "remove": "অপসারণ",
- "enter-a-comment": "একটি মন্তব্য প্রবেশ করুন",
"session": "সেশন",
"all": "সব",
- "no-cube-selection": "কোনও কিউব নির্বাচিত হয়নি, একটি বেছে নিন...",
- "no-solves": "দেখানোর জন্য কোনও সমাধান নেই!"
+ "alert": {
+ "empty-cubes": "কোন ঘনক্ষেত্র নির্বাচন করা হয়নি. \nএকটি চয়ন করুন.",
+ "title": "মনোযোগ!"
+ },
+ "ascending": "আরোহী",
+ "date": "তারিখ",
+ "descending": "অবরোহী",
+ "dialogs": {
+ "move-to-history": "সরানো ইতিহাস সমাধান?",
+ "move-to-history-para": "আপনি ইতিহাস সুইচ আলতো চাপ দিয়ে সেগুলি অ্যাক্সেস করতে সক্ষম হবেন৷"
+ },
+ "empty-solves": "এখানে এখনো কিছুই নেই!",
+ "empty-solves-description": "আপনার ইতিহাস দেখতে স্ক্রিনের শীর্ষে থাকা সুইচটিতে আলতো চাপুন৷",
+ "filter-by-time": "সময় অনুযায়ী ফিল্টার করুন",
+ "historial": "ঐতিহাসিক",
+ "last": "শেষ",
+ "order": "অর্ডার",
+ "share": "শেয়ার করুন",
+ "share-clipboard": {
+ "average": "গড়",
+ "header": "NexusTimer দ্বারা উত্পন্ন",
+ "list-of-times": "সময়ের তালিকা"
+ },
+ "sort": "সাজান",
+ "time": "সময়",
+ "toast": {
+ "success-copy": "সফলভাবে অনুলিপি করা হয়েছে৷",
+ "success-copy-description": "আপনার ক্লিপবোর্ডে কপি করা হয়েছে।",
+ "unable-action": "অক্ষম কর্ম",
+ "warning-select-cube": "আগে একটি ঘনক নির্বাচন করুন."
+ },
+ "tooltips": {
+ "move-to-history": "সরানো ইতিহাস সমাধান"
+ }
},
"StatsPage": {
"title": "পরিসংখ্যান",
- "total": "মোট",
- "category": "বিভাগ",
"global": "গ্লোবাল",
"sessions": "সেশন",
"best-time": "সেরা সময়",
"average": "গড়",
"time-spent": "ব্যয়িত সময়",
"success-rate": "সাফল্যের হার",
- "counter": "কাউন্টার"
+ "counter": "কাউন্টার",
+ "advanced": "উন্নত",
+ "overall": "সামগ্রিকভাবে"
},
"CubesPage": {
"title": "কিউব",
- "cube": "কিউব",
"no-cubes-for-display": "প্রদর্শনের জন্য কোনও কিউব নেই।",
"favorite": "প্রিয়",
"category": "বিভাগ",
@@ -61,30 +81,35 @@
"status": "অবস্থা",
"using": "ব্যবহার করা হচ্ছে",
"idle": "নিষ্ক্রিয়",
- "filter-cubes": "আপনার কিউবগুলি ফিল্টার করুন"
+ "find-your-cube": "আপনার ঘনক্ষেত্র খুঁজুন",
+ "name": "নাম",
+ "new-collection": "নতুন সংগ্রহ",
+ "options": "অপশন"
},
"Cubes-modal": {
- "title-editing": "কিউব সম্পাদনা করুন",
- "title-creating": "নতুন কিউব",
- "error-name": "কিউবের নাম অনুপস্থিত",
- "error-duplicate": "কিউবের নাম ইতিমধ্যে ব্যবহৃত হচ্ছে",
- "current-select": "বর্তমান নির্বাচন:",
- "question-delete": "আপনি কি নিশ্চিত যে আপনি মুছে ফেলতে চান?",
- "warning-delete": "এই অপরিবর্তনীয় ক্রিয়া সমস্ত সমাধান ইতিহাস মুছে ফেলবে এবং আপনার পরিসংখ্যানে প্রভাব ফেলতে পারে।",
- "placeholder": "ব্র্যান্ড | মডেল | সংস্করণ | চুম্বকীয়?"
+ "category": "শ্রেণী",
+ "current-selection": "বর্তমান নির্বাচন:",
+ "danger-msg": "সংগ্রহ বিভাগ পরিবর্তন করা সেই বিভাগের সাথে সম্পর্কিত সমাধানগুলিও পরিবর্তন করে।",
+ "delete-collection": "সংগ্রহ মুছুন",
+ "delete-collection-description": "এই ঘনক্ষেত্র সংগ্রহ মুছে ফেলা হবে, এর সমস্ত সমাধান, রেকর্ড এবং সেটিংস সহ।",
+ "edit-collection": "সংগ্রহ সম্পাদনা করুন",
+ "input-collection-name": "সংগ্রহের নাম লিখুন",
+ "name": "নাম",
+ "new-collection": "নতুন সংগ্রহ",
+ "new-collection-description": "কিউব সংগ্রহ আপনাকে সামগ্রিক বিভাগের পরিসংখ্যানকে প্রভাবিত না করে প্রতিটি ঘনকের ইতিহাসের ট্র্যাক রাখতে দেয়।",
+ "select-an-option": "একটি বিকল্প নির্বাচন করুন",
+ "to-continue": "চালিয়ে যেতে:",
+ "warning-alert": "সতর্কতা:",
+ "warning-msg": "এই ক্রিয়াটি বিপরীত করা যায় না।"
},
"Inputs": {
"select": "নির্বাচন করুন",
- "add-cube": "কিউব যোগ করুন",
"favorites": "প্রিয়",
- "list": "তালিকা",
- "trash-all": "সব মুছুন",
- "move-all": "সব সরান",
"create": "তৈরি করুন",
- "confirm": "নিশ্চিত করুন",
"cancel": "বাতিল করুন",
- "save": "সংরক্ষণ করুন",
- "delete": "মুছে ফেলুন"
+ "continue": "চালিয়ে যান",
+ "move": "সরান",
+ "none": "কোনোটিই নয়"
},
"Settings-menu": {
"title": "সেটিংস",
@@ -116,7 +141,9 @@
"about": "সম্পর্কিত",
"legend": "NexusTimer হল একটি নিরপেক্ষ, সংক্ষিপ্ত এবং ওপেন সোর্স ওয়েব টুল স্পিডকিউবিংয়ের জন্য।",
"suggest": "পরিবর্তন প্রস্তাব করুন",
- "report-bug": "বাগ রিপোর্ট করুন"
+ "report-bug": "বাগ রিপোর্ট করুন",
+ "auto-select": "স্টার্টআপে স্বয়ংক্রিয়ভাবে নির্বাচন করুন",
+ "preferences": "পছন্দসমূহ"
},
"backup-modal": {
"title": "বুদ্ধিমান ব্যাকআপ পুনরুদ্ধার",
@@ -126,6 +153,17 @@
"loading-part-1": "এই ক্রিয়াটি এক মিনিটেরও কম সময় নেয়।",
"loading-part-2": "অনুগ্রহ করে অপেক্ষা করুন, এই উইন্ডোটি বন্ধ করবেন না।",
"welcome": "স্বাগতম:"
+ },
+ "Errors": {
+ "empty-input": "অনুগ্রহ করে একটি মান লিখুন",
+ "not-match": "নামের সাথে মিল নেই।",
+ "repeated-name": "সেই নামের সংগ্রহ ইতিমধ্যেই বিদ্যমান।"
+ },
+ "tooltips": {
+ "bookmark": "বুকমার্ক",
+ "copy": "কপি",
+ "delete": "মুছে দিন",
+ "plus-two": "2 শাস্তি"
}
},
"Metadata": {
diff --git a/messages/cs.json b/messages/cs.json
index c90d9928..4700f99e 100644
--- a/messages/cs.json
+++ b/messages/cs.json
@@ -1,7 +1,6 @@
{
"Index": {
"HomePage": {
- "title": "Časovač",
"hint": "Nápověda",
"optimal-yellow-layer": "Optimální žlutá vrstva",
"solving": "Řešení...",
@@ -23,36 +22,57 @@
},
"SolvesPage": {
"title": "Řešení",
- "search-by-time": "⏱︎ Hledat podle času",
- "finalize-session": "Dokončit relaci",
- "eliminate-session": "Odstranit relaci",
- "archive-sessions-legend": "Tato akce archivuje všechny probíhající relace ve stejné kategorii.",
- "delete-session-legend": "Tato akce odstraní pouze vaše aktuální řešení s vybranou kostkou.",
- "archive": "Archivovat",
- "unarchive": "Zrušit archivaci",
- "copy": "Kopírovat",
- "remove": "Odstranit",
- "enter-a-comment": "Zadejte komentář",
"session": "Relace",
"all": "Vše",
- "no-cube-selection": "Není vybrána žádná kostka, vyberte jednu...",
- "no-solves": "Nejsou k dispozici žádná řešení!"
+ "alert": {
+ "empty-cubes": "Nebyla vybrána žádná kostka. \nVyberte prosím jednu.",
+ "title": "Pozor!"
+ },
+ "ascending": "Vzestupně",
+ "date": "Datum",
+ "descending": "Klesající",
+ "dialogs": {
+ "move-to-history": "Přesun řeší historii?",
+ "move-to-history-para": "Budete k nim mít přístup klepnutím na přepínač historie."
+ },
+ "empty-solves": "Tady zatím nic!",
+ "empty-solves-description": "Klepnutím na přepínač v horní části obrazovky zobrazíte svou historii.",
+ "filter-by-time": "Filtrujte podle času",
+ "historial": "Historický",
+ "last": "Poslední",
+ "order": "Objednávka",
+ "share": "Podíl",
+ "share-clipboard": {
+ "average": "Průměrný",
+ "header": "Generováno NexusTimer",
+ "list-of-times": "Seznam časů"
+ },
+ "sort": "Seřadit",
+ "time": "Čas",
+ "toast": {
+ "success-copy": "Úspěšně zkopírováno",
+ "success-copy-description": "Byl zkopírován do vaší schránky.",
+ "unable-action": "Nemožná akce",
+ "warning-select-cube": "Vyberte prosím kostku předem."
+ },
+ "tooltips": {
+ "move-to-history": "Move řeší historii"
+ }
},
"StatsPage": {
"title": "Statistiky",
- "total": "Celkem",
- "category": "Kategorie",
"global": "Globální",
"sessions": "Relace",
"best-time": "Nejlepší čas",
"average": "Průměr",
"time-spent": "Strávený čas",
"success-rate": "Úspěšnost",
- "counter": "Počítadlo"
+ "counter": "Počítadlo",
+ "advanced": "Moderní",
+ "overall": "Celkově"
},
"CubesPage": {
"title": "Kostky",
- "cube": "Kostka",
"no-cubes-for-display": "Nejsou k dispozici žádné kostky.",
"favorite": "Oblíbené",
"category": "Kategorie",
@@ -61,30 +81,35 @@
"status": "Stav",
"using": "Používá se",
"idle": "Nečinný",
- "filter-cubes": "Filtrovat kostky"
+ "find-your-cube": "Najděte svou kostku",
+ "name": "Jméno",
+ "new-collection": "Nová kolekce",
+ "options": "Možnosti"
},
"Cubes-modal": {
- "title-editing": "Upravit kostku",
- "title-creating": "Nová kostka",
- "error-name": "Chybí název kostky",
- "error-duplicate": "Název kostky je již použit",
- "current-select": "Aktuální výběr:",
- "question-delete": "Opravdu chcete smazat?",
- "warning-delete": "Tato nevratná akce odstraní veškerou historii řešení pro tuto kostku a může ovlivnit vaše statistiky.",
- "placeholder": "Značka | Model | Verze | Magnetická?"
+ "category": "Kategorie",
+ "current-selection": "Aktuální výběr:",
+ "danger-msg": "Úprava kategorie kolekce také změní řešení spojená s touto kategorií.",
+ "delete-collection": "Smazat sbírku",
+ "delete-collection-description": "Tato sbírka krychlí bude odstraněna spolu se všemi jejími řešeními, záznamy a nastaveními.",
+ "edit-collection": "Upravit sbírku",
+ "input-collection-name": "Zadejte název sbírky",
+ "name": "Jméno",
+ "new-collection": "Nová kolekce",
+ "new-collection-description": "Sbírky kostek vám umožňují sledovat historii každé kostky, aniž by to ovlivnilo celkové statistiky kategorií.",
+ "select-an-option": "Vyberte možnost",
+ "to-continue": "pokračovat:",
+ "warning-alert": "Varování:",
+ "warning-msg": "Tato akce není vratná."
},
"Inputs": {
"select": "Vybrat",
- "add-cube": "Přidat kostku",
"favorites": "Oblíbené",
- "list": "Seznam",
- "trash-all": "Smazat vše",
- "move-all": "Přesunout vše",
"create": "Vytvořit",
- "confirm": "Potvrdit",
"cancel": "Zrušit",
- "save": "Uložit",
- "delete": "Smazat"
+ "continue": "Pokračovat",
+ "move": "Pohyb",
+ "none": "Žádný"
},
"Settings-menu": {
"title": "Nastavení",
@@ -116,7 +141,9 @@
"about": "O aplikaci",
"legend": "NexusTimer je nezkreslený, minimalistický a open source webový nástroj pro SpeedCubing.",
"suggest": "Navrhnout změnu",
- "report-bug": "Nahlásit chybu"
+ "report-bug": "Nahlásit chybu",
+ "auto-select": "Automatický výběr při spuštění",
+ "preferences": "Předvolby"
},
"backup-modal": {
"title": "Inteligentní Obnova Zálohy",
@@ -126,6 +153,17 @@
"loading-part-1": "Tato akce trvá méně než minutu.",
"loading-part-2": "Prosím čekejte, nezavírejte toto okno.",
"welcome": "Vítejte:"
+ },
+ "Errors": {
+ "empty-input": "Zadejte hodnotu",
+ "not-match": "Název se neshoduje.",
+ "repeated-name": "Tato sbírka jmen již existuje."
+ },
+ "tooltips": {
+ "bookmark": "Záložka",
+ "copy": "Kopie",
+ "delete": "Vymazat",
+ "plus-two": "2 Pokuta"
}
},
"Metadata": {
diff --git a/messages/de.json b/messages/de.json
index eaaee269..35f17842 100644
--- a/messages/de.json
+++ b/messages/de.json
@@ -1,7 +1,6 @@
{
"Index": {
"HomePage": {
- "title": "Timer",
"hint": "Hinweis",
"optimal-yellow-layer": "Optimale gelbe Schicht",
"solving": "Löst...",
@@ -23,36 +22,57 @@
},
"SolvesPage": {
"title": "Lösungen",
- "search-by-time": "⏱︎ Suche nach Zeit",
- "finalize-session": "Sitzung abschließen",
- "eliminate-session": "Sitzung löschen",
- "archive-sessions-legend": "Diese Aktion archiviert alle laufenden Sitzungen derselben Kategorie.",
- "delete-session-legend": "Diese Aktion löscht nur Ihre aktuellen Lösungen mit dem ausgewählten Würfel.",
- "archive": "Archivieren",
- "unarchive": "Archivierung aufheben",
- "copy": "Kopieren",
- "remove": "Entfernen",
- "enter-a-comment": "Kommentar eingeben",
"session": "Sitzung",
"all": "Alle",
- "no-cube-selection": "Kein Würfel ausgewählt, wählen Sie einen...",
- "no-solves": "Es gibt keine Lösungen anzuzeigen!"
+ "alert": {
+ "empty-cubes": "Kein Würfel ausgewählt. \nBitte wählen Sie eines aus.",
+ "title": "Aufmerksamkeit!"
+ },
+ "ascending": "Aufsteigend",
+ "date": "Datum",
+ "descending": "Absteigend",
+ "dialogs": {
+ "move-to-history": "Verschieben löst sich in den Verlauf auf?",
+ "move-to-history-para": "Sie können darauf zugreifen, indem Sie auf den Verlaufsschalter tippen."
+ },
+ "empty-solves": "Hier ist noch nichts!",
+ "empty-solves-description": "Tippen Sie auf den Schalter oben auf dem Bildschirm, um Ihren Verlauf anzuzeigen.",
+ "filter-by-time": "Nach Zeit filtern",
+ "historial": "Historisch",
+ "last": "Zuletzt",
+ "order": "Befehl",
+ "share": "Aktie",
+ "share-clipboard": {
+ "average": "Durchschnitt",
+ "header": "Erstellt von NexusTimer",
+ "list-of-times": "Liste der Zeiten"
+ },
+ "sort": "Sortieren",
+ "time": "Zeit",
+ "toast": {
+ "success-copy": "Erfolgreich kopiert",
+ "success-copy-description": "Wurde in Ihre Zwischenablage kopiert.",
+ "unable-action": "Aktion nicht möglich",
+ "warning-select-cube": "Bitte wählen Sie vorher einen Würfel aus."
+ },
+ "tooltips": {
+ "move-to-history": "Verschieben löst den Verlauf"
+ }
},
"StatsPage": {
"title": "Statistiken",
- "total": "Gesamt",
- "category": "Kategorie",
"global": "Global",
"sessions": "Sitzungen",
"best-time": "Beste Zeit",
"average": "Durchschnitt",
"time-spent": "Aufgewendete Zeit",
"success-rate": "Erfolgsrate",
- "counter": "Zähler"
+ "counter": "Zähler",
+ "advanced": "Fortschrittlich",
+ "overall": "Gesamt"
},
"CubesPage": {
"title": "Würfel",
- "cube": "Würfel",
"no-cubes-for-display": "Keine Würfel zur Anzeige.",
"favorite": "Favorit",
"category": "Kategorie",
@@ -61,30 +81,35 @@
"status": "Status",
"using": "Verwendet",
"idle": "Leerlauf",
- "filter-cubes": "Filtern Sie Ihre Würfel"
+ "find-your-cube": "Finden Sie Ihren Würfel",
+ "name": "Name",
+ "new-collection": "Neue Kollektion",
+ "options": "Optionen"
},
"Cubes-modal": {
- "title-editing": "Würfel bearbeiten",
- "title-creating": "Neuer Würfel",
- "error-name": "Würfelname fehlt",
- "error-duplicate": "Würfelname bereits in Verwendung",
- "current-select": "Aktuelle Auswahl:",
- "question-delete": "Sind Sie sicher, dass Sie löschen möchten?",
- "warning-delete": "Diese unumkehrbare Aktion löscht den gesamten Lösungshistorie für diesen Würfel und kann Ihre Statistiken beeinflussen.",
- "placeholder": "Marke | Modell | Version | Magnetisch?"
+ "category": "Kategorie",
+ "current-selection": "Aktuelle Auswahl:",
+ "danger-msg": "Wenn Sie die Sammlungskategorie ändern, ändern sich auch die dieser Kategorie zugeordneten Lösungen.",
+ "delete-collection": "Sammlung löschen",
+ "delete-collection-description": "Diese Cube-Sammlung wird zusammen mit allen zugehörigen Lösungen, Datensätzen und Einstellungen gelöscht.",
+ "edit-collection": "Sammlung bearbeiten",
+ "input-collection-name": "Geben Sie den Sammlungsnamen ein",
+ "name": "Name",
+ "new-collection": "Neue Kollektion",
+ "new-collection-description": "Mit Cube-Sammlungen können Sie den Verlauf jedes Cubes verfolgen, ohne dass sich dies auf die allgemeinen Kategoriestatistiken auswirkt.",
+ "select-an-option": "Wählen Sie eine Option",
+ "to-continue": "um fortzufahren:",
+ "warning-alert": "Warnung:",
+ "warning-msg": "Diese Aktion ist nicht rückgängig zu machen."
},
"Inputs": {
"select": "Auswählen",
- "add-cube": "Würfel hinzufügen",
"favorites": "Favoriten",
- "list": "Liste",
- "trash-all": "Alles löschen",
- "move-all": "Alles verschieben",
"create": "Erstellen",
- "confirm": "Bestätigen",
"cancel": "Abbrechen",
- "save": "Speichern",
- "delete": "Löschen"
+ "continue": "Weitermachen",
+ "move": "Bewegen",
+ "none": "Keiner"
},
"Settings-menu": {
"title": "Einstellungen",
@@ -116,7 +141,9 @@
"about": "Über",
"legend": "NexusTimer ist ein unverfälschtes, minimalistisches und Open-Source-Webtool für SpeedCubing.",
"suggest": "Änderung vorschlagen",
- "report-bug": "Fehler melden"
+ "report-bug": "Fehler melden",
+ "auto-select": "Automatische Auswahl beim Start",
+ "preferences": "Präferenzen"
},
"backup-modal": {
"title": "Intelligente Backup-Wiederherstellung",
@@ -126,6 +153,17 @@
"loading-part-1": "Diese Aktion dauert weniger als eine Minute.",
"loading-part-2": "Bitte warten Sie, schließen Sie dieses Fenster nicht.",
"welcome": "Willkommen:"
+ },
+ "Errors": {
+ "empty-input": "Bitte geben Sie einen Wert ein",
+ "not-match": "Der Name stimmt nicht überein.",
+ "repeated-name": "Diese Namenssammlung existiert bereits."
+ },
+ "tooltips": {
+ "bookmark": "Lesezeichen",
+ "copy": "Kopie",
+ "delete": "Löschen",
+ "plus-two": "2 Strafe"
}
},
"Metadata": {
diff --git a/messages/en.json b/messages/en.json
index 541d3a14..1157ca8d 100644
--- a/messages/en.json
+++ b/messages/en.json
@@ -1,7 +1,6 @@
{
"Index": {
"HomePage": {
- "title": "Timer",
"hint": "Hint",
"optimal-yellow-layer": "Optimal Yellow Layer",
"solving": "Solving...",
@@ -23,35 +22,47 @@
},
"SolvesPage": {
"title": "Solves",
- "search-by-time": "⏱︎ Search by time",
- "finalize-session": "Finalize session",
- "eliminate-session": "Eliminate session",
- "archive-sessions-legend": "This action will archive all ongoing sessions from the same category.",
- "delete-session-legend": "This action will delete only your current solves with the selected cube.",
- "archive": "Archive",
- "unarchive": "Unarchive",
- "copy": "Copy",
- "remove": "Remove",
- "enter-a-comment": "Enter a comment",
"session": "Session",
- "all": "All",
- "no-cube-selection": "No cube selected, choose one...",
- "no-solves": "There's no solves to show!",
+ "historial": "Historial",
+ "filter-by-time": "Filter by time",
+ "tooltips": {
+ "move-to-history": "Move solves to history"
+ },
+ "dialogs": {
+ "move-to-history": "Move solves to history?",
+ "move-to-history-para": "You will be able to access them by tapping the history switch."
+ },
+ "toast": {
+ "unable-action": "Unable action",
+ "warning-select-cube": "Please select a cube before.",
+ "success-copy": "Copied successfully",
+ "success-copy-description": "Has been copied to your clipboard."
+ },
+ "alert": {
+ "title": "Attention!",
+ "empty-cubes": "No cube selected. Please choose one."
+ },
+ "empty-solves": "Nothing here yet!",
+ "empty-solves-description": "Tap the switch at the top of the screen to see your history.",
+ "sort": "Sort",
"time": "Time",
"date": "Date",
+ "order": "Order",
"ascending": "Ascending",
"descending": "Descending",
- "sort-by": "Sort by...",
- "share": "Share...",
- "share-stats-title": "Generated by NexusTimer",
- "average": "Average",
- "list-of-times": "List of times",
- "last": "Last"
+ "share": "Share",
+ "last": "Last",
+ "all": "All",
+ "share-clipboard": {
+ "header": "Generated by NexusTimer",
+ "average": "Average",
+ "list-of-times": "List of times"
+ }
},
"StatsPage": {
"title": "Stats",
- "total": "Total",
- "category": "Category",
+ "overall": "Overall",
+ "advanced": "Advanced",
"global": "Global",
"sessions": "Sessions",
"best-time": "Best Time",
@@ -62,7 +73,6 @@
},
"CubesPage": {
"title": "Cubes",
- "cube": "Cube",
"no-cubes-for-display": "No cubes for display.",
"favorite": "Favorite",
"category": "Category",
@@ -71,32 +81,47 @@
"status": "Status",
"using": "Using",
"idle": "Idle",
- "filter-cubes": "Filter your cubes"
+ "find-your-cube": "Find your cube",
+ "new-collection": "New collection",
+ "name": "Name",
+ "options": "Options"
},
"Cubes-modal": {
- "title-editing": "Edit Cube",
- "title-creating": "New Cube",
- "error-name": "Cube name is missing",
- "error-duplicate": "Cube name already in use",
- "current-select": "Current selection:",
- "question-delete": "Are you sure you want to delete?",
- "warning-delete": "This irreversible action will delete all solve history for this cube and may impact your statistics.",
- "placeholder": "Brand | Model | Version | Magnetic?"
+ "delete-collection": "Delete collection",
+ "delete-collection-description": "This cube collection will be deleted, along with all of its solves, records, and settings.",
+ "warning-alert": "Warning:",
+ "warning-msg": "This action is not reversible.",
+ "input-collection-name": "Enter the collection name",
+ "to-continue": "to continue:",
+ "edit-collection": "Edit collection",
+ "danger-msg": "Modifying the collection category also changes the solves associated with that category.",
+ "name": "Name",
+ "category": "Category",
+ "select-an-option": "Select an option",
+ "new-collection": "New collection",
+ "new-collection-description": "Cube collections allow you to keep track of each cube's history without affecting overall category stats.",
+ "current-selection": "Current selection:"
+ },
+ "Errors": {
+ "not-match": "The name does not match.",
+ "repeated-name": "That name collection already exist.",
+ "empty-input": "Please enter a value"
},
"Inputs": {
+ "continue": "Continue",
"select": "Select",
- "add-cube": "Add cube",
"favorites": "Favorites",
- "list": "List",
- "trash-all": "Trash All",
- "move-all": "Move All",
+ "move": "Move",
"create": "Create",
- "confirm": "Confirm",
"cancel": "Cancel",
- "save": "Save",
- "delete": "Delete",
"none": "None"
},
+ "tooltips": {
+ "plus-two": "+2 Penalty",
+ "delete": "Delete",
+ "bookmark": "Bookmark",
+ "copy": "Copy"
+ },
"Settings-menu": {
"title": "Settings",
"locale": "Region",
@@ -123,7 +148,7 @@
"max-file-size": "Maximum file size allowed is",
"data": "App Data",
"preferences": "Preferences",
- "default-cube": "Default cube",
+ "auto-select": "Auto-select at startup",
"import-from-file": "Import from file",
"export-to-file": "Export to file",
"about": "About",
diff --git a/messages/es.json b/messages/es.json
index 2ad7df71..d56fe1c0 100644
--- a/messages/es.json
+++ b/messages/es.json
@@ -1,7 +1,6 @@
{
"Index": {
"HomePage": {
- "title": "Temporizador",
"hint": "Consejo",
"optimal-yellow-layer": "Capa Amarilla Óptima",
"solving": "Resolviendo...",
@@ -23,46 +22,57 @@
},
"SolvesPage": {
"title": "Soluciones",
- "search-by-time": "⏱︎ Buscar por tiempo",
- "finalize-session": "Finalizar sesión",
- "eliminate-session": "Eliminar sesión",
- "archive-sessions-legend": "Esta acción archivará todas las sesiones en curso de la misma categoría.",
- "delete-session-legend": "Esta acción eliminará solo tus soluciones actuales con el cubo seleccionado.",
- "archive": "Archivar",
- "unarchive": "Desarchivar",
- "copy": "Copiar",
- "remove": "Eliminar",
- "enter-a-comment": "Introduce un comentario",
"session": "Sesión",
"all": "Todos",
- "no-cube-selection": "No se ha seleccionado ningún cubo, elige uno...",
- "no-solves": "¡No hay soluciones para mostrar!",
"ascending": "Ascendente",
"date": "Fecha",
"descending": "Descendente",
- "sort-by": "Ordenar por...",
"time": "Tiempo",
- "share-stats-title": "Generado por NexusTimer",
- "average": "Promedio",
"share": "Compartir...",
- "list-of-times": "Lista de tiempos",
- "last": "Último"
+ "last": "Último",
+ "alert": {
+ "empty-cubes": "No se seleccionó ningún cubo. \nPor favor elige uno.",
+ "title": "¡Atención!"
+ },
+ "dialogs": {
+ "move-to-history": "¿Mover las soluciones al historial?",
+ "move-to-history-para": "Podrás acceder a ellos tocando el interruptor del historial."
+ },
+ "empty-solves": "¡Nada aquí todavía!",
+ "empty-solves-description": "Toque el interruptor en la parte superior de la pantalla para ver su historial.",
+ "filter-by-time": "Filtrar por tiempo",
+ "historial": "histórico",
+ "order": "Orden",
+ "share-clipboard": {
+ "average": "Promedio",
+ "header": "Generado por NexusTimer",
+ "list-of-times": "Lista de tiempos"
+ },
+ "sort": "Clasificar",
+ "toast": {
+ "success-copy": "Copiado exitosamente",
+ "success-copy-description": "Se ha copiado a su portapapeles.",
+ "unable-action": "Acción imposible",
+ "warning-select-cube": "Por favor seleccione un cubo antes."
+ },
+ "tooltips": {
+ "move-to-history": "Mover soluciones al historial"
+ }
},
"StatsPage": {
"title": "Estadísticas",
- "total": "Total",
- "category": "Categoría",
"global": "Global",
"sessions": "Sesiones",
"best-time": "Mejor Tiempo",
"average": "Promedio",
"time-spent": "Tiempo Gastado",
"success-rate": "Tasa de Éxito",
- "counter": "Contador"
+ "counter": "Contador",
+ "advanced": "Avanzado",
+ "overall": "En general"
},
"CubesPage": {
"title": "Cubos",
- "cube": "Cubo",
"no-cubes-for-display": "No hay cubos para mostrar.",
"favorite": "Favorito",
"category": "Categoría",
@@ -71,30 +81,35 @@
"status": "Estado",
"using": "Usando",
"idle": "Inactivo",
- "filter-cubes": "Filtrar tus cubos"
+ "find-your-cube": "Encuentra tu cubo",
+ "name": "Nombre",
+ "new-collection": "Nueva colección",
+ "options": "Opciones"
},
"Cubes-modal": {
- "title-editing": "Editar Cubo",
- "title-creating": "Nuevo Cubo",
- "error-name": "Falta el nombre del cubo",
- "error-duplicate": "El nombre del cubo ya está en uso",
- "current-select": "Selección actual:",
- "question-delete": "¿Estás seguro de que deseas eliminar?",
- "warning-delete": "Esta acción irreversible eliminará todo el historial de soluciones para este cubo y puede afectar tus estadísticas.",
- "placeholder": "Marca | Modelo | Versión | ¿Magnético?"
+ "category": "Categoría",
+ "current-selection": "Selección actual:",
+ "danger-msg": "Modificar la categoría de la colección también cambia las soluciones asociadas con esa categoría.",
+ "delete-collection": "Eliminar colección",
+ "delete-collection-description": "Esta colección de cubos se eliminará, junto con todas sus soluciones, registros y configuraciones.",
+ "edit-collection": "Editar colección",
+ "input-collection-name": "Introduzca el nombre de la colección",
+ "name": "Nombre",
+ "new-collection": "Nueva colección",
+ "new-collection-description": "Las colecciones de cubos le permiten realizar un seguimiento del historial de cada cubo sin afectar las estadísticas generales de la categoría.",
+ "select-an-option": "Seleccione una opción",
+ "to-continue": "para continuar:",
+ "warning-alert": "Advertencia:",
+ "warning-msg": "Esta acción no es reversible."
},
"Inputs": {
"select": "Seleccionar",
- "add-cube": "Agregar cubo",
"favorites": "Favoritos",
- "list": "Lista",
- "trash-all": "Eliminar Todo",
- "move-all": "Mover Todo",
"create": "Crear",
- "confirm": "Confirmar",
"cancel": "Cancelar",
- "save": "Guardar",
- "delete": "Eliminar"
+ "continue": "Continuar",
+ "move": "Mover",
+ "none": "Ninguno"
},
"Settings-menu": {
"title": "Configuración",
@@ -126,7 +141,9 @@
"about": "Acerca de",
"legend": "NexusTimer es una herramienta web minimalista, de código abierto y sin opiniones para SpeedCubing.",
"suggest": "Sugerir un cambio",
- "report-bug": "Reportar un error"
+ "report-bug": "Reportar un error",
+ "auto-select": "Selección automática al inicio",
+ "preferences": "Preferencias"
},
"backup-modal": {
"title": "Restauración Inteligente de Respaldo",
@@ -136,6 +153,17 @@
"loading-part-1": "Esta acción toma menos de un minuto.",
"loading-part-2": "Por favor espera, no cierres esta ventana.",
"welcome": "Bienvenido:"
+ },
+ "Errors": {
+ "empty-input": "Por favor introduce un valor",
+ "not-match": "El nombre no coincide.",
+ "repeated-name": "Esa colección de nombres ya existe."
+ },
+ "tooltips": {
+ "bookmark": "Marcador",
+ "copy": "Copiar",
+ "delete": "Borrar",
+ "plus-two": "2 Penalización"
}
},
"Metadata": {
diff --git a/messages/et.json b/messages/et.json
index 7c568c2a..973777f6 100644
--- a/messages/et.json
+++ b/messages/et.json
@@ -1,7 +1,6 @@
{
"Index": {
"HomePage": {
- "title": "Ajastin",
"hint": "Vihje",
"optimal-yellow-layer": "Optimaalne kollane kiht",
"solving": "Lahendamine...",
@@ -23,41 +22,57 @@
},
"SolvesPage": {
"title": "Lahendused",
- "search-by-time": "⏱︎ Otsi aja järgi",
- "finalize-session": "Lõpeta sessioon",
- "eliminate-session": "Kustuta sessioon",
- "archive-sessions-legend": "See toiming arhiveerib kõik samast kategooriast pärinevad hetkel toimuvad sessioonid.",
- "delete-session-legend": "See toiming kustutab ainult teie praegused lahendused valitud kuubiga.",
- "archive": "Arhiveeri",
- "unarchive": "Arhiivita",
- "copy": "Kopeeri",
- "remove": "Eemalda",
- "enter-a-comment": "Sisesta kommentaar",
"session": "Sessioon",
"all": "Kõik",
- "no-cube-selection": "Kuupi pole valitud, valige üks...",
- "no-solves": "Lahendusi pole näidata!",
"ascending": "Kasvav",
"date": "Kuupäev",
"descending": "Langevad",
- "sort-by": "Sorteerima...",
- "time": "Aeg"
+ "time": "Aeg",
+ "alert": {
+ "empty-cubes": "Kuubikut pole valitud. \nPalun valige üks.",
+ "title": "Tähelepanu!"
+ },
+ "dialogs": {
+ "move-to-history": "Kas viia lahendused ajalukku?",
+ "move-to-history-para": "Pääsete neile juurde, kui puudutate ajaloo lülitit."
+ },
+ "empty-solves": "Siin pole veel midagi!",
+ "empty-solves-description": "Puudutage oma ajaloo vaatamiseks ekraani ülaosas olevat lülitit.",
+ "filter-by-time": "Filtreerige aja järgi",
+ "historial": "Ajalooline",
+ "last": "Viimane",
+ "order": "Telli",
+ "share": "Jaga",
+ "share-clipboard": {
+ "average": "Keskmine",
+ "header": "NexusTimeri poolt loodud",
+ "list-of-times": "Aegade loend"
+ },
+ "sort": "Sorteeri",
+ "toast": {
+ "success-copy": "Kopeerimine õnnestus",
+ "success-copy-description": "Kopeeriti teie lõikelauale.",
+ "unable-action": "Ei saa toimida",
+ "warning-select-cube": "Palun valige enne kuubik."
+ },
+ "tooltips": {
+ "move-to-history": "Lahenduste teisaldamine ajalukku"
+ }
},
"StatsPage": {
"title": "Statistika",
- "total": "Kokku",
- "category": "Kategooria",
"global": "Ülemaailmne",
"sessions": "Sessioonid",
"best-time": "Parim aeg",
"average": "Keskmine",
"time-spent": "Kulutatud aeg",
"success-rate": "Edu määr",
- "counter": "Lugeja"
+ "counter": "Lugeja",
+ "advanced": "Täpsemalt",
+ "overall": "Üldiselt"
},
"CubesPage": {
"title": "Kuubikud",
- "cube": "Kuup",
"no-cubes-for-display": "Kuubikuid pole kuvamiseks.",
"favorite": "Lemmik",
"category": "Kategooria",
@@ -66,30 +81,35 @@
"status": "Staatus",
"using": "Kasutamine",
"idle": "Tööta",
- "filter-cubes": "Filtreeri oma kuubikuid"
+ "find-your-cube": "Leia oma kuubik",
+ "name": "Nimi",
+ "new-collection": "Uus kollektsioon",
+ "options": "Valikud"
},
"Cubes-modal": {
- "title-editing": "Kuubi muutmine",
- "title-creating": "Uus kuup",
- "error-name": "Kuubi nimi puudub",
- "error-duplicate": "Kuubi nimi on juba kasutusel",
- "current-select": "Praegune valik:",
- "question-delete": "Olete kindel, et soovite kustutada?",
- "warning-delete": "See pöördumatu toiming kustutab kõik selle kuubi jaoks mineviku lahendused ja võib mõjutada teie statistikat.",
- "placeholder": "Bränd | Mudel | Versioon | Magnetiline?"
+ "category": "Kategooria",
+ "current-selection": "Praegune valik:",
+ "danger-msg": "Kogu kategooria muutmine muudab ka selle kategooriaga seotud lahendusi.",
+ "delete-collection": "Kustuta kogu",
+ "delete-collection-description": "See kuubikukogu koos kõigi selle lahenduste, kirjete ja sätetega kustutatakse.",
+ "edit-collection": "Redigeeri kogu",
+ "input-collection-name": "Sisestage kogu nimi",
+ "name": "Nimi",
+ "new-collection": "Uus kollektsioon",
+ "new-collection-description": "Kuubikukogud võimaldavad teil jälgida iga kuubi ajalugu, ilma et see mõjutaks üldist kategooria statistikat.",
+ "select-an-option": "Valige suvand",
+ "to-continue": "jätkamiseks:",
+ "warning-alert": "Hoiatus:",
+ "warning-msg": "See toiming ei ole pöörduv."
},
"Inputs": {
"select": "Vali",
- "add-cube": "Lisa kuup",
"favorites": "Lemmikud",
- "list": "Nimekiri",
- "trash-all": "Prügikast kõik",
- "move-all": "Liiguta kõik",
"create": "Loo",
- "confirm": "Kinnita",
"cancel": "Tühista",
- "save": "Salvesta",
- "delete": "Kustuta"
+ "continue": "Jätka",
+ "move": "Liiguta",
+ "none": "Mitte ühtegi"
},
"Settings-menu": {
"title": "Sätted",
@@ -121,7 +141,9 @@
"about": "Info",
"legend": "NexusTimer on erapooletu, minimalistlik ja avatud lähtekoodiga veebiteenus SpeedCubingu jaoks.",
"suggest": "Soovitage muudatust",
- "report-bug": "Teata veast"
+ "report-bug": "Teata veast",
+ "auto-select": "Automaatne valimine käivitamisel",
+ "preferences": "Eelistused"
},
"backup-modal": {
"title": "Intelligentne varundamise taastamine",
@@ -131,6 +153,17 @@
"loading-part-1": "See toiming võtab vähem kui minut.",
"loading-part-2": "Palun oodake, ärge sulgege seda akent.",
"welcome": "Tere tulemast:"
+ },
+ "Errors": {
+ "empty-input": "Sisestage väärtus",
+ "not-match": "Nimi ei sobi.",
+ "repeated-name": "See nimekogu on juba olemas."
+ },
+ "tooltips": {
+ "bookmark": "Järjehoidja",
+ "copy": "Kopeeri",
+ "delete": "Kustuta",
+ "plus-two": "2 Karistus"
}
},
"Metadata": {
diff --git a/messages/fi.json b/messages/fi.json
index e45ee120..bf5d8437 100644
--- a/messages/fi.json
+++ b/messages/fi.json
@@ -1,7 +1,6 @@
{
"Index": {
"HomePage": {
- "title": "Ajastin",
"hint": "Vihje",
"optimal-yellow-layer": "Optimaalinen keltainen kerros",
"solving": "Ratkaiseminen...",
@@ -23,41 +22,57 @@
},
"SolvesPage": {
"title": "Ratkaisut",
- "search-by-time": "⏱︎ Etsi ajan perusteella",
- "finalize-session": "Päätä istunto",
- "eliminate-session": "Poista istunto",
- "archive-sessions-legend": "Tämä toiminto arkistoi kaikki saman luokan parhaillaan käynnissä olevat istunnot.",
- "delete-session-legend": "Tämä toiminto poistaa vain nykyiset ratkaisusi valitulla kuutiolla.",
- "archive": "Arkistoi",
- "unarchive": "Poista arkisto",
- "copy": "Kopioi",
- "remove": "Poista",
- "enter-a-comment": "Kirjoita kommentti",
"session": "Istunto",
"all": "Kaikki",
- "no-cube-selection": "Ei valittua kuutiota, valitse yksi...",
- "no-solves": "Ei ratkaisuja näytettäväksi!",
"ascending": "Nouseva",
"date": "Päivämäärä",
"descending": "Laskeva",
- "sort-by": "Järjestä...",
- "time": "Aika"
+ "time": "Aika",
+ "alert": {
+ "empty-cubes": "Kuutiota ei ole valittu. \nValitse yksi.",
+ "title": "Huomio!"
+ },
+ "dialogs": {
+ "move-to-history": "Siirretäänkö ratkaisut historiaan?",
+ "move-to-history-para": "Voit käyttää niitä napauttamalla historiakytkintä."
+ },
+ "empty-solves": "Ei täällä vielä mitään!",
+ "empty-solves-description": "Näet historiasi napauttamalla näytön yläreunassa olevaa kytkintä.",
+ "filter-by-time": "Suodata ajan mukaan",
+ "historial": "Historiallinen",
+ "last": "Kestää",
+ "order": "Tilata",
+ "share": "Jakaa",
+ "share-clipboard": {
+ "average": "Keskimäärin",
+ "header": "Luonut NexusTimer",
+ "list-of-times": "Lista aikoja"
+ },
+ "sort": "Järjestellä",
+ "toast": {
+ "success-copy": "Kopiointi onnistui",
+ "success-copy-description": "On kopioitu leikepöydällesi.",
+ "unable-action": "Toiminto ei onnistu",
+ "warning-select-cube": "Valitse kuutio ennen."
+ },
+ "tooltips": {
+ "move-to-history": "Siirrä ratkaisut historiaan"
+ }
},
"StatsPage": {
"title": "Tilastot",
- "total": "Yhteensä",
- "category": "Kategoria",
"global": "Maailmanlaajuinen",
"sessions": "Istunnot",
"best-time": "Paras aika",
"average": "Keskiarvo",
"time-spent": "Kulunut aika",
"success-rate": "Onnistumisprosentti",
- "counter": "Laskuri"
+ "counter": "Laskuri",
+ "advanced": "Edistynyt",
+ "overall": "Kaiken kaikkiaan"
},
"CubesPage": {
"title": "Kuutiot",
- "cube": "Kuutio",
"no-cubes-for-display": "Ei kuutioita näytettäväksi.",
"favorite": "Suosikki",
"category": "Kategoria",
@@ -66,30 +81,35 @@
"status": "Tila",
"using": "Käytössä",
"idle": "Käyttämätön",
- "filter-cubes": "Suodata kuutiosi"
+ "find-your-cube": "Etsi oma kuutiosi",
+ "name": "Nimi",
+ "new-collection": "Uusi kokoelma",
+ "options": "Vaihtoehdot"
},
"Cubes-modal": {
- "title-editing": "Muokkaa Kuutiota",
- "title-creating": "Uusi Kuutio",
- "error-name": "Kuution nimi puuttuu",
- "error-duplicate": "Kuution nimi on jo käytössä",
- "current-select": "Nykyinen valinta:",
- "question-delete": "Haluatko varmasti poistaa?",
- "warning-delete": "Tämä peruuttamaton toiminto poistaa kaiken ratkaisuhistorian tälle kuutiolle ja saattaa vaikuttaa tilastoihisi.",
- "placeholder": "Brändi | Malli | Versio | Magneettinen?"
+ "category": "Luokka",
+ "current-selection": "Nykyinen valinta:",
+ "danger-msg": "Kokoelman luokan muokkaaminen muuttaa myös kyseiseen luokkaan liittyviä ratkaisuja.",
+ "delete-collection": "Poista kokoelma",
+ "delete-collection-description": "Tämä kuutiokokoelma sekä kaikki sen ratkaisut, tietueet ja asetukset poistetaan.",
+ "edit-collection": "Muokkaa kokoelmaa",
+ "input-collection-name": "Kirjoita kokoelman nimi",
+ "name": "Nimi",
+ "new-collection": "Uusi kokoelma",
+ "new-collection-description": "Kuutiokokoelmien avulla voit seurata kunkin kuution historiaa vaikuttamatta yleisiin luokkatilastoihin.",
+ "select-an-option": "Valitse vaihtoehto",
+ "to-continue": "jatkamaan:",
+ "warning-alert": "Varoitus:",
+ "warning-msg": "Tätä toimintoa ei voi peruuttaa."
},
"Inputs": {
"select": "Valitse",
- "add-cube": "Lisää kuutio",
"favorites": "Suosikit",
- "list": "Lista",
- "trash-all": "Roskakori kaikki",
- "move-all": "Siirrä kaikki",
"create": "Luo",
- "confirm": "Vahvista",
"cancel": "Peruuta",
- "save": "Tallenna",
- "delete": "Poista"
+ "continue": "Jatkaa",
+ "move": "Liikkua",
+ "none": "Ei mitään"
},
"Settings-menu": {
"title": "Asetukset",
@@ -121,7 +141,9 @@
"about": "Tietoa",
"legend": "NexusTimer on puolueeton, minimalistinen ja avoimen lähdekoodin verkkotyökalu SpeedCubingille.",
"suggest": "Ehdota muutosta",
- "report-bug": "Ilmoita virheestä"
+ "report-bug": "Ilmoita virheestä",
+ "auto-select": "Automaattinen valinta käynnistyksen yhteydessä",
+ "preferences": "Asetukset"
},
"backup-modal": {
"title": "Älykäs varmuuskopiointi ja palautus",
@@ -131,6 +153,17 @@
"loading-part-1": "Tämä toiminto kestää alle minuutin.",
"loading-part-2": "Odota hetki, älä sulje tätä ikkunaa.",
"welcome": "Tervetuloa:"
+ },
+ "Errors": {
+ "empty-input": "Anna arvo",
+ "not-match": "Nimi ei täsmää.",
+ "repeated-name": "Tämä nimikokoelma on jo olemassa."
+ },
+ "tooltips": {
+ "bookmark": "Kirjanmerkki",
+ "copy": "Kopioida",
+ "delete": "Poistaa",
+ "plus-two": "2 Rangaistus"
}
},
"Metadata": {
diff --git a/messages/fr.json b/messages/fr.json
index 3f17fe8c..a8d479b4 100644
--- a/messages/fr.json
+++ b/messages/fr.json
@@ -1,7 +1,6 @@
{
"Index": {
"HomePage": {
- "title": "Chronomètre",
"hint": "Indice",
"optimal-yellow-layer": "Couche jaune optimale",
"solving": "Résolution...",
@@ -23,41 +22,57 @@
},
"SolvesPage": {
"title": "Résolutions",
- "search-by-time": "⏱︎ Recherche par temps",
- "finalize-session": "Finaliser la session",
- "eliminate-session": "Éliminer la session",
- "archive-sessions-legend": "Cette action archivera toutes les sessions en cours de la même catégorie.",
- "delete-session-legend": "Cette action supprimera uniquement vos résolutions actuelles avec le cube sélectionné.",
- "archive": "Archiver",
- "unarchive": "Désarchiver",
- "copy": "Copier",
- "remove": "Supprimer",
- "enter-a-comment": "Saisissez un commentaire",
"session": "Session",
"all": "Tout",
- "no-cube-selection": "Aucun cube sélectionné, choisissez-en un...",
- "no-solves": "Il n'y a pas de résolutions à afficher !",
"ascending": "Ascendant",
"date": "Date",
"descending": "Descendant",
- "sort-by": "Trier par...",
- "time": "Temps"
+ "time": "Temps",
+ "alert": {
+ "empty-cubes": "Aucun cube sélectionné. \nVeuillez en choisir un.",
+ "title": "Attention!"
+ },
+ "dialogs": {
+ "move-to-history": "Déplacer les résolutions vers l'historique ?",
+ "move-to-history-para": "Vous pourrez y accéder en appuyant sur le bouton Historique."
+ },
+ "empty-solves": "Rien ici pour l'instant !",
+ "empty-solves-description": "Appuyez sur le commutateur en haut de l'écran pour voir votre historique.",
+ "filter-by-time": "Filtrer par heure",
+ "historial": "Historique",
+ "last": "Dernier",
+ "order": "Commande",
+ "share": "Partager",
+ "share-clipboard": {
+ "average": "Moyenne",
+ "header": "Généré par NexusTimer",
+ "list-of-times": "Liste des heures"
+ },
+ "sort": "Trier",
+ "toast": {
+ "success-copy": "Copié avec succès",
+ "success-copy-description": "A été copié dans votre presse-papiers.",
+ "unable-action": "Action impossible",
+ "warning-select-cube": "Veuillez sélectionner un cube avant."
+ },
+ "tooltips": {
+ "move-to-history": "Déplacer les résolutions vers l'historique"
+ }
},
"StatsPage": {
"title": "Statistiques",
- "total": "Total",
- "category": "Catégorie",
"global": "Global",
"sessions": "Sessions",
"best-time": "Meilleur temps",
"average": "Moyenne",
"time-spent": "Temps passé",
"success-rate": "Taux de réussite",
- "counter": "Compteur"
+ "counter": "Compteur",
+ "advanced": "Avancé",
+ "overall": "Dans l'ensemble"
},
"CubesPage": {
"title": "Cubes",
- "cube": "Cube",
"no-cubes-for-display": "Aucun cube à afficher.",
"favorite": "Favori",
"category": "Catégorie",
@@ -66,30 +81,35 @@
"status": "Statut",
"using": "En cours d'utilisation",
"idle": "Inactif",
- "filter-cubes": "Filtrer vos cubes"
+ "find-your-cube": "Trouvez votre cube",
+ "name": "Nom",
+ "new-collection": "Nouvelle collection",
+ "options": "Possibilités"
},
"Cubes-modal": {
- "title-editing": "Modifier le Cube",
- "title-creating": "Nouveau Cube",
- "error-name": "Le nom du cube est manquant",
- "error-duplicate": "Le nom du cube est déjà utilisé",
- "current-select": "Sélection actuelle :",
- "question-delete": "Êtes-vous sûr de vouloir supprimer ?",
- "warning-delete": "Cette action irréversible supprimera tout l'historique des résolutions pour ce cube et pourrait affecter vos statistiques.",
- "placeholder": "Marque | Modèle | Version | Magnétique ?"
+ "category": "Catégorie",
+ "current-selection": "Sélection actuelle :",
+ "danger-msg": "La modification de la catégorie de collection modifie également les résolutions associées à cette catégorie.",
+ "delete-collection": "Supprimer la collection",
+ "delete-collection-description": "Cette collection de cubes sera supprimée, ainsi que toutes ses résolutions, enregistrements et paramètres.",
+ "edit-collection": "Modifier la collection",
+ "input-collection-name": "Entrez le nom de la collection",
+ "name": "Nom",
+ "new-collection": "Nouvelle collection",
+ "new-collection-description": "Les collections de cubes vous permettent de suivre l'historique de chaque cube sans affecter les statistiques globales de la catégorie.",
+ "select-an-option": "Sélectionnez une option",
+ "to-continue": "pour continuer :",
+ "warning-alert": "Avertissement:",
+ "warning-msg": "Cette action n'est pas réversible."
},
"Inputs": {
"select": "Sélectionner",
- "add-cube": "Ajouter un cube",
"favorites": "Favoris",
- "list": "Liste",
- "trash-all": "Tout supprimer",
- "move-all": "Tout déplacer",
"create": "Créer",
- "confirm": "Confirmer",
"cancel": "Annuler",
- "save": "Enregistrer",
- "delete": "Supprimer"
+ "continue": "Continuer",
+ "move": "Se déplacer",
+ "none": "Aucun"
},
"Settings-menu": {
"title": "Paramètres",
@@ -121,7 +141,9 @@
"about": "À propos",
"legend": "NexusTimer est un outil Web minimaliste, impartial et open source pour le SpeedCubing.",
"suggest": "Proposer un changement",
- "report-bug": "Signaler un bug"
+ "report-bug": "Signaler un bug",
+ "auto-select": "Sélection automatique au démarrage",
+ "preferences": "Préférences"
},
"backup-modal": {
"title": "Restauration de sauvegarde intelligente",
@@ -131,6 +153,17 @@
"loading-part-1": "Cette action prend moins d'une minute.",
"loading-part-2": "Veuillez patienter, ne fermez pas cette fenêtre.",
"welcome": "Bienvenue :"
+ },
+ "Errors": {
+ "empty-input": "Veuillez saisir une valeur",
+ "not-match": "Le nom ne correspond pas.",
+ "repeated-name": "Cette collection de noms existe déjà."
+ },
+ "tooltips": {
+ "bookmark": "Marque-page",
+ "copy": "Copie",
+ "delete": "Supprimer",
+ "plus-two": "2 Pénalité"
}
},
"Metadata": {
diff --git a/messages/hi.json b/messages/hi.json
index 8ef5a93a..591ee8a4 100644
--- a/messages/hi.json
+++ b/messages/hi.json
@@ -1,7 +1,6 @@
{
"Index": {
"HomePage": {
- "title": "टाइमर",
"hint": "संकेत",
"optimal-yellow-layer": "आदर्श पीला परत",
"solving": "हल कर रहे हैं...",
@@ -23,41 +22,57 @@
},
"SolvesPage": {
"title": "समाधान",
- "search-by-time": "समय द्वारा खोजें",
- "finalize-session": "सत्ताकरण सत्र",
- "eliminate-session": "सत्र को निकालें",
- "archive-sessions-legend": "यह कार्रवाई एक ही श्रेणी की सभी चल रही सत्रों को संग्रहीत करेगी।",
- "delete-session-legend": "यह कार्रवाई केवल चयनित क्यूब के साथ आपके वर्तमान समाधानों को हटा देगी।",
- "archive": "संग्रहीत",
- "unarchive": "संग्रह रद्द करें",
- "copy": "प्रतिलिपि",
- "remove": "हटाएं",
- "enter-a-comment": "एक टिप्पणी दर्ज करें",
"session": "सत्र",
"all": "सभी",
- "no-cube-selection": "कोई क्यूब चयनित नहीं है, कोई एक चुनें...",
- "no-solves": "दिखाने के लिए कोई समाधान नहीं है!",
"ascending": "आरोही",
"date": "तारीख",
"descending": "अवरोही",
- "sort-by": "इसके अनुसार क्रमबद्ध करें...",
- "time": "समय"
+ "time": "समय",
+ "alert": {
+ "empty-cubes": "कोई घन चयनित नहीं. \nएक का चयन करें।",
+ "title": "ध्यान!"
+ },
+ "dialogs": {
+ "move-to-history": "समाधानों को इतिहास में ले जाएँ?",
+ "move-to-history-para": "आप इतिहास स्विच पर टैप करके उन तक पहुंच पाएंगे।"
+ },
+ "empty-solves": "अभी तक यहाँ कुछ भी नहीं है!",
+ "empty-solves-description": "अपना इतिहास देखने के लिए स्क्रीन के शीर्ष पर स्थित स्विच को टैप करें।",
+ "filter-by-time": "समय के अनुसार फ़िल्टर करें",
+ "historial": "historial",
+ "last": "अंतिम",
+ "order": "आदेश",
+ "share": "शेयर करना",
+ "share-clipboard": {
+ "average": "औसत",
+ "header": "NexusTimer द्वारा जेनरेट किया गया",
+ "list-of-times": "समय की सूची"
+ },
+ "sort": "क्रम से लगाना",
+ "toast": {
+ "success-copy": "सफलतापूर्वक कॉपी किया गया",
+ "success-copy-description": "आपके क्लिपबोर्ड पर कॉपी कर दिया गया है.",
+ "unable-action": "असमर्थ कार्रवाई",
+ "warning-select-cube": "कृपया पहले एक घन चुनें."
+ },
+ "tooltips": {
+ "move-to-history": "समाधानों को इतिहास में ले जाएँ"
+ }
},
"StatsPage": {
"title": "आंकड़े",
- "total": "कुल",
- "category": "श्रेणी",
"global": "वैश्विक",
"sessions": "सत्र",
"best-time": "सर्वोत्तम समय",
"average": "औसत",
"time-spent": "बिताया हुआ समय",
"success-rate": "सफलता दर",
- "counter": "काउंटर"
+ "counter": "काउंटर",
+ "advanced": "विकसित",
+ "overall": "कुल मिलाकर"
},
"CubesPage": {
"title": "क्यूब",
- "cube": "क्यूब",
"no-cubes-for-display": "प्रदर्शन के लिए कोई क्यूब नहीं।",
"favorite": "पसंदीदा",
"category": "श्रेणी",
@@ -66,30 +81,35 @@
"status": "स्थिति",
"using": "उपयोग करना",
"idle": "आलसी",
- "filter-cubes": "अपने क्यूब को फ़िल्टर करें"
+ "find-your-cube": "अपना घन खोजें",
+ "name": "नाम",
+ "new-collection": "नया संग्रह",
+ "options": "विकल्प"
},
"Cubes-modal": {
- "title-editing": "क्यूब संपादन",
- "title-creating": "नया क्यूब",
- "error-name": "क्यूब का नाम अनुपस्थित है",
- "error-duplicate": "क्यूब का नाम पहले से ही उपयोग में है",
- "current-select": "वर्तमान चयन:",
- "question-delete": "क्या आप वाकई हटाना चाहते हैं?",
- "warning-delete": "यह अनपेक्षित क्रिया इस क्यूब के लिए समाधान इतिहास को हटा देगी और आपके आंकड़ों पर प्रभाव डाल सकती है।",
- "placeholder": "ब्रांड | मॉडल | संस्करण | चुंबकीय?"
+ "category": "वर्ग",
+ "current-selection": "वर्तमान चयन:",
+ "danger-msg": "संग्रह श्रेणी को संशोधित करने से उस श्रेणी से जुड़े समाधान भी बदल जाते हैं।",
+ "delete-collection": "संग्रह हटाएँ",
+ "delete-collection-description": "यह क्यूब संग्रह इसके सभी सॉल्व, रिकॉर्ड और सेटिंग्स के साथ हटा दिया जाएगा।",
+ "edit-collection": "संग्रह संपादित करें",
+ "input-collection-name": "संग्रह का नाम दर्ज करें",
+ "name": "नाम",
+ "new-collection": "नया संग्रह",
+ "new-collection-description": "क्यूब संग्रह आपको समग्र श्रेणी आँकड़ों को प्रभावित किए बिना प्रत्येक क्यूब के इतिहास पर नज़र रखने की अनुमति देता है।",
+ "select-an-option": "कोई विकल्प चुनें",
+ "to-continue": "जारी रखने के लिए:",
+ "warning-alert": "चेतावनी:",
+ "warning-msg": "यह क्रिया प्रतिवर्ती नहीं है."
},
"Inputs": {
"select": "चयन करें",
- "add-cube": "क्यूब जोड़ें",
"favorites": "पसंती",
- "list": "सूची",
- "trash-all": "सभी को अपशिष्ट करें",
- "move-all": "सभी को हटाएं",
"create": "बनाएं",
- "confirm": "पुष्टि करें",
"cancel": "रद्द करें",
- "save": "सहेजें",
- "delete": "हटाएं"
+ "continue": "जारी रखना",
+ "move": "कदम",
+ "none": "कोई नहीं"
},
"Settings-menu": {
"title": "सेटिंग्स",
@@ -121,7 +141,9 @@
"about": "के बारे में",
"legend": "NexusTimer एक तटस्थ, लोकप्रिय और ओपन सोर्स वेब उपकरण है जो SpeedCubing के लिए है।",
"suggest": "परिवर्तन सुझाएं",
- "report-bug": "बग रिपोर्ट करें"
+ "report-bug": "बग रिपोर्ट करें",
+ "auto-select": "स्टार्टअप पर स्वतः चयन करें",
+ "preferences": "प्राथमिकताएँ"
},
"backup-modal": {
"title": "बुद्धिमान बैकअप पुनर्स्थापन",
@@ -131,6 +153,17 @@
"loading-part-1": "यह कार्रवाई एक मिनट से कम समय लेती है।",
"loading-part-2": "कृपया प्रतीक्षा करें, इस विंडो को बंद न करें।",
"welcome": "स्वागत है:"
+ },
+ "Errors": {
+ "empty-input": "कृपया एक मान दर्ज करें",
+ "not-match": "नाम मेल नहीं खाता.",
+ "repeated-name": "वह नाम संग्रह पहले से मौजूद है."
+ },
+ "tooltips": {
+ "bookmark": "बुकमार्क",
+ "copy": "प्रतिलिपि",
+ "delete": "मिटाना",
+ "plus-two": "2 जुर्माना"
}
},
"Metadata": {
diff --git a/messages/hu.json b/messages/hu.json
index a2e7db0c..cf7d5c5c 100644
--- a/messages/hu.json
+++ b/messages/hu.json
@@ -1,7 +1,6 @@
{
"Index": {
"HomePage": {
- "title": "Időmérő",
"hint": "Tipp",
"optimal-yellow-layer": "Optimális Sárga Réteg",
"solving": "Megoldás...",
@@ -23,41 +22,57 @@
},
"SolvesPage": {
"title": "Megoldások",
- "search-by-time": "⏱︎ Keresés idő szerint",
- "finalize-session": "Munkamenet befejezése",
- "eliminate-session": "Munkamenet törlése",
- "archive-sessions-legend": "Ezzel az intézkedéssel minden azonos kategóriájú folyamatban lévő munkamenetet archivál.",
- "delete-session-legend": "Ezzel az intézkedéssel csak az aktuális megoldások törlődnek a kiválasztott kockával.",
- "archive": "Archiválás",
- "unarchive": "Archiválás megszüntetése",
- "copy": "Másolás",
- "remove": "Eltávolítás",
- "enter-a-comment": "Adjon meg egy megjegyzést",
"session": "Munkamenet",
"all": "Mind",
- "no-cube-selection": "Nincs kiválasztott kocka, válasszon egyet...",
- "no-solves": "Nincsenek megoldások megjelenítésre!",
"ascending": "Emelkedő",
"date": "Dátum",
"descending": "Csökkenő",
- "sort-by": "Rendezés...",
- "time": "Idő"
+ "time": "Idő",
+ "alert": {
+ "empty-cubes": "Nincs kiválasztva kocka. \nKérjük, válasszon egyet.",
+ "title": "Figyelem!"
+ },
+ "dialogs": {
+ "move-to-history": "Megoldásokat áthelyezni a történelembe?",
+ "move-to-history-para": "Az előzmények kapcsolójának megérintésével érheti el őket."
+ },
+ "empty-solves": "Itt még semmi!",
+ "empty-solves-description": "Érintse meg a képernyő tetején lévő kapcsolót az előzmények megtekintéséhez.",
+ "filter-by-time": "Szűrés idő szerint",
+ "historial": "Történelmi",
+ "last": "Utolsó",
+ "order": "Rendelés",
+ "share": "Részesedés",
+ "share-clipboard": {
+ "average": "Átlagos",
+ "header": "A NexusTimer generálta",
+ "list-of-times": "Idők listája"
+ },
+ "sort": "Fajta",
+ "toast": {
+ "success-copy": "Sikeres másolás",
+ "success-copy-description": "A vágólapra másolva.",
+ "unable-action": "A művelet nem lehetséges",
+ "warning-select-cube": "Kérjük, előbb válasszon egy kockát."
+ },
+ "tooltips": {
+ "move-to-history": "Mozgás megoldja a történelem"
+ }
},
"StatsPage": {
"title": "Statisztikák",
- "total": "Összesen",
- "category": "Kategória",
"global": "Globális",
"sessions": "Munkamenetek",
"best-time": "Legjobb Idő",
"average": "Átlag",
"time-spent": "Eltöltött Idő",
"success-rate": "Sikerarány",
- "counter": "Számláló"
+ "counter": "Számláló",
+ "advanced": "Fejlett",
+ "overall": "Átfogó"
},
"CubesPage": {
"title": "Kockák",
- "cube": "Kocka",
"no-cubes-for-display": "Nincsenek kockák megjelenítésre.",
"favorite": "Kedvenc",
"category": "Kategória",
@@ -66,30 +81,35 @@
"status": "Állapot",
"using": "Használ",
"idle": "Tétlen",
- "filter-cubes": "Szűrje kockáit"
+ "find-your-cube": "Keresse meg a kockáját",
+ "name": "Név",
+ "new-collection": "Új kollekció",
+ "options": "Opciók"
},
"Cubes-modal": {
- "title-editing": "Kocka szerkesztése",
- "title-creating": "Új kocka",
- "error-name": "A kocka neve hiányzik",
- "error-duplicate": "A kocka neve már használatban van",
- "current-select": "Jelenlegi kiválasztás:",
- "question-delete": "Biztosan törölni szeretné?",
- "warning-delete": "Ezzel a visszavonhatatlan művelettel törölni fogja az összes megoldási előzményt erre a kockára, és befolyásolhatja a statisztikáit.",
- "placeholder": "Márka | Modell | Verzió | Mágneses?"
+ "category": "Kategória",
+ "current-selection": "Jelenlegi választék:",
+ "danger-msg": "A gyűjteménykategória módosítása módosítja az adott kategóriához tartozó megoldásokat is.",
+ "delete-collection": "Gyűjtemény törlése",
+ "delete-collection-description": "Ez a kockagyűjtemény az összes megoldásával, rekordjával és beállításával együtt törlődik.",
+ "edit-collection": "Gyűjtemény szerkesztése",
+ "input-collection-name": "Adja meg a gyűjtemény nevét",
+ "name": "Név",
+ "new-collection": "Új kollekció",
+ "new-collection-description": "A kockagyűjtemények lehetővé teszik az egyes kockák előzményeinek nyomon követését anélkül, hogy ez befolyásolná a kategória általános statisztikáit.",
+ "select-an-option": "Válasszon egy lehetőséget",
+ "to-continue": "a folytatáshoz:",
+ "warning-alert": "Figyelmeztetés:",
+ "warning-msg": "Ez a művelet nem visszafordítható."
},
"Inputs": {
"select": "Válasszon",
- "add-cube": "Kocka hozzáadása",
"favorites": "Kedvencek",
- "list": "Lista",
- "trash-all": "Összes kidobása",
- "move-all": "Összes mozgatása",
"create": "Létrehoz",
- "confirm": "Megerősít",
"cancel": "Mégse",
- "save": "Mentés",
- "delete": "Törlés"
+ "continue": "Folytatás",
+ "move": "Mozog",
+ "none": "Egyik sem"
},
"Settings-menu": {
"title": "Beállítások",
@@ -121,7 +141,9 @@
"about": "Névjegy",
"legend": "A NexusTimer egy véleményektől mentes, minimalista és nyílt forráskódú webes eszköz a SpeedCubing számára.",
"suggest": "Javaslat küldése",
- "report-bug": "Hiba bejelentése"
+ "report-bug": "Hiba bejelentése",
+ "auto-select": "Automatikus kiválasztás indításkor",
+ "preferences": "Preferences"
},
"backup-modal": {
"title": "Intelligens Biztonsági Mentés Visszaállítása",
@@ -131,6 +153,17 @@
"loading-part-1": "Ez a művelet kevesebb mint egy percet vesz igénybe.",
"loading-part-2": "Kérjük, várjon, ne zárja be ezt az ablakot.",
"welcome": "Üdvözöljük:"
+ },
+ "Errors": {
+ "empty-input": "Adjon meg egy értéket",
+ "not-match": "A név nem egyezik.",
+ "repeated-name": "Ez a névgyűjtemény már létezik."
+ },
+ "tooltips": {
+ "bookmark": "Könyvjelző",
+ "copy": "Másolat",
+ "delete": "Töröl",
+ "plus-two": "2 Büntetés"
}
},
"Metadata": {
diff --git a/messages/id.json b/messages/id.json
index a8df4ee7..710408c5 100644
--- a/messages/id.json
+++ b/messages/id.json
@@ -1,7 +1,6 @@
{
"Index": {
"HomePage": {
- "title": "Pengatur Waktu",
"hint": "Petunjuk",
"optimal-yellow-layer": "Lapisan Kuning Optimal",
"solving": "Menyelesaikan...",
@@ -23,41 +22,57 @@
},
"SolvesPage": {
"title": "Penyelesaian",
- "search-by-time": "⏱︎ Cari berdasarkan waktu",
- "finalize-session": "Selesaikan sesi",
- "eliminate-session": "Hapus sesi",
- "archive-sessions-legend": "Tindakan ini akan mengarsipkan semua sesi yang sedang berlangsung dari kategori yang sama.",
- "delete-session-legend": "Tindakan ini hanya akan menghapus penyelesaian Anda saat ini dengan kubus yang dipilih.",
- "archive": "Arsip",
- "unarchive": "Buka arsip",
- "copy": "Salin",
- "remove": "Hapus",
- "enter-a-comment": "Masukkan komentar",
"session": "Sesi",
"all": "Semua",
- "no-cube-selection": "Tidak ada kubus yang dipilih, pilih satu...",
- "no-solves": "Tidak ada penyelesaian untuk ditampilkan!",
"time": "Waktu",
- "sort-by": "Sortir dengan...",
"descending": "Menurun",
"ascending": "Naik",
- "date": "Tanggal"
+ "date": "Tanggal",
+ "alert": {
+ "empty-cubes": "Tidak ada kubus yang dipilih. \nSilakan pilih salah satu.",
+ "title": "Perhatian!"
+ },
+ "dialogs": {
+ "move-to-history": "Pindahkan penyelesaian ke sejarah?",
+ "move-to-history-para": "Anda akan dapat mengaksesnya dengan mengetuk tombol riwayat."
+ },
+ "empty-solves": "Belum ada apa pun di sini!",
+ "empty-solves-description": "Ketuk tombol di bagian atas layar untuk melihat riwayat Anda.",
+ "filter-by-time": "Saring berdasarkan waktu",
+ "historial": "Sejarah",
+ "last": "Terakhir",
+ "order": "Memesan",
+ "share": "Membagikan",
+ "share-clipboard": {
+ "average": "Rata-rata",
+ "header": "Dihasilkan oleh NexusTimer",
+ "list-of-times": "Daftar waktu"
+ },
+ "sort": "Menyortir",
+ "toast": {
+ "success-copy": "Berhasil disalin",
+ "success-copy-description": "Telah disalin ke clipboard Anda.",
+ "unable-action": "Tidak dapat melakukan tindakan",
+ "warning-select-cube": "Silakan pilih kubus sebelumnya."
+ },
+ "tooltips": {
+ "move-to-history": "Pindahkan penyelesaian ke sejarah"
+ }
},
"StatsPage": {
"title": "Statistik",
- "total": "Total",
- "category": "Kategori",
"global": "Global",
"sessions": "Sesi",
"best-time": "Waktu Terbaik",
"average": "Rata-rata",
"time-spent": "Waktu yang Dihabiskan",
"success-rate": "Tingkat Keberhasilan",
- "counter": "Penghitung"
+ "counter": "Penghitung",
+ "advanced": "Canggih",
+ "overall": "Keseluruhan"
},
"CubesPage": {
"title": "Kubus",
- "cube": "Kubus",
"no-cubes-for-display": "Tidak ada kubus untuk ditampilkan.",
"favorite": "Favorit",
"category": "Kategori",
@@ -66,30 +81,35 @@
"status": "Status",
"using": "Menggunakan",
"idle": "Sedang Diam",
- "filter-cubes": "Filter kubus Anda"
+ "find-your-cube": "Temukan kubus Anda",
+ "name": "Nama",
+ "new-collection": "Koleksi baru",
+ "options": "Pilihan"
},
"Cubes-modal": {
- "title-editing": "Edit Kubus",
- "title-creating": "Kubus Baru",
- "error-name": "Nama kubus hilang",
- "error-duplicate": "Nama kubus sudah digunakan",
- "current-select": "Pilihan saat ini:",
- "question-delete": "Apakah Anda yakin ingin menghapus?",
- "warning-delete": "Tindakan ini tidak dapat dibatalkan dan akan menghapus semua riwayat penyelesaian untuk kubus ini dan mungkin mempengaruhi statistik Anda.",
- "placeholder": "Merek | Model | Versi | Magnetik?"
+ "category": "Kategori",
+ "current-selection": "Pilihan saat ini:",
+ "danger-msg": "Memodifikasi kategori koleksi juga mengubah penyelesaian yang terkait dengan kategori tersebut.",
+ "delete-collection": "Hapus koleksi",
+ "delete-collection-description": "Koleksi kubus ini akan dihapus, beserta semua penyelesaian, catatan, dan pengaturannya.",
+ "edit-collection": "Sunting koleksi",
+ "input-collection-name": "Masukkan nama koleksi",
+ "name": "Nama",
+ "new-collection": "Koleksi baru",
+ "new-collection-description": "Koleksi kubus memungkinkan Anda melacak riwayat setiap kubus tanpa memengaruhi statistik kategori secara keseluruhan.",
+ "select-an-option": "Pilih sebuah opsi",
+ "to-continue": "untuk melanjutkan:",
+ "warning-alert": "Peringatan:",
+ "warning-msg": "Tindakan ini tidak dapat dibatalkan."
},
"Inputs": {
"select": "Pilih",
- "add-cube": "Tambahkan kubus",
"favorites": "Favorit",
- "list": "Daftar",
- "trash-all": "Buang Semua",
- "move-all": "Pindahkan Semua",
"create": "Buat",
- "confirm": "Konfirmasi",
"cancel": "Batal",
- "save": "Simpan",
- "delete": "Hapus"
+ "continue": "Melanjutkan",
+ "move": "Bergerak",
+ "none": "Tidak ada"
},
"Settings-menu": {
"title": "Pengaturan",
@@ -114,7 +134,16 @@
"custom-background-image": "Gambar Latar Belakang Kustom",
"format": "Format",
"allowed-file-types": "Hanya file gambar (JPEG, PNG, GIF) yang diizinkan.",
- "max-file-size": "Ukuran file maksimum yang diizinkan"
+ "max-file-size": "Ukuran file maksimum yang diizinkan",
+ "about": "Tentang",
+ "auto-select": "Pilih otomatis saat startup",
+ "data": "Data Aplikasi",
+ "export-to-file": "Ekspor ke file",
+ "import-from-file": "Impor dari file",
+ "legend": "NexusTimer adalah alat web sumber terbuka, minimalis, dan terbuka untuk SpeedCubing.",
+ "preferences": "Preferensi",
+ "report-bug": "Laporkan bug",
+ "suggest": "Sarankan perubahan"
},
"backup-modal": {
"title": "Pemulihan Cadangan Cerdas",
@@ -124,6 +153,17 @@
"loading-part-1": "Tindakan ini membutuhkan waktu kurang dari satu menit.",
"loading-part-2": "Harap tunggu, jangan tutup jendela ini.",
"welcome": "Selamat Datang:"
+ },
+ "Errors": {
+ "empty-input": "Silakan masukkan nilai",
+ "not-match": "Namanya tidak cocok.",
+ "repeated-name": "Koleksi nama itu sudah ada."
+ },
+ "tooltips": {
+ "bookmark": "Penanda buku",
+ "copy": "Menyalin",
+ "delete": "Menghapus",
+ "plus-two": "2 Penalti"
}
},
"Metadata": {
diff --git a/messages/it.json b/messages/it.json
index fac841b8..4888f8f6 100644
--- a/messages/it.json
+++ b/messages/it.json
@@ -1,7 +1,6 @@
{
"Index": {
"HomePage": {
- "title": "Cronometro",
"hint": "Suggerimento",
"optimal-yellow-layer": "Strato Giallo Ottimale",
"solving": "Risoluzione...",
@@ -23,41 +22,57 @@
},
"SolvesPage": {
"title": "Risoluzioni",
- "search-by-time": "⏱︎ Cerca per tempo",
- "finalize-session": "Concludi sessione",
- "eliminate-session": "Elimina sessione",
- "archive-sessions-legend": "Questa azione archivierà tutte le sessioni in corso della stessa categoria.",
- "delete-session-legend": "Questa azione eliminerà solo le tue risoluzioni attuali con il cubo selezionato.",
- "archive": "Archivia",
- "unarchive": "Rimuovi dall'archivio",
- "copy": "Copia",
- "remove": "Rimuovi",
- "enter-a-comment": "Inserisci un commento",
"session": "Sessione",
"all": "Tutto",
- "no-cube-selection": "Nessun cubo selezionato, scegline uno...",
- "no-solves": "Non ci sono risoluzioni da mostrare!",
"time": "Tempo",
- "sort-by": "Ordina per...",
"descending": "Discendente",
"date": "Data",
- "ascending": "Ascendente"
+ "ascending": "Ascendente",
+ "alert": {
+ "empty-cubes": "Nessun cubo selezionato. \nPer favore scegline uno.",
+ "title": "Attenzione!"
+ },
+ "dialogs": {
+ "move-to-history": "Spostare le soluzioni nella storia?",
+ "move-to-history-para": "Potrai accedervi toccando l'interruttore della cronologia."
+ },
+ "empty-solves": "Niente qui ancora!",
+ "empty-solves-description": "Tocca l'interruttore nella parte superiore dello schermo per visualizzare la cronologia.",
+ "filter-by-time": "Filtra per ora",
+ "historial": "Storico",
+ "last": "Scorso",
+ "order": "Ordine",
+ "share": "Condividere",
+ "share-clipboard": {
+ "average": "Media",
+ "header": "Generato da NexusTimer",
+ "list-of-times": "Elenco degli orari"
+ },
+ "sort": "Ordinare",
+ "toast": {
+ "success-copy": "Copiato con successo",
+ "success-copy-description": "È stato copiato negli appunti.",
+ "unable-action": "Azione impossibile",
+ "warning-select-cube": "Seleziona prima un cubo."
+ },
+ "tooltips": {
+ "move-to-history": "Lo spostamento risolve la storia"
+ }
},
"StatsPage": {
"title": "Statistiche",
- "total": "Totale",
- "category": "Categoria",
"global": "Globale",
"sessions": "Sessioni",
"best-time": "Miglior Tempo",
"average": "Media",
"time-spent": "Tempo Trascorso",
"success-rate": "Tasso di Successo",
- "counter": "Contatore"
+ "counter": "Contatore",
+ "advanced": "Avanzato",
+ "overall": "Complessivamente"
},
"CubesPage": {
"title": "Cubi",
- "cube": "Cubo",
"no-cubes-for-display": "Nessun cubo da visualizzare.",
"favorite": "Preferito",
"category": "Categoria",
@@ -66,30 +81,35 @@
"status": "Stato",
"using": "Utilizzando",
"idle": "Inattivo",
- "filter-cubes": "Filtra i tuoi cubi"
+ "find-your-cube": "Trova il tuo cubo",
+ "name": "Nome",
+ "new-collection": "Nuova collezione",
+ "options": "Opzioni"
},
"Cubes-modal": {
- "title-editing": "Modifica Cubo",
- "title-creating": "Nuovo Cubo",
- "error-name": "Nome cubo mancante",
- "error-duplicate": "Nome cubo già in uso",
- "current-select": "Selezione attuale:",
- "question-delete": "Sei sicuro di voler eliminare?",
- "warning-delete": "Questa azione irreversibile eliminerà tutto lo storico delle risoluzioni per questo cubo e potrebbe influenzare le tue statistiche.",
- "placeholder": "Marca | Modello | Versione | Magnetico?"
+ "category": "Categoria",
+ "current-selection": "Selezione attuale:",
+ "danger-msg": "La modifica della categoria di raccolta modifica anche le soluzioni associate a tale categoria.",
+ "delete-collection": "Elimina raccolta",
+ "delete-collection-description": "Questa raccolta di cubi verrà eliminata, insieme a tutte le relative soluzioni, record e impostazioni.",
+ "edit-collection": "Modifica raccolta",
+ "input-collection-name": "Inserisci il nome della raccolta",
+ "name": "Nome",
+ "new-collection": "Nuova collezione",
+ "new-collection-description": "Le raccolte di cubi ti consentono di tenere traccia della cronologia di ciascun cubo senza influire sulle statistiche generali della categoria.",
+ "select-an-option": "Seleziona un'opzione",
+ "to-continue": "per continuare:",
+ "warning-alert": "Avvertimento:",
+ "warning-msg": "Questa azione non è reversibile."
},
"Inputs": {
"select": "Seleziona",
- "add-cube": "Aggiungi cubo",
"favorites": "Preferiti",
- "list": "Lista",
- "trash-all": "Elimina tutto",
- "move-all": "Sposta tutto",
"create": "Crea",
- "confirm": "Conferma",
"cancel": "Annulla",
- "save": "Salva",
- "delete": "Elimina"
+ "continue": "Continuare",
+ "move": "Mossa",
+ "none": "Nessuno"
},
"Settings-menu": {
"title": "Impostazioni",
@@ -114,7 +134,16 @@
"custom-background-image": "Immagine di sfondo personalizzata",
"format": "Formato",
"allowed-file-types": "Sono consentiti solo file immagine (JPEG, PNG, GIF).",
- "max-file-size": "Dimensione massima del file consentita"
+ "max-file-size": "Dimensione massima del file consentita",
+ "about": "Di",
+ "auto-select": "Selezione automatica all'avvio",
+ "data": "Dati dell'app",
+ "export-to-file": "Esporta su file",
+ "import-from-file": "Importa da file",
+ "legend": "NexusTimer è uno strumento web senza opinione, minimalista e open source per SpeedCubing.",
+ "preferences": "Preferenze",
+ "report-bug": "Segnala un bug",
+ "suggest": "Suggerisci un cambiamento"
},
"backup-modal": {
"title": "Ripristino Backup Intelligente",
@@ -124,6 +153,17 @@
"loading-part-1": "Questa azione richiede meno di un minuto.",
"loading-part-2": "Attendere prego, non chiudere questa finestra.",
"welcome": "Benvenuto:"
+ },
+ "Errors": {
+ "empty-input": "Inserisci un valore",
+ "not-match": "Il nome non corrisponde.",
+ "repeated-name": "Quella raccolta di nomi esiste già."
+ },
+ "tooltips": {
+ "bookmark": "Segnalibro",
+ "copy": "Copia",
+ "delete": "Eliminare",
+ "plus-two": "2 Penalità"
}
},
"Metadata": {
diff --git a/messages/ja.json b/messages/ja.json
index 88675e9f..2b1021b6 100644
--- a/messages/ja.json
+++ b/messages/ja.json
@@ -1,7 +1,6 @@
{
"Index": {
"HomePage": {
- "title": "タイマー",
"hint": "ヒント",
"optimal-yellow-layer": "最適なイエローレイヤー",
"solving": "解く中...",
@@ -23,41 +22,57 @@
},
"SolvesPage": {
"title": "解答",
- "search-by-time": "⏱︎ 時間で検索",
- "finalize-session": "セッションを終了",
- "eliminate-session": "セッションを削除",
- "archive-sessions-legend": "この操作は同じカテゴリのすべての進行中のセッションをアーカイブします。",
- "delete-session-legend": "この操作は選択したキューブの現在の解答のみを削除します。",
- "archive": "アーカイブ",
- "unarchive": "アーカイブ解除",
- "copy": "コピー",
- "remove": "削除",
- "enter-a-comment": "コメントを入力",
"session": "セッション",
"all": "すべて",
- "no-cube-selection": "キューブが選択されていません。選択してください...",
- "no-solves": "表示する解答はありません!",
"time": "時間",
- "sort-by": "並べ替え...",
"descending": "降順",
"date": "日付",
- "ascending": "上昇"
+ "ascending": "上昇",
+ "alert": {
+ "empty-cubes": "キューブが選択されていません。 \n1 つお選びください。",
+ "title": "注意!"
+ },
+ "dialogs": {
+ "move-to-history": "ソルブを履歴に移動しますか?",
+ "move-to-history-para": "履歴スイッチをタップすると、それらにアクセスできるようになります。"
+ },
+ "empty-solves": "ここにはまだ何もありません!",
+ "empty-solves-description": "画面上部のスイッチをタップすると、履歴が表示されます。",
+ "filter-by-time": "時間でフィルタリングする",
+ "historial": "歴史的",
+ "last": "最後",
+ "order": "注文",
+ "share": "共有",
+ "share-clipboard": {
+ "average": "平均",
+ "header": "NexusTimer によって生成",
+ "list-of-times": "時間のリスト"
+ },
+ "sort": "選別",
+ "toast": {
+ "success-copy": "正常にコピーされました",
+ "success-copy-description": "クリップボードにコピーされました。",
+ "unable-action": "アクションが実行できません",
+ "warning-select-cube": "事前にキューブを選択してください。"
+ },
+ "tooltips": {
+ "move-to-history": "ソルブを履歴に移動する"
+ }
},
"StatsPage": {
"title": "統計",
- "total": "合計",
- "category": "カテゴリー",
"global": "グローバル",
"sessions": "セッション",
"best-time": "最速タイム",
"average": "平均",
"time-spent": "経過時間",
"success-rate": "成功率",
- "counter": "カウンター"
+ "counter": "カウンター",
+ "advanced": "高度な",
+ "overall": "全体"
},
"CubesPage": {
"title": "キューブ",
- "cube": "キューブ",
"no-cubes-for-display": "表示するキューブがありません。",
"favorite": "お気に入り",
"category": "カテゴリー",
@@ -66,30 +81,35 @@
"status": "ステータス",
"using": "使用中",
"idle": "アイドル",
- "filter-cubes": "キューブをフィルタリング"
+ "find-your-cube": "自分のキューブを見つけてください",
+ "name": "名前",
+ "new-collection": "新しいコレクション",
+ "options": "オプション"
},
"Cubes-modal": {
- "title-editing": "キューブを編集",
- "title-creating": "新しいキューブ",
- "error-name": "キューブ名がありません",
- "error-duplicate": "キューブ名はすでに使用されています",
- "current-select": "現在の選択:",
- "question-delete": "削除してもよろしいですか?",
- "warning-delete": "この操作は元に戻せません。このキューブのすべての解答履歴が削除され、統計に影響を与える可能性があります。",
- "placeholder": "ブランド | モデル | バージョン | 磁石?"
+ "category": "カテゴリ",
+ "current-selection": "現在の選択:",
+ "danger-msg": "コレクション カテゴリを変更すると、そのカテゴリに関連付けられたソルブも変更されます。",
+ "delete-collection": "コレクションの削除",
+ "delete-collection-description": "このキューブ コレクションは、そのすべてのソルブ、レコード、設定とともに削除されます。",
+ "edit-collection": "コレクションの編集",
+ "input-collection-name": "コレクション名を入力してください",
+ "name": "名前",
+ "new-collection": "新しいコレクション",
+ "new-collection-description": "キューブ コレクションを使用すると、カテゴリ全体の統計に影響を与えることなく、各キューブの履歴を追跡できます。",
+ "select-an-option": "オプションを選択してください",
+ "to-continue": "続けるには:",
+ "warning-alert": "警告:",
+ "warning-msg": "この操作は元に戻すことはできません。"
},
"Inputs": {
"select": "選択",
- "add-cube": "キューブを追加",
"favorites": "お気に入り",
- "list": "リスト",
- "trash-all": "すべて削除",
- "move-all": "すべて移動",
"create": "作成",
- "confirm": "確認",
"cancel": "キャンセル",
- "save": "保存",
- "delete": "削除"
+ "continue": "続く",
+ "move": "動く",
+ "none": "なし"
},
"Settings-menu": {
"title": "設定",
@@ -114,7 +134,16 @@
"custom-background-image": "カスタム背景画像",
"format": "フォーマット",
"allowed-file-types": "画像ファイル(JPEG、PNG、GIF)のみが許可されています。",
- "max-file-size": "許可される最大ファイルサイズ"
+ "max-file-size": "許可される最大ファイルサイズ",
+ "about": "について",
+ "auto-select": "起動時に自動選択",
+ "data": "アプリデータ",
+ "export-to-file": "ファイルにエクスポート",
+ "import-from-file": "ファイルからインポート",
+ "legend": "NexusTimer は、SpeedCubing 用の、偏見にとらわれないミニマリストのオープンソース Web ツールです。",
+ "preferences": "設定",
+ "report-bug": "バグを報告する",
+ "suggest": "変更を提案する"
},
"backup-modal": {
"title": "インテリジェントバックアップの復元",
@@ -124,6 +153,17 @@
"loading-part-1": "この操作には1分未満かかります。",
"loading-part-2": "お待ちください。このウィンドウを閉じないでください。",
"welcome": "ようこそ:"
+ },
+ "Errors": {
+ "empty-input": "値を入力してください",
+ "not-match": "名前が一致しません。",
+ "repeated-name": "その名前のコレクションはすでに存在します。"
+ },
+ "tooltips": {
+ "bookmark": "ブックマーク",
+ "copy": "コピー",
+ "delete": "消去",
+ "plus-two": "2 ペナルティ"
}
},
"Metadata": {
diff --git a/messages/ko.json b/messages/ko.json
index 54988a58..912931e6 100644
--- a/messages/ko.json
+++ b/messages/ko.json
@@ -1,7 +1,6 @@
{
"Index": {
"HomePage": {
- "title": "타이머",
"hint": "힌트",
"optimal-yellow-layer": "최적의 옐로우 레이어",
"solving": "풀이 중...",
@@ -23,41 +22,57 @@
},
"SolvesPage": {
"title": "해결",
- "search-by-time": "⏱︎ 시간별 검색",
- "finalize-session": "세션 완료",
- "eliminate-session": "세션 제거",
- "archive-sessions-legend": "이 작업은 동일한 카테고리의 모든 진행 중인 세션을 아카이브합니다.",
- "delete-session-legend": "이 작업은 선택한 큐브의 현재 해결만 삭제합니다.",
- "archive": "아카이브",
- "unarchive": "아카이브 해제",
- "copy": "복사",
- "remove": "제거",
- "enter-a-comment": "코멘트 입력",
"session": "세션",
"all": "모두",
- "no-cube-selection": "큐브가 선택되지 않았습니다. 하나를 선택하세요...",
- "no-solves": "표시할 해결이 없습니다!",
- "sort-by": "정렬 기준...",
"descending": "내림차순",
"date": "날짜",
"ascending": "오름차순",
- "time": "시간"
+ "time": "시간",
+ "alert": {
+ "empty-cubes": "선택한 큐브가 없습니다. \n하나를 선택해 주세요.",
+ "title": "주목!"
+ },
+ "dialogs": {
+ "move-to-history": "이동은 역사로 해결됩니까?",
+ "move-to-history-para": "기록 스위치를 탭하여 액세스할 수 있습니다."
+ },
+ "empty-solves": "아직 아무것도 없습니다!",
+ "empty-solves-description": "기록을 보려면 화면 상단의 스위치를 탭하세요.",
+ "filter-by-time": "시간별로 필터링",
+ "historial": "역사",
+ "last": "마지막",
+ "order": "주문하다",
+ "share": "공유하다",
+ "share-clipboard": {
+ "average": "평균",
+ "header": "NexusTimer에 의해 생성됨",
+ "list-of-times": "시간 목록"
+ },
+ "sort": "종류",
+ "toast": {
+ "success-copy": "성공적으로 복사되었습니다",
+ "success-copy-description": "클립보드에 복사되었습니다.",
+ "unable-action": "조치할 수 없음",
+ "warning-select-cube": "먼저 큐브를 선택하세요."
+ },
+ "tooltips": {
+ "move-to-history": "이동은 기록으로 해결됩니다."
+ }
},
"StatsPage": {
"title": "통계",
- "total": "총",
- "category": "카테고리",
"global": "전체",
"sessions": "세션",
"best-time": "최고 시간",
"average": "평균",
"time-spent": "소요 시간",
"success-rate": "성공률",
- "counter": "카운터"
+ "counter": "카운터",
+ "advanced": "고급의",
+ "overall": "전반적인"
},
"CubesPage": {
"title": "큐브",
- "cube": "큐브",
"no-cubes-for-display": "표시할 큐브가 없습니다.",
"favorite": "즐겨찾기",
"category": "카테고리",
@@ -66,30 +81,35 @@
"status": "상태",
"using": "사용 중",
"idle": "유휴",
- "filter-cubes": "큐브 필터링"
+ "find-your-cube": "당신의 큐브를 찾아보세요",
+ "name": "이름",
+ "new-collection": "새로운 컬렉션",
+ "options": "옵션"
},
"Cubes-modal": {
- "title-editing": "큐브 수정",
- "title-creating": "새로운 큐브",
- "error-name": "큐브 이름이 없습니다",
- "error-duplicate": "이미 사용 중인 큐브 이름입니다",
- "current-select": "현재 선택:",
- "question-delete": "정말로 삭제하시겠습니까?",
- "warning-delete": "이 작업은 되돌릴 수 없습니다. 이 큐브의 모든 해결 기록이 삭제되며 통계에 영향을 줄 수 있습니다.",
- "placeholder": "브랜드 | 모델 | 버전 | 자석?"
+ "category": "범주",
+ "current-selection": "현재 선택:",
+ "danger-msg": "컬렉션 카테고리를 수정하면 해당 카테고리와 관련된 해결도 변경됩니다.",
+ "delete-collection": "컬렉션 삭제",
+ "delete-collection-description": "이 큐브 컬렉션은 모든 해결, 기록 및 설정과 함께 삭제됩니다.",
+ "edit-collection": "컬렉션 수정",
+ "input-collection-name": "컬렉션 이름을 입력하세요.",
+ "name": "이름",
+ "new-collection": "새로운 컬렉션",
+ "new-collection-description": "큐브 컬렉션을 사용하면 전체 카테고리 통계에 영향을 주지 않고 각 큐브의 기록을 추적할 수 있습니다.",
+ "select-an-option": "옵션을 선택하세요",
+ "to-continue": "계속하려면:",
+ "warning-alert": "경고:",
+ "warning-msg": "이 작업은 되돌릴 수 없습니다."
},
"Inputs": {
"select": "선택",
- "add-cube": "큐브 추가",
"favorites": "즐겨찾기",
- "list": "목록",
- "trash-all": "모두 삭제",
- "move-all": "모두 이동",
"create": "생성",
- "confirm": "확인",
"cancel": "취소",
- "save": "저장",
- "delete": "삭제"
+ "continue": "계속하다",
+ "move": "이동하다",
+ "none": "없음"
},
"Settings-menu": {
"title": "설정",
@@ -114,7 +134,16 @@
"custom-background-image": "사용자 지정 배경 이미지",
"format": "형식",
"allowed-file-types": "이미지 파일(JPEG, PNG, GIF)만 허용됩니다.",
- "max-file-size": "허용되는 최대 파일 크기"
+ "max-file-size": "허용되는 최대 파일 크기",
+ "about": "에 대한",
+ "auto-select": "시작 시 자동 선택",
+ "data": "앱 데이터",
+ "export-to-file": "파일로 내보내기",
+ "import-from-file": "파일에서 가져오기",
+ "legend": "NexusTimer는 SpeedCubing을 위한 독립적이고 미니멀한 오픈 소스 웹 도구입니다.",
+ "preferences": "환경설정",
+ "report-bug": "버그 신고",
+ "suggest": "변경 제안"
},
"backup-modal": {
"title": "지능형 백업 복원",
@@ -124,6 +153,17 @@
"loading-part-1": "이 작업은 1분 미만이 소요됩니다.",
"loading-part-2": "기다려주세요. 이 창을 닫지 마세요.",
"welcome": "환영합니다:"
+ },
+ "Errors": {
+ "empty-input": "값을 입력하세요.",
+ "not-match": "이름이 일치하지 않습니다.",
+ "repeated-name": "해당 이름 컬렉션이 이미 존재합니다."
+ },
+ "tooltips": {
+ "bookmark": "서표",
+ "copy": "복사",
+ "delete": "삭제",
+ "plus-two": "2 페널티"
}
},
"Metadata": {
diff --git a/messages/ms.json b/messages/ms.json
index 5c3649f0..f7ff9602 100644
--- a/messages/ms.json
+++ b/messages/ms.json
@@ -1,7 +1,6 @@
{
"Index": {
"HomePage": {
- "title": "Pemasa",
"hint": "Petua",
"optimal-yellow-layer": "Lapisan Kuning Optimum",
"solving": "Menyelesaikan...",
@@ -23,41 +22,57 @@
},
"SolvesPage": {
"title": "Penyelesaian",
- "search-by-time": "⏱︎ Cari mengikut masa",
- "finalize-session": "Selesai sesi",
- "eliminate-session": "Hapus sesi",
- "archive-sessions-legend": "Tindakan ini akan mengarkibkan semua sesi yang sedang berlangsung dari kategori yang sama.",
- "delete-session-legend": "Tindakan ini hanya akan memadam penyelesaian semasa anda dengan kubus yang dipilih.",
- "archive": "Arkib",
- "unarchive": "Buka arkib",
- "copy": "Salin",
- "remove": "Alih keluar",
- "enter-a-comment": "Masukkan komen",
"session": "Sesi",
"all": "Semua",
- "no-cube-selection": "Tiada pemilihan kubus, pilih satu...",
- "no-solves": "Tiada penyelesaian untuk dipaparkan!",
"time": "Masa",
- "sort-by": "Disusun mengikut...",
"descending": "Menurun",
"date": "Tarikh",
- "ascending": "Menaik"
+ "ascending": "Menaik",
+ "alert": {
+ "empty-cubes": "Tiada kiub dipilih. \nSila pilih satu.",
+ "title": "Perhatian!"
+ },
+ "dialogs": {
+ "move-to-history": "Pindahkan penyelesaian kepada sejarah?",
+ "move-to-history-para": "Anda akan dapat mengaksesnya dengan mengetik suis sejarah."
+ },
+ "empty-solves": "Tiada apa-apa lagi di sini!",
+ "empty-solves-description": "Ketik suis di bahagian atas skrin untuk melihat sejarah anda.",
+ "filter-by-time": "Tapis mengikut masa",
+ "historial": "sejarah",
+ "last": "Terakhir",
+ "order": "Pesanan",
+ "share": "Kongsi",
+ "share-clipboard": {
+ "average": "Purata",
+ "header": "Dijana oleh NexusTimer",
+ "list-of-times": "Senarai masa"
+ },
+ "sort": "Isih",
+ "toast": {
+ "success-copy": "Berjaya disalin",
+ "success-copy-description": "Telah disalin ke papan keratan anda.",
+ "unable-action": "Tindakan tidak boleh",
+ "warning-select-cube": "Sila pilih kiub sebelum."
+ },
+ "tooltips": {
+ "move-to-history": "Bergerak menyelesaikan sejarah"
+ }
},
"StatsPage": {
"title": "Statistik",
- "total": "Jumlah",
- "category": "Kategori",
"global": "Global",
"sessions": "Sesi",
"best-time": "Masa Terbaik",
"average": "Purata",
"time-spent": "Masa Dibelanjakan",
"success-rate": "Kadar Kejayaan",
- "counter": "Pengira"
+ "counter": "Pengira",
+ "advanced": "Maju",
+ "overall": "Keseluruhannya"
},
"CubesPage": {
"title": "Kubus",
- "cube": "Kubus",
"no-cubes-for-display": "Tiada kubus untuk paparan.",
"favorite": "Kegemaran",
"category": "Kategori",
@@ -66,30 +81,35 @@
"status": "Status",
"using": "Menggunakan",
"idle": "Beberapa masa",
- "filter-cubes": "Penapis kubus anda"
+ "find-your-cube": "Cari kiub anda",
+ "name": "Nama",
+ "new-collection": "Koleksi baru",
+ "options": "Pilihan"
},
"Cubes-modal": {
- "title-editing": "Edit Kubus",
- "title-creating": "Kubus Baru",
- "error-name": "Nama kubus tidak ada",
- "error-duplicate": "Nama kubus sudah digunakan",
- "current-select": "Pilihan semasa:",
- "question-delete": "Adakah anda pasti ingin memadam?",
- "warning-delete": "Tindakan tidak dapat dikembalikan ini akan memadam semua sejarah penyelesaian untuk kubus ini dan mungkin memberi kesan kepada statistik anda.",
- "placeholder": "Jenama | Model | Versi | Magnetik?"
+ "category": "kategori",
+ "current-selection": "Pilihan semasa:",
+ "danger-msg": "Mengubah suai kategori koleksi juga mengubah penyelesaian yang dikaitkan dengan kategori itu.",
+ "delete-collection": "Padamkan koleksi",
+ "delete-collection-description": "Koleksi kiub ini akan dipadamkan, bersama-sama dengan semua penyelesaian, rekod dan tetapannya.",
+ "edit-collection": "Edit koleksi",
+ "input-collection-name": "Masukkan nama koleksi",
+ "name": "Nama",
+ "new-collection": "Koleksi baru",
+ "new-collection-description": "Koleksi kiub membolehkan anda menjejaki sejarah setiap kiub tanpa menjejaskan statistik kategori keseluruhan.",
+ "select-an-option": "Pilih satu pilihan",
+ "to-continue": "untuk meneruskan:",
+ "warning-alert": "Amaran:",
+ "warning-msg": "Tindakan ini tidak boleh diterbalikkan."
},
"Inputs": {
"select": "Pilih",
- "add-cube": "Tambah kubus",
"favorites": "Kegemaran",
- "list": "Senarai",
- "trash-all": "Buang Semua",
- "move-all": "Pindahkan Semua",
"create": "Cipta",
- "confirm": "Sahkan",
"cancel": "Batal",
- "save": "Simpan",
- "delete": "Padam"
+ "continue": "teruskan",
+ "move": "Bergerak",
+ "none": "tiada"
},
"Settings-menu": {
"title": "Tetapan",
@@ -114,7 +134,16 @@
"custom-background-image": "Gambar Latar Belakang Kustom",
"format": "Format",
"allowed-file-types": "Hanya fail imej (JPEG, PNG, GIF) yang dibenarkan.",
- "max-file-size": "Saiz fail maksimum yang dibenarkan"
+ "max-file-size": "Saiz fail maksimum yang dibenarkan",
+ "about": "Tentang",
+ "auto-select": "Autopilih pada permulaan",
+ "data": "Data Apl",
+ "export-to-file": "Eksport ke fail",
+ "import-from-file": "Import daripada fail",
+ "legend": "NexusTimer ialah alat web tanpa pendapat, minimalis dan sumber terbuka untuk SpeedCubing.",
+ "preferences": "Keutamaan",
+ "report-bug": "Laporkan pepijat",
+ "suggest": "Cadangkan perubahan"
},
"backup-modal": {
"title": "Pemulihan Pencadangan Pintar",
@@ -124,6 +153,17 @@
"loading-part-1": "Tindakan ini mengambil masa kurang dari satu minit.",
"loading-part-2": "Sila tunggu, jangan tutup tetingkap ini.",
"welcome": "Selamat Datang:"
+ },
+ "Errors": {
+ "empty-input": "Sila masukkan nilai",
+ "not-match": "Nama tidak sepadan.",
+ "repeated-name": "Koleksi nama itu sudah wujud."
+ },
+ "tooltips": {
+ "bookmark": "Penanda buku",
+ "copy": "salin",
+ "delete": "Padam",
+ "plus-two": "2 Penalti"
}
},
"Metadata": {
diff --git a/messages/nl.json b/messages/nl.json
index 37f5b4e0..fbc743bf 100644
--- a/messages/nl.json
+++ b/messages/nl.json
@@ -1,7 +1,6 @@
{
"Index": {
"HomePage": {
- "title": "Timer",
"hint": "Hint",
"optimal-yellow-layer": "Optimale Gele Laag",
"solving": "Oplossen...",
@@ -23,41 +22,57 @@
},
"SolvesPage": {
"title": "Oplossingen",
- "search-by-time": "⏱︎ Zoek op tijd",
- "finalize-session": "Sessie afronden",
- "eliminate-session": "Sessie verwijderen",
- "archive-sessions-legend": "Deze actie zal alle lopende sessies van dezelfde categorie archiveren.",
- "delete-session-legend": "Deze actie verwijdert alleen uw huidige oplossingen met de geselecteerde kubus.",
- "archive": "Archiveren",
- "unarchive": "De-archiveren",
- "copy": "Kopiëren",
- "remove": "Verwijderen",
- "enter-a-comment": "Voer een opmerking in",
"session": "Sessie",
"all": "Alle",
- "no-cube-selection": "Geen kubus geselecteerd, kies er een...",
- "no-solves": "Er zijn geen oplossingen om te tonen!",
"time": "Tijd",
- "sort-by": "Sorteer op...",
"descending": "Aflopend",
"date": "Datum",
- "ascending": "Oplopend"
+ "ascending": "Oplopend",
+ "alert": {
+ "empty-cubes": "Geen kubus geselecteerd. \nKies er alstublieft één.",
+ "title": "Aandacht!"
+ },
+ "dialogs": {
+ "move-to-history": "Verplaats oplossingen naar de geschiedenis?",
+ "move-to-history-para": "Je kunt ze openen door op de geschiedenisschakelaar te tikken."
+ },
+ "empty-solves": "Hier nog niets!",
+ "empty-solves-description": "Tik op de schakelaar bovenaan het scherm om je geschiedenis te bekijken.",
+ "filter-by-time": "Filter op tijd",
+ "historial": "Historisch",
+ "last": "Laatst",
+ "order": "Volgorde",
+ "share": "Deel",
+ "share-clipboard": {
+ "average": "Gemiddeld",
+ "header": "Gegenereerd door NexusTimer",
+ "list-of-times": "Lijst met tijden"
+ },
+ "sort": "Soort",
+ "toast": {
+ "success-copy": "Gekopieerd",
+ "success-copy-description": "Is naar uw klembord gekopieerd.",
+ "unable-action": "Kan geen actie ondernemen",
+ "warning-select-cube": "Selecteer eerst een kubus."
+ },
+ "tooltips": {
+ "move-to-history": "Verplaats oplossingen voor de geschiedenis"
+ }
},
"StatsPage": {
"title": "Statistieken",
- "total": "Totaal",
- "category": "Categorie",
"global": "Globaal",
"sessions": "Sessies",
"best-time": "Beste Tijd",
"average": "Gemiddelde",
"time-spent": "Tijd besteed",
"success-rate": "Succespercentage",
- "counter": "Teller"
+ "counter": "Teller",
+ "advanced": "Geavanceerd",
+ "overall": "Algemeen"
},
"CubesPage": {
"title": "Kubussen",
- "cube": "Kubus",
"no-cubes-for-display": "Geen kubussen om weer te geven.",
"favorite": "Favoriet",
"category": "Categorie",
@@ -66,30 +81,35 @@
"status": "Status",
"using": "Gebruikend",
"idle": "Inactief",
- "filter-cubes": "Filter uw kubussen"
+ "find-your-cube": "Vind je kubus",
+ "name": "Naam",
+ "new-collection": "Nieuwe collectie",
+ "options": "Opties"
},
"Cubes-modal": {
- "title-editing": "Kubus Bewerken",
- "title-creating": "Nieuwe Kubus",
- "error-name": "Kubusnaam ontbreekt",
- "error-duplicate": "Kubusnaam is al in gebruik",
- "current-select": "Huidige selectie:",
- "question-delete": "Weet u zeker dat u wilt verwijderen?",
- "warning-delete": "Deze onomkeerbare actie zal alle oplossingsgeschiedenis voor deze kubus verwijderen en kan invloed hebben op uw statistieken.",
- "placeholder": "Merk | Model | Versie | Magnetisch?"
+ "category": "Categorie",
+ "current-selection": "Huidige selectie:",
+ "danger-msg": "Het wijzigen van de verzamelingscategorie verandert ook de oplossingen die aan die categorie zijn gekoppeld.",
+ "delete-collection": "Verzameling verwijderen",
+ "delete-collection-description": "Deze kubusverzameling wordt verwijderd, samen met alle oplossingen, records en instellingen ervan.",
+ "edit-collection": "Verzameling bewerken",
+ "input-collection-name": "Voer de collectienaam in",
+ "name": "Naam",
+ "new-collection": "Nieuwe collectie",
+ "new-collection-description": "Met kubuscollecties kunt u de geschiedenis van elke kubus bijhouden zonder de algemene categoriestatistieken te beïnvloeden.",
+ "select-an-option": "Selecteer een optie",
+ "to-continue": "doorgaan:",
+ "warning-alert": "Waarschuwing:",
+ "warning-msg": "Deze actie is niet omkeerbaar."
},
"Inputs": {
"select": "Selecteer",
- "add-cube": "Kubus Toevoegen",
"favorites": "Favorieten",
- "list": "Lijst",
- "trash-all": "Alles Verwijderen",
- "move-all": "Alles Verplaatsen",
"create": "Creëren",
- "confirm": "Bevestigen",
"cancel": "Annuleren",
- "save": "Opslaan",
- "delete": "Verwijderen"
+ "continue": "Doorgaan",
+ "move": "Beweging",
+ "none": "Geen"
},
"Settings-menu": {
"title": "Instellingen",
@@ -114,7 +134,16 @@
"custom-background-image": "Aangepaste achtergrondafbeelding",
"format": "Formaat",
"allowed-file-types": "Alleen afbeeldingsbestanden (JPEG, PNG, GIF) zijn toegestaan.",
- "max-file-size": "Maximale bestandsgrootte toegestaan"
+ "max-file-size": "Maximale bestandsgrootte toegestaan",
+ "about": "Over",
+ "auto-select": "Automatische selectie bij opstarten",
+ "data": "App-gegevens",
+ "export-to-file": "Exporteren naar bestand",
+ "import-from-file": "Importeren uit bestand",
+ "legend": "NexusTimer is een meningloze, minimalistische en open source webtool voor SpeedCubing.",
+ "preferences": "Voorkeuren",
+ "report-bug": "Rapporteer een bug",
+ "suggest": "Stel een wijziging voor"
},
"backup-modal": {
"title": "Intelligente Back-up Herstel",
@@ -124,6 +153,17 @@
"loading-part-1": "Deze actie duurt minder dan een minuut.",
"loading-part-2": "Even geduld aub, sluit dit venster niet.",
"welcome": "Welkom:"
+ },
+ "Errors": {
+ "empty-input": "Voer een waarde in",
+ "not-match": "De naam komt niet overeen.",
+ "repeated-name": "Die naamverzameling bestaat al."
+ },
+ "tooltips": {
+ "bookmark": "Bladwijzer",
+ "copy": "Kopiëren",
+ "delete": "Verwijderen",
+ "plus-two": "2 Straf"
}
},
"Metadata": {
diff --git a/messages/no.json b/messages/no.json
index 8b7128e5..e5cba0ae 100644
--- a/messages/no.json
+++ b/messages/no.json
@@ -1,7 +1,6 @@
{
"Index": {
"HomePage": {
- "title": "Timer",
"hint": "Hint",
"optimal-yellow-layer": "Optimal Gul Lag",
"solving": "Løser...",
@@ -23,41 +22,57 @@
},
"SolvesPage": {
"title": "Løsninger",
- "search-by-time": "⏱︎ Søk etter tid",
- "finalize-session": "Fullfør økt",
- "eliminate-session": "Fjern økt",
- "archive-sessions-legend": "Denne handlingen vil arkivere alle pågående økter fra samme kategori.",
- "delete-session-legend": "Denne handlingen vil bare slette dine gjeldende løsninger med den valgte kuben.",
- "archive": "Arkiv",
- "unarchive": "Avarkiv",
- "copy": "Kopiere",
- "remove": "Fjerne",
- "enter-a-comment": "Skriv en kommentar",
"session": "Økt",
"all": "Alle",
- "no-cube-selection": "Ingen kube valgt, velg en...",
- "no-solves": "Det er ingen løsninger å vise!",
"time": "Tid",
- "sort-by": "Sorter etter...",
"descending": "Synkende",
"date": "Dato",
- "ascending": "Stigende"
+ "ascending": "Stigende",
+ "alert": {
+ "empty-cubes": "Ingen kube valgt. \nVennligst velg en.",
+ "title": "Oppmerksomhet!"
+ },
+ "dialogs": {
+ "move-to-history": "Flytte løsninger til historien?",
+ "move-to-history-para": "Du vil få tilgang til dem ved å trykke på historiebryteren."
+ },
+ "empty-solves": "Ingenting her ennå!",
+ "empty-solves-description": "Trykk på bryteren øverst på skjermen for å se loggen din.",
+ "filter-by-time": "Filtrer etter tid",
+ "historial": "Historisk",
+ "last": "Siste",
+ "order": "Bestille",
+ "share": "Dele",
+ "share-clipboard": {
+ "average": "Gjennomsnittlig",
+ "header": "Generert av NexusTimer",
+ "list-of-times": "Liste over tider"
+ },
+ "sort": "Sortere",
+ "toast": {
+ "success-copy": "Kopiert vellykket",
+ "success-copy-description": "Har blitt kopiert til utklippstavlen din.",
+ "unable-action": "Kan ikke gjøres",
+ "warning-select-cube": "Vennligst velg en kube før."
+ },
+ "tooltips": {
+ "move-to-history": "Flytt løser til historien"
+ }
},
"StatsPage": {
"title": "Statistikk",
- "total": "Total",
- "category": "Kategori",
"global": "Global",
"sessions": "Økter",
"best-time": "Beste Tid",
"average": "Gjennomsnitt",
"time-spent": "Tid Brukt",
"success-rate": "Suksessrate",
- "counter": "Tellende"
+ "counter": "Tellende",
+ "advanced": "Avansert",
+ "overall": "Totalt sett"
},
"CubesPage": {
"title": "Kuber",
- "cube": "Kube",
"no-cubes-for-display": "Ingen kuber å vise.",
"favorite": "Favoritt",
"category": "Kategori",
@@ -66,30 +81,35 @@
"status": "Status",
"using": "Bruker",
"idle": "Inaktiv",
- "filter-cubes": "Filtrer kubene dine"
+ "find-your-cube": "Finn kuben din",
+ "name": "Navn",
+ "new-collection": "Ny kolleksjon",
+ "options": "Alternativer"
},
"Cubes-modal": {
- "title-editing": "Rediger Kube",
- "title-creating": "Ny Kube",
- "error-name": "Kubenavn mangler",
- "error-duplicate": "Kubenavn allerede i bruk",
- "current-select": "Gjeldende valg:",
- "question-delete": "Er du sikker på at du vil slette?",
- "warning-delete": "Denne ugjenkallelige handlingen vil slette all løsningshistorikk for denne kuben og kan påvirke statistikken din.",
- "placeholder": "Merk | Modell | Versjon | Magnetisk?"
+ "category": "Kategori",
+ "current-selection": "Gjeldende utvalg:",
+ "danger-msg": "Ved å endre samlingskategorien endres også løsningene knyttet til den kategorien.",
+ "delete-collection": "Slett samling",
+ "delete-collection-description": "Denne kubesamlingen vil bli slettet, sammen med alle dens løsninger, poster og innstillinger.",
+ "edit-collection": "Rediger samling",
+ "input-collection-name": "Skriv inn samlingsnavnet",
+ "name": "Navn",
+ "new-collection": "Ny kolleksjon",
+ "new-collection-description": "Kubesamlinger lar deg holde styr på hver kubes historie uten å påvirke den generelle kategoristatistikken.",
+ "select-an-option": "Velg et alternativ",
+ "to-continue": "for å fortsette:",
+ "warning-alert": "Advarsel:",
+ "warning-msg": "Denne handlingen er ikke reversibel."
},
"Inputs": {
"select": "Velg",
- "add-cube": "Legg til kube",
"favorites": "Favoritter",
- "list": "Liste",
- "trash-all": "Kast Alt",
- "move-all": "Flytt Alt",
"create": "Opprett",
- "confirm": "Bekreft",
"cancel": "Avbryt",
- "save": "Lagre",
- "delete": "Slett"
+ "continue": "Fortsette",
+ "move": "Flytte",
+ "none": "Ingen"
},
"Settings-menu": {
"title": "Innstillinger",
@@ -114,7 +134,16 @@
"custom-background-image": "Tilpasset bakgrunnsbilde",
"format": "Format",
"allowed-file-types": "Bare bildefiler (JPEG, PNG, GIF) er tillatt.",
- "max-file-size": "Maksimal filstørrelse tillatt"
+ "max-file-size": "Maksimal filstørrelse tillatt",
+ "about": "Om",
+ "auto-select": "Automatisk valg ved oppstart",
+ "data": "Appdata",
+ "export-to-file": "Eksporter til fil",
+ "import-from-file": "Importer fra fil",
+ "legend": "NexusTimer er et meningsløst, minimalistisk og åpen kildekode-nettverktøy for SpeedCubing.",
+ "preferences": "Preferanser",
+ "report-bug": "Rapporter en feil",
+ "suggest": "Foreslå en endring"
},
"backup-modal": {
"title": "Intelligent Sikkerhetskopiering Gjenoppretting",
@@ -124,6 +153,17 @@
"loading-part-1": "Denne handlingen tar mindre enn ett minutt.",
"loading-part-2": "Vennligst vent, ikke lukk dette vinduet.",
"welcome": "Velkommen:"
+ },
+ "Errors": {
+ "empty-input": "Vennligst skriv inn en verdi",
+ "not-match": "Navnet stemmer ikke.",
+ "repeated-name": "Den navnesamlingen finnes allerede."
+ },
+ "tooltips": {
+ "bookmark": "Bokmerke",
+ "copy": "Kopiere",
+ "delete": "Slett",
+ "plus-two": "2 Straffe"
}
},
"Metadata": {
diff --git a/messages/pl.json b/messages/pl.json
index 7a533554..bf748af9 100644
--- a/messages/pl.json
+++ b/messages/pl.json
@@ -1,7 +1,6 @@
{
"Index": {
"HomePage": {
- "title": "Stoper",
"hint": "Wskazówka",
"optimal-yellow-layer": "Optymalna Żółta Warstwa",
"solving": "Rozwiązywanie...",
@@ -23,41 +22,57 @@
},
"SolvesPage": {
"title": "Rozwiązania",
- "search-by-time": "⏱︎ Szukaj według czasu",
- "finalize-session": "Zakończ sesję",
- "eliminate-session": "Usuń sesję",
- "archive-sessions-legend": "Ta czynność spowoduje zarchiwizowanie wszystkich trwających sesji z tej samej kategorii.",
- "delete-session-legend": "Ta czynność usunie tylko Twoje aktualne rozwiązania z wybranej kostki.",
- "archive": "Archiwum",
- "unarchive": "Usuń z archiwum",
- "copy": "Kopiuj",
- "remove": "Usuń",
- "enter-a-comment": "Wprowadź komentarz",
"session": "Sesja",
"all": "Wszystkie",
- "no-cube-selection": "Nie wybrano kostki, wybierz jedną...",
- "no-solves": "Brak rozwiązań do wyświetlenia!",
"time": "Czas",
"descending": "Malejąco",
"date": "Data",
"ascending": "Rosnąco",
- "sort-by": "Sortuj według..."
+ "alert": {
+ "empty-cubes": "Nie wybrano kostki. \nProszę wybrać jeden.",
+ "title": "Uwaga!"
+ },
+ "dialogs": {
+ "move-to-history": "Przenieść rozwiązania do historii?",
+ "move-to-history-para": "Będziesz mieć do nich dostęp, dotykając przełącznika historii."
+ },
+ "empty-solves": "Jeszcze nic tu nie ma!",
+ "empty-solves-description": "Kliknij przełącznik u góry ekranu, aby zobaczyć swoją historię.",
+ "filter-by-time": "Filtruj według czasu",
+ "historial": "Historyczny",
+ "last": "Ostatni",
+ "order": "Zamówienie",
+ "share": "Udział",
+ "share-clipboard": {
+ "average": "Przeciętny",
+ "header": "Wygenerowane przez NexusTimer",
+ "list-of-times": "Lista razy"
+ },
+ "sort": "Sortować",
+ "toast": {
+ "success-copy": "Skopiowano pomyślnie",
+ "success-copy-description": "Został skopiowany do Twojego schowka.",
+ "unable-action": "Nie można wykonać działania",
+ "warning-select-cube": "Proszę wybrać kostkę wcześniej."
+ },
+ "tooltips": {
+ "move-to-history": "Przenieś rozwiązania do historii"
+ }
},
"StatsPage": {
"title": "Statystyki",
- "total": "Całkowity",
- "category": "Kategoria",
"global": "Globalne",
"sessions": "Sesje",
"best-time": "Najlepszy Czas",
"average": "Średni",
"time-spent": "Spędzony czas",
"success-rate": "Wskaźnik sukcesu",
- "counter": "Licznik"
+ "counter": "Licznik",
+ "advanced": "Zaawansowany",
+ "overall": "Ogólnie"
},
"CubesPage": {
"title": "Kostki",
- "cube": "Kostka",
"no-cubes-for-display": "Brak kostek do wyświetlenia.",
"favorite": "Ulubione",
"category": "Kategoria",
@@ -66,30 +81,35 @@
"status": "Status",
"using": "Używając",
"idle": "Bezczynny",
- "filter-cubes": "Filtruj swoje kostki"
+ "find-your-cube": "Znajdź swoją kostkę",
+ "name": "Nazwa",
+ "new-collection": "Nowa kolekcja",
+ "options": "Opcje"
},
"Cubes-modal": {
- "title-editing": "Edytuj Kostkę",
- "title-creating": "Nowa Kostka",
- "error-name": "Brakuje nazwy kostki",
- "error-duplicate": "Nazwa kostki jest już używana",
- "current-select": "Aktualny wybór:",
- "question-delete": "Czy na pewno chcesz usunąć?",
- "warning-delete": "Ta nieodwracalna czynność spowoduje usunięcie całej historii rozwiązań dla tej kostki i może wpłynąć na Twoje statystyki.",
- "placeholder": "Marka | Model | Wersja | Magnetyczna?"
+ "category": "Kategoria",
+ "current-selection": "Aktualny wybór:",
+ "danger-msg": "Modyfikowanie kategorii kolekcji powoduje również zmianę rozwiązań skojarzonych z tą kategorią.",
+ "delete-collection": "Usuń kolekcję",
+ "delete-collection-description": "Ta kolekcja kostek zostanie usunięta wraz ze wszystkimi jej rozwiązaniami, rekordami i ustawieniami.",
+ "edit-collection": "Edytuj kolekcję",
+ "input-collection-name": "Wpisz nazwę kolekcji",
+ "name": "Nazwa",
+ "new-collection": "Nowa kolekcja",
+ "new-collection-description": "Kolekcje kostek umożliwiają śledzenie historii każdej kostki bez wpływu na ogólne statystyki kategorii.",
+ "select-an-option": "Wybierz opcję",
+ "to-continue": "kontynuować:",
+ "warning-alert": "Ostrzeżenie:",
+ "warning-msg": "To działanie nie jest odwracalne."
},
"Inputs": {
"select": "Wybierz",
- "add-cube": "Dodaj kostkę",
"favorites": "Ulubione",
- "list": "Lista",
- "trash-all": "Wyrzuć wszystko",
- "move-all": "Przenieś wszystko",
"create": "Utwórz",
- "confirm": "Potwierdź",
"cancel": "Anuluj",
- "save": "Zapisz",
- "delete": "Usuń"
+ "continue": "Kontynuować",
+ "move": "Przenosić",
+ "none": "Nic"
},
"Settings-menu": {
"title": "Ustawienia",
@@ -114,7 +134,16 @@
"custom-background-image": "Niestandardowy obraz tła",
"format": "Format",
"allowed-file-types": "Dozwolone są tylko pliki obrazów (JPEG, PNG, GIF).",
- "max-file-size": "Maksymalny dozwolony rozmiar pliku"
+ "max-file-size": "Maksymalny dozwolony rozmiar pliku",
+ "about": "O",
+ "auto-select": "Automatyczny wybór przy uruchomieniu",
+ "data": "Dane aplikacji",
+ "export-to-file": "Eksportuj do pliku",
+ "import-from-file": "Importuj z pliku",
+ "legend": "NexusTimer to bezstronne, minimalistyczne narzędzie internetowe typu open source dla SpeedCubing.",
+ "preferences": "Preferencje",
+ "report-bug": "Zgłoś błąd",
+ "suggest": "Zaproponuj zmianę"
},
"backup-modal": {
"title": "Inteligentne Przywracanie Kopii Zapasowej",
@@ -124,6 +153,17 @@
"loading-part-1": "Ta operacja zajmuje mniej niż minutę.",
"loading-part-2": "Proszę czekać, nie zamykaj tego okna.",
"welcome": "Witaj:"
+ },
+ "Errors": {
+ "empty-input": "Proszę wprowadzić wartość",
+ "not-match": "Imię nie pasuje.",
+ "repeated-name": "Ta kolekcja nazw już istnieje."
+ },
+ "tooltips": {
+ "bookmark": "Zakładka w książce",
+ "copy": "Kopia",
+ "delete": "Usuwać",
+ "plus-two": "2 Kara"
}
},
"Metadata": {
diff --git a/messages/pt.json b/messages/pt.json
index 0e8867d2..c6c4668c 100644
--- a/messages/pt.json
+++ b/messages/pt.json
@@ -1,7 +1,6 @@
{
"Index": {
"HomePage": {
- "title": "Cronômetro",
"hint": "Dica",
"optimal-yellow-layer": "Camada Amarela Ótima",
"solving": "Resolvendo...",
@@ -23,41 +22,57 @@
},
"SolvesPage": {
"title": "Soluções",
- "search-by-time": "⏱︎ Pesquisar por tempo",
- "finalize-session": "Finalizar sessão",
- "eliminate-session": "Eliminar sessão",
- "archive-sessions-legend": "Esta ação arquivará todas as sessões em andamento da mesma categoria.",
- "delete-session-legend": "Esta ação excluirá apenas suas soluções atuais com o cubo selecionado.",
- "archive": "Arquivar",
- "unarchive": "Desarquivar",
- "copy": "Copiar",
- "remove": "Remover",
- "enter-a-comment": "Digite um comentário",
"session": "Sessão",
"all": "Todos",
- "no-cube-selection": "Nenhum cubo selecionado, escolha um...",
- "no-solves": "Não há soluções para mostrar!",
"time": "Tempo",
- "sort-by": "Ordenar por...",
"descending": "descendente",
"date": "Data",
- "ascending": "Ascendente"
+ "ascending": "Ascendente",
+ "alert": {
+ "empty-cubes": "Nenhum cubo selecionado. \nPor favor escolha um.",
+ "title": "Atenção!"
+ },
+ "dialogs": {
+ "move-to-history": "Mover resolve para a história?",
+ "move-to-history-para": "Você poderá acessá-los tocando no botão de histórico."
+ },
+ "empty-solves": "Nada aqui ainda!",
+ "empty-solves-description": "Toque no botão na parte superior da tela para ver seu histórico.",
+ "filter-by-time": "Filtrar por tempo",
+ "historial": "Histórico",
+ "last": "Durar",
+ "order": "Ordem",
+ "share": "Compartilhar",
+ "share-clipboard": {
+ "average": "Média",
+ "header": "Gerado por NexusTimer",
+ "list-of-times": "Lista de horários"
+ },
+ "sort": "Organizar",
+ "toast": {
+ "success-copy": "Copiado com sucesso",
+ "success-copy-description": "Foi copiado para sua área de transferência.",
+ "unable-action": "Ação impossível",
+ "warning-select-cube": "Selecione um cubo antes."
+ },
+ "tooltips": {
+ "move-to-history": "Mover resolve para a história"
+ }
},
"StatsPage": {
"title": "Estatísticas",
- "total": "Total",
- "category": "Categoria",
"global": "Global",
"sessions": "Sessões",
"best-time": "Melhor Tempo",
"average": "Média",
"time-spent": "Tempo Gasto",
"success-rate": "Taxa de Sucesso",
- "counter": "Contador"
+ "counter": "Contador",
+ "advanced": "Avançado",
+ "overall": "Geral"
},
"CubesPage": {
"title": "Cubos",
- "cube": "Cubo",
"no-cubes-for-display": "Sem cubos para exibir.",
"favorite": "Favorito",
"category": "Categoria",
@@ -66,30 +81,35 @@
"status": "Status",
"using": "Usando",
"idle": "Inativo",
- "filter-cubes": "Filtrar seus cubos"
+ "find-your-cube": "Encontre o seu cubo",
+ "name": "Nome",
+ "new-collection": "Nova coleção",
+ "options": "Opções"
},
"Cubes-modal": {
- "title-editing": "Editar Cubo",
- "title-creating": "Novo Cubo",
- "error-name": "Falta o nome do cubo",
- "error-duplicate": "Nome do cubo já em uso",
- "current-select": "Seleção atual:",
- "question-delete": "Tem certeza de que deseja excluir?",
- "warning-delete": "Esta ação irreversível excluirá todo o histórico de soluções para este cubo e pode afetar suas estatísticas.",
- "placeholder": "Marca | Modelo | Versão | Magnético?"
+ "category": "Categoria",
+ "current-selection": "Seleção atual:",
+ "danger-msg": "Modificar a categoria da coleção também altera as soluções associadas a essa categoria.",
+ "delete-collection": "Excluir coleção",
+ "delete-collection-description": "Esta coleção de cubos será excluída, juntamente com todas as suas soluções, registros e configurações.",
+ "edit-collection": "Editar coleção",
+ "input-collection-name": "Digite o nome da coleção",
+ "name": "Nome",
+ "new-collection": "Nova coleção",
+ "new-collection-description": "As coleções de cubos permitem que você acompanhe o histórico de cada cubo sem afetar as estatísticas gerais da categoria.",
+ "select-an-option": "Selecione uma opção",
+ "to-continue": "para continuar:",
+ "warning-alert": "Aviso:",
+ "warning-msg": "Esta ação não é reversível."
},
"Inputs": {
"select": "Selecionar",
- "add-cube": "Adicionar cubo",
"favorites": "Favoritos",
- "list": "Lista",
- "trash-all": "Excluir todos",
- "move-all": "Mover todos",
"create": "Criar",
- "confirm": "Confirmar",
"cancel": "Cancelar",
- "save": "Salvar",
- "delete": "Excluir"
+ "continue": "Continuar",
+ "move": "Mover",
+ "none": "Nenhum"
},
"Settings-menu": {
"title": "Configurações",
@@ -114,7 +134,16 @@
"custom-background-image": "Imagem de fundo personalizada",
"format": "Formato",
"allowed-file-types": "Somente arquivos de imagem (JPEG, PNG, GIF) são permitidos.",
- "max-file-size": "Tamanho máximo de arquivo permitido"
+ "max-file-size": "Tamanho máximo de arquivo permitido",
+ "about": "Sobre",
+ "auto-select": "Seleção automática na inicialização",
+ "data": "Dados do aplicativo",
+ "export-to-file": "Exportar para arquivo",
+ "import-from-file": "Importar do arquivo",
+ "legend": "NexusTimer é uma ferramenta web sem opinião, minimalista e de código aberto para SpeedCubing.",
+ "preferences": "Preferências",
+ "report-bug": "Reportar um bug",
+ "suggest": "Sugira uma mudança"
},
"backup-modal": {
"title": "Restauração Inteligente de Backup",
@@ -124,6 +153,17 @@
"loading-part-1": "Esta ação leva menos de um minuto.",
"loading-part-2": "Por favor, aguarde, não feche esta janela.",
"welcome": "Bem-vindo:"
+ },
+ "Errors": {
+ "empty-input": "Por favor insira um valor",
+ "not-match": "O nome não corresponde.",
+ "repeated-name": "Essa coleção de nomes já existe."
+ },
+ "tooltips": {
+ "bookmark": "Marcador",
+ "copy": "Cópia",
+ "delete": "Excluir",
+ "plus-two": "2 Penalidade"
}
},
"Metadata": {
diff --git a/messages/ro.json b/messages/ro.json
index b982af8e..b3c0e6ea 100644
--- a/messages/ro.json
+++ b/messages/ro.json
@@ -1,7 +1,6 @@
{
"Index": {
"HomePage": {
- "title": "Cronometru",
"hint": "Sugestie",
"optimal-yellow-layer": "Stratul Galben Optim",
"solving": "Rezolvare...",
@@ -23,41 +22,57 @@
},
"SolvesPage": {
"title": "Soluții",
- "search-by-time": "⏱️ Căutați după timp",
- "finalize-session": "Finalizați sesiunea",
- "eliminate-session": "Eliminați sesiunea",
- "archive-sessions-legend": "Această acțiune va arhiva toate sesiunile în curs din aceeași categorie.",
- "delete-session-legend": "Această acțiune va șterge doar soluțiile curente cu cubul selectat.",
- "archive": "Arhivă",
- "unarchive": "Dezarhivare",
- "copy": "Copiere",
- "remove": "Eliminare",
- "enter-a-comment": "Introduceți un comentariu",
"session": "Sesiune",
"all": "Toate",
- "no-cube-selection": "Niciun cub selectat, alegeți unul...",
- "no-solves": "Nu sunt soluții de afișat!",
"time": "Timp",
- "sort-by": "Filtrează după...",
"descending": "Descendentă",
"date": "Data",
- "ascending": "Ascendent"
+ "ascending": "Ascendent",
+ "alert": {
+ "empty-cubes": "Niciun cub selectat. \nVă rugăm să alegeți unul.",
+ "title": "Atenţie!"
+ },
+ "dialogs": {
+ "move-to-history": "Mutați soluțiile în istorie?",
+ "move-to-history-para": "Le veți putea accesa atingând comutatorul istoric."
+ },
+ "empty-solves": "Nimic aici încă!",
+ "empty-solves-description": "Atingeți comutatorul din partea de sus a ecranului pentru a vedea istoricul dvs.",
+ "filter-by-time": "Filtrați după timp",
+ "historial": "istoric",
+ "last": "Dura",
+ "order": "Comanda",
+ "share": "Distribuie",
+ "share-clipboard": {
+ "average": "Medie",
+ "header": "Generat de NexusTimer",
+ "list-of-times": "Lista de timpuri"
+ },
+ "sort": "Sorta",
+ "toast": {
+ "success-copy": "Copiat cu succes",
+ "success-copy-description": "A fost copiat în clipboard.",
+ "unable-action": "Acțiune imposibilă",
+ "warning-select-cube": "Vă rugăm să selectați un cub înainte."
+ },
+ "tooltips": {
+ "move-to-history": "Mutați rezolvările în istorie"
+ }
},
"StatsPage": {
"title": "Statistici",
- "total": "Total",
- "category": "Categorie",
"global": "Global",
"sessions": "Sesiuni",
"best-time": "Cel mai bun timp",
"average": "Medie",
"time-spent": "Timp petrecut",
"success-rate": "Rată de succes",
- "counter": "Contor"
+ "counter": "Contor",
+ "advanced": "Avansat",
+ "overall": "În general"
},
"CubesPage": {
"title": "Cuburi",
- "cube": "Cub",
"no-cubes-for-display": "Nu există cuburi de afișat.",
"favorite": "Favorit",
"category": "Categorie",
@@ -66,30 +81,35 @@
"status": "Stare",
"using": "Utilizând",
"idle": "Inactiv",
- "filter-cubes": "Filtrare cuburi"
+ "find-your-cube": "Găsește-ți cubul",
+ "name": "Nume",
+ "new-collection": "Noua colectie",
+ "options": "Opțiuni"
},
"Cubes-modal": {
- "title-editing": "Editare Cub",
- "title-creating": "Cub Nou",
- "error-name": "Lipsește numele cubului",
- "error-duplicate": "Numele cubului este deja utilizat",
- "current-select": "Selectare curentă:",
- "question-delete": "Sigur doriți să ștergeți?",
- "warning-delete": "Această acțiune ireversibilă va șterge întreaga istorie de soluții pentru acest cub și ar putea afecta statisticile dvs.",
- "placeholder": "Marcă | Model | Versiune | Magnet?"
+ "category": "Categorie",
+ "current-selection": "Selecția curentă:",
+ "danger-msg": "Modificarea categoriei de colecție modifică și rezolvările asociate acelei categorii.",
+ "delete-collection": "Ștergeți colecția",
+ "delete-collection-description": "Această colecție de cuburi va fi ștearsă, împreună cu toate rezolvările, înregistrările și setările sale.",
+ "edit-collection": "Editați colecția",
+ "input-collection-name": "Introduceți numele colecției",
+ "name": "Nume",
+ "new-collection": "Noua colectie",
+ "new-collection-description": "Colecțiile de cub vă permit să urmăriți istoricul fiecărui cub fără a afecta statisticile generale ale categoriei.",
+ "select-an-option": "Selectați o opțiune",
+ "to-continue": "a continua:",
+ "warning-alert": "Avertizare:",
+ "warning-msg": "Această acțiune nu este reversibilă."
},
"Inputs": {
"select": "Selectați",
- "add-cube": "Adăugați cub",
"favorites": "Favorite",
- "list": "Listă",
- "trash-all": "Aruncă tot",
- "move-all": "Mută tot",
"create": "Creează",
- "confirm": "Confirmare",
"cancel": "Anulare",
- "save": "Salvare",
- "delete": "Ștergere"
+ "continue": "Continua",
+ "move": "Mişcare",
+ "none": "Nici unul"
},
"Settings-menu": {
"title": "Setări",
@@ -114,7 +134,16 @@
"custom-background-image": "Imagine de fundal personalizată",
"format": "Format",
"allowed-file-types": "Sunt permise doar fișiere de imagine (JPEG, PNG, GIF).",
- "max-file-size": "Dimensiunea maximă a fișierului permisă"
+ "max-file-size": "Dimensiunea maximă a fișierului permisă",
+ "about": "Despre",
+ "auto-select": "Selectare automată la pornire",
+ "data": "Date aplicației",
+ "export-to-file": "Exportați în fișier",
+ "import-from-file": "Import din fișier",
+ "legend": "NexusTimer este un instrument web fără păreri, minimalist și open source pentru SpeedCubing.",
+ "preferences": "Preferințe",
+ "report-bug": "Raportați o eroare",
+ "suggest": "Sugerați o schimbare"
},
"backup-modal": {
"title": "Restaurare Inteligentă a Backup-ului",
@@ -124,6 +153,17 @@
"loading-part-1": "Această acțiune durează mai puțin de un minut.",
"loading-part-2": "Vă rugăm să așteptați, nu închideți această fereastră.",
"welcome": "Bun venit:"
+ },
+ "Errors": {
+ "empty-input": "Vă rugăm să introduceți o valoare",
+ "not-match": "Numele nu se potrivește.",
+ "repeated-name": "Această colecție de nume există deja."
+ },
+ "tooltips": {
+ "bookmark": "Marcaj",
+ "copy": "Copie",
+ "delete": "Şterge",
+ "plus-two": "2 pedeapsa"
}
},
"Metadata": {
diff --git a/messages/ru.json b/messages/ru.json
index 6a2aed78..e935a2c0 100644
--- a/messages/ru.json
+++ b/messages/ru.json
@@ -1,7 +1,6 @@
{
"Index": {
"HomePage": {
- "title": "Таймер",
"hint": "Подсказка",
"optimal-yellow-layer": "Оптимальный желтый слой",
"solving": "Решение...",
@@ -23,46 +22,57 @@
},
"SolvesPage": {
"title": "Решения",
- "search-by-time": "⏱️ Поиск по времени",
- "finalize-session": "Завершить сессию",
- "eliminate-session": "Удалить сессию",
- "archive-sessions-legend": "Это действие архивирует все текущие сессии из той же категории.",
- "delete-session-legend": "Это действие удалит только ваши текущие решения с выбранным кубом.",
- "archive": "Архивировать",
- "unarchive": "Разархивировать",
- "copy": "Копировать",
- "remove": "Удалить",
- "enter-a-comment": "Введите комментарий",
"session": "Сессия",
"all": "Все",
- "no-cube-selection": "Куб не выбран, выберите один...",
- "no-solves": "Нет решений для отображения!",
"ascending": "Восходящий",
"date": "Дата",
"descending": "По убыванию",
- "sort-by": "Сортировать по...",
"time": "Время",
"share": "Поделиться...",
- "share-stats-title": "Сгенерировано с помощью NexusTimer",
- "average": "Среднее из",
- "list-of-times": "Список времен",
- "last": "Последнее"
+ "last": "Последнее",
+ "alert": {
+ "empty-cubes": "Куб не выбран. \nПожалуйста, выберите один.",
+ "title": "Внимание!"
+ },
+ "dialogs": {
+ "move-to-history": "Переместить решения в историю?",
+ "move-to-history-para": "Вы сможете получить к ним доступ, нажав переключатель истории."
+ },
+ "empty-solves": "Здесь пока ничего!",
+ "empty-solves-description": "Нажмите переключатель в верхней части экрана, чтобы просмотреть свою историю.",
+ "filter-by-time": "Фильтровать по времени",
+ "historial": "исторический",
+ "order": "Заказ",
+ "share-clipboard": {
+ "average": "Средний",
+ "header": "Создано NexusTimer",
+ "list-of-times": "Список раз"
+ },
+ "sort": "Сортировать",
+ "toast": {
+ "success-copy": "Скопировано успешно",
+ "success-copy-description": "Скопировано в буфер обмена.",
+ "unable-action": "Невозможно выполнить действие",
+ "warning-select-cube": "Пожалуйста, выберите куб раньше."
+ },
+ "tooltips": {
+ "move-to-history": "Переместить решения в историю"
+ }
},
"StatsPage": {
"title": "Статистика",
- "total": "Всего",
- "category": "Категория",
"global": "Глобально",
"sessions": "Сессии",
"best-time": "Лучшее время",
"average": "Средний",
"time-spent": "Проведенное время",
"success-rate": "Успешность",
- "counter": "Счетчик"
+ "counter": "Счетчик",
+ "advanced": "Передовой",
+ "overall": "Общий"
},
"CubesPage": {
"title": "Кубики",
- "cube": "Кубик",
"no-cubes-for-display": "Нет кубиков для отображения.",
"favorite": "Избранный",
"category": "Категория",
@@ -71,31 +81,35 @@
"status": "Статус",
"using": "Используется",
"idle": "Неактивный",
- "filter-cubes": "Фильтровать кубики"
+ "find-your-cube": "Найди свой куб",
+ "name": "Имя",
+ "new-collection": "Новая коллекция",
+ "options": "Параметры"
},
"Cubes-modal": {
- "title-editing": "Редактирование Кубика",
- "title-creating": "Новый Кубик",
- "error-name": "Отсутствует название кубика",
- "error-duplicate": "Название кубика уже используется",
- "current-select": "Текущий выбор:",
- "question-delete": "Вы уверены, что хотите удалить?",
- "warning-delete": "Это необратимое действие удалит всю историю решений для этого кубика и может повлиять на ваши статистические данные.",
- "placeholder": "Марка | Модель | Версия | Магниты?"
+ "category": "Категория",
+ "current-selection": "Текущий выбор:",
+ "danger-msg": "Изменение категории коллекции также изменяет решения, связанные с этой категорией.",
+ "delete-collection": "Удалить коллекцию",
+ "delete-collection-description": "Эта коллекция кубов будет удалена вместе со всеми ее решениями, записями и настройками.",
+ "edit-collection": "Изменить коллекцию",
+ "input-collection-name": "Введите название коллекции",
+ "name": "Имя",
+ "new-collection": "Новая коллекция",
+ "new-collection-description": "Коллекции кубов позволяют отслеживать историю каждого куба, не затрагивая общую статистику по категориям.",
+ "select-an-option": "Выберите вариант",
+ "to-continue": "продолжить:",
+ "warning-alert": "Предупреждение:",
+ "warning-msg": "Это действие необратимо."
},
"Inputs": {
"select": "Выбрать",
- "add-cube": "Добавить кубик",
"favorites": "Избранное",
- "list": "Список",
- "trash-all": "Удалить все",
- "move-all": "Переместить все",
"create": "Создать",
- "confirm": "Подтвердить",
"cancel": "Отмена",
- "save": "Сохранить",
- "delete": "Удалить",
- "none": "Нет"
+ "none": "Нет",
+ "continue": "Продолжать",
+ "move": "Двигаться"
},
"Settings-menu": {
"title": "Настройки",
@@ -119,7 +133,6 @@
"theme": "Тема",
"data": "Данные приложения",
"preferences": "Предпочтения",
- "default-cube": "Кубик по умолчанию",
"import-from-file": "Импорт из файла",
"export-to-file": "Экспорт в файл",
"custom-background-image": "Пользовательское фоновое изображение",
@@ -129,7 +142,8 @@
"max-file-size": "Максимальный размер файла",
"suggest": "Предложить изменение",
"legend": "NexusTimer — это нейтральный, минималистичный и открытый веб-инструмент для SpeedCubing.",
- "report-bug": "Сообщить об ошибке"
+ "report-bug": "Сообщить об ошибке",
+ "auto-select": "Автоматический выбор при запуске"
},
"backup-modal": {
"title": "Интеллектуальное Восстановление Резервной Копии",
@@ -139,6 +153,17 @@
"loading-part-1": "Это действие займет менее минуты.",
"loading-part-2": "Пожалуйста, подождите, не закрывайте это окно.",
"welcome": "Добро пожаловать:"
+ },
+ "Errors": {
+ "empty-input": "Пожалуйста, введите значение",
+ "not-match": "Имя не соответствует.",
+ "repeated-name": "Эта коллекция имен уже существует."
+ },
+ "tooltips": {
+ "bookmark": "Закладка",
+ "copy": "Копировать",
+ "delete": "Удалить",
+ "plus-two": "2 пенальти"
}
},
"Metadata": {
diff --git a/messages/sk.json b/messages/sk.json
index eb69c411..5dc1b416 100644
--- a/messages/sk.json
+++ b/messages/sk.json
@@ -1,7 +1,6 @@
{
"Index": {
"HomePage": {
- "title": "Časovač",
"hint": "Nápoveda",
"optimal-yellow-layer": "Optimálna žltá vrstva",
"solving": "Riešenie...",
@@ -23,41 +22,57 @@
},
"SolvesPage": {
"title": "Riešenia",
- "search-by-time": "⏱️ Hľadať podľa času",
- "finalize-session": "Dokončiť reláciu",
- "eliminate-session": "Odstrániť reláciu",
- "archive-sessions-legend": "Táto akcia archivuje všetky aktuálne relácie z rovnakej kategórie.",
- "delete-session-legend": "Táto akcia vymaže iba vaše aktuálne riešenia s vybranou kockou.",
- "archive": "Archív",
- "unarchive": "Obnoviť archív",
- "copy": "Kopírovať",
- "remove": "Odstrániť",
- "enter-a-comment": "Vložiť komentár",
"session": "Relácia",
"all": "Všetky",
- "no-cube-selection": "Nevybrali ste kocku, vyberte jednu...",
- "no-solves": "Nie sú žiadne riešenia na zobrazenie!",
"ascending": "Vzostupne",
"date": "Dátum",
"descending": "Zostupne",
- "sort-by": "Triediť podľa...",
- "time": "Čas"
+ "time": "Čas",
+ "alert": {
+ "empty-cubes": "Nie je vybratá žiadna kocka. \nVyberte si jednu.",
+ "title": "Pozor!"
+ },
+ "dialogs": {
+ "move-to-history": "Presun rieši históriu?",
+ "move-to-history-para": "Budete k nim mať prístup klepnutím na prepínač histórie."
+ },
+ "empty-solves": "Zatiaľ tu nič nie je!",
+ "empty-solves-description": "Klepnutím na prepínač v hornej časti obrazovky zobrazíte svoju históriu.",
+ "filter-by-time": "Filtrujte podľa času",
+ "historial": "Historický",
+ "last": "Posledný",
+ "order": "Objednať",
+ "share": "zdieľať",
+ "share-clipboard": {
+ "average": "Priemerná",
+ "header": "Generuje NexusTimer",
+ "list-of-times": "Zoznam časov"
+ },
+ "sort": "Triediť",
+ "toast": {
+ "success-copy": "Úspešne skopírované",
+ "success-copy-description": "Bol skopírovaný do vašej schránky.",
+ "unable-action": "Nemožná akcia",
+ "warning-select-cube": "Vyberte kocku predtým."
+ },
+ "tooltips": {
+ "move-to-history": "Move rieši históriu"
+ }
},
"StatsPage": {
"title": "Štatistiky",
- "total": "Celkom",
- "category": "Kategória",
"global": "Celosvetové",
"sessions": "Relácie",
"best-time": "Najlepší čas",
"average": "Priemer",
"time-spent": "Strávený čas",
"success-rate": "Úspešnosť",
- "counter": "Počítadlo"
+ "counter": "Počítadlo",
+ "advanced": "Pokročilé",
+ "overall": "Celkovo"
},
"CubesPage": {
"title": "Kocky",
- "cube": "Kocka",
"no-cubes-for-display": "Žiadne kocky na zobrazenie.",
"favorite": "Obľúbené",
"category": "Kategória",
@@ -66,30 +81,35 @@
"status": "Stav",
"using": "Používanie",
"idle": "Neaktívne",
- "filter-cubes": "Filtrovať kocky"
+ "find-your-cube": "Nájdite svoju kocku",
+ "name": "Meno",
+ "new-collection": "Nová kolekcia",
+ "options": "Možnosti"
},
"Cubes-modal": {
- "title-editing": "Upraviť kocku",
- "title-creating": "Nová kocka",
- "error-name": "Chýba názov kocky",
- "error-duplicate": "Názov kocky už je použitý",
- "current-select": "Aktuálny výber:",
- "question-delete": "Naozaj chcete odstrániť?",
- "warning-delete": "Táto nezvratná akcia vymaže celú históriu riešenia pre túto kocku a môže ovplyvniť vaše štatistiky.",
- "placeholder": "Značka | Model | Verzia | Magnety?"
+ "category": "Kategória",
+ "current-selection": "Aktuálny výber:",
+ "danger-msg": "Úpravou kategórie kolekcie sa menia aj riešenia súvisiace s touto kategóriou.",
+ "delete-collection": "Odstrániť zbierku",
+ "delete-collection-description": "Táto zbierka kociek bude vymazaná spolu so všetkými jej riešeniami, záznamami a nastaveniami.",
+ "edit-collection": "Upraviť kolekciu",
+ "input-collection-name": "Zadajte názov kolekcie",
+ "name": "Meno",
+ "new-collection": "Nová kolekcia",
+ "new-collection-description": "Kolekcie kociek vám umožňujú sledovať históriu každej kocky bez ovplyvnenia celkovej štatistiky kategórií.",
+ "select-an-option": "Vyberte možnosť",
+ "to-continue": "pokračovať:",
+ "warning-alert": "POZOR:",
+ "warning-msg": "Táto akcia nie je reverzibilná."
},
"Inputs": {
"select": "Vybrať",
- "add-cube": "Pridať kocku",
"favorites": "Obľúbené",
- "list": "Zoznam",
- "trash-all": "Zahodiť všetko",
- "move-all": "Presunúť všetko",
"create": "Vytvoriť",
- "confirm": "Potvrdiť",
"cancel": "Zrušiť",
- "save": "Uložiť",
- "delete": "Odstrániť"
+ "continue": "Pokračovať",
+ "move": "Pohybujte sa",
+ "none": "žiadne"
},
"Settings-menu": {
"title": "Nastavenia",
@@ -114,7 +134,16 @@
"custom-background-image": "Vlastný obrázok pozadia",
"format": "Formát",
"allowed-file-types": "Povolené sú iba obrazové súbory (JPEG, PNG, GIF).",
- "max-file-size": "Maximálna veľkosť súboru"
+ "max-file-size": "Maximálna veľkosť súboru",
+ "about": "O",
+ "auto-select": "Automatický výber pri spustení",
+ "data": "Údaje aplikácie",
+ "export-to-file": "Exportovať do súboru",
+ "import-from-file": "Importovať zo súboru",
+ "legend": "NexusTimer je minimalistický webový nástroj s otvoreným zdrojom pre SpeedCubing bez názoru.",
+ "preferences": "Predvoľby",
+ "report-bug": "Nahlásiť chybu",
+ "suggest": "Navrhnite zmenu"
},
"backup-modal": {
"title": "Inteligentná Obnova Zálohy",
@@ -124,6 +153,17 @@
"loading-part-1": "Toto akcia trvá menej ako minútu.",
"loading-part-2": "Prosím, čakajte, nezatvárajte toto okno.",
"welcome": "Vitajte:"
+ },
+ "Errors": {
+ "empty-input": "Zadajte hodnotu",
+ "not-match": "Názov sa nezhoduje.",
+ "repeated-name": "Táto zbierka mien už existuje."
+ },
+ "tooltips": {
+ "bookmark": "Záložka",
+ "copy": "Kopírovať",
+ "delete": "Odstrániť",
+ "plus-two": "2 Pokuta"
}
},
"Metadata": {
diff --git a/messages/sv.json b/messages/sv.json
index 7bc875bc..d3776dc2 100644
--- a/messages/sv.json
+++ b/messages/sv.json
@@ -1,7 +1,6 @@
{
"Index": {
"HomePage": {
- "title": "Timer",
"hint": "Tips",
"optimal-yellow-layer": "Optimalt gult lager",
"solving": "Löser...",
@@ -23,41 +22,57 @@
},
"SolvesPage": {
"title": "Lösningar",
- "search-by-time": "⏱️ Sök efter tid",
- "finalize-session": "Avsluta session",
- "eliminate-session": "Eliminera session",
- "archive-sessions-legend": "Denna åtgärd kommer att arkivera alla pågående sessioner från samma kategori.",
- "delete-session-legend": "Denna åtgärd kommer endast att radera dina nuvarande lösningar med den valda kuben.",
- "archive": "Arkiv",
- "unarchive": "Avarkivera",
- "copy": "Kopiera",
- "remove": "Ta bort",
- "enter-a-comment": "Ange en kommentar",
"session": "Session",
"all": "Alla",
- "no-cube-selection": "Ingen kub vald, välj en...",
- "no-solves": "Det finns inga lösningar att visa!",
"descending": "Nedåtgående",
"date": "Datum",
"ascending": "Stigande",
- "sort-by": "Sortera efter...",
- "time": "Tid"
+ "time": "Tid",
+ "alert": {
+ "empty-cubes": "Ingen kub har valts. \nVänligen välj en.",
+ "title": "Uppmärksamhet!"
+ },
+ "dialogs": {
+ "move-to-history": "Flytta lösningar till historien?",
+ "move-to-history-para": "Du kommer att kunna komma åt dem genom att trycka på historikomkopplaren."
+ },
+ "empty-solves": "Inget här ännu!",
+ "empty-solves-description": "Tryck på reglaget längst upp på skärmen för att se din historik.",
+ "filter-by-time": "Filtrera efter tid",
+ "historial": "Historiskt",
+ "last": "Sista",
+ "order": "Beställa",
+ "share": "Dela",
+ "share-clipboard": {
+ "average": "Genomsnitt",
+ "header": "Genererad av NexusTimer",
+ "list-of-times": "Lista över tider"
+ },
+ "sort": "Sortera",
+ "toast": {
+ "success-copy": "Kopierades framgångsrikt",
+ "success-copy-description": "Har kopierats till ditt urklipp.",
+ "unable-action": "Det går inte att åtgärda",
+ "warning-select-cube": "Välj en kub innan."
+ },
+ "tooltips": {
+ "move-to-history": "Flytta löser till historien"
+ }
},
"StatsPage": {
"title": "Statistik",
- "total": "Totalt",
- "category": "Kategori",
"global": "Global",
"sessions": "Sessioner",
"best-time": "Bästa tid",
"average": "Genomsnitt",
"time-spent": "Tid spenderad",
"success-rate": "Framgångsgrad",
- "counter": "Räknare"
+ "counter": "Räknare",
+ "advanced": "Avancerad",
+ "overall": "Total"
},
"CubesPage": {
"title": "Kuber",
- "cube": "Kub",
"no-cubes-for-display": "Inga kuber att visa.",
"favorite": "Favorit",
"category": "Kategori",
@@ -66,30 +81,35 @@
"status": "Status",
"using": "Använder",
"idle": "Inaktiv",
- "filter-cubes": "Filtrera dina kuber"
+ "find-your-cube": "Hitta din kub",
+ "name": "Namn",
+ "new-collection": "Ny kollektion",
+ "options": "Alternativ"
},
"Cubes-modal": {
- "title-editing": "Redigera kub",
- "title-creating": "Ny kub",
- "error-name": "Kubnamn saknas",
- "error-duplicate": "Kubnamnet används redan",
- "current-select": "Nuvarande val:",
- "question-delete": "Är du säker på att du vill radera?",
- "warning-delete": "Denna åtgärd är inte återvinningsbar och kommer att radera all löshistorik för denna kub och kan påverka dina statistik.",
- "placeholder": "Märke | Modell | Version | Magnetisk?"
+ "category": "Kategori",
+ "current-selection": "Nuvarande urval:",
+ "danger-msg": "Genom att ändra insamlingskategorin ändras också lösningarna som är kopplade till den kategorin.",
+ "delete-collection": "Ta bort samling",
+ "delete-collection-description": "Denna kubsamling kommer att raderas, tillsammans med alla dess lösningar, poster och inställningar.",
+ "edit-collection": "Redigera samling",
+ "input-collection-name": "Ange samlingens namn",
+ "name": "Namn",
+ "new-collection": "Ny kollektion",
+ "new-collection-description": "Kubsamlingar låter dig hålla reda på varje kubs historia utan att påverka den övergripande kategoristatistiken.",
+ "select-an-option": "Välj ett alternativ",
+ "to-continue": "för att fortsätta:",
+ "warning-alert": "Varning:",
+ "warning-msg": "Denna åtgärd är inte reversibel."
},
"Inputs": {
"select": "Välj",
- "add-cube": "Lägg till kub",
"favorites": "Favoriter",
- "list": "Lista",
- "trash-all": "Kasta alla",
- "move-all": "Flytta alla",
"create": "Skapa",
- "confirm": "Bekräfta",
"cancel": "Avbryt",
- "save": "Spara",
- "delete": "Radera"
+ "continue": "Fortsätta",
+ "move": "Flytta",
+ "none": "Ingen"
},
"Settings-menu": {
"title": "Inställningar",
@@ -114,7 +134,16 @@
"custom-background-image": "Anpassad bakgrundsbild",
"format": "Format",
"allowed-file-types": "Endast bildfiler tillåtna (JPEG, PNG, GIF).",
- "max-file-size": "Maximal filstorlek"
+ "max-file-size": "Maximal filstorlek",
+ "about": "Om",
+ "auto-select": "Välj automatiskt vid start",
+ "data": "Appdata",
+ "export-to-file": "Exportera till fil",
+ "import-from-file": "Importera från fil",
+ "legend": "NexusTimer är ett ointressant, minimalistiskt och öppen källkodswebbverktyg för SpeedCubing.",
+ "preferences": "Inställningar",
+ "report-bug": "Rapportera ett fel",
+ "suggest": "Föreslå en förändring"
},
"backup-modal": {
"title": "Intelligent Backup Restoration",
@@ -124,6 +153,17 @@
"loading-part-1": "Denna åtgärd tar mindre än en minut.",
"loading-part-2": "Vänta, stäng inte det här fönstret.",
"welcome": "Välkommen:"
+ },
+ "Errors": {
+ "empty-input": "Ange ett värde",
+ "not-match": "Namnet stämmer inte.",
+ "repeated-name": "Den namnsamlingen finns redan."
+ },
+ "tooltips": {
+ "bookmark": "Bokmärke",
+ "copy": "Kopiera",
+ "delete": "Radera",
+ "plus-two": "2 Straff"
}
},
"Metadata": {
diff --git a/messages/tr.json b/messages/tr.json
index b43ce5f1..ec9e1a7b 100644
--- a/messages/tr.json
+++ b/messages/tr.json
@@ -1,7 +1,6 @@
{
"Index": {
"HomePage": {
- "title": "Kronometre",
"hint": "İpucu",
"optimal-yellow-layer": "Optimal Sarı Katman",
"solving": "Çözülüyor...",
@@ -23,41 +22,57 @@
},
"SolvesPage": {
"title": "Çözümler",
- "search-by-time": "⏱️ Zamana göre arama",
- "finalize-session": "Oturumu sonlandır",
- "eliminate-session": "Oturumu sil",
- "archive-sessions-legend": "Bu işlem, aynı kategorideki tüm devam eden oturumları arşivleyecektir.",
- "delete-session-legend": "Bu işlem, yalnızca seçilen küp ile mevcut çözümlerinizi silecektir.",
- "archive": "Arşiv",
- "unarchive": "Arşivden çıkar",
- "copy": "Kopyala",
- "remove": "Kaldır",
- "enter-a-comment": "Bir yorum girin",
"session": "Oturum",
"all": "Tümü",
- "no-cube-selection": "Hiçbir küp seçilmedi, bir tane seçin...",
- "no-solves": "Gösterilecek çözüm yok!",
"descending": "Azalan",
"ascending": "Artan",
"date": "Tarih",
- "sort-by": "Göre sırala...",
- "time": "Zaman"
+ "time": "Zaman",
+ "alert": {
+ "empty-cubes": "Hiçbir küp seçilmedi. \nLütfen birini seçin.",
+ "title": "Dikkat!"
+ },
+ "dialogs": {
+ "move-to-history": "Taşınma geçmişi çözer mi?",
+ "move-to-history-para": "Geçmiş anahtarına dokunarak bunlara erişebileceksiniz."
+ },
+ "empty-solves": "Burada henüz bir şey yok!",
+ "empty-solves-description": "Geçmişinizi görmek için ekranın üst kısmındaki anahtara dokunun.",
+ "filter-by-time": "Zamana göre filtrele",
+ "historial": "Tarihsel",
+ "last": "Son",
+ "order": "Emir",
+ "share": "Paylaşmak",
+ "share-clipboard": {
+ "average": "Ortalama",
+ "header": "NexusTimer tarafından oluşturuldu",
+ "list-of-times": "Zamanların listesi"
+ },
+ "sort": "Düzenlemek",
+ "toast": {
+ "success-copy": "Başarıyla kopyalandı",
+ "success-copy-description": "Panonuza kopyalandı.",
+ "unable-action": "İşlem yapılamıyor",
+ "warning-select-cube": "Lütfen önce bir küp seçin."
+ },
+ "tooltips": {
+ "move-to-history": "Taşıma geçmişi çözer"
+ }
},
"StatsPage": {
"title": "İstatistikler",
- "total": "Toplam",
- "category": "Kategori",
"global": "Genel",
"sessions": "Oturumlar",
"best-time": "En İyi Zaman",
"average": "Ortalama",
"time-spent": "Harcanan Zaman",
"success-rate": "Başarı Oranı",
- "counter": "Sayaç"
+ "counter": "Sayaç",
+ "advanced": "Gelişmiş",
+ "overall": "Etraflı"
},
"CubesPage": {
"title": "Küpler",
- "cube": "Küp",
"no-cubes-for-display": "Görüntülenecek küp yok.",
"favorite": "Favori",
"category": "Kategori",
@@ -66,30 +81,35 @@
"status": "Durum",
"using": "Kullanma",
"idle": "Boşta",
- "filter-cubes": "Küplerinizi filtreleyin"
+ "find-your-cube": "Küpünüzü bulun",
+ "name": "İsim",
+ "new-collection": "Yeni koleksiyon",
+ "options": "Seçenekler"
},
"Cubes-modal": {
- "title-editing": "Küpü Düzenle",
- "title-creating": "Yeni Küp",
- "error-name": "Küp adı eksik",
- "error-duplicate": "Küp adı zaten kullanılıyor",
- "current-select": "Mevcut seçim:",
- "question-delete": "Silmek istediğinizden emin misiniz?",
- "warning-delete": "Bu geri alınamaz bir işlemdir ve bu küp için tüm çözüm geçmişini siler ve istatistiklerinizi etkileyebilir.",
- "placeholder": "Marka | Model | Sürüm | Manyetik?"
+ "category": "Kategori",
+ "current-selection": "Mevcut seçim:",
+ "danger-msg": "Koleksiyon kategorisini değiştirmek aynı zamanda o kategoriyle ilişkili çözümleri de değiştirir.",
+ "delete-collection": "Koleksiyonu sil",
+ "delete-collection-description": "Bu küp koleksiyonu, tüm çözümleri, kayıtları ve ayarlarıyla birlikte silinecek.",
+ "edit-collection": "Koleksiyonu düzenle",
+ "input-collection-name": "Koleksiyon adını girin",
+ "name": "İsim",
+ "new-collection": "Yeni koleksiyon",
+ "new-collection-description": "Küp koleksiyonları, genel kategori istatistiklerini etkilemeden her küpün geçmişini takip etmenize olanak tanır.",
+ "select-an-option": "Bir seçenek seçin",
+ "to-continue": "devam etmek için:",
+ "warning-alert": "Uyarı:",
+ "warning-msg": "Bu eylem geri alınamaz."
},
"Inputs": {
"select": "Seç",
- "add-cube": "Küp ekle",
"favorites": "Favoriler",
- "list": "Liste",
- "trash-all": "Tümünü sil",
- "move-all": "Tümünü taşı",
"create": "Oluştur",
- "confirm": "Onayla",
"cancel": "İptal",
- "save": "Kaydet",
- "delete": "Sil"
+ "continue": "Devam etmek",
+ "move": "Taşınmak",
+ "none": "Hiçbiri"
},
"Settings-menu": {
"title": "Ayarlar",
@@ -121,7 +141,9 @@
"about": "Hakkında",
"legend": "NexusTimer, SpeedCubing için tarafsız, minimalist ve açık kaynaklı bir web aracıdır.",
"suggest": "Bir değişiklik öner",
- "report-bug": "Hata bildir"
+ "report-bug": "Hata bildir",
+ "auto-select": "Başlangıçta otomatik seç",
+ "preferences": "Tercihler"
},
"backup-modal": {
"title": "Akıllı Yedekleme Kurtarma",
@@ -131,6 +153,17 @@
"loading-part-1": "Bu işlem bir dakikadan az sürer.",
"loading-part-2": "Lütfen bekleyin, bu pencereyi kapatmayın.",
"welcome": "Hoş geldin:"
+ },
+ "Errors": {
+ "empty-input": "Lütfen bir değer girin",
+ "not-match": "İsim eşleşmiyor.",
+ "repeated-name": "Bu ad koleksiyonu zaten mevcut."
+ },
+ "tooltips": {
+ "bookmark": "Yer imi",
+ "copy": "Kopyala",
+ "delete": "Silmek",
+ "plus-two": "2 Penaltı"
}
},
"Metadata": {
diff --git a/messages/uk.json b/messages/uk.json
index 5f7cb858..a12044f1 100644
--- a/messages/uk.json
+++ b/messages/uk.json
@@ -1,7 +1,6 @@
{
"Index": {
"HomePage": {
- "title": "Таймер",
"hint": "Підказка",
"optimal-yellow-layer": "Оптимальний Жовтий Шар",
"solving": "Розв'язання...",
@@ -23,41 +22,57 @@
},
"SolvesPage": {
"title": "Розв'язки",
- "search-by-time": "⏱️ Пошук за часом",
- "finalize-session": "Завершити сеанс",
- "eliminate-session": "Вилучити сеанс",
- "archive-sessions-legend": "Ця дія архівує всі поточні сеанси з тієї ж категорії.",
- "delete-session-legend": "Ця дія видалить лише ваші поточні розв'язки з вибраним кубом.",
- "archive": "Архівувати",
- "unarchive": "Розархівувати",
- "copy": "Копіювати",
- "remove": "Видалити",
- "enter-a-comment": "Введіть коментар",
"session": "Сеанс",
"all": "Bci",
- "no-cube-selection": "Ky6 не вибрано, виберіть один...",
- "no-solves": "Немає розв'язків для відображення!",
"ascending": "Висхідний",
"date": "Дата",
"descending": "Спускається",
- "sort-by": "Сортувати за...",
- "time": "час"
+ "time": "час",
+ "alert": {
+ "empty-cubes": "Не вибрано куб. \nВиберіть один.",
+ "title": "Увага!"
+ },
+ "dialogs": {
+ "move-to-history": "Перемістити рішення в історію?",
+ "move-to-history-para": "Ви зможете отримати доступ до них, натиснувши перемикач історії."
+ },
+ "empty-solves": "Тут ще нічого немає!",
+ "empty-solves-description": "Торкніться перемикача вгорі екрана, щоб переглянути свою історію.",
+ "filter-by-time": "Фільтрувати за часом",
+ "historial": "Історичний",
+ "last": "Останній",
+ "order": "порядок",
+ "share": "Поділіться",
+ "share-clipboard": {
+ "average": "Середній",
+ "header": "Створено NexusTimer",
+ "list-of-times": "Список часів"
+ },
+ "sort": "Сортувати",
+ "toast": {
+ "success-copy": "Успішно скопійовано",
+ "success-copy-description": "Було скопійовано в буфер обміну.",
+ "unable-action": "Неможлива дія",
+ "warning-select-cube": "Будь ласка, виберіть куб раніше."
+ },
+ "tooltips": {
+ "move-to-history": "Перенесіть рішення в історію"
+ }
},
"StatsPage": {
"title": "Статистика",
- "total": "Всього",
- "category": "Категорія",
"global": "Загальний",
"sessions": "Сеанси",
"best-time": "Найкращий час",
"average": "Середнє",
"time-spent": "Витрачений час",
"success-rate": "Швидкість успіху",
- "counter": "Лічильник"
+ "counter": "Лічильник",
+ "advanced": "Просунутий",
+ "overall": "Загалом"
},
"CubesPage": {
"title": "Куби",
- "cube": "Ky6",
"no-cubes-for-display": "Немає кубів для відображення.",
"favorite": "Вподобані",
"category": "Категорія",
@@ -66,30 +81,35 @@
"status": "Статус",
"using": "Використання",
"idle": "Неактивний",
- "filter-cubes": "Фільтрувати ваші куби"
+ "find-your-cube": "Знайдіть свій куб",
+ "name": "Ім'я",
+ "new-collection": "Нова колекція",
+ "options": "Опції"
},
"Cubes-modal": {
- "title-editing": "Редагувати куб",
- "title-creating": "Новий куб",
- "error-name": "Відсутня назва куба",
- "error-duplicate": "Назва куба вже використовується",
- "current-select": "Поточний вибір:",
- "question-delete": "Ви впевнені, що хочете видалити?",
- "warning-delete": "Ця незворотня дія видалить всю історію розв'язків для цього куба i може вплинути на вашу статистику.",
- "placeholder": "Марка | Модель | Версія | Магніт?"
+ "category": "Категорія",
+ "current-selection": "Поточний вибір:",
+ "danger-msg": "Зміна категорії колекції також змінює розв’язки, пов’язані з цією категорією.",
+ "delete-collection": "Видалити колекцію",
+ "delete-collection-description": "Цю колекцію кубів буде видалено разом із усіма її рішеннями, записами та налаштуваннями.",
+ "edit-collection": "Редагувати колекцію",
+ "input-collection-name": "Введіть назву колекції",
+ "name": "Ім'я",
+ "new-collection": "Нова колекція",
+ "new-collection-description": "Колекції кубів дозволяють відстежувати історію кожного куба, не впливаючи на загальну статистику категорії.",
+ "select-an-option": "Виберіть опцію",
+ "to-continue": "продовжити:",
+ "warning-alert": "УВАГА:",
+ "warning-msg": "Цю дію не можна відмінити."
},
"Inputs": {
"select": "Вибрати",
- "add-cube": "Додати куб",
"favorites": "Вподобані",
- "list": "Список",
- "trash-all": "Викинути все",
- "move-all": "Перемістити все",
"create": "Створити",
- "confirm": "Підтвердити",
"cancel": "Скасувати",
- "save": "Зберегти",
- "delete": "Видалити"
+ "continue": "Продовжити",
+ "move": "рухатися",
+ "none": "Жодного"
},
"Settings-menu": {
"title": "Налаштування",
@@ -121,7 +141,9 @@
"about": "Про програму",
"legend": "NexusTimer - це безперечний, мінімалістичний та відкритий веб-інструмент для SpeedCubing.",
"suggest": "Запропонувати зміну",
- "report-bug": "Повідомити про помилку"
+ "report-bug": "Повідомити про помилку",
+ "auto-select": "Автоматичний вибір під час запуску",
+ "preferences": "Уподобання"
},
"backup-modal": {
"title": "Інтелектуальне відновлення резервного копіювання",
@@ -131,6 +153,17 @@
"loading-part-1": "Ця дія займе менше хвилини.",
"loading-part-2": "Зачекайте, будь ласка, не закривайте це вікно.",
"welcome": "Ласкаво просимо:"
+ },
+ "Errors": {
+ "empty-input": "Будь ласка, введіть значення",
+ "not-match": "Ім'я не збігається.",
+ "repeated-name": "Ця колекція імен уже існує."
+ },
+ "tooltips": {
+ "bookmark": "Закладка",
+ "copy": "Копіювати",
+ "delete": "Видалити",
+ "plus-two": "2 Пенальті"
}
},
"Metadata": {
diff --git a/messages/vi.json b/messages/vi.json
index 1aa39bfd..4f23c18d 100644
--- a/messages/vi.json
+++ b/messages/vi.json
@@ -1,7 +1,6 @@
{
"Index": {
"HomePage": {
- "title": "Bộ hẹn giờ",
"hint": "Gợi ý",
"optimal-yellow-layer": "Lớp Vàng Tối ưu",
"solving": "Đang giải...",
@@ -23,41 +22,57 @@
},
"SolvesPage": {
"title": "Giải quyết",
- "search-by-time": "⏱️ Tìm kiếm theo thời gian",
- "finalize-session": "Hoàn thành phiên",
- "eliminate-session": "Loại bỏ phiên",
- "archive-sessions-legend": "Hành động này sẽ lưu trữ tất cả các phiên đang diễn ra từ cùng một danh mục.",
- "delete-session-legend": "Hành động này sẽ chỉ xóa các giải quyết hiện tại của bạn với khối đã chọn.",
- "archive": "Lưu trữ",
- "unarchive": "Bỏ lưu trữ",
- "copy": "Sao chép",
- "remove": "Xóa bỏ",
- "enter-a-comment": "Nhập bình luận",
"session": "Phiên",
"all": "Tất cả",
- "no-cube-selection": "Không có khối nào được chọn, hãy chọn một...",
- "no-solves": "Không có giải pháp để hiển thị!",
"ascending": "Tăng dần",
"date": "Ngày",
"descending": "Giảm dần",
- "sort-by": "Sắp xếp theo...",
- "time": "Thời gian"
+ "time": "Thời gian",
+ "alert": {
+ "empty-cubes": "Không có khối nào được chọn. \nHãy chọn một.",
+ "title": "Chú ý!"
+ },
+ "dialogs": {
+ "move-to-history": "Di chuyển giải pháp vào lịch sử?",
+ "move-to-history-para": "Bạn sẽ có thể truy cập chúng bằng cách nhấn vào nút chuyển lịch sử."
+ },
+ "empty-solves": "Chưa có gì ở đây!",
+ "empty-solves-description": "Nhấn vào nút chuyển ở đầu màn hình để xem lịch sử của bạn.",
+ "filter-by-time": "Lọc theo thời gian",
+ "historial": "lịch sử",
+ "last": "Cuối cùng",
+ "order": "Đặt hàng",
+ "share": "Chia sẻ",
+ "share-clipboard": {
+ "average": "Trung bình",
+ "header": "Được tạo bởi NexusTimer",
+ "list-of-times": "Danh sách thời gian"
+ },
+ "sort": "Loại",
+ "toast": {
+ "success-copy": "Đã sao chép thành công",
+ "success-copy-description": "Đã được sao chép vào clipboard của bạn.",
+ "unable-action": "Hành động không thể",
+ "warning-select-cube": "Vui lòng chọn một khối trước."
+ },
+ "tooltips": {
+ "move-to-history": "Di chuyển các giải pháp vào lịch sử"
+ }
},
"StatsPage": {
"title": "Thống kê",
- "total": "Tổng cộng",
- "category": "Danh mục",
"global": "Toàn cầu",
"sessions": "Phiên",
"best-time": "Thời gian tốt nhất",
"average": "Trung bình",
"time-spent": "Thời gian đã dùng",
"success-rate": "Tỷ lệ thành công",
- "counter": "Bộ đếm"
+ "counter": "Bộ đếm",
+ "advanced": "Trình độ cao",
+ "overall": "Tổng thể"
},
"CubesPage": {
"title": "Khối",
- "cube": "Khối",
"no-cubes-for-display": "Không có khối để hiển thị.",
"favorite": "Yêu thích",
"category": "Danh mục",
@@ -66,30 +81,35 @@
"status": "Trạng thái",
"using": "Đang sử dụng",
"idle": "Trống",
- "filter-cubes": "Lọc các khối của bạn"
+ "find-your-cube": "Tìm khối lập phương của bạn",
+ "name": "Tên",
+ "new-collection": "Bộ sưu tập mới",
+ "options": "Tùy chọn"
},
"Cubes-modal": {
- "title-editing": "Chỉnh sửa khối",
- "title-creating": "Khối mới",
- "error-name": "Thiếu tên khối",
- "error-duplicate": "Tên khối đã được sử dụng",
- "current-select": "Lựa chọn hiện tại:",
- "question-delete": "Bạn chắc chắn muốn xóa?",
- "warning-delete": "Hành động này sẽ không thể hoàn tác và sẽ xóa toàn bộ lịch sử giải quyết cho khối này và có thể ảnh hưởng đến thống kê của bạn.",
- "placeholder": "Thương hiệu | Mẫu | Phiên bản | Nam châm?"
+ "category": "Loại",
+ "current-selection": "Lựa chọn hiện tại:",
+ "danger-msg": "Việc sửa đổi danh mục bộ sưu tập cũng thay đổi các giải pháp liên quan đến danh mục đó.",
+ "delete-collection": "Xóa bộ sưu tập",
+ "delete-collection-description": "Bộ sưu tập khối này sẽ bị xóa cùng với tất cả các phép giải, bản ghi và cài đặt của nó.",
+ "edit-collection": "Chỉnh sửa bộ sưu tập",
+ "input-collection-name": "Nhập tên bộ sưu tập",
+ "name": "Tên",
+ "new-collection": "Bộ sưu tập mới",
+ "new-collection-description": "Bộ sưu tập khối cho phép bạn theo dõi lịch sử của từng khối mà không ảnh hưởng đến số liệu thống kê chung của danh mục.",
+ "select-an-option": "Chọn một tùy chọn",
+ "to-continue": "để tiếp tục:",
+ "warning-alert": "Cảnh báo:",
+ "warning-msg": "Hành động này không thể đảo ngược."
},
"Inputs": {
"select": "Chọn",
- "add-cube": "Thêm khối",
"favorites": "Yêu thích",
- "list": "Danh sách",
- "trash-all": "Xóa tất cả",
- "move-all": "Di chuyển tất cả",
"create": "Tạo",
- "confirm": "Xác nhận",
"cancel": "Hủy",
- "save": "Lưu",
- "delete": "Xóa"
+ "continue": "Tiếp tục",
+ "move": "Di chuyển",
+ "none": "Không có"
},
"Settings-menu": {
"title": "Cài đặt",
@@ -121,7 +141,9 @@
"about": "Về",
"legend": "NexusTimer là một công cụ web không phán đoán, tối giản và mã nguồn mở cho SpeedCubing.",
"suggest": "Đề xuất thay đổi",
- "report-bug": "Báo cáo lỗi"
+ "report-bug": "Báo cáo lỗi",
+ "auto-select": "Tự động chọn khi khởi động",
+ "preferences": "Tùy chọn"
},
"backup-modal": {
"title": "Khôi phục sao lưu thông minh",
@@ -131,6 +153,17 @@
"loading-part-1": "Hành động này mất ít hơn một phút.",
"loading-part-2": "Vui lòng đợi, đừng đóng cửa sổ này.",
"welcome": "Chào mừng:"
+ },
+ "Errors": {
+ "empty-input": "Vui lòng nhập một giá trị",
+ "not-match": "Tên không khớp.",
+ "repeated-name": "Bộ sưu tập tên đó đã tồn tại."
+ },
+ "tooltips": {
+ "bookmark": "Đánh dấu",
+ "copy": "Sao chép",
+ "delete": "Xóa bỏ",
+ "plus-two": "2 quả phạt đền"
}
},
"Metadata": {
diff --git a/messages/zh.json b/messages/zh.json
index 001b6873..3f96ca8d 100644
--- a/messages/zh.json
+++ b/messages/zh.json
@@ -1,7 +1,6 @@
{
"Index": {
"HomePage": {
- "title": "计时器",
"hint": "提示",
"optimal-yellow-layer": "最佳黄层",
"solving": "解决中...",
@@ -23,41 +22,57 @@
},
"SolvesPage": {
"title": "解决方案",
- "search-by-time": "⏱️ 按时间搜索",
- "finalize-session": "完成会话",
- "eliminate-session": "消除会话",
- "archive-sessions-legend": "此操作将存档同一类别中的所有正在进行的会话。",
- "delete-session-legend": "此操作将仅删除所选魔方的当前解决方案。",
- "archive": "存档",
- "unarchive": "取消存档",
- "copy": "复制",
- "remove": "移除",
- "enter-a-comment": "输入评论",
"session": "会话",
"all": "全部",
- "no-cube-selection": "未选择魔方,请选择一个...",
- "no-solves": "没有解决方案可显示!",
"ascending": "上升",
"date": "日期",
"descending": "降序",
- "sort-by": "排序方式...",
- "time": "时间"
+ "time": "时间",
+ "alert": {
+ "empty-cubes": "未选择立方体。\n请选择一项。",
+ "title": "注意力!"
+ },
+ "dialogs": {
+ "move-to-history": "将解决方案移至历史?",
+ "move-to-history-para": "您可以通过点击历史记录开关来访问它们。"
+ },
+ "empty-solves": "这里还什么都没有!",
+ "empty-solves-description": "点击屏幕顶部的开关即可查看您的历史记录。",
+ "filter-by-time": "按时间过滤",
+ "historial": "历史",
+ "last": "最后的",
+ "order": "命令",
+ "share": "分享",
+ "share-clipboard": {
+ "average": "平均的",
+ "header": "由 NexusTimer 生成",
+ "list-of-times": "时间列表"
+ },
+ "sort": "种类",
+ "toast": {
+ "success-copy": "复制成功",
+ "success-copy-description": "已复制到您的剪贴板。",
+ "unable-action": "无法行动",
+ "warning-select-cube": "请先选择一个立方体。"
+ },
+ "tooltips": {
+ "move-to-history": "将解决方案移至历史记录"
+ }
},
"StatsPage": {
"title": "统计",
- "total": "总计",
- "category": "类别",
"global": "全球",
"sessions": "会话",
"best-time": "最佳时间",
"average": "平均",
"time-spent": "花费时间",
"success-rate": "成功率",
- "counter": "计数器"
+ "counter": "计数器",
+ "advanced": "先进的",
+ "overall": "全面的"
},
"CubesPage": {
"title": "魔方",
- "cube": "魔方",
"no-cubes-for-display": "没有可显示的魔方。",
"favorite": "收藏",
"category": "类别",
@@ -66,30 +81,35 @@
"status": "状态",
"using": "使用中",
"idle": "闲置",
- "filter-cubes": "过滤你的魔方"
+ "find-your-cube": "找到你的立方体",
+ "name": "姓名",
+ "new-collection": "新系列",
+ "options": "选项"
},
"Cubes-modal": {
- "title-editing": "编辑魔方",
- "title-creating": "新魔方",
- "error-name": "魔方名称丢失",
- "error-duplicate": "魔方名称已被使用",
- "current-select": "当前选择:",
- "question-delete": "您确定要删除吗?",
- "warning-delete": "此不可逆转的操作将删除此魔方的所有解决历史,可能会影响您的统计数据。",
- "placeholder": "品牌 | 型号 | 版本 | 磁性?"
+ "category": "类别",
+ "current-selection": "当前选择:",
+ "danger-msg": "修改集合类别也会更改与该类别关联的求解。",
+ "delete-collection": "删除集合",
+ "delete-collection-description": "该多维数据集集合及其所有求解、记录和设置都将被删除。",
+ "edit-collection": "编辑收藏",
+ "input-collection-name": "输入集合名称",
+ "name": "姓名",
+ "new-collection": "新系列",
+ "new-collection-description": "多维数据集集合允许您跟踪每个多维数据集的历史记录,而不会影响整体类别统计数据。",
+ "select-an-option": "选择一个选项",
+ "to-continue": "继续:",
+ "warning-alert": "警告:",
+ "warning-msg": "此操作不可逆转。"
},
"Inputs": {
"select": "选择",
- "add-cube": "添加魔方",
"favorites": "收藏夹",
- "list": "列表",
- "trash-all": "清空全部",
- "move-all": "全部移动",
"create": "创建",
- "confirm": "确认",
"cancel": "取消",
- "save": "保存",
- "delete": "删除"
+ "continue": "继续",
+ "move": "移动",
+ "none": "没有任何"
},
"Settings-menu": {
"title": "设置",
@@ -121,7 +141,9 @@
"about": "关于",
"legend": "NexusTimer是一个无偏见、简约和开源的SpeedCubing网络工具。",
"suggest": "建议更改",
- "report-bug": "报告错误"
+ "report-bug": "报告错误",
+ "auto-select": "启动时自动选择",
+ "preferences": "偏好设置"
},
"backup-modal": {
"title": "智能备份恢复",
@@ -131,6 +153,17 @@
"loading-part-1": "此操作不到一分钟。",
"loading-part-2": "请稍候,不要关闭此窗口。",
"welcome": "欢迎:"
+ },
+ "Errors": {
+ "empty-input": "请输入一个值",
+ "not-match": "名称不匹配。",
+ "repeated-name": "该名称集合已经存在。"
+ },
+ "tooltips": {
+ "bookmark": "书签",
+ "copy": "复制",
+ "delete": "删除",
+ "plus-two": "2 处罚"
}
},
"Metadata": {
diff --git a/package-lock.json b/package-lock.json
index affea553..1fdbe20c 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -11,38 +11,61 @@
"@headlessui/react": "^1.7.17",
"@heroicons/react": "^2.1.3",
"@mierak/react-virtualized-grid": "^0.0.5-ALPHA",
+ "@radix-ui/react-avatar": "^1.1.0",
+ "@radix-ui/react-checkbox": "^1.1.1",
+ "@radix-ui/react-dialog": "^1.1.1",
+ "@radix-ui/react-dropdown-menu": "^2.1.1",
+ "@radix-ui/react-icons": "^1.3.0",
+ "@radix-ui/react-label": "^2.1.0",
+ "@radix-ui/react-scroll-area": "^1.1.0",
+ "@radix-ui/react-select": "^2.1.1",
+ "@radix-ui/react-separator": "^1.1.0",
+ "@radix-ui/react-slot": "^1.1.0",
+ "@radix-ui/react-switch": "^1.1.0",
+ "@radix-ui/react-tabs": "^1.1.0",
+ "@radix-ui/react-toggle": "^1.1.0",
+ "@radix-ui/react-tooltip": "^1.1.2",
"@types/node": "20.6.0",
"@types/papaparse": "^5.3.14",
"@types/react": "18.2.21",
"@types/react-dom": "18.2.7",
"autoprefixer": "10.4.15",
+ "class-variance-authority": "^0.7.0",
+ "clsx": "^2.1.1",
"country-flag-icons": "^1.5.11",
"cube-solver": "^2.4.1",
"cubing": "^0.44.1",
"date-fns": "^2.30.0",
"eslint": "8.49.0",
"eslint-config-next": "^14.2.3",
- "fast-sort": "3.4.0",
+ "fast-sort": "^3.4.0",
+ "filter-data": "^0.6.1",
"framer-motion": "^10.17.4",
"idb-wrapper": "^1.7.2",
"lightweight-charts": "^4.1.4",
+ "lucide-react": "^0.439.0",
"luxon": "^3.4.4",
"next": "^14.2.3",
"next-intl": "^3.19.1",
+ "next-themes": "^0.3.0",
"papaparse": "^5.4.1",
"postcss": "8.4.31",
"pretty-ms": "^8.0.0",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-dom-confetti": "^0.2.0",
+ "react-resizable-panels": "^2.1.2",
"recharts": "^2.8.0",
"scrambow": "^1.8.1",
"sharp": "0.32.6",
- "tailwind-merge": "^2.3.0",
+ "sonner": "^1.5.0",
+ "tailwind-merge": "^2.5.2",
"tailwindcss": "^3.4.0",
+ "tailwindcss-animate": "^1.0.7",
"ts-deepmerge": "^7.0.0",
"typescript": "5.2.2",
"uuid": "9.0.1",
+ "vaul": "^0.9.2",
"zustand": "4.4.1"
},
"devDependencies": {
@@ -150,6 +173,44 @@
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
}
},
+ "node_modules/@floating-ui/core": {
+ "version": "1.6.7",
+ "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.7.tgz",
+ "integrity": "sha512-yDzVT/Lm101nQ5TCVeK65LtdN7Tj4Qpr9RTXJ2vPFLqtLxwOrpoxAHAJI8J3yYWUc40J0BDBheaitK5SJmno2g==",
+ "license": "MIT",
+ "dependencies": {
+ "@floating-ui/utils": "^0.2.7"
+ }
+ },
+ "node_modules/@floating-ui/dom": {
+ "version": "1.6.10",
+ "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.10.tgz",
+ "integrity": "sha512-fskgCFv8J8OamCmyun8MfjB1Olfn+uZKjOKZ0vhYF3gRmEUXcGOjxWL8bBr7i4kIuPZ2KD2S3EUIOxnjC8kl2A==",
+ "license": "MIT",
+ "dependencies": {
+ "@floating-ui/core": "^1.6.0",
+ "@floating-ui/utils": "^0.2.7"
+ }
+ },
+ "node_modules/@floating-ui/react-dom": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.1.tgz",
+ "integrity": "sha512-4h84MJt3CHrtG18mGsXuLCHMrug49d7DFkU0RMIyshRveBeyV2hmV/pDaF2Uxtu8kgq5r46llp5E5FQiR0K2Yg==",
+ "license": "MIT",
+ "dependencies": {
+ "@floating-ui/dom": "^1.0.0"
+ },
+ "peerDependencies": {
+ "react": ">=16.8.0",
+ "react-dom": ">=16.8.0"
+ }
+ },
+ "node_modules/@floating-ui/utils": {
+ "version": "0.2.7",
+ "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.7.tgz",
+ "integrity": "sha512-X8R8Oj771YRl/w+c1HqAC1szL8zWQRwFvgDwT129k9ACdBoud/+/rX9V0qiMl6LWUdP9voC2nDVZYPMQQsb6eA==",
+ "license": "MIT"
+ },
"node_modules/@formatjs/ecma402-abstract": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-2.0.0.tgz",
@@ -554,63 +615,960 @@
"node": ">= 10"
}
},
- "node_modules/@nodelib/fs.scandir": {
- "version": "2.1.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
- "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+ "node_modules/@nodelib/fs.scandir": {
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+ "dependencies": {
+ "@nodelib/fs.stat": "2.0.5",
+ "run-parallel": "^1.1.9"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.stat": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.walk": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+ "dependencies": {
+ "@nodelib/fs.scandir": "2.1.5",
+ "fastq": "^1.6.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@pkgjs/parseargs": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
+ "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
+ "license": "MIT",
+ "optional": true,
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/@playwright/test": {
+ "version": "1.43.1",
+ "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.43.1.tgz",
+ "integrity": "sha512-HgtQzFgNEEo4TE22K/X7sYTYNqEMMTZmFS8kTq6m8hXj+m1D8TgwgIbumHddJa9h4yl4GkKb8/bgAl2+g7eDgA==",
+ "devOptional": true,
+ "dependencies": {
+ "playwright": "1.43.1"
+ },
+ "bin": {
+ "playwright": "cli.js"
+ },
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/@radix-ui/number": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/number/-/number-1.1.0.tgz",
+ "integrity": "sha512-V3gRzhVNU1ldS5XhAPTom1fOIo4ccrjjJgmE+LI2h/WaFpHmx0MQApT+KZHnx8abG6Avtfcz4WoEciMnpFT3HQ==",
+ "license": "MIT"
+ },
+ "node_modules/@radix-ui/primitive": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.0.tgz",
+ "integrity": "sha512-4Z8dn6Upk0qk4P74xBhZ6Hd/w0mPEzOOLxy4xiPXOXqjF7jZS0VAKk7/x/H6FyY2zCkYJqePf1G5KmkmNJ4RBA==",
+ "license": "MIT"
+ },
+ "node_modules/@radix-ui/react-arrow": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.1.0.tgz",
+ "integrity": "sha512-FmlW1rCg7hBpEBwFbjHwCW6AmWLQM6g/v0Sn8XbP9NvmSZ2San1FpQeyPtufzOMSIx7Y4dzjlHoifhp+7NkZhw==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-primitive": "2.0.0"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-avatar": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-avatar/-/react-avatar-1.1.0.tgz",
+ "integrity": "sha512-Q/PbuSMk/vyAd/UoIShVGZ7StHHeRFYU7wXmi5GV+8cLXflZAEpHL/F697H1klrzxKXNtZ97vWiC0q3RKUH8UA==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-context": "1.1.0",
+ "@radix-ui/react-primitive": "2.0.0",
+ "@radix-ui/react-use-callback-ref": "1.1.0",
+ "@radix-ui/react-use-layout-effect": "1.1.0"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-checkbox": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-checkbox/-/react-checkbox-1.1.1.tgz",
+ "integrity": "sha512-0i/EKJ222Afa1FE0C6pNJxDq1itzcl3HChE9DwskA4th4KRse8ojx8a1nVcOjwJdbpDLcz7uol77yYnQNMHdKw==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/primitive": "1.1.0",
+ "@radix-ui/react-compose-refs": "1.1.0",
+ "@radix-ui/react-context": "1.1.0",
+ "@radix-ui/react-presence": "1.1.0",
+ "@radix-ui/react-primitive": "2.0.0",
+ "@radix-ui/react-use-controllable-state": "1.1.0",
+ "@radix-ui/react-use-previous": "1.1.0",
+ "@radix-ui/react-use-size": "1.1.0"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-collection": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.1.0.tgz",
+ "integrity": "sha512-GZsZslMJEyo1VKm5L1ZJY8tGDxZNPAoUeQUIbKeJfoi7Q4kmig5AsgLMYYuyYbfjd8fBmFORAIwYAkXMnXZgZw==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-compose-refs": "1.1.0",
+ "@radix-ui/react-context": "1.1.0",
+ "@radix-ui/react-primitive": "2.0.0",
+ "@radix-ui/react-slot": "1.1.0"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-compose-refs": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.0.tgz",
+ "integrity": "sha512-b4inOtiaOnYf9KWyO3jAeeCG6FeyfY6ldiEPanbUjWd+xIk5wZeHa8yVwmrJ2vderhu/BQvzCrJI0lHd+wIiqw==",
+ "license": "MIT",
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-context": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.0.tgz",
+ "integrity": "sha512-OKrckBy+sMEgYM/sMmqmErVn0kZqrHPJze+Ql3DzYsDDp0hl0L62nx/2122/Bvps1qz645jlcu2tD9lrRSdf8A==",
+ "license": "MIT",
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-dialog": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.1.1.tgz",
+ "integrity": "sha512-zysS+iU4YP3STKNS6USvFVqI4qqx8EpiwmT5TuCApVEBca+eRCbONi4EgzfNSuVnOXvC5UPHHMjs8RXO6DH9Bg==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/primitive": "1.1.0",
+ "@radix-ui/react-compose-refs": "1.1.0",
+ "@radix-ui/react-context": "1.1.0",
+ "@radix-ui/react-dismissable-layer": "1.1.0",
+ "@radix-ui/react-focus-guards": "1.1.0",
+ "@radix-ui/react-focus-scope": "1.1.0",
+ "@radix-ui/react-id": "1.1.0",
+ "@radix-ui/react-portal": "1.1.1",
+ "@radix-ui/react-presence": "1.1.0",
+ "@radix-ui/react-primitive": "2.0.0",
+ "@radix-ui/react-slot": "1.1.0",
+ "@radix-ui/react-use-controllable-state": "1.1.0",
+ "aria-hidden": "^1.1.1",
+ "react-remove-scroll": "2.5.7"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-direction": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.1.0.tgz",
+ "integrity": "sha512-BUuBvgThEiAXh2DWu93XsT+a3aWrGqolGlqqw5VU1kG7p/ZH2cuDlM1sRLNnY3QcBS69UIz2mcKhMxDsdewhjg==",
+ "license": "MIT",
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-dismissable-layer": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.0.tgz",
+ "integrity": "sha512-/UovfmmXGptwGcBQawLzvn2jOfM0t4z3/uKffoBlj724+n3FvBbZ7M0aaBOmkp6pqFYpO4yx8tSVJjx3Fl2jig==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/primitive": "1.1.0",
+ "@radix-ui/react-compose-refs": "1.1.0",
+ "@radix-ui/react-primitive": "2.0.0",
+ "@radix-ui/react-use-callback-ref": "1.1.0",
+ "@radix-ui/react-use-escape-keydown": "1.1.0"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-dropdown-menu": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-dropdown-menu/-/react-dropdown-menu-2.1.1.tgz",
+ "integrity": "sha512-y8E+x9fBq9qvteD2Zwa4397pUVhYsh9iq44b5RD5qu1GMJWBCBuVg1hMyItbc6+zH00TxGRqd9Iot4wzf3OoBQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/primitive": "1.1.0",
+ "@radix-ui/react-compose-refs": "1.1.0",
+ "@radix-ui/react-context": "1.1.0",
+ "@radix-ui/react-id": "1.1.0",
+ "@radix-ui/react-menu": "2.1.1",
+ "@radix-ui/react-primitive": "2.0.0",
+ "@radix-ui/react-use-controllable-state": "1.1.0"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-focus-guards": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.1.0.tgz",
+ "integrity": "sha512-w6XZNUPVv6xCpZUqb/yN9DL6auvpGX3C/ee6Hdi16v2UUy25HV2Q5bcflsiDyT/g5RwbPQ/GIT1vLkeRb+ITBw==",
+ "license": "MIT",
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-focus-scope": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.0.tgz",
+ "integrity": "sha512-200UD8zylvEyL8Bx+z76RJnASR2gRMuxlgFCPAe/Q/679a/r0eK3MBVYMb7vZODZcffZBdob1EGnky78xmVvcA==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-compose-refs": "1.1.0",
+ "@radix-ui/react-primitive": "2.0.0",
+ "@radix-ui/react-use-callback-ref": "1.1.0"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-icons": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-icons/-/react-icons-1.3.0.tgz",
+ "integrity": "sha512-jQxj/0LKgp+j9BiTXz3O3sgs26RNet2iLWmsPyRz2SIcR4q/4SbazXfnYwbAr+vLYKSfc7qxzyGQA1HLlYiuNw==",
+ "license": "MIT",
+ "peerDependencies": {
+ "react": "^16.x || ^17.x || ^18.x"
+ }
+ },
+ "node_modules/@radix-ui/react-id": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.1.0.tgz",
+ "integrity": "sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-use-layout-effect": "1.1.0"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-label": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-label/-/react-label-2.1.0.tgz",
+ "integrity": "sha512-peLblDlFw/ngk3UWq0VnYaOLy6agTZZ+MUO/WhVfm14vJGML+xH4FAl2XQGLqdefjNb7ApRg6Yn7U42ZhmYXdw==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-primitive": "2.0.0"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-menu": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-menu/-/react-menu-2.1.1.tgz",
+ "integrity": "sha512-oa3mXRRVjHi6DZu/ghuzdylyjaMXLymx83irM7hTxutQbD+7IhPKdMdRHD26Rm+kHRrWcrUkkRPv5pd47a2xFQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/primitive": "1.1.0",
+ "@radix-ui/react-collection": "1.1.0",
+ "@radix-ui/react-compose-refs": "1.1.0",
+ "@radix-ui/react-context": "1.1.0",
+ "@radix-ui/react-direction": "1.1.0",
+ "@radix-ui/react-dismissable-layer": "1.1.0",
+ "@radix-ui/react-focus-guards": "1.1.0",
+ "@radix-ui/react-focus-scope": "1.1.0",
+ "@radix-ui/react-id": "1.1.0",
+ "@radix-ui/react-popper": "1.2.0",
+ "@radix-ui/react-portal": "1.1.1",
+ "@radix-ui/react-presence": "1.1.0",
+ "@radix-ui/react-primitive": "2.0.0",
+ "@radix-ui/react-roving-focus": "1.1.0",
+ "@radix-ui/react-slot": "1.1.0",
+ "@radix-ui/react-use-callback-ref": "1.1.0",
+ "aria-hidden": "^1.1.1",
+ "react-remove-scroll": "2.5.7"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-popper": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.2.0.tgz",
+ "integrity": "sha512-ZnRMshKF43aBxVWPWvbj21+7TQCvhuULWJ4gNIKYpRlQt5xGRhLx66tMp8pya2UkGHTSlhpXwmjqltDYHhw7Vg==",
+ "license": "MIT",
+ "dependencies": {
+ "@floating-ui/react-dom": "^2.0.0",
+ "@radix-ui/react-arrow": "1.1.0",
+ "@radix-ui/react-compose-refs": "1.1.0",
+ "@radix-ui/react-context": "1.1.0",
+ "@radix-ui/react-primitive": "2.0.0",
+ "@radix-ui/react-use-callback-ref": "1.1.0",
+ "@radix-ui/react-use-layout-effect": "1.1.0",
+ "@radix-ui/react-use-rect": "1.1.0",
+ "@radix-ui/react-use-size": "1.1.0",
+ "@radix-ui/rect": "1.1.0"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-portal": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.1.tgz",
+ "integrity": "sha512-A3UtLk85UtqhzFqtoC8Q0KvR2GbXF3mtPgACSazajqq6A41mEQgo53iPzY4i6BwDxlIFqWIhiQ2G729n+2aw/g==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-primitive": "2.0.0",
+ "@radix-ui/react-use-layout-effect": "1.1.0"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-presence": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.1.0.tgz",
+ "integrity": "sha512-Gq6wuRN/asf9H/E/VzdKoUtT8GC9PQc9z40/vEr0VCJ4u5XvvhWIrSsCB6vD2/cH7ugTdSfYq9fLJCcM00acrQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-compose-refs": "1.1.0",
+ "@radix-ui/react-use-layout-effect": "1.1.0"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-primitive": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.0.0.tgz",
+ "integrity": "sha512-ZSpFm0/uHa8zTvKBDjLFWLo8dkr4MBsiDLz0g3gMUwqgLHz9rTaRRGYDgvZPtBJgYCBKXkS9fzmoySgr8CO6Cw==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-slot": "1.1.0"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-roving-focus": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.1.0.tgz",
+ "integrity": "sha512-EA6AMGeq9AEeQDeSH0aZgG198qkfHSbvWTf1HvoDmOB5bBG/qTxjYMWUKMnYiV6J/iP/J8MEFSuB2zRU2n7ODA==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/primitive": "1.1.0",
+ "@radix-ui/react-collection": "1.1.0",
+ "@radix-ui/react-compose-refs": "1.1.0",
+ "@radix-ui/react-context": "1.1.0",
+ "@radix-ui/react-direction": "1.1.0",
+ "@radix-ui/react-id": "1.1.0",
+ "@radix-ui/react-primitive": "2.0.0",
+ "@radix-ui/react-use-callback-ref": "1.1.0",
+ "@radix-ui/react-use-controllable-state": "1.1.0"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-scroll-area": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-scroll-area/-/react-scroll-area-1.1.0.tgz",
+ "integrity": "sha512-9ArIZ9HWhsrfqS765h+GZuLoxaRHD/j0ZWOWilsCvYTpYJp8XwCqNG7Dt9Nu/TItKOdgLGkOPCodQvDc+UMwYg==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/number": "1.1.0",
+ "@radix-ui/primitive": "1.1.0",
+ "@radix-ui/react-compose-refs": "1.1.0",
+ "@radix-ui/react-context": "1.1.0",
+ "@radix-ui/react-direction": "1.1.0",
+ "@radix-ui/react-presence": "1.1.0",
+ "@radix-ui/react-primitive": "2.0.0",
+ "@radix-ui/react-use-callback-ref": "1.1.0",
+ "@radix-ui/react-use-layout-effect": "1.1.0"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-select": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-select/-/react-select-2.1.1.tgz",
+ "integrity": "sha512-8iRDfyLtzxlprOo9IicnzvpsO1wNCkuwzzCM+Z5Rb5tNOpCdMvcc2AkzX0Fz+Tz9v6NJ5B/7EEgyZveo4FBRfQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/number": "1.1.0",
+ "@radix-ui/primitive": "1.1.0",
+ "@radix-ui/react-collection": "1.1.0",
+ "@radix-ui/react-compose-refs": "1.1.0",
+ "@radix-ui/react-context": "1.1.0",
+ "@radix-ui/react-direction": "1.1.0",
+ "@radix-ui/react-dismissable-layer": "1.1.0",
+ "@radix-ui/react-focus-guards": "1.1.0",
+ "@radix-ui/react-focus-scope": "1.1.0",
+ "@radix-ui/react-id": "1.1.0",
+ "@radix-ui/react-popper": "1.2.0",
+ "@radix-ui/react-portal": "1.1.1",
+ "@radix-ui/react-primitive": "2.0.0",
+ "@radix-ui/react-slot": "1.1.0",
+ "@radix-ui/react-use-callback-ref": "1.1.0",
+ "@radix-ui/react-use-controllable-state": "1.1.0",
+ "@radix-ui/react-use-layout-effect": "1.1.0",
+ "@radix-ui/react-use-previous": "1.1.0",
+ "@radix-ui/react-visually-hidden": "1.1.0",
+ "aria-hidden": "^1.1.1",
+ "react-remove-scroll": "2.5.7"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-separator": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-separator/-/react-separator-1.1.0.tgz",
+ "integrity": "sha512-3uBAs+egzvJBDZAzvb/n4NxxOYpnspmWxO2u5NbZ8Y6FM/NdrGSF9bop3Cf6F6C71z1rTSn8KV0Fo2ZVd79lGA==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-primitive": "2.0.0"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-slot": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.1.0.tgz",
+ "integrity": "sha512-FUCf5XMfmW4dtYl69pdS4DbxKy8nj4M7SafBgPllysxmdachynNflAdp/gCsnYWNDnge6tI9onzMp5ARYc1KNw==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-compose-refs": "1.1.0"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-switch": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-switch/-/react-switch-1.1.0.tgz",
+ "integrity": "sha512-OBzy5WAj641k0AOSpKQtreDMe+isX0MQJ1IVyF03ucdF3DunOnROVrjWs8zsXUxC3zfZ6JL9HFVCUlMghz9dJw==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/primitive": "1.1.0",
+ "@radix-ui/react-compose-refs": "1.1.0",
+ "@radix-ui/react-context": "1.1.0",
+ "@radix-ui/react-primitive": "2.0.0",
+ "@radix-ui/react-use-controllable-state": "1.1.0",
+ "@radix-ui/react-use-previous": "1.1.0",
+ "@radix-ui/react-use-size": "1.1.0"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-tabs": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-tabs/-/react-tabs-1.1.0.tgz",
+ "integrity": "sha512-bZgOKB/LtZIij75FSuPzyEti/XBhJH52ExgtdVqjCIh+Nx/FW+LhnbXtbCzIi34ccyMsyOja8T0thCzoHFXNKA==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/primitive": "1.1.0",
+ "@radix-ui/react-context": "1.1.0",
+ "@radix-ui/react-direction": "1.1.0",
+ "@radix-ui/react-id": "1.1.0",
+ "@radix-ui/react-presence": "1.1.0",
+ "@radix-ui/react-primitive": "2.0.0",
+ "@radix-ui/react-roving-focus": "1.1.0",
+ "@radix-ui/react-use-controllable-state": "1.1.0"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-toggle": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-toggle/-/react-toggle-1.1.0.tgz",
+ "integrity": "sha512-gwoxaKZ0oJ4vIgzsfESBuSgJNdc0rv12VhHgcqN0TEJmmZixXG/2XpsLK8kzNWYcnaoRIEEQc0bEi3dIvdUpjw==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/primitive": "1.1.0",
+ "@radix-ui/react-primitive": "2.0.0",
+ "@radix-ui/react-use-controllable-state": "1.1.0"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-tooltip": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-tooltip/-/react-tooltip-1.1.2.tgz",
+ "integrity": "sha512-9XRsLwe6Yb9B/tlnYCPVUd/TFS4J7HuOZW345DCeC6vKIxQGMZdx21RK4VoZauPD5frgkXTYVS5y90L+3YBn4w==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/primitive": "1.1.0",
+ "@radix-ui/react-compose-refs": "1.1.0",
+ "@radix-ui/react-context": "1.1.0",
+ "@radix-ui/react-dismissable-layer": "1.1.0",
+ "@radix-ui/react-id": "1.1.0",
+ "@radix-ui/react-popper": "1.2.0",
+ "@radix-ui/react-portal": "1.1.1",
+ "@radix-ui/react-presence": "1.1.0",
+ "@radix-ui/react-primitive": "2.0.0",
+ "@radix-ui/react-slot": "1.1.0",
+ "@radix-ui/react-use-controllable-state": "1.1.0",
+ "@radix-ui/react-visually-hidden": "1.1.0"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-use-callback-ref": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.1.0.tgz",
+ "integrity": "sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw==",
+ "license": "MIT",
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-use-controllable-state": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.1.0.tgz",
+ "integrity": "sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-use-callback-ref": "1.1.0"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-use-escape-keydown": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.1.0.tgz",
+ "integrity": "sha512-L7vwWlR1kTTQ3oh7g1O0CBF3YCyyTj8NmhLR+phShpyA50HCfBFKVJTpshm9PzLiKmehsrQzTYTpX9HvmC9rhw==",
+ "license": "MIT",
"dependencies": {
- "@nodelib/fs.stat": "2.0.5",
- "run-parallel": "^1.1.9"
+ "@radix-ui/react-use-callback-ref": "1.1.0"
},
- "engines": {
- "node": ">= 8"
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
}
},
- "node_modules/@nodelib/fs.stat": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
- "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
- "engines": {
- "node": ">= 8"
+ "node_modules/@radix-ui/react-use-layout-effect": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.1.0.tgz",
+ "integrity": "sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w==",
+ "license": "MIT",
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
}
},
- "node_modules/@nodelib/fs.walk": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
- "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+ "node_modules/@radix-ui/react-use-previous": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-previous/-/react-use-previous-1.1.0.tgz",
+ "integrity": "sha512-Z/e78qg2YFnnXcW88A4JmTtm4ADckLno6F7OXotmkQfeuCVaKuYzqAATPhVzl3delXE7CxIV8shofPn3jPc5Og==",
+ "license": "MIT",
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-use-rect": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-1.1.0.tgz",
+ "integrity": "sha512-0Fmkebhr6PiseyZlYAOtLS+nb7jLmpqTrJyv61Pe68MKYW6OWdRE2kI70TaYY27u7H0lajqM3hSMMLFq18Z7nQ==",
+ "license": "MIT",
"dependencies": {
- "@nodelib/fs.scandir": "2.1.5",
- "fastq": "^1.6.0"
+ "@radix-ui/rect": "1.1.0"
},
- "engines": {
- "node": ">= 8"
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
}
},
- "node_modules/@pkgjs/parseargs": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
- "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
+ "node_modules/@radix-ui/react-use-size": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.1.0.tgz",
+ "integrity": "sha512-XW3/vWuIXHa+2Uwcc2ABSfcCledmXhhQPlGbfcRXbiUQI5Icjcg19BGCZVKKInYbvUCut/ufbbLLPFC5cbb1hw==",
"license": "MIT",
- "optional": true,
- "engines": {
- "node": ">=14"
+ "dependencies": {
+ "@radix-ui/react-use-layout-effect": "1.1.0"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
}
},
- "node_modules/@playwright/test": {
- "version": "1.43.1",
- "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.43.1.tgz",
- "integrity": "sha512-HgtQzFgNEEo4TE22K/X7sYTYNqEMMTZmFS8kTq6m8hXj+m1D8TgwgIbumHddJa9h4yl4GkKb8/bgAl2+g7eDgA==",
- "devOptional": true,
+ "node_modules/@radix-ui/react-visually-hidden": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.1.0.tgz",
+ "integrity": "sha512-N8MDZqtgCgG5S3aV60INAB475osJousYpZ4cTJ2cFbMpdHS5Y6loLTH8LPtkj2QN0x93J30HT/M3qJXM0+lyeQ==",
+ "license": "MIT",
"dependencies": {
- "playwright": "1.43.1"
+ "@radix-ui/react-primitive": "2.0.0"
},
- "bin": {
- "playwright": "cli.js"
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
},
- "engines": {
- "node": ">=16"
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
}
},
+ "node_modules/@radix-ui/rect": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.1.0.tgz",
+ "integrity": "sha512-A9+lCBZoaMJlVKcRBz2YByCG+Cp2t6nAnMnNba+XiWxnj6r4JUFqfsgwocMBZU9LPtdxC6wB56ySYpc7LQIoJg==",
+ "license": "MIT"
+ },
"node_modules/@rushstack/eslint-patch": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.4.0.tgz",
@@ -957,6 +1915,18 @@
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
},
+ "node_modules/aria-hidden": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.4.tgz",
+ "integrity": "sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==",
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/aria-query": {
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz",
@@ -1399,6 +2369,27 @@
"resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
"integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg=="
},
+ "node_modules/class-variance-authority": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/class-variance-authority/-/class-variance-authority-0.7.0.tgz",
+ "integrity": "sha512-jFI8IQw4hczaL4ALINxqLEXQbWcNjoSkloa4IaufXCJr6QawJyw7tuRysRsrE8w2p/4gGaxKIt/hX3qz/IbD1A==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "clsx": "2.0.0"
+ },
+ "funding": {
+ "url": "https://joebell.co.uk"
+ }
+ },
+ "node_modules/class-variance-authority/node_modules/clsx": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.0.0.tgz",
+ "integrity": "sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/classnames": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz",
@@ -1409,6 +2400,15 @@
"resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz",
"integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA=="
},
+ "node_modules/clsx": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz",
+ "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/color": {
"version": "4.2.3",
"resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz",
@@ -1750,6 +2750,12 @@
"node": ">=8"
}
},
+ "node_modules/detect-node-es": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz",
+ "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==",
+ "license": "MIT"
+ },
"node_modules/didyoumean": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
@@ -2429,7 +3435,8 @@
"node_modules/fast-sort": {
"version": "3.4.0",
"resolved": "https://registry.npmjs.org/fast-sort/-/fast-sort-3.4.0.tgz",
- "integrity": "sha512-c/cMBGA5mH3OYjaXedtLIM3hQjv+KuZuiD2QEH5GofNOZeQVDIYIN7Okc2AW1KPhk44g5PTZnXp8t2lOMl8qhQ=="
+ "integrity": "sha512-c/cMBGA5mH3OYjaXedtLIM3hQjv+KuZuiD2QEH5GofNOZeQVDIYIN7Okc2AW1KPhk44g5PTZnXp8t2lOMl8qhQ==",
+ "license": "MIT"
},
"node_modules/fastq": {
"version": "1.15.0",
@@ -2466,6 +3473,15 @@
"node": ">=8"
}
},
+ "node_modules/filter-data": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/filter-data/-/filter-data-0.6.1.tgz",
+ "integrity": "sha512-+gwqSD7Wxu9VP83nPV5QhdwGZoF1ZbkWOZgYmYequH0hoNe2PuggeHjdoRAnTtVy0yBZmuB/GQ7XLQ5DsfnXoQ==",
+ "license": "MIT",
+ "dependencies": {
+ "ramda": "^0.30.1"
+ }
+ },
"node_modules/find-up": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
@@ -2625,6 +3641,15 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/get-nonce": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz",
+ "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/get-symbol-description": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz",
@@ -2935,6 +3960,15 @@
"tslib": "^2.4.0"
}
},
+ "node_modules/invariant": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
+ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
+ "license": "MIT",
+ "dependencies": {
+ "loose-envify": "^1.0.0"
+ }
+ },
"node_modules/is-array-buffer": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz",
@@ -3453,6 +4487,15 @@
"node": ">=10"
}
},
+ "node_modules/lucide-react": {
+ "version": "0.439.0",
+ "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.439.0.tgz",
+ "integrity": "sha512-PafSWvDTpxdtNEndS2HIHxcNAbd54OaqSYJO90/b63rab2HWYqDbH194j0i82ZFdWOAcf0AHinRykXRRK2PJbw==",
+ "license": "ISC",
+ "peerDependencies": {
+ "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc"
+ }
+ },
"node_modules/luxon": {
"version": "3.4.4",
"resolved": "https://registry.npmjs.org/luxon/-/luxon-3.4.4.tgz",
@@ -3652,6 +4695,16 @@
"react": "^16.8.0 || ^17.0.0 || ^18.0.0"
}
},
+ "node_modules/next-themes": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/next-themes/-/next-themes-0.3.0.tgz",
+ "integrity": "sha512-/QHIrsYpd6Kfk7xakK4svpDI5mmXP0gfvCoJdGpZQ2TOrQZmsW0QxjaiLn8wbIKjtm4BTSqLoix4lxYYOnLJ/w==",
+ "license": "MIT",
+ "peerDependencies": {
+ "react": "^16.8 || ^17 || ^18",
+ "react-dom": "^16.8 || ^17 || ^18"
+ }
+ },
"node_modules/node-abi": {
"version": "3.47.0",
"resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.47.0.tgz",
@@ -4271,6 +5324,16 @@
"resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz",
"integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag=="
},
+ "node_modules/ramda": {
+ "version": "0.30.1",
+ "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.30.1.tgz",
+ "integrity": "sha512-tEF5I22zJnuclswcZMc8bDIrwRHRzf+NqVEmqg50ShAZMP7MWeR/RGDthfM/p+BlqvF2fXAzpn8i+SJcYD3alw==",
+ "license": "MIT",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/ramda"
+ }
+ },
"node_modules/random-uint-below": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/random-uint-below/-/random-uint-below-2.0.0.tgz",
@@ -4347,6 +5410,63 @@
"resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz",
"integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA=="
},
+ "node_modules/react-remove-scroll": {
+ "version": "2.5.7",
+ "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.7.tgz",
+ "integrity": "sha512-FnrTWO4L7/Bhhf3CYBNArEG/yROV0tKmTv7/3h9QCFvH6sndeFf1wPqOcbFVu5VAulS5dV1wGT3GZZ/1GawqiA==",
+ "license": "MIT",
+ "dependencies": {
+ "react-remove-scroll-bar": "^2.3.4",
+ "react-style-singleton": "^2.2.1",
+ "tslib": "^2.1.0",
+ "use-callback-ref": "^1.3.0",
+ "use-sidecar": "^1.1.2"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/react-remove-scroll-bar": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.6.tgz",
+ "integrity": "sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==",
+ "license": "MIT",
+ "dependencies": {
+ "react-style-singleton": "^2.2.1",
+ "tslib": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/react-resizable-panels": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/react-resizable-panels/-/react-resizable-panels-2.1.2.tgz",
+ "integrity": "sha512-Ku2Bo7JvE8RpHhl4X1uhkdeT9auPBoxAOlGTqomDUUrBAX2mVGuHYZTcWvlnJSgx0QyHIxHECgGB5XVPUbUOkQ==",
+ "license": "MIT",
+ "peerDependencies": {
+ "react": "^16.14.0 || ^17.0.0 || ^18.0.0",
+ "react-dom": "^16.14.0 || ^17.0.0 || ^18.0.0"
+ }
+ },
"node_modules/react-resize-detector": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/react-resize-detector/-/react-resize-detector-8.1.0.tgz",
@@ -4373,6 +5493,29 @@
"react-dom": "^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0"
}
},
+ "node_modules/react-style-singleton": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz",
+ "integrity": "sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==",
+ "license": "MIT",
+ "dependencies": {
+ "get-nonce": "^1.0.0",
+ "invariant": "^2.2.4",
+ "tslib": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
"node_modules/react-transition-group": {
"version": "2.9.0",
"resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.9.0.tgz",
@@ -4812,6 +5955,16 @@
"node": ">=8"
}
},
+ "node_modules/sonner": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/sonner/-/sonner-1.5.0.tgz",
+ "integrity": "sha512-FBjhG/gnnbN6FY0jaNnqZOMmB73R+5IiyYAw8yBj7L54ER7HB3fOSE5OFiQiE2iXWxeXKvg6fIP4LtVppHEdJA==",
+ "license": "MIT",
+ "peerDependencies": {
+ "react": "^18.0.0",
+ "react-dom": "^18.0.0"
+ }
+ },
"node_modules/source-map-js": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
@@ -5099,13 +6252,10 @@
}
},
"node_modules/tailwind-merge": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-2.3.0.tgz",
- "integrity": "sha512-vkYrLpIP+lgR0tQCG6AP7zZXCTLc1Lnv/CCRT3BqJ9CZ3ui2++GPaGb1x/ILsINIMSYqqvrpqjUFsMNLlW99EA==",
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-2.5.2.tgz",
+ "integrity": "sha512-kjEBm+pvD+6eAwzJL2Bi+02/9LFLal1Gs61+QB7HvTfQQ0aXwC5LGT8PEt1gS0CWKktKe6ysPTAy3cBC5MeiIg==",
"license": "MIT",
- "dependencies": {
- "@babel/runtime": "^7.24.1"
- },
"funding": {
"type": "github",
"url": "https://github.com/sponsors/dcastil"
@@ -5147,6 +6297,15 @@
"node": ">=14.0.0"
}
},
+ "node_modules/tailwindcss-animate": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/tailwindcss-animate/-/tailwindcss-animate-1.0.7.tgz",
+ "integrity": "sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==",
+ "license": "MIT",
+ "peerDependencies": {
+ "tailwindcss": ">=3.0.0 || insiders"
+ }
+ },
"node_modules/tapable": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
@@ -5412,6 +6571,27 @@
"punycode": "^2.1.0"
}
},
+ "node_modules/use-callback-ref": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.2.tgz",
+ "integrity": "sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==",
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
"node_modules/use-intl": {
"version": "3.19.1",
"resolved": "https://registry.npmjs.org/use-intl/-/use-intl-3.19.1.tgz",
@@ -5425,6 +6605,28 @@
"react": "^16.8.0 || ^17.0.0 || ^18.0.0"
}
},
+ "node_modules/use-sidecar": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz",
+ "integrity": "sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==",
+ "license": "MIT",
+ "dependencies": {
+ "detect-node-es": "^1.1.0",
+ "tslib": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "@types/react": "^16.9.0 || ^17.0.0 || ^18.0.0",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
"node_modules/use-sync-external-store": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz",
@@ -5450,6 +6652,19 @@
"uuid": "dist/bin/uuid"
}
},
+ "node_modules/vaul": {
+ "version": "0.9.2",
+ "resolved": "https://registry.npmjs.org/vaul/-/vaul-0.9.2.tgz",
+ "integrity": "sha512-m2A7UgAU/JMWiwUhmARK8LMvEfXiudA4trJxfZF5AtH2uBTgN855msZ2yjPnUDfa7i5glocMYLSfML8wriBtBA==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-dialog": "^1.0.4"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0",
+ "react-dom": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
"node_modules/victory-vendor": {
"version": "36.6.11",
"resolved": "https://registry.npmjs.org/victory-vendor/-/victory-vendor-36.6.11.tgz",
diff --git a/package.json b/package.json
index 4497c0d1..450f9ddc 100644
--- a/package.json
+++ b/package.json
@@ -14,38 +14,61 @@
"@headlessui/react": "^1.7.17",
"@heroicons/react": "^2.1.3",
"@mierak/react-virtualized-grid": "^0.0.5-ALPHA",
+ "@radix-ui/react-avatar": "^1.1.0",
+ "@radix-ui/react-checkbox": "^1.1.1",
+ "@radix-ui/react-dialog": "^1.1.1",
+ "@radix-ui/react-dropdown-menu": "^2.1.1",
+ "@radix-ui/react-icons": "^1.3.0",
+ "@radix-ui/react-label": "^2.1.0",
+ "@radix-ui/react-scroll-area": "^1.1.0",
+ "@radix-ui/react-select": "^2.1.1",
+ "@radix-ui/react-separator": "^1.1.0",
+ "@radix-ui/react-slot": "^1.1.0",
+ "@radix-ui/react-switch": "^1.1.0",
+ "@radix-ui/react-tabs": "^1.1.0",
+ "@radix-ui/react-toggle": "^1.1.0",
+ "@radix-ui/react-tooltip": "^1.1.2",
"@types/node": "20.6.0",
"@types/papaparse": "^5.3.14",
"@types/react": "18.2.21",
"@types/react-dom": "18.2.7",
"autoprefixer": "10.4.15",
+ "class-variance-authority": "^0.7.0",
+ "clsx": "^2.1.1",
"country-flag-icons": "^1.5.11",
"cube-solver": "^2.4.1",
"cubing": "^0.44.1",
"date-fns": "^2.30.0",
"eslint": "8.49.0",
"eslint-config-next": "^14.2.3",
- "fast-sort": "3.4.0",
+ "fast-sort": "^3.4.0",
+ "filter-data": "^0.6.1",
"framer-motion": "^10.17.4",
"idb-wrapper": "^1.7.2",
"lightweight-charts": "^4.1.4",
+ "lucide-react": "^0.439.0",
"luxon": "^3.4.4",
"next": "^14.2.3",
"next-intl": "^3.19.1",
+ "next-themes": "^0.3.0",
"papaparse": "^5.4.1",
"postcss": "8.4.31",
"pretty-ms": "^8.0.0",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-dom-confetti": "^0.2.0",
+ "react-resizable-panels": "^2.1.2",
"recharts": "^2.8.0",
"scrambow": "^1.8.1",
"sharp": "0.32.6",
- "tailwind-merge": "^2.3.0",
+ "sonner": "^1.5.0",
+ "tailwind-merge": "^2.5.2",
"tailwindcss": "^3.4.0",
+ "tailwindcss-animate": "^1.0.7",
"ts-deepmerge": "^7.0.0",
"typescript": "5.2.2",
"uuid": "9.0.1",
+ "vaul": "^0.9.2",
"zustand": "4.4.1"
},
"devDependencies": {
diff --git a/public/empty.png b/public/empty.png
new file mode 100644
index 00000000..30dfcbee
Binary files /dev/null and b/public/empty.png differ
diff --git a/src/FAKE_SESSION.ts b/src/FAKE_SESSION.ts
new file mode 100644
index 00000000..14f6de12
--- /dev/null
+++ b/src/FAKE_SESSION.ts
@@ -0,0 +1,694 @@
+import { Solve } from "@/interfaces/Solve";
+
+export const FAKE_SESSION: Solve[] = [
+ {
+ id: "986b4374-a791-4c93-b394-68cf7a7da9ce",
+ startTime: 1718671570125,
+ endTime: 1718671584679,
+ scramble: "F2 D B2 D' R2 F2 L' B' R2 U2 F2 R' D2 F2 L' U2 R' F2 B2 R ",
+ bookmark: false,
+ time: 14553,
+ dnf: false,
+ plus2: false,
+ rating: 67,
+ cubeId: "c3cf8415-f57c-425a-90d9-76623279c6ee",
+ comment: "",
+ },
+ {
+ id: "2fcd9e73-620d-40d1-9845-5f7908fd0119",
+ startTime: 1718671604236,
+ endTime: 1718671617958,
+ scramble: "D2 R2 D2 L2 F' R2 F D2 U2 B D2 F L' B R2 D2 R U F2 U' F' ",
+ bookmark: false,
+ time: 13718,
+ dnf: false,
+ plus2: false,
+ rating: 76,
+ cubeId: "c3cf8415-f57c-425a-90d9-76623279c6ee",
+ comment: "",
+ },
+ {
+ id: "2a677145-dcd3-4a41-a53e-dde9584bd418",
+ startTime: 1719150613308,
+ endTime: 1719150625185,
+ scramble: "B2 L' F2 L B2 R' F2 R F2 D2 L2 D2 F' U' B F' U2 F2 L2 U R2 ",
+ bookmark: false,
+ time: 11875,
+ dnf: false,
+ plus2: false,
+ rating: 69,
+ cubeId: "c3cf8415-f57c-425a-90d9-76623279c6ee",
+ comment: "",
+ },
+ {
+ id: "7ea1f741-8a3e-43fb-b742-05f38764af72",
+ startTime: 1719150653421,
+ endTime: 1719150667531,
+ scramble:
+ "L2 U' L2 B2 U' B2 F2 R2 D B2 U' B2 L' D R2 B R D' F2 U B' L2 ",
+ bookmark: false,
+ time: 14108,
+ dnf: false,
+ plus2: false,
+ rating: 73,
+ cubeId: "c3cf8415-f57c-425a-90d9-76623279c6ee",
+ comment: "",
+ },
+ {
+ id: "b56c48fb-9299-4c7c-bbcd-37cf586d8830",
+ startTime: 1719150711340,
+ endTime: 1719150726394,
+ scramble: "U2 L B2 L D2 F2 R F2 R' B2 R' U' B D' L2 B F2 L D2 F2 D' ",
+ bookmark: false,
+ time: 15054,
+ dnf: false,
+ plus2: false,
+ rating: 76,
+ cubeId: "c3cf8415-f57c-425a-90d9-76623279c6ee",
+ comment: "",
+ },
+ {
+ id: "0cb63bb7-c82d-451b-8726-5a65db784347",
+ startTime: 1719150748376,
+ endTime: 1719150763836,
+ scramble: "R' F2 L F L F' U D' F L2 U F2 R2 F2 D' B2 L2 D L2 F2 D ",
+ bookmark: false,
+ time: 15459,
+ dnf: false,
+ plus2: false,
+ rating: 68,
+ cubeId: "c3cf8415-f57c-425a-90d9-76623279c6ee",
+ comment: "",
+ },
+ {
+ id: "3bd0ec2f-c3f1-40b6-b411-1ecbc207e3ce",
+ startTime: 1719150780019,
+ endTime: 1719150796733,
+ scramble: "D2 R B' L D2 F' L2 F' R2 D2 F2 L2 D' B2 D B2 L2 U R2 ",
+ bookmark: false,
+ time: 16711,
+ dnf: false,
+ plus2: false,
+ rating: 73,
+ cubeId: "c3cf8415-f57c-425a-90d9-76623279c6ee",
+ comment: "",
+ },
+ {
+ id: "3fc1b2cb-23d2-4405-b670-fd912f53c130",
+ startTime: 1719181975832,
+ endTime: 1719181991195,
+ scramble:
+ "F2 D' B2 L2 U' R2 U B2 L2 F2 R2 D2 L' F' L R' F2 L2 U B2 R2 D' ",
+ bookmark: false,
+ time: 15361,
+ dnf: false,
+ plus2: false,
+ rating: 80,
+ cubeId: "c3cf8415-f57c-425a-90d9-76623279c6ee",
+ comment: "",
+ },
+ {
+ id: "a9c8d0e1-bb33-4e94-9c5b-e71c8fad3941",
+ startTime: 1719771948618,
+ endTime: 1719771963336,
+ scramble:
+ "B2 U2 L' D F2 R' L B' U R B2 L2 F2 D' F2 U R2 U2 L2 F2 D2 F2 ",
+ bookmark: false,
+ time: 14712,
+ dnf: false,
+ plus2: false,
+ rating: 84,
+ cubeId: "c3cf8415-f57c-425a-90d9-76623279c6ee",
+ comment: "",
+ },
+ {
+ id: "91272bf3-d2f2-4a22-a661-3d3dcf8ab001",
+ startTime: 1719771986337,
+ endTime: 1719772001364,
+ scramble:
+ "B2 L F2 D2 L F2 D2 L' B2 L B2 R D' L2 U2 R' U' B F L' F2 R2 ",
+ bookmark: false,
+ time: 15026,
+ dnf: false,
+ plus2: false,
+ rating: 74,
+ cubeId: "c3cf8415-f57c-425a-90d9-76623279c6ee",
+ comment: "",
+ },
+ {
+ id: "3967db59-43c5-410c-96cc-c5ad8e6887f3",
+ startTime: 1719772060089,
+ endTime: 1719772076563,
+ scramble: "F' L2 B2 R2 F U2 R2 F' R2 F D2 F L' U' B' D L' D R U2 R' ",
+ bookmark: false,
+ time: 16471,
+ dnf: false,
+ plus2: false,
+ rating: 76,
+ cubeId: "c3cf8415-f57c-425a-90d9-76623279c6ee",
+ comment: "",
+ },
+ {
+ id: "6f28c032-893e-477a-b8e1-0876a78fb385",
+ startTime: 1722627790298,
+ endTime: 1722627803012,
+ scramble:
+ "U F R F2 B R D' R2 L' B' L2 U' D' F2 R2 D2 B2 L2 D B2 D L2 ",
+ bookmark: false,
+ time: 12712,
+ dnf: false,
+ plus2: false,
+ rating: 76,
+ cubeId: "c3cf8415-f57c-425a-90d9-76623279c6ee",
+ comment: "",
+ },
+ {
+ id: "0f9ed47c-0479-4c3b-9aa0-3fca3281e76a",
+ startTime: 1722627833027,
+ endTime: 1722627847137,
+ scramble: "U2 F2 L2 D2 U2 B L2 R2 U2 R2 U2 B L' U L' B' L' B F2 D' U' ",
+ bookmark: false,
+ time: 14107,
+ dnf: false,
+ plus2: false,
+ rating: 78,
+ cubeId: "c3cf8415-f57c-425a-90d9-76623279c6ee",
+ comment: "",
+ },
+ {
+ id: "5468f3ea-eff0-4661-86e2-0bf3883d3bfa",
+ startTime: 1722864719512,
+ endTime: 1722864731439,
+ scramble: "B2 R F D' F2 U R F' R2 D2 F R2 F L2 B' U2 B2 R2 L2 ",
+ bookmark: false,
+ time: 11925,
+ dnf: false,
+ plus2: false,
+ rating: 59,
+ cubeId: "c3cf8415-f57c-425a-90d9-76623279c6ee",
+ comment: "",
+ },
+ {
+ id: "3b4a8b96-eaed-4d9e-9af2-cf80607336d9",
+ startTime: 1722864757065,
+ endTime: 1722864770612,
+ scramble:
+ "R2 D2 R2 D U2 L2 B2 R2 F2 R2 D2 U' R' D2 U F D' U B2 L D2 R' ",
+ bookmark: false,
+ time: 13547,
+ dnf: false,
+ plus2: false,
+ rating: 73,
+ cubeId: "c3cf8415-f57c-425a-90d9-76623279c6ee",
+ comment: "",
+ },
+ {
+ id: "d0f9f239-e12b-4718-be9e-ae482ede620f",
+ startTime: 1722864801375,
+ endTime: 1722864813141,
+ scramble:
+ "U2 B2 R2 B2 R2 D2 R2 U B2 F2 D L2 F D R2 F L' B' D U F R2 ",
+ bookmark: false,
+ time: 11763,
+ dnf: false,
+ plus2: false,
+ rating: 71,
+ cubeId: "c3cf8415-f57c-425a-90d9-76623279c6ee",
+ comment: "",
+ },
+ {
+ id: "0eb22dd7-70c8-4f13-be38-55cd2958de3c",
+ startTime: 1722864853841,
+ endTime: 1722864867882,
+ scramble:
+ "D' R2 U F2 D U B2 U' R2 F2 L2 U' B' R' B2 R2 B R B' F' L' U2 ",
+ bookmark: false,
+ time: 14041,
+ dnf: false,
+ plus2: false,
+ rating: 66,
+ cubeId: "c3cf8415-f57c-425a-90d9-76623279c6ee",
+ comment: "",
+ },
+ {
+ id: "81b1556d-693b-4e8e-adb0-882806061127",
+ startTime: 1722864888829,
+ endTime: 1722864902106,
+ scramble: "R' D' F' L B' U' F' U R' B' D L2 F2 L2 U D B2 D L2 D' F2 ",
+ bookmark: false,
+ time: 13273,
+ dnf: false,
+ plus2: false,
+ rating: 63,
+ cubeId: "c3cf8415-f57c-425a-90d9-76623279c6ee",
+ comment: "",
+ },
+ {
+ id: "8bad3995-40f5-4973-b07a-7f851fdeb700",
+ startTime: 1722864963689,
+ endTime: 1722864977033,
+ scramble: "R' F B2 D F' U' R D2 B' R2 U2 F2 R2 F2 D' L2 D' B2 D2 L2 U ",
+ bookmark: false,
+ time: 13342,
+ dnf: false,
+ plus2: false,
+ rating: 76,
+ cubeId: "c3cf8415-f57c-425a-90d9-76623279c6ee",
+ comment: "",
+ },
+ {
+ id: "719ccca1-87b4-4845-9147-6485bc98e2aa",
+ startTime: 1722864998947,
+ endTime: 1722865011234,
+ scramble:
+ "F R2 U2 B R2 F' D2 U2 L2 D2 B2 F D R U' L R D' F' U2 B2 D' ",
+ bookmark: false,
+ time: 12286,
+ dnf: false,
+ plus2: false,
+ rating: 83,
+ cubeId: "c3cf8415-f57c-425a-90d9-76623279c6ee",
+ comment: "",
+ },
+ {
+ id: "d50eb126-df6b-429b-8d22-aeae8fc5e338",
+ startTime: 1722865141444,
+ endTime: 1722865153416,
+ scramble: "L2 D' B R2 L B D' F R D2 L2 U2 R2 B2 D2 B' D2 B' D2 ",
+ bookmark: false,
+ time: 11970,
+ dnf: false,
+ plus2: false,
+ rating: 62,
+ cubeId: "c3cf8415-f57c-425a-90d9-76623279c6ee",
+ comment: "",
+ },
+ {
+ id: "0ed9e607-7b08-4633-9d74-b5bd338d1d3b",
+ startTime: 1722865178644,
+ endTime: 1722865191465,
+ scramble: "L F2 B L' B2 D L' B' U' L2 U2 B2 D R2 B2 U' B2 U' B2 U ",
+ bookmark: false,
+ time: 12819,
+ dnf: false,
+ plus2: false,
+ rating: 72,
+ cubeId: "c3cf8415-f57c-425a-90d9-76623279c6ee",
+ comment: "",
+ },
+ {
+ id: "73d59437-d26b-4943-8f9b-3e251e52cd7e",
+ startTime: 1722865219663,
+ endTime: 1722865233024,
+ scramble: "F2 L2 R2 U2 F2 D' F2 U R2 B2 D2 R2 B' L' F2 U' F' L2 U2 B' D' ",
+ bookmark: false,
+ time: 13358,
+ dnf: false,
+ plus2: false,
+ rating: 80,
+ cubeId: "c3cf8415-f57c-425a-90d9-76623279c6ee",
+ comment: "",
+ },
+ {
+ id: "4f743825-aa8d-45b5-b75a-088001182002",
+ startTime: 1722865254831,
+ endTime: 1722865265762,
+ scramble: "B2 U' B2 U L2 U2 L2 U2 B2 U' B2 U' L' B' U' F' U L D' R2 U2 ",
+ bookmark: false,
+ time: 10930,
+ dnf: false,
+ plus2: false,
+ rating: 64,
+ cubeId: "c3cf8415-f57c-425a-90d9-76623279c6ee",
+ comment: "",
+ },
+ {
+ id: "9e8c71f3-af41-4bad-93f0-6ae9fa3f8b3a",
+ startTime: 1722865287654,
+ endTime: 1722865301157,
+ scramble:
+ "R2 D R2 U' B2 R2 D B2 D R2 U F2 R' B R2 B D R F' U B2 D ",
+ bookmark: false,
+ time: 13500,
+ dnf: false,
+ plus2: false,
+ rating: 81,
+ cubeId: "c3cf8415-f57c-425a-90d9-76623279c6ee",
+ comment: "",
+ },
+ {
+ id: "e56717b7-77b7-49ee-8882-7c69b0f99923",
+ startTime: 1722865320376,
+ endTime: 1722865333984,
+ scramble: "R D2 L2 B D2 L U F' R' B U F2 U' F2 R2 U' R2 L2 F2 D2 F2 ",
+ bookmark: false,
+ time: 13607,
+ dnf: false,
+ plus2: false,
+ rating: 72,
+ cubeId: "c3cf8415-f57c-425a-90d9-76623279c6ee",
+ comment: "",
+ },
+ {
+ id: "1206db45-b432-40ec-8729-6fb04eeb920d",
+ startTime: 1722865356236,
+ endTime: 1722865370053,
+ scramble: "L' D' L B U' F' U R D L2 U B2 R2 U' R2 D2 F2 R2 D B2 ",
+ bookmark: false,
+ time: 13814,
+ dnf: false,
+ plus2: false,
+ rating: 68,
+ cubeId: "c3cf8415-f57c-425a-90d9-76623279c6ee",
+ comment: "",
+ },
+ {
+ id: "586391c3-a8d8-44fe-b1cc-ff60c3140686",
+ startTime: 1722865446554,
+ endTime: 1722865461339,
+ scramble: "B D2 F U' L B R U' F U F2 B2 U R2 L2 D F2 D2 R2 F2 R2 ",
+ bookmark: false,
+ time: 14781,
+ dnf: false,
+ plus2: false,
+ rating: 76,
+ cubeId: "c3cf8415-f57c-425a-90d9-76623279c6ee",
+ comment: "",
+ },
+ {
+ id: "4ad5a229-6aae-44fe-aee2-b3bc1c3af964",
+ startTime: 1722865533632,
+ endTime: 1722865547246,
+ scramble:
+ "L2 R2 U2 F2 L2 D L2 U F2 L2 R2 U2 R' F' D' B L' F D F2 U L' ",
+ bookmark: false,
+ time: 13614,
+ dnf: false,
+ plus2: false,
+ rating: 66,
+ cubeId: "c3cf8415-f57c-425a-90d9-76623279c6ee",
+ comment: "",
+ },
+ {
+ id: "62b4074c-74a3-4697-b9ee-5c4c5c08e218",
+ startTime: 1722865568064,
+ endTime: 1722865581560,
+ scramble: "D2 U2 F' U2 F L2 R2 B L2 D2 U2 F' R' B U L R2 D' R2 U2 F ",
+ bookmark: false,
+ time: 13494,
+ dnf: false,
+ plus2: false,
+ rating: 74,
+ cubeId: "c3cf8415-f57c-425a-90d9-76623279c6ee",
+ comment: "",
+ },
+ {
+ id: "12a4675d-7a14-4ea4-af5f-a5ec4235f23d",
+ startTime: 1722865601719,
+ endTime: 1722865615176,
+ scramble: "R U2 L' B2 F2 D2 L U2 R' D2 L' F U2 R2 U B' R2 F' R2 F ",
+ bookmark: false,
+ time: 13454,
+ dnf: false,
+ plus2: false,
+ rating: 67,
+ cubeId: "c3cf8415-f57c-425a-90d9-76623279c6ee",
+ comment: "",
+ },
+ {
+ id: "b6346329-8300-41eb-b7b0-73f53dd7c736",
+ startTime: 1722865645242,
+ endTime: 1722865658422,
+ scramble: "B' L B' R' B2 U' L D2 L' F2 U2 B' R2 B L2 B' U2 F' U2 F2 D2 ",
+ bookmark: false,
+ time: 13179,
+ dnf: false,
+ plus2: false,
+ rating: 68,
+ cubeId: "c3cf8415-f57c-425a-90d9-76623279c6ee",
+ comment: "",
+ },
+ {
+ id: "414b9227-3f6e-4514-9cab-7756fb377069",
+ startTime: 1722865681287,
+ endTime: 1722865696516,
+ scramble: "U' B2 L2 U' L2 D2 B2 R2 D2 R2 D R B L' B' F' L' F2 D R2 B' ",
+ bookmark: false,
+ time: 15226,
+ dnf: false,
+ plus2: false,
+ rating: 81,
+ cubeId: "c3cf8415-f57c-425a-90d9-76623279c6ee",
+ comment: "",
+ },
+ {
+ id: "426b0346-c2a2-43c9-ab61-d8884b3610d3",
+ startTime: 1722865717395,
+ endTime: 1722865732608,
+ scramble: "D2 R F2 L2 B U2 R2 F2 R B2 U R2 U' F2 U2 B2 L2 U' F2 U2 R2 ",
+ bookmark: false,
+ time: 15210,
+ dnf: false,
+ plus2: false,
+ rating: 75,
+ cubeId: "c3cf8415-f57c-425a-90d9-76623279c6ee",
+ comment: "",
+ },
+ {
+ id: "f430d5fb-ab27-4e91-95ce-b28800890651",
+ startTime: 1722865750478,
+ endTime: 1722865763546,
+ scramble: "D' U2 B2 R2 U R2 U2 R2 B2 R2 B2 U' R U' R' F R' U F2 R B' ",
+ bookmark: false,
+ time: 13065,
+ dnf: false,
+ plus2: false,
+ rating: 82,
+ cubeId: "c3cf8415-f57c-425a-90d9-76623279c6ee",
+ comment: "",
+ },
+ {
+ id: "aa1f07d4-154f-4a0e-ba1d-16c76542c782",
+ startTime: 1722865780673,
+ endTime: 1722865791648,
+ scramble: "D2 B R2 F D2 B R2 B2 U2 B' R2 B U' R B2 U F U' F' D B ",
+ bookmark: false,
+ time: 10973,
+ dnf: false,
+ plus2: false,
+ rating: 74,
+ cubeId: "c3cf8415-f57c-425a-90d9-76623279c6ee",
+ comment: "",
+ },
+ {
+ id: "c868c582-23bc-451a-9270-cd9993d2732e",
+ startTime: 1722865819397,
+ endTime: 1722865830351,
+ scramble: "B2 D2 L' U2 L' D2 L F2 D2 U2 L2 F2 D L' R D' B D R2 F R2 ",
+ bookmark: false,
+ time: 10950,
+ dnf: false,
+ plus2: false,
+ rating: 71,
+ cubeId: "c3cf8415-f57c-425a-90d9-76623279c6ee",
+ comment: "",
+ },
+ {
+ id: "1d89fc0a-60cf-4839-ac65-83911c9384d9",
+ startTime: 1722865848889,
+ endTime: 1722865862840,
+ scramble: "F2 R2 U' R2 B2 D' R2 D2 L2 F2 D L' U2 R' F' D U L U R' F2 ",
+ bookmark: false,
+ time: 13950,
+ dnf: false,
+ plus2: false,
+ rating: 78,
+ cubeId: "c3cf8415-f57c-425a-90d9-76623279c6ee",
+ comment: "",
+ },
+ {
+ id: "e400da82-e409-43de-8bd3-c947b8fc09d2",
+ startTime: 1725060679529,
+ endTime: 1725060690942,
+ scramble:
+ "U2 R2 D2 L2 U' L2 F2 D L2 F2 D R2 F U' L D2 B2 F R U R F' ",
+ bookmark: false,
+ time: 11412,
+ dnf: false,
+ plus2: false,
+ rating: 76,
+ cubeId: "c3cf8415-f57c-425a-90d9-76623279c6ee",
+ comment: "",
+ },
+ {
+ id: "37a05e2b-fefb-4a7b-b9f8-3a50c8c0c11c",
+ startTime: 1725060717826,
+ endTime: 1725060732612,
+ scramble: "R U2 L2 D2 B2 L2 B2 R D2 R' D2 R D' F L' F2 R' D U F ",
+ bookmark: false,
+ time: 14782,
+ dnf: false,
+ plus2: false,
+ rating: 74,
+ cubeId: "c3cf8415-f57c-425a-90d9-76623279c6ee",
+ comment: "",
+ },
+ {
+ id: "60c47568-2985-4d51-b821-b2caca7cbf2d",
+ startTime: 1725060751690,
+ endTime: 1725060764944,
+ scramble: "D2 B' R2 B' L2 U2 B2 L2 U2 B' D2 F' R F' D2 B U L' B R' D2 ",
+ bookmark: false,
+ time: 13253,
+ dnf: false,
+ plus2: false,
+ rating: 81,
+ cubeId: "c3cf8415-f57c-425a-90d9-76623279c6ee",
+ comment: "",
+ },
+ {
+ id: "076582dc-cd5b-4e25-ab77-b42d0363bf24",
+ startTime: 1725060791608,
+ endTime: 1725060806933,
+ scramble:
+ "B2 U B2 F2 U2 B2 U L2 U' R2 D B2 L U2 B' D U R' B F2 U2 F2 ",
+ bookmark: false,
+ time: 15320,
+ dnf: false,
+ plus2: false,
+ rating: 67,
+ cubeId: "c3cf8415-f57c-425a-90d9-76623279c6ee",
+ comment: "",
+ },
+ {
+ id: "9c5ce1cf-26c6-4c47-939b-1420fc88a8c9",
+ startTime: 1725237430149,
+ endTime: 1725237443202,
+ scramble: "B D R' U2 L' B2 R' D B R2 F2 U2 F' R2 L2 U2 B' R2 B L2 ",
+ bookmark: false,
+ time: 13050,
+ dnf: false,
+ plus2: false,
+ rating: 69,
+ cubeId: "c3cf8415-f57c-425a-90d9-76623279c6ee",
+ comment: "",
+ },
+ {
+ id: "6a0ad69f-ace8-4426-91c8-b049366f21fe",
+ startTime: 1725237466353,
+ endTime: 1725237479316,
+ scramble: "U2 B L2 R2 F2 U2 B' U2 R2 B L2 D' R B R' F U2 F' R D2 ",
+ bookmark: false,
+ time: 12960,
+ dnf: false,
+ plus2: false,
+ rating: 78,
+ cubeId: "c3cf8415-f57c-425a-90d9-76623279c6ee",
+ comment: "",
+ },
+ {
+ id: "2056e114-e4ff-403c-b840-b60efbd1c794",
+ startTime: 1725237500150,
+ endTime: 1725237513743,
+ scramble: "D2 L2 B F2 U2 F' U2 F' L2 B U2 L2 U' L R' F' R' B' L2 D2 U' ",
+ bookmark: false,
+ time: 13589,
+ dnf: false,
+ plus2: false,
+ rating: 77,
+ cubeId: "c3cf8415-f57c-425a-90d9-76623279c6ee",
+ comment: "",
+ },
+ {
+ id: "1e8c5874-0941-4b74-b7a2-90630718f844",
+ startTime: 1725237640264,
+ endTime: 1725237654171,
+ scramble: "L2 R2 D2 F U2 F L2 B' L2 D2 B F' L R' F2 D' B' D' R2 U' F ",
+ bookmark: false,
+ time: 13904,
+ dnf: false,
+ plus2: false,
+ rating: 81,
+ cubeId: "c3cf8415-f57c-425a-90d9-76623279c6ee",
+ comment: "",
+ },
+ {
+ id: "a3e876cc-7cf4-424f-abac-ad8d120f34ac",
+ startTime: 1725237688642,
+ endTime: 1725237703922,
+ scramble: "F2 L2 D2 U2 B' R2 F L2 F D2 U2 B2 D U2 F L2 R2 F' R' D' L' ",
+ bookmark: false,
+ time: 15277,
+ dnf: false,
+ plus2: false,
+ rating: 63,
+ cubeId: "c3cf8415-f57c-425a-90d9-76623279c6ee",
+ comment: "",
+ },
+ {
+ id: "7f60b2b5-3bb3-41e8-a563-ae3f916b1be2",
+ startTime: 1725237727816,
+ endTime: 1725237743208,
+ scramble: "F' L U' R L' F R2 U' F' U2 L2 B2 D2 B R2 L2 F R2 F' D2 ",
+ bookmark: false,
+ time: 15391,
+ dnf: false,
+ plus2: false,
+ rating: 63,
+ cubeId: "c3cf8415-f57c-425a-90d9-76623279c6ee",
+ comment: "",
+ },
+ {
+ id: "7dfc2b71-2ceb-45a7-9562-0efa77c0c034",
+ startTime: 1725237764514,
+ endTime: 1725237780063,
+ scramble: "B' R2 B L2 B L2 U2 B2 F' R2 U2 F' R' D2 U L B F2 R' D F' ",
+ bookmark: false,
+ time: 15547,
+ dnf: false,
+ plus2: false,
+ rating: 69,
+ cubeId: "c3cf8415-f57c-425a-90d9-76623279c6ee",
+ comment: "",
+ },
+ {
+ id: "5c2d3274-14d5-4681-89fb-b4af686a1499",
+ startTime: 1725237799888,
+ endTime: 1725237814379,
+ scramble: "B2 R' F2 D R' U2 F B R D' F2 L2 U B2 D2 R2 U L2 U L2 F2 ",
+ bookmark: false,
+ time: 14488,
+ dnf: false,
+ plus2: false,
+ rating: 80,
+ cubeId: "c3cf8415-f57c-425a-90d9-76623279c6ee",
+ comment: "",
+ },
+ {
+ id: "428fa8de-f99c-4ac4-a4fa-93d90fb2a014",
+ startTime: 1725237838587,
+ endTime: 1725237849343,
+ scramble: "R B2 U2 R' U2 R U2 R' F2 R B2 L' B D2 L D2 R' F' R2 U ",
+ bookmark: false,
+ time: 10756,
+ dnf: false,
+ plus2: false,
+ rating: 76,
+ cubeId: "c3cf8415-f57c-425a-90d9-76623279c6ee",
+ comment: "",
+ },
+ {
+ id: "9e657b64-88eb-4b24-be05-b3b677789529",
+ startTime: 1725237867793,
+ endTime: 1725237880395,
+ scramble:
+ "L2 R2 D' F2 U2 R2 D2 R2 B2 U2 F2 U' R B L' U' R U2 B' D2 U' F2 ",
+ bookmark: false,
+ time: 12600,
+ dnf: false,
+ plus2: false,
+ rating: 70,
+ cubeId: "c3cf8415-f57c-425a-90d9-76623279c6ee",
+ comment: "",
+ },
+];
diff --git a/src/app/[locale]/cubes/page.tsx b/src/app/[locale]/cubes/page.tsx
index b3c2dcf4..193edcdd 100644
--- a/src/app/[locale]/cubes/page.tsx
+++ b/src/app/[locale]/cubes/page.tsx
@@ -1,44 +1,214 @@
"use client";
-import { Button } from "@/components/button/index";
-import { InputText } from "@/components/input-text/index";
-import ModalCreate from "@/components/cubes/ModalCreate";
-import { OverallContainer } from "@/components/OverallContainer";
-import { CubesContent } from "@/components/cubes/CubesContent";
-import { OverallHeader } from "@/components/OverallHeader";
-import { OptionsContainer } from "@/components/cubes/OptionsContainer";
+
+import { Button } from "@/components/ui/button";
+import { Card } from "@/components/ui/card";
+import { Input } from "@/components/ui/input";
+import { Dialog } from "@/components/ui/dialog";
+import {
+ Table,
+ TableBody,
+ TableCell,
+ TableHead,
+ TableHeader,
+ TableRow,
+} from "@/components/ui/table";
import { useCubes } from "@/hooks/useCubes";
-import { AnimatePresence } from "framer-motion";
-import { useCubesModalStore } from "@/store/CubesModalStore";
-import { useTranslations } from "next-intl";
-import { PlusIcon } from "@heroicons/react/24/solid";
+import EmptyCubes from "@/components/cubes/EmptyCubes";
+import {
+ DropdownMenu,
+ DropdownMenuContent,
+ DropdownMenuItem,
+ DropdownMenuTrigger,
+} from "@/components/ui/dropdown-menu";
+import { DateTime } from "luxon";
+import { useLocale, useTranslations } from "next-intl";
+import { Checkbox } from "@/components/ui/checkbox";
+import { Drawer, DrawerTrigger } from "@/components/ui/drawer";
+import DialogDeleteCollection from "@/components/dialogs/dialog-delete-collection/dialog-delete-collection";
+import DrawerCreateCollection from "@/components/drawners/drawner-create-collection/drawner-create-collection";
+import { useDialogCubesOptions } from "@/store/DialogCubesOptions";
+import DialogEditCollection from "@/components/dialogs/dialog-edit-collection/dialog-edit-collection";
+import { useState } from "react";
+import {
+ DotsHorizontalIcon,
+ PlayIcon,
+ PlusIcon,
+ StopIcon,
+} from "@radix-ui/react-icons";
-export default function CubesPage() {
- const { filterCubes, handleSearchFilter } = useCubes();
- const { modalOpen, setModalOpen, setSelectedCategory } = useCubesModalStore();
- const t = useTranslations("Index.CubesPage");
+export default function Page() {
+ const [isOpenDrawerNewCollection, setIsOpenDrawerNewCollection] =
+ useState(false);
+ const { isOpen, type, openDialogType, closeDialog } = useDialogCubesOptions();
+ const {
+ filterCubes,
+ handleSearchFilter,
+ handleFavoriteClick,
+ redirectToTimer,
+ } = useCubes();
+ const locale = useLocale();
+ const t = useTranslations("Index");
return (
<>
-