diff --git a/scripts/locales/sync-locales.js b/scripts/locales/sync-locales.js index e4f0fda..b23a7e4 100644 --- a/scripts/locales/sync-locales.js +++ b/scripts/locales/sync-locales.js @@ -35,7 +35,9 @@ const LANGUAGE_NAMES = { 'uk': 'Ukrainian', 'hr': 'Croatian', 'sv': 'Swedish', - 'zh': 'Chinese (Simplified)' + 'zh': 'Chinese (Simplified)', + 'el': 'Greek', + 'sr': 'Serbian (Cyrillic script)' }; // All supported locale files diff --git a/src/config/i18n.ts b/src/config/i18n.ts index 395d382..f171a75 100644 --- a/src/config/i18n.ts +++ b/src/config/i18n.ts @@ -5,6 +5,7 @@ import flagAuto from '@twemoji/svg/1f310.svg'; import flagEn from '@twemoji/svg/1f1ec-1f1e7.svg'; import flagDe from '@twemoji/svg/1f1e9-1f1ea.svg'; +import flagEl from '@twemoji/svg/1f1ec-1f1f7.svg'; import flagEs from '@twemoji/svg/1f1ea-1f1f8.svg'; import flagFr from '@twemoji/svg/1f1eb-1f1f7.svg'; import flagHr from '@twemoji/svg/1f1ed-1f1f7.svg'; @@ -17,6 +18,7 @@ import flagPt from '@twemoji/svg/1f1f5-1f1f9.svg'; import flagPtBr from '@twemoji/svg/1f1e7-1f1f7.svg'; import flagRu from '@twemoji/svg/1f1f7-1f1fa.svg'; import flagSl from '@twemoji/svg/1f1f8-1f1ee.svg'; +import flagSr from '@twemoji/svg/1f1f7-1f1f8.svg'; import flagSv from '@twemoji/svg/1f1f8-1f1ea.svg'; import flagTr from '@twemoji/svg/1f1f9-1f1f7.svg'; import flagUk from '@twemoji/svg/1f1fa-1f1e6.svg'; @@ -34,6 +36,7 @@ export interface LanguageMetadata { const LANGUAGES: LanguageMetadata[] = [ { code: 'en', name: 'English', flag: '🇬🇧' }, { code: 'de', name: 'Deutsch', flag: '🇩🇪' }, + { code: 'el', name: 'Ελληνικά', flag: '🇬🇷' }, { code: 'es', name: 'Español', flag: '🇪🇸' }, { code: 'fr', name: 'Français', flag: '🇫🇷' }, { code: 'hr', name: 'Hrvatski', flag: '🇭🇷' }, @@ -46,6 +49,7 @@ const LANGUAGES: LanguageMetadata[] = [ { code: 'pt-BR', name: 'Português do Brasil', flag: '🇧🇷' }, { code: 'ru', name: 'Русский', flag: '🇷🇺' }, { code: 'sl', name: 'Slovenščina', flag: '🇸🇮' }, + { code: 'sr', name: 'Српски', flag: '🇷🇸' }, { code: 'sv', name: 'Svenska', flag: '🇸🇪' }, { code: 'tr', name: 'Türkçe', flag: '🇹🇷' }, { code: 'uk', name: 'Українська', flag: '🇺🇦' }, @@ -85,6 +89,7 @@ const FLAG_URLS: Record = { auto: flagAuto, en: flagEn, de: flagDe, es: flagEs, fr: flagFr, hr: flagHr, it: flagIt, ja: flagJa, ko: flagKo, nl: flagNl, pl: flagPl, pt: flagPt, 'pt-BR': flagPtBr, ru: flagRu, sl: flagSl, sv: flagSv, tr: flagTr, uk: flagUk, zh: flagZh, + el: flagEl, sr: flagSr, }; /** Resolve the bundled twemoji flag SVG URL for a language code. */ diff --git a/src/locales/el.json b/src/locales/el.json new file mode 100644 index 0000000..ad722cd --- /dev/null +++ b/src/locales/el.json @@ -0,0 +1,352 @@ +{ + "home": { + "manufacturer": "Κατασκευαστής", + "board": "Πλακέτα", + "operatingSystem": "Λειτουργικό σύστημα", + "storage": "Αποθηκευτικός χώρος", + "chooseBrand": "Επιλέξτε μάρκα", + "chooseBoard": "Επιλέξτε πλακέτα", + "chooseOs": "Επιλέξτε OS", + "chooseStorage": "Επιλέξτε αποθηκευτικό μέσο", + "device": "Συσκευή", + "chooseDevice": "Επιλέξτε συσκευή", + "welcomeHeading": "Καλώς ήρθατε στο Armbian Imager", + "welcomeIntro": "Επιλέξτε την πλακέτα σας και μια εικόνα. Θα τη λάβουμε, θα την εγγράψουμε στην κάρτα SD ή στη μονάδα USB σας και θα την επαληθεύσουμε για εσάς.", + "startNow": "Ξεκινήστε τώρα", + "useCustomImage": "Χρήση προσαρμοσμένης εικόνας", + "changeCustomImage": "Αλλαγή προσαρμοσμένης εικόνας", + "changeCachedImage": "Αλλαγή προσωρινά αποθηκευμένης εικόνας", + "imageCount_one": "{{count}} εικόνα", + "imageCount_other": "{{count}} εικόνες", + "boardCount_one": "{{count}} πλακέτα", + "boardCount_other": "{{count}} πλακέτες", + "connectionRestored": "Ξανά συνδεδεμένοι", + "offlineTitle": "Είστε εκτός σύνδεσης!", + "offlineHint": "Εγγράψτε από τοπικό αρχείο ή από εικόνα που λάβατε νωρίτερα.", + "cachedImages": "Προσωρινά αποθηκευμένες εικόνες" + }, + "flash": { + "systemDeviceWarning": "Η εγγραφή εδώ μπορεί να καταστρέψει το τρέχον OS.", + "downloading": "Λήψη εικόνας...", + "verifyingSha": "Επαλήθευση της λήψης...", + "decompressing": "Αποσυμπίεση εικόνας...", + "writing": "Εγγραφή εικόνας στη συσκευή...", + "verifying": "Επαλήθευση των εγγεγραμμένων δεδομένων...", + "complete": "Η εγγραφή ολοκληρώθηκε!", + "failed": "Κάτι πήγε στραβά", + "cancel": "Άκυρο", + "retry": "Επανάληψη", + "done": "Τέλος", + "flashAnother": "Εγγραφή άλλης", + "authorizing": "Αίτημα άδειας...", + "confirmTitle": "Επιβεβαίωση επιλογής", + "confirmText": "Ρίξτε μια τελευταία ματιά πριν την εγγραφή.", + "confirmWarning": "ΟΛΑ ΤΑ ΔΕΔΟΜΕΝΑ ΘΑ ΔΙΑΓΡΑΦΟΥΝ ΟΡΙΣΤΙΚΑ", + "eraseAndFlash": "Διαγραφή & εγγραφή", + "dataWarning": "Όλα τα δεδομένα στην επιλεγμένη συσκευή θα διαγραφούν", + "successHint": "Η κάρτα SD σας είναι έτοιμη! Μπορείτε να την αφαιρέσετε με ασφάλεια και να την τοποθετήσετε στο {{boardName}}.", + "successHintCustom": "Η κάρτα SD σας είναι έτοιμη! Μπορείτε να την αφαιρέσετε με ασφάλεια.", + "successHintQdl": "Η εγγραφή ολοκληρώθηκε! Η συσκευή είναι έτοιμη για εκκίνηση.", + "successHintVerifySkipped": "Η επαλήθευση διακόπηκε, οπότε η εγγραφή δεν ελέγχθηκε.", + "noShaTitle": "Δεν υπάρχει διαθέσιμο άθροισμα ελέγχου", + "noShaMessage": "Αυτή η εικόνα δεν έχει άθροισμα ελέγχου SHA, οπότε τα εγγεγραμμένα δεδομένα δεν μπορούν να επαληθευτούν. Η εγγραφή θα συνεχιστεί ούτως ή άλλως.", + "extracting": "Εξαγωγή αρχείου...", + "qdlSahara": "Μεταφόρτωση φορτωτή firmware...", + "qdlFirehose": "Εγγραφή διαμερισμάτων...", + "profile": { + "applyOptional": "Εφαρμογή προφίλ αυτόματης ρύθμισης (προαιρετικό)", + "none": "Κανένα", + "createNew": "Δημιουργία νέου προφίλ", + "rowLabel": "Προφίλ αυτόματης ρύθμισης" + } + }, + "modal": { + "groupDesktop": "Επιφάνεια εργασίας", + "groupMinimal": "Ελάχιστο / IoT", + "groupApps": "Ειδική εφαρμογή", + "groupRolling": "Κυλιόμενες εκδόσεις", + "selectManufacturer": "Επιλέξτε κατασκευαστή", + "selectBoard": "Επιλέξτε πλακέτα", + "selectImage": "Επιλέξτε λειτουργικό σύστημα", + "selectDevice": "Επιλέξτε αποθηκευτική συσκευή", + "searchManufacturer": "Αναζήτηση κατασκευαστών...", + "searchBoard": "Αναζήτηση πλακετών...", + "noManufacturers": "Δεν βρέθηκαν κατασκευαστές", + "noBoards": "Δεν βρέθηκαν πλακέτες", + "boardUpdateRequired": "Απαιτείται ενημέρωση", + "boardUpdateRequiredHint": "Αυτή η πλακέτα δεν υποστηρίζεται από αυτήν την έκδοση του Armbian Imager. Ενημερώστε την εφαρμογή.", + "noImages": "Δεν βρέθηκαν εικόνες", + "noDevices": "Δεν βρέθηκαν συσκευές", + "promoted": "Προτεινόμενο", + "stable": "Σταθερή", + "rolling": "Κυλιόμενη έκδοση", + "apps": "Εφαρμογές", + "minimal": "Ελάχιστο", + "allImages": "Όλες οι εικόνες", + "insertDevice": "Τοποθετήστε μια κάρτα SD ή μονάδα USB", + "refreshDevices": "Ανανέωση συσκευών", + "loading": "Φόρτωση...", + "imageStatusTitle": "Πριν συνεχίσετε", + "rollingBuildMessage": "Οι εικόνες κυλιόμενης έκδοσης δημιουργούνται αυτόματα από τον πιο πρόσφατο κώδικα. Μπορεί να περιέχουν μη δοκιμασμένες αλλαγές και σφάλματα, οπότε ενδέχεται να μην εκκινούν ή να μη λειτουργούν σωστά.", + "communityBoardMessage": "Αυτή η πλακέτα συντηρείται από την κοινότητα, οπότε οι εικόνες της μπορεί να μην εκκινούν ή να μη λειτουργούν σωστά και η υποστήριξη είναι περιορισμένη. Χρησιμοποιήστε τις επίσημες εκδόσεις όποτε είναι δυνατόν.", + "cachedTooltip": "Η εικόνα είναι διαθέσιμη στην προσωρινή μνήμη" + }, + "device": { + "system": "Σύστημα", + "sdCard": "Κάρτα SD", + "usb": "USB", + "sata": "SATA", + "sas": "SAS", + "nvme": "NVMe", + "refresh": "Ανανέωση", + "showSystemDevices": "Εμφάνιση μονάδων συστήματος", + "hideSystemDevices": "Απόκρυψη μονάδων συστήματος", + "locked": "Κλειδωμένο", + "qdlNotFound": "Δεν βρέθηκε συσκευή EDL. Θέστε την πλακέτα σας σε λειτουργία EDL και συνδέστε την μέσω USB.", + "qdlInstructions": "Τοποθετήστε τον βραχυκυκλωτήρα στις ακίδες JCTL και μετά συνδέστε το καλώδιο USB-C.", + "qdlInstructionsButton": "Κρατήστε πατημένο το κουμπί EDL κατά την ενεργοποίηση και μετά συνδέστε το καλώδιο USB." + }, + "header": { + "stepManufacturer": "Κατασκευαστής", + "stepBoard": "Πλακέτα", + "stepOs": "OS", + "stepStorage": "Αποθηκευτικός χώρος", + "stepDevice": "Συσκευή", + "stepImage": "Εικόνα", + "resetTooltip": "Ξεκινήστε από την αρχή", + "stepTooltip": "Αλλαγή {{step}}" + }, + "errorDisplay": { + "retry": "Επανάληψη", + "uploadLogs": "Μεταφόρτωση αρχείων καταγραφής", + "uploading": "Μεταφόρτωση...", + "uploadingLogs": "Μεταφόρτωση αρχείων καταγραφής...", + "uploadLogsForSupport": "Μεταφόρτωση αρχείων καταγραφής για υποστήριξη", + "viewLogs": "Προβολή αρχείων καταγραφής", + "scanQrOrShare": "Σαρώστε τον κωδικό QR ή κοινοποιήστε αυτόν τον σύνδεσμο:" + }, + "error": { + "downloadFailed": "Η λήψη απέτυχε", + "flashFailed": "Η εγγραφή απέτυχε", + "authFailed": "Η εξουσιοδότηση απέτυχε", + "authCancelled": "Η εξουσιοδότηση ακυρώθηκε", + "decompressionFailed": "Η αποσυμπίεση απέτυχε", + "uploadFailed": "Η μεταφόρτωση απέτυχε", + "deviceDisconnected": "Η συσκευή αποσυνδέθηκε", + "writeFailed": "Η εγγραφή στη συσκευή απέτυχε στο {{offset}}. Η συσκευή μπορεί να είναι πολύ μικρή, να παρουσιάζει βλάβη ή ο αναγνώστης αποσυνδέθηκε. Δοκιμάστε άλλη κάρτα, αναγνώστη ή θύρα.", + "qdlDisconnected": "Η συσκευή αποσυνδέθηκε κατά την εγγραφή. Επανασυνδέστε την σε λειτουργία EDL και δοκιμάστε ξανά.", + "qdlCancelled": "Η εγγραφή ακυρώθηκε.", + "qdlPermissionDenied": "Η πρόσβαση USB απορρίφθηκε. Στο Linux, εγκαταστήστε τους κανόνες udev: echo 'SUBSYSTEM==\"usb\", ATTR{idVendor}==\"05c6\", ATTR{idProduct}==\"9008\", MODE=\"0666\"' | sudo tee /etc/udev/rules.d/51-qdl.rules && echo 'blacklist qcserial' | sudo tee /etc/modprobe.d/blacklist-qcserial.conf && sudo udevadm control --reload-rules", + "qdlConnectionFailed": "Δεν ήταν δυνατή η σύνδεση με τη συσκευή EDL. Βεβαιωθείτε ότι βρίσκεται σε λειτουργία EDL και είναι συνδεδεμένη μέσω USB.", + "qdlAutoconfigFailed": "Απέτυχε η εφαρμογή του προφίλ αυτόματης ρύθμισης στην εικόνα QDL." + }, + "custom": { + "customImage": "Προσαρμοσμένη εικόνα" + }, + "armbian": { + "description": "Αυτή η συσκευή εκτελεί Armbian. Θέλετε να προεπιλέξετε αυτήν την πλακέτα και να παραλείψετε τα χειροκίνητα βήματα;", + "cancelHint": "Αν ακυρώσετε, η αυτόματη ανίχνευση πλακέτας απενεργοποιείται.", + "disabledToast": "Η αυτόματη ανίχνευση πλακέτας απενεργοποιήθηκε. Ενεργοποιήστε την ξανά στις Ρυθμίσεις." + }, + "common": { + "unknown": "Άγνωστο", + "confirm": "Επιβεβαίωση", + "cancel": "Άκυρο" + }, + "settings": { + "title": "Ρυθμίσεις", + "appearance": "Εμφάνιση", + "preferences": "Προτιμήσεις", + "storage": "Αποθηκευτικός χώρος", + "developer": "Προγραμματιστής", + "verification": "Επαλήθευση", + "theme": "Θέμα", + "language": "Γλώσσα", + "appInfo": "Σχετικά", + "chooseTheme": "Επιλέξτε το θέμα σας", + "chooseLanguage": "Επιλέξτε τη γλώσσα σας", + "languageAuto": "Αυτόματα", + "searchLanguage": "Αναζήτηση γλωσσών...", + "appDescription": "Εγγράφει το Armbian OS σε κάρτες SD και μονάδες USB", + "version": "Έκδοση", + "platform": "Πλατφόρμα", + "arch": "Αρχιτεκτονική", + "tauriVersion": "Έκδοση Tauri", + "links": "Σύνδεσμοι", + "githubRepo": "Αποθετήριο GitHub", + "documentation": "Τεκμηρίωση", + "reportIssue": "Αναφορά προβλήματος", + "community": "Φόρουμ κοινότητας", + "themeLight": "Φωτεινό", + "themeDark": "Σκοτεινό", + "themeAuto": "Αυτόματο", + "developerMode": "Λειτουργία προγραμματιστή", + "developerModeDescription": "Ενεργοποίηση αναλυτικής καταγραφής και πληροφοριών εντοπισμού σφαλμάτων", + "viewLogs": "Προβολή αρχείων καταγραφής", + "viewLogsDescription": "Εμφάνιση αρχείων καταγραφής της εφαρμογής για εντοπισμό σφαλμάτων", + "skipVerify": "Παράλειψη επαλήθευσης", + "skipVerifyDescription": "Παράλειψη της επαλήθευσης των εγγεγραμμένων δεδομένων μετά την εγγραφή (πιο γρήγορο αλλά λιγότερο ασφαλές)", + "connectivity": "Συνδεσιμότητα", + "forceOffline": "Λειτουργία εκτός σύνδεσης", + "forceOfflineDescription": "Εργασία πάντα εκτός σύνδεσης: παράλειψη του ελέγχου συνδεσιμότητας και χρήση μόνο τοπικών και προσωρινά αποθηκευμένων εικόνων.", + "noLogsAvailable": "Δεν υπάρχουν διαθέσιμα αρχεία καταγραφής", + "copyLogs": "Αντιγραφή αρχείων καταγραφής", + "copied": "Αντιγράφηκε!", + "notifications": { + "title": "Ειδοποιήσεις", + "showMotd": "Εμφάνιση συμβουλών", + "showMotdDescription": "Δείτε περιστασιακές συμβουλές και ανακοινώσεις", + "showUpdaterModal": "Εμφάνιση ειδοποιήσεων ενημέρωσης", + "showUpdaterModalDescription": "Ειδοποίηση όταν υπάρχει διαθέσιμη ενημέρωση", + "showWelcome": "Εμφάνιση οθόνης καλωσορίσματος", + "showWelcomeDescription": "Εμφάνιση της οθόνης καλωσορίσματος κατά την εκκίνηση της εφαρμογής" + }, + "cache": { + "usageTitle": "Χρήση προσωρινής μνήμης", + "legendImages": "Εικόνες", + "legendData": "Δεδομένα", + "title": "Ρυθμίσεις προσωρινής μνήμης", + "enable": "Ενεργοποίηση προσωρινής μνήμης εικόνων", + "enableDescription": "Διατήρηση των ληφθέντων εικόνων ώστε η επανάληψη να είναι πιο γρήγορη αν η εγγραφή αποτύχει", + "maxSize": "Μέγιστο μέγεθος προσωρινής μνήμης", + "maxSizeDescription": "Αφαιρεί αυτόματα τις παλαιότερες εικόνες μόλις επιτευχθεί το όριο μεγέθους", + "noCachedImages": "Δεν υπάρχουν προσωρινά αποθηκευμένα δεδομένα", + "clear": "Εκκαθάριση προσωρινής μνήμης", + "clearButton": "Ελευθέρωση χώρου", + "clearDescription": "Αφαίρεση όλων των προσωρινά αποθηκευμένων δεδομένων για ελευθέρωση χώρου", + "clearConfirm": "Είστε βέβαιοι ότι θέλετε να διαγράψετε όλα τα προσωρινά αποθηκευμένα δεδομένα; Αυτό δεν μπορεί να αναιρεθεί.", + "manage": "Διαχείριση προσωρινά αποθηκευμένων εικόνων", + "manageDescription": "Προβολή, διαγραφή ή επαναχρησιμοποίηση προσωρινά αποθηκευμένων εικόνων", + "managerTitle": "Προσωρινά αποθηκευμένες εικόνες", + "unknownBoard": "Άγνωστη πλακέτα", + "imageCount_one": "{{count}} εικόνα", + "imageCount_other": "{{count}} εικόνες", + "useImage": "Χρήση", + "deleteImage": "Διαγραφή", + "deleteConfirmSingle": "Διαγραφή αυτής της προσωρινά αποθηκευμένης εικόνας;", + "deleteAll": "Διαγραφή όλων", + "deleteConfirmAll": "Διαγραφή και των {{count}} προσωρινά αποθηκευμένων εικόνων για αυτήν την πλακέτα;", + "totalSize": "{{size}} συνολικά", + "deleteSuccess": "Η εικόνα διαγράφηκε", + "deleteError": "Απέτυχε η διαγραφή της εικόνας", + "justNow": "μόλις τώρα", + "minutesAgo": "πριν {{count}} λεπτά", + "hoursAgo": "πριν {{count}} ώρες", + "daysAgo": "πριν {{count}} ημέρες" + }, + "devices": "Συσκευές", + "allowSystemDevices": "Να επιτρέπονται οι μονάδες συστήματος", + "allowSystemDevicesDescription": "Επικίνδυνο: μπορείτε να αντικαταστήσετε το τρέχον OS.", + "armbian": { + "title": "Armbian", + "label": "Αυτόματη ανίχνευση πλακέτας", + "description": "Αυτόματη αναγνώριση της πλακέτας όταν αυτή η συσκευή εκτελεί Armbian", + "mode_disabled": "Απενεργοποιημένο", + "mode_modal": "Διαδραστικό", + "mode_auto": "Σιωπηλό" + }, + "toast": { + "allowSystemDevicesUpdated": "Η ρύθμιση μονάδων συστήματος ενημερώθηκε", + "allowSystemDevicesError": "Απέτυχε η ενημέρωση της ρύθμισης μονάδων συστήματος", + "motdUpdated": "Η ρύθμιση συμβουλών ενημερώθηκε", + "motdError": "Απέτυχε η ενημέρωση της ρύθμισης συμβουλών", + "welcomeUpdated": "Η ρύθμιση οθόνης καλωσορίσματος ενημερώθηκε", + "welcomeError": "Απέτυχε η ενημέρωση της ρύθμισης οθόνης καλωσορίσματος", + "updaterUpdated": "Οι ειδοποιήσεις ενημέρωσης ενημερώθηκαν", + "updaterError": "Απέτυχε η ενημέρωση της ρύθμισης ειδοποιήσεων", + "cacheToggleUpdated": "Η ρύθμιση προσωρινής μνήμης ενημερώθηκε", + "cacheToggleError": "Απέτυχε η ενημέρωση της ρύθμισης προσωρινής μνήμης", + "cacheSizeUpdated": "Το όριο μεγέθους προσωρινής μνήμης ενημερώθηκε", + "cacheSizeError": "Απέτυχε η ενημέρωση του μεγέθους προσωρινής μνήμης", + "cacheClearSuccess": "Η προσωρινή μνήμη εκκαθαρίστηκε", + "cacheClearError": "Απέτυχε η εκκαθάριση της προσωρινής μνήμης", + "detectionUpdated": "Η ανίχνευση πλακέτας ενημερώθηκε", + "detectionError": "Απέτυχε η ενημέρωση της λειτουργίας ανίχνευσης", + "skipVerifyUpdated": "Η ρύθμιση επαλήθευσης ενημερώθηκε", + "skipVerifyError": "Απέτυχε η ενημέρωση της ρύθμισης επαλήθευσης", + "forceOfflineUpdated": "Η λειτουργία εκτός σύνδεσης ενημερώθηκε", + "forceOfflineError": "Απέτυχε η ενημέρωση της λειτουργίας εκτός σύνδεσης" + }, + "autoconfig": { + "tab": "Προφίλ", + "title": "Προφίλ αυτόματης ρύθμισης", + "description": "Προκαθορίστε την αρχική ρύθμιση του Armbian κατά την πρώτη εκκίνηση. Ένα προφίλ εφαρμόζεται μόνο όταν το επιλέξετε πριν την εγγραφή.", + "newProfile": "Νέο προφίλ", + "emptyTitle": "Δεν υπάρχουν προφίλ ακόμη", + "emptyHint": "Δημιουργήστε ένα προφίλ για να προκαθορίσετε δίκτυο, τοπικές ρυθμίσεις και λογαριασμούς κατά την πρώτη εκκίνηση.", + "nameLabel": "Όνομα προφίλ", + "namePlaceholder": "Το προφίλ μου", + "selectPlaceholder": "Επιλέξτε…", + "localeRequiresUser": "Οι τοπικές ρυθμίσεις και η ζώνη ώρας εφαρμόζονται μόνο όταν δημιουργείτε χρήστη, οπότε συμπληρώστε πρώτα το όνομα χρήστη, τον κωδικό πρόσβασης και το πλήρες όνομα.", + "passwordHint": "Αφήστε κενό για παράλειψη", + "keyUrlInvalid": "Εισαγάγετε ένα URL προς το δημόσιο κλειδί (π.χ. https://github.com/username.keys), όχι το ίδιο το κλειδί", + "urlInvalid": "Εισαγάγετε ένα έγκυρο URL (http ή https)", + "save": "Αποθήκευση", + "cancel": "Άκυρο", + "delete": "Διαγραφή", + "edit": "Επεξεργασία", + "deleteConfirmTitle": "Διαγραφή προφίλ;", + "deleteConfirmBody": "Το {{name}} θα αφαιρεθεί οριστικά.", + "secretWarning": "Οι κωδικοί πρόσβασης αποθηκεύονται και εγγράφονται στην εικόνα σε απλό κείμενο.", + "groupNetwork": "Δίκτυο", + "groupLocalization": "Τοπικοποίηση", + "groupRoot": "Λογαριασμός root", + "groupUser": "Πρώτος χρήστης", + "userHint": "Αφήστε το όνομα χρήστη κενό και το Armbian θα σας ζητήσει να δημιουργήσετε χρήστη κατά την πρώτη εκκίνηση.", + "groupAdvanced": "Για προχωρημένους", + "applyNetwork": "Διαμόρφωση δικτύου", + "ethernetEnabled": "Ενεργοποίηση Ethernet", + "wifiEnabled": "Ενεργοποίηση Wi-Fi", + "wifiSsid": "SSID Wi-Fi", + "wifiKey": "Κωδικός πρόσβασης Wi-Fi", + "wifiCountryCode": "Χώρα Wi-Fi", + "useStaticIp": "Χρήση στατικής IP", + "staticIp": "Διεύθυνση IP", + "staticMask": "Μάσκα δικτύου", + "staticGateway": "Πύλη", + "staticDns": "Διακομιστής DNS", + "locale": "Τοπικές ρυθμίσεις", + "timezone": "Ζώνη ώρας", + "langBasedOnLocation": "Ορισμός γλώσσας βάσει τοποθεσίας", + "rootPassword": "Κωδικός πρόσβασης root", + "rootKeyUrl": "URL κλειδιού SSH root", + "userName": "Όνομα χρήστη", + "userPassword": "Κωδικός πρόσβασης χρήστη", + "userKeyUrl": "URL κλειδιού SSH χρήστη", + "userShell": "Κέλυφος σύνδεσης", + "userRealName": "Πλήρες όνομα", + "remoteConfigUrl": "URL απομακρυσμένης διαμόρφωσης", + "toastCreated": "Το προφίλ δημιουργήθηκε", + "toastUpdated": "Το προφίλ ενημερώθηκε", + "toastDeleted": "Το προφίλ διαγράφηκε", + "toastError": "Δεν ήταν δυνατή η αποθήκευση του προφίλ", + "previewTitle": "Προεπισκόπηση", + "previewReveal": "Αποκάλυψη", + "previewHide": "Απόκρυψη", + "previewEmpty": "Δεν έχει οριστεί τίποτα ακόμη. Συμπληρώστε τα παραπάνω πεδία για να δημιουργήσετε το αρχείο πρώτης εκκίνησης.", + "settingsCount": "ρυθμίσεις" + } + }, + "update": { + "title": "Διαθέσιμη ενημέρωση", + "later": "Αργότερα", + "downloading": "Λήψη ενημέρωσης...", + "ready": "Η ενημέρωση είναι έτοιμη", + "error": "Η ενημέρωση απέτυχε", + "installNow": "Εγκατάσταση τώρα", + "install": "Εγκατάσταση", + "restartNow": "Επανεκκίνηση τώρα", + "cancel": "Άκυρο", + "retry": "Επανάληψη", + "readyMessage": "Η ενημέρωση λήφθηκε. Επανεκκινήστε την εφαρμογή για να ολοκληρωθεί η εγκατάσταση.", + "errorMessage": "Απέτυχε η λήψη της ενημέρωσης. Δοκιμάστε ξανά αργότερα.", + "errorNotInApplications": "Μετακινήστε την εφαρμογή στον φάκελο Applications και δοκιμάστε ξανά.", + "changelogTitle": "Τι νέο υπάρχει", + "viewChangelog": "Τι νέο υπάρχει", + "loadingChangelog": "Φόρτωση αρχείου καταγραφής αλλαγών...", + "noChangelog": "Δεν υπάρχει διαθέσιμο αρχείο καταγραφής αλλαγών", + "viewOnGitHub": "Προβολή στο GitHub", + "contributors": "Συνεισφέροντες", + "changelogErrorHint": "Ελέγξτε ότι είστε συνδεδεμένοι και ότι η έκδοση υπάρχει στο GitHub." + } +} diff --git a/src/locales/sr.json b/src/locales/sr.json new file mode 100644 index 0000000..a5f5c56 --- /dev/null +++ b/src/locales/sr.json @@ -0,0 +1,352 @@ +{ + "home": { + "manufacturer": "Произвођач", + "board": "Плоча", + "operatingSystem": "Оперативни систем", + "storage": "Складиште", + "chooseBrand": "Изаберите бренд", + "chooseBoard": "Изаберите плочу", + "chooseOs": "Изаберите OS", + "chooseStorage": "Изаберите складиште", + "device": "Уређај", + "chooseDevice": "Изаберите уређај", + "welcomeHeading": "Добро дошли у Armbian Imager", + "welcomeIntro": "Изаберите плочу и слику. Ми ћемо је преузети, уписати на вашу SD картицу или USB диск и проверити је за вас.", + "startNow": "Почни одмах", + "useCustomImage": "Користи прилагођену слику", + "changeCustomImage": "Промени прилагођену слику", + "changeCachedImage": "Промени кеширану слику", + "imageCount_one": "{{count}} слика", + "imageCount_other": "{{count}} слика", + "boardCount_one": "{{count}} плоча", + "boardCount_other": "{{count}} плоча", + "connectionRestored": "Поново на мрежи", + "offlineTitle": "Ван мреже сте!", + "offlineHint": "Упишите из локалне датотеке или слике коју сте раније преузели.", + "cachedImages": "Кеширане слике" + }, + "flash": { + "systemDeviceWarning": "Уписивање овога може уништити покренути OS.", + "downloading": "Преузимање слике...", + "verifyingSha": "Провера преузимања...", + "decompressing": "Распаковање слике...", + "writing": "Уписивање слике на уређај...", + "verifying": "Провера уписаних података...", + "complete": "Уписивање завршено!", + "failed": "Нешто је пошло наопако", + "cancel": "Откажи", + "retry": "Покушај поново", + "done": "Готово", + "flashAnother": "Упиши другу", + "authorizing": "Тражење дозволе...", + "confirmTitle": "Потврди избор", + "confirmText": "Погледајте још једном пре уписивања.", + "confirmWarning": "СВИ ПОДАЦИ ЋЕ БИТИ ТРАЈНО ОБРИСАНИ", + "eraseAndFlash": "Обриши и упиши", + "dataWarning": "Сви подаци на изабраном уређају биће обрисани", + "successHint": "Ваша SD картица је спремна! Можете је безбедно уклонити и убацити у ваш {{boardName}}.", + "successHintCustom": "Ваша SD картица је спремна! Можете је безбедно уклонити.", + "successHintQdl": "Уписивање завршено! Уређај је спреман за покретање.", + "successHintVerifySkipped": "Провера је заустављена, па уписивање није проверено.", + "noShaTitle": "Контролна сума није доступна", + "noShaMessage": "Ова слика нема SHA контролну суму, па се уписани подаци не могу проверити. Уписивање ће се ипак наставити.", + "extracting": "Издвајање архиве...", + "qdlSahara": "Отпремање учитавача фирмвера...", + "qdlFirehose": "Уписивање партиција...", + "profile": { + "applyOptional": "Примени профил аутоконфигурације (опционо)", + "none": "Ниједан", + "createNew": "Направи нови профил", + "rowLabel": "Профил аутоконфигурације" + } + }, + "modal": { + "groupDesktop": "Десктоп", + "groupMinimal": "Минимални / IoT", + "groupApps": "Наменска апликација", + "groupRolling": "Континуирана издања", + "selectManufacturer": "Изаберите произвођача", + "selectBoard": "Изаберите плочу", + "selectImage": "Изаберите оперативни систем", + "selectDevice": "Изаберите уређај за складиштење", + "searchManufacturer": "Претражи произвођаче...", + "searchBoard": "Претражи плоче...", + "noManufacturers": "Није пронађен ниједан произвођач", + "noBoards": "Није пронађена ниједна плоча", + "boardUpdateRequired": "Потребно ажурирање", + "boardUpdateRequiredHint": "Ова плоча није подржана у овој верзији Armbian Imager-а. Ажурирајте.", + "noImages": "Није пронађена ниједна слика", + "noDevices": "Није пронађен ниједан уређај", + "promoted": "Препоручено", + "stable": "Стабилно", + "rolling": "Континуирано издање", + "apps": "Апликације", + "minimal": "Минимално", + "allImages": "Све слике", + "insertDevice": "Убаците SD картицу или USB диск", + "refreshDevices": "Освежи уређаје", + "loading": "Учитавање...", + "imageStatusTitle": "Пре него што наставите", + "rollingBuildMessage": "Слике континуираних издања се аутоматски граде из најновијег кода. Могу садржати непроверене промене и грешке, па се можда неће покренути или исправно радити.", + "communityBoardMessage": "Ову плочу одржава заједница, па се њене слике можда неће покренути или исправно радити, а подршка је ограничена. Када можете, користите званичне градње.", + "cachedTooltip": "Слика је доступна у кешу" + }, + "device": { + "system": "Систем", + "sdCard": "SD картица", + "usb": "USB", + "sata": "SATA", + "sas": "SAS", + "nvme": "NVMe", + "refresh": "Освежи", + "showSystemDevices": "Прикажи системске дискове", + "hideSystemDevices": "Сакриј системске дискове", + "locked": "Закључано", + "qdlNotFound": "Није пронађен ниједан EDL уређај. Ставите плочу у EDL режим и повежите преко USB-а.", + "qdlInstructions": "Ставите кратконос на JCTL пинове, затим повежите USB-C кабл.", + "qdlInstructionsButton": "Држите EDL дугме при укључивању, затим повежите USB кабл." + }, + "header": { + "stepManufacturer": "Произвођач", + "stepBoard": "Плоча", + "stepOs": "OS", + "stepStorage": "Складиште", + "stepDevice": "Уређај", + "stepImage": "Слика", + "resetTooltip": "Почни испочетка", + "stepTooltip": "Промени {{step}}" + }, + "errorDisplay": { + "retry": "Покушај поново", + "uploadLogs": "Отпреми записе", + "uploading": "Отпремање...", + "uploadingLogs": "Отпремање записа...", + "uploadLogsForSupport": "Отпреми записе ради подршке", + "viewLogs": "Прикажи записе", + "scanQrOrShare": "Скенирајте QR код или поделите ову везу:" + }, + "error": { + "downloadFailed": "Преузимање није успело", + "flashFailed": "Уписивање није успело", + "authFailed": "Ауторизација није успела", + "authCancelled": "Ауторизација је отказана", + "decompressionFailed": "Распаковање није успело", + "uploadFailed": "Отпремање није успело", + "deviceDisconnected": "Уређај је искључен", + "writeFailed": "Уписивање на уређај није успело на {{offset}}. Уређај је можда премали, оштећен, или је читач искључен. Пробајте другу картицу, читач или порт.", + "qdlDisconnected": "Уређај је искључен током уписивања. Поново повежите у EDL режиму и покушајте поново.", + "qdlCancelled": "Уписивање је отказано.", + "qdlPermissionDenied": "USB приступ је одбијен. На Линуксу инсталирајте udev правила: echo 'SUBSYSTEM==\"usb\", ATTR{idVendor}==\"05c6\", ATTR{idProduct}==\"9008\", MODE=\"0666\"' | sudo tee /etc/udev/rules.d/51-qdl.rules && echo 'blacklist qcserial' | sudo tee /etc/modprobe.d/blacklist-qcserial.conf && sudo udevadm control --reload-rules", + "qdlConnectionFailed": "Повезивање са EDL уређајем није успело. Уверите се да је у EDL режиму и повезан преко USB-а.", + "qdlAutoconfigFailed": "Примена профила аутоконфигурације на QDL слику није успела." + }, + "custom": { + "customImage": "Прилагођена слика" + }, + "armbian": { + "description": "Овај уређај користи Armbian. Желите ли да унапред изаберете ову плочу и прескочите ручне кораке?", + "cancelHint": "Ако откажете, аутоматско препознавање плоче се искључује.", + "disabledToast": "Аутоматско препознавање плоче је онемогућено. Поново га омогућите у подешавањима." + }, + "common": { + "unknown": "Непознато", + "confirm": "Потврди", + "cancel": "Откажи" + }, + "settings": { + "title": "Подешавања", + "appearance": "Изглед", + "preferences": "Поставке", + "storage": "Складиште", + "developer": "Програмер", + "verification": "Провера", + "theme": "Тема", + "language": "Језик", + "appInfo": "О апликацији", + "chooseTheme": "Изаберите тему", + "chooseLanguage": "Изаберите језик", + "languageAuto": "Аутоматски", + "searchLanguage": "Претражи језике...", + "appDescription": "Уписује Armbian OS на SD картице и USB дискове", + "version": "Верзија", + "platform": "Платформа", + "arch": "Архитектура", + "tauriVersion": "Tauri верзија", + "links": "Везе", + "githubRepo": "GitHub репозиторијум", + "documentation": "Документација", + "reportIssue": "Пријави проблем", + "community": "Форум заједнице", + "themeLight": "Светла", + "themeDark": "Тамна", + "themeAuto": "Аутоматски", + "developerMode": "Програмерски режим", + "developerModeDescription": "Омогући детаљно бележење и информације за отклањање грешака", + "viewLogs": "Прикажи записе", + "viewLogsDescription": "Прикажи записе апликације ради отклањања грешака", + "skipVerify": "Прескочи проверу", + "skipVerifyDescription": "Прескочи проверу уписаних података након уписивања (брже, али мање безбедно)", + "connectivity": "Повезивање", + "forceOffline": "Ван-мрежни режим", + "forceOfflineDescription": "Увек ради ван мреже: прескочи проверу везе и користи само локалне и кеширане слике.", + "noLogsAvailable": "Нема доступних записа", + "copyLogs": "Копирај записе", + "copied": "Копирано!", + "notifications": { + "title": "Обавештења", + "showMotd": "Прикажи савете", + "showMotdDescription": "Погледајте повремене савете и најаве", + "showUpdaterModal": "Прикажи обавештења о ажурирању", + "showUpdaterModalDescription": "Обавести када је ажурирање доступно", + "showWelcome": "Прикажи почетни екран", + "showWelcomeDescription": "Прикажи почетни екран при покретању апликације" + }, + "cache": { + "usageTitle": "Употреба кеша", + "legendImages": "Слике", + "legendData": "Подаци", + "title": "Подешавања кеша", + "enable": "Омогући кеш слика", + "enableDescription": "Задржи преузете слике како би поновни покушај био бржи ако уписивање не успе", + "maxSize": "Максимална величина кеша", + "maxSizeDescription": "Аутоматски уклања најстарије слике када се достигне ограничење величине", + "noCachedImages": "Нема кешираних података", + "clear": "Очисти кеш", + "clearButton": "Ослободи простор", + "clearDescription": "Уклони све кеширане податке да би се ослободио простор", + "clearConfirm": "Да ли сте сигурни да желите да обришете све кеширане податке? Ово се не може опозвати.", + "manage": "Управљај кешираним сликама", + "manageDescription": "Погледајте, обришите или поново користите кеширане слике", + "managerTitle": "Кеширане слике", + "unknownBoard": "Непозната плоча", + "imageCount_one": "{{count}} слика", + "imageCount_other": "{{count}} слика", + "useImage": "Користи", + "deleteImage": "Обриши", + "deleteConfirmSingle": "Обрисати ову кеширану слику?", + "deleteAll": "Обриши све", + "deleteConfirmAll": "Обрисати свих {{count}} кешираних слика за ову плочу?", + "totalSize": "{{size}} укупно", + "deleteSuccess": "Слика је обрисана", + "deleteError": "Брисање слике није успело", + "justNow": "управо сада", + "minutesAgo": "пре {{count}} мин", + "hoursAgo": "пре {{count}} ч", + "daysAgo": "пре {{count}} дана" + }, + "devices": "Уређаји", + "allowSystemDevices": "Дозволи системске дискове", + "allowSystemDevicesDescription": "Ризично: можете преписати покренути OS.", + "armbian": { + "title": "Armbian", + "label": "Аутоматски препознај плочу", + "description": "Аутоматски идентификуј плочу када овај уређај користи Armbian", + "mode_disabled": "Онемогућено", + "mode_modal": "Интерактивно", + "mode_auto": "Тихо" + }, + "toast": { + "allowSystemDevicesUpdated": "Подешавање системских дискова је ажурирано", + "allowSystemDevicesError": "Ажурирање подешавања системских дискова није успело", + "motdUpdated": "Подешавање савета је ажурирано", + "motdError": "Ажурирање подешавања савета није успело", + "welcomeUpdated": "Подешавање почетног екрана је ажурирано", + "welcomeError": "Ажурирање подешавања почетног екрана није успело", + "updaterUpdated": "Обавештења о ажурирању су ажурирана", + "updaterError": "Ажурирање подешавања обавештења није успело", + "cacheToggleUpdated": "Подешавање кеша је ажурирано", + "cacheToggleError": "Ажурирање подешавања кеша није успело", + "cacheSizeUpdated": "Ограничење величине кеша је ажурирано", + "cacheSizeError": "Ажурирање величине кеша није успело", + "cacheClearSuccess": "Кеш је очишћен", + "cacheClearError": "Чишћење кеша није успело", + "detectionUpdated": "Препознавање плоче је ажурирано", + "detectionError": "Ажурирање режима препознавања није успело", + "skipVerifyUpdated": "Подешавање провере је ажурирано", + "skipVerifyError": "Ажурирање подешавања провере није успело", + "forceOfflineUpdated": "Ван-мрежни режим је ажуриран", + "forceOfflineError": "Ажурирање ван-мрежног режима није успело" + }, + "autoconfig": { + "tab": "Профили", + "title": "Профили аутоконфигурације", + "description": "Унапред подесите Armbian подешавање при првом покретању. Профил се примењује само када га изаберете пре уписивања.", + "newProfile": "Нови профил", + "emptyTitle": "Још нема профила", + "emptyHint": "Направите профил да унапред подесите мрежу, локализацију и налоге при првом покретању.", + "nameLabel": "Назив профила", + "namePlaceholder": "Мој профил", + "selectPlaceholder": "Изаберите…", + "localeRequiresUser": "Локализација и временска зона примењују се само када креирате корисника, па прво унесите корисничко име, лозинку и пуно име.", + "passwordHint": "Оставите празно да прескочите", + "keyUrlInvalid": "Унесите URL до јавног кључа (нпр. https://github.com/username.keys), а не сам кључ", + "urlInvalid": "Унесите важећи URL (http или https)", + "save": "Сачувај", + "cancel": "Откажи", + "delete": "Обриши", + "edit": "Уреди", + "deleteConfirmTitle": "Обрисати профил?", + "deleteConfirmBody": "{{name}} ће бити трајно уклоњен.", + "secretWarning": "Лозинке се чувају и уписују у слику у обичном тексту.", + "groupNetwork": "Мрежа", + "groupLocalization": "Локализација", + "groupRoot": "Root налог", + "groupUser": "Први корисник", + "userHint": "Оставите корисничко име празно и Armbian ће вас ипак затражити да креирате корисника при првом покретању.", + "groupAdvanced": "Напредно", + "applyNetwork": "Подеси мрежу", + "ethernetEnabled": "Омогући Ethernet", + "wifiEnabled": "Омогући Wi-Fi", + "wifiSsid": "Wi-Fi SSID", + "wifiKey": "Wi-Fi лозинка", + "wifiCountryCode": "Wi-Fi земља", + "useStaticIp": "Користи статичку IP адресу", + "staticIp": "IP адреса", + "staticMask": "Мрежна маска", + "staticGateway": "Мрежни пролаз", + "staticDns": "DNS сервер", + "locale": "Локализација", + "timezone": "Временска зона", + "langBasedOnLocation": "Постави језик према локацији", + "rootPassword": "Root лозинка", + "rootKeyUrl": "URL Root SSH кључа", + "userName": "Корисничко име", + "userPassword": "Корисничка лозинка", + "userKeyUrl": "URL корисничког SSH кључа", + "userShell": "Пријавна љуска", + "userRealName": "Пуно име", + "remoteConfigUrl": "URL удаљене конфигурације", + "toastCreated": "Профил је креиран", + "toastUpdated": "Профил је ажуриран", + "toastDeleted": "Профил је обрисан", + "toastError": "Чување профила није успело", + "previewTitle": "Преглед", + "previewReveal": "Откриј", + "previewHide": "Сакриј", + "previewEmpty": "Још ништа није подешено. Попуните поља изнад да изградите датотеку за прво покретање.", + "settingsCount": "подешавања" + } + }, + "update": { + "title": "Доступно ажурирање", + "later": "Касније", + "downloading": "Преузимање ажурирања...", + "ready": "Ажурирање је спремно", + "error": "Ажурирање није успело", + "installNow": "Инсталирај одмах", + "install": "Инсталирај", + "restartNow": "Поново покрени одмах", + "cancel": "Откажи", + "retry": "Покушај поново", + "readyMessage": "Ажурирање је преузето. Поново покрените апликацију да завршите инсталацију.", + "errorMessage": "Преузимање ажурирања није успело. Покушајте поново касније.", + "errorNotInApplications": "Преместите апликацију у фасциклу Applications и покушајте поново.", + "changelogTitle": "Шта је ново", + "viewChangelog": "Шта је ново", + "loadingChangelog": "Учитавање дневника промена...", + "noChangelog": "Дневник промена није доступан", + "viewOnGitHub": "Погледај на GitHub-у", + "contributors": "Сарадници", + "changelogErrorHint": "Проверите да ли сте на мрежи и да ли верзија постоји на GitHub-у." + } +}