From e711b5a040fa51fe786d36f4c4707ee137b7ba95 Mon Sep 17 00:00:00 2001 From: Colin Berry Date: Wed, 3 Aug 2022 17:49:56 +0100 Subject: [PATCH] feat: Language updater script --- .gitignore | 4 +- lang/cs-CZ.json | 20 +- lang/da-DK.json | 8 +- lang/de-DE.json | 8 +- lang/el-GR.json | 530 +++++++++++++++++++++++++++++++++++++++++++ lang/eo-UY.json | 8 +- lang/es-ES.json | 8 +- lang/et-EE.json | 8 +- lang/fi-FI.json | 8 +- lang/fil-PH.json | 8 +- lang/fr-FR.json | 8 +- lang/hu-HU.json | 8 +- lang/it-IT.json | 10 +- lang/ja-JP.json | 8 +- lang/mk-MK.json | 18 +- lang/nl-NL.json | 8 +- lang/pl-PL.json | 8 +- lang/pt-BR.json | 8 +- lang/pt-PT.json | 8 +- lang/ro-RO.json | 8 +- lang/ru-RU.json | 8 +- lang/sr-CS.json | 8 +- lang/sr-SP.json | 8 +- lang/sv-SE.json | 8 +- lang/tr-TR.json | 8 +- lang/uk-UA.json | 8 +- lang/vi-VN.json | 8 +- lang/zh-CN.json | 8 +- lang/zh-TW.json | 8 +- secrets.json.example | 3 + updateLangs.mjs | 124 ++++++++++ 31 files changed, 807 insertions(+), 94 deletions(-) create mode 100644 lang/el-GR.json create mode 100644 secrets.json.example create mode 100644 updateLangs.mjs diff --git a/.gitignore b/.gitignore index 5b4d3d4d7..7ddad96cb 100644 --- a/.gitignore +++ b/.gitignore @@ -36,4 +36,6 @@ Data/flashpoint.sqlite /tests/result # Mac -.DS_Store \ No newline at end of file +.DS_Store + +secrets.json \ No newline at end of file diff --git a/lang/cs-CZ.json b/lang/cs-CZ.json index d7487b772..8918ba1ee 100644 --- a/lang/cs-CZ.json +++ b/lang/cs-CZ.json @@ -114,7 +114,8 @@ "copy404Urls": "Zkopírovat 404 URL adresy", "uploadLog": "Nahrát Log", "copiedToClipboard": "Zkopírováno do Schránky", - "openLogsWindow": "Otevřít okno s logy" + "openLogsWindow": "Otevřít okno s logy", + "copyDiagnostics": "Kopírovat diagnostiku" }, "app": { "home": "Domů", @@ -302,7 +303,8 @@ "noGameMatchedSearch": "Zkuste méně omezit výběr hledání.", "mountParameters": "Zavádějící parametry", "noMountParameters": "Žádné zavádějící parametry", - "showExtremeScreenshot": "Zobrazovat snímky obrazovky pro dospělé" + "showExtremeScreenshot": "Zobrazovat snímky obrazovky pro dospělé", + "busy": "Čekejte prosím..." }, "tags": { "name": "Název", @@ -494,12 +496,12 @@ "removePlaylistGame": "Odstranit tuto Hru ze Seznamu?", "deleteGame": "Odstranit tuto Hru? Tato akce je trvalá.", "deleteGameData": "Odstranit Data této Hry? Tato akce je trvalá.", - "deleteAddApp": "Odstranit tuto Přídatnou Aplikaci?", - "deleteTagCategory": "Odstranit tuto Kategorii Štítků?", - "deleteTag": "Odstranit tento Štítek?", - "deleteTagAlias": "Odstranit tento Alias Štítku?", - "deleteSource": "Odstranit tento Zdroj?", - "uninstallGame": "Odinstalovat tuto Hru?", + "deleteAddApp": "Odstranit tuto přídatnou aplikaci?", + "deleteTagCategory": "Odstranit tuto kategorii štítků?", + "deleteTag": "Odstranit tento štítek?", + "deleteTagAlias": "Odstranit tento alias štítku?", + "deleteSource": "Odstranit tento zdroj?", + "uninstallGame": "Odinstalovat tuto hru?", "unableToUninstallGameData": "Nepovedlo se odstranit datový balíček. Není právě používán? Zkuste restartovat spouštěč.", "unableToDeleteGame": "Nepovedlo se odstranit hru. Není právě používána? Zkuste restartovat spouštěč.", "downloadingGame": "Stahování Hry...", @@ -525,4 +527,4 @@ "screenshots": "Loga a snímky obrazovky", "screenshotsDesc": "Přidá loga do mřížkového zobrazení a snímky obrazovky pro všechny hry." } -} +} \ No newline at end of file diff --git a/lang/da-DK.json b/lang/da-DK.json index 9e652d1b8..fd86563f1 100644 --- a/lang/da-DK.json +++ b/lang/da-DK.json @@ -114,7 +114,8 @@ "copy404Urls": "Kopiér 404 URL'er", "uploadLog": "Upload Log", "copiedToClipboard": "Kopieret til udklipsholder", - "openLogsWindow": "Open Logs Window" + "openLogsWindow": "Open Logs Window", + "copyDiagnostics": "Copy Diagnostics" }, "app": { "home": "Hjem", @@ -302,7 +303,8 @@ "noGameMatchedSearch": "Prøv at søge på noget mindre restriktivt.", "mountParameters": "Mount Parameters", "noMountParameters": "No Mount Parameters", - "showExtremeScreenshot": "Show Extreme Screenshot" + "showExtremeScreenshot": "Show Extreme Screenshot", + "busy": "Please Wait..." }, "tags": { "name": "Navn", @@ -525,4 +527,4 @@ "screenshots": "Logoer Og Skærmfotos", "screenshotsDesc": "Tilføjer logoer for gitter visning og skærmbilleder for alle spil." } -} +} \ No newline at end of file diff --git a/lang/de-DE.json b/lang/de-DE.json index 7ebb661a3..992b9b05a 100644 --- a/lang/de-DE.json +++ b/lang/de-DE.json @@ -114,7 +114,8 @@ "copy404Urls": "404-URLs kopieren", "uploadLog": "Log hochladen", "copiedToClipboard": "In Zwischenablage kopiert", - "openLogsWindow": "Öffne Logs Fenster" + "openLogsWindow": "Öffne Logs Fenster", + "copyDiagnostics": "Diagnosedaten kopieren" }, "app": { "home": "Start", @@ -302,7 +303,8 @@ "noGameMatchedSearch": "Versuche, nach etwas weniger Restriktivem zu suchen.", "mountParameters": "Mount-Parameter", "noMountParameters": "Keine Mount-Parameter", - "showExtremeScreenshot": "Extremen Screenshot anzeigen" + "showExtremeScreenshot": "Extremen Screenshot anzeigen", + "busy": "Bitte warten..." }, "tags": { "name": "Name", @@ -525,4 +527,4 @@ "screenshots": "Logos & Screenshots", "screenshotsDesc": "Fügt Logos für die Rasteransicht und Screenshots für alle Spiele hinzu." } -} +} \ No newline at end of file diff --git a/lang/el-GR.json b/lang/el-GR.json new file mode 100644 index 000000000..8de48b6d2 --- /dev/null +++ b/lang/el-GR.json @@ -0,0 +1,530 @@ +{ + "name": "Ελληνικά", + "config": { + "configHeader": "Ρυθμίσεις", + "configDesc": "(Πρέπει να πατήσετε «Αποθήκευση και Επανεκκίνηση» ώστε κάποιες ρυθμίσεις να τεθούν σε ισχύ)", + "preferencesHeader": "Προτιμήσεις", + "extremeGames": "Εμφάνιση Ακραίων Φίλτρων", + "extremeGamesDesc": "Επιτρέπει την εναλλαγή των ακραίων φίλτρων ετικετών, δημιουργημένη και τροποποιημένη για τον έλεγχο ακατάλληλου για παιδιά περιεχομένου.", + "hideExtremeScreenshots": "Απόκρυψη Ακραίων Στιγμιοτύπων", + "hideExtremeScreenshotsDesc": "Κρύβει τα στιγμιότυπα οθόνης του ακραίου περιεχομένου με ετικέτες, μπορεί να αναιρεθεί με ένα κλικ στο πλαίσιο της εικόνας.", + "fancyAnimations": "Εντυπωσιακά Κινούμενα Σχέδια", + "fancyAnimationsDesc": "Ενεργοποίηση εντυπωσιακών κινουμένων σχεδίων στον εκτελεστή.", + "searchLimit": "Όριο Αναζήτησης", + "searchLimitDesc": "Περιορισμός του αριθμού των αποτελεσμάτων που επιστρέφονται σε οποιαδήποτε αναζήτηση", + "searchLimitUnlimited": "Απεριόριστα", + "searchLimitValue": "{0} Αποτελέσματα", + "enableEditing": "Ενεργοποίηση Επεξεργασίας", + "enableEditingDesc": "Ενεργοποίηση επεξεργασίας παιχνιδιών και επιπλέον εφαρμογών. Επίσης εμφανίζει καρτέλες που σχετίζονται με την επεξεργασία.", + "onDemandImages": "Κατά Παραγγελία Εικόνες", + "onDemandImagesDesc": "Κατεβάστε και αποθηκεύστε τα λογότυπα και τα στιγμιότυπα οθόνης που λείπουν.", + "currentLanguage": "Γλώσσα", + "currentLanguageDesc": "Ποια γλώσσα ο εκτοξευτής θα χρησιμοποιεί πρωτίστως.", + "fallbackLanguage": "Εναλλακτική Γλώσσα", + "fallbackLanguageDesc": "Ποια γλώσσα θα χρησιμοποιείται εν περιπτώσει μη ολοκληρωμένης τρέχουσας γλώσσας.", + "auto": "Αυτόματο ({0})", + "none": "Καμία", + "contentFiltersHeader": "Φίλτρα Περιεχομένου", + "flashpointHeader": "Φλάσποϊντ", + "flashpointPath": "Διαδρομή Flashpoint", + "flashpointPathDesc": "Διαδρομή φακέλου Flashpoint (μπορεί να είναι συγγενής)", + "browse": "Περιήγηση", + "libraries": "Βιβλιοθήκες", + "randomLibraries": "Τυχαίες Βιβλιοθήκες", + "randomLibrariesDesc": "Βιβλιοθήκης για χρήση για Τυχαίες Επιλογές στην αρχική σελίδα.", + "updateSource": "Ενημέρωση Πηγής", + "platforms": "Πλατφόρμες", + "nativePlatforms": "Εγγενείς Πλατφόρμες", + "nativePlatformsDesc": "Χρήση Εγγενών εκδόσεων αυτών των πλατφορμών. (Σε περίπτωση μη διαθεσιμότητας θα χρησιμοποιείται το Γουάιν)", + "tagFilterGroups": "Ομάδες Φίλτρων Ετικετών", + "tagFilterGroupsDesc": "Αυτές οι ομάδες θα φιλτράρουν τις προτάσεις και τα παιχνίδια από τα αποτελέσματα αναζήτησης", + "editTagFilter": "Επεξεργασία Ομάδος Φίλτρων Ετικετών", + "duplicateTagFilter": "Αντιγραφή Ομάδος Φίλτρων Ετικετών", + "deleteTagFilter": "Διαγραφή Ομάδος Φίλτρων Ετικετών", + "appPathOverrides": "Αναπροσδιορισμοί Διαδρομής Εφαρμογής", + "appPathOverridesDesc": "Αναπροσδιορίζει τη διαδρομή της εφαρμογής στα αριστερά με εκείνη στα δεξιά κατά την εκκίνηση των παιχνιδιών.", + "visualsHeader": "Οπτικά", + "useCustomTitleBar": "Χρήση Προσαρμοσμένης Γραμμής Τίτλου", + "useCustomTitleBarDesc": "Χρήση μιας προσαρμοσμένης γραμμής τίτλου στην κορυφή του παραθύρου.", + "theme": "Θέμα", + "noTheme": "Χωρίς Θέμα", + "themeDesc": "Ταυτότητα θέματος για χρήση.", + "logoSet": "Σειρά Λογοτύπων", + "noLogoSet": "Καμία Σειρά Λογοτύπων", + "logoSetDesc": "Ταυτότητα της σειράς λογοτύπων για χρήση.", + "advancedHeader": "Για προχωρημένους", + "showDeveloperTab": "Προβολή Καρτέλας Προγραμματιστών", + "showDeveloperTabDesc": "Προβολή καρτέλας «Για Προγραμματιστές». Πιθανόν να είναι πιο χρήσιμο αυτό για προγραμματιστές και επιμελητές.", + "server": "Διακομιστής", + "serverDesc": "Ποια Διαδικασία Διακομιστή θα εκτελεστεί κατά την εκκίνηση του εκτελεστή.", + "metadataServerHost": "Μεταδεδομένα Κεντρικού Διακομιστή", + "metadataServerHostDesc": "Ο Κεντρικός Η/Υ ενός διακομιστή μεταδεδομένων. Χρησιμοποιείται για τον συγχρονισμό νέων και ενημερωμένων πληροφοριών παιχνιδιού στον εκτελεστή.", + "extensionsHeader": "Επεκτάσεις", + "noExtensionsLoaded": "Αδυναμία φόρτωσης Επεκτάσεων, Εγκαταστήστε τους στο '{0}'", + "extDevScripts": "Σενάριο/-α Προγραμματιστή", + "extThemes": "Θέμα/-τα", + "extLogoSets": "Σειρά/-ές Λογοτύπου/-πων", + "extApplications": "Εφαρμογή/-ές", + "saveAndRestart": "Αποθήκευση και Επανεκκίνηση", + "saveAndClose": "Αποθήκευση και Κλείσιμο", + "tagFilterGroupEditor": "Επεξεργαστής Ομάδας Φίλτρων Ετικετών" + }, + "home": { + "updateHeader": "Ενημέρωση Εκτοξευτή", + "currentVersion": "Τρέχουσα Έκδοση", + "nextVersion": "Επόμενη Έκδοση", + "updateAvailable": "Διαθέσιμη Ενημέρωση", + "upToDate": "Ενημερωμένος.", + "downloadingUpdate": "Λήψη Ενημέρωσης...", + "quickStartHeader": "Γρήγορη Εκκίνηση", + "hallOfFameInfo": "Θέλετε μονάχα τα καλύτερα; Δείτε την {0}!", + "hallOfFame": "Αίθουσα Φήμης", + "allGamesInfo": "Ψάχνετε κάτι να παίξετε; Δείτε {0}.", + "allGames": "Όλα Τα Παιχνίδια", + "allAnimationsInfo": "Θέλετε απλά κάτι να δείτε; Δείτε {0}.", + "allAnimations": "Όλα Τα Κινούμενα Σχέδια", + "configInfo": "Θέλετε να αλλάξετε κάτι; Πηγαίνετε στις {0}.", + "config": "Ρυθμίσεις", + "helpInfo": "Χρειάζεστε βοήθεια; {0}.", + "help": "Ανάγνωση Εγχειριδίου", + "upgradesHeader": "Αναβαθμίσεις", + "updateFeedHeader": "Ροή Ειδήσεων", + "installComplete": "Η εγκατάσταση ολοκληρώθηκε", + "alreadyInstalled": "Είναι Ήδη Εγκατεστημένη", + "download": "Λήψη", + "update": "Ενημέρωση", + "checkingUpgradeState": "Έλεγχος Κατάστασης Αναβαθμίσεως...", + "extrasHeader": "Πρόσθετα", + "favoritesPlaylist": "Αγαπημένες Λίστες Αναπαραγωγής", + "tagList": "Λίστα Ετικετών", + "filterByPlatform": "Φίλτρα ανά πλατφόρμα", + "plannedFeatures": "Δείτε τα χαρακτηριστικά που ετοιμάζουμε για το μέλλον!", + "notesHeader": "Σημειώσεις", + "notes": "Μην ξεχάσετε να διαβάσετε το εγχειρίδιο οδηγιών εάν αντιμετωπίζετε προβλήματα.", + "linuxSupport": "Προβλήματα στο Λίνουξ; {0}", + "linuxSupportLinkText": "Άνοιγμα Ερωταποκρίσεων", + "randomPicks": "Τυχαίες Επιλογές", + "rerollPicks": "Επανάληψη Επιλογών" + }, + "logs": { + "filters": "Φίλτρα", + "logLevels": "Επίπεδα Καταγραφής", + "copyText": "Αντιγραφή Κειμένου", + "clearLog": "Εκκαθάριση Αρχείου Καταγραφών", + "copy404Urls": "Αντιγραφή Ενιαίων Εντοπιστών Πόρων 404", + "uploadLog": "Μεταφόρτωση Αρχείου Καταγραφής", + "copiedToClipboard": "Αντιγράφτηκε στο Πρόχειρο", + "openLogsWindow": "Open Logs Window", + "copyDiagnostics": "Copy Diagnostics" + }, + "app": { + "home": "Αρχική", + "browse": "Περιήγηση", + "tags": "Ετικέτες", + "categories": "Κατηγορίες", + "logs": "Αρχεία Καταγραφής", + "config": "Ρυθμίσεις", + "about": "Σχετικά", + "curate": "Επιμελητής", + "developer": "Προγραμματιστής", + "searchPlaceholder": "Αναζήτηση...", + "hideRightSidebar": "Απόκρυψη δεξιάς πλευρικής στήλης", + "showRightSidebar": "Προβολή δεξιάς πλευρικής στήλης", + "hideLeftSidebar": "Απόκρυψη αριστερής πλευρικής στήλης", + "showLeftSidebar": "Προβολή αριστερής πλευρικής στήλης", + "total": "Σύνολο", + "newGame": "Νέο Παιχνίδι", + "list": "Λίστα", + "grid": "Πλέγμα", + "searchResults": "Αποτελέσματα Αναζήτησης" + }, + "filter": { + "dateAdded": "Ημερομηνία Προσθήκης", + "dateModified": "Ημ/νία Τροποποίησης", + "platform": "Πλατφόρμα", + "series": "Σειρά", + "title": "Τίτλος", + "developer": "Προγραμματιστής", + "publisher": "Εκδότης", + "ascending": "Αύξουσα", + "descending": "Φθίνουσα" + }, + "developer": { + "developerHeader": "Προγραμματιστής", + "developerDesc": "Εδώ πηγαίνουν όλα τα χρήσιμα εργαλεία για προγραμματιστές.", + "checkMissingImages": "Έλεγχος Απόντων Εικόνων", + "checkMissingImagesDesc": "Απαρίθμηση παιχνιδιών χωρίς μικρογραφία ή στιγμιότυπο", + "checkGameIds": "Έλεγχος Ταυτοτήτων Παιχνιδιών", + "checkGameIdsDesc": "Απαρίθμηση όλων των παιχνιδιών με διπλότυπες ή λανθασμένες ταυτότητες", + "checkGameTitles": "Έλεγχος Τίτλων Παιχνιδιών", + "checkGameTitlesDesc": "Απαρίθμηση όλων των παιχνιδιών με διπλότυπους τίτλους της ίδιας πλατφόρμας", + "checkGameFields": "Έλεγχος Πεδίων Παιχνιδιών", + "checkGameFieldsDesc": "Απαρίθμηση όλων των παιχνιδιών με κενά πεδία (των πεδίων που δεν πρέπει να είναι κενά)", + "checkPlaylists": "Έλεγχος Λιστών Αναπαραγωγής", + "checkPlaylistsDesc": "Απαρίθμηση όλων των λιστών αναπαραγωγής με διπλότυπες ή λανθασμένες ταυτότητες, ή που έχει καταχώριση παιχνιδιών με απόντες, λανθασμένες ή διπλότυπες ταυτότητες", + "checkGameFileLocation": "Έλεγχος Τοποθεσίας Αρχείου Παιχνιδιού", + "checkGameFileLocationDesc": "Απαρίθμηση όλων των παιχνιδιών με εντολές εκτοξευτή που δεν μπορούν να αναλυθούν σε διαδρομές αρχείων (έχει σχέση με την λειτουργία «Άνοιγμα Τοποθεσίας Αρχείων», όχι με την εκτόξευση του παιχνιδιού)", + "checkMissingExecMappings": "Έλεγχος Απόντων Εκτελέσιμων Χαρτογραφήσεων", + "checkMissingExecMappingsDesc": "Απαρίθμηση όλων των μοναδικών εκτελέσιμων για win32, λίνουξ και ντάργουιν που μπορεί να τους λείπει κάποια εκτελέσιμη χαρτογράφηση", + "renameImagesTitleToId": "Μετονομασία Εικόνων (Τίτλος => Ταυτότης)", + "renameImagesTitleToIdDesc": "Εύρεση όλων των εικόνων παιχνιδιού με τον τίτλο του παιχνιδιού στο όνομά τους και μετονομασία για χρήση της ταυτότητας αντί αυτού", + "renameImagesIdToTitle": "Μετονομασία Εικόνων (Ταυτότης => Τίτλος)", + "renameImagesIdToTitleDesc": "Εύρεση όλων των εικόνων παιχνιδιών με την ταυτότητα του παιχνιδιού στο όνομά τους και μετονομασία για την χρήση του τίτλου αντί αυτού", + "createMissingFolders": "Δημιουργία Απόντων Φακέλων", + "createMissingFoldersDesc": "Εύρεση όλων των απόντων φακέλων στην δομή φακέλου του Φλάσποϊντ και δημιουργία τους", + "importLegacyPlatforms": "Εισαγωγή Παλαιοτέρων Πλατφορμών", + "importLegacyPlatformsDesc": "Εισάγει πλατφόρμες κληρονομιάς από τo `Data/Platforms/` - ΠΡΟΕΙΔΟΠΟΙΗΣΗ: Θα αντικαταστήσει τα αντικρουόμενα παιχνίδια", + "importLegacyPlaylists": "Εισαγωγή Παλαιοτέρων Λιστών Αναπαραγωγής", + "importLegacyPlaylistsDesc": "Εισάγει Λίστες Αναπαραγωγής Κληρονομιάς από το `/Data/Playlists`", + "deleteAllPlaylists": "Διαγραφή Όλων Των Λιστών Αναπαραγωγής", + "deleteAllPlaylistsDesc": "ΚΙΝΔΥΝΟΣ! Διαγράφει όλες τις λίστες αναπαραγωγής.", + "importMetaEdits": "Εισαγωγή Μετεπεξεργασιών", + "importMetaEditsDesc": "Εισάγει ΟΛΕΣ τις Μετεπεξεργασίες από το `/Data/MetaEdits`", + "fixPrimaryAliases": "Διόρθωση Πρωτογενών Ψευδωνύμων", + "fixPrimaryAliasesDesc": "Προσθήκη κυρίου ψευδωνύμου σε ετικέτες που τους λείπουν", + "fixCommaTags": "Διόρθωση Ετικετών με Κόμματα", + "fixCommaTagsDesc": "Διαχωρίζει τις ετικέτες με κόμματα σε πολλές ετικέτες και τις εφαρμόζει σε όλα τα ισχύοντα παιχνίδια", + "exportTags": "Εξαγωγή Ετικετών", + "exportTagsDesc": "Δημιουργεί ένα αρχείο γεμάτο ετικέτες και κατηγορίες ετικετών που μπορούν να χρησιμοποιηθούν από το 'Εισαγωγή Ετικετών'", + "importTags": "Εισαγωγή Ετικετών", + "importTagsDesc": "Εισάγει Ετικέτες από ένα αρχείο δημιουργημένο από το 'Εξαγωγή Ετικετών'", + "migrateExtremeGames": "Μετεγκατάσταση Ακραίων Παιχνιδιών", + "migrateExtremeGamesDesc": "Αφαιρεί το 'Ακραίο' από οποιαδήποτε παιχνίδια και τους αναθέτει την ετικέτα 'ΚΛΗΡΟΝΟΜΗΜΕΝΟ-Ακραίο'", + "massImportGameData": "Μαζική Εισαγωγή Δεδομένων Παιχνιδιού", + "massImportGameDataDesc": "Εισάγει μαζικά πακέτα Δεδομένων Παιχνιδιού, προσπαθώντας να ταιριάξει το όνομα αρχείου τους σε ένα Καθολικά Μοναδικό Αναγνωστικό παιχνιδιού.", + "servicesHeader": "Υπηρεσία Υποβάθρου", + "servicesMissing": "Δεν υπάρχουν υπηρεσίες.", + "running": "Σε εκτέλεση", + "stopped": "Διακόπηκε", + "killing": "Εν αναμονή για διακοπή", + "start": "Έναρξη", + "startDesc": "Έναρξη της υπηρεσίας", + "stop": "Διακοπή", + "stopDesc": "Διακοπή εκτέλεσης υπηρεσίας", + "restart": "Επανεκκίνηση", + "restartDesc": "Επανεκκίνηση υπηρεσίας", + "details": "Λεπτομέρειες", + "detailsDesc": "Άνοιγμα διαλόγου με τις λεπτομέρειες υπηρεσίας" + }, + "about": { + "aboutHeader": "Σχετικά", + "flashpoint": "Φλάσποϊντ από τον BlueMaxima", + "flashpointDesc": "Η διατηρητέα εργασία για την οποία δημιουργήθηκε αυτός ο εκτοξευτής, που στοχεύει να είναι ένας αρχείο, μουσείο και παικτή συλλογή διαδικτυακών παιχνιδιών.", + "website": "Ιστοσελίδα", + "flashpointLauncher": "Εκτελεστής Φλάσποϊντ", + "flashpointLauncherDesc": "Μία εφαρμογή υπολογιστή ανοικτού κώδικα φτιαγμένη για την περιήγηση, διαχείρηση και έναρξη παιχνιδιών από την υπηρεσία Φλάσποϊντ.", + "version": "Έκδοση", + "license": "Άδεια", + "licenseInfo": "ΜΙΤ (Διάβασε το αρχείο ονόματι «ΑΔΕΙΑ» για περισσότερες πληροφορίες)", + "creditsHeader": "Συντελεστές", + "specialThanks": "Επιπλέον Ευχαριστούμε" + }, + "browse": { + "noTitle": "Χωρίς Τίτλο", + "by": "από", + "play": "Παίξτε", + "stop": "Διακοπή", + "noDeveloper": "Χωρίς Προγραμματιστή", + "alternateTitles": "Εναλλακτικοί Τίτλοι", + "noAlternateTitles": "Χωρίς Εναλλακτικούς Τίτλους", + "tags": "Ετικέτες", + "noTags": "Χωρίς Ετικέτες", + "enterTag": "Εισαγωγή Ετικέτας", + "series": "Σειρά", + "noSeries": "Δεν Υπάρχει Σειρά", + "publisher": "Εκδότης", + "noPublisher": "Χωρίς Εκδότη", + "source": "Πηγή", + "noSource": "Καμία πηγή", + "platform": "Πλατφόρμα", + "noPlatform": "Χωρίς Πλατφόρμα", + "playMode": "Λειτουργία Παιχνιδιού", + "noPlayMode": "Χωρίς Λειτουργία Παιχνιδιού", + "status": "Κατάσταση", + "noStatus": "Χωρίς Κατάσταση", + "version": "Έκδοση", + "noVersion": "Χωρίς Έκδοση", + "releaseDate": "Ημερομηνία Κυκλοφορίας", + "noReleaseDate": "Χωρίς Ημερομηνία Κυκλοφορίας", + "language": "Γλώσσα", + "noLanguage": "Χωρίς Γλώσσα", + "dateAdded": "Ημερομηνία Προσθήκης", + "dateModified": "Ημ/νία Τροποποίησης", + "brokenInInfinity": "Χαλασμένο (στο Ινφίνιτυ)", + "extreme": "Ακραίον", + "playlistNotes": "Σημειώσεις Λίστας Αναπαραγωγής", + "noPlaylistNotes": "Χωρίς Σημειώσεις Λίστας Αναπαραγωγής", + "notes": "Σημειώσεις", + "noNotes": "Χωρίς Σημειώσεις", + "originalDescription": "Αρχική Περιγραφή", + "noOriginalDescription": "Χωρίς Αρχική Περιγραφή", + "additionalApplications": "Πρόσθετες Εφαρμογές", + "noName": "Χωρίς Όνομα", + "launch": "Εκτέλεση", + "autoRunBefore": "Αυτόματη Εκτέλεση Από Πριν", + "waitForExit": "Αναμονή για Έξοδο", + "applicationPath": "Διαδρομή Εφαρμογής", + "noApplicationPath": "Χωρίς Διαδρομή Εφαρμογής", + "launchCommand": "Εντολή Εκτέλεσης", + "noLaunchCommand": "Χωρίς Εντολή Εκτέλεσης", + "searching": "Αναζήτηση...", + "library": "Βιβλιοθήκη", + "defaultLibrary": "Προεπιλεγμένη Βιβλιοθήκη", + "uninstallGame": "Απεγκατάσταση Παιχνιδιού", + "installed": "Εγκατεστημένο", + "notInstalled": "Μη Εγκατεστημένο", + "legacyGame": "Παλαιό Παιχνίδι", + "download": "Λήψη", + "thumbnail": "Μικρογραφία", + "screenshot": "Στιγμιότυπο οθόνης", + "dropImageHere": "Αφήστε μια εικόνα εδώ για να την εισάγετε", + "noGameSelected": "No {0} Selected", + "clickToSelectGame": "Κάντε κλικ σε ένα παιχνίδι για να το επιλέξετε.", + "deleteAdditionalApplication": "Διαγραφή Πρόσθετων Εφαρμογών", + "deleteGameAndAdditionalApps": "Διαγραφή Παιχνιδιού (και Πρόσθετων Εφαρμογών)", + "removeGameFromPlaylist": "Αφαίρεση Παιχνιδιού από τη Λίστα Αναπαραγωγής", + "saveChanges": "Αποθήκευση Αλλαγών", + "discardChanges": "Απόρριψη Αλλαγών", + "editGame": "Επεξεργασία Παιχνιδιού", + "allGames": "Όλα Τα Παιχνίδια", + "newPlaylist": "Νέα Λίστα Αναπαραγωγής", + "importPlaylist": "Εισαγωγή Λίστας Αναπαραγωγής", + "emptyPlaylist": "Άδειο playlist", + "noGamesFound": "Δεν βρέθηκαν παιχνίδια!", + "dropGameOnLeft": "Αφήστε ένα παιχνίδι σε αυτή την λίστα αναπαραγωγής στο {0} για να το προσθέσετε.", + "leftSidebar": "αριστερή πλευρική στήλη", + "setFlashpointPathQuestion": "Έχετε θέσει τη διαδρομή στο {0} στην σελίδα {1};", + "flashpointPath": "ΔιαδρομήΦλάσποϊντ", + "config": "Ρυθμίσεις", + "noteSaveAndRestart": "Σημείωση: Πρέπει να πιέσετε {0} για να εφαρμοσθεί αυτή η αλλαγή.", + "saveAndRestart": "Αποθήκευση και Επανεκκίνηση", + "thereAreNoGames": "Δεν υπάρχουν παιχνίδια.", + "noGameMatchedDesc": "Κανένας τίτλος παιχνιδιού δεν ταιριάζει με την αναζήτησή σας.", + "noGameMatchedSearch": "Προσπαθήστε να αναζητήσετε κάτι λιγότερο περιοριστικό.", + "mountParameters": "Παράμετροι Προσάρτησης", + "noMountParameters": "Χωρίς Παραμέτρους Προσάρτησης", + "showExtremeScreenshot": "Απόκρυψη Ακραίων Στιγμιοτύπων", + "busy": "Please Wait..." + }, + "tags": { + "name": "Όνομα", + "noName": "Χωρίς Όνομα", + "description": "Περιγραφή", + "noDescription": "Χωρίς περιγραφή", + "category": "Κατηγορία", + "noCategory": "Χωρίς Κατηγορία", + "newCategory": "Νέα Κατηγορία", + "enterAlias": "Εισαγωγή Ψευδωνύμου", + "aliases": "Ψευδώνυμα", + "editTag": "Επεξεργασία Ετικέτας", + "color": "Χρώμα", + "noTagSelected": "Δεν Έχει Επιλεχθεί Ετικέτα", + "clickToSelectTag": "Πατήστε για να επιλέξετε Ετικέτα", + "deleteTagAlias": "Διαγραφή Ψευδωνύμου Ετικέτας", + "setPrimaryAlias": "Ορισμός Κυρίου Ψευδωνύμου", + "mergeIntoTag": "Συγχώνευση σε Ετικέτα", + "mergeTag": "Συγχώνευση Ετικέτας", + "makeAliasWhenMerged": "Θέλετε να ορίσετε αυτό ως ψευδώνυμο της ετικέτας;", + "deleteTag": "Διαγραφή Ετικέτας", + "deleteTagCategory": "Διαγραφή Κατηγορίας Ετικέτας", + "locked": "Κλειδωμένο κατά την επεξεργασία..." + }, + "curate": { + "importAll": "Εισαγωγή Όλων", + "importAllDesc": "Εισαγωγή όλων των ήδη φορτισμένων επιμελειών", + "deleteAll": "Διαγραφή Όλων", + "deleteAllDesc": "Διαγραφή όλων των ήδη φορτισμένων επιμελειών", + "saveImportedCurations": "Αποθήκευση Εισαγόμενων Επιμελειών", + "keepArchiveKey": "Διατήρηση Αρχειοθήκης Επιμελειών Καθολικά Μοναδικών Αναγνωριστικών", + "symlinkCurationContent": "Φάκελος Περιεχομένου Επιμέλειας Συμβολικού Συνδέσμου (Προκλήσεις διαχειριστή στα Windows, Απαιτούνται για το MAD4FP)", + "useTagFilters": "Χρήση Φίλτρων Ετικετών στις Προτάσεις", + "openCurationsFolder": "Φάκελος Επιμελειών", + "openCurationsFolderDesc": "Άνοιγμα φακέλου Επιμελειών στον εξερευνητή", + "openExportsFolder": "Εξαγωγή Επιμελειών", + "openExportsFolderDesc": "Άνοιγμα προεπιλεγμένου φακέλου Εξαγωγών που εμπεριέχει τις εξαγόμενες επιμέλειές σας.", + "openImportedFolder": "Εισαγόμενες Επιμέλειες", + "openImportedFolderDesc": "Άνοιγμα προεπιλεγμένου φακέλου Εισαγωγών που εμπεριέχει τις εισαγόμενες επιμέλειές σας.", + "newCuration": "Νέα Επιμέλεια", + "newCurationDesc": "Δημιουργία νέας επιμέλειας σε ξεχωριστό φάκελο", + "loadMeta": "Φόρτωση Μεταδεδομένων", + "loadMetaDesc": "Φόρτωση ενός ή περισσοτέρων αρχείων μεταδεδομένων Επιμέλειας", + "loadArchive": "Φόρτωση Αρχείου", + "loadArchiveDesc": "Φόρτωση ενός ή περισσοτέρων αρχειοθηκών Επιμέλειας", + "loadFolder": "Φόρτωση Φακέλου", + "loadFolderDesc": "Φόρτωσηη ενός ή περισσοτέρων φακέλων Επιμέλειας", + "scanNewCurationFolders": "Σάρωση Για Νέες Επιμέλειες", + "scanNewCurationFoldersDesc": "Σαρώνει για επιμέλειες που έχουν προστεθεί μετά την αρχική σάρωση", + "noCurations": "Καμία Επιμέλεια", + "id": "Φάκελος Επιμελειών", + "heading": "Κεφαλίδα", + "noHeading": "Χωρίς Κεφαλίδα", + "folderName": "Φάκελος Προσθέτων", + "noFolderName": "Κανένα Όνομα Φακέλου", + "message": "Μήνυμα Εκτέλεσης", + "noMessage": "Δεν υπάρχουν μηνύματα", + "curationNotes": "Σημειώσεις Επιμέλειας", + "noCurationNotes": "Καμία Σημείωση Επιμέλειας", + "newAddApp": "Νέα Εφαρμογή", + "addExtras": "Εισαγωγή Προσθέτων", + "addMessage": "Προσθήκη Μηνύματος", + "removeAddApp": "Αφαίρεση Εφαρμογής", + "indexContent": "Ανανέωση Περιεχομένου", + "delete": "Διαγραφή", + "deleteCurationDesc": "Διαγραφή αυτής της επιμέλειας (Τα αρχεία δεν μπορούν να ανακτηθούν)", + "openFolder": "Άνοιγμα Φακέλου", + "run": "Εκτέλεση", + "runWithMAD4FP": "Εκτέλεση με το MAD4FP", + "export": "Εξαγωγή", + "import": "Εισαγωγή", + "contentFiles": "Αρχεία Περιεχομένου", + "warnings": "Προειδοποιήσεις", + "noLaunchCommand": "Το πεδίο 'Launch Command' είναι απαραίτητον. Παρακαλούμε συμπληρώστε το πριν κάνετε εισαγωγή.", + "invalidLaunchCommand": "Η εκτέλεση εντολής 'Launch Command' δεν πληροί αυτές τις προϋποθέσεις διευθύνσεως:", + "releaseDateInvalid": "Η ημερομηνία κυκλοφορίας 'Release Date' πρέπει να ακολουθεί την μορφή ΕΕΕΕ/ΜΜ/ΗΗ (μήνας και μέρα είναι προαιρετικά).", + "unusedApplicationPath": "Η διαδρομή εφαρμογής 'Application Path' έχει μία αχρησιμοποίητη μεταβλητή. Σιγουρευτείτε πως είναι σωστά γραμμένη!", + "unusedTags": "Οι ακόλουθες ετικέτες δεν είναι παρόντες σε κανένα άλλο παιχνίδι. Είναι σωστές;", + "unusedPlatform": "Η πλατφόρμα 'Platform' έχει μία αχρησιμοποίητη μεταβλητή. Σιγουρευτείτε πως είναι σωστά γραμμένη!", + "nonExistingLibrary": "Η βιβλιοθήκη 'Library' δεν είναι το όνομα υπάρχουσας βιβλιοθήκης! (Η προεπιλεγμένη θα χρησιμοποιηθεί)", + "nonContentFolders": "Βρέθηκαν φάκελοι δίχως περιεχόμενο στον φάκελο Επιμέλειας. Υποτίθεται ότι πρέπει να είναι εκεί;", + "noTags": "Δεν υπάρχουν ετικέτες σε αυτή την επιμέλεια.", + "noSource": "Το πεδίο 'Πηγή' είναι υποχρεωτικό.", + "unenteredTag": "Το πεδίο κειμένου Ετικετών δεν έχει υποβληθεί.", + "noLogo": "Δεν υπάρχει λογότυπο σε αυτή την επιμέλεια.", + "noScreenshot": "Δεν υπάρχει στιγμιότυπο σε αυτή την επιμέλεια.", + "ilc_notHttp": "Χρήση HTTP.", + "ilc_nonExistant": "Παραπεμφθείτε σε ένα υπάρχον αρχείο στον φάκελο 'content' των επιμέλειάς σας.", + "sort": "Ταξινόμηση Επιμελειών (Α-Ω)" + }, + "playlist": { + "enterDescriptionHere": "Εισάγετε μία περιγραφή εδώ...", + "noDescription": "Δεν υπάρχει περιγραφή", + "save": "Αποθήκευση", + "saveDesc": "Αποθήκευση αλλαγών που έγιναν και διακοπή επεξεργασίας", + "discard": "Απόρριψη", + "discardDesc": "Απόρριψη αλλαγών που έγιναν και διακοπή επεξεργασίας", + "edit": "Επεξεργασία", + "editDesc": "Επεξεργασία λίστας αναπαραγωγής", + "delete": "Διαγραφή", + "deleteDesc": "Διαγραφή λίστας αναπαραγωγής", + "changeIcon": "Αλλαγή Εικονιδίου Λίστας", + "duplicatePlaylistDesc": "Αντιγραφή Λίστας Αναπαραγωγής", + "exportPlaylistDesc": "Εξαγωγή λίστας αναπαραγωγής σε αρχείο", + "areYouSure": "Είστε σίγουρος/η;", + "noTitle": "Χωρίς Τίτλο", + "titlePlaceholder": "Τίτλος...", + "noAuthor": "Χωρίς Δημιουργό", + "authorPlaceholder": "Δημιουργός...", + "id": "Αναγνωριστικό", + "by": "από", + "extreme": "ακραίο" + }, + "misc": { + "noBlankFound": "Δε βρέθηκαν καθόλου {0}", + "addBlank": "Προσθήκη {0}", + "deleteAllBlankImages": "Διαγραφή ΟΛΩΝ των {0} εικονών για αυτό το παιχνίδι", + "yes": "Ναι", + "no": "Όχι", + "downloading": "Λήψη", + "extracting": "Εξαγωγή", + "installingFiles": "Εγκατάσταση Αρχείων...", + "complete": "Ολοκληρώθηκε", + "exportMetaEditTitle": "Εξαγωγή Μετεπεξεργασίας", + "exportMetaEditDesc": "Επιλογή όλων των ιδιοτήτων για εξαγωγή:", + "showImage": "Εμφάνιση Εικόνας", + "searching": "Searching..." + }, + "menu": { + "viewThumbnailInFolder": "Προβολή Μικρογραφίας στον Φάκελο", + "viewScreenshotInFolder": "Προβολή Στιγμιότυπου στον Φάκελο", + "openFileLocation": "Άνοιγμα Διαδρομής Αρχείου", + "addToPlaylist": "Προσθήκη στη Λίστα Αναπαραγωγής", + "duplicateMetaOnly": "Διπλότυπο (Μεταδεδομένα μόνον)", + "duplicateMetaAndImages": "Διπλότυπο (Μεταδεδομένα && Εικόνες)", + "copyGameUUID": "Αντιγραφή Καθολικά Μοναδικού Αναγνωστικού Παιχνιδιού", + "exportMetaOnly": "Εξαγωγή (Μεταδεδομένα μόνον)", + "exportMetaAndImages": "Εξαγωγή (Μεταδεδομένα && Εικόνες)", + "exportMetaEdit": "Εξαγωγή Μετεπεξεργασίας", + "duplicatePlaylist": "Αντιγραφή Λίστας Αναπαραγωγής", + "exportPlaylist": "Εξαγωγή Λίστας Αναπαραγωγής" + }, + "dialog": { + "programNotFound": "Το πρόγραμμα δεν βρέθηκε!", + "phpNotFound": "Το PHP δεν βρέθηκε στην διαδρομή. Είναι εγκατεστημένο;\nΜπορεί να αντιμετωπίσετε απροσδόκητη και ανώμαλη συμπεριφορά χωρίς αυτό.", + "wineNotFound": "Το Γουάιν δεν είναι εγκατεστημένο, αλλά είναι απαραίτητο για να εκτελεσθεί το παιχνίδι. Παρακαλούμε δείτε την βίκι Υποστήριξης Λίνουξ για περισσότερες πληροφορίες.", + "flashpointPathNotFound": "Ο φάκελος του Φλάσποϊντ δεν είναι ορισμένος ή είναι λανθασμένη. Επιθυμείτε να διαλέξετε ένα φάκελο για να εγκαταστήσετε τώρα;", + "fileNotFound": "Το αρχείο δεν βρέθηκε!", + "flashpointPathInvalid": "Η διαδρομή Φλάσποϊντ είναι λανθασμένη!", + "pathNotFound": "Η διαδρομή δεν βρέθηκε!", + "playlistConflict": "Σύγκρουση Λιστών Αναπαραγωγής", + "importedPlaylistAlreadyExists": "Η εισαγόμενη λίστα αναπαραγωγής υπάρχει ήδη με το ίδιο όνομα! - '{0}'", + "importPlaylistAs": "Εισαγωγή λίστας αναπαραγωγής ως", + "selectFileToExportMeta": "Επιλογή αρχείου για την αποθήκευση μεταδεδομένων", + "selectFolderToExportMetaAndImages": "Επιλογή φακέλου για την αποθήκευση μεταδεδομένων και εικόνων", + "replaceFilesQuestion": "Αντικατάσταση αρχείων;", + "exportedAlreadyExistsYesNo": "Ένα ή περισσότερα από τα εξαγόμενα αρχεία υπάρχει ήδη. \nΘέλετε να τα αντικαταστήσετε;", + "selectFolder": "Επιλογή Φακέλου", + "selectScreenshot": "Επιλογή Στιγμιότυπου", + "selectThumbnail": "Επιλογή Μικρογραφίας", + "selectCurationFolder": "Επιλογή Επιμέλειας Φακέλου/ων", + "selectCurationArchive": "Επιλογή Επιμέλειας Αρχείου/ων", + "selectCurationMeta": "Επιλογή Επιμέλειας Μεταδεδομένου-ων", + "selectPlaylistToImport": "Επιλέξτε Λίστα Αναπαραγωγής για Εισαγωγή", + "selectFileToExportPlaylist": "Επιλέξτε αρχείο για την αποθήκευση της Λίστας Αναπαραγωγής", + "dataRequired": "Απαιτούνται Επιπλέον Δεδομένα", + "dataRequiredDesc": "Θα πρέπει να εγκαταστήσετε την Αναβάθμιση στην κεντρική οθόνη πριν χρησιμοποιήσετε τον εκτοξευτή. \n\nΕπιθυμείτε να το κάνετε αυτό τώρα;", + "upgradeWillInstallTo": "Το {0} θα εγκατασταθεί στη διαδρομή", + "verifyPathSelection": "Μελλοντικές αναβαθμίσεις θα εγκατασταθούν επίσης εδώ. Είναι αυτό σωστό;", + "restartNow": "Επανεκκίνηση τώρα;", + "restartToApplyUpgrade": "Η αναβάθμιση δεν θα εφαρμοσθεί μέχρις ότου κάνετε επανεκκίνηση.\nΕπιθυμείτε να το κάνετε αυτό τώρα;", + "areYouSure": "Είστε σίγουρος/η;", + "areYouSureDelete": "Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτή την καταχώρηση;", + "areYouSurePlaylistRemove": "Είστε βέβαιοι ότι θέλετε να αφαιρέσετε αυτή την καταχώριση από τη λίστα αναπαραγωγής;", + "cancel": "Ακύρωση", + "mergePlaylists": "Συγχώνευση Λιστών Αναπαραγωγής", + "newPlaylist": "Να Μείνουν Ξεχωριστές", + "uploadPrivacyWarning": "Αυτό θα κάνει τα Αρχεία Καταγραφής σας δημοσίως διαθέσιμα.\nΈνας σύνδεσμος θα αντιγραφεί στο πρόχειρό σας.\n\nΕίστε βέβαιοι γι' αυτό;", + "overwriteFileTitle": "Το αρχείο υπάρχει ήδη!", + "overwriteFileMessage": "Ένα αρχείο με το ίδιο όνομα υπάρχει ήδη. Θέλετε να το αντικαταστήσετε;", + "overwriteFileDetail": "Διαδρομή αρχείου:", + "deleteTagFilterGroup": "Διαγραφή Ομάδος Φίλτρων Ετικετών;", + "deleteCuration": "Διαγραφή Επιμέλειας;", + "importCuration": "Εισαγωγή Επιμέλειας;", + "deleteGameImage": "Διαγραφή Εικόνας Παιχνιδιού;", + "deletePlaylist": "Διαγραφή Λίστας Αναπαραγωγής;", + "importAllCurations": "Εισαγωγή όλων των Επιμελειών;", + "deleteAllCurations": "Διαγραφή όλων των Επιμελειών;", + "removePlaylistGame": "Θέλετε να γίνει αφαίρεση του Παιχνιδιού από τη Λίστα Αναπαραγωγής;", + "deleteGame": "Θέλετε να γίνει διαγραφή του Παιχνιδιού; Η ενέργεια αυτή δεν μπορεί να αναιρεθεί.", + "deleteGameData": "Θέλετε να γίνει διαγραφή Δεδομένων Παιχνιδιού; Αυτή η ενέργεια δεν μπορεί να αναιρεθεί.", + "deleteAddApp": "Θέλετε να γίνει διαγραφή Προσθήκης Εφαρμογής;", + "deleteTagCategory": "Θέλετε να γίνει διαγραφή της Κατηγορίας Ετικέτας;", + "deleteTag": "Θέλετε να γίνει διαγραφή της Ετικέτας;", + "deleteTagAlias": "Θέλετε να γίνει διαγραφή του Ψευδωνύμου Ετικέτας;", + "deleteSource": "Θέλετε να γίνει διαγραφή της Πηγής;", + "uninstallGame": "Θέλετε να γίνει απεγκατάσταση του Παιχνιδιού;", + "unableToUninstallGameData": "Δεν είναι δυνατή η διαγραφή του πακέτου δεδομένων. Μήπως είναι σε χρήση; Δοκιμάστε να επανεκκινήσετε τον εκτελεστή.", + "unableToDeleteGame": "Δεν είναι δυνατή η διαγραφή του παιχνιδιού. Μήπως είναι σε χρήση; Δοκιμάστε να επανεκκινήσετε τον εκτελεστή.", + "downloadingGame": "Λήψη Παιχνιδιού...", + "verifyingGame": "Επαλήθευση Παιχνιδιού...", + "aFewMinutes": "Αυτή η διαδικασία μπορεί να διαρκέσει λίγα λεπτά." + }, + "libraries": { + "arcade": "Παιχνίδια", + "arcadeSingular": "Game", + "arcadePlural": "Όλα Τα Παιχνίδια", + "theatre": "Κινούμενα Σχέδια", + "theatreSingular": "Animation", + "theatrePlural": "Όλα Τα Κινούμενα Σχέδια", + "auditorium": "Αμφιθέατρο ΝΓ", + "auditoriumSingular": "Animation", + "auditoriumPlural": "Όλα Τα Κινούμενα Σχέδια Νιούγκραουντζ" + }, + "upgrades": { + "infinity": "Φλάσποϊντ Ινφίνιτυ", + "infinityDesc": "Απαραίτητα αρχεία. Προσθέτουν υποστήριξη για παιχνίδια Φλας.", + "tech": "Άλλες Τεχνολογίες", + "techDesc": "Προσθέτει υποστήριξη για όλες τις άλλες τεχνολογίες - Σόκγουεϊβ, Γιούνιτυ, Τζάβα, Γλώσσα Σήμανσης Υπερκειμένου 5 κ. ά.", + "screenshots": "Λογότυπα και Στιγμιότυπα", + "screenshotsDesc": "Προσθήκη λογοτύπων για πλεγματοειδή προβολή και στιγμιότυπα για όλα τα παιχνίδια." + } +} \ No newline at end of file diff --git a/lang/eo-UY.json b/lang/eo-UY.json index e457a3bf3..911018857 100644 --- a/lang/eo-UY.json +++ b/lang/eo-UY.json @@ -114,7 +114,8 @@ "copy404Urls": "Kopiu 404-URLojn", "uploadLog": "Alŝutu protokolon", "copiedToClipboard": "Kopiita al Tondobufro", - "openLogsWindow": "Open Logs Window" + "openLogsWindow": "Open Logs Window", + "copyDiagnostics": "Copy Diagnostics" }, "app": { "home": "Hejmo", @@ -302,7 +303,8 @@ "noGameMatchedSearch": "Provu serĉi ion malpli restriktan.", "mountParameters": "Mount Parameters", "noMountParameters": "No Mount Parameters", - "showExtremeScreenshot": "Show Extreme Screenshot" + "showExtremeScreenshot": "Show Extreme Screenshot", + "busy": "Please Wait..." }, "tags": { "name": "Nomo", @@ -525,4 +527,4 @@ "screenshots": "Logotipoj kaj Ekrankopioj", "screenshotsDesc": "Aldonas emblemojn por Krada vido kaj ekrankopioj por ĉiuj ludoj." } -} +} \ No newline at end of file diff --git a/lang/es-ES.json b/lang/es-ES.json index 210771f00..a537f5c92 100644 --- a/lang/es-ES.json +++ b/lang/es-ES.json @@ -114,7 +114,8 @@ "copy404Urls": "Copiar las URLs 404", "uploadLog": "Subir registro", "copiedToClipboard": "Copiado al portapapeles", - "openLogsWindow": "Open Logs Window" + "openLogsWindow": "Open Logs Window", + "copyDiagnostics": "Copy Diagnostics" }, "app": { "home": "Inicio", @@ -302,7 +303,8 @@ "noGameMatchedSearch": "Intenta buscar algo menos restrictivo.", "mountParameters": "Mount Parameters", "noMountParameters": "No Mount Parameters", - "showExtremeScreenshot": "Show Extreme Screenshot" + "showExtremeScreenshot": "Show Extreme Screenshot", + "busy": "Please Wait..." }, "tags": { "name": "Nombre", @@ -525,4 +527,4 @@ "screenshots": "Logotipos y capturas de pantalla", "screenshotsDesc": "Añade logotipos para la vista en cuadrícula y capturas de pantalla para todos los juegos." } -} +} \ No newline at end of file diff --git a/lang/et-EE.json b/lang/et-EE.json index b0ba4c726..3e6f31557 100644 --- a/lang/et-EE.json +++ b/lang/et-EE.json @@ -114,7 +114,8 @@ "copy404Urls": "Kopeeri 404 URL'id", "uploadLog": "Laadi Uus Logi Üles", "copiedToClipboard": "Kopeeritud Lõikelauale", - "openLogsWindow": "Open Logs Window" + "openLogsWindow": "Open Logs Window", + "copyDiagnostics": "Copy Diagnostics" }, "app": { "home": "Pealeht", @@ -302,7 +303,8 @@ "noGameMatchedSearch": "Proovi otsida midagi vähem piiravamat.", "mountParameters": "Rakendusparameetrid", "noMountParameters": "Pole Rakendusparameetreid", - "showExtremeScreenshot": "Näita Ekstreemset Ekraanipilti" + "showExtremeScreenshot": "Näita Ekstreemset Ekraanipilti", + "busy": "Please Wait..." }, "tags": { "name": "Nimi", @@ -525,4 +527,4 @@ "screenshots": "Logod & Ekraanipildid", "screenshotsDesc": "Annab logod ruudustikvaates ja ekraanipildid kõikidele mängudele." } -} +} \ No newline at end of file diff --git a/lang/fi-FI.json b/lang/fi-FI.json index a4d912694..e90c47bd0 100644 --- a/lang/fi-FI.json +++ b/lang/fi-FI.json @@ -114,7 +114,8 @@ "copy404Urls": "Kopioi 404 URL-osoitteet", "uploadLog": "Lataa Loki", "copiedToClipboard": "Kopioitu leikepöydälle", - "openLogsWindow": "Avaa Loki-Ikkuna" + "openLogsWindow": "Avaa Loki-Ikkuna", + "copyDiagnostics": "Copy Diagnostics" }, "app": { "home": "Koti", @@ -302,7 +303,8 @@ "noGameMatchedSearch": "Yritä etsiä yleisemmillä hakusanoilla.", "mountParameters": "Mount Parameters", "noMountParameters": "No Mount Parameters", - "showExtremeScreenshot": "Show Extreme Screenshot" + "showExtremeScreenshot": "Show Extreme Screenshot", + "busy": "Please Wait..." }, "tags": { "name": "Nimi", @@ -525,4 +527,4 @@ "screenshots": "Logot ja ruutukaappaukset", "screenshotsDesc": "Lisää pelien logot verkkonäkymään ja pelikuvat kaikkiin peleihin." } -} +} \ No newline at end of file diff --git a/lang/fil-PH.json b/lang/fil-PH.json index f34effb0e..e172877e0 100644 --- a/lang/fil-PH.json +++ b/lang/fil-PH.json @@ -114,7 +114,8 @@ "copy404Urls": "I-kopya ang 404 URLs", "uploadLog": "Log ng pag-upload", "copiedToClipboard": "Nakopya sa Clipboard", - "openLogsWindow": "Open Logs Window" + "openLogsWindow": "Open Logs Window", + "copyDiagnostics": "Copy Diagnostics" }, "app": { "home": "Home", @@ -302,7 +303,8 @@ "noGameMatchedSearch": "Subukan mo i-search na di-gaanong strikto.", "mountParameters": "Mount Parameters", "noMountParameters": "No Mount Parameters", - "showExtremeScreenshot": "Show Extreme Screenshot" + "showExtremeScreenshot": "Show Extreme Screenshot", + "busy": "Please Wait..." }, "tags": { "name": "Pangalan", @@ -525,4 +527,4 @@ "screenshots": "Logo at Screenshot", "screenshotsDesc": "Dagdag ng logo para sa Grid view at screenshot para sa lahat ng laro." } -} +} \ No newline at end of file diff --git a/lang/fr-FR.json b/lang/fr-FR.json index 503e70c0d..1ff0cecdc 100644 --- a/lang/fr-FR.json +++ b/lang/fr-FR.json @@ -114,7 +114,8 @@ "copy404Urls": "Copier les URL 404", "uploadLog": "Télécharger l'historique", "copiedToClipboard": "Copié dans le presse-papier", - "openLogsWindow": "Ouvrir la fenêtre de l'historique" + "openLogsWindow": "Ouvrir la fenêtre de l'historique", + "copyDiagnostics": "Copier les diagnostics" }, "app": { "home": "Accueil", @@ -302,7 +303,8 @@ "noGameMatchedSearch": "Essayez de chercher quelque chose moins restrictivement.", "mountParameters": "Paramètres de montage", "noMountParameters": "Aucun paramètre de montage", - "showExtremeScreenshot": "Afficher la capture d'écran extrême" + "showExtremeScreenshot": "Afficher la capture d'écran extrême", + "busy": "Veuillez patienter..." }, "tags": { "name": "Nom", @@ -525,4 +527,4 @@ "screenshots": "Logos et captures d'écran", "screenshotsDesc": "Ajoute des logos pour la vue en grille et des captures d'écran pour tous les jeux." } -} +} \ No newline at end of file diff --git a/lang/hu-HU.json b/lang/hu-HU.json index 85e86029c..5437fc4f9 100644 --- a/lang/hu-HU.json +++ b/lang/hu-HU.json @@ -114,7 +114,8 @@ "copy404Urls": "404-es URL-ek másolása", "uploadLog": "Log feltöltése", "copiedToClipboard": "Vágólapra másolva", - "openLogsWindow": "A Logok ablakot megnyitja" + "openLogsWindow": "A Logok ablakot megnyitja", + "copyDiagnostics": "Diagnosztika Másolása" }, "app": { "home": "Kezdőlap", @@ -302,7 +303,8 @@ "noGameMatchedSearch": "Próbáljon meg szélesebb körben keresni.", "mountParameters": "Mount paraméterek", "noMountParameters": "Nincsen mount paraméter(ek)", - "showExtremeScreenshot": "Extrém képernyőmentések mutatása" + "showExtremeScreenshot": "Extrém képernyőmentések mutatása", + "busy": "Kérem várjon..." }, "tags": { "name": "Név", @@ -525,4 +527,4 @@ "screenshots": "Logók és Képernyőmentések", "screenshotsDesc": "Logók hozzáadása a rácsos megjelenítéshez és képernyőmentések az összes játékhoz." } -} +} \ No newline at end of file diff --git a/lang/it-IT.json b/lang/it-IT.json index a31c7d745..4058a1cb9 100644 --- a/lang/it-IT.json +++ b/lang/it-IT.json @@ -114,7 +114,8 @@ "copy404Urls": "Copia URL 404", "uploadLog": "Carica Registro", "copiedToClipboard": "Copiato negli appunti", - "openLogsWindow": "Apri Finestra Di Log" + "openLogsWindow": "Apri Finestra dei Registri", + "copyDiagnostics": "Copia Diagnostica" }, "app": { "home": "Per Iniziare", @@ -302,7 +303,8 @@ "noGameMatchedSearch": "Prova a cercare qualcosa di meno specifico.", "mountParameters": "Parametri di Montaggio", "noMountParameters": "Nessun Parametro di Montaggio", - "showExtremeScreenshot": "Mostra Schermata Estrema" + "showExtremeScreenshot": "Mostra Schermata Estrema", + "busy": "Attendere Prego..." }, "tags": { "name": "Nome", @@ -508,7 +510,7 @@ }, "libraries": { "arcade": "Giochi", - "arcadeSingular": "Partita", + "arcadeSingular": "Gioco", "arcadePlural": "Tutti i Giochi", "theatre": "Animazioni", "theatreSingular": "Animazione", @@ -525,4 +527,4 @@ "screenshots": "Loghi & Schermate", "screenshotsDesc": "Aggiunge loghi per la visualizzazione a Griglia e schermate per tutti i giochi." } -} +} \ No newline at end of file diff --git a/lang/ja-JP.json b/lang/ja-JP.json index 128dafae6..230c99af0 100644 --- a/lang/ja-JP.json +++ b/lang/ja-JP.json @@ -114,7 +114,8 @@ "copy404Urls": "404 URLをコピー", "uploadLog": "ログをアップロード", "copiedToClipboard": "クリップボードにコピーしました", - "openLogsWindow": "Open Logs Window" + "openLogsWindow": "Open Logs Window", + "copyDiagnostics": "Copy Diagnostics" }, "app": { "home": "ホーム", @@ -302,7 +303,8 @@ "noGameMatchedSearch": "制限の少ないものを探してみてください。", "mountParameters": "Mount Parameters", "noMountParameters": "No Mount Parameters", - "showExtremeScreenshot": "Show Extreme Screenshot" + "showExtremeScreenshot": "Show Extreme Screenshot", + "busy": "Please Wait..." }, "tags": { "name": "名前", @@ -525,4 +527,4 @@ "screenshots": "ロゴ&スクリーンショット", "screenshotsDesc": "すべてのゲームにグリットビューでのロゴとスクリーンショットを追加します。" } -} +} \ No newline at end of file diff --git a/lang/mk-MK.json b/lang/mk-MK.json index 7487a0e20..d126016cc 100644 --- a/lang/mk-MK.json +++ b/lang/mk-MK.json @@ -114,7 +114,8 @@ "copy404Urls": "Копирај 404 URLs", "uploadLog": "Прикачи Лог", "copiedToClipboard": "Копирано во Kлипборд", - "openLogsWindow": "Open Logs Window" + "openLogsWindow": "Отвори Logs Прозорец", + "copyDiagnostics": "Копирај Дијагностика" }, "app": { "home": "Почеток", @@ -277,7 +278,7 @@ "thumbnail": "Лого", "screenshot": "Слика од екранот", "dropImageHere": "Постави слика за да ја додадеш", - "noGameSelected": "No {0} Selected", + "noGameSelected": "Нема {0} Селектирано", "clickToSelectGame": "Кликни на игра за да ја селектираш.", "deleteAdditionalApplication": "Избриши Додатната Апликација", "deleteGameAndAdditionalApps": "Избриши игра(и додатните апликации)", @@ -302,7 +303,8 @@ "noGameMatchedSearch": "Обидете се да побарате нешто помалку ограничувачко.", "mountParameters": "Моунт Параметри", "noMountParameters": "Нема Моунт Параметри", - "showExtremeScreenshot": "Покажувај Eкстремни Cлики од Eкраноt" + "showExtremeScreenshot": "Покажувај Eкстремни Cлики од Eкраноt", + "busy": "Ве Молиме Да Почекате..." }, "tags": { "name": "Име", @@ -429,7 +431,7 @@ "exportMetaEditTitle": "Изведувај Meta Edit", "exportMetaEditDesc": "Изберете ги сите својства за извоз:", "showImage": "Покажи Слика", - "searching": "Searching..." + "searching": "Пребарување..." }, "menu": { "viewThumbnailInFolder": "Прегледај лого во папката", @@ -508,13 +510,13 @@ }, "libraries": { "arcade": "Игри", - "arcadeSingular": "Game", + "arcadeSingular": "Игра", "arcadePlural": "Сите Игри", "theatre": "Анимации", - "theatreSingular": "Animation", + "theatreSingular": "Анимација", "theatrePlural": "Сите Анимации", "auditorium": "НГ Аудиториум", - "auditoriumSingular": "Animation", + "auditoriumSingular": "Анимација", "auditoriumPlural": "Сите НГ Анимации" }, "upgrades": { @@ -525,4 +527,4 @@ "screenshots": "Логоа и слики од екранот", "screenshotsDesc": "Додава логоа за преглед на мрежата и слики од екранот за сите игри." } -} +} \ No newline at end of file diff --git a/lang/nl-NL.json b/lang/nl-NL.json index 38188424a..2896267c2 100644 --- a/lang/nl-NL.json +++ b/lang/nl-NL.json @@ -114,7 +114,8 @@ "copy404Urls": "Kopieer 404 URL's", "uploadLog": "Uploaden van logs", "copiedToClipboard": "Gekopieerd naar klembord", - "openLogsWindow": "Open Logs Window" + "openLogsWindow": "Open Logs Window", + "copyDiagnostics": "Copy Diagnostics" }, "app": { "home": "Thuis", @@ -302,7 +303,8 @@ "noGameMatchedSearch": "Probeer naar iets gemakkelijker te zoeken.", "mountParameters": "Koppel Parameters", "noMountParameters": "Geen Koppel Parameters", - "showExtremeScreenshot": "Extreme Schermafbeelding Weergeven" + "showExtremeScreenshot": "Extreme Schermafbeelding Weergeven", + "busy": "Please Wait..." }, "tags": { "name": "Naam", @@ -525,4 +527,4 @@ "screenshots": "Logo's & schermafbeeldingen", "screenshotsDesc": "Voegt logo's voor Roosterweergave en schermafbeeldingen toe voor alle spellen." } -} +} \ No newline at end of file diff --git a/lang/pl-PL.json b/lang/pl-PL.json index 122e3f201..524e53d9d 100644 --- a/lang/pl-PL.json +++ b/lang/pl-PL.json @@ -114,7 +114,8 @@ "copy404Urls": "Kopiuj adresy 404", "uploadLog": "Wyślij Log", "copiedToClipboard": "Skopiowano do schowka", - "openLogsWindow": "Otwórz okno dzienników" + "openLogsWindow": "Otwórz okno dzienników", + "copyDiagnostics": "Copy Diagnostics" }, "app": { "home": "Strona główna", @@ -302,7 +303,8 @@ "noGameMatchedSearch": "Spróbuj użyć bardziej ogólnego wyszukiwania.", "mountParameters": "Parametry montowania", "noMountParameters": "Brak parametrów montowania", - "showExtremeScreenshot": "Pokaż ekstremalny zrzut ekranu" + "showExtremeScreenshot": "Pokaż ekstremalny zrzut ekranu", + "busy": "Please Wait..." }, "tags": { "name": "Nazwa", @@ -525,4 +527,4 @@ "screenshots": "Loga i zrzuty ekranu", "screenshotsDesc": "Dodaje loga dla widoku siatki i zrzuty ekranu do wszystkich gier." } -} +} \ No newline at end of file diff --git a/lang/pt-BR.json b/lang/pt-BR.json index 00f1eae47..960f6796b 100644 --- a/lang/pt-BR.json +++ b/lang/pt-BR.json @@ -114,7 +114,8 @@ "copy404Urls": "Copiar URLs 404", "uploadLog": "Enviar Log", "copiedToClipboard": "Copiado para a área de transferência", - "openLogsWindow": "Abrir Janela de Logs" + "openLogsWindow": "Abrir Janela de Logs", + "copyDiagnostics": "Copy Diagnostics" }, "app": { "home": "Início", @@ -302,7 +303,8 @@ "noGameMatchedSearch": "Tente pesquisar por algo menos restritivo.", "mountParameters": "Parâmetros de Mount", "noMountParameters": "Sem Parâmetros de Mount", - "showExtremeScreenshot": "Mostrar Captura de Tela Extrema" + "showExtremeScreenshot": "Mostrar Captura de Tela Extrema", + "busy": "Please Wait..." }, "tags": { "name": "Nome", @@ -525,4 +527,4 @@ "screenshots": "Logotipos & Capturas de Tela", "screenshotsDesc": "Adiciona logotipos para exibição em grade e capturas de tela para todos os jogos." } -} +} \ No newline at end of file diff --git a/lang/pt-PT.json b/lang/pt-PT.json index be8df8802..49500460b 100644 --- a/lang/pt-PT.json +++ b/lang/pt-PT.json @@ -114,7 +114,8 @@ "copy404Urls": "Copiar URLs 404", "uploadLog": "Enviar Log", "copiedToClipboard": "Copiado para a área de transferência", - "openLogsWindow": "Open Logs Window" + "openLogsWindow": "Open Logs Window", + "copyDiagnostics": "Copy Diagnostics" }, "app": { "home": "Página Inicial", @@ -302,7 +303,8 @@ "noGameMatchedSearch": "Tente procurar algo menos restritivo.", "mountParameters": "Mount Parameters", "noMountParameters": "No Mount Parameters", - "showExtremeScreenshot": "Show Extreme Screenshot" + "showExtremeScreenshot": "Show Extreme Screenshot", + "busy": "Please Wait..." }, "tags": { "name": "Nome", @@ -525,4 +527,4 @@ "screenshots": "Logos e capturas de tela", "screenshotsDesc": "Adiciona logotipos para exibição em grade e capturas de tela para todos os jogos." } -} +} \ No newline at end of file diff --git a/lang/ro-RO.json b/lang/ro-RO.json index f4a892f25..0b54ae8d0 100644 --- a/lang/ro-RO.json +++ b/lang/ro-RO.json @@ -114,7 +114,8 @@ "copy404Urls": "Copiază URL-urile 404", "uploadLog": "Încarcă jurnalul", "copiedToClipboard": "Copiat", - "openLogsWindow": "Open Logs Window" + "openLogsWindow": "Open Logs Window", + "copyDiagnostics": "Copiere informații pentru diagnoză" }, "app": { "home": "Pag. principală", @@ -302,7 +303,8 @@ "noGameMatchedSearch": "Încercați alte cuvinte cheie.", "mountParameters": "Parametri de montare", "noMountParameters": "Fără parametri de montare", - "showExtremeScreenshot": "Arată capturile de ecran extreme" + "showExtremeScreenshot": "Arată capturile de ecran extreme", + "busy": "Așteptați…" }, "tags": { "name": "Nume", @@ -525,4 +527,4 @@ "screenshots": "Sigle și capturi de ecran", "screenshotsDesc": "Adaugă sigle pentru vizualizare tip grilă și capturi de ecran pentru toate jocurile." } -} +} \ No newline at end of file diff --git a/lang/ru-RU.json b/lang/ru-RU.json index 34ec2c995..3c64572d2 100644 --- a/lang/ru-RU.json +++ b/lang/ru-RU.json @@ -114,7 +114,8 @@ "copy404Urls": "Скопировать 404 ссылки", "uploadLog": "Журнал загрузки", "copiedToClipboard": "Скопировано в буфер обмена", - "openLogsWindow": "Open Logs Window" + "openLogsWindow": "Open Logs Window", + "copyDiagnostics": "Copy Diagnostics" }, "app": { "home": "Главная", @@ -302,7 +303,8 @@ "noGameMatchedSearch": "Попробуйте изменить запрос на менее конкретный.", "mountParameters": "Параметры монтирования", "noMountParameters": "Нет параметров шейдера", - "showExtremeScreenshot": "Показать Экстремальный Скриншот" + "showExtremeScreenshot": "Показать Экстремальный Скриншот", + "busy": "Please Wait..." }, "tags": { "name": "Наименование", @@ -525,4 +527,4 @@ "screenshots": "Логотипы и скриншоты", "screenshotsDesc": "Добавляет логотипы для сетки и скриншоты для всех игр." } -} +} \ No newline at end of file diff --git a/lang/sr-CS.json b/lang/sr-CS.json index f3705f41a..83f5ef31c 100644 --- a/lang/sr-CS.json +++ b/lang/sr-CS.json @@ -114,7 +114,8 @@ "copy404Urls": "Kopiraj 404 URL-ove", "uploadLog": "Pošalji zapis", "copiedToClipboard": "Kopirano u privremenu memoriju", - "openLogsWindow": "Open Logs Window" + "openLogsWindow": "Open Logs Window", + "copyDiagnostics": "Copy Diagnostics" }, "app": { "home": "Početak", @@ -302,7 +303,8 @@ "noGameMatchedSearch": "Pokušaj da tražiš nešto manje restriktivno.", "mountParameters": "Mount Parameters", "noMountParameters": "No Mount Parameters", - "showExtremeScreenshot": "Show Extreme Screenshot" + "showExtremeScreenshot": "Show Extreme Screenshot", + "busy": "Please Wait..." }, "tags": { "name": "Ime", @@ -525,4 +527,4 @@ "screenshots": "Logotipi i slike ekrana", "screenshotsDesc": "Dodaje logotip za pregled u rešetki i slike ekrana za sve igre." } -} +} \ No newline at end of file diff --git a/lang/sr-SP.json b/lang/sr-SP.json index 72c15414e..7d514fc31 100644 --- a/lang/sr-SP.json +++ b/lang/sr-SP.json @@ -114,7 +114,8 @@ "copy404Urls": "Копирај 404 URL-ове", "uploadLog": "Пошаљи запис", "copiedToClipboard": "Копирано у привремену меморију", - "openLogsWindow": "Open Logs Window" + "openLogsWindow": "Open Logs Window", + "copyDiagnostics": "Copy Diagnostics" }, "app": { "home": "Почетак", @@ -302,7 +303,8 @@ "noGameMatchedSearch": "Покушај да тражиш нешто мање рестриктивно.", "mountParameters": "Mount Parameters", "noMountParameters": "No Mount Parameters", - "showExtremeScreenshot": "Show Extreme Screenshot" + "showExtremeScreenshot": "Show Extreme Screenshot", + "busy": "Please Wait..." }, "tags": { "name": "Име", @@ -525,4 +527,4 @@ "screenshots": "Логотипи и слике екрана", "screenshotsDesc": "Додаје логотип за преглед у решетки и слике екрана за све игре." } -} +} \ No newline at end of file diff --git a/lang/sv-SE.json b/lang/sv-SE.json index 7e5d92c34..8d8145a47 100644 --- a/lang/sv-SE.json +++ b/lang/sv-SE.json @@ -114,7 +114,8 @@ "copy404Urls": "Kopiera 404 URLs", "uploadLog": "Ladda up loggar", "copiedToClipboard": "Kopierad till Urklipp", - "openLogsWindow": "Open Logs Window" + "openLogsWindow": "Open Logs Window", + "copyDiagnostics": "Copy Diagnostics" }, "app": { "home": "Start", @@ -302,7 +303,8 @@ "noGameMatchedSearch": "Pröva att söka efter någonting mindre specifikt.", "mountParameters": "Mount Parameters", "noMountParameters": "No Mount Parameters", - "showExtremeScreenshot": "Show Extreme Screenshot" + "showExtremeScreenshot": "Show Extreme Screenshot", + "busy": "Please Wait..." }, "tags": { "name": "Namn", @@ -525,4 +527,4 @@ "screenshots": "Logotyper och skärmdumpar", "screenshotsDesc": "Lägger till logotyper som används i rutnätsvyn samt skärmdumpar för alla spel." } -} +} \ No newline at end of file diff --git a/lang/tr-TR.json b/lang/tr-TR.json index 0fca52a3c..0ac22b064 100644 --- a/lang/tr-TR.json +++ b/lang/tr-TR.json @@ -114,7 +114,8 @@ "copy404Urls": "404 URL'lerini kopyala", "uploadLog": "Kayıtları Yükle", "copiedToClipboard": "Panoya Kopyalandı", - "openLogsWindow": "Open Logs Window" + "openLogsWindow": "Open Logs Window", + "copyDiagnostics": "Copy Diagnostics" }, "app": { "home": "Ana Sayfa", @@ -302,7 +303,8 @@ "noGameMatchedSearch": "Daha az kısıtlayıcı bir şey aramayı deneyin.", "mountParameters": "Bağlama Parametresi", "noMountParameters": "Bağlama Parametresi yok", - "showExtremeScreenshot": "Ekstrem Ekran Görüntüsünü Göster" + "showExtremeScreenshot": "Ekstrem Ekran Görüntüsünü Göster", + "busy": "Please Wait..." }, "tags": { "name": "Adı", @@ -525,4 +527,4 @@ "screenshots": "Logolar & Ekran Görüntüleri", "screenshotsDesc": "Tüm oyunlarda Izgara görünüm ve ekran görüntüsü için logolar ekler." } -} +} \ No newline at end of file diff --git a/lang/uk-UA.json b/lang/uk-UA.json index 2253a6c14..7ec78a633 100644 --- a/lang/uk-UA.json +++ b/lang/uk-UA.json @@ -114,7 +114,8 @@ "copy404Urls": "Копіювати 404 адреси", "uploadLog": "Завантажити журнал", "copiedToClipboard": "Скопійовано до буфера обміну", - "openLogsWindow": "Open Logs Window" + "openLogsWindow": "Open Logs Window", + "copyDiagnostics": "Copy Diagnostics" }, "app": { "home": "Домашній екран", @@ -302,7 +303,8 @@ "noGameMatchedSearch": "Спробуйте пошукати менше обмежуючих.", "mountParameters": "Mount Parameters", "noMountParameters": "No Mount Parameters", - "showExtremeScreenshot": "Show Extreme Screenshot" + "showExtremeScreenshot": "Show Extreme Screenshot", + "busy": "Please Wait..." }, "tags": { "name": "Ім'я", @@ -525,4 +527,4 @@ "screenshots": "Логотипи та скріншоти", "screenshotsDesc": "Додає логотипи для перегляду таблиць і знімків екрану для всіх ігор." } -} +} \ No newline at end of file diff --git a/lang/vi-VN.json b/lang/vi-VN.json index efaa56f79..37a50460f 100644 --- a/lang/vi-VN.json +++ b/lang/vi-VN.json @@ -114,7 +114,8 @@ "copy404Urls": "Chép URL 404", "uploadLog": "Tải lên bản ghi", "copiedToClipboard": "Đã chép vào bộ nhớ tạm", - "openLogsWindow": "Mở cửa sổ nhật kí" + "openLogsWindow": "Mở cửa sổ nhật kí", + "copyDiagnostics": "Sao Chép Chẩn Đoán" }, "app": { "home": "Trang chủ", @@ -302,7 +303,8 @@ "noGameMatchedSearch": "Hãy tìm từ khoá chung chung hơn.", "mountParameters": "Tham Số Khởi Động Trò Chơi", "noMountParameters": "Không có Tham Số Khởi Động Trò Chơi", - "showExtremeScreenshot": "Hiện ảnh chụp màn hình phản cảm" + "showExtremeScreenshot": "Hiện ảnh chụp màn hình phản cảm", + "busy": "Xin Hãy Đợi..." }, "tags": { "name": "Tên", @@ -525,4 +527,4 @@ "screenshots": "Biểu trưng & Ảnh chụp màn hình", "screenshotsDesc": "Thêm biểu trưng ở chế độ xem Lưới và ảnh chụp màn hình cho tất cả trò chơi." } -} +} \ No newline at end of file diff --git a/lang/zh-CN.json b/lang/zh-CN.json index 3a2f9a3a8..3de6d1036 100644 --- a/lang/zh-CN.json +++ b/lang/zh-CN.json @@ -114,7 +114,8 @@ "copy404Urls": "复制 404 URL", "uploadLog": "上传日志", "copiedToClipboard": "复制到剪贴板", - "openLogsWindow": "打开日志窗口" + "openLogsWindow": "打开日志窗口", + "copyDiagnostics": "复制诊断信息" }, "app": { "home": "主页", @@ -302,7 +303,8 @@ "noGameMatchedSearch": "请尝试用更宽泛的关键词搜索。", "mountParameters": "挂载参数", "noMountParameters": "无挂载参数", - "showExtremeScreenshot": "显示成人截图" + "showExtremeScreenshot": "显示成人截图", + "busy": "请稍候…" }, "tags": { "name": "名称", @@ -525,4 +527,4 @@ "screenshots": "图标与屏幕截图", "screenshotsDesc": "为所有游戏添加网格视图图标与屏幕截图。" } -} +} \ No newline at end of file diff --git a/lang/zh-TW.json b/lang/zh-TW.json index b83f6e708..beb19be48 100644 --- a/lang/zh-TW.json +++ b/lang/zh-TW.json @@ -114,7 +114,8 @@ "copy404Urls": "複製 404 路徑", "uploadLog": "上傳紀錄", "copiedToClipboard": "已複製到剪貼簿", - "openLogsWindow": "Open Logs Window" + "openLogsWindow": "Open Logs Window", + "copyDiagnostics": "Copy Diagnostics" }, "app": { "home": "首頁", @@ -302,7 +303,8 @@ "noGameMatchedSearch": "嘗試以較為寬鬆的關鍵字進行搜尋", "mountParameters": "掛載參數", "noMountParameters": "無掛載參數", - "showExtremeScreenshot": "顯示成人截圖" + "showExtremeScreenshot": "顯示成人截圖", + "busy": "Please Wait..." }, "tags": { "name": "名稱", @@ -525,4 +527,4 @@ "screenshots": "縮圖與截圖", "screenshotsDesc": "新增格狀顯示的縮圖與遊戲截圖" } -} +} \ No newline at end of file diff --git a/secrets.json.example b/secrets.json.example new file mode 100644 index 000000000..9c19d6b5a --- /dev/null +++ b/secrets.json.example @@ -0,0 +1,3 @@ +{ + "CROWDIN_API_KEY": "12345" +} \ No newline at end of file diff --git a/updateLangs.mjs b/updateLangs.mjs new file mode 100644 index 000000000..59add3d50 --- /dev/null +++ b/updateLangs.mjs @@ -0,0 +1,124 @@ +import axios from 'axios'; +import * as fs from 'fs'; +import * as path from 'path'; +import * as readline from 'readline'; +import { stdin as input, stdout as output } from 'node:process'; +import { exit } from 'process'; + +const rl = readline.createInterface({ input, output }); + +const { CROWDIN_API_KEY } = JSON.parse(fs.readFileSync('./secrets.json')); +const headers = { + 'Authorization': `Bearer ${CROWDIN_API_KEY}`, + 'Content-Type': 'application/json' +}; + +const baseUrl = 'https://api.crowdin.com/api/v2'; +const projectId = 380336; + +async function getProjectInfo() { + const res = await axios.get(`${baseUrl}/projects/${projectId}`, { headers }); + return res.data.data; +} + +async function getLanguageInfo(lang) { + const res = await axios.get(`${baseUrl}/languages/${lang}`, { headers }); + return res.data.data; +} + +async function getLanguageProgress(lang) { + const res = await axios.get(`${baseUrl}/projects/${projectId}/languages/${lang}/progress`, { headers }); + return res.data.data; +} + +async function getProjectBranches() { + const res = await axios.get(`${baseUrl}/projects/${projectId}/branches`, { headers }); + return res.data.data; +} + +async function chooseBranch() { + const branches = await getProjectBranches(); + const question = 'Choose Branch:\n' + branches.map((b, i) => `${i+1}) ${b.data.name}\n`).join('') + 'Branch: '; + return new Promise((resolve, reject) => { + rl.question(question, (ans) => { + try { + const ansNum = parseInt(ans, 10); + if (ansNum <= branches.length && ansNum >= 1) { + console.log(''); + resolve(branches[ansNum-1].data); + } else { + throw ''; + } + } catch { + reject('Invalid answer'); + } + }); + }); +} + +async function getFilesFromBranch(branchId) { + const res = await axios.get(`${baseUrl}/projects/${projectId}/files?branchId=${branchId}&recursion=true`, { headers }); + return res.data.data; +} + +async function buildFileTranslation(fileId, langId) { + const buildRes = await axios.post(`${baseUrl}/projects/${projectId}/translations/builds/files/${fileId}`, { + targetLanguageId: langId + }, { headers }); + const res = await axios.get(buildRes.data.data.url); + return res.data; +} + +function fillExportPattern(pattern, langInfo) { + return pattern + .replace('%locale%', langInfo.locale); +} + +const opts = { + minTranslation: 80, + approvedOnly: false +}; + +try { + const info = await getProjectInfo(); + const branch = await chooseBranch(); + const files = (await getFilesFromBranch(branch.id)).map(f => { + return { + id: f.data.id, + path: f.data.path, + name: f.data.name, + exportPattern: f.data.exportOptions.exportPattern + }; + }); + + const langs = info.targetLanguageIds; + for (const lang of langs) { + const langInfo = await getLanguageInfo(lang); + const progress = await getLanguageProgress(lang); + for (const data of progress.filter(d => files.find(f => f.id === d.data.fileId)).map(d => d.data)) { + const file = files.find(f => f.id === data.fileId); + console.log(`Language: (${langInfo.locale}) ${langInfo.name} (${file.name}):\n\tTranslated:\t${data.translationProgress}%\tApproved:\t${data.approvalProgress}%`); + const dest = fillExportPattern(file.exportPattern.substring(1), langInfo); + if (opts.approvedOnly ? data.approvalProgress >= opts.minTranslation : data.translationProgress >= opts.minTranslation) { + console.log('Criteria met, building translation file...'); + const translation = await buildFileTranslation(file.id, lang); + await fs.promises.writeFile(dest, JSON.stringify(translation, undefined, 2), 'utf-8'); + console.log('Saved to: ' + path.resolve(dest) + '\n'); + } else { + console.log('Criteria not met, checking for outdated translations to remove...'); + try { + await fs.promises.access(dest, fs.constants.R_OK); + console.log(`File found at ${path.resolve(dest)}, removing...\n`); + await fs.promises.unlink(dest); + } catch { + console.log(''); + /** Do Nothing */ + } + } + } + } + console.log('Done!'); + exit(); +} catch (err) { + console.error(err); +}