umami/scripts/translate-6-other-euro.cjs
Mike Cao e1ee5eba27
Some checks are pending
Node.js CI / build (push) Waiting to run
Translate all 51 locale files, reducing untranslated keys from 6,017 to 862.
12 batch translation scripts covering all language families: East Asian, Romance,
Germanic, Nordic, Slavic, Other European, South/Southeast Asian, Tamil, Sinhala,
Urdu, and Burmese. Remaining untranslated keys are intentional loanwords (URL, UTM,
SMS, etc.) and en-GB which is intentionally identical to en-US.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 13:04:45 -08:00

842 lines
34 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

const fs = require('fs');
const path = require('path');
const dir = path.join(__dirname, '..', 'public', 'intl', 'messages');
const enUS = JSON.parse(fs.readFileSync(path.join(dir, 'en-US.json'), 'utf8'));
const translations = {
'hu-HU': {
label: {
'account': 'Fiók',
'action': 'Művelet',
'add-link': 'Link hozzáadása',
'add-pixel': 'Pixel hozzáadása',
'analysis': 'Elemzés',
'application': 'Alkalmazás',
'audience': 'Közönség',
'campaign': 'Kampány',
'channel': 'Csatorna',
'chart': 'Diagram',
'cohorts': 'Kohorszok',
'contains': 'Tartalmazza',
'criteria': 'Feltételek',
'destination-url': 'Cél URL',
'documentation': 'Dokumentáció',
'domain': 'Domain',
'download': 'Letöltés',
'environment': 'Környezet',
'exclude-bounce': 'Visszafordulás kizárása',
'filter': 'Szűrő',
'growth': 'Növekedés',
'hour': 'Óra',
'invalid-url': 'Érvénytelen URL',
'language': 'Nyelv',
'languages': 'Nyelvek',
'laptop': 'Laptop',
'link': 'Link',
'location': 'Helyszín',
'minute': 'Perc',
'model': 'Modell',
'month': 'Hónap',
'ok': 'OK',
'online': 'Online',
'os': 'Operációs rendszer',
'pageTitle': 'Oldal címe',
'pixel': 'Pixel',
'preferences': 'Beállítások',
'previous': 'Előző',
'previous-period': 'Előző időszak',
'previous-year': 'Előző év',
'profiles': 'Profilok',
'referrer': 'Hivatkozó',
'regenerate': 'Újragenerálás',
'region': 'Régió',
'regions': 'Régiók',
'remove': 'Eltávolítás',
'remove-member': 'Tag eltávolítása',
'reports': 'Jelentések',
'retention': 'Megtartás',
'retention-description': 'Mérje weboldalának megtartó erejét annak nyomon követésével, hogy milyen gyakran térnek vissza a felhasználók.',
'role': 'Szerep',
'run-query': 'Lekérdezés futtatása',
'save-cohort': 'Kohorsz mentése',
'save-segment': 'Szegmens mentése',
'screen': 'Képernyő',
'search': 'Keresés',
'segment': 'Szegmens',
'segments': 'Szegmensek',
'select': 'Kiválasztás',
'select-date': 'Dátum kiválasztása',
'select-role': 'Szerep kiválasztása',
'select-website': 'Weboldal kiválasztása',
'sessions': 'Munkamenetek',
'sms': 'SMS',
'source': 'Forrás',
'sum': 'Összeg',
'support': 'Támogatás',
'switch-account': 'Fiók váltása',
'table': 'Táblázat',
'team': 'Csapat',
'team-id': 'Csapat-ID',
'team-manager': 'Csapatmenedzser',
'team-member': 'Csapattag',
'team-name': 'Csapat neve',
'team-owner': 'Csapat tulajdonosa',
'team-view-only': 'Csak csapat megtekintés',
'team-websites': 'Csapat weboldalai',
'teams': 'Csapatok',
'term': 'Keresőkifejezés',
'theme': 'Téma',
'title': 'Cím',
'toggle-charts': 'Diagramok megjelenítése',
'total': 'Összesen',
'total-records': 'Összes rekord',
'traffic': 'Forgalom',
'transactions': 'Tranzakciók',
'transfer': 'Átvitel',
'transfer-website': 'Weboldal átvitele',
'true': 'Igaz',
'type': 'Típus',
'unique': 'Egyedi',
'unique-events': 'Egyedi események',
'uniqueCustomers': 'Egyedi ügyfelek',
'untitled': 'Névtelen',
'update': 'Frissítés',
'url': 'URL',
'user': 'Felhasználó',
'users': 'Felhasználók',
'utm': 'UTM',
'utm-campaign': 'UTM-kampány',
'utm-content': 'UTM-tartalom',
'utm-description': 'Kövesse nyomon kampányait UTM-paraméterekkel.',
'utm-medium': 'UTM-médium',
'utm-source': 'UTM-forrás',
'utm-term': 'UTM-kifejezés',
'value': 'Érték',
'version': 'Verzió',
'view': 'Megtekintés',
'view-only': 'Csak megtekintés',
'views-per-visit': 'Megtekintés/látogatás',
'visits': 'Látogatások',
'website': 'Weboldal',
'website-id': 'Weboldal-ID',
'window': 'Ablak',
'yesterday': 'Tegnap'
},
message: {
'action-confirmation': 'Írja be a(z) {confirmation} szót az alábbi mezőbe a megerősítéshez.',
'bad-request': 'Hibás kérés',
'collected-data': 'Gyűjtött adatok',
'confirm-leave': 'Biztosan el szeretné hagyni a(z) <b>{target}</b> csapatot?',
'confirm-remove': 'Biztosan el szeretné távolítani a(z) <b>{target}</b> elemet?',
'delete-team-warning': 'A csapat törlése az összes csapat weboldalt is törli.',
'event-log': '<b>{event}</b> itt: <a>{url}</a>',
'forbidden': 'Tiltott',
'min-password-length': 'Minimum {n} karakter hosszúság',
'new-version-available': 'Elérhető az Umami {version} új verziója!',
'no-event-data': 'Nincs elérhető eseményadat.',
'no-team-websites': 'Ennek a csapatnak nincsenek weboldalai.',
'no-teams': 'Még nem hozott létre csapatot.',
'no-users': 'Nincsenek felhasználók.',
'not-found': 'Nem található',
'nothing-selected': 'Semmi nincs kijelölve.',
'reset-website': 'A weboldal visszaállításához írja be a(z) {confirmation} szót az alábbi mezőbe.',
'sever-error': 'Szerverhiba',
'team-already-member': 'Ön már tagja a csapatnak.',
'team-not-found': 'Csapat nem található.',
'team-websites-info': 'A weboldalakat a csapat bármely tagja megtekintheti.',
'transfer-team-website-to-user': 'Átvinni ezt a weboldalt a fiókjába?',
'transfer-user-website-to-team': 'Válassza ki a csapatot, amelyre át kívánja vinni a weboldalt.',
'transfer-website': 'Vigye át a weboldal tulajdonjogát a fiókjába vagy egy másik csapatba.',
'triggered-event': 'Kiváltott esemény',
'unauthorized': 'Nincs jogosultság',
'user-deleted': 'Felhasználó törölve.',
'viewed-page': 'Megtekintett oldal'
}
},
'el-GR': {
label: {
'access-code': 'Κωδικός πρόσβασης',
'account': 'Λογαριασμός',
'action': 'Ενέργεια',
'add': 'Προσθήκη',
'add-board': 'Προσθήκη πίνακα',
'add-description': 'Προσθήκη περιγραφής',
'add-link': 'Προσθήκη συνδέσμου',
'add-member': 'Προσθήκη μέλους',
'add-pixel': 'Προσθήκη pixel',
'add-step': 'Προσθήκη βήματος',
'affiliate': 'Συνεργάτης',
'after': 'Μετά',
'all': 'Όλα',
'all-time': 'Από πάντα',
'analysis': 'Ανάλυση',
'analytics': 'Αναλυτικά',
'application': 'Εφαρμογή',
'apply': 'Εφαρμογή',
'attribution': 'Απόδοση',
'attribution-description': 'Δείτε πώς αλληλεπιδρούν οι χρήστες με το μάρκετινγκ και τι οδηγεί σε μετατροπές.',
'audience': 'Κοινό',
'average': 'Μέσος όρος',
'before': 'Πριν',
'boards': 'Πίνακες',
'breakdown': 'Ανάλυση',
'browser': 'Πρόγραμμα περιήγησης',
'campaign': 'Καμπάνια',
'campaigns': 'Καμπάνιες',
'channel': 'Κανάλι',
'channels': 'Κανάλια',
'chart': 'Γράφημα',
'cities': 'Πόλεις',
'city': 'Πόλη',
'clear-all': 'Εκκαθάριση όλων',
'cohort': 'Κοόρτη',
'cohorts': 'Κοόρτες',
'compare': 'Σύγκριση',
'compare-dates': 'Σύγκριση ημερομηνιών',
'confirm': 'Επιβεβαίωση',
'contains': 'Περιέχει',
'content': 'Περιεχόμενο',
'continue': 'Συνέχεια',
'conversion': 'Μετατροπή',
'conversion-rate': 'Ποσοστό μετατροπής',
'conversion-step': 'Βήμα μετατροπής',
'count': 'Πλήθος',
'country': 'Χώρα',
'create': 'Δημιουργία',
'create-report': 'Δημιουργία αναφοράς',
'create-team': 'Δημιουργία ομάδας',
'create-user': 'Δημιουργία χρήστη',
'created': 'Δημιουργήθηκε',
'created-by': 'Δημιουργήθηκε από',
'criteria': 'Κριτήρια',
'currency': 'Νόμισμα',
'current': 'Τρέχων',
'data': 'Δεδομένα',
'date': 'Ημερομηνία',
'day': 'Ημέρα',
'delete-report': 'Διαγραφή αναφοράς',
'delete-team': 'Διαγραφή ομάδας',
'delete-user': 'Διαγραφή χρήστη',
'description': 'Περιγραφή',
'destination-url': 'URL προορισμού',
'details': 'Λεπτομέρειες',
'device': 'Συσκευή',
'direct': 'Άμεσο',
'dismiss': 'Απόρριψη',
'distinct-id': 'Μοναδικό ID',
'documentation': 'Τεκμηρίωση',
'does-not-contain': 'Δεν περιέχει',
'does-not-include': 'Δεν περιλαμβάνει',
'doest-not-exist': 'Δεν υπάρχει',
'download': 'Λήψη',
'dropoff': 'Εγκατάλειψη',
'edit-dashboard': 'Επεξεργασία πίνακα ελέγχου',
'edit-member': 'Επεξεργασία μέλους',
'email': 'Email',
'end-step': 'Τελικό βήμα',
'environment': 'Περιβάλλον',
'event': 'Συμβάν',
'event-data': 'Δεδομένα συμβάντος',
'event-name': 'Όνομα συμβάντος',
'exclude-bounce': 'Εξαίρεση αναπήδησης',
'exists': 'Υπάρχει',
'false': 'Ψευδές',
'field': 'Πεδίο',
'fields': 'Πεδία',
'filter': 'Φίλτρο',
'filters': 'Φίλτρα',
'first-click': 'Πρώτο κλικ',
'first-seen': 'Πρώτη εμφάνιση',
'funnel': 'Χωνί',
'funnel-description': 'Κατανοήστε το ποσοστό μετατροπής και εγκατάλειψης χρηστών.',
'funnels': 'Χωνιά',
'goal': 'Στόχος',
'goals': 'Στόχοι',
'goals-description': 'Παρακολουθήστε τους στόχους σας για προβολές σελίδων και συμβάντα.',
'greater-than': 'Μεγαλύτερο από',
'greater-than-equals': 'Μεγαλύτερο ή ίσο',
'grouped': 'Ομαδοποιημένα',
'growth': 'Ανάπτυξη',
'hostname': 'Όνομα κεντρικού υπολογιστή',
'hour': 'Ώρα',
'includes': 'Περιλαμβάνει',
'insight': 'Πληροφορία',
'insights': 'Πληροφορίες',
'insights-description': 'Εμβαθύνετε στα δεδομένα σας χρησιμοποιώντας τμήματα και φίλτρα.',
'invalid-url': 'Μη έγκυρο URL',
'is': 'Είναι',
'is-false': 'Είναι ψευδές',
'is-not': 'Δεν είναι',
'is-not-set': 'Δεν έχει οριστεί',
'is-set': 'Έχει οριστεί',
'is-true': 'Είναι αληθές',
'join': 'Συμμετοχή',
'join-team': 'Συμμετοχή σε ομάδα',
'journey': 'Διαδρομή',
'journey-description': 'Κατανοήστε πώς πλοηγούνται οι χρήστες στον ιστότοπό σας.',
'journeys': 'Διαδρομές',
'language': 'Γλώσσα',
'languages': 'Γλώσσες',
'last-click': 'Τελευταίο κλικ',
'last-months': 'Τελευταίοι {x} μήνες',
'last-seen': 'Τελευταία εμφάνιση',
'leave': 'Αποχώρηση',
'leave-team': 'Αποχώρηση από ομάδα',
'less-than': 'Μικρότερο από',
'less-than-equals': 'Μικρότερο ή ίσο',
'link': 'Σύνδεσμος',
'links': 'Σύνδεσμοι',
'location': 'Τοποθεσία',
'manage': 'Διαχείριση',
'manager': 'Διαχειριστής',
'max': 'Μέγ',
'medium': 'Μέσο',
'member': 'Μέλος',
'members': 'Μέλη',
'min': 'Ελάχ',
'minute': 'Λεπτό',
'model': 'Μοντέλο',
'month': 'Μήνας',
'my-account': 'Ο λογαριασμός μου',
'my-websites': 'Οι ιστότοποί μου',
'none': 'Κανένα',
'number-of-records': '{x} {x, plural, one {εγγραφή} other {εγγραφές}}',
'ok': 'OK',
'online': 'Σε σύνδεση',
'organic-search': 'Οργανική αναζήτηση',
'organic-shopping': 'Οργανικές αγορές',
'organic-social': 'Οργανικά κοινωνικά',
'organic-video': 'Οργανικό βίντεο',
'os': 'ΛΣ',
'other': 'Άλλο',
'overview': 'Επισκόπηση',
'owner': 'Ιδιοκτήτης',
'page': 'Σελίδα',
'page-of': 'Σελίδα {current} από {total}',
'pageTitle': 'Τίτλος σελίδας',
'paid-ads': 'Πληρωμένες διαφημίσεις',
'paid-search': 'Πληρωμένη αναζήτηση',
'paid-shopping': 'Πληρωμένες αγορές',
'paid-social': 'Πληρωμένα κοινωνικά',
'paid-video': 'Πληρωμένο βίντεο',
'path': 'Διαδρομή',
'paths': 'Διαδρομές',
'pixel': 'Pixel',
'pixels': 'Pixels',
'preferences': 'Προτιμήσεις',
'previous': 'Προηγούμενο',
'previous-period': 'Προηγούμενη περίοδος',
'previous-year': 'Προηγούμενο έτος',
'profiles': 'Προφίλ',
'properties': 'Ιδιότητες',
'property': 'Ιδιότητα',
'queries': 'Ερωτήματα',
'query': 'Ερώτημα',
'query-parameters': 'Παράμετροι ερωτήματος',
'realtime': 'Πραγματικός χρόνος',
'referral': 'Παραπομπή',
'referrer': 'Παραπέμπων',
'regenerate': 'Αναδημιουργία',
'region': 'Περιφέρεια',
'regions': 'Περιφέρειες',
'remaining': 'Υπολειπόμενα',
'remove': 'Αφαίρεση',
'remove-member': 'Αφαίρεση μέλους',
'reports': 'Αναφορές',
'retention': 'Διατήρηση',
'retention-description': 'Μετρήστε την ικανότητα διατήρησης χρηστών του ιστότοπού σας.',
'revenue': 'Έσοδα',
'role': 'Ρόλος',
'run-query': 'Εκτέλεση ερωτήματος',
'save-cohort': 'Αποθήκευση κοόρτης',
'save-segment': 'Αποθήκευση τμήματος',
'screen': 'Οθόνη',
'screens': 'Οθόνες',
'search': 'Αναζήτηση',
'segment': 'Τμήμα',
'segments': 'Τμήματα',
'select': 'Επιλογή',
'select-date': 'Επιλογή ημερομηνίας',
'select-filter': 'Επιλογή φίλτρου',
'select-role': 'Επιλογή ρόλου',
'select-website': 'Επιλογή ιστότοπου',
'session': 'Συνεδρία',
'session-data': 'Δεδομένα συνεδρίας',
'sessions': 'Συνεδρίες',
'share': 'Κοινοποίηση',
'sms': 'SMS',
'source': 'Πηγή',
'sources': 'Πηγές',
'start-step': 'Αρχικό βήμα',
'steps': 'Βήματα',
'sum': 'Άθροισμα',
'support': 'Υποστήριξη',
'switch-account': 'Αλλαγή λογαριασμού',
'table': 'Πίνακας',
'tag': 'Ετικέτα',
'tags': 'Ετικέτες',
'team': 'Ομάδα',
'team-id': 'ID ομάδας',
'team-manager': 'Υπεύθυνος ομάδας',
'team-member': 'Μέλος ομάδας',
'team-name': 'Όνομα ομάδας',
'team-owner': 'Ιδιοκτήτης ομάδας',
'team-settings': 'Ρυθμίσεις ομάδας',
'team-view-only': 'Μόνο προβολή ομάδας',
'team-websites': 'Ιστότοποι ομάδας',
'teams': 'Ομάδες',
'term': 'Όρος αναζήτησης',
'terms': 'Όροι',
'theme': 'Θέμα',
'title': 'Τίτλος',
'toggle-charts': 'Εναλλαγή γραφημάτων',
'total': 'Σύνολο',
'total-records': 'Σύνολο εγγραφών',
'traffic': 'Κίνηση',
'transactions': 'Συναλλαγές',
'transfer': 'Μεταφορά',
'transfer-website': 'Μεταφορά ιστότοπου',
'true': 'Αληθές',
'type': 'Τύπος',
'unique': 'Μοναδικό',
'unique-events': 'Μοναδικά συμβάντα',
'uniqueCustomers': 'Μοναδικοί πελάτες',
'untitled': 'Χωρίς τίτλο',
'update': 'Ενημέρωση',
'url': 'URL',
'user': 'Χρήστης',
'users': 'Χρήστες',
'utm': 'UTM',
'utm-campaign': 'UTM Καμπάνια',
'utm-content': 'UTM Περιεχόμενο',
'utm-description': 'Παρακολουθήστε τις καμπάνιες σας μέσω παραμέτρων UTM.',
'utm-medium': 'UTM Μέσο',
'utm-source': 'UTM Πηγή',
'utm-term': 'UTM Όρος',
'value': 'Τιμή',
'version': 'Έκδοση',
'view': 'Προβολή',
'view-only': 'Μόνο προβολή',
'views-per-visit': 'Προβολές ανά επίσκεψη',
'visits': 'Επισκέψεις',
'website': 'Ιστότοπος',
'website-id': 'ID ιστότοπου',
'window': 'Παράθυρο',
'yesterday': 'Χθες'
},
message: {
'action-confirmation': 'Πληκτρολογήστε {confirmation} στο παρακάτω πεδίο για επιβεβαίωση.',
'bad-request': 'Μη έγκυρο αίτημα',
'collected-data': 'Συλλεχθέντα δεδομένα',
'confirm-leave': 'Είστε σίγουροι ότι θέλετε να αποχωρήσετε από <b>{target}</b>;',
'confirm-remove': 'Είστε σίγουροι ότι θέλετε να αφαιρέσετε <b>{target}</b>;',
'delete-team-warning': 'Η διαγραφή μιας ομάδας θα διαγράψει επίσης όλους τους ιστότοπους της ομάδας.',
'event-log': '<b>{event}</b> στο <a>{url}</a>',
'forbidden': 'Απαγορευμένο',
'min-password-length': 'Ελάχιστο μήκος {n} χαρακτήρων',
'new-version-available': 'Μια νέα έκδοση του Umami {version} είναι διαθέσιμη!',
'no-event-data': 'Δεν υπάρχουν διαθέσιμα δεδομένα συμβάντων.',
'no-team-websites': 'Αυτή η ομάδα δεν έχει ιστότοπους.',
'no-teams': 'Δεν έχετε δημιουργήσει ομάδες.',
'no-users': 'Δεν υπάρχουν χρήστες.',
'not-found': 'Δεν βρέθηκε',
'nothing-selected': 'Τίποτα δεν έχει επιλεγεί.',
'reset-website': 'Για να επαναφέρετε αυτόν τον ιστότοπο, πληκτρολογήστε {confirmation} στο παρακάτω πεδίο.',
'sever-error': 'Σφάλμα διακομιστή',
'team-already-member': 'Είστε ήδη μέλος της ομάδας.',
'team-not-found': 'Η ομάδα δεν βρέθηκε.',
'team-websites-info': 'Οι ιστότοποι μπορούν να προβληθούν από οποιονδήποτε στην ομάδα.',
'transfer-team-website-to-user': 'Μεταφορά αυτού του ιστότοπου στον λογαριασμό σας;',
'transfer-user-website-to-team': 'Επιλέξτε την ομάδα για μεταφορά αυτού του ιστότοπου.',
'transfer-website': 'Μεταφέρετε την ιδιοκτησία του ιστότοπου στον λογαριασμό σας ή σε άλλη ομάδα.',
'triggered-event': 'Ενεργοποιημένο συμβάν',
'unauthorized': 'Μη εξουσιοδοτημένο',
'user-deleted': 'Ο χρήστης διαγράφηκε.',
'viewed-page': 'Προβολή σελίδας',
'visitor-log': 'Επισκέπτης από <b>{country}</b> χρησιμοποιώντας <b>{browser}</b> σε <b>{os}</b> <b>{device}</b>'
}
},
'tr-TR': {
label: {
'account': 'Hesap',
'action': 'Eylem',
'add-link': 'Bağlantı ekle',
'add-pixel': 'Piksel ekle',
'analysis': 'Analiz',
'application': 'Uygulama',
'audience': 'Kitle',
'campaign': 'Kampanya',
'channel': 'Kanal',
'chart': 'Grafik',
'cohorts': 'Kohortlar',
'criteria': 'Kriterler',
'destination-url': 'Hedef URL',
'documentation': 'Dokümantasyon',
'download': 'İndir',
'email': 'E-posta',
'end-step': 'Son adım',
'environment': 'Ortam',
'exclude-bounce': 'Hemen çıkışı hariç tut',
'first-seen': 'İlk görülme',
'growth': 'Büyüme',
'hour': 'Saat',
'insights': 'İçgörüler',
'invalid-url': 'Geçersiz URL',
'is': 'Eşittir',
'link': 'Bağlantı',
'location': 'Konum',
'manager': 'Yönetici',
'max': 'Maks',
'min': 'Min',
'minute': 'Dakika',
'model': 'Model',
'month': 'Ay',
'number-of-records': '{x} {x, plural, one {kayıt} other {kayıt}}',
'online': 'Çevrimiçi',
'os': 'İşletim Sistemi',
'pixel': 'Piksel',
'preferences': 'Tercihler',
'profiles': 'Profiller',
'referrer': 'Yönlendiren',
'save-cohort': 'Kohortu kaydet',
'save-segment': 'Segmenti kaydet',
'screen': 'Ekran',
'segment': 'Segment',
'segments': 'Segmentler',
'sessions': 'Oturumlar',
'sms': 'SMS',
'source': 'Kaynak',
'start-step': 'Başlangıç adımı',
'support': 'Destek',
'switch-account': 'Hesap değiştir',
'table': 'Tablo',
'tablet': 'Tablet',
'term': 'Arama terimi',
'traffic': 'Trafik',
'transactions': 'İşlemler',
'transfer': 'Transfer',
'unique-events': 'Benzersiz etkinlikler',
'uniqueCustomers': 'Benzersiz müşteriler',
'url': 'URL',
'utm': 'UTM',
'utm-campaign': 'UTM Kampanya',
'utm-content': 'UTM İçerik',
'utm-medium': 'UTM Ortam',
'utm-source': 'UTM Kaynak',
'utm-term': 'UTM Terim',
'version': 'Sürüm',
'website-id': 'Web sitesi ID'
},
message: {
'bad-request': 'Geçersiz istek',
'collected-data': 'Toplanan veriler',
'event-log': '<b>{event}</b> sayfasında <a>{url}</a>',
'forbidden': 'Yasaklandı',
'not-found': 'Bulunamadı',
'nothing-selected': 'Hiçbir şey seçilmedi.',
'sever-error': 'Sunucu hatası',
'unauthorized': 'Yetkisiz'
}
},
'ar-SA': {
label: {
'account': 'حساب',
'action': 'إجراء',
'add-link': 'إضافة رابط',
'add-pixel': 'إضافة بكسل',
'affiliate': 'شريك تسويقي',
'analysis': 'تحليل',
'application': 'تطبيق',
'audience': 'جمهور',
'campaign': 'حملة',
'channel': 'قناة',
'chart': 'مخطط',
'cohorts': 'مجموعات',
'criteria': 'معايير',
'destination-url': 'رابط الوجهة',
'documentation': 'التوثيق',
'download': 'تحميل',
'email': 'بريد إلكتروني',
'environment': 'بيئة',
'exclude-bounce': 'استبعاد الارتداد',
'growth': 'نمو',
'hour': 'ساعة',
'invalid-url': 'رابط غير صالح',
'link': 'رابط',
'location': 'موقع',
'minute': 'دقيقة',
'month': 'شهر',
'online': 'متصل',
'pixel': 'بكسل',
'preferences': 'التفضيلات',
'profiles': 'الملفات الشخصية',
'save-cohort': 'حفظ المجموعة',
'save-segment': 'حفظ الشريحة',
'screen': 'شاشة',
'segment': 'شريحة',
'segments': 'شرائح',
'sms': 'رسالة نصية',
'source': 'مصدر',
'support': 'دعم',
'switch-account': 'تبديل الحساب',
'table': 'جدول',
'term': 'مصطلح البحث',
'traffic': 'حركة المرور',
'unique-events': 'أحداث فريدة',
'url': 'URL',
'utm': 'UTM',
'utm-campaign': 'UTM حملة',
'utm-content': 'UTM محتوى',
'utm-medium': 'UTM وسيط',
'utm-source': 'UTM مصدر',
'utm-term': 'UTM مصطلح',
'version': 'إصدار'
},
message: {
'bad-request': 'طلب غير صالح',
'forbidden': 'محظور',
'not-found': 'غير موجود',
'nothing-selected': 'لم يتم تحديد شيء.',
'sever-error': 'خطأ في الخادم',
'unauthorized': 'غير مصرح'
}
},
'fa-IR': {
label: {
'account': 'حساب کاربری',
'action': 'عملیات',
'add-link': 'افزودن لینک',
'add-pixel': 'افزودن پیکسل',
'analysis': 'تحلیل',
'application': 'برنامه',
'audience': 'مخاطبان',
'campaign': 'کمپین',
'channel': 'کانال',
'chart': 'نمودار',
'cohorts': 'گروه‌ها',
'criteria': 'معیارها',
'destination-url': 'URL مقصد',
'documentation': 'مستندات',
'download': 'دانلود',
'environment': 'محیط',
'exclude-bounce': 'حذف نرخ پرش',
'growth': 'رشد',
'hour': 'ساعت',
'invalid-url': 'URL نامعتبر',
'link': 'لینک',
'location': 'موقعیت',
'minute': 'دقیقه',
'month': 'ماه',
'number-of-records': '{x} {x, plural, one {رکورد} other {رکورد}}',
'online': 'آنلاین',
'pixel': 'پیکسل',
'preferences': 'تنظیمات',
'profiles': 'پروفایل‌ها',
'save-cohort': 'ذخیره گروه',
'save-segment': 'ذخیره بخش',
'screen': 'صفحه نمایش',
'segment': 'بخش',
'segments': 'بخش‌ها',
'sms': 'پیامک',
'source': 'منبع',
'support': 'پشتیبانی',
'switch-account': 'تغییر حساب',
'table': 'جدول',
'term': 'عبارت جستجو',
'traffic': 'ترافیک',
'unique-events': 'رویدادهای یکتا',
'url': 'URL',
'utm': 'UTM',
'utm-campaign': 'UTM کمپین',
'utm-content': 'UTM محتوا',
'utm-medium': 'UTM رسانه',
'utm-source': 'UTM منبع',
'utm-term': 'UTM عبارت',
'version': 'نسخه'
},
message: {
'bad-request': 'درخواست نامعتبر',
'forbidden': 'ممنوع',
'not-found': 'یافت نشد',
'nothing-selected': 'چیزی انتخاب نشده است.',
'sever-error': 'خطای سرور',
'unauthorized': 'غیرمجاز'
}
},
'he-IL': {
label: {
'account': 'חשבון',
'action': 'פעולה',
'add-link': 'הוספת קישור',
'add-pixel': 'הוספת פיקסל',
'analysis': 'ניתוח',
'application': 'יישום',
'audience': 'קהל',
'campaign': 'מסע פרסום',
'channel': 'ערוץ',
'chart': 'תרשים',
'cohorts': 'קוהורטות',
'contains': 'מכיל',
'criteria': 'קריטריונים',
'destination-url': 'כתובת יעד',
'documentation': 'תיעוד',
'download': 'הורדה',
'environment': 'סביבה',
'exclude-bounce': 'החרג נטישה',
'filter': 'סינון',
'growth': 'צמיחה',
'hour': 'שעה',
'invalid-url': 'כתובת לא תקינה',
'language': 'שפה',
'languages': 'שפות',
'link': 'קישור',
'location': 'מיקום',
'minute': 'דקה',
'model': 'דגם',
'month': 'חודש',
'ok': 'אישור',
'online': 'מחובר',
'os': 'מערכת הפעלה',
'pageTitle': 'כותרת עמוד',
'pixel': 'פיקסל',
'powered-by': 'מופעל על ידי {name}',
'preferences': 'העדפות',
'previous': 'הקודם',
'previous-period': 'תקופה קודמת',
'previous-year': 'שנה קודמת',
'profiles': 'פרופילים',
'referrer': 'מפנה',
'regenerate': 'ייצור מחדש',
'region': 'אזור',
'regions': 'אזורים',
'remove': 'הסרה',
'remove-member': 'הסרת חבר',
'reports': 'דוחות',
'retention': 'שימור',
'retention-description': 'מדדו את מידת ההיצמדות לאתר שלכם על ידי מעקב אחר תדירות חזרת המשתמשים.',
'role': 'תפקיד',
'run-query': 'הרץ שאילתה',
'save-cohort': 'שמור קוהורטה',
'save-segment': 'שמור מקטע',
'screen': 'מסך',
'search': 'חיפוש',
'segment': 'מקטע',
'segments': 'מקטעים',
'select': 'בחירה',
'select-date': 'בחר תאריך',
'select-role': 'בחר תפקיד',
'select-website': 'בחר אתר',
'sessions': 'הפעלות',
'sms': 'SMS',
'source': 'מקור',
'sum': 'סכום',
'support': 'תמיכה',
'switch-account': 'החלף חשבון',
'table': 'טבלה',
'team': 'צוות',
'team-id': 'מזהה צוות',
'team-manager': 'מנהל צוות',
'team-member': 'חבר צוות',
'team-name': 'שם צוות',
'team-owner': 'בעלי צוות',
'team-view-only': 'צפייה בלבד בצוות',
'team-websites': 'אתרי צוות',
'teams': 'צוותות',
'term': 'מונח חיפוש',
'theme': 'ערכת נושא',
'title': 'כותרת',
'toggle-charts': 'הצג/הסתר תרשימים',
'total': 'סה"כ',
'total-records': 'סה"כ רשומות',
'traffic': 'תעבורה',
'transactions': 'עסקאות',
'transfer': 'העברה',
'transfer-website': 'העברת אתר',
'true': 'אמת',
'type': 'סוג',
'unique': 'ייחודי',
'unique-events': 'אירועים ייחודיים',
'uniqueCustomers': 'לקוחות ייחודיים',
'untitled': 'ללא כותרת',
'update': 'עדכון',
'url': 'URL',
'user': 'משתמש',
'users': 'משתמשים',
'utm': 'UTM',
'utm-campaign': 'UTM מסע פרסום',
'utm-content': 'UTM תוכן',
'utm-description': 'עקבו אחר מסעות הפרסום שלכם באמצעות פרמטרי UTM.',
'utm-medium': 'UTM מדיה',
'utm-source': 'UTM מקור',
'utm-term': 'UTM מונח',
'value': 'ערך',
'version': 'גרסה',
'view': 'צפייה',
'view-only': 'צפייה בלבד',
'views-per-visit': 'צפיות לביקור',
'visits': 'ביקורים',
'website': 'אתר',
'website-id': 'מזהה אתר',
'window': 'חלון',
'yesterday': 'אתמול'
},
message: {
'action-confirmation': 'הקלידו {confirmation} בתיבה למטה לאישור.',
'bad-request': 'בקשה שגויה',
'collected-data': 'נתונים שנאספו',
'confirm-leave': 'האם אתם בטוחים שברצונכם לעזוב את <b>{target}</b>?',
'confirm-remove': 'האם אתם בטוחים שברצונכם להסיר את <b>{target}</b>?',
'delete-team-warning': 'מחיקת צוות תמחק גם את כל אתרי הצוות.',
'event-log': '<b>{event}</b> ב-<a>{url}</a>',
'forbidden': 'אסור',
'min-password-length': 'אורך מינימלי של {n} תווים',
'new-version-available': 'גרסה חדשה של Umami {version} זמינה!',
'no-event-data': 'אין נתוני אירועים זמינים.',
'no-team-websites': 'לצוות זה אין אתרים.',
'no-teams': 'לא יצרתם צוותות.',
'no-users': 'אין משתמשים.',
'not-found': 'לא נמצא',
'nothing-selected': 'לא נבחר דבר.',
'reset-website': 'לאיפוס אתר זה, הקלידו {confirmation} בתיבה למטה לאישור.',
'sever-error': 'שגיאת שרת',
'team-already-member': 'אתם כבר חברים בצוות.',
'team-not-found': 'צוות לא נמצא.',
'team-websites-info': 'האתרים ניתנים לצפייה על ידי כל חברי הצוות.',
'transfer-team-website-to-user': 'להעביר אתר זה לחשבון שלכם?',
'transfer-user-website-to-team': 'בחרו את הצוות אליו להעביר אתר זה.',
'transfer-website': 'העבירו את בעלות האתר לחשבון שלכם או לצוות אחר.',
'triggered-event': 'אירוע שהופעל',
'unauthorized': 'לא מורשה',
'user-deleted': 'משתמש נמחק.',
'viewed-page': 'עמוד שנצפה'
}
}
};
for (const [locale, trans] of Object.entries(translations)) {
const filePath = path.join(dir, locale + '.json');
const data = JSON.parse(fs.readFileSync(filePath, 'utf8'));
let count = 0;
for (const [section, keys] of Object.entries(trans)) {
for (const [key, value] of Object.entries(keys)) {
if (data[section] && key in data[section]) {
data[section][key] = value;
count++;
}
}
}
const sorted = {};
for (const section of Object.keys(enUS)) {
if (data[section]) {
sorted[section] = {};
for (const key of Object.keys(enUS[section])) {
if (key in data[section]) sorted[section][key] = data[section][key];
}
for (const key of Object.keys(data[section])) {
if (!(key in sorted[section])) sorted[section][key] = data[section][key];
}
}
}
fs.writeFileSync(filePath, JSON.stringify(sorted, null, 2) + '\n', 'utf8');
console.log('Updated ' + locale + ': ' + count + ' keys');
}