mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-06-30 18:46:00 +00:00
chore: prettier + lint
This commit is contained in:
+148
-74
@@ -2,16 +2,19 @@ import type { TranslationStrings } from '../types';
|
|||||||
|
|
||||||
const admin: TranslationStrings = {
|
const admin: TranslationStrings = {
|
||||||
'admin.notifications.title': 'Ειδοποιήσεις',
|
'admin.notifications.title': 'Ειδοποιήσεις',
|
||||||
'admin.notifications.hint': 'Επιλέξτε ένα κανάλι ειδοποιήσεων. Μόνο ένα μπορεί να είναι ενεργό κάθε φορά.',
|
'admin.notifications.hint':
|
||||||
|
'Επιλέξτε ένα κανάλι ειδοποιήσεων. Μόνο ένα μπορεί να είναι ενεργό κάθε φορά.',
|
||||||
'admin.notifications.none': 'Απενεργοποιημένο',
|
'admin.notifications.none': 'Απενεργοποιημένο',
|
||||||
'admin.notifications.email': 'Email (SMTP)',
|
'admin.notifications.email': 'Email (SMTP)',
|
||||||
'admin.notifications.webhook': 'Webhook',
|
'admin.notifications.webhook': 'Webhook',
|
||||||
'admin.notifications.ntfy': 'Ntfy',
|
'admin.notifications.ntfy': 'Ntfy',
|
||||||
'admin.ntfy.hint': 'Επιτρέψτε στους χρήστες να διαμορφώνουν τα δικά τους θέματα ntfy για push ειδοποιήσεις. Ορίστε τον προεπιλεγμένο server παρακάτω για να προ-συμπληρώνει τις ρυθμίσεις χρηστών.',
|
'admin.ntfy.hint':
|
||||||
|
'Επιτρέψτε στους χρήστες να διαμορφώνουν τα δικά τους θέματα ntfy για push ειδοποιήσεις. Ορίστε τον προεπιλεγμένο server παρακάτω για να προ-συμπληρώνει τις ρυθμίσεις χρηστών.',
|
||||||
'admin.notifications.save': 'Αποθήκευση ρυθμίσεων ειδοποιήσεων',
|
'admin.notifications.save': 'Αποθήκευση ρυθμίσεων ειδοποιήσεων',
|
||||||
'admin.notifications.saved': 'Οι ρυθμίσεις ειδοποιήσεων αποθηκεύτηκαν',
|
'admin.notifications.saved': 'Οι ρυθμίσεις ειδοποιήσεων αποθηκεύτηκαν',
|
||||||
'admin.notifications.testWebhook': 'Αποστολή δοκιμαστικού webhook',
|
'admin.notifications.testWebhook': 'Αποστολή δοκιμαστικού webhook',
|
||||||
'admin.notifications.testWebhookSuccess': 'Η δοκιμή webhook στάλθηκε επιτυχώς',
|
'admin.notifications.testWebhookSuccess':
|
||||||
|
'Η δοκιμή webhook στάλθηκε επιτυχώς',
|
||||||
'admin.notifications.testWebhookFailed': 'Η δοκιμή webhook απέτυχε',
|
'admin.notifications.testWebhookFailed': 'Η δοκιμή webhook απέτυχε',
|
||||||
'admin.notifications.testNtfy': 'Αποστολή δοκιμαστικού ntfy',
|
'admin.notifications.testNtfy': 'Αποστολή δοκιμαστικού ntfy',
|
||||||
'admin.notifications.testNtfySuccess': 'Η δοκιμή ntfy στάλθηκε επιτυχώς',
|
'admin.notifications.testNtfySuccess': 'Η δοκιμή ntfy στάλθηκε επιτυχώς',
|
||||||
@@ -19,36 +22,53 @@ const admin: TranslationStrings = {
|
|||||||
'admin.notifications.emailPanel.title': 'Email (SMTP)',
|
'admin.notifications.emailPanel.title': 'Email (SMTP)',
|
||||||
'admin.notifications.webhookPanel.title': 'Webhook',
|
'admin.notifications.webhookPanel.title': 'Webhook',
|
||||||
'admin.notifications.inappPanel.title': 'Εντός εφαρμογής',
|
'admin.notifications.inappPanel.title': 'Εντός εφαρμογής',
|
||||||
'admin.notifications.inappPanel.hint': 'Οι ειδοποιήσεις εντός εφαρμογής είναι πάντα ενεργές και δεν μπορούν να απενεργοποιηθούν καθολικά.',
|
'admin.notifications.inappPanel.hint':
|
||||||
|
'Οι ειδοποιήσεις εντός εφαρμογής είναι πάντα ενεργές και δεν μπορούν να απενεργοποιηθούν καθολικά.',
|
||||||
'admin.notifications.adminWebhookPanel.title': 'Webhook Διαχειριστή',
|
'admin.notifications.adminWebhookPanel.title': 'Webhook Διαχειριστή',
|
||||||
'admin.notifications.adminWebhookPanel.hint': 'Αυτό το webhook χρησιμοποιείται αποκλειστικά για ειδοποιήσεις διαχειριστή (π.χ. ειδοποιήσεις έκδοσης). Είναι ξεχωριστό από τα webhooks των χρηστών και ενεργοποιείται πάντα όταν έχει οριστεί.',
|
'admin.notifications.adminWebhookPanel.hint':
|
||||||
'admin.notifications.adminWebhookPanel.saved': 'Το URL του webhook διαχειριστή αποθηκεύτηκε',
|
'Αυτό το webhook χρησιμοποιείται αποκλειστικά για ειδοποιήσεις διαχειριστή (π.χ. ειδοποιήσεις έκδοσης). Είναι ξεχωριστό από τα webhooks των χρηστών και ενεργοποιείται πάντα όταν έχει οριστεί.',
|
||||||
'admin.notifications.adminWebhookPanel.testSuccess': 'Η δοκιμή webhook στάλθηκε επιτυχώς',
|
'admin.notifications.adminWebhookPanel.saved':
|
||||||
'admin.notifications.adminWebhookPanel.testFailed': 'Η δοκιμή webhook απέτυχε',
|
'Το URL του webhook διαχειριστή αποθηκεύτηκε',
|
||||||
'admin.notifications.adminWebhookPanel.alwaysOnHint': 'Το webhook διαχειριστή ενεργοποιείται πάντα όταν έχει διαμορφωθεί ένα URL',
|
'admin.notifications.adminWebhookPanel.testSuccess':
|
||||||
|
'Η δοκιμή webhook στάλθηκε επιτυχώς',
|
||||||
|
'admin.notifications.adminWebhookPanel.testFailed':
|
||||||
|
'Η δοκιμή webhook απέτυχε',
|
||||||
|
'admin.notifications.adminWebhookPanel.alwaysOnHint':
|
||||||
|
'Το webhook διαχειριστή ενεργοποιείται πάντα όταν έχει διαμορφωθεί ένα URL',
|
||||||
'admin.notifications.adminNtfyPanel.title': 'Ntfy Διαχειριστή',
|
'admin.notifications.adminNtfyPanel.title': 'Ntfy Διαχειριστή',
|
||||||
'admin.notifications.adminNtfyPanel.hint': 'Αυτό το θέμα ntfy χρησιμοποιείται αποκλειστικά για ειδοποιήσεις διαχειριστή (π.χ. ειδοποιήσεις έκδοσης). Είναι ξεχωριστό από τα θέματα των χρηστών και ενεργοποιείται πάντα όταν έχει διαμορφωθεί.',
|
'admin.notifications.adminNtfyPanel.hint':
|
||||||
|
'Αυτό το θέμα ntfy χρησιμοποιείται αποκλειστικά για ειδοποιήσεις διαχειριστή (π.χ. ειδοποιήσεις έκδοσης). Είναι ξεχωριστό από τα θέματα των χρηστών και ενεργοποιείται πάντα όταν έχει διαμορφωθεί.',
|
||||||
'admin.notifications.adminNtfyPanel.serverLabel': 'URL Ntfy Server',
|
'admin.notifications.adminNtfyPanel.serverLabel': 'URL Ntfy Server',
|
||||||
'admin.notifications.adminNtfyPanel.serverHint': 'Χρησιμοποιείται επίσης ως ο προεπιλεγμένος server για τις ντόπιες ntfy ειδοποιήσεις χρηστών. Αφήστε κενό για προεπιλογή ntfy.sh. Οι χρήστες μπορούν να το παρακάμψουν στις δικές τους ρυθμίσεις.',
|
'admin.notifications.adminNtfyPanel.serverHint':
|
||||||
|
'Χρησιμοποιείται επίσης ως ο προεπιλεγμένος server για τις ντόπιες ntfy ειδοποιήσεις χρηστών. Αφήστε κενό για προεπιλογή ntfy.sh. Οι χρήστες μπορούν να το παρακάμψουν στις δικές τους ρυθμίσεις.',
|
||||||
'admin.notifications.adminNtfyPanel.serverPlaceholder': 'https://ntfy.sh',
|
'admin.notifications.adminNtfyPanel.serverPlaceholder': 'https://ntfy.sh',
|
||||||
'admin.notifications.adminNtfyPanel.topicLabel': 'Θέμα Διαχειριστή',
|
'admin.notifications.adminNtfyPanel.topicLabel': 'Θέμα Διαχειριστή',
|
||||||
'admin.notifications.adminNtfyPanel.topicPlaceholder': 'trek-admin-alerts',
|
'admin.notifications.adminNtfyPanel.topicPlaceholder': 'trek-admin-alerts',
|
||||||
'admin.notifications.adminNtfyPanel.tokenLabel': 'Access Token (προαιρετικό)',
|
'admin.notifications.adminNtfyPanel.tokenLabel': 'Access Token (προαιρετικό)',
|
||||||
'admin.notifications.adminNtfyPanel.tokenCleared': 'Το access token διαχειριστή εκκαθαρίστηκε',
|
'admin.notifications.adminNtfyPanel.tokenCleared':
|
||||||
'admin.notifications.adminNtfyPanel.saved': 'Οι ρυθμίσεις ntfy διαχειριστή αποθηκεύτηκαν',
|
'Το access token διαχειριστή εκκαθαρίστηκε',
|
||||||
|
'admin.notifications.adminNtfyPanel.saved':
|
||||||
|
'Οι ρυθμίσεις ntfy διαχειριστή αποθηκεύτηκαν',
|
||||||
'admin.notifications.adminNtfyPanel.test': 'Αποστολή δοκιμαστικού ntfy',
|
'admin.notifications.adminNtfyPanel.test': 'Αποστολή δοκιμαστικού ntfy',
|
||||||
'admin.notifications.adminNtfyPanel.testSuccess': 'Η δοκιμή ntfy στάλθηκε επιτυχώς',
|
'admin.notifications.adminNtfyPanel.testSuccess':
|
||||||
|
'Η δοκιμή ntfy στάλθηκε επιτυχώς',
|
||||||
'admin.notifications.adminNtfyPanel.testFailed': 'Η δοκιμή ntfy απέτυχε',
|
'admin.notifications.adminNtfyPanel.testFailed': 'Η δοκιμή ntfy απέτυχε',
|
||||||
'admin.notifications.adminNtfyPanel.alwaysOnHint': 'Το ntfy διαχειριστή ενεργοποιείται πάντα όταν έχει διαμορφωθεί ένα θέμα',
|
'admin.notifications.adminNtfyPanel.alwaysOnHint':
|
||||||
'admin.notifications.adminNotificationsHint': 'Διαμορφώστε ποια κανάλια παραδίδουν ειδοποιήσεις μόνο για διαχειριστές (π.χ. ειδοποιήσεις έκδοσης).',
|
'Το ntfy διαχειριστή ενεργοποιείται πάντα όταν έχει διαμορφωθεί ένα θέμα',
|
||||||
|
'admin.notifications.adminNotificationsHint':
|
||||||
|
'Διαμορφώστε ποια κανάλια παραδίδουν ειδοποιήσεις μόνο για διαχειριστές (π.χ. ειδοποιήσεις έκδοσης).',
|
||||||
'admin.notifications.tripReminders.title': 'Υπενθυμίσεις Ταξιδιού',
|
'admin.notifications.tripReminders.title': 'Υπενθυμίσεις Ταξιδιού',
|
||||||
'admin.notifications.tripReminders.hint': 'Αποστολή ειδοποίησης υπενθύμισης πριν την έναρξη ενός ταξιδιού (απαιτεί να έχουν οριστεί ημέρες υπενθύμισης στο ταξίδι).',
|
'admin.notifications.tripReminders.hint':
|
||||||
'admin.notifications.tripReminders.enabled': 'Οι υπενθυμίσεις ταξιδιού ενεργοποιήθηκαν',
|
'Αποστολή ειδοποίησης υπενθύμισης πριν την έναρξη ενός ταξιδιού (απαιτεί να έχουν οριστεί ημέρες υπενθύμισης στο ταξίδι).',
|
||||||
'admin.notifications.tripReminders.disabled': 'Οι υπενθυμίσεις ταξιδιού απενεργοποιήθηκαν',
|
'admin.notifications.tripReminders.enabled':
|
||||||
|
'Οι υπενθυμίσεις ταξιδιού ενεργοποιήθηκαν',
|
||||||
|
'admin.notifications.tripReminders.disabled':
|
||||||
|
'Οι υπενθυμίσεις ταξιδιού απενεργοποιήθηκαν',
|
||||||
'admin.smtp.title': 'Email & Ειδοποιήσεις',
|
'admin.smtp.title': 'Email & Ειδοποιήσεις',
|
||||||
'admin.smtp.hint': 'Διαμόρφωση SMTP για αποστολή ειδοποιήσεων email.',
|
'admin.smtp.hint': 'Διαμόρφωση SMTP για αποστολή ειδοποιήσεων email.',
|
||||||
'admin.smtp.testButton': 'Αποστολή δοκιμαστικού email',
|
'admin.smtp.testButton': 'Αποστολή δοκιμαστικού email',
|
||||||
'admin.webhook.hint': 'Επιτρέψτε στους χρήστες να διαμορφώνουν τα δικά τους webhook URLs για ειδοποιήσεις (Discord, Slack, κ.λπ.).',
|
'admin.webhook.hint':
|
||||||
|
'Επιτρέψτε στους χρήστες να διαμορφώνουν τα δικά τους webhook URLs για ειδοποιήσεις (Discord, Slack, κ.λπ.).',
|
||||||
'admin.smtp.testSuccess': 'Το δοκιμαστικό email στάλθηκε επιτυχώς',
|
'admin.smtp.testSuccess': 'Το δοκιμαστικό email στάλθηκε επιτυχώς',
|
||||||
'admin.smtp.testFailed': 'Το δοκιμαστικό email απέτυχε',
|
'admin.smtp.testFailed': 'Το δοκιμαστικό email απέτυχε',
|
||||||
'admin.title': 'Διαχείριση',
|
'admin.title': 'Διαχείριση',
|
||||||
@@ -73,7 +93,8 @@ const admin: TranslationStrings = {
|
|||||||
'admin.editUser': 'Επεξεργασία Χρήστη',
|
'admin.editUser': 'Επεξεργασία Χρήστη',
|
||||||
'admin.newPassword': 'Νέος Κωδικός',
|
'admin.newPassword': 'Νέος Κωδικός',
|
||||||
'admin.newPasswordHint': 'Αφήστε κενό για να διατηρηθεί ο τρέχων κωδικός',
|
'admin.newPasswordHint': 'Αφήστε κενό για να διατηρηθεί ο τρέχων κωδικός',
|
||||||
'admin.deleteUser': 'Διαγραφή χρήστη "{name}"; Όλα τα ταξίδια θα διαγραφούν μόνιμα.',
|
'admin.deleteUser':
|
||||||
|
'Διαγραφή χρήστη "{name}"; Όλα τα ταξίδια θα διαγραφούν μόνιμα.',
|
||||||
'admin.deleteUserTitle': 'Διαγραφή χρήστη',
|
'admin.deleteUserTitle': 'Διαγραφή χρήστη',
|
||||||
'admin.newPasswordPlaceholder': 'Εισάγετε νέο κωδικό…',
|
'admin.newPasswordPlaceholder': 'Εισάγετε νέο κωδικό…',
|
||||||
'admin.toast.loadError': 'Αποτυχία φόρτωσης δεδομένων διαχείρισης',
|
'admin.toast.loadError': 'Αποτυχία φόρτωσης δεδομένων διαχείρισης',
|
||||||
@@ -81,10 +102,12 @@ const admin: TranslationStrings = {
|
|||||||
'admin.toast.updateError': 'Αποτυχία ενημέρωσης',
|
'admin.toast.updateError': 'Αποτυχία ενημέρωσης',
|
||||||
'admin.toast.userDeleted': 'Ο χρήστης διαγράφηκε',
|
'admin.toast.userDeleted': 'Ο χρήστης διαγράφηκε',
|
||||||
'admin.toast.deleteError': 'Αποτυχία διαγραφής',
|
'admin.toast.deleteError': 'Αποτυχία διαγραφής',
|
||||||
'admin.toast.cannotDeleteSelf': 'Δεν μπορείτε να διαγράψετε τον δικό σας λογαριασμό',
|
'admin.toast.cannotDeleteSelf':
|
||||||
|
'Δεν μπορείτε να διαγράψετε τον δικό σας λογαριασμό',
|
||||||
'admin.toast.userCreated': 'Ο χρήστης δημιουργήθηκε',
|
'admin.toast.userCreated': 'Ο χρήστης δημιουργήθηκε',
|
||||||
'admin.toast.createError': 'Αποτυχία δημιουργίας χρήστη',
|
'admin.toast.createError': 'Αποτυχία δημιουργίας χρήστη',
|
||||||
'admin.toast.fieldsRequired': 'Το όνομα χρήστη, το email και ο κωδικός είναι υποχρεωτικά',
|
'admin.toast.fieldsRequired':
|
||||||
|
'Το όνομα χρήστη, το email και ο κωδικός είναι υποχρεωτικά',
|
||||||
'admin.createUser': 'Δημιουργία Χρήστη',
|
'admin.createUser': 'Δημιουργία Χρήστη',
|
||||||
'admin.invite.title': 'Σύνδεσμοι Πρόσκλησης',
|
'admin.invite.title': 'Σύνδεσμοι Πρόσκλησης',
|
||||||
'admin.invite.subtitle': 'Δημιουργία συνδέσμων εγγραφής μίας χρήσης',
|
'admin.invite.subtitle': 'Δημιουργία συνδέσμων εγγραφής μίας χρήσης',
|
||||||
@@ -106,25 +129,35 @@ const admin: TranslationStrings = {
|
|||||||
'admin.invite.deleteError': 'Αποτυχία διαγραφής συνδέσμου πρόσκλησης',
|
'admin.invite.deleteError': 'Αποτυχία διαγραφής συνδέσμου πρόσκλησης',
|
||||||
'admin.tabs.settings': 'Ρυθμίσεις',
|
'admin.tabs.settings': 'Ρυθμίσεις',
|
||||||
'admin.allowRegistration': 'Να επιτρέπονται οι εγγραφές',
|
'admin.allowRegistration': 'Να επιτρέπονται οι εγγραφές',
|
||||||
'admin.allowRegistrationHint': 'Οι νέοι χρήστες μπορούν να εγγράφονται μόνοι τους',
|
'admin.allowRegistrationHint':
|
||||||
|
'Οι νέοι χρήστες μπορούν να εγγράφονται μόνοι τους',
|
||||||
'admin.authMethods': 'Μέθοδοι Ελέγχου Ταυτότητας',
|
'admin.authMethods': 'Μέθοδοι Ελέγχου Ταυτότητας',
|
||||||
'admin.passwordLogin': 'Σύνδεση με Κωδικό',
|
'admin.passwordLogin': 'Σύνδεση με Κωδικό',
|
||||||
'admin.passwordLoginHint': 'Επιτρέψτε στους χρήστες να συνδέονται με email και κωδικό',
|
'admin.passwordLoginHint':
|
||||||
|
'Επιτρέψτε στους χρήστες να συνδέονται με email και κωδικό',
|
||||||
'admin.passwordRegistration': 'Εγγραφή με Κωδικό',
|
'admin.passwordRegistration': 'Εγγραφή με Κωδικό',
|
||||||
'admin.passwordRegistrationHint': 'Επιτρέψτε σε νέους χρήστες να εγγράφονται με email και κωδικό',
|
'admin.passwordRegistrationHint':
|
||||||
|
'Επιτρέψτε σε νέους χρήστες να εγγράφονται με email και κωδικό',
|
||||||
'admin.oidcLogin': 'Σύνδεση SSO',
|
'admin.oidcLogin': 'Σύνδεση SSO',
|
||||||
'admin.oidcLoginHint': 'Επιτρέψτε στους χρήστες να συνδέονται με SSO',
|
'admin.oidcLoginHint': 'Επιτρέψτε στους χρήστες να συνδέονται με SSO',
|
||||||
'admin.oidcRegistration': 'Αυτόματη Δημιουργία SSO',
|
'admin.oidcRegistration': 'Αυτόματη Δημιουργία SSO',
|
||||||
'admin.oidcRegistrationHint': 'Αυτόματη δημιουργία λογαριασμών για νέους χρήστες SSO',
|
'admin.oidcRegistrationHint':
|
||||||
'admin.envOverrideHint': 'Οι ρυθμίσεις σύνδεσης με κωδικό ελέγχονται από τη μεταβλητή περιβάλλοντος OIDC_ONLY και δεν μπορούν να αλλάξουν εδώ.',
|
'Αυτόματη δημιουργία λογαριασμών για νέους χρήστες SSO',
|
||||||
'admin.lockoutWarning': 'Πρέπει να παραμείνει ενεργοποιημένη τουλάχιστον μία μέθοδος σύνδεσης',
|
'admin.envOverrideHint':
|
||||||
|
'Οι ρυθμίσεις σύνδεσης με κωδικό ελέγχονται από τη μεταβλητή περιβάλλοντος OIDC_ONLY και δεν μπορούν να αλλάξουν εδώ.',
|
||||||
|
'admin.lockoutWarning':
|
||||||
|
'Πρέπει να παραμείνει ενεργοποιημένη τουλάχιστον μία μέθοδος σύνδεσης',
|
||||||
'admin.requireMfa': 'Απαίτηση ελέγχου ταυτότητας δύο παραγόντων (2FA)',
|
'admin.requireMfa': 'Απαίτηση ελέγχου ταυτότητας δύο παραγόντων (2FA)',
|
||||||
'admin.requireMfaHint': 'Οι χρήστες χωρίς 2FA πρέπει να ολοκληρώσουν τη ρύθμιση στις Ρυθμίσεις πριν χρησιμοποιήσουν την εφαρμογή.',
|
'admin.requireMfaHint':
|
||||||
|
'Οι χρήστες χωρίς 2FA πρέπει να ολοκληρώσουν τη ρύθμιση στις Ρυθμίσεις πριν χρησιμοποιήσουν την εφαρμογή.',
|
||||||
'admin.apiKeys': 'Κλειδιά API',
|
'admin.apiKeys': 'Κλειδιά API',
|
||||||
'admin.apiKeysHint': 'Προαιρετικά. Ενεργοποιεί εκτεταμένα δεδομένα τόπων όπως φωτογραφίες και καιρό.',
|
'admin.apiKeysHint':
|
||||||
|
'Προαιρετικά. Ενεργοποιεί εκτεταμένα δεδομένα τόπων όπως φωτογραφίες και καιρό.',
|
||||||
'admin.mapsKey': 'Google Maps API Key',
|
'admin.mapsKey': 'Google Maps API Key',
|
||||||
'admin.mapsKeyHint': 'Απαιτείται για αναζήτηση τόπων. Λάβετε το από console.cloud.google.com',
|
'admin.mapsKeyHint':
|
||||||
'admin.mapsKeyHintLong': 'Χωρίς κλειδί API, χρησιμοποιείται το OpenStreetMap για αναζήτηση τόπων. Με κλειδί Google API, μπορούν επίσης να φορτωθούν φωτογραφίες, βαθμολογίες και ώρες λειτουργίας. Λάβετε ένα στο console.cloud.google.com.',
|
'Απαιτείται για αναζήτηση τόπων. Λάβετε το από console.cloud.google.com',
|
||||||
|
'admin.mapsKeyHintLong':
|
||||||
|
'Χωρίς κλειδί API, χρησιμοποιείται το OpenStreetMap για αναζήτηση τόπων. Με κλειδί Google API, μπορούν επίσης να φορτωθούν φωτογραφίες, βαθμολογίες και ώρες λειτουργίας. Λάβετε ένα στο console.cloud.google.com.',
|
||||||
'admin.recommended': 'Συνιστάται',
|
'admin.recommended': 'Συνιστάται',
|
||||||
'admin.weatherKey': 'OpenWeatherMap API Key',
|
'admin.weatherKey': 'OpenWeatherMap API Key',
|
||||||
'admin.weatherKeyHint': 'Για δεδομένα καιρού. Δωρεάν στο openweathermap.org',
|
'admin.weatherKeyHint': 'Για δεδομένα καιρού. Δωρεάν στο openweathermap.org',
|
||||||
@@ -133,45 +166,59 @@ const admin: TranslationStrings = {
|
|||||||
'admin.keyInvalid': 'Μη έγκυρο',
|
'admin.keyInvalid': 'Μη έγκυρο',
|
||||||
'admin.keySaved': 'Τα κλειδιά API αποθηκεύτηκαν',
|
'admin.keySaved': 'Τα κλειδιά API αποθηκεύτηκαν',
|
||||||
'admin.oidcTitle': 'Ενιαία Σύνδεση (OIDC)',
|
'admin.oidcTitle': 'Ενιαία Σύνδεση (OIDC)',
|
||||||
'admin.oidcSubtitle': 'Επιτρέψτε τη σύνδεση μέσω εξωτερικών παρόχων όπως Google, Apple, Authentik ή Keycloak.',
|
'admin.oidcSubtitle':
|
||||||
|
'Επιτρέψτε τη σύνδεση μέσω εξωτερικών παρόχων όπως Google, Apple, Authentik ή Keycloak.',
|
||||||
'admin.oidcDisplayName': 'Εμφανιζόμενο Όνομα',
|
'admin.oidcDisplayName': 'Εμφανιζόμενο Όνομα',
|
||||||
'admin.oidcIssuer': 'Issuer URL',
|
'admin.oidcIssuer': 'Issuer URL',
|
||||||
'admin.oidcIssuerHint': 'Το OpenID Connect Issuer URL του παρόχου. π.χ. https://accounts.google.com',
|
'admin.oidcIssuerHint':
|
||||||
|
'Το OpenID Connect Issuer URL του παρόχου. π.χ. https://accounts.google.com',
|
||||||
'admin.oidcSaved': 'Η διαμόρφωση OIDC αποθηκεύτηκε',
|
'admin.oidcSaved': 'Η διαμόρφωση OIDC αποθηκεύτηκε',
|
||||||
'admin.oidcOnlyMode': 'Απενεργοποίηση ελέγχου ταυτότητας με κωδικό',
|
'admin.oidcOnlyMode': 'Απενεργοποίηση ελέγχου ταυτότητας με κωδικό',
|
||||||
'admin.oidcOnlyModeHint': 'Όταν είναι ενεργοποιημένο, επιτρέπεται μόνο η σύνδεση SSO. Η σύνδεση και εγγραφή με κωδικό αποκλείονται.',
|
'admin.oidcOnlyModeHint':
|
||||||
|
'Όταν είναι ενεργοποιημένο, επιτρέπεται μόνο η σύνδεση SSO. Η σύνδεση και εγγραφή με κωδικό αποκλείονται.',
|
||||||
'admin.fileTypes': 'Επιτρεπόμενοι Τύποι Αρχείων',
|
'admin.fileTypes': 'Επιτρεπόμενοι Τύποι Αρχείων',
|
||||||
'admin.fileTypesHint': 'Ρυθμίστε ποιους τύπους αρχείων μπορούν να μεταφορτώνουν οι χρήστες.',
|
'admin.fileTypesHint':
|
||||||
'admin.fileTypesFormat': 'Επεκτάσεις χωρισμένες με κόμμα (π.χ. jpg,png,pdf,doc). Χρησιμοποιήστε * για να επιτρέπονται όλοι οι τύποι.',
|
'Ρυθμίστε ποιους τύπους αρχείων μπορούν να μεταφορτώνουν οι χρήστες.',
|
||||||
|
'admin.fileTypesFormat':
|
||||||
|
'Επεκτάσεις χωρισμένες με κόμμα (π.χ. jpg,png,pdf,doc). Χρησιμοποιήστε * για να επιτρέπονται όλοι οι τύποι.',
|
||||||
'admin.fileTypesSaved': 'Οι ρυθμίσεις τύπων αρχείων αποθηκεύτηκαν',
|
'admin.fileTypesSaved': 'Οι ρυθμίσεις τύπων αρχείων αποθηκεύτηκαν',
|
||||||
'admin.placesPhotos.title': 'Φωτογραφίες Τόπων',
|
'admin.placesPhotos.title': 'Φωτογραφίες Τόπων',
|
||||||
'admin.placesPhotos.subtitle': 'Λήψη φωτογραφιών από το Google Places API. Απενεργοποιήστε για εξοικονόμηση ποσοστώσης API. Οι φωτογραφίες Wikimedia δεν επηρεάζονται.',
|
'admin.placesPhotos.subtitle':
|
||||||
|
'Λήψη φωτογραφιών από το Google Places API. Απενεργοποιήστε για εξοικονόμηση ποσοστώσης API. Οι φωτογραφίες Wikimedia δεν επηρεάζονται.',
|
||||||
'admin.placesAutocomplete.title': 'Αυτόματη Συμπλήρωση Τόπων',
|
'admin.placesAutocomplete.title': 'Αυτόματη Συμπλήρωση Τόπων',
|
||||||
'admin.placesAutocomplete.subtitle': 'Χρήση του Google Places API για προτάσεις αναζήτησης. Απενεργοποιήστε για εξοικονόμηση ποσοστώσης API.',
|
'admin.placesAutocomplete.subtitle':
|
||||||
|
'Χρήση του Google Places API για προτάσεις αναζήτησης. Απενεργοποιήστε για εξοικονόμηση ποσοστώσης API.',
|
||||||
'admin.placesDetails.title': 'Λεπτομέρειες Τόπου',
|
'admin.placesDetails.title': 'Λεπτομέρειες Τόπου',
|
||||||
'admin.placesDetails.subtitle': 'Λήψη λεπτομερών πληροφοριών τόπου (ώρες, βαθμολογία, ιστοσελίδα) από το Google Places API. Απενεργοποιήστε για εξοικονόμηση ποσοστώσης API.',
|
'admin.placesDetails.subtitle':
|
||||||
|
'Λήψη λεπτομερών πληροφοριών τόπου (ώρες, βαθμολογία, ιστοσελίδα) από το Google Places API. Απενεργοποιήστε για εξοικονόμηση ποσοστώσης API.',
|
||||||
'admin.bagTracking.title': 'Παρακολούθηση Αποσκευών',
|
'admin.bagTracking.title': 'Παρακολούθηση Αποσκευών',
|
||||||
'admin.bagTracking.subtitle': 'Ενεργοποίηση βάρους και ανάθεσης τσάντας για αντικείμενα πακεταρίσματος',
|
'admin.bagTracking.subtitle':
|
||||||
|
'Ενεργοποίηση βάρους και ανάθεσης τσάντας για αντικείμενα πακεταρίσματος',
|
||||||
'admin.collab.chat.title': 'Συνομιλία',
|
'admin.collab.chat.title': 'Συνομιλία',
|
||||||
'admin.collab.chat.subtitle': 'Μηνύματα πραγματικού χρόνου για συνεργασία ταξιδιού',
|
'admin.collab.chat.subtitle':
|
||||||
|
'Μηνύματα πραγματικού χρόνου για συνεργασία ταξιδιού',
|
||||||
'admin.collab.notes.title': 'Σημειώσεις',
|
'admin.collab.notes.title': 'Σημειώσεις',
|
||||||
'admin.collab.notes.subtitle': 'Κοινόχρηστες σημειώσεις και έγγραφα',
|
'admin.collab.notes.subtitle': 'Κοινόχρηστες σημειώσεις και έγγραφα',
|
||||||
'admin.collab.polls.title': 'Δημοσκοπήσεις',
|
'admin.collab.polls.title': 'Δημοσκοπήσεις',
|
||||||
'admin.collab.polls.subtitle': 'Ομαδικές δημοσκοπήσεις και ψηφοφορίες',
|
'admin.collab.polls.subtitle': 'Ομαδικές δημοσκοπήσεις και ψηφοφορίες',
|
||||||
'admin.collab.whatsnext.title': 'Τι Ακολουθεί',
|
'admin.collab.whatsnext.title': 'Τι Ακολουθεί',
|
||||||
'admin.collab.whatsnext.subtitle': 'Προτάσεις δραστηριοτήτων και επόμενα βήματα',
|
'admin.collab.whatsnext.subtitle':
|
||||||
|
'Προτάσεις δραστηριοτήτων και επόμενα βήματα',
|
||||||
'admin.tabs.config': 'Εξατομίκευση',
|
'admin.tabs.config': 'Εξατομίκευση',
|
||||||
'admin.tabs.defaults': 'Προεπιλογές Χρήστη',
|
'admin.tabs.defaults': 'Προεπιλογές Χρήστη',
|
||||||
'admin.defaultSettings.title': 'Προεπιλεγμένες Ρυθμίσεις Χρήστη',
|
'admin.defaultSettings.title': 'Προεπιλεγμένες Ρυθμίσεις Χρήστη',
|
||||||
'admin.defaultSettings.description': 'Ορίστε προεπιλογές για όλη την υπηρεσία. Οι χρήστες που δεν έχουν αλλάξει μια ρύθμιση θα βλέπουν αυτές τις τιμές. Οι δικές τους αλλαγές έχουν πάντα προτεραιότητα.',
|
'admin.defaultSettings.description':
|
||||||
|
'Ορίστε προεπιλογές για όλη την υπηρεσία. Οι χρήστες που δεν έχουν αλλάξει μια ρύθμιση θα βλέπουν αυτές τις τιμές. Οι δικές τους αλλαγές έχουν πάντα προτεραιότητα.',
|
||||||
'admin.defaultSettings.saved': 'Η προεπιλογή αποθηκεύτηκε',
|
'admin.defaultSettings.saved': 'Η προεπιλογή αποθηκεύτηκε',
|
||||||
'admin.defaultSettings.reset': 'Επαναφορά στην ενσωματωμένη προεπιλογή',
|
'admin.defaultSettings.reset': 'Επαναφορά στην ενσωματωμένη προεπιλογή',
|
||||||
'admin.defaultSettings.resetToBuiltIn': 'επαναφορά',
|
'admin.defaultSettings.resetToBuiltIn': 'επαναφορά',
|
||||||
'admin.tabs.templates': 'Πρότυπα Πακεταρίσματος',
|
'admin.tabs.templates': 'Πρότυπα Πακεταρίσματος',
|
||||||
'admin.packingTemplates.title': 'Πρότυπα Πακεταρίσματος',
|
'admin.packingTemplates.title': 'Πρότυπα Πακεταρίσματος',
|
||||||
'admin.packingTemplates.subtitle': 'Δημιουργήστε επαναχρησιμοποιήσιμες λίστες πακεταρίσματος για τα ταξίδια σας',
|
'admin.packingTemplates.subtitle':
|
||||||
|
'Δημιουργήστε επαναχρησιμοποιήσιμες λίστες πακεταρίσματος για τα ταξίδια σας',
|
||||||
'admin.packingTemplates.create': 'Νέο Πρότυπο',
|
'admin.packingTemplates.create': 'Νέο Πρότυπο',
|
||||||
'admin.packingTemplates.namePlaceholder': 'Όνομα προτύπου (π.χ. Διακοπές στην Παραλία)',
|
'admin.packingTemplates.namePlaceholder':
|
||||||
|
'Όνομα προτύπου (π.χ. Διακοπές στην Παραλία)',
|
||||||
'admin.packingTemplates.empty': 'Δεν έχουν δημιουργηθεί πρότυπα ακόμη',
|
'admin.packingTemplates.empty': 'Δεν έχουν δημιουργηθεί πρότυπα ακόμη',
|
||||||
'admin.packingTemplates.items': 'αντικείμενα',
|
'admin.packingTemplates.items': 'αντικείμενα',
|
||||||
'admin.packingTemplates.categories': 'κατηγορίες',
|
'admin.packingTemplates.categories': 'κατηγορίες',
|
||||||
@@ -187,24 +234,34 @@ const admin: TranslationStrings = {
|
|||||||
'admin.packingTemplates.saveError': 'Αποτυχία αποθήκευσης',
|
'admin.packingTemplates.saveError': 'Αποτυχία αποθήκευσης',
|
||||||
'admin.tabs.addons': 'Πρόσθετα',
|
'admin.tabs.addons': 'Πρόσθετα',
|
||||||
'admin.addons.title': 'Πρόσθετα',
|
'admin.addons.title': 'Πρόσθετα',
|
||||||
'admin.addons.subtitle': 'Ενεργοποιήστε ή απενεργοποιήστε λειτουργίες για να εξατομικεύσετε την εμπειρία σας στο TREK.',
|
'admin.addons.subtitle':
|
||||||
|
'Ενεργοποιήστε ή απενεργοποιήστε λειτουργίες για να εξατομικεύσετε την εμπειρία σας στο TREK.',
|
||||||
'admin.addons.catalog.packing.name': 'Λίστες',
|
'admin.addons.catalog.packing.name': 'Λίστες',
|
||||||
'admin.addons.catalog.packing.description': 'Λίστες πακεταρίσματος και εργασίες προς εκτέλεση για τα ταξίδια σας',
|
'admin.addons.catalog.packing.description':
|
||||||
|
'Λίστες πακεταρίσματος και εργασίες προς εκτέλεση για τα ταξίδια σας',
|
||||||
'admin.addons.catalog.budget.name': 'Προϋπολογισμός',
|
'admin.addons.catalog.budget.name': 'Προϋπολογισμός',
|
||||||
'admin.addons.catalog.budget.description': 'Παρακολουθήστε τα έξοδα και σχεδιάστε τον προϋπολογισμό του ταξιδιού σας',
|
'admin.addons.catalog.budget.description':
|
||||||
|
'Παρακολουθήστε τα έξοδα και σχεδιάστε τον προϋπολογισμό του ταξιδιού σας',
|
||||||
'admin.addons.catalog.documents.name': 'Έγγραφα',
|
'admin.addons.catalog.documents.name': 'Έγγραφα',
|
||||||
'admin.addons.catalog.documents.description': 'Αποθηκεύστε και διαχειριστείτε ταξιδιωτικά έγγραφα',
|
'admin.addons.catalog.documents.description':
|
||||||
|
'Αποθηκεύστε και διαχειριστείτε ταξιδιωτικά έγγραφα',
|
||||||
'admin.addons.catalog.vacay.name': 'Vacay',
|
'admin.addons.catalog.vacay.name': 'Vacay',
|
||||||
'admin.addons.catalog.vacay.description': 'Προσωπικός σχεδιαστής διακοπών με προβολή ημερολογίου',
|
'admin.addons.catalog.vacay.description':
|
||||||
|
'Προσωπικός σχεδιαστής διακοπών με προβολή ημερολογίου',
|
||||||
'admin.addons.catalog.atlas.name': 'Atlas',
|
'admin.addons.catalog.atlas.name': 'Atlas',
|
||||||
'admin.addons.catalog.atlas.description': 'Παγκόσμιος χάρτης με χώρες που έχετε επισκεφθεί και ταξιδιωτικά στατιστικά',
|
'admin.addons.catalog.atlas.description':
|
||||||
|
'Παγκόσμιος χάρτης με χώρες που έχετε επισκεφθεί και ταξιδιωτικά στατιστικά',
|
||||||
'admin.addons.catalog.collab.name': 'Collab',
|
'admin.addons.catalog.collab.name': 'Collab',
|
||||||
'admin.addons.catalog.collab.description': 'Σημειώσεις, δημοσκοπήσεις και συνομιλία πραγματικού χρόνου για σχεδιασμό ταξιδιού',
|
'admin.addons.catalog.collab.description':
|
||||||
|
'Σημειώσεις, δημοσκοπήσεις και συνομιλία πραγματικού χρόνου για σχεδιασμό ταξιδιού',
|
||||||
'admin.addons.catalog.memories.name': 'Φωτογραφίες (Immich)',
|
'admin.addons.catalog.memories.name': 'Φωτογραφίες (Immich)',
|
||||||
'admin.addons.catalog.memories.description': 'Μοιραστείτε φωτογραφίες ταξιδιού μέσω της δικής σας εγκατάστασης Immich',
|
'admin.addons.catalog.memories.description':
|
||||||
|
'Μοιραστείτε φωτογραφίες ταξιδιού μέσω της δικής σας εγκατάστασης Immich',
|
||||||
'admin.addons.catalog.mcp.name': 'MCP',
|
'admin.addons.catalog.mcp.name': 'MCP',
|
||||||
'admin.addons.catalog.mcp.description': 'Model Context Protocol για ενσωμάτωση βοηθού AI',
|
'admin.addons.catalog.mcp.description':
|
||||||
'admin.addons.subtitleBefore': 'Ενεργοποιήστε ή απενεργοποιήστε λειτουργίες για να εξατομικεύσετε την εμπειρία σας στο ',
|
'Model Context Protocol για ενσωμάτωση βοηθού AI',
|
||||||
|
'admin.addons.subtitleBefore':
|
||||||
|
'Ενεργοποιήστε ή απενεργοποιήστε λειτουργίες για να εξατομικεύσετε την εμπειρία σας στο ',
|
||||||
'admin.addons.subtitleAfter': '.',
|
'admin.addons.subtitleAfter': '.',
|
||||||
'admin.addons.enabled': 'Ενεργοποιημένο',
|
'admin.addons.enabled': 'Ενεργοποιημένο',
|
||||||
'admin.addons.disabled': 'Απενεργοποιημένο',
|
'admin.addons.disabled': 'Απενεργοποιημένο',
|
||||||
@@ -212,24 +269,30 @@ const admin: TranslationStrings = {
|
|||||||
'admin.addons.type.global': 'Καθολικό',
|
'admin.addons.type.global': 'Καθολικό',
|
||||||
'admin.addons.type.integration': 'Ενσωμάτωση',
|
'admin.addons.type.integration': 'Ενσωμάτωση',
|
||||||
'admin.addons.tripHint': 'Διαθέσιμο ως καρτέλα μέσα σε κάθε ταξίδι',
|
'admin.addons.tripHint': 'Διαθέσιμο ως καρτέλα μέσα σε κάθε ταξίδι',
|
||||||
'admin.addons.globalHint': 'Διαθέσιμο ως αυτόνομη ενότητα στην κύρια πλοήγηση',
|
'admin.addons.globalHint':
|
||||||
'admin.addons.integrationHint': 'Υπηρεσίες backend και ενσωματώσεις API χωρίς ειδική σελίδα',
|
'Διαθέσιμο ως αυτόνομη ενότητα στην κύρια πλοήγηση',
|
||||||
|
'admin.addons.integrationHint':
|
||||||
|
'Υπηρεσίες backend και ενσωματώσεις API χωρίς ειδική σελίδα',
|
||||||
'admin.addons.toast.updated': 'Το πρόσθετο ενημερώθηκε',
|
'admin.addons.toast.updated': 'Το πρόσθετο ενημερώθηκε',
|
||||||
'admin.addons.toast.error': 'Αποτυχία ενημέρωσης προσθέτου',
|
'admin.addons.toast.error': 'Αποτυχία ενημέρωσης προσθέτου',
|
||||||
'admin.addons.noAddons': 'Δεν υπάρχουν διαθέσιμα πρόσθετα',
|
'admin.addons.noAddons': 'Δεν υπάρχουν διαθέσιμα πρόσθετα',
|
||||||
'admin.weather.title': 'Δεδομένα Καιρού',
|
'admin.weather.title': 'Δεδομένα Καιρού',
|
||||||
'admin.weather.badge': 'Από 24 Μαρτίου 2026',
|
'admin.weather.badge': 'Από 24 Μαρτίου 2026',
|
||||||
'admin.weather.description': 'Το TREK χρησιμοποιεί το Open-Meteo ως πηγή δεδομένων καιρού. Το Open-Meteo είναι μια δωρεάν, ανοιχτού κώδικα υπηρεσία καιρού — δεν απαιτείται κλειδί API.',
|
'admin.weather.description':
|
||||||
|
'Το TREK χρησιμοποιεί το Open-Meteo ως πηγή δεδομένων καιρού. Το Open-Meteo είναι μια δωρεάν, ανοιχτού κώδικα υπηρεσία καιρού — δεν απαιτείται κλειδί API.',
|
||||||
'admin.weather.forecast': 'Πρόγνωση 16 ημερών',
|
'admin.weather.forecast': 'Πρόγνωση 16 ημερών',
|
||||||
'admin.weather.forecastDesc': 'Προηγουμένως 5 ημέρες (OpenWeatherMap)',
|
'admin.weather.forecastDesc': 'Προηγουμένως 5 ημέρες (OpenWeatherMap)',
|
||||||
'admin.weather.climate': 'Ιστορικά δεδομένα κλίματος',
|
'admin.weather.climate': 'Ιστορικά δεδομένα κλίματος',
|
||||||
'admin.weather.climateDesc': 'Μέσοι όροι από τα τελευταία 85 χρόνια για ημέρες πέρα από την πρόγνωση 16 ημερών',
|
'admin.weather.climateDesc':
|
||||||
|
'Μέσοι όροι από τα τελευταία 85 χρόνια για ημέρες πέρα από την πρόγνωση 16 ημερών',
|
||||||
'admin.weather.requests': '10.000 αιτήματα / ημέρα',
|
'admin.weather.requests': '10.000 αιτήματα / ημέρα',
|
||||||
'admin.weather.requestsDesc': 'Δωρεάν, δεν απαιτείται κλειδί API',
|
'admin.weather.requestsDesc': 'Δωρεάν, δεν απαιτείται κλειδί API',
|
||||||
'admin.weather.locationHint': 'Ο καιρός βασίζεται στον πρώτο τόπο με συντεταγμένες σε κάθε ημέρα. Αν δεν έχει ανατεθεί τόπος σε μια ημέρα, χρησιμοποιείται ως αναφορά οποιοσδήποτε τόπος από τη λίστα.',
|
'admin.weather.locationHint':
|
||||||
|
'Ο καιρός βασίζεται στον πρώτο τόπο με συντεταγμένες σε κάθε ημέρα. Αν δεν έχει ανατεθεί τόπος σε μια ημέρα, χρησιμοποιείται ως αναφορά οποιοσδήποτε τόπος από τη λίστα.',
|
||||||
'admin.tabs.mcpTokens': 'Πρόσβαση MCP',
|
'admin.tabs.mcpTokens': 'Πρόσβαση MCP',
|
||||||
'admin.mcpTokens.title': 'Πρόσβαση MCP',
|
'admin.mcpTokens.title': 'Πρόσβαση MCP',
|
||||||
'admin.mcpTokens.subtitle': 'Διαχείριση συνεδριών OAuth και διακριτικών API για όλους τους χρήστες',
|
'admin.mcpTokens.subtitle':
|
||||||
|
'Διαχείριση συνεδριών OAuth και διακριτικών API για όλους τους χρήστες',
|
||||||
'admin.mcpTokens.sectionTitle': 'Διακριτικά API',
|
'admin.mcpTokens.sectionTitle': 'Διακριτικά API',
|
||||||
'admin.mcpTokens.owner': 'Κάτοχος',
|
'admin.mcpTokens.owner': 'Κάτοχος',
|
||||||
'admin.mcpTokens.tokenName': 'Όνομα Διακριτικού',
|
'admin.mcpTokens.tokenName': 'Όνομα Διακριτικού',
|
||||||
@@ -238,7 +301,8 @@ const admin: TranslationStrings = {
|
|||||||
'admin.mcpTokens.never': 'Ποτέ',
|
'admin.mcpTokens.never': 'Ποτέ',
|
||||||
'admin.mcpTokens.empty': 'Δεν έχουν δημιουργηθεί διακριτικά MCP ακόμη',
|
'admin.mcpTokens.empty': 'Δεν έχουν δημιουργηθεί διακριτικά MCP ακόμη',
|
||||||
'admin.mcpTokens.deleteTitle': 'Διαγραφή Διακριτικού',
|
'admin.mcpTokens.deleteTitle': 'Διαγραφή Διακριτικού',
|
||||||
'admin.mcpTokens.deleteMessage': 'Αυτό θα ανακαλέσει το διακριτικό άμεσα. Ο χρήστης θα χάσει την πρόσβαση MCP μέσω αυτού του διακριτικού.',
|
'admin.mcpTokens.deleteMessage':
|
||||||
|
'Αυτό θα ανακαλέσει το διακριτικό άμεσα. Ο χρήστης θα χάσει την πρόσβαση MCP μέσω αυτού του διακριτικού.',
|
||||||
'admin.mcpTokens.deleteSuccess': 'Το διακριτικό διαγράφηκε',
|
'admin.mcpTokens.deleteSuccess': 'Το διακριτικό διαγράφηκε',
|
||||||
'admin.mcpTokens.deleteError': 'Αποτυχία διαγραφής διακριτικού',
|
'admin.mcpTokens.deleteError': 'Αποτυχία διαγραφής διακριτικού',
|
||||||
'admin.mcpTokens.loadError': 'Αποτυχία φόρτωσης διακριτικών',
|
'admin.mcpTokens.loadError': 'Αποτυχία φόρτωσης διακριτικών',
|
||||||
@@ -249,12 +313,14 @@ const admin: TranslationStrings = {
|
|||||||
'admin.oauthSessions.created': 'Δημιουργήθηκε',
|
'admin.oauthSessions.created': 'Δημιουργήθηκε',
|
||||||
'admin.oauthSessions.empty': 'Δεν υπάρχουν ενεργές συνεδρίες OAuth',
|
'admin.oauthSessions.empty': 'Δεν υπάρχουν ενεργές συνεδρίες OAuth',
|
||||||
'admin.oauthSessions.revokeTitle': 'Ανάκληση Συνεδρίας',
|
'admin.oauthSessions.revokeTitle': 'Ανάκληση Συνεδρίας',
|
||||||
'admin.oauthSessions.revokeMessage': 'Αυτό θα ανακαλέσει τη συνεδρία OAuth άμεσα. Ο πελάτης θα χάσει την πρόσβαση MCP.',
|
'admin.oauthSessions.revokeMessage':
|
||||||
|
'Αυτό θα ανακαλέσει τη συνεδρία OAuth άμεσα. Ο πελάτης θα χάσει την πρόσβαση MCP.',
|
||||||
'admin.oauthSessions.revokeSuccess': 'Η συνεδρία ανακλήθηκε',
|
'admin.oauthSessions.revokeSuccess': 'Η συνεδρία ανακλήθηκε',
|
||||||
'admin.oauthSessions.revokeError': 'Αποτυχία ανάκλησης συνεδρίας',
|
'admin.oauthSessions.revokeError': 'Αποτυχία ανάκλησης συνεδρίας',
|
||||||
'admin.oauthSessions.loadError': 'Αποτυχία φόρτωσης συνεδριών OAuth',
|
'admin.oauthSessions.loadError': 'Αποτυχία φόρτωσης συνεδριών OAuth',
|
||||||
'admin.tabs.github': 'GitHub',
|
'admin.tabs.github': 'GitHub',
|
||||||
'admin.audit.subtitle': 'Συμβάντα ασφαλείας και διαχείρισης (αντίγραφα ασφαλείας, χρήστες, MFA, ρυθμίσεις).',
|
'admin.audit.subtitle':
|
||||||
|
'Συμβάντα ασφαλείας και διαχείρισης (αντίγραφα ασφαλείας, χρήστες, MFA, ρυθμίσεις).',
|
||||||
'admin.audit.empty': 'Δεν υπάρχουν εγγραφές ελέγχου ακόμη.',
|
'admin.audit.empty': 'Δεν υπάρχουν εγγραφές ελέγχου ακόμη.',
|
||||||
'admin.audit.refresh': 'Ανανέωση',
|
'admin.audit.refresh': 'Ανανέωση',
|
||||||
'admin.audit.loadMore': 'Φόρτωση περισσότερων',
|
'admin.audit.loadMore': 'Φόρτωση περισσότερων',
|
||||||
@@ -277,24 +343,32 @@ const admin: TranslationStrings = {
|
|||||||
'admin.github.by': 'από',
|
'admin.github.by': 'από',
|
||||||
'admin.github.support': 'Βοηθά να συνεχίσω την ανάπτυξη του TREK',
|
'admin.github.support': 'Βοηθά να συνεχίσω την ανάπτυξη του TREK',
|
||||||
'admin.update.available': 'Διαθέσιμη ενημέρωση',
|
'admin.update.available': 'Διαθέσιμη ενημέρωση',
|
||||||
'admin.update.text': 'Το TREK {version} είναι διαθέσιμο. Εκτελείτε το {current}.',
|
'admin.update.text':
|
||||||
|
'Το TREK {version} είναι διαθέσιμο. Εκτελείτε το {current}.',
|
||||||
'admin.update.button': 'Προβολή στο GitHub',
|
'admin.update.button': 'Προβολή στο GitHub',
|
||||||
'admin.update.install': 'Εγκατάσταση Ενημέρωσης',
|
'admin.update.install': 'Εγκατάσταση Ενημέρωσης',
|
||||||
'admin.update.confirmTitle': 'Εγκατάσταση Ενημέρωσης;',
|
'admin.update.confirmTitle': 'Εγκατάσταση Ενημέρωσης;',
|
||||||
'admin.update.confirmText': 'Το TREK θα ενημερωθεί από {current} σε {version}. Ο server θα επανεκκινήσει αυτόματα στη συνέχεια.',
|
'admin.update.confirmText':
|
||||||
'admin.update.dataInfo': 'Όλα τα δεδομένα σας (ταξίδια, χρήστες, κλειδιά API, μεταφορτώσεις, Vacay, Atlas, προϋπολογισμοί) θα διατηρηθούν.',
|
'Το TREK θα ενημερωθεί από {current} σε {version}. Ο server θα επανεκκινήσει αυτόματα στη συνέχεια.',
|
||||||
'admin.update.warning': 'Η εφαρμογή θα είναι σύντομα μη διαθέσιμη κατά την επανεκκίνηση.',
|
'admin.update.dataInfo':
|
||||||
|
'Όλα τα δεδομένα σας (ταξίδια, χρήστες, κλειδιά API, μεταφορτώσεις, Vacay, Atlas, προϋπολογισμοί) θα διατηρηθούν.',
|
||||||
|
'admin.update.warning':
|
||||||
|
'Η εφαρμογή θα είναι σύντομα μη διαθέσιμη κατά την επανεκκίνηση.',
|
||||||
'admin.update.confirm': 'Ενημέρωση Τώρα',
|
'admin.update.confirm': 'Ενημέρωση Τώρα',
|
||||||
'admin.update.installing': 'Ενημέρωση…',
|
'admin.update.installing': 'Ενημέρωση…',
|
||||||
'admin.update.success': 'Η ενημέρωση εγκαταστάθηκε! Ο server επανεκκινεί…',
|
'admin.update.success': 'Η ενημέρωση εγκαταστάθηκε! Ο server επανεκκινεί…',
|
||||||
'admin.update.failed': 'Η ενημέρωση απέτυχε',
|
'admin.update.failed': 'Η ενημέρωση απέτυχε',
|
||||||
'admin.update.backupHint': 'Συνιστούμε να δημιουργήσετε ένα αντίγραφο ασφαλείας πριν την ενημέρωση.',
|
'admin.update.backupHint':
|
||||||
|
'Συνιστούμε να δημιουργήσετε ένα αντίγραφο ασφαλείας πριν την ενημέρωση.',
|
||||||
'admin.update.backupLink': 'Μετάβαση στο Αντίγραφο Ασφαλείας',
|
'admin.update.backupLink': 'Μετάβαση στο Αντίγραφο Ασφαλείας',
|
||||||
'admin.update.howTo': 'Πώς να Ενημερώσετε',
|
'admin.update.howTo': 'Πώς να Ενημερώσετε',
|
||||||
'admin.update.dockerText': 'Η εγκατάστασή σας TREK εκτελείται σε Docker. Για να ενημερωθείτε στο {version}, εκτελέστε τις ακόλουθες εντολές στον server σας:',
|
'admin.update.dockerText':
|
||||||
'admin.update.reloadHint': 'Παρακαλώ ανανεώστε τη σελίδα σε λίγα δευτερόλεπτα.',
|
'Η εγκατάστασή σας TREK εκτελείται σε Docker. Για να ενημερωθείτε στο {version}, εκτελέστε τις ακόλουθες εντολές στον server σας:',
|
||||||
|
'admin.update.reloadHint':
|
||||||
|
'Παρακαλώ ανανεώστε τη σελίδα σε λίγα δευτερόλεπτα.',
|
||||||
'admin.tabs.permissions': 'Δικαιώματα',
|
'admin.tabs.permissions': 'Δικαιώματα',
|
||||||
'admin.addons.catalog.journey.name': 'Ταξίδι',
|
'admin.addons.catalog.journey.name': 'Ταξίδι',
|
||||||
'admin.addons.catalog.journey.description': 'Παρακολούθηση ταξιδιών & ημερολόγιο ταξιδιών με αφίξεις, φωτογραφίες και καθημερινές ιστορίες',
|
'admin.addons.catalog.journey.description':
|
||||||
|
'Παρακολούθηση ταξιδιών & ημερολόγιο ταξιδιών με αφίξεις, φωτογραφίες και καθημερινές ιστορίες',
|
||||||
};
|
};
|
||||||
export default admin;
|
export default admin;
|
||||||
|
|||||||
@@ -8,10 +8,12 @@ const atlas: TranslationStrings = {
|
|||||||
'atlas.unmark': 'Αφαίρεση',
|
'atlas.unmark': 'Αφαίρεση',
|
||||||
'atlas.confirmMark': 'Σήμανση αυτής της χώρας ως επισκεφθείσας;',
|
'atlas.confirmMark': 'Σήμανση αυτής της χώρας ως επισκεφθείσας;',
|
||||||
'atlas.confirmUnmark': 'Αφαίρεση αυτής της χώρας από τη λίστα επισκεφθέντων;',
|
'atlas.confirmUnmark': 'Αφαίρεση αυτής της χώρας από τη λίστα επισκεφθέντων;',
|
||||||
'atlas.confirmUnmarkRegion': 'Αφαίρεση αυτής της περιοχής από τη λίστα επισκεφθέντων;',
|
'atlas.confirmUnmarkRegion':
|
||||||
|
'Αφαίρεση αυτής της περιοχής από τη λίστα επισκεφθέντων;',
|
||||||
'atlas.markVisited': 'Σήμανση ως επισκεφθείσα',
|
'atlas.markVisited': 'Σήμανση ως επισκεφθείσα',
|
||||||
'atlas.markVisitedHint': 'Προσθέστε αυτή τη χώρα στη λίστα επισκεφθέντων',
|
'atlas.markVisitedHint': 'Προσθέστε αυτή τη χώρα στη λίστα επισκεφθέντων',
|
||||||
'atlas.markRegionVisitedHint': 'Προσθέστε αυτή την περιοχή στη λίστα επισκεφθέντων',
|
'atlas.markRegionVisitedHint':
|
||||||
|
'Προσθέστε αυτή την περιοχή στη λίστα επισκεφθέντων',
|
||||||
'atlas.addToBucket': 'Προσθήκη στη λίστα επιθυμιών',
|
'atlas.addToBucket': 'Προσθήκη στη λίστα επιθυμιών',
|
||||||
'atlas.addPoi': 'Προσθήκη μέρους',
|
'atlas.addPoi': 'Προσθήκη μέρους',
|
||||||
'atlas.searchCountry': 'Αναζήτηση χώρας...',
|
'atlas.searchCountry': 'Αναζήτηση χώρας...',
|
||||||
@@ -30,7 +32,8 @@ const atlas: TranslationStrings = {
|
|||||||
'atlas.visitedCountries': 'Επισκεφθείσες Χώρες',
|
'atlas.visitedCountries': 'Επισκεφθείσες Χώρες',
|
||||||
'atlas.cities': 'Πόλεις',
|
'atlas.cities': 'Πόλεις',
|
||||||
'atlas.noData': 'Δεν υπάρχουν ταξιδιωτικά δεδομένα ακόμη',
|
'atlas.noData': 'Δεν υπάρχουν ταξιδιωτικά δεδομένα ακόμη',
|
||||||
'atlas.noDataHint': 'Δημιουργήστε ένα ταξίδι και προσθέστε μέρη για να δείτε τον παγκόσμιο χάρτη σας',
|
'atlas.noDataHint':
|
||||||
|
'Δημιουργήστε ένα ταξίδι και προσθέστε μέρη για να δείτε τον παγκόσμιο χάρτη σας',
|
||||||
'atlas.lastTrip': 'Τελευταίο ταξίδι',
|
'atlas.lastTrip': 'Τελευταίο ταξίδι',
|
||||||
'atlas.nextTrip': 'Επόμενο ταξίδι',
|
'atlas.nextTrip': 'Επόμενο ταξίδι',
|
||||||
'atlas.daysLeft': 'ημέρες απομένουν',
|
'atlas.daysLeft': 'ημέρες απομένουν',
|
||||||
|
|||||||
@@ -12,36 +12,43 @@ const backup: TranslationStrings = {
|
|||||||
'backup.createFirst': 'Δημιουργία πρώτου αντιγράφου',
|
'backup.createFirst': 'Δημιουργία πρώτου αντιγράφου',
|
||||||
'backup.download': 'Λήψη',
|
'backup.download': 'Λήψη',
|
||||||
'backup.restore': 'Επαναφορά',
|
'backup.restore': 'Επαναφορά',
|
||||||
'backup.confirm.restore': 'Επαναφορά αντιγράφου "{name}";\n\nΌλα τα τρέχοντα δεδομένα θα αντικατασταθούν με το αντίγραφο.',
|
'backup.confirm.restore':
|
||||||
'backup.confirm.uploadRestore': 'Μεταφόρτωση και επαναφορά αρχείου αντιγράφου "{name}";\n\nΌλα τα τρέχοντα δεδομένα θα αντικατασταθούν.',
|
'Επαναφορά αντιγράφου "{name}";\n\nΌλα τα τρέχοντα δεδομένα θα αντικατασταθούν με το αντίγραφο.',
|
||||||
|
'backup.confirm.uploadRestore':
|
||||||
|
'Μεταφόρτωση και επαναφορά αρχείου αντιγράφου "{name}";\n\nΌλα τα τρέχοντα δεδομένα θα αντικατασταθούν.',
|
||||||
'backup.confirm.delete': 'Διαγραφή αντιγράφου "{name}";',
|
'backup.confirm.delete': 'Διαγραφή αντιγράφου "{name}";',
|
||||||
'backup.toast.loadError': 'Αποτυχία φόρτωσης αντιγράφων',
|
'backup.toast.loadError': 'Αποτυχία φόρτωσης αντιγράφων',
|
||||||
'backup.toast.created': 'Το αντίγραφο δημιουργήθηκε επιτυχώς',
|
'backup.toast.created': 'Το αντίγραφο δημιουργήθηκε επιτυχώς',
|
||||||
'backup.toast.createError': 'Αποτυχία δημιουργίας αντιγράφου',
|
'backup.toast.createError': 'Αποτυχία δημιουργίας αντιγράφου',
|
||||||
'backup.toast.restored': 'Το αντίγραφο επαναφέρθηκε. Η σελίδα θα επαναφορτωθεί…',
|
'backup.toast.restored':
|
||||||
|
'Το αντίγραφο επαναφέρθηκε. Η σελίδα θα επαναφορτωθεί…',
|
||||||
'backup.toast.restoreError': 'Αποτυχία επαναφοράς',
|
'backup.toast.restoreError': 'Αποτυχία επαναφοράς',
|
||||||
'backup.toast.uploadError': 'Αποτυχία μεταφόρτωσης',
|
'backup.toast.uploadError': 'Αποτυχία μεταφόρτωσης',
|
||||||
'backup.toast.deleted': 'Το αντίγραφο διαγράφηκε',
|
'backup.toast.deleted': 'Το αντίγραφο διαγράφηκε',
|
||||||
'backup.toast.deleteError': 'Αποτυχία διαγραφής',
|
'backup.toast.deleteError': 'Αποτυχία διαγραφής',
|
||||||
'backup.toast.downloadError': 'Η λήψη απέτυχε',
|
'backup.toast.downloadError': 'Η λήψη απέτυχε',
|
||||||
'backup.toast.settingsSaved': 'Οι ρυθμίσεις αυτόματου αντιγράφου αποθηκεύτηκαν',
|
'backup.toast.settingsSaved':
|
||||||
|
'Οι ρυθμίσεις αυτόματου αντιγράφου αποθηκεύτηκαν',
|
||||||
'backup.toast.settingsError': 'Αποτυχία αποθήκευσης ρυθμίσεων',
|
'backup.toast.settingsError': 'Αποτυχία αποθήκευσης ρυθμίσεων',
|
||||||
'backup.auto.title': 'Αυτόματο Αντίγραφο',
|
'backup.auto.title': 'Αυτόματο Αντίγραφο',
|
||||||
'backup.auto.subtitle': 'Αυτόματο αντίγραφο ασφαλείας με χρονοπρόγραμμα',
|
'backup.auto.subtitle': 'Αυτόματο αντίγραφο ασφαλείας με χρονοπρόγραμμα',
|
||||||
'backup.auto.enable': 'Ενεργοποίηση αυτόματου αντιγράφου',
|
'backup.auto.enable': 'Ενεργοποίηση αυτόματου αντιγράφου',
|
||||||
'backup.auto.enableHint': 'Τα αντίγραφα θα δημιουργούνται αυτόματα στο επιλεγμένο χρονοπρόγραμμα',
|
'backup.auto.enableHint':
|
||||||
|
'Τα αντίγραφα θα δημιουργούνται αυτόματα στο επιλεγμένο χρονοπρόγραμμα',
|
||||||
'backup.auto.interval': 'Διάστημα',
|
'backup.auto.interval': 'Διάστημα',
|
||||||
'backup.auto.hour': 'Εκτέλεση την ώρα',
|
'backup.auto.hour': 'Εκτέλεση την ώρα',
|
||||||
'backup.auto.hourHint': 'Τοπική ώρα διακομιστή (μορφή {format})',
|
'backup.auto.hourHint': 'Τοπική ώρα διακομιστή (μορφή {format})',
|
||||||
'backup.auto.dayOfWeek': 'Ημέρα εβδομάδας',
|
'backup.auto.dayOfWeek': 'Ημέρα εβδομάδας',
|
||||||
'backup.auto.dayOfMonth': 'Ημέρα μήνα',
|
'backup.auto.dayOfMonth': 'Ημέρα μήνα',
|
||||||
'backup.auto.dayOfMonthHint': 'Περιορίζεται σε 1–28 για συμβατότητα με όλους τους μήνες',
|
'backup.auto.dayOfMonthHint':
|
||||||
|
'Περιορίζεται σε 1–28 για συμβατότητα με όλους τους μήνες',
|
||||||
'backup.auto.scheduleSummary': 'Χρονοπρόγραμμα',
|
'backup.auto.scheduleSummary': 'Χρονοπρόγραμμα',
|
||||||
'backup.auto.summaryDaily': 'Κάθε ημέρα στις {hour}:00',
|
'backup.auto.summaryDaily': 'Κάθε ημέρα στις {hour}:00',
|
||||||
'backup.auto.summaryWeekly': 'Κάθε {day} στις {hour}:00',
|
'backup.auto.summaryWeekly': 'Κάθε {day} στις {hour}:00',
|
||||||
'backup.auto.summaryMonthly': 'Ημέρα {day} κάθε μήνα στις {hour}:00',
|
'backup.auto.summaryMonthly': 'Ημέρα {day} κάθε μήνα στις {hour}:00',
|
||||||
'backup.auto.envLocked': 'Docker',
|
'backup.auto.envLocked': 'Docker',
|
||||||
'backup.auto.envLockedHint': 'Το αυτόματο αντίγραφο είναι ρυθμισμένο μέσω μεταβλητών περιβάλλοντος Docker. Για να αλλάξετε αυτές τις ρυθμίσεις, ενημερώστε το docker-compose.yml και επανεκκινήστε το container.',
|
'backup.auto.envLockedHint':
|
||||||
|
'Το αυτόματο αντίγραφο είναι ρυθμισμένο μέσω μεταβλητών περιβάλλοντος Docker. Για να αλλάξετε αυτές τις ρυθμίσεις, ενημερώστε το docker-compose.yml και επανεκκινήστε το container.',
|
||||||
'backup.auto.copyEnv': 'Αντιγραφή μεταβλητών Docker',
|
'backup.auto.copyEnv': 'Αντιγραφή μεταβλητών Docker',
|
||||||
'backup.auto.envCopied': 'Οι μεταβλητές Docker αντιγράφηκαν στο πρόχειρο',
|
'backup.auto.envCopied': 'Οι μεταβλητές Docker αντιγράφηκαν στο πρόχειρο',
|
||||||
'backup.auto.keepLabel': 'Διαγραφή παλιών αντιγράφων μετά από',
|
'backup.auto.keepLabel': 'Διαγραφή παλιών αντιγράφων μετά από',
|
||||||
@@ -63,8 +70,10 @@ const backup: TranslationStrings = {
|
|||||||
'backup.keep.30days': '30 ημέρες',
|
'backup.keep.30days': '30 ημέρες',
|
||||||
'backup.keep.forever': 'Διατήρηση για πάντα',
|
'backup.keep.forever': 'Διατήρηση για πάντα',
|
||||||
'backup.restoreConfirmTitle': 'Επαναφορά Αντιγράφου;',
|
'backup.restoreConfirmTitle': 'Επαναφορά Αντιγράφου;',
|
||||||
'backup.restoreWarning': 'Όλα τα τρέχοντα δεδομένα (ταξίδια, τοποθεσίες, χρήστες, μεταφορτώσεις) θα αντικατασταθούν μόνιμα με το αντίγραφο. Αυτή η ενέργεια δεν μπορεί να αναιρεθεί.',
|
'backup.restoreWarning':
|
||||||
'backup.restoreTip': 'Συμβουλή: Δημιουργήστε ένα αντίγραφο της τρέχουσας κατάστασης πριν την επαναφορά.',
|
'Όλα τα τρέχοντα δεδομένα (ταξίδια, τοποθεσίες, χρήστες, μεταφορτώσεις) θα αντικατασταθούν μόνιμα με το αντίγραφο. Αυτή η ενέργεια δεν μπορεί να αναιρεθεί.',
|
||||||
|
'backup.restoreTip':
|
||||||
|
'Συμβουλή: Δημιουργήστε ένα αντίγραφο της τρέχουσας κατάστασης πριν την επαναφορά.',
|
||||||
'backup.restoreConfirm': 'Ναι, επαναφορά',
|
'backup.restoreConfirm': 'Ναι, επαναφορά',
|
||||||
};
|
};
|
||||||
export default backup;
|
export default backup;
|
||||||
|
|||||||
@@ -4,7 +4,8 @@ const budget: TranslationStrings = {
|
|||||||
'budget.title': 'Προϋπολογισμός',
|
'budget.title': 'Προϋπολογισμός',
|
||||||
'budget.exportCsv': 'Εξαγωγή CSV',
|
'budget.exportCsv': 'Εξαγωγή CSV',
|
||||||
'budget.emptyTitle': 'Δεν έχει δημιουργηθεί προϋπολογισμός ακόμη',
|
'budget.emptyTitle': 'Δεν έχει δημιουργηθεί προϋπολογισμός ακόμη',
|
||||||
'budget.emptyText': 'Δημιουργήστε κατηγορίες και εγγραφές για να σχεδιάσετε τον ταξιδιωτικό σας προϋπολογισμό',
|
'budget.emptyText':
|
||||||
|
'Δημιουργήστε κατηγορίες και εγγραφές για να σχεδιάσετε τον ταξιδιωτικό σας προϋπολογισμό',
|
||||||
'budget.emptyPlaceholder': 'Εισαγάγετε όνομα κατηγορίας...',
|
'budget.emptyPlaceholder': 'Εισαγάγετε όνομα κατηγορίας...',
|
||||||
'budget.createCategory': 'Δημιουργία Κατηγορίας',
|
'budget.createCategory': 'Δημιουργία Κατηγορίας',
|
||||||
'budget.category': 'Κατηγορία',
|
'budget.category': 'Κατηγορία',
|
||||||
@@ -25,15 +26,18 @@ const budget: TranslationStrings = {
|
|||||||
'budget.totalBudget': 'Συνολικός Προϋπολογισμός',
|
'budget.totalBudget': 'Συνολικός Προϋπολογισμός',
|
||||||
'budget.byCategory': 'Ανά Κατηγορία',
|
'budget.byCategory': 'Ανά Κατηγορία',
|
||||||
'budget.editTooltip': 'Κάντε κλικ για επεξεργασία',
|
'budget.editTooltip': 'Κάντε κλικ για επεξεργασία',
|
||||||
'budget.linkedToReservation': 'Συνδεδεμένο με κράτηση — επεξεργαστείτε το όνομα εκεί',
|
'budget.linkedToReservation':
|
||||||
'budget.confirm.deleteCategory': 'Είστε σίγουροι ότι θέλετε να διαγράψετε την κατηγορία "{name}" με {count} εγγραφές;',
|
'Συνδεδεμένο με κράτηση — επεξεργαστείτε το όνομα εκεί',
|
||||||
|
'budget.confirm.deleteCategory':
|
||||||
|
'Είστε σίγουροι ότι θέλετε να διαγράψετε την κατηγορία "{name}" με {count} εγγραφές;',
|
||||||
'budget.deleteCategory': 'Διαγραφή Κατηγορίας',
|
'budget.deleteCategory': 'Διαγραφή Κατηγορίας',
|
||||||
'budget.perPerson': 'Ανά Άτομο',
|
'budget.perPerson': 'Ανά Άτομο',
|
||||||
'budget.paid': 'Πληρωμένο',
|
'budget.paid': 'Πληρωμένο',
|
||||||
'budget.open': 'Ανοιχτό',
|
'budget.open': 'Ανοιχτό',
|
||||||
'budget.noMembers': 'Δεν έχουν ανατεθεί μέλη',
|
'budget.noMembers': 'Δεν έχουν ανατεθεί μέλη',
|
||||||
'budget.settlement': 'Εκκαθάριση',
|
'budget.settlement': 'Εκκαθάριση',
|
||||||
'budget.settlementInfo': 'Κάντε κλικ στο avatar ενός μέλους σε μια εγγραφή προϋπολογισμού για να το επισημάνετε πράσινο — αυτό σημαίνει ότι πλήρωσε. Η εκκαθάριση δείχνει στη συνέχεια ποιος χρωστάει σε ποιον και πόσα.',
|
'budget.settlementInfo':
|
||||||
|
'Κάντε κλικ στο avatar ενός μέλους σε μια εγγραφή προϋπολογισμού για να το επισημάνετε πράσινο — αυτό σημαίνει ότι πλήρωσε. Η εκκαθάριση δείχνει στη συνέχεια ποιος χρωστάει σε ποιον και πόσα.',
|
||||||
'budget.netBalances': 'Καθαρά Υπόλοιπα',
|
'budget.netBalances': 'Καθαρά Υπόλοιπα',
|
||||||
'budget.categoriesLabel': 'κατηγορίες',
|
'budget.categoriesLabel': 'κατηγορίες',
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -13,7 +13,8 @@ const categories: TranslationStrings = {
|
|||||||
'categories.defaultName': 'Κατηγορία',
|
'categories.defaultName': 'Κατηγορία',
|
||||||
'categories.update': 'Ενημέρωση',
|
'categories.update': 'Ενημέρωση',
|
||||||
'categories.create': 'Δημιουργία',
|
'categories.create': 'Δημιουργία',
|
||||||
'categories.confirm.delete': 'Διαγραφή κατηγορίας; Οι τοποθεσίες σε αυτή την κατηγορία δεν θα διαγραφούν.',
|
'categories.confirm.delete':
|
||||||
|
'Διαγραφή κατηγορίας; Οι τοποθεσίες σε αυτή την κατηγορία δεν θα διαγραφούν.',
|
||||||
'categories.toast.loadError': 'Αποτυχία φόρτωσης κατηγοριών',
|
'categories.toast.loadError': 'Αποτυχία φόρτωσης κατηγοριών',
|
||||||
'categories.toast.nameRequired': 'Παρακαλώ εισάγετε όνομα',
|
'categories.toast.nameRequired': 'Παρακαλώ εισάγετε όνομα',
|
||||||
'categories.toast.updated': 'Η κατηγορία ενημερώθηκε',
|
'categories.toast.updated': 'Η κατηγορία ενημερώθηκε',
|
||||||
|
|||||||
@@ -13,8 +13,10 @@ const collab: TranslationStrings = {
|
|||||||
'collab.chat.send': 'Αποστολή',
|
'collab.chat.send': 'Αποστολή',
|
||||||
'collab.chat.placeholder': 'Πληκτρολογήστε ένα μήνυμα...',
|
'collab.chat.placeholder': 'Πληκτρολογήστε ένα μήνυμα...',
|
||||||
'collab.chat.empty': 'Ξεκινήστε τη συζήτηση',
|
'collab.chat.empty': 'Ξεκινήστε τη συζήτηση',
|
||||||
'collab.chat.emptyHint': 'Τα μηνύματα κοινοποιούνται σε όλα τα μέλη του ταξιδιού',
|
'collab.chat.emptyHint':
|
||||||
'collab.chat.emptyDesc': 'Μοιραστείτε ιδέες, σχέδια και ενημερώσεις με την ταξιδιωτική σας ομάδα',
|
'Τα μηνύματα κοινοποιούνται σε όλα τα μέλη του ταξιδιού',
|
||||||
|
'collab.chat.emptyDesc':
|
||||||
|
'Μοιραστείτε ιδέες, σχέδια και ενημερώσεις με την ταξιδιωτική σας ομάδα',
|
||||||
'collab.chat.today': 'Σήμερα',
|
'collab.chat.today': 'Σήμερα',
|
||||||
'collab.chat.yesterday': 'Χθες',
|
'collab.chat.yesterday': 'Χθες',
|
||||||
'collab.chat.deletedMessage': 'διέγραψε ένα μήνυμα',
|
'collab.chat.deletedMessage': 'διέγραψε ένα μήνυμα',
|
||||||
|
|||||||
@@ -16,7 +16,8 @@ const common: TranslationStrings = {
|
|||||||
'common.deselectAll': 'Απο-επιλογή όλων',
|
'common.deselectAll': 'Απο-επιλογή όλων',
|
||||||
'common.error': 'Σφάλμα',
|
'common.error': 'Σφάλμα',
|
||||||
'common.unknownError': 'Άγνωστο σφάλμα',
|
'common.unknownError': 'Άγνωστο σφάλμα',
|
||||||
'common.tooManyAttempts': 'Πολλαπλές προσπάθειες. Παρακαλώ δοκιμάστε αργότερα.',
|
'common.tooManyAttempts':
|
||||||
|
'Πολλαπλές προσπάθειες. Παρακαλώ δοκιμάστε αργότερα.',
|
||||||
'common.back': 'Πίσω',
|
'common.back': 'Πίσω',
|
||||||
'common.all': 'Όλα',
|
'common.all': 'Όλα',
|
||||||
'common.close': 'Κλείσιμο',
|
'common.close': 'Κλείσιμο',
|
||||||
|
|||||||
@@ -19,10 +19,12 @@ const dashboard: TranslationStrings = {
|
|||||||
'dashboard.timezoneCustomTzPlaceholder': 'π.χ. Αμερική/Νέα Υόρκη',
|
'dashboard.timezoneCustomTzPlaceholder': 'π.χ. Αμερική/Νέα Υόρκη',
|
||||||
'dashboard.timezoneCustomAdd': 'Προσθήκη',
|
'dashboard.timezoneCustomAdd': 'Προσθήκη',
|
||||||
'dashboard.timezoneCustomErrorEmpty': 'Εισάγετε μια ζώνη ώρας',
|
'dashboard.timezoneCustomErrorEmpty': 'Εισάγετε μια ζώνη ώρας',
|
||||||
'dashboard.timezoneCustomErrorInvalid': 'Μη έγκυρη ζώνη ώρας. Χρησιμοποιήστε την μορφή π.χ. Europe/Berlin',
|
'dashboard.timezoneCustomErrorInvalid':
|
||||||
|
'Μη έγκυρη ζώνη ώρας. Χρησιμοποιήστε την μορφή π.χ. Europe/Berlin',
|
||||||
'dashboard.timezoneCustomErrorDuplicate': 'Έχει προστεθεί ήδη',
|
'dashboard.timezoneCustomErrorDuplicate': 'Έχει προστεθεί ήδη',
|
||||||
'dashboard.emptyTitle': 'Δεν υπάρχουν ταξίδια ακόμη',
|
'dashboard.emptyTitle': 'Δεν υπάρχουν ταξίδια ακόμη',
|
||||||
'dashboard.emptyText': 'Δημιουργήστε το πρώτο σας ταξίδι και ξεκινήστε τα σχέδια!',
|
'dashboard.emptyText':
|
||||||
|
'Δημιουργήστε το πρώτο σας ταξίδι και ξεκινήστε τα σχέδια!',
|
||||||
'dashboard.emptyButton': 'Δημιουργία Πρώτου Ταξίδιου',
|
'dashboard.emptyButton': 'Δημιουργία Πρώτου Ταξίδιου',
|
||||||
'dashboard.nextTrip': 'Επόμενο Ταξίδι',
|
'dashboard.nextTrip': 'Επόμενο Ταξίδι',
|
||||||
'dashboard.shared': 'Κοινοποιημένο',
|
'dashboard.shared': 'Κοινοποιημένο',
|
||||||
@@ -53,7 +55,8 @@ const dashboard: TranslationStrings = {
|
|||||||
'dashboard.toast.restoreError': 'Αποτυχία επαναφοράς ταξιδιού',
|
'dashboard.toast.restoreError': 'Αποτυχία επαναφοράς ταξιδιού',
|
||||||
'dashboard.toast.copied': 'Ταξίδι αντιγράφηκε!',
|
'dashboard.toast.copied': 'Ταξίδι αντιγράφηκε!',
|
||||||
'dashboard.toast.copyError': 'Αποτυχία αντιγραφής ταξιδιού',
|
'dashboard.toast.copyError': 'Αποτυχία αντιγραφής ταξιδιού',
|
||||||
'dashboard.confirm.delete': 'Διαγραφή ταξιδιού "{title}"; Όλα τα τόποι και τα σχέδια θα διαγραφούν επίσης.',
|
'dashboard.confirm.delete':
|
||||||
|
'Διαγραφή ταξιδιού "{title}"; Όλα τα τόποι και τα σχέδια θα διαγραφούν επίσης.',
|
||||||
'dashboard.confirm.copy.title': 'Αντιγραφή αυτού του ταξιδιού;',
|
'dashboard.confirm.copy.title': 'Αντιγραφή αυτού του ταξιδιού;',
|
||||||
'dashboard.confirm.copy.willCopy': 'Θα αντιγραφεί',
|
'dashboard.confirm.copy.willCopy': 'Θα αντιγραφεί',
|
||||||
'dashboard.confirm.copy.will1': 'Μέρες, μέρη και σχέδια μέρας',
|
'dashboard.confirm.copy.will1': 'Μέρες, μέρη και σχέδια μέρας',
|
||||||
@@ -64,7 +67,8 @@ const dashboard: TranslationStrings = {
|
|||||||
'dashboard.confirm.copy.will6': 'Σημειώσεις μέρας',
|
'dashboard.confirm.copy.will6': 'Σημειώσεις μέρας',
|
||||||
'dashboard.confirm.copy.wontCopy': 'Δεν θα αντιγραφούν',
|
'dashboard.confirm.copy.wontCopy': 'Δεν θα αντιγραφούν',
|
||||||
'dashboard.confirm.copy.wont1': 'Συνεργάτες & αναθέσεις μελών',
|
'dashboard.confirm.copy.wont1': 'Συνεργάτες & αναθέσεις μελών',
|
||||||
'dashboard.confirm.copy.wont2': 'Σημειώσεις συνεργασίας, ψηφοφορίες & μηνύματα',
|
'dashboard.confirm.copy.wont2':
|
||||||
|
'Σημειώσεις συνεργασίας, ψηφοφορίες & μηνύματα',
|
||||||
'dashboard.confirm.copy.wont3': 'Αρχεία & φωτογραφίες',
|
'dashboard.confirm.copy.wont3': 'Αρχεία & φωτογραφίες',
|
||||||
'dashboard.confirm.copy.wont4': 'Σύνδεσμοι διαμοιρασμού',
|
'dashboard.confirm.copy.wont4': 'Σύνδεσμοι διαμοιρασμού',
|
||||||
'dashboard.confirm.copy.confirm': 'Αντιγραφή ταξιδιού',
|
'dashboard.confirm.copy.confirm': 'Αντιγραφή ταξιδιού',
|
||||||
@@ -77,8 +81,10 @@ const dashboard: TranslationStrings = {
|
|||||||
'dashboard.startDate': 'Ημερομηνία Έναρξης',
|
'dashboard.startDate': 'Ημερομηνία Έναρξης',
|
||||||
'dashboard.endDate': 'Ημερομηνία Λήξης',
|
'dashboard.endDate': 'Ημερομηνία Λήξης',
|
||||||
'dashboard.dayCount': 'Αριθμός Ημερών',
|
'dashboard.dayCount': 'Αριθμός Ημερών',
|
||||||
'dashboard.dayCountHint': 'Πόσες ημέρες να σχεδιαστούν όταν δεν έχουν οριστεί ημερομηνίες ταξιδιού.',
|
'dashboard.dayCountHint':
|
||||||
'dashboard.noDateHint': 'Δεν έχει οριστεί ημερομηνία — θα δημιουργηθούν 7 προεπιλεγμένες ημέρες. Μπορείτε να το αλλάξετε οποτεδήποτε.',
|
'Πόσες ημέρες να σχεδιαστούν όταν δεν έχουν οριστεί ημερομηνίες ταξιδιού.',
|
||||||
|
'dashboard.noDateHint':
|
||||||
|
'Δεν έχει οριστεί ημερομηνία — θα δημιουργηθούν 7 προεπιλεγμένες ημέρες. Μπορείτε να το αλλάξετε οποτεδήποτε.',
|
||||||
'dashboard.coverImage': 'Εικόνα Εξωφύλλου',
|
'dashboard.coverImage': 'Εικόνα Εξωφύλλου',
|
||||||
'dashboard.addCoverImage': 'Προσθήκη εικόνας εξωφύλλου (ή σύρετε & αποθέστε)',
|
'dashboard.addCoverImage': 'Προσθήκη εικόνας εξωφύλλου (ή σύρετε & αποθέστε)',
|
||||||
'dashboard.addMembers': 'Συνταξιδιώτες',
|
'dashboard.addMembers': 'Συνταξιδιώτες',
|
||||||
@@ -87,7 +93,8 @@ const dashboard: TranslationStrings = {
|
|||||||
'dashboard.coverUploadError': 'Αποτυχία μεταφόρτωσης',
|
'dashboard.coverUploadError': 'Αποτυχία μεταφόρτωσης',
|
||||||
'dashboard.coverRemoveError': 'Αποτυχία αφαίρεσης',
|
'dashboard.coverRemoveError': 'Αποτυχία αφαίρεσης',
|
||||||
'dashboard.titleRequired': 'Ο τίτλος είναι υποχρεωτικός',
|
'dashboard.titleRequired': 'Ο τίτλος είναι υποχρεωτικός',
|
||||||
'dashboard.endDateError': 'Η ημερομηνία λήξης πρέπει να είναι μετά την ημερομηνία έναρξης',
|
'dashboard.endDateError':
|
||||||
|
'Η ημερομηνία λήξης πρέπει να είναι μετά την ημερομηνία έναρξης',
|
||||||
'dashboard.greeting.morning': 'Καλημέρα,',
|
'dashboard.greeting.morning': 'Καλημέρα,',
|
||||||
'dashboard.greeting.afternoon': 'Καλό απόγευμα,',
|
'dashboard.greeting.afternoon': 'Καλό απόγευμα,',
|
||||||
'dashboard.greeting.evening': 'Καλησπέρα,',
|
'dashboard.greeting.evening': 'Καλησπέρα,',
|
||||||
|
|||||||
@@ -7,8 +7,10 @@ const day: TranslationStrings = {
|
|||||||
'day.sunrise': 'Ανατολή',
|
'day.sunrise': 'Ανατολή',
|
||||||
'day.sunset': 'Δύση',
|
'day.sunset': 'Δύση',
|
||||||
'day.hourlyForecast': 'Ωριαία Πρόγνωση',
|
'day.hourlyForecast': 'Ωριαία Πρόγνωση',
|
||||||
'day.climateHint': 'Ιστορικοί μέσοι όροι — η πραγματική πρόγνωση είναι διαθέσιμη εντός 16 ημερών από αυτή την ημερομηνία.',
|
'day.climateHint':
|
||||||
'day.noWeather': 'Δεν υπάρχουν διαθέσιμα δεδομένα καιρού. Προσθέστε μια τοποθεσία με συντεταγμένες.',
|
'Ιστορικοί μέσοι όροι — η πραγματική πρόγνωση είναι διαθέσιμη εντός 16 ημερών από αυτή την ημερομηνία.',
|
||||||
|
'day.noWeather':
|
||||||
|
'Δεν υπάρχουν διαθέσιμα δεδομένα καιρού. Προσθέστε μια τοποθεσία με συντεταγμένες.',
|
||||||
'day.overview': 'Ημερήσια Επισκόπηση',
|
'day.overview': 'Ημερήσια Επισκόπηση',
|
||||||
'day.accommodation': 'Διαμονή',
|
'day.accommodation': 'Διαμονή',
|
||||||
'day.addAccommodation': 'Προσθήκη διαμονής',
|
'day.addAccommodation': 'Προσθήκη διαμονής',
|
||||||
|
|||||||
@@ -3,12 +3,16 @@ import type { TranslationStrings } from '../types';
|
|||||||
const dayplan: TranslationStrings = {
|
const dayplan: TranslationStrings = {
|
||||||
'dayplan.icsTooltip': 'Εξαγωγή ημερολογίου (ICS)',
|
'dayplan.icsTooltip': 'Εξαγωγή ημερολογίου (ICS)',
|
||||||
'dayplan.emptyDay': 'Δεν υπάρχουν προγραμματισμένα μέρη για αυτή την ημέρα',
|
'dayplan.emptyDay': 'Δεν υπάρχουν προγραμματισμένα μέρη για αυτή την ημέρα',
|
||||||
'dayplan.cannotReorderTransport': 'Οι κρατήσεις με σταθερή ώρα δεν μπορούν να αναδιαταχθούν',
|
'dayplan.cannotReorderTransport':
|
||||||
|
'Οι κρατήσεις με σταθερή ώρα δεν μπορούν να αναδιαταχθούν',
|
||||||
'dayplan.confirmRemoveTimeTitle': 'Αφαίρεση ώρας;',
|
'dayplan.confirmRemoveTimeTitle': 'Αφαίρεση ώρας;',
|
||||||
'dayplan.confirmRemoveTimeBody': 'Αυτό το μέρος έχει σταθερή ώρα ({time}). Η μετακίνησή του θα αφαιρέσει την ώρα και θα επιτρέψει ελεύθερη ταξινόμηση.',
|
'dayplan.confirmRemoveTimeBody':
|
||||||
|
'Αυτό το μέρος έχει σταθερή ώρα ({time}). Η μετακίνησή του θα αφαιρέσει την ώρα και θα επιτρέψει ελεύθερη ταξινόμηση.',
|
||||||
'dayplan.confirmRemoveTimeAction': 'Αφαίρεση ώρας & μετακίνηση',
|
'dayplan.confirmRemoveTimeAction': 'Αφαίρεση ώρας & μετακίνηση',
|
||||||
'dayplan.cannotDropOnTimed': 'Τα στοιχεία δεν μπορούν να τοποθετηθούν μεταξύ καταχωρήσεων με ώρα',
|
'dayplan.cannotDropOnTimed':
|
||||||
'dayplan.cannotBreakChronology': 'Αυτό θα έσπαγε τη χρονολογική σειρά των στοιχείων με ώρα και των κρατήσεων',
|
'Τα στοιχεία δεν μπορούν να τοποθετηθούν μεταξύ καταχωρήσεων με ώρα',
|
||||||
|
'dayplan.cannotBreakChronology':
|
||||||
|
'Αυτό θα έσπαγε τη χρονολογική σειρά των στοιχείων με ώρα και των κρατήσεων',
|
||||||
'dayplan.addNote': 'Προσθήκη Σημείωσης',
|
'dayplan.addNote': 'Προσθήκη Σημείωσης',
|
||||||
'dayplan.expandAll': 'Ανάπτυξη όλων των ημερών',
|
'dayplan.expandAll': 'Ανάπτυξη όλων των ημερών',
|
||||||
'dayplan.collapseAll': 'Σύμπτυξη όλων των ημερών',
|
'dayplan.collapseAll': 'Σύμπτυξη όλων των ημερών',
|
||||||
@@ -25,9 +29,11 @@ const dayplan: TranslationStrings = {
|
|||||||
'dayplan.optimize': 'Βελτιστοποίηση',
|
'dayplan.optimize': 'Βελτιστοποίηση',
|
||||||
'dayplan.optimized': 'Η διαδρομή βελτιστοποιήθηκε',
|
'dayplan.optimized': 'Η διαδρομή βελτιστοποιήθηκε',
|
||||||
'dayplan.routeError': 'Αποτυχία υπολογισμού διαδρομής',
|
'dayplan.routeError': 'Αποτυχία υπολογισμού διαδρομής',
|
||||||
'dayplan.toast.needTwoPlaces': 'Χρειάζονται τουλάχιστον δύο μέρη για βελτιστοποίηση διαδρομής',
|
'dayplan.toast.needTwoPlaces':
|
||||||
|
'Χρειάζονται τουλάχιστον δύο μέρη για βελτιστοποίηση διαδρομής',
|
||||||
'dayplan.toast.routeOptimized': 'Η διαδρομή βελτιστοποιήθηκε',
|
'dayplan.toast.routeOptimized': 'Η διαδρομή βελτιστοποιήθηκε',
|
||||||
'dayplan.toast.noGeoPlaces': 'Δεν βρέθηκαν μέρη με συντεταγμένες για τον υπολογισμό διαδρομής',
|
'dayplan.toast.noGeoPlaces':
|
||||||
|
'Δεν βρέθηκαν μέρη με συντεταγμένες για τον υπολογισμό διαδρομής',
|
||||||
'dayplan.confirmed': 'Επιβεβαιωμένο',
|
'dayplan.confirmed': 'Επιβεβαιωμένο',
|
||||||
'dayplan.pendingRes': 'Εκκρεμές',
|
'dayplan.pendingRes': 'Εκκρεμές',
|
||||||
'dayplan.pdf': 'PDF',
|
'dayplan.pdf': 'PDF',
|
||||||
|
|||||||
@@ -13,7 +13,8 @@ const files: TranslationStrings = {
|
|||||||
'files.uploadError': 'Η μεταφόρτωση απέτυχε',
|
'files.uploadError': 'Η μεταφόρτωση απέτυχε',
|
||||||
'files.dropzone': 'Αποθέστε αρχεία εδώ',
|
'files.dropzone': 'Αποθέστε αρχεία εδώ',
|
||||||
'files.dropzoneHint': 'ή κάντε κλικ για περιήγηση',
|
'files.dropzoneHint': 'ή κάντε κλικ για περιήγηση',
|
||||||
'files.allowedTypes': 'Εικόνες, PDF, DOC, DOCX, XLS, XLSX, TXT, CSV · Μέγ. 50 MB',
|
'files.allowedTypes':
|
||||||
|
'Εικόνες, PDF, DOC, DOCX, XLS, XLSX, TXT, CSV · Μέγ. 50 MB',
|
||||||
'files.uploading': 'Μεταφόρτωση...',
|
'files.uploading': 'Μεταφόρτωση...',
|
||||||
'files.filterAll': 'Όλα',
|
'files.filterAll': 'Όλα',
|
||||||
'files.filterPdf': 'PDF',
|
'files.filterPdf': 'PDF',
|
||||||
@@ -24,14 +25,16 @@ const files: TranslationStrings = {
|
|||||||
'files.empty': 'Δεν υπάρχουν αρχεία ακόμη',
|
'files.empty': 'Δεν υπάρχουν αρχεία ακόμη',
|
||||||
'files.emptyHint': 'Μεταφορτώστε αρχεία για να τα επισυνάψετε στο ταξίδι σας',
|
'files.emptyHint': 'Μεταφορτώστε αρχεία για να τα επισυνάψετε στο ταξίδι σας',
|
||||||
'files.openTab': 'Άνοιγμα σε νέα καρτέλα',
|
'files.openTab': 'Άνοιγμα σε νέα καρτέλα',
|
||||||
'files.confirm.delete': 'Είστε σίγουροι ότι θέλετε να διαγράψετε αυτό το αρχείο;',
|
'files.confirm.delete':
|
||||||
|
'Είστε σίγουροι ότι θέλετε να διαγράψετε αυτό το αρχείο;',
|
||||||
'files.toast.deleted': 'Το αρχείο διαγράφηκε',
|
'files.toast.deleted': 'Το αρχείο διαγράφηκε',
|
||||||
'files.toast.deleteError': 'Αποτυχία διαγραφής αρχείου',
|
'files.toast.deleteError': 'Αποτυχία διαγραφής αρχείου',
|
||||||
'files.sourcePlan': 'Ημερήσιο Πλάνο',
|
'files.sourcePlan': 'Ημερήσιο Πλάνο',
|
||||||
'files.sourceBooking': 'Κράτηση',
|
'files.sourceBooking': 'Κράτηση',
|
||||||
'files.sourceTransport': 'Μεταφορά',
|
'files.sourceTransport': 'Μεταφορά',
|
||||||
'files.attach': 'Επισύναψη',
|
'files.attach': 'Επισύναψη',
|
||||||
'files.pasteHint': 'Μπορείτε επίσης να επικολλήσετε εικόνες από το πρόχειρο (Ctrl+V)',
|
'files.pasteHint':
|
||||||
|
'Μπορείτε επίσης να επικολλήσετε εικόνες από το πρόχειρο (Ctrl+V)',
|
||||||
'files.trash': 'Κάδος',
|
'files.trash': 'Κάδος',
|
||||||
'files.trashEmpty': 'Ο κάδος είναι άδειος',
|
'files.trashEmpty': 'Ο κάδος είναι άδειος',
|
||||||
'files.emptyTrash': 'Άδειασμα Κάδου',
|
'files.emptyTrash': 'Άδειασμα Κάδου',
|
||||||
@@ -51,8 +54,10 @@ const files: TranslationStrings = {
|
|||||||
'files.toast.assigned': 'Το αρχείο ανατέθηκε',
|
'files.toast.assigned': 'Το αρχείο ανατέθηκε',
|
||||||
'files.toast.assignError': 'Η ανάθεση απέτυχε',
|
'files.toast.assignError': 'Η ανάθεση απέτυχε',
|
||||||
'files.toast.restoreError': 'Η επαναφορά απέτυχε',
|
'files.toast.restoreError': 'Η επαναφορά απέτυχε',
|
||||||
'files.confirm.permanentDelete': 'Οριστική διαγραφή αυτού του αρχείου; Αυτή η ενέργεια δεν μπορεί να αναιρεθεί.',
|
'files.confirm.permanentDelete':
|
||||||
'files.confirm.emptyTrash': 'Οριστική διαγραφή όλων των αρχείων στον κάδο; Αυτή η ενέργεια δεν μπορεί να αναιρεθεί.',
|
'Οριστική διαγραφή αυτού του αρχείου; Αυτή η ενέργεια δεν μπορεί να αναιρεθεί.',
|
||||||
|
'files.confirm.emptyTrash':
|
||||||
|
'Οριστική διαγραφή όλων των αρχείων στον κάδο; Αυτή η ενέργεια δεν μπορεί να αναιρεθεί.',
|
||||||
'files.noteLabel': 'Σημείωση',
|
'files.noteLabel': 'Σημείωση',
|
||||||
'files.notePlaceholder': 'Προσθήκη σημείωσης...',
|
'files.notePlaceholder': 'Προσθήκη σημείωσης...',
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -14,12 +14,14 @@ const journey: TranslationStrings = {
|
|||||||
'journey.createError': 'Δεν ήταν δυνατή η δημιουργία ταξιδιού',
|
'journey.createError': 'Δεν ήταν δυνατή η δημιουργία ταξιδιού',
|
||||||
'journey.deleteError': 'Δεν ήταν δυνατή η διαγραφή ταξιδιού',
|
'journey.deleteError': 'Δεν ήταν δυνατή η διαγραφή ταξιδιού',
|
||||||
'journey.deleteConfirmTitle': 'Διαγραφή',
|
'journey.deleteConfirmTitle': 'Διαγραφή',
|
||||||
'journey.deleteConfirmMessage': 'Διαγραφή «{title}»; Αυτό δεν μπορεί να αναιρεθεί.',
|
'journey.deleteConfirmMessage':
|
||||||
|
'Διαγραφή «{title}»; Αυτό δεν μπορεί να αναιρεθεί.',
|
||||||
'journey.deleteConfirmGeneric': 'Είστε σίγουροι ότι θέλετε να το διαγράψετε;',
|
'journey.deleteConfirmGeneric': 'Είστε σίγουροι ότι θέλετε να το διαγράψετε;',
|
||||||
'journey.notFound': 'Το ταξίδι δεν βρέθηκε',
|
'journey.notFound': 'Το ταξίδι δεν βρέθηκε',
|
||||||
'journey.photos': 'Φωτογραφίες',
|
'journey.photos': 'Φωτογραφίες',
|
||||||
'journey.timelineEmpty': 'Δεν υπάρχουν στάσεις ακόμα',
|
'journey.timelineEmpty': 'Δεν υπάρχουν στάσεις ακόμα',
|
||||||
'journey.timelineEmptyHint': 'Προσθέστε μια άφιξη ή γράψτε μια καταχώρηση ημερολογίου για να ξεκινήσετε',
|
'journey.timelineEmptyHint':
|
||||||
|
'Προσθέστε μια άφιξη ή γράψτε μια καταχώρηση ημερολογίου για να ξεκινήσετε',
|
||||||
'journey.status.draft': 'Πρόχειρο',
|
'journey.status.draft': 'Πρόχειρο',
|
||||||
'journey.status.active': 'Ενεργό',
|
'journey.status.active': 'Ενεργό',
|
||||||
'journey.status.completed': 'Ολοκληρωμένο',
|
'journey.status.completed': 'Ολοκληρωμένο',
|
||||||
@@ -45,25 +47,30 @@ const journey: TranslationStrings = {
|
|||||||
'journey.editor.titlePlaceholder': 'Δώστε ένα όνομα σε αυτή τη στιγμή...',
|
'journey.editor.titlePlaceholder': 'Δώστε ένα όνομα σε αυτή τη στιγμή...',
|
||||||
'journey.editor.bodyPlaceholder': 'Πείτε την ιστορία αυτής της ημέρας...',
|
'journey.editor.bodyPlaceholder': 'Πείτε την ιστορία αυτής της ημέρας...',
|
||||||
'journey.editor.placePlaceholder': 'Τοποθεσία (προαιρετικό)',
|
'journey.editor.placePlaceholder': 'Τοποθεσία (προαιρετικό)',
|
||||||
'journey.editor.tagsPlaceholder': 'Ετικέτες: κρυμμένος θησαυρός, καλύτερο γεύμα, πρέπει να ξαναπάω...',
|
'journey.editor.tagsPlaceholder':
|
||||||
|
'Ετικέτες: κρυμμένος θησαυρός, καλύτερο γεύμα, πρέπει να ξαναπάω...',
|
||||||
'journey.visibility.private': 'Ιδιωτικό',
|
'journey.visibility.private': 'Ιδιωτικό',
|
||||||
'journey.visibility.shared': 'Κοινόχρηστο',
|
'journey.visibility.shared': 'Κοινόχρηστο',
|
||||||
'journey.visibility.public': 'Δημόσιο',
|
'journey.visibility.public': 'Δημόσιο',
|
||||||
'journey.emptyState.title': 'Η ιστορία σας ξεκινά εδώ',
|
'journey.emptyState.title': 'Η ιστορία σας ξεκινά εδώ',
|
||||||
'journey.emptyState.subtitle': 'Κάντε άφιξη σε ένα μέρος ή γράψτε την πρώτη σας καταχώρηση ημερολογίου',
|
'journey.emptyState.subtitle':
|
||||||
'journey.frontpage.subtitle': 'Μετατρέψτε τα ταξίδια σας σε ιστορίες που δεν θα ξεχάσετε ποτέ',
|
'Κάντε άφιξη σε ένα μέρος ή γράψτε την πρώτη σας καταχώρηση ημερολογίου',
|
||||||
|
'journey.frontpage.subtitle':
|
||||||
|
'Μετατρέψτε τα ταξίδια σας σε ιστορίες που δεν θα ξεχάσετε ποτέ',
|
||||||
'journey.frontpage.createJourney': 'Δημιουργία Ταξιδιού',
|
'journey.frontpage.createJourney': 'Δημιουργία Ταξιδιού',
|
||||||
'journey.frontpage.activeJourney': 'Ενεργό Ταξίδι',
|
'journey.frontpage.activeJourney': 'Ενεργό Ταξίδι',
|
||||||
'journey.frontpage.allJourneys': 'Όλα τα Ταξίδια',
|
'journey.frontpage.allJourneys': 'Όλα τα Ταξίδια',
|
||||||
'journey.frontpage.journeys': 'ταξίδια',
|
'journey.frontpage.journeys': 'ταξίδια',
|
||||||
'journey.frontpage.createNew': 'Δημιουργία νέου Ταξιδιού',
|
'journey.frontpage.createNew': 'Δημιουργία νέου Ταξιδιού',
|
||||||
'journey.frontpage.createNewSub': 'Επιλέξτε ταξίδια, γράψτε ιστορίες, μοιραστείτε τις περιπέτειές σας',
|
'journey.frontpage.createNewSub':
|
||||||
|
'Επιλέξτε ταξίδια, γράψτε ιστορίες, μοιραστείτε τις περιπέτειές σας',
|
||||||
'journey.frontpage.live': 'Ζωντανά',
|
'journey.frontpage.live': 'Ζωντανά',
|
||||||
'journey.frontpage.synced': 'Συγχρονισμένο',
|
'journey.frontpage.synced': 'Συγχρονισμένο',
|
||||||
'journey.frontpage.continueWriting': 'Συνέχιση γραφής',
|
'journey.frontpage.continueWriting': 'Συνέχιση γραφής',
|
||||||
'journey.frontpage.updated': 'Ενημερώθηκε {time}',
|
'journey.frontpage.updated': 'Ενημερώθηκε {time}',
|
||||||
'journey.frontpage.suggestionLabel': 'Το ταξίδι μόλις τελείωσε',
|
'journey.frontpage.suggestionLabel': 'Το ταξίδι μόλις τελείωσε',
|
||||||
'journey.frontpage.suggestionText': 'Μετατρέψτε το <strong>{title}</strong> σε Ταξίδι',
|
'journey.frontpage.suggestionText':
|
||||||
|
'Μετατρέψτε το <strong>{title}</strong> σε Ταξίδι',
|
||||||
'journey.frontpage.dismiss': 'Απόρριψη',
|
'journey.frontpage.dismiss': 'Απόρριψη',
|
||||||
'journey.frontpage.journeyName': 'Όνομα Ταξιδιού',
|
'journey.frontpage.journeyName': 'Όνομα Ταξιδιού',
|
||||||
'journey.frontpage.namePlaceholder': 'π.χ. Νοτιοανατολική Ασία 2026',
|
'journey.frontpage.namePlaceholder': 'π.χ. Νοτιοανατολική Ασία 2026',
|
||||||
@@ -78,9 +85,11 @@ const journey: TranslationStrings = {
|
|||||||
'journey.detail.newEntry': 'Νέα Καταχώρηση',
|
'journey.detail.newEntry': 'Νέα Καταχώρηση',
|
||||||
'journey.detail.editEntry': 'Επεξεργασία Καταχώρησης',
|
'journey.detail.editEntry': 'Επεξεργασία Καταχώρησης',
|
||||||
'journey.detail.noEntries': 'Δεν υπάρχουν καταχωρήσεις ακόμα',
|
'journey.detail.noEntries': 'Δεν υπάρχουν καταχωρήσεις ακόμα',
|
||||||
'journey.detail.noEntriesHint': 'Προσθέστε ένα ταξίδι για να ξεκινήσετε με προτεινόμενες καταχωρήσεις',
|
'journey.detail.noEntriesHint':
|
||||||
|
'Προσθέστε ένα ταξίδι για να ξεκινήσετε με προτεινόμενες καταχωρήσεις',
|
||||||
'journey.detail.noPhotos': 'Δεν υπάρχουν φωτογραφίες ακόμα',
|
'journey.detail.noPhotos': 'Δεν υπάρχουν φωτογραφίες ακόμα',
|
||||||
'journey.detail.noPhotosHint': 'Μεταφορτώστε φωτογραφίες σε καταχωρήσεις ή περιηγηθείτε τη βιβλιοθήκη Immich/Synology',
|
'journey.detail.noPhotosHint':
|
||||||
|
'Μεταφορτώστε φωτογραφίες σε καταχωρήσεις ή περιηγηθείτε τη βιβλιοθήκη Immich/Synology',
|
||||||
'journey.detail.journeyTab': 'Ταξίδι',
|
'journey.detail.journeyTab': 'Ταξίδι',
|
||||||
'journey.detail.journeyStats': 'Στατιστικά Ταξιδιού',
|
'journey.detail.journeyStats': 'Στατιστικά Ταξιδιού',
|
||||||
'journey.detail.syncedTrips': 'Συγχρονισμένα Ταξίδια',
|
'journey.detail.syncedTrips': 'Συγχρονισμένα Ταξίδια',
|
||||||
@@ -102,12 +111,14 @@ const journey: TranslationStrings = {
|
|||||||
'journey.verdict.couldBeBetter': 'Θα μπορούσε να ήταν καλύτερο',
|
'journey.verdict.couldBeBetter': 'Θα μπορούσε να ήταν καλύτερο',
|
||||||
'journey.synced.places': 'τοποθεσίες',
|
'journey.synced.places': 'τοποθεσίες',
|
||||||
'journey.synced.synced': 'συγχρονισμένα',
|
'journey.synced.synced': 'συγχρονισμένα',
|
||||||
'journey.editor.discardChangesConfirm': 'Έχετε μη αποθηκευμένες αλλαγές. Απόρριψη;',
|
'journey.editor.discardChangesConfirm':
|
||||||
|
'Έχετε μη αποθηκευμένες αλλαγές. Απόρριψη;',
|
||||||
'journey.editor.uploadFailed': 'Η μεταφόρτωση φωτογραφίας απέτυχε',
|
'journey.editor.uploadFailed': 'Η μεταφόρτωση φωτογραφίας απέτυχε',
|
||||||
'journey.editor.uploadPhotos': 'Μεταφόρτωση φωτογραφιών',
|
'journey.editor.uploadPhotos': 'Μεταφόρτωση φωτογραφιών',
|
||||||
'journey.editor.uploading': 'Μεταφόρτωση...',
|
'journey.editor.uploading': 'Μεταφόρτωση...',
|
||||||
'journey.editor.uploadingProgress': 'Μεταφόρτωση {done}/{total}.',
|
'journey.editor.uploadingProgress': 'Μεταφόρτωση {done}/{total}.',
|
||||||
'journey.editor.uploadPartialFailed': '{failed} από {total} φωτογραφίες απέτυχαν — αποθηκεύστε ξανά για να δοκιμάσετε εκ νέου',
|
'journey.editor.uploadPartialFailed':
|
||||||
|
'{failed} από {total} φωτογραφίες απέτυχαν — αποθηκεύστε ξανά για να δοκιμάσετε εκ νέου',
|
||||||
'journey.editor.fromGallery': 'Από τη Συλλογή',
|
'journey.editor.fromGallery': 'Από τη Συλλογή',
|
||||||
'journey.editor.allPhotosAdded': 'Όλες οι φωτογραφίες έχουν ήδη προστεθεί',
|
'journey.editor.allPhotosAdded': 'Όλες οι φωτογραφίες έχουν ήδη προστεθεί',
|
||||||
'journey.editor.writeStory': 'Γράψτε την ιστορία σας...',
|
'journey.editor.writeStory': 'Γράψτε την ιστορία σας...',
|
||||||
@@ -144,7 +155,8 @@ const journey: TranslationStrings = {
|
|||||||
'journey.trips.linkFailed': 'Αποτυχία σύνδεσης ταξιδιού',
|
'journey.trips.linkFailed': 'Αποτυχία σύνδεσης ταξιδιού',
|
||||||
'journey.trips.addTrip': 'Προσθήκη Ταξιδιού',
|
'journey.trips.addTrip': 'Προσθήκη Ταξιδιού',
|
||||||
'journey.trips.unlinkTrip': 'Αποσύνδεση Ταξιδιού',
|
'journey.trips.unlinkTrip': 'Αποσύνδεση Ταξιδιού',
|
||||||
'journey.trips.unlinkMessage': 'Αποσύνδεση «{title}»; Όλες οι συγχρονισμένες καταχωρήσεις και φωτογραφίες αυτού του ταξιδιού θα διαγραφούν οριστικά. Αυτό δεν μπορεί να αναιρεθεί.',
|
'journey.trips.unlinkMessage':
|
||||||
|
'Αποσύνδεση «{title}»; Όλες οι συγχρονισμένες καταχωρήσεις και φωτογραφίες αυτού του ταξιδιού θα διαγραφούν οριστικά. Αυτό δεν μπορεί να αναιρεθεί.',
|
||||||
'journey.trips.unlink': 'Αποσύνδεση',
|
'journey.trips.unlink': 'Αποσύνδεση',
|
||||||
'journey.trips.tripUnlinked': 'Το ταξίδι αποσυνδέθηκε',
|
'journey.trips.tripUnlinked': 'Το ταξίδι αποσυνδέθηκε',
|
||||||
'journey.trips.unlinkFailed': 'Αποτυχία αποσύνδεσης ταξιδιού',
|
'journey.trips.unlinkFailed': 'Αποτυχία αποσύνδεσης ταξιδιού',
|
||||||
@@ -157,7 +169,8 @@ const journey: TranslationStrings = {
|
|||||||
'journey.contributors.added': 'Ο συνεισφέρων προστέθηκε',
|
'journey.contributors.added': 'Ο συνεισφέρων προστέθηκε',
|
||||||
'journey.contributors.addFailed': 'Αποτυχία προσθήκης συνεισφέροντα',
|
'journey.contributors.addFailed': 'Αποτυχία προσθήκης συνεισφέροντα',
|
||||||
'journey.contributors.remove': 'Αφαίρεση συνεισφέροντα',
|
'journey.contributors.remove': 'Αφαίρεση συνεισφέροντα',
|
||||||
'journey.contributors.removeConfirm': 'Αφαίρεση {username} από αυτό το ταξίδι;',
|
'journey.contributors.removeConfirm':
|
||||||
|
'Αφαίρεση {username} από αυτό το ταξίδι;',
|
||||||
'journey.contributors.removed': 'Ο συνεισφέρων αφαιρέθηκε',
|
'journey.contributors.removed': 'Ο συνεισφέρων αφαιρέθηκε',
|
||||||
'journey.contributors.removeFailed': 'Αποτυχία αφαίρεσης συνεισφέροντα',
|
'journey.contributors.removeFailed': 'Αποτυχία αφαίρεσης συνεισφέροντα',
|
||||||
'journey.share.publicShare': 'Δημόσια Κοινοποίηση',
|
'journey.share.publicShare': 'Δημόσια Κοινοποίηση',
|
||||||
@@ -189,10 +202,12 @@ const journey: TranslationStrings = {
|
|||||||
'journey.settings.reopenJourney': 'Επαναφορά Ταξιδιού',
|
'journey.settings.reopenJourney': 'Επαναφορά Ταξιδιού',
|
||||||
'journey.settings.archived': 'Το ταξίδι αρχειοθετήθηκε',
|
'journey.settings.archived': 'Το ταξίδι αρχειοθετήθηκε',
|
||||||
'journey.settings.reopened': 'Το ταξίδι επανενεργοποιήθηκε',
|
'journey.settings.reopened': 'Το ταξίδι επανενεργοποιήθηκε',
|
||||||
'journey.settings.endDescription': 'Αποκρύπτει το σήμα «Ζωντανά». Μπορείτε να το επαναφέρετε ανά πάσα στιγμή.',
|
'journey.settings.endDescription':
|
||||||
|
'Αποκρύπτει το σήμα «Ζωντανά». Μπορείτε να το επαναφέρετε ανά πάσα στιγμή.',
|
||||||
'journey.settings.delete': 'Διαγραφή',
|
'journey.settings.delete': 'Διαγραφή',
|
||||||
'journey.settings.deleteJourney': 'Διαγραφή Ταξιδιού',
|
'journey.settings.deleteJourney': 'Διαγραφή Ταξιδιού',
|
||||||
'journey.settings.deleteMessage': 'Διαγραφή «{title}»; Όλες οι καταχωρήσεις και οι φωτογραφίες θα χαθούν.',
|
'journey.settings.deleteMessage':
|
||||||
|
'Διαγραφή «{title}»; Όλες οι καταχωρήσεις και οι φωτογραφίες θα χαθούν.',
|
||||||
'journey.settings.saved': 'Οι ρυθμίσεις αποθηκεύτηκαν',
|
'journey.settings.saved': 'Οι ρυθμίσεις αποθηκεύτηκαν',
|
||||||
'journey.settings.saveFailed': 'Αποτυχία αποθήκευσης',
|
'journey.settings.saveFailed': 'Αποτυχία αποθήκευσης',
|
||||||
'journey.settings.coverUpdated': 'Το εξώφυλλο ενημερώθηκε',
|
'journey.settings.coverUpdated': 'Το εξώφυλλο ενημερώθηκε',
|
||||||
@@ -200,10 +215,12 @@ const journey: TranslationStrings = {
|
|||||||
'journey.settings.failedToDelete': 'Αποτυχία διαγραφής',
|
'journey.settings.failedToDelete': 'Αποτυχία διαγραφής',
|
||||||
'journey.entries.deleteTitle': 'Διαγραφή Καταχώρησης',
|
'journey.entries.deleteTitle': 'Διαγραφή Καταχώρησης',
|
||||||
'journey.photosUploaded': '{count} φωτογραφίες μεταφορτώθηκαν',
|
'journey.photosUploaded': '{count} φωτογραφίες μεταφορτώθηκαν',
|
||||||
'journey.photosUploadFailed': 'Ορισμένες φωτογραφίες απέτυχαν να μεταφορτωθούν',
|
'journey.photosUploadFailed':
|
||||||
|
'Ορισμένες φωτογραφίες απέτυχαν να μεταφορτωθούν',
|
||||||
'journey.photosAdded': '{count} φωτογραφίες προστέθηκαν',
|
'journey.photosAdded': '{count} φωτογραφίες προστέθηκαν',
|
||||||
'journey.public.notFound': 'Δεν Βρέθηκε',
|
'journey.public.notFound': 'Δεν Βρέθηκε',
|
||||||
'journey.public.notFoundMessage': 'Αυτό το ταξίδι δεν υπάρχει ή ο σύνδεσμος έχει λήξει.',
|
'journey.public.notFoundMessage':
|
||||||
|
'Αυτό το ταξίδι δεν υπάρχει ή ο σύνδεσμος έχει λήξει.',
|
||||||
'journey.public.readOnly': 'Μόνο ανάγνωση · Δημόσιο Ταξίδι',
|
'journey.public.readOnly': 'Μόνο ανάγνωση · Δημόσιο Ταξίδι',
|
||||||
'journey.public.tagline': 'Travel Resource & Exploration Kit',
|
'journey.public.tagline': 'Travel Resource & Exploration Kit',
|
||||||
'journey.public.sharedVia': 'Κοινοποιήθηκε μέσω',
|
'journey.public.sharedVia': 'Κοινοποιήθηκε μέσω',
|
||||||
|
|||||||
+40
-20
@@ -3,7 +3,8 @@ import type { TranslationStrings } from '../types';
|
|||||||
const login: TranslationStrings = {
|
const login: TranslationStrings = {
|
||||||
'login.error': 'Η σύνδεση απέτυχε. Παρακαλώ ελέγξτε τα στοιχεία σας.',
|
'login.error': 'Η σύνδεση απέτυχε. Παρακαλώ ελέγξτε τα στοιχεία σας.',
|
||||||
'login.tagline': 'Τα Ταξίδια σας.\nΤο Σχέδιό σας.',
|
'login.tagline': 'Τα Ταξίδια σας.\nΤο Σχέδιό σας.',
|
||||||
'login.description': 'Σχεδιάστε ταξίδια συνεργατικά με διαδραστικούς χάρτες, προϋπολογισμούς και συγχρονισμό σε πραγματικό χρόνο.',
|
'login.description':
|
||||||
|
'Σχεδιάστε ταξίδια συνεργατικά με διαδραστικούς χάρτες, προϋπολογισμούς και συγχρονισμό σε πραγματικό χρόνο.',
|
||||||
'login.features.maps': 'Διαδραστικοί Χάρτες',
|
'login.features.maps': 'Διαδραστικοί Χάρτες',
|
||||||
'login.features.mapsDesc': 'Google Places, διαδρομές & ομαδοποίηση',
|
'login.features.mapsDesc': 'Google Places, διαδρομές & ομαδοποίηση',
|
||||||
'login.features.realtime': 'Συγχρονισμός Πραγματικού Χρόνου',
|
'login.features.realtime': 'Συγχρονισμός Πραγματικού Χρόνου',
|
||||||
@@ -19,16 +20,20 @@ const login: TranslationStrings = {
|
|||||||
'login.features.files': 'Έγγραφα',
|
'login.features.files': 'Έγγραφα',
|
||||||
'login.features.filesDesc': 'Μεταφόρτωση & διαχείριση εγγράφων',
|
'login.features.filesDesc': 'Μεταφόρτωση & διαχείριση εγγράφων',
|
||||||
'login.features.routes': 'Έξυπνες Διαδρομές',
|
'login.features.routes': 'Έξυπνες Διαδρομές',
|
||||||
'login.features.routesDesc': 'Αυτόματη βελτιστοποίηση & εξαγωγή στο Google Maps',
|
'login.features.routesDesc':
|
||||||
'login.selfHosted': 'Self-hosted \u00B7 Open Source \u00B7 Τα δεδομένα σας παραμένουν δικά σας',
|
'Αυτόματη βελτιστοποίηση & εξαγωγή στο Google Maps',
|
||||||
|
'login.selfHosted':
|
||||||
|
'Self-hosted \u00B7 Open Source \u00B7 Τα δεδομένα σας παραμένουν δικά σας',
|
||||||
'login.title': 'Σύνδεση',
|
'login.title': 'Σύνδεση',
|
||||||
'login.subtitle': 'Καλώς ήρθατε πίσω',
|
'login.subtitle': 'Καλώς ήρθατε πίσω',
|
||||||
'login.signingIn': 'Σύνδεση…',
|
'login.signingIn': 'Σύνδεση…',
|
||||||
'login.signIn': 'Σύνδεση',
|
'login.signIn': 'Σύνδεση',
|
||||||
'login.createAdmin': 'Δημιουργία Λογαριασμού Διαχειριστή',
|
'login.createAdmin': 'Δημιουργία Λογαριασμού Διαχειριστή',
|
||||||
'login.createAdminHint': 'Ρυθμίστε τον πρώτο λογαριασμό διαχειριστή για το TREK.',
|
'login.createAdminHint':
|
||||||
|
'Ρυθμίστε τον πρώτο λογαριασμό διαχειριστή για το TREK.',
|
||||||
'login.setNewPassword': 'Ορισμός Νέου Κωδικού',
|
'login.setNewPassword': 'Ορισμός Νέου Κωδικού',
|
||||||
'login.setNewPasswordHint': 'Πρέπει να αλλάξετε τον κωδικό σας πριν συνεχίσετε.',
|
'login.setNewPasswordHint':
|
||||||
|
'Πρέπει να αλλάξετε τον κωδικό σας πριν συνεχίσετε.',
|
||||||
'login.createAccount': 'Δημιουργία Λογαριασμού',
|
'login.createAccount': 'Δημιουργία Λογαριασμού',
|
||||||
'login.createAccountHint': 'Καταχωρήστε έναν νέο λογαριασμό.',
|
'login.createAccountHint': 'Καταχωρήστε έναν νέο λογαριασμό.',
|
||||||
'login.creating': 'Δημιουργία…',
|
'login.creating': 'Δημιουργία…',
|
||||||
@@ -37,47 +42,62 @@ const login: TranslationStrings = {
|
|||||||
'login.register': 'Εγγραφή',
|
'login.register': 'Εγγραφή',
|
||||||
'login.emailPlaceholder': 'your@email.com',
|
'login.emailPlaceholder': 'your@email.com',
|
||||||
'login.username': 'Όνομα χρήστη',
|
'login.username': 'Όνομα χρήστη',
|
||||||
'login.oidc.registrationDisabled': 'Η εγγραφή είναι απενεργοποιημένη. Επικοινωνήστε με τον διαχειριστή σας.',
|
'login.oidc.registrationDisabled':
|
||||||
|
'Η εγγραφή είναι απενεργοποιημένη. Επικοινωνήστε με τον διαχειριστή σας.',
|
||||||
'login.oidc.noEmail': 'Δεν ελήφθη email από τον πάροχο.',
|
'login.oidc.noEmail': 'Δεν ελήφθη email από τον πάροχο.',
|
||||||
'login.oidc.tokenFailed': 'Ο έλεγχος ταυτότητας απέτυχε.',
|
'login.oidc.tokenFailed': 'Ο έλεγχος ταυτότητας απέτυχε.',
|
||||||
'login.oidc.invalidState': 'Μη έγκυρη συνεδρία. Παρακαλώ δοκιμάστε ξανά.',
|
'login.oidc.invalidState': 'Μη έγκυρη συνεδρία. Παρακαλώ δοκιμάστε ξανά.',
|
||||||
'login.demoFailed': 'Η σύνδεση demo απέτυχε',
|
'login.demoFailed': 'Η σύνδεση demo απέτυχε',
|
||||||
'login.oidcSignIn': 'Σύνδεση με {name}',
|
'login.oidcSignIn': 'Σύνδεση με {name}',
|
||||||
'login.oidcOnly': 'Ο έλεγχος ταυτότητας με κωδικό είναι απενεργοποιημένος. Παρακαλώ συνδεθείτε χρησιμοποιώντας τον πάροχο SSO σας.',
|
'login.oidcOnly':
|
||||||
'login.oidcLoggedOut': 'Έχετε αποσυνδεθεί. Συνδεθείτε ξανά χρησιμοποιώντας τον πάροχο SSO σας.',
|
'Ο έλεγχος ταυτότητας με κωδικό είναι απενεργοποιημένος. Παρακαλώ συνδεθείτε χρησιμοποιώντας τον πάροχο SSO σας.',
|
||||||
|
'login.oidcLoggedOut':
|
||||||
|
'Έχετε αποσυνδεθεί. Συνδεθείτε ξανά χρησιμοποιώντας τον πάροχο SSO σας.',
|
||||||
'login.demoHint': 'Δοκιμάστε το demo — δεν απαιτείται εγγραφή',
|
'login.demoHint': 'Δοκιμάστε το demo — δεν απαιτείται εγγραφή',
|
||||||
'login.mfaTitle': 'Έλεγχος ταυτότητας δύο παραγόντων',
|
'login.mfaTitle': 'Έλεγχος ταυτότητας δύο παραγόντων',
|
||||||
'login.mfaSubtitle': 'Εισάγετε τον 6ψήφιο κωδικό από την εφαρμογή authenticator σας.',
|
'login.mfaSubtitle':
|
||||||
|
'Εισάγετε τον 6ψήφιο κωδικό από την εφαρμογή authenticator σας.',
|
||||||
'login.mfaCodeLabel': 'Κωδικός επαλήθευσης',
|
'login.mfaCodeLabel': 'Κωδικός επαλήθευσης',
|
||||||
'login.mfaCodeRequired': 'Εισάγετε τον κωδικό από την εφαρμογή authenticator σας.',
|
'login.mfaCodeRequired':
|
||||||
'login.mfaHint': 'Ανοίξτε το Google Authenticator, Authy ή άλλη εφαρμογή TOTP.',
|
'Εισάγετε τον κωδικό από την εφαρμογή authenticator σας.',
|
||||||
|
'login.mfaHint':
|
||||||
|
'Ανοίξτε το Google Authenticator, Authy ή άλλη εφαρμογή TOTP.',
|
||||||
'login.mfaBack': '← Πίσω στη σύνδεση',
|
'login.mfaBack': '← Πίσω στη σύνδεση',
|
||||||
'login.mfaVerify': 'Επαλήθευση',
|
'login.mfaVerify': 'Επαλήθευση',
|
||||||
'login.invalidInviteLink': 'Μη έγκυρος ή ληγμένος σύνδεσμος πρόσκλησης',
|
'login.invalidInviteLink': 'Μη έγκυρος ή ληγμένος σύνδεσμος πρόσκλησης',
|
||||||
'login.oidcFailed': 'Η σύνδεση OIDC απέτυχε',
|
'login.oidcFailed': 'Η σύνδεση OIDC απέτυχε',
|
||||||
'login.usernameRequired': 'Το όνομα χρήστη είναι υποχρεωτικό',
|
'login.usernameRequired': 'Το όνομα χρήστη είναι υποχρεωτικό',
|
||||||
'login.passwordMinLength': 'Ο κωδικός πρέπει να έχει τουλάχιστον 8 χαρακτήρες',
|
'login.passwordMinLength':
|
||||||
|
'Ο κωδικός πρέπει να έχει τουλάχιστον 8 χαρακτήρες',
|
||||||
'login.forgotPassword': 'Ξεχάσατε τον κωδικό;',
|
'login.forgotPassword': 'Ξεχάσατε τον κωδικό;',
|
||||||
'login.forgotPasswordTitle': 'Επαναφορά του κωδικού σας',
|
'login.forgotPasswordTitle': 'Επαναφορά του κωδικού σας',
|
||||||
'login.forgotPasswordBody': 'Εισάγετε το email με το οποίο εγγραφήκατε. Αν υπάρχει λογαριασμός, θα στείλουμε έναν σύνδεσμο επαναφοράς.',
|
'login.forgotPasswordBody':
|
||||||
|
'Εισάγετε το email με το οποίο εγγραφήκατε. Αν υπάρχει λογαριασμός, θα στείλουμε έναν σύνδεσμο επαναφοράς.',
|
||||||
'login.forgotPasswordSubmit': 'Αποστολή συνδέσμου επαναφοράς',
|
'login.forgotPasswordSubmit': 'Αποστολή συνδέσμου επαναφοράς',
|
||||||
'login.forgotPasswordSentTitle': 'Ελέγξτε το email σας',
|
'login.forgotPasswordSentTitle': 'Ελέγξτε το email σας',
|
||||||
'login.forgotPasswordSentBody': 'Αν υπάρχει λογαριασμός για αυτό το email, ένας σύνδεσμος επαναφοράς είναι καθ\'οδόν. Λήγει σε 60 λεπτά.',
|
'login.forgotPasswordSentBody':
|
||||||
'login.forgotPasswordSmtpHintOff': 'Προσοχή: ο διαχειριστής σας δεν έχει διαμορφώσει SMTP, οπότε ο σύνδεσμος επαναφοράς θα γραφτεί στην κονσόλα του server αντί να σταλεί με email.',
|
"Αν υπάρχει λογαριασμός για αυτό το email, ένας σύνδεσμος επαναφοράς είναι καθ'οδόν. Λήγει σε 60 λεπτά.",
|
||||||
|
'login.forgotPasswordSmtpHintOff':
|
||||||
|
'Προσοχή: ο διαχειριστής σας δεν έχει διαμορφώσει SMTP, οπότε ο σύνδεσμος επαναφοράς θα γραφτεί στην κονσόλα του server αντί να σταλεί με email.',
|
||||||
'login.backToLogin': 'Πίσω στη σύνδεση',
|
'login.backToLogin': 'Πίσω στη σύνδεση',
|
||||||
'login.newPassword': 'Νέος κωδικός',
|
'login.newPassword': 'Νέος κωδικός',
|
||||||
'login.confirmPassword': 'Επιβεβαίωση νέου κωδικού',
|
'login.confirmPassword': 'Επιβεβαίωση νέου κωδικού',
|
||||||
'login.passwordsDontMatch': 'Οι κωδικοί δεν ταιριάζουν',
|
'login.passwordsDontMatch': 'Οι κωδικοί δεν ταιριάζουν',
|
||||||
'login.mfaCode': 'Κωδικός 2FA',
|
'login.mfaCode': 'Κωδικός 2FA',
|
||||||
'login.resetPasswordTitle': 'Ορίστε έναν νέο κωδικό',
|
'login.resetPasswordTitle': 'Ορίστε έναν νέο κωδικό',
|
||||||
'login.resetPasswordBody': 'Επιλέξτε έναν ισχυρό κωδικό που δεν έχετε χρησιμοποιήσει εδώ ξανά. Ελάχιστο 8 χαρακτήρες.',
|
'login.resetPasswordBody':
|
||||||
'login.resetPasswordMfaBody': 'Εισάγετε τον κωδικό 2FA ή έναν εφεδρικό κωδικό για να ολοκληρωθεί η επαναφορά.',
|
'Επιλέξτε έναν ισχυρό κωδικό που δεν έχετε χρησιμοποιήσει εδώ ξανά. Ελάχιστο 8 χαρακτήρες.',
|
||||||
|
'login.resetPasswordMfaBody':
|
||||||
|
'Εισάγετε τον κωδικό 2FA ή έναν εφεδρικό κωδικό για να ολοκληρωθεί η επαναφορά.',
|
||||||
'login.resetPasswordSubmit': 'Επαναφορά κωδικού',
|
'login.resetPasswordSubmit': 'Επαναφορά κωδικού',
|
||||||
'login.resetPasswordVerify': 'Επαλήθευση & επαναφορά',
|
'login.resetPasswordVerify': 'Επαλήθευση & επαναφορά',
|
||||||
'login.resetPasswordSuccessTitle': 'Ο κωδικός ενημερώθηκε',
|
'login.resetPasswordSuccessTitle': 'Ο κωδικός ενημερώθηκε',
|
||||||
'login.resetPasswordSuccessBody': 'Μπορείτε τώρα να συνδεθείτε με τον νέο σας κωδικό.',
|
'login.resetPasswordSuccessBody':
|
||||||
|
'Μπορείτε τώρα να συνδεθείτε με τον νέο σας κωδικό.',
|
||||||
'login.resetPasswordInvalidLink': 'Μη έγκυρος σύνδεσμος επαναφοράς',
|
'login.resetPasswordInvalidLink': 'Μη έγκυρος σύνδεσμος επαναφοράς',
|
||||||
'login.resetPasswordInvalidLinkBody': 'Αυτός ο σύνδεσμος λείπει ή έχει χαλάσει. Ζητήστε έναν νέο για να συνεχίσετε.',
|
'login.resetPasswordInvalidLinkBody':
|
||||||
'login.resetPasswordFailed': 'Η επαναφορά απέτυχε. Ο σύνδεσμος μπορεί να έχει λήξει.',
|
'Αυτός ο σύνδεσμος λείπει ή έχει χαλάσει. Ζητήστε έναν νέο για να συνεχίσετε.',
|
||||||
|
'login.resetPasswordFailed':
|
||||||
|
'Η επαναφορά απέτυχε. Ο σύνδεσμος μπορεί να έχει λήξει.',
|
||||||
};
|
};
|
||||||
export default login;
|
export default login;
|
||||||
|
|||||||
@@ -3,17 +3,22 @@ import type { TranslationStrings } from '../types';
|
|||||||
const memories: TranslationStrings = {
|
const memories: TranslationStrings = {
|
||||||
'memories.title': 'Φωτογραφίες',
|
'memories.title': 'Φωτογραφίες',
|
||||||
'memories.notConnected': 'Το {provider_name} δεν είναι συνδεδεμένο',
|
'memories.notConnected': 'Το {provider_name} δεν είναι συνδεδεμένο',
|
||||||
'memories.notConnectedHint': 'Συνδέστε την υπηρεσία {provider_name} στις Ρυθμίσεις για να μπορείτε να προσθέτετε φωτογραφίες σε αυτό το ταξίδι.',
|
'memories.notConnectedHint':
|
||||||
'memories.notConnectedMultipleHint': 'Συνδέστε οποιονδήποτε από αυτούς τους παρόχους φωτογραφιών: {provider_names} στις Ρυθμίσεις για να μπορείτε να προσθέτετε φωτογραφίες σε αυτό το ταξίδι.',
|
'Συνδέστε την υπηρεσία {provider_name} στις Ρυθμίσεις για να μπορείτε να προσθέτετε φωτογραφίες σε αυτό το ταξίδι.',
|
||||||
'memories.noDates': 'Προσθέστε ημερομηνίες στο ταξίδι σας για να φορτωθούν φωτογραφίες.',
|
'memories.notConnectedMultipleHint':
|
||||||
|
'Συνδέστε οποιονδήποτε από αυτούς τους παρόχους φωτογραφιών: {provider_names} στις Ρυθμίσεις για να μπορείτε να προσθέτετε φωτογραφίες σε αυτό το ταξίδι.',
|
||||||
|
'memories.noDates':
|
||||||
|
'Προσθέστε ημερομηνίες στο ταξίδι σας για να φορτωθούν φωτογραφίες.',
|
||||||
'memories.noPhotos': 'Δεν βρέθηκαν φωτογραφίες',
|
'memories.noPhotos': 'Δεν βρέθηκαν φωτογραφίες',
|
||||||
'memories.noPhotosHint': 'Δεν βρέθηκαν φωτογραφίες στο {provider_name} για το εύρος ημερομηνιών αυτού του ταξιδιού.',
|
'memories.noPhotosHint':
|
||||||
|
'Δεν βρέθηκαν φωτογραφίες στο {provider_name} για το εύρος ημερομηνιών αυτού του ταξιδιού.',
|
||||||
'memories.photosFound': 'φωτογραφίες',
|
'memories.photosFound': 'φωτογραφίες',
|
||||||
'memories.fromOthers': 'από άλλους',
|
'memories.fromOthers': 'από άλλους',
|
||||||
'memories.sharePhotos': 'Κοινή χρήση φωτογραφιών',
|
'memories.sharePhotos': 'Κοινή χρήση φωτογραφιών',
|
||||||
'memories.sharing': 'Κοινή χρήση',
|
'memories.sharing': 'Κοινή χρήση',
|
||||||
'memories.reviewTitle': 'Ελέγξτε τις φωτογραφίες σας',
|
'memories.reviewTitle': 'Ελέγξτε τις φωτογραφίες σας',
|
||||||
'memories.reviewHint': 'Κάντε κλικ στις φωτογραφίες για να τις εξαιρέσετε από την κοινή χρήση.',
|
'memories.reviewHint':
|
||||||
|
'Κάντε κλικ στις φωτογραφίες για να τις εξαιρέσετε από την κοινή χρήση.',
|
||||||
'memories.shareCount': 'Κοινή χρήση {count} φωτογραφιών',
|
'memories.shareCount': 'Κοινή χρήση {count} φωτογραφιών',
|
||||||
'memories.providerUrl': 'URL Διακομιστή',
|
'memories.providerUrl': 'URL Διακομιστή',
|
||||||
'memories.providerApiKey': 'API Key',
|
'memories.providerApiKey': 'API Key',
|
||||||
@@ -21,8 +26,10 @@ const memories: TranslationStrings = {
|
|||||||
'memories.providerPassword': 'Κωδικός',
|
'memories.providerPassword': 'Κωδικός',
|
||||||
'memories.providerOTP': 'Κωδικός MFA (αν είναι ενεργοποιημένος)',
|
'memories.providerOTP': 'Κωδικός MFA (αν είναι ενεργοποιημένος)',
|
||||||
'memories.skipSSLVerification': 'Παράλειψη επαλήθευσης πιστοποιητικού SSL',
|
'memories.skipSSLVerification': 'Παράλειψη επαλήθευσης πιστοποιητικού SSL',
|
||||||
'memories.immichAutoUpload': 'Αντικατοπτρισμός φωτογραφιών journey στο Immich κατά τη μεταφόρτωση',
|
'memories.immichAutoUpload':
|
||||||
'memories.providerUrlHintSynology': 'Συμπεριλάβετε τη διαδρομή της εφαρμογής Photos στο URL, π.χ. https://nas:5001/photo',
|
'Αντικατοπτρισμός φωτογραφιών journey στο Immich κατά τη μεταφόρτωση',
|
||||||
|
'memories.providerUrlHintSynology':
|
||||||
|
'Συμπεριλάβετε τη διαδρομή της εφαρμογής Photos στο URL, π.χ. https://nas:5001/photo',
|
||||||
'memories.testConnection': 'Δοκιμή σύνδεσης',
|
'memories.testConnection': 'Δοκιμή σύνδεσης',
|
||||||
'memories.testShort': 'Δοκιμή',
|
'memories.testShort': 'Δοκιμή',
|
||||||
'memories.testFirst': 'Δοκιμάστε πρώτα τη σύνδεση',
|
'memories.testFirst': 'Δοκιμάστε πρώτα τη σύνδεση',
|
||||||
@@ -31,8 +38,10 @@ const memories: TranslationStrings = {
|
|||||||
'memories.connectionSuccess': 'Συνδέθηκε στο {provider_name}',
|
'memories.connectionSuccess': 'Συνδέθηκε στο {provider_name}',
|
||||||
'memories.connectionError': 'Δεν ήταν δυνατή η σύνδεση στο {provider_name}',
|
'memories.connectionError': 'Δεν ήταν δυνατή η σύνδεση στο {provider_name}',
|
||||||
'memories.saved': 'Οι ρυθμίσεις {provider_name} αποθηκεύτηκαν',
|
'memories.saved': 'Οι ρυθμίσεις {provider_name} αποθηκεύτηκαν',
|
||||||
'memories.providerDisconnectedBanner': 'Η σύνδεση {provider_name} χάθηκε. Επανασυνδεθείτε στις Ρυθμίσεις για να δείτε φωτογραφίες.',
|
'memories.providerDisconnectedBanner':
|
||||||
'memories.saveError': 'Δεν ήταν δυνατή η αποθήκευση των ρυθμίσεων {provider_name}',
|
'Η σύνδεση {provider_name} χάθηκε. Επανασυνδεθείτε στις Ρυθμίσεις για να δείτε φωτογραφίες.',
|
||||||
|
'memories.saveError':
|
||||||
|
'Δεν ήταν δυνατή η αποθήκευση των ρυθμίσεων {provider_name}',
|
||||||
'memories.addPhotos': 'Προσθήκη φωτογραφιών',
|
'memories.addPhotos': 'Προσθήκη φωτογραφιών',
|
||||||
'memories.linkAlbum': 'Σύνδεση Άλμπουμ',
|
'memories.linkAlbum': 'Σύνδεση Άλμπουμ',
|
||||||
'memories.selectAlbum': 'Επιλογή Άλμπουμ {provider_name}',
|
'memories.selectAlbum': 'Επιλογή Άλμπουμ {provider_name}',
|
||||||
@@ -55,7 +64,8 @@ const memories: TranslationStrings = {
|
|||||||
'memories.tripDates': 'Ημερομηνίες ταξιδιού',
|
'memories.tripDates': 'Ημερομηνίες ταξιδιού',
|
||||||
'memories.allPhotos': 'Όλες οι φωτογραφίες',
|
'memories.allPhotos': 'Όλες οι φωτογραφίες',
|
||||||
'memories.confirmShareTitle': 'Κοινή χρήση με τα μέλη του ταξιδιού;',
|
'memories.confirmShareTitle': 'Κοινή χρήση με τα μέλη του ταξιδιού;',
|
||||||
'memories.confirmShareHint': '{count} φωτογραφίες θα είναι ορατές σε όλα τα μέλη αυτού του ταξιδιού. Μπορείτε να κάνετε μεμονωμένες φωτογραφίες ιδιωτικές αργότερα.',
|
'memories.confirmShareHint':
|
||||||
|
'{count} φωτογραφίες θα είναι ορατές σε όλα τα μέλη αυτού του ταξιδιού. Μπορείτε να κάνετε μεμονωμένες φωτογραφίες ιδιωτικές αργότερα.',
|
||||||
'memories.confirmShareButton': 'Κοινή χρήση φωτογραφιών',
|
'memories.confirmShareButton': 'Κοινή χρήση φωτογραφιών',
|
||||||
'memories.error.loadAlbums': 'Αποτυχία φόρτωσης άλμπουμ',
|
'memories.error.loadAlbums': 'Αποτυχία φόρτωσης άλμπουμ',
|
||||||
'memories.error.linkAlbum': 'Αποτυχία σύνδεσης άλμπουμ',
|
'memories.error.linkAlbum': 'Αποτυχία σύνδεσης άλμπουμ',
|
||||||
@@ -65,8 +75,11 @@ const memories: TranslationStrings = {
|
|||||||
'memories.error.addPhotos': 'Αποτυχία προσθήκης φωτογραφιών',
|
'memories.error.addPhotos': 'Αποτυχία προσθήκης φωτογραφιών',
|
||||||
'memories.error.removePhoto': 'Αποτυχία αφαίρεσης φωτογραφίας',
|
'memories.error.removePhoto': 'Αποτυχία αφαίρεσης φωτογραφίας',
|
||||||
'memories.error.toggleSharing': 'Αποτυχία ενημέρωσης κοινής χρήσης',
|
'memories.error.toggleSharing': 'Αποτυχία ενημέρωσης κοινής χρήσης',
|
||||||
'memories.saveRouteNotConfigured': 'Η διαδρομή αποθήκευσης δεν έχει ρυθμιστεί για αυτόν τον πάροχο',
|
'memories.saveRouteNotConfigured':
|
||||||
'memories.testRouteNotConfigured': 'Η διαδρομή δοκιμής δεν έχει ρυθμιστεί για αυτόν τον πάροχο',
|
'Η διαδρομή αποθήκευσης δεν έχει ρυθμιστεί για αυτόν τον πάροχο',
|
||||||
'memories.fillRequiredFields': 'Παρακαλώ συμπληρώστε όλα τα απαιτούμενα πεδία',
|
'memories.testRouteNotConfigured':
|
||||||
|
'Η διαδρομή δοκιμής δεν έχει ρυθμιστεί για αυτόν τον πάροχο',
|
||||||
|
'memories.fillRequiredFields':
|
||||||
|
'Παρακαλώ συμπληρώστε όλα τα απαιτούμενα πεδία',
|
||||||
};
|
};
|
||||||
export default memories;
|
export default memories;
|
||||||
|
|||||||
@@ -4,7 +4,8 @@ const notif: TranslationStrings = {
|
|||||||
'notif.test.title': '[Δοκιμή] Ειδοποίηση',
|
'notif.test.title': '[Δοκιμή] Ειδοποίηση',
|
||||||
'notif.test.simple.text': 'Αυτή είναι μια απλή δοκιμαστική ειδοποίηση.',
|
'notif.test.simple.text': 'Αυτή είναι μια απλή δοκιμαστική ειδοποίηση.',
|
||||||
'notif.test.boolean.text': 'Αποδέχεστε αυτή τη δοκιμαστική ειδοποίηση;',
|
'notif.test.boolean.text': 'Αποδέχεστε αυτή τη δοκιμαστική ειδοποίηση;',
|
||||||
'notif.test.navigate.text': 'Κάντε κλικ παρακάτω για μετάβαση στον πίνακα ελέγχου.',
|
'notif.test.navigate.text':
|
||||||
|
'Κάντε κλικ παρακάτω για μετάβαση στον πίνακα ελέγχου.',
|
||||||
'notif.trip_invite.title': 'Πρόσκληση Ταξιδιού',
|
'notif.trip_invite.title': 'Πρόσκληση Ταξιδιού',
|
||||||
'notif.trip_invite.text': 'Ο/Η {actor} σας προσκάλεσε στο {trip}',
|
'notif.trip_invite.text': 'Ο/Η {actor} σας προσκάλεσε στο {trip}',
|
||||||
'notif.booking_change.title': 'Η Κράτηση Ενημερώθηκε',
|
'notif.booking_change.title': 'Η Κράτηση Ενημερώθηκε',
|
||||||
@@ -14,13 +15,16 @@ const notif: TranslationStrings = {
|
|||||||
'notif.todo_due.title': 'Εργασία προς λήξη',
|
'notif.todo_due.title': 'Εργασία προς λήξη',
|
||||||
'notif.todo_due.text': 'Η εργασία {todo} στο {trip} λήγει στις {due}',
|
'notif.todo_due.text': 'Η εργασία {todo} στο {trip} λήγει στις {due}',
|
||||||
'notif.vacay_invite.title': 'Πρόσκληση Σύντηξης Vacay',
|
'notif.vacay_invite.title': 'Πρόσκληση Σύντηξης Vacay',
|
||||||
'notif.vacay_invite.text': 'Ο/Η {actor} σας προσκάλεσε να συγχωνεύσετε τα σχέδια διακοπών',
|
'notif.vacay_invite.text':
|
||||||
|
'Ο/Η {actor} σας προσκάλεσε να συγχωνεύσετε τα σχέδια διακοπών',
|
||||||
'notif.photos_shared.title': 'Κοινοποίηση Φωτογραφιών',
|
'notif.photos_shared.title': 'Κοινοποίηση Φωτογραφιών',
|
||||||
'notif.photos_shared.text': 'Ο/Η {actor} μοιράστηκε {count} φωτογραφία(ες) στο {trip}',
|
'notif.photos_shared.text':
|
||||||
|
'Ο/Η {actor} μοιράστηκε {count} φωτογραφία(ες) στο {trip}',
|
||||||
'notif.collab_message.title': 'Νέο Μήνυμα',
|
'notif.collab_message.title': 'Νέο Μήνυμα',
|
||||||
'notif.collab_message.text': 'Ο/Η {actor} έστειλε ένα μήνυμα στο {trip}',
|
'notif.collab_message.text': 'Ο/Η {actor} έστειλε ένα μήνυμα στο {trip}',
|
||||||
'notif.packing_tagged.title': 'Ανάθεση Αποσκευών',
|
'notif.packing_tagged.title': 'Ανάθεση Αποσκευών',
|
||||||
'notif.packing_tagged.text': 'Ο/Η {actor} σας ανέθεσε στο {category} του {trip}',
|
'notif.packing_tagged.text':
|
||||||
|
'Ο/Η {actor} σας ανέθεσε στο {category} του {trip}',
|
||||||
'notif.version_available.title': 'Νέα Έκδοση Διαθέσιμη',
|
'notif.version_available.title': 'Νέα Έκδοση Διαθέσιμη',
|
||||||
'notif.version_available.text': 'Το TREK {version} είναι τώρα διαθέσιμο',
|
'notif.version_available.text': 'Το TREK {version} είναι τώρα διαθέσιμο',
|
||||||
'notif.action.view_trip': 'Προβολή Ταξιδιού',
|
'notif.action.view_trip': 'Προβολή Ταξιδιού',
|
||||||
@@ -35,6 +39,7 @@ const notif: TranslationStrings = {
|
|||||||
'notif.generic.title': 'Ειδοποίηση',
|
'notif.generic.title': 'Ειδοποίηση',
|
||||||
'notif.generic.text': 'Έχετε μια νέα ειδοποίηση',
|
'notif.generic.text': 'Έχετε μια νέα ειδοποίηση',
|
||||||
'notif.dev.unknown_event.title': '[DEV] Άγνωστο Συμβάν',
|
'notif.dev.unknown_event.title': '[DEV] Άγνωστο Συμβάν',
|
||||||
'notif.dev.unknown_event.text': 'Ο τύπος συμβάντος "{event}" δεν είναι εγγεγραμμένος στο EVENT_NOTIFICATION_CONFIG',
|
'notif.dev.unknown_event.text':
|
||||||
|
'Ο τύπος συμβάντος "{event}" δεν είναι εγγεγραμμένος στο EVENT_NOTIFICATION_CONFIG',
|
||||||
};
|
};
|
||||||
export default notif;
|
export default notif;
|
||||||
|
|||||||
@@ -13,23 +13,30 @@ const notifications: TranslationStrings = {
|
|||||||
'notifications.markUnread': 'Σήμανση ως μη αναγνωσμένη',
|
'notifications.markUnread': 'Σήμανση ως μη αναγνωσμένη',
|
||||||
'notifications.delete': 'Διαγραφή',
|
'notifications.delete': 'Διαγραφή',
|
||||||
'notifications.system': 'Σύστημα',
|
'notifications.system': 'Σύστημα',
|
||||||
'notifications.synologySessionCleared.title': 'Το Synology Photos αποσυνδέθηκε',
|
'notifications.synologySessionCleared.title':
|
||||||
'notifications.synologySessionCleared.text': 'Ο διακομιστής ή ο λογαριασμός σας άλλαξε — μεταβείτε στις Ρυθμίσεις για να δοκιμάσετε ξανά τη σύνδεσή σας.',
|
'Το Synology Photos αποσυνδέθηκε',
|
||||||
|
'notifications.synologySessionCleared.text':
|
||||||
|
'Ο διακομιστής ή ο λογαριασμός σας άλλαξε — μεταβείτε στις Ρυθμίσεις για να δοκιμάσετε ξανά τη σύνδεσή σας.',
|
||||||
'notifications.versionAvailable.title': 'Διαθέσιμη Ενημέρωση',
|
'notifications.versionAvailable.title': 'Διαθέσιμη Ενημέρωση',
|
||||||
'notifications.versionAvailable.text': 'Το TREK {version} είναι τώρα διαθέσιμο.',
|
'notifications.versionAvailable.text':
|
||||||
|
'Το TREK {version} είναι τώρα διαθέσιμο.',
|
||||||
'notifications.versionAvailable.button': 'Προβολή Λεπτομερειών',
|
'notifications.versionAvailable.button': 'Προβολή Λεπτομερειών',
|
||||||
'notifications.test.title': 'Δοκιμαστική ειδοποίηση από {actor}',
|
'notifications.test.title': 'Δοκιμαστική ειδοποίηση από {actor}',
|
||||||
'notifications.test.text': 'Αυτή είναι μια απλή δοκιμαστική ειδοποίηση.',
|
'notifications.test.text': 'Αυτή είναι μια απλή δοκιμαστική ειδοποίηση.',
|
||||||
'notifications.test.booleanTitle': 'Ο {actor} ζητά την έγκρισή σας',
|
'notifications.test.booleanTitle': 'Ο {actor} ζητά την έγκρισή σας',
|
||||||
'notifications.test.booleanText': 'Αυτή είναι μια δοκιμαστική ειδοποίηση boolean. Επιλέξτε μια ενέργεια παρακάτω.',
|
'notifications.test.booleanText':
|
||||||
|
'Αυτή είναι μια δοκιμαστική ειδοποίηση boolean. Επιλέξτε μια ενέργεια παρακάτω.',
|
||||||
'notifications.test.accept': 'Έγκριση',
|
'notifications.test.accept': 'Έγκριση',
|
||||||
'notifications.test.decline': 'Απόρριψη',
|
'notifications.test.decline': 'Απόρριψη',
|
||||||
'notifications.test.navigateTitle': 'Ρίξτε μια ματιά',
|
'notifications.test.navigateTitle': 'Ρίξτε μια ματιά',
|
||||||
'notifications.test.navigateText': 'Αυτή είναι μια δοκιμαστική ειδοποίηση πλοήγησης.',
|
'notifications.test.navigateText':
|
||||||
|
'Αυτή είναι μια δοκιμαστική ειδοποίηση πλοήγησης.',
|
||||||
'notifications.test.goThere': 'Μετάβαση εκεί',
|
'notifications.test.goThere': 'Μετάβαση εκεί',
|
||||||
'notifications.test.adminTitle': 'Εκπομπή διαχειριστή',
|
'notifications.test.adminTitle': 'Εκπομπή διαχειριστή',
|
||||||
'notifications.test.adminText': 'Ο {actor} έστειλε μια δοκιμαστική ειδοποίηση σε όλους τους διαχειριστές.',
|
'notifications.test.adminText':
|
||||||
|
'Ο {actor} έστειλε μια δοκιμαστική ειδοποίηση σε όλους τους διαχειριστές.',
|
||||||
'notifications.test.tripTitle': 'Ο {actor} δημοσίευσε στο ταξίδι σας',
|
'notifications.test.tripTitle': 'Ο {actor} δημοσίευσε στο ταξίδι σας',
|
||||||
'notifications.test.tripText': 'Δοκιμαστική ειδοποίηση για το ταξίδι «{trip}».',
|
'notifications.test.tripText':
|
||||||
|
'Δοκιμαστική ειδοποίηση για το ταξίδι «{trip}».',
|
||||||
};
|
};
|
||||||
export default notifications;
|
export default notifications;
|
||||||
|
|||||||
+54
-27
@@ -15,58 +15,85 @@ const oauth: TranslationStrings = {
|
|||||||
'oauth.scope.group.weather': 'Καιρός',
|
'oauth.scope.group.weather': 'Καιρός',
|
||||||
'oauth.scope.group.journey': 'Ταξίδι',
|
'oauth.scope.group.journey': 'Ταξίδι',
|
||||||
'oauth.scope.trips:read.label': 'Προβολή ταξιδιών & δρομολογίων',
|
'oauth.scope.trips:read.label': 'Προβολή ταξιδιών & δρομολογίων',
|
||||||
'oauth.scope.trips:read.description': 'Ανάγνωση ταξιδιών, ημερών, σημειώσεων και μελών',
|
'oauth.scope.trips:read.description':
|
||||||
|
'Ανάγνωση ταξιδιών, ημερών, σημειώσεων και μελών',
|
||||||
'oauth.scope.trips:write.label': 'Επεξεργασία ταξιδιών & δρομολογίων',
|
'oauth.scope.trips:write.label': 'Επεξεργασία ταξιδιών & δρομολογίων',
|
||||||
'oauth.scope.trips:write.description': 'Δημιουργία και ενημέρωση ταξιδιών, ημερών, σημειώσεων και διαχείριση μελών',
|
'oauth.scope.trips:write.description':
|
||||||
|
'Δημιουργία και ενημέρωση ταξιδιών, ημερών, σημειώσεων και διαχείριση μελών',
|
||||||
'oauth.scope.trips:delete.label': 'Διαγραφή ταξιδιών',
|
'oauth.scope.trips:delete.label': 'Διαγραφή ταξιδιών',
|
||||||
'oauth.scope.trips:delete.description': 'Οριστική διαγραφή ολόκληρων ταξιδιών — αυτή η ενέργεια είναι μη ανατρέψιμη',
|
'oauth.scope.trips:delete.description':
|
||||||
|
'Οριστική διαγραφή ολόκληρων ταξιδιών — αυτή η ενέργεια είναι μη ανατρέψιμη',
|
||||||
'oauth.scope.trips:share.label': 'Διαχείριση συνδέσμων κοινής χρήσης',
|
'oauth.scope.trips:share.label': 'Διαχείριση συνδέσμων κοινής χρήσης',
|
||||||
'oauth.scope.trips:share.description': 'Δημιουργία, ενημέρωση και ανάκληση δημόσιων συνδέσμων κοινής χρήσης για ταξίδια',
|
'oauth.scope.trips:share.description':
|
||||||
|
'Δημιουργία, ενημέρωση και ανάκληση δημόσιων συνδέσμων κοινής χρήσης για ταξίδια',
|
||||||
'oauth.scope.places:read.label': 'Προβολή τοποθεσιών & δεδομένων χάρτη',
|
'oauth.scope.places:read.label': 'Προβολή τοποθεσιών & δεδομένων χάρτη',
|
||||||
'oauth.scope.places:read.description': 'Ανάγνωση τοποθεσιών, αναθέσεων ημερών, ετικετών και κατηγοριών',
|
'oauth.scope.places:read.description':
|
||||||
|
'Ανάγνωση τοποθεσιών, αναθέσεων ημερών, ετικετών και κατηγοριών',
|
||||||
'oauth.scope.places:write.label': 'Διαχείριση τοποθεσιών',
|
'oauth.scope.places:write.label': 'Διαχείριση τοποθεσιών',
|
||||||
'oauth.scope.places:write.description': 'Δημιουργία, ενημέρωση και διαγραφή τοποθεσιών, αναθέσεων και ετικετών',
|
'oauth.scope.places:write.description':
|
||||||
|
'Δημιουργία, ενημέρωση και διαγραφή τοποθεσιών, αναθέσεων και ετικετών',
|
||||||
'oauth.scope.atlas:read.label': 'Προβολή Atlas',
|
'oauth.scope.atlas:read.label': 'Προβολή Atlas',
|
||||||
'oauth.scope.atlas:read.description': 'Ανάγνωση περιοχών που έχουν επισκεφθεί, χωρών και λίστας επιθυμιών',
|
'oauth.scope.atlas:read.description':
|
||||||
|
'Ανάγνωση περιοχών που έχουν επισκεφθεί, χωρών και λίστας επιθυμιών',
|
||||||
'oauth.scope.atlas:write.label': 'Διαχείριση Atlas',
|
'oauth.scope.atlas:write.label': 'Διαχείριση Atlas',
|
||||||
'oauth.scope.atlas:write.description': 'Σήμανση χωρών και περιοχών ως επισκεφθεισών, διαχείριση λίστας επιθυμιών',
|
'oauth.scope.atlas:write.description':
|
||||||
|
'Σήμανση χωρών και περιοχών ως επισκεφθεισών, διαχείριση λίστας επιθυμιών',
|
||||||
'oauth.scope.packing:read.label': 'Προβολή λιστών αποσκευών',
|
'oauth.scope.packing:read.label': 'Προβολή λιστών αποσκευών',
|
||||||
'oauth.scope.packing:read.description': 'Ανάγνωση αντικειμένων αποσκευών, τσαντών και αναθέσεων κατηγοριών',
|
'oauth.scope.packing:read.description':
|
||||||
|
'Ανάγνωση αντικειμένων αποσκευών, τσαντών και αναθέσεων κατηγοριών',
|
||||||
'oauth.scope.packing:write.label': 'Διαχείριση λιστών αποσκευών',
|
'oauth.scope.packing:write.label': 'Διαχείριση λιστών αποσκευών',
|
||||||
'oauth.scope.packing:write.description': 'Προσθήκη, ενημέρωση, διαγραφή, εναλλαγή και αναδιάταξη αντικειμένων και τσαντών',
|
'oauth.scope.packing:write.description':
|
||||||
|
'Προσθήκη, ενημέρωση, διαγραφή, εναλλαγή και αναδιάταξη αντικειμένων και τσαντών',
|
||||||
'oauth.scope.todos:read.label': 'Προβολή λιστών εργασιών',
|
'oauth.scope.todos:read.label': 'Προβολή λιστών εργασιών',
|
||||||
'oauth.scope.todos:read.description': 'Ανάγνωση εργασιών ταξιδιού και αναθέσεων κατηγοριών',
|
'oauth.scope.todos:read.description':
|
||||||
|
'Ανάγνωση εργασιών ταξιδιού και αναθέσεων κατηγοριών',
|
||||||
'oauth.scope.todos:write.label': 'Διαχείριση λιστών εργασιών',
|
'oauth.scope.todos:write.label': 'Διαχείριση λιστών εργασιών',
|
||||||
'oauth.scope.todos:write.description': 'Δημιουργία, ενημέρωση, εναλλαγή, διαγραφή και αναδιάταξη εργασιών',
|
'oauth.scope.todos:write.description':
|
||||||
|
'Δημιουργία, ενημέρωση, εναλλαγή, διαγραφή και αναδιάταξη εργασιών',
|
||||||
'oauth.scope.budget:read.label': 'Προβολή προϋπολογισμού',
|
'oauth.scope.budget:read.label': 'Προβολή προϋπολογισμού',
|
||||||
'oauth.scope.budget:read.description': 'Ανάγνωση στοιχείων προϋπολογισμού και ανάλυσης εξόδων',
|
'oauth.scope.budget:read.description':
|
||||||
|
'Ανάγνωση στοιχείων προϋπολογισμού και ανάλυσης εξόδων',
|
||||||
'oauth.scope.budget:write.label': 'Διαχείριση προϋπολογισμού',
|
'oauth.scope.budget:write.label': 'Διαχείριση προϋπολογισμού',
|
||||||
'oauth.scope.budget:write.description': 'Δημιουργία, ενημέρωση και διαγραφή στοιχείων προϋπολογισμού',
|
'oauth.scope.budget:write.description':
|
||||||
|
'Δημιουργία, ενημέρωση και διαγραφή στοιχείων προϋπολογισμού',
|
||||||
'oauth.scope.reservations:read.label': 'Προβολή κρατήσεων',
|
'oauth.scope.reservations:read.label': 'Προβολή κρατήσεων',
|
||||||
'oauth.scope.reservations:read.description': 'Ανάγνωση κρατήσεων και λεπτομερειών διαμονής',
|
'oauth.scope.reservations:read.description':
|
||||||
|
'Ανάγνωση κρατήσεων και λεπτομερειών διαμονής',
|
||||||
'oauth.scope.reservations:write.label': 'Διαχείριση κρατήσεων',
|
'oauth.scope.reservations:write.label': 'Διαχείριση κρατήσεων',
|
||||||
'oauth.scope.reservations:write.description': 'Δημιουργία, ενημέρωση, διαγραφή και αναδιάταξη κρατήσεων',
|
'oauth.scope.reservations:write.description':
|
||||||
|
'Δημιουργία, ενημέρωση, διαγραφή και αναδιάταξη κρατήσεων',
|
||||||
'oauth.scope.collab:read.label': 'Προβολή συνεργασίας',
|
'oauth.scope.collab:read.label': 'Προβολή συνεργασίας',
|
||||||
'oauth.scope.collab:read.description': 'Ανάγνωση σημειώσεων, δημοσκοπήσεων και μηνυμάτων συνεργασίας',
|
'oauth.scope.collab:read.description':
|
||||||
|
'Ανάγνωση σημειώσεων, δημοσκοπήσεων και μηνυμάτων συνεργασίας',
|
||||||
'oauth.scope.collab:write.label': 'Διαχείριση συνεργασίας',
|
'oauth.scope.collab:write.label': 'Διαχείριση συνεργασίας',
|
||||||
'oauth.scope.collab:write.description': 'Δημιουργία, ενημέρωση και διαγραφή σημειώσεων, δημοσκοπήσεων και μηνυμάτων συνεργασίας',
|
'oauth.scope.collab:write.description':
|
||||||
|
'Δημιουργία, ενημέρωση και διαγραφή σημειώσεων, δημοσκοπήσεων και μηνυμάτων συνεργασίας',
|
||||||
'oauth.scope.notifications:read.label': 'Προβολή ειδοποιήσεων',
|
'oauth.scope.notifications:read.label': 'Προβολή ειδοποιήσεων',
|
||||||
'oauth.scope.notifications:read.description': 'Ανάγνωση ειδοποιήσεων εντός εφαρμογής και μετρητών μη αναγνωσμένων',
|
'oauth.scope.notifications:read.description':
|
||||||
|
'Ανάγνωση ειδοποιήσεων εντός εφαρμογής και μετρητών μη αναγνωσμένων',
|
||||||
'oauth.scope.notifications:write.label': 'Διαχείριση ειδοποιήσεων',
|
'oauth.scope.notifications:write.label': 'Διαχείριση ειδοποιήσεων',
|
||||||
'oauth.scope.notifications:write.description': 'Σήμανση ειδοποιήσεων ως αναγνωσμένων και απάντηση σε αυτές',
|
'oauth.scope.notifications:write.description':
|
||||||
|
'Σήμανση ειδοποιήσεων ως αναγνωσμένων και απάντηση σε αυτές',
|
||||||
'oauth.scope.vacay:read.label': 'Προβολή πλάνων διακοπών',
|
'oauth.scope.vacay:read.label': 'Προβολή πλάνων διακοπών',
|
||||||
'oauth.scope.vacay:read.description': 'Ανάγνωση δεδομένων σχεδιασμού διακοπών, καταχωρήσεων και στατιστικών',
|
'oauth.scope.vacay:read.description':
|
||||||
|
'Ανάγνωση δεδομένων σχεδιασμού διακοπών, καταχωρήσεων και στατιστικών',
|
||||||
'oauth.scope.vacay:write.label': 'Διαχείριση πλάνων διακοπών',
|
'oauth.scope.vacay:write.label': 'Διαχείριση πλάνων διακοπών',
|
||||||
'oauth.scope.vacay:write.description': 'Δημιουργία και διαχείριση καταχωρήσεων διακοπών, αργιών και κοινών πλάνων',
|
'oauth.scope.vacay:write.description':
|
||||||
|
'Δημιουργία και διαχείριση καταχωρήσεων διακοπών, αργιών και κοινών πλάνων',
|
||||||
'oauth.scope.geo:read.label': 'Χάρτες & γεωκωδικοποίηση',
|
'oauth.scope.geo:read.label': 'Χάρτες & γεωκωδικοποίηση',
|
||||||
'oauth.scope.geo:read.description': 'Αναζήτηση τοποθεσιών, επίλυση URL χαρτών και αντίστροφη γεωκωδικοποίηση συντεταγμένων',
|
'oauth.scope.geo:read.description':
|
||||||
|
'Αναζήτηση τοποθεσιών, επίλυση URL χαρτών και αντίστροφη γεωκωδικοποίηση συντεταγμένων',
|
||||||
'oauth.scope.weather:read.label': 'Προγνώσεις καιρού',
|
'oauth.scope.weather:read.label': 'Προγνώσεις καιρού',
|
||||||
'oauth.scope.weather:read.description': 'Λήψη προγνώσεων καιρού για τοποθεσίες και ημερομηνίες ταξιδιών',
|
'oauth.scope.weather:read.description':
|
||||||
|
'Λήψη προγνώσεων καιρού για τοποθεσίες και ημερομηνίες ταξιδιών',
|
||||||
'oauth.scope.journey:read.label': 'Προβολή ταξιδιών',
|
'oauth.scope.journey:read.label': 'Προβολή ταξιδιών',
|
||||||
'oauth.scope.journey:read.description': 'Ανάγνωση ταξιδιών, καταχωρήσεων και λίστας συνεισφερόντων',
|
'oauth.scope.journey:read.description':
|
||||||
|
'Ανάγνωση ταξιδιών, καταχωρήσεων και λίστας συνεισφερόντων',
|
||||||
'oauth.scope.journey:write.label': 'Διαχείριση ταξιδιών',
|
'oauth.scope.journey:write.label': 'Διαχείριση ταξιδιών',
|
||||||
'oauth.scope.journey:write.description': 'Δημιουργία, ενημέρωση και διαγραφή ταξιδιών και των καταχωρήσεων τους',
|
'oauth.scope.journey:write.description':
|
||||||
|
'Δημιουργία, ενημέρωση και διαγραφή ταξιδιών και των καταχωρήσεων τους',
|
||||||
'oauth.scope.journey:share.label': 'Διαχείριση συνδέσμων ταξιδιών',
|
'oauth.scope.journey:share.label': 'Διαχείριση συνδέσμων ταξιδιών',
|
||||||
'oauth.scope.journey:share.description': 'Δημιουργία, ενημέρωση και ανάκληση δημόσιων συνδέσμων κοινής χρήσης για ταξίδια',
|
'oauth.scope.journey:share.description':
|
||||||
|
'Δημιουργία, ενημέρωση και ανάκληση δημόσιων συνδέσμων κοινής χρήσης για ταξίδια',
|
||||||
};
|
};
|
||||||
export default oauth;
|
export default oauth;
|
||||||
|
|||||||
@@ -5,8 +5,10 @@ const packing: TranslationStrings = {
|
|||||||
'packing.empty': 'Η λίστα αποσκευών είναι κενή',
|
'packing.empty': 'Η λίστα αποσκευών είναι κενή',
|
||||||
'packing.import': 'Εισαγωγή',
|
'packing.import': 'Εισαγωγή',
|
||||||
'packing.importTitle': 'Εισαγωγή Λίστας Αποσκευών',
|
'packing.importTitle': 'Εισαγωγή Λίστας Αποσκευών',
|
||||||
'packing.importHint': 'Ένα αντικείμενο ανά γραμμή. Μορφή: Κατηγορία, Όνομα, Βάρος σε g (προαιρετικό), Τσάντα (προαιρετικό), checked/unchecked (προαιρετικό)',
|
'packing.importHint':
|
||||||
'packing.importPlaceholder': 'Υγιεινή, Οδοντόβουρτσα\nΡούχα, T-Shirts, 200\nΈγγραφα, Διαβατήριο, , Χειραποσκευή\nΗλεκτρονικά, Φορτιστής, 50, Βαλίτσα, checked',
|
'Ένα αντικείμενο ανά γραμμή. Μορφή: Κατηγορία, Όνομα, Βάρος σε g (προαιρετικό), Τσάντα (προαιρετικό), checked/unchecked (προαιρετικό)',
|
||||||
|
'packing.importPlaceholder':
|
||||||
|
'Υγιεινή, Οδοντόβουρτσα\nΡούχα, T-Shirts, 200\nΈγγραφα, Διαβατήριο, , Χειραποσκευή\nΗλεκτρονικά, Φορτιστής, 50, Βαλίτσα, checked',
|
||||||
'packing.importCsv': 'Φόρτωση CSV/TXT',
|
'packing.importCsv': 'Φόρτωση CSV/TXT',
|
||||||
'packing.importAction': 'Εισαγωγή {count}',
|
'packing.importAction': 'Εισαγωγή {count}',
|
||||||
'packing.importSuccess': '{count} αντικείμενα εισήχθησαν',
|
'packing.importSuccess': '{count} αντικείμενα εισήχθησαν',
|
||||||
@@ -49,44 +51,46 @@ const packing: TranslationStrings = {
|
|||||||
'packing.bagName': 'Όνομα τσάντας...',
|
'packing.bagName': 'Όνομα τσάντας...',
|
||||||
'packing.addBag': 'Προσθήκη τσάντας',
|
'packing.addBag': 'Προσθήκη τσάντας',
|
||||||
'packing.changeCategory': 'Αλλαγή Κατηγορίας',
|
'packing.changeCategory': 'Αλλαγή Κατηγορίας',
|
||||||
'packing.confirm.clearChecked': 'Είστε σίγουροι ότι θέλετε να αφαιρέσετε {count} επιλεγμένα αντικείμενα;',
|
'packing.confirm.clearChecked':
|
||||||
'packing.confirm.deleteCat': 'Είστε σίγουροι ότι θέλετε να διαγράψετε την κατηγορία "{name}" με {count} αντικείμενα;',
|
'Είστε σίγουροι ότι θέλετε να αφαιρέσετε {count} επιλεγμένα αντικείμενα;',
|
||||||
|
'packing.confirm.deleteCat':
|
||||||
|
'Είστε σίγουροι ότι θέλετε να διαγράψετε την κατηγορία "{name}" με {count} αντικείμενα;',
|
||||||
'packing.defaultCategory': 'Άλλα',
|
'packing.defaultCategory': 'Άλλα',
|
||||||
'packing.toast.saveError': 'Αποτυχία αποθήκευσης',
|
'packing.toast.saveError': 'Αποτυχία αποθήκευσης',
|
||||||
'packing.toast.deleteError': 'Αποτυχία διαγραφής',
|
'packing.toast.deleteError': 'Αποτυχία διαγραφής',
|
||||||
'packing.toast.renameError': 'Αποτυχία μετονομασίας',
|
'packing.toast.renameError': 'Αποτυχία μετονομασίας',
|
||||||
'packing.toast.addError': 'Αποτυχία προσθήκης',
|
'packing.toast.addError': 'Αποτυχία προσθήκης',
|
||||||
'packing.suggestions.items': [
|
'packing.suggestions.items': [
|
||||||
{ name: 'Διαβατήριο', category: 'Έγγραφα' },
|
{ name: 'Διαβατήριο', category: 'Έγγραφα' },
|
||||||
{ name: 'Ταυτότητα', category: 'Έγγραφα' },
|
{ name: 'Ταυτότητα', category: 'Έγγραφα' },
|
||||||
{ name: 'Ταξιδιωτική Ασφάλιση', category: 'Έγγραφα' },
|
{ name: 'Ταξιδιωτική Ασφάλιση', category: 'Έγγραφα' },
|
||||||
{ name: 'Αεροπορικά Εισιτήρια', category: 'Έγγραφα' },
|
{ name: 'Αεροπορικά Εισιτήρια', category: 'Έγγραφα' },
|
||||||
{ name: 'Πιστωτική Κάρτα', category: 'Οικονομικά' },
|
{ name: 'Πιστωτική Κάρτα', category: 'Οικονομικά' },
|
||||||
{ name: 'Μετρητά', category: 'Οικονομικά' },
|
{ name: 'Μετρητά', category: 'Οικονομικά' },
|
||||||
{ name: 'Visa', category: 'Έγγραφα' },
|
{ name: 'Visa', category: 'Έγγραφα' },
|
||||||
{ name: 'T-Shirts', category: 'Ρούχα' },
|
{ name: 'T-Shirts', category: 'Ρούχα' },
|
||||||
{ name: 'Παντελόνια', category: 'Ρούχα' },
|
{ name: 'Παντελόνια', category: 'Ρούχα' },
|
||||||
{ name: 'Εσώρουχα', category: 'Ρούχα' },
|
{ name: 'Εσώρουχα', category: 'Ρούχα' },
|
||||||
{ name: 'Κάλτσες', category: 'Ρούχα' },
|
{ name: 'Κάλτσες', category: 'Ρούχα' },
|
||||||
{ name: 'Μπουφάν', category: 'Ρούχα' },
|
{ name: 'Μπουφάν', category: 'Ρούχα' },
|
||||||
{ name: 'Πιτζάμες', category: 'Ρούχα' },
|
{ name: 'Πιτζάμες', category: 'Ρούχα' },
|
||||||
{ name: 'Μαγιό', category: 'Ρούχα' },
|
{ name: 'Μαγιό', category: 'Ρούχα' },
|
||||||
{ name: 'Αδιάβροχο', category: 'Ρούχα' },
|
{ name: 'Αδιάβροχο', category: 'Ρούχα' },
|
||||||
{ name: 'Άνετα Παπούτσια', category: 'Ρούχα' },
|
{ name: 'Άνετα Παπούτσια', category: 'Ρούχα' },
|
||||||
{ name: 'Οδοντόβουρτσα', category: 'Είδη Υγιεινής' },
|
{ name: 'Οδοντόβουρτσα', category: 'Είδη Υγιεινής' },
|
||||||
{ name: 'Οδοντόκρεμα', category: 'Είδη Υγιεινής' },
|
{ name: 'Οδοντόκρεμα', category: 'Είδη Υγιεινής' },
|
||||||
{ name: 'Σαμπουάν', category: 'Είδη Υγιεινής' },
|
{ name: 'Σαμπουάν', category: 'Είδη Υγιεινής' },
|
||||||
{ name: 'Αποσμητικό', category: 'Είδη Υγιεινής' },
|
{ name: 'Αποσμητικό', category: 'Είδη Υγιεινής' },
|
||||||
{ name: 'Αντηλιακό', category: 'Είδη Υγιεινής' },
|
{ name: 'Αντηλιακό', category: 'Είδη Υγιεινής' },
|
||||||
{ name: 'Ξυριστική Μηχανή', category: 'Είδη Υγιεινής' },
|
{ name: 'Ξυριστική Μηχανή', category: 'Είδη Υγιεινής' },
|
||||||
{ name: 'Φορτιστής', category: 'Ηλεκτρονικά' },
|
{ name: 'Φορτιστής', category: 'Ηλεκτρονικά' },
|
||||||
{ name: 'Power Bank', category: 'Ηλεκτρονικά' },
|
{ name: 'Power Bank', category: 'Ηλεκτρονικά' },
|
||||||
{ name: 'Ακουστικά', category: 'Ηλεκτρονικά' },
|
{ name: 'Ακουστικά', category: 'Ηλεκτρονικά' },
|
||||||
{ name: 'Ταξιδιωτικός Αντάπτορας', category: 'Ηλεκτρονικά' },
|
{ name: 'Ταξιδιωτικός Αντάπτορας', category: 'Ηλεκτρονικά' },
|
||||||
{ name: 'Κάμερα', category: 'Ηλεκτρονικά' },
|
{ name: 'Κάμερα', category: 'Ηλεκτρονικά' },
|
||||||
{ name: 'Παυσίπονα', category: 'Υγεία' },
|
{ name: 'Παυσίπονα', category: 'Υγεία' },
|
||||||
{ name: 'Τσιρότα', category: 'Υγεία' },
|
{ name: 'Τσιρότα', category: 'Υγεία' },
|
||||||
{ name: 'Απολυμαντικό', category: 'Υγεία' },
|
{ name: 'Απολυμαντικό', category: 'Υγεία' },
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
export default packing;
|
export default packing;
|
||||||
|
|||||||
+34
-17
@@ -2,7 +2,8 @@ import type { TranslationStrings } from '../types';
|
|||||||
|
|
||||||
const perm: TranslationStrings = {
|
const perm: TranslationStrings = {
|
||||||
'perm.title': 'Ρυθμίσεις Δικαιωμάτων',
|
'perm.title': 'Ρυθμίσεις Δικαιωμάτων',
|
||||||
'perm.subtitle': 'Ελέγξτε ποιος μπορεί να εκτελεί ενέργειες σε όλη την εφαρμογή',
|
'perm.subtitle':
|
||||||
|
'Ελέγξτε ποιος μπορεί να εκτελεί ενέργειες σε όλη την εφαρμογή',
|
||||||
'perm.saved': 'Οι ρυθμίσεις δικαιωμάτων αποθηκεύτηκαν',
|
'perm.saved': 'Οι ρυθμίσεις δικαιωμάτων αποθηκεύτηκαν',
|
||||||
'perm.resetDefaults': 'Επαναφορά προεπιλογών',
|
'perm.resetDefaults': 'Επαναφορά προεπιλογών',
|
||||||
'perm.customized': 'προσαρμοσμένο',
|
'perm.customized': 'προσαρμοσμένο',
|
||||||
@@ -29,23 +30,39 @@ const perm: TranslationStrings = {
|
|||||||
'perm.action.reservation_edit': 'Διαχείριση κρατήσεων',
|
'perm.action.reservation_edit': 'Διαχείριση κρατήσεων',
|
||||||
'perm.action.budget_edit': 'Διαχείριση προϋπολογισμού',
|
'perm.action.budget_edit': 'Διαχείριση προϋπολογισμού',
|
||||||
'perm.action.packing_edit': 'Διαχείριση λιστών αποσκευών',
|
'perm.action.packing_edit': 'Διαχείριση λιστών αποσκευών',
|
||||||
'perm.action.collab_edit': 'Συνεργασία (σημειώσεις, δημοσκοπήσεις, συνομιλία)',
|
'perm.action.collab_edit':
|
||||||
|
'Συνεργασία (σημειώσεις, δημοσκοπήσεις, συνομιλία)',
|
||||||
'perm.action.share_manage': 'Διαχείριση συνδέσμων κοινής χρήσης',
|
'perm.action.share_manage': 'Διαχείριση συνδέσμων κοινής χρήσης',
|
||||||
'perm.actionHint.trip_create': 'Ποιος μπορεί να δημιουργεί νέα ταξίδια',
|
'perm.actionHint.trip_create': 'Ποιος μπορεί να δημιουργεί νέα ταξίδια',
|
||||||
'perm.actionHint.trip_edit': 'Ποιος μπορεί να αλλάζει όνομα, ημερομηνίες, περιγραφή και νόμισμα ταξιδιού',
|
'perm.actionHint.trip_edit':
|
||||||
'perm.actionHint.trip_delete': 'Ποιος μπορεί να διαγράφει οριστικά ένα ταξίδι',
|
'Ποιος μπορεί να αλλάζει όνομα, ημερομηνίες, περιγραφή και νόμισμα ταξιδιού',
|
||||||
'perm.actionHint.trip_archive': 'Ποιος μπορεί να αρχειοθετεί ή να επαναφέρει ένα ταξίδι',
|
'perm.actionHint.trip_delete':
|
||||||
'perm.actionHint.trip_cover_upload': 'Ποιος μπορεί να μεταφορτώνει ή να αλλάζει την εικόνα εξωφύλλου',
|
'Ποιος μπορεί να διαγράφει οριστικά ένα ταξίδι',
|
||||||
'perm.actionHint.member_manage': 'Ποιος μπορεί να προσκαλεί ή να αφαιρεί μέλη ταξιδιού',
|
'perm.actionHint.trip_archive':
|
||||||
'perm.actionHint.file_upload': 'Ποιος μπορεί να μεταφορτώνει αρχεία σε ένα ταξίδι',
|
'Ποιος μπορεί να αρχειοθετεί ή να επαναφέρει ένα ταξίδι',
|
||||||
'perm.actionHint.file_edit': 'Ποιος μπορεί να επεξεργάζεται περιγραφές και συνδέσμους αρχείων',
|
'perm.actionHint.trip_cover_upload':
|
||||||
'perm.actionHint.file_delete': 'Ποιος μπορεί να μετακινεί αρχεία στον κάδο ή να τα διαγράφει οριστικά',
|
'Ποιος μπορεί να μεταφορτώνει ή να αλλάζει την εικόνα εξωφύλλου',
|
||||||
'perm.actionHint.place_edit': 'Ποιος μπορεί να προσθέτει, να επεξεργάζεται ή να διαγράφει τοποθεσίες',
|
'perm.actionHint.member_manage':
|
||||||
'perm.actionHint.day_edit': 'Ποιος μπορεί να επεξεργάζεται ημέρες, σημειώσεις ημέρας και αναθέσεις τοποθεσιών',
|
'Ποιος μπορεί να προσκαλεί ή να αφαιρεί μέλη ταξιδιού',
|
||||||
'perm.actionHint.reservation_edit': 'Ποιος μπορεί να δημιουργεί, να επεξεργάζεται ή να διαγράφει κρατήσεις',
|
'perm.actionHint.file_upload':
|
||||||
'perm.actionHint.budget_edit': 'Ποιος μπορεί να δημιουργεί, να επεξεργάζεται ή να διαγράφει στοιχεία προϋπολογισμού',
|
'Ποιος μπορεί να μεταφορτώνει αρχεία σε ένα ταξίδι',
|
||||||
'perm.actionHint.packing_edit': 'Ποιος μπορεί να διαχειρίζεται αντικείμενα και τσάντες αποσκευών',
|
'perm.actionHint.file_edit':
|
||||||
'perm.actionHint.collab_edit': 'Ποιος μπορεί να δημιουργεί σημειώσεις, δημοσκοπήσεις και να στέλνει μηνύματα',
|
'Ποιος μπορεί να επεξεργάζεται περιγραφές και συνδέσμους αρχείων',
|
||||||
'perm.actionHint.share_manage': 'Ποιος μπορεί να δημιουργεί ή να διαγράφει δημόσιους συνδέσμους κοινής χρήσης',
|
'perm.actionHint.file_delete':
|
||||||
|
'Ποιος μπορεί να μετακινεί αρχεία στον κάδο ή να τα διαγράφει οριστικά',
|
||||||
|
'perm.actionHint.place_edit':
|
||||||
|
'Ποιος μπορεί να προσθέτει, να επεξεργάζεται ή να διαγράφει τοποθεσίες',
|
||||||
|
'perm.actionHint.day_edit':
|
||||||
|
'Ποιος μπορεί να επεξεργάζεται ημέρες, σημειώσεις ημέρας και αναθέσεις τοποθεσιών',
|
||||||
|
'perm.actionHint.reservation_edit':
|
||||||
|
'Ποιος μπορεί να δημιουργεί, να επεξεργάζεται ή να διαγράφει κρατήσεις',
|
||||||
|
'perm.actionHint.budget_edit':
|
||||||
|
'Ποιος μπορεί να δημιουργεί, να επεξεργάζεται ή να διαγράφει στοιχεία προϋπολογισμού',
|
||||||
|
'perm.actionHint.packing_edit':
|
||||||
|
'Ποιος μπορεί να διαχειρίζεται αντικείμενα και τσάντες αποσκευών',
|
||||||
|
'perm.actionHint.collab_edit':
|
||||||
|
'Ποιος μπορεί να δημιουργεί σημειώσεις, δημοσκοπήσεις και να στέλνει μηνύματα',
|
||||||
|
'perm.actionHint.share_manage':
|
||||||
|
'Ποιος μπορεί να δημιουργεί ή να διαγράφει δημόσιους συνδέσμους κοινής χρήσης',
|
||||||
};
|
};
|
||||||
export default perm;
|
export default perm;
|
||||||
|
|||||||
@@ -4,11 +4,15 @@ const places: TranslationStrings = {
|
|||||||
'places.addPlace': 'Προσθήκη Μέρους/Δραστηριότητας',
|
'places.addPlace': 'Προσθήκη Μέρους/Δραστηριότητας',
|
||||||
'places.importFile': 'Εισαγωγή αρχείου',
|
'places.importFile': 'Εισαγωγή αρχείου',
|
||||||
'places.sidebarDrop': 'Αφήστε για εισαγωγή',
|
'places.sidebarDrop': 'Αφήστε για εισαγωγή',
|
||||||
'places.importFileHint': 'Εισαγωγή αρχείων .gpx, .kml ή .kmz από εργαλεία όπως Google My Maps, Google Earth ή GPS tracker.',
|
'places.importFileHint':
|
||||||
'places.importFileDropHere': 'Κάντε κλικ για να επιλέξετε αρχείο ή σύρετε εδώ',
|
'Εισαγωγή αρχείων .gpx, .kml ή .kmz από εργαλεία όπως Google My Maps, Google Earth ή GPS tracker.',
|
||||||
|
'places.importFileDropHere':
|
||||||
|
'Κάντε κλικ για να επιλέξετε αρχείο ή σύρετε εδώ',
|
||||||
'places.importFileDropActive': 'Αφήστε το αρχείο για επιλογή',
|
'places.importFileDropActive': 'Αφήστε το αρχείο για επιλογή',
|
||||||
'places.importFileUnsupported': 'Μη υποστηριζόμενος τύπος αρχείου. Χρησιμοποιήστε .gpx, .kml ή .kmz.',
|
'places.importFileUnsupported':
|
||||||
'places.importFileTooLarge': 'Το αρχείο είναι πολύ μεγάλο. Το μέγιστο μέγεθος μεταφόρτωσης είναι {maxMb} MB.',
|
'Μη υποστηριζόμενος τύπος αρχείου. Χρησιμοποιήστε .gpx, .kml ή .kmz.',
|
||||||
|
'places.importFileTooLarge':
|
||||||
|
'Το αρχείο είναι πολύ μεγάλο. Το μέγιστο μέγεθος μεταφόρτωσης είναι {maxMb} MB.',
|
||||||
'places.importFileError': 'Η εισαγωγή απέτυχε',
|
'places.importFileError': 'Η εισαγωγή απέτυχε',
|
||||||
'places.importAllSkipped': 'Όλα τα μέρη υπήρχαν ήδη στο ταξίδι.',
|
'places.importAllSkipped': 'Όλα τα μέρη υπήρχαν ήδη στο ταξίδι.',
|
||||||
'places.gpxImported': '{count} μέρη εισήχθησαν από GPX',
|
'places.gpxImported': '{count} μέρη εισήχθησαν από GPX',
|
||||||
@@ -16,23 +20,28 @@ const places: TranslationStrings = {
|
|||||||
'places.gpxImportWaypoints': 'Σημεία διαδρομής',
|
'places.gpxImportWaypoints': 'Σημεία διαδρομής',
|
||||||
'places.gpxImportRoutes': 'Διαδρομές',
|
'places.gpxImportRoutes': 'Διαδρομές',
|
||||||
'places.gpxImportTracks': 'Ίχνη (με γεωμετρία διαδρομής)',
|
'places.gpxImportTracks': 'Ίχνη (με γεωμετρία διαδρομής)',
|
||||||
'places.gpxImportNoneSelected': 'Επιλέξτε τουλάχιστον έναν τύπο για εισαγωγή.',
|
'places.gpxImportNoneSelected':
|
||||||
|
'Επιλέξτε τουλάχιστον έναν τύπο για εισαγωγή.',
|
||||||
'places.kmlImportTypes': 'Τι θέλετε να εισάγετε;',
|
'places.kmlImportTypes': 'Τι θέλετε να εισάγετε;',
|
||||||
'places.kmlImportPoints': 'Σημεία (Placemarks)',
|
'places.kmlImportPoints': 'Σημεία (Placemarks)',
|
||||||
'places.kmlImportPaths': 'Διαδρομές (LineStrings)',
|
'places.kmlImportPaths': 'Διαδρομές (LineStrings)',
|
||||||
'places.kmlImportNoneSelected': 'Επιλέξτε τουλάχιστον έναν τύπο για εισαγωγή.',
|
'places.kmlImportNoneSelected':
|
||||||
|
'Επιλέξτε τουλάχιστον έναν τύπο για εισαγωγή.',
|
||||||
'places.selectionCount': '{count} επιλεγμένα',
|
'places.selectionCount': '{count} επιλεγμένα',
|
||||||
'places.deleteSelected': 'Διαγραφή επιλεγμένων',
|
'places.deleteSelected': 'Διαγραφή επιλεγμένων',
|
||||||
'places.kmlKmzImported': '{count} μέρη εισήχθησαν από KMZ/KML',
|
'places.kmlKmzImported': '{count} μέρη εισήχθησαν από KMZ/KML',
|
||||||
'places.urlResolved': 'Το μέρος εισήχθη από URL',
|
'places.urlResolved': 'Το μέρος εισήχθη από URL',
|
||||||
'places.importList': 'Εισαγωγή Λίστας',
|
'places.importList': 'Εισαγωγή Λίστας',
|
||||||
'places.kmlKmzSummaryValues': 'Placemarks: {total} • Εισήχθησαν: {created} • Παραλείφθηκαν: {skipped}',
|
'places.kmlKmzSummaryValues':
|
||||||
|
'Placemarks: {total} • Εισήχθησαν: {created} • Παραλείφθηκαν: {skipped}',
|
||||||
'places.importGoogleList': 'Λίστα Google',
|
'places.importGoogleList': 'Λίστα Google',
|
||||||
'places.importNaverList': 'Λίστα Naver',
|
'places.importNaverList': 'Λίστα Naver',
|
||||||
'places.googleListHint': 'Επικολλήστε έναν κοινοποιημένο σύνδεσμο λίστας Google Maps για να εισάγετε όλα τα μέρη.',
|
'places.googleListHint':
|
||||||
|
'Επικολλήστε έναν κοινοποιημένο σύνδεσμο λίστας Google Maps για να εισάγετε όλα τα μέρη.',
|
||||||
'places.googleListImported': '{count} μέρη εισήχθησαν από "{list}"',
|
'places.googleListImported': '{count} μέρη εισήχθησαν από "{list}"',
|
||||||
'places.googleListError': 'Αποτυχία εισαγωγής λίστας Google Maps',
|
'places.googleListError': 'Αποτυχία εισαγωγής λίστας Google Maps',
|
||||||
'places.naverListHint': 'Επικολλήστε έναν κοινοποιημένο σύνδεσμο λίστας Naver Maps για να εισάγετε όλα τα μέρη.',
|
'places.naverListHint':
|
||||||
|
'Επικολλήστε έναν κοινοποιημένο σύνδεσμο λίστας Naver Maps για να εισάγετε όλα τα μέρη.',
|
||||||
'places.naverListImported': '{count} μέρη εισήχθησαν από "{list}"',
|
'places.naverListImported': '{count} μέρη εισήχθησαν από "{list}"',
|
||||||
'places.naverListError': 'Αποτυχία εισαγωγής λίστας Naver Maps',
|
'places.naverListError': 'Αποτυχία εισαγωγής λίστας Naver Maps',
|
||||||
'places.viewDetails': 'Προβολή Λεπτομερειών',
|
'places.viewDetails': 'Προβολή Λεπτομερειών',
|
||||||
@@ -69,12 +78,15 @@ const places: TranslationStrings = {
|
|||||||
'places.formNotes': 'Σημειώσεις',
|
'places.formNotes': 'Σημειώσεις',
|
||||||
'places.formNotesPlaceholder': 'Προσωπικές σημειώσεις...',
|
'places.formNotesPlaceholder': 'Προσωπικές σημειώσεις...',
|
||||||
'places.formReservation': 'Κράτηση',
|
'places.formReservation': 'Κράτηση',
|
||||||
'places.reservationNotesPlaceholder': 'Σημειώσεις κράτησης, αριθμός επιβεβαίωσης...',
|
'places.reservationNotesPlaceholder':
|
||||||
|
'Σημειώσεις κράτησης, αριθμός επιβεβαίωσης...',
|
||||||
'places.mapsSearchPlaceholder': 'Αναζήτηση μερών...',
|
'places.mapsSearchPlaceholder': 'Αναζήτηση μερών...',
|
||||||
'places.mapsSearchError': 'Η αναζήτηση μέρους απέτυχε.',
|
'places.mapsSearchError': 'Η αναζήτηση μέρους απέτυχε.',
|
||||||
'places.loadingDetails': 'Φόρτωση λεπτομερειών μέρους…',
|
'places.loadingDetails': 'Φόρτωση λεπτομερειών μέρους…',
|
||||||
'places.osmHint': 'Χρήση αναζήτησης OpenStreetMap (χωρίς φωτογραφίες, ώρες λειτουργίας ή αξιολογήσεις). Προσθέστε ένα κλειδί Google API στις ρυθμίσεις για πλήρεις λεπτομέρειες.',
|
'places.osmHint':
|
||||||
'places.osmActive': 'Αναζήτηση μέσω OpenStreetMap (χωρίς φωτογραφίες, αξιολογήσεις ή ώρες λειτουργίας). Προσθέστε ένα κλειδί Google API στις Ρυθμίσεις για εμπλουτισμένα δεδομένα.',
|
'Χρήση αναζήτησης OpenStreetMap (χωρίς φωτογραφίες, ώρες λειτουργίας ή αξιολογήσεις). Προσθέστε ένα κλειδί Google API στις ρυθμίσεις για πλήρεις λεπτομέρειες.',
|
||||||
|
'places.osmActive':
|
||||||
|
'Αναζήτηση μέσω OpenStreetMap (χωρίς φωτογραφίες, αξιολογήσεις ή ώρες λειτουργίας). Προσθέστε ένα κλειδί Google API στις Ρυθμίσεις για εμπλουτισμένα δεδομένα.',
|
||||||
'places.categoryCreateError': 'Αποτυχία δημιουργίας κατηγορίας',
|
'places.categoryCreateError': 'Αποτυχία δημιουργίας κατηγορίας',
|
||||||
'places.nameRequired': 'Παρακαλώ εισαγάγετε ένα όνομα',
|
'places.nameRequired': 'Παρακαλώ εισαγάγετε ένα όνομα',
|
||||||
'places.saveError': 'Αποτυχία αποθήκευσης',
|
'places.saveError': 'Αποτυχία αποθήκευσης',
|
||||||
|
|||||||
@@ -7,7 +7,8 @@ const planner: TranslationStrings = {
|
|||||||
'planner.documents': 'Έγγραφα',
|
'planner.documents': 'Έγγραφα',
|
||||||
'planner.dayPlan': 'Πρόγραμμα Ημέρας',
|
'planner.dayPlan': 'Πρόγραμμα Ημέρας',
|
||||||
'planner.reservations': 'Κρατήσεις',
|
'planner.reservations': 'Κρατήσεις',
|
||||||
'planner.minTwoPlaces': 'Απαιτούνται τουλάχιστον 2 τοποθεσίες με συντεταγμένες',
|
'planner.minTwoPlaces':
|
||||||
|
'Απαιτούνται τουλάχιστον 2 τοποθεσίες με συντεταγμένες',
|
||||||
'planner.noGeoPlaces': 'Δεν υπάρχουν διαθέσιμες τοποθεσίες με συντεταγμένες',
|
'planner.noGeoPlaces': 'Δεν υπάρχουν διαθέσιμες τοποθεσίες με συντεταγμένες',
|
||||||
'planner.routeCalculated': 'Η διαδρομή υπολογίστηκε',
|
'planner.routeCalculated': 'Η διαδρομή υπολογίστηκε',
|
||||||
'planner.routeCalcFailed': 'Δεν ήταν δυνατός ο υπολογισμός της διαδρομής',
|
'planner.routeCalcFailed': 'Δεν ήταν δυνατός ο υπολογισμός της διαδρομής',
|
||||||
@@ -33,7 +34,8 @@ const planner: TranslationStrings = {
|
|||||||
'planner.resConfirmed': 'Κράτηση επιβεβαιωμένη · ',
|
'planner.resConfirmed': 'Κράτηση επιβεβαιωμένη · ',
|
||||||
'planner.notePlaceholder': 'Σημείωση\u2026',
|
'planner.notePlaceholder': 'Σημείωση\u2026',
|
||||||
'planner.noteTimePlaceholder': 'Ώρα (προαιρετικό)',
|
'planner.noteTimePlaceholder': 'Ώρα (προαιρετικό)',
|
||||||
'planner.noteExamplePlaceholder': 'π.χ. S3 στις 14:30 από τον κεντρικό σταθμό, φέρι από την προβλήτα 7, διάλειμμα μεσημεριανού\u2026',
|
'planner.noteExamplePlaceholder':
|
||||||
|
'π.χ. S3 στις 14:30 από τον κεντρικό σταθμό, φέρι από την προβλήτα 7, διάλειμμα μεσημεριανού\u2026',
|
||||||
'planner.totalCost': 'Συνολικό κόστος',
|
'planner.totalCost': 'Συνολικό κόστος',
|
||||||
'planner.searchPlaces': 'Αναζήτηση τοποθεσιών\u2026',
|
'planner.searchPlaces': 'Αναζήτηση τοποθεσιών\u2026',
|
||||||
'planner.allCategories': 'Όλες οι Κατηγορίες',
|
'planner.allCategories': 'Όλες οι Κατηγορίες',
|
||||||
@@ -47,7 +49,8 @@ const planner: TranslationStrings = {
|
|||||||
'planner.route': 'Διαδρομή',
|
'planner.route': 'Διαδρομή',
|
||||||
'planner.optimize': 'Βελτιστοποίηση',
|
'planner.optimize': 'Βελτιστοποίηση',
|
||||||
'planner.openGoogleMaps': 'Άνοιγμα στο Google Maps',
|
'planner.openGoogleMaps': 'Άνοιγμα στο Google Maps',
|
||||||
'planner.selectDayHint': 'Επιλέξτε μια ημέρα από την αριστερή λίστα για να δείτε το πρόγραμμα',
|
'planner.selectDayHint':
|
||||||
|
'Επιλέξτε μια ημέρα από την αριστερή λίστα για να δείτε το πρόγραμμα',
|
||||||
'planner.noPlacesForDay': 'Δεν υπάρχουν τοποθεσίες για αυτή την ημέρα ακόμη',
|
'planner.noPlacesForDay': 'Δεν υπάρχουν τοποθεσίες για αυτή την ημέρα ακόμη',
|
||||||
'planner.addPlacesLink': 'Προσθήκη τοποθεσιών \u2192',
|
'planner.addPlacesLink': 'Προσθήκη τοποθεσιών \u2192',
|
||||||
'planner.minTotal': 'λεπτά σύνολο',
|
'planner.minTotal': 'λεπτά σύνολο',
|
||||||
|
|||||||
@@ -2,10 +2,12 @@ import type { TranslationStrings } from '../types';
|
|||||||
|
|
||||||
const register: TranslationStrings = {
|
const register: TranslationStrings = {
|
||||||
'register.passwordMismatch': 'Οι κωδικοί δεν ταιριάζουν',
|
'register.passwordMismatch': 'Οι κωδικοί δεν ταιριάζουν',
|
||||||
'register.passwordTooShort': 'Ο κωδικός πρέπει να έχει τουλάχιστον 8 χαρακτήρες',
|
'register.passwordTooShort':
|
||||||
|
'Ο κωδικός πρέπει να έχει τουλάχιστον 8 χαρακτήρες',
|
||||||
'register.failed': 'Η εγγραφή απέτυχε',
|
'register.failed': 'Η εγγραφή απέτυχε',
|
||||||
'register.getStarted': 'Ξεκινήστε',
|
'register.getStarted': 'Ξεκινήστε',
|
||||||
'register.subtitle': 'Δημιουργήστε έναν λογαριασμό και ξεκινήστε να σχεδιάζετε τα ταξίδια των ονείρων σας.',
|
'register.subtitle':
|
||||||
|
'Δημιουργήστε έναν λογαριασμό και ξεκινήστε να σχεδιάζετε τα ταξίδια των ονείρων σας.',
|
||||||
'register.feature1': 'Απεριόριστα σχέδια ταξιδιών',
|
'register.feature1': 'Απεριόριστα σχέδια ταξιδιών',
|
||||||
'register.feature2': 'Διαδραστική προβολή χάρτη',
|
'register.feature2': 'Διαδραστική προβολή χάρτη',
|
||||||
'register.feature3': 'Διαχείριση τόπων και κατηγοριών',
|
'register.feature3': 'Διαχείριση τόπων και κατηγοριών',
|
||||||
|
|||||||
@@ -3,10 +3,12 @@ import type { TranslationStrings } from '../types';
|
|||||||
const reservations: TranslationStrings = {
|
const reservations: TranslationStrings = {
|
||||||
'reservations.title': 'Κρατήσεις',
|
'reservations.title': 'Κρατήσεις',
|
||||||
'reservations.empty': 'Δεν υπάρχουν κρατήσεις ακόμη',
|
'reservations.empty': 'Δεν υπάρχουν κρατήσεις ακόμη',
|
||||||
'reservations.emptyHint': 'Προσθέστε κρατήσεις για πτήσεις, ξενοδοχεία και άλλα',
|
'reservations.emptyHint':
|
||||||
|
'Προσθέστε κρατήσεις για πτήσεις, ξενοδοχεία και άλλα',
|
||||||
'reservations.add': 'Προσθήκη Κράτησης',
|
'reservations.add': 'Προσθήκη Κράτησης',
|
||||||
'reservations.addManual': 'Χειροκίνητη Κράτηση',
|
'reservations.addManual': 'Χειροκίνητη Κράτηση',
|
||||||
'reservations.placeHint': 'Συμβουλή: Οι κρατήσεις δημιουργούνται καλύτερα απευθείας από ένα μέρος για να συνδεθούν με το ημερήσιο πλάνο σας.',
|
'reservations.placeHint':
|
||||||
|
'Συμβουλή: Οι κρατήσεις δημιουργούνται καλύτερα απευθείας από ένα μέρος για να συνδεθούν με το ημερήσιο πλάνο σας.',
|
||||||
'reservations.confirmed': 'Επιβεβαιωμένο',
|
'reservations.confirmed': 'Επιβεβαιωμένο',
|
||||||
'reservations.pending': 'Εκκρεμές',
|
'reservations.pending': 'Εκκρεμές',
|
||||||
'reservations.summary': '{confirmed} επιβεβαιωμένες, {pending} εκκρεμείς',
|
'reservations.summary': '{confirmed} επιβεβαιωμένες, {pending} εκκρεμείς',
|
||||||
@@ -27,7 +29,8 @@ const reservations: TranslationStrings = {
|
|||||||
'reservations.meta.from': 'Από',
|
'reservations.meta.from': 'Από',
|
||||||
'reservations.meta.to': 'Προς',
|
'reservations.meta.to': 'Προς',
|
||||||
'reservations.needsReview': 'Έλεγχος',
|
'reservations.needsReview': 'Έλεγχος',
|
||||||
'reservations.needsReviewHint': 'Δεν ήταν δυνατή η αυτόματη αντιστοίχιση του αεροδρομίου — παρακαλώ επιβεβαιώστε την τοποθεσία.',
|
'reservations.needsReviewHint':
|
||||||
|
'Δεν ήταν δυνατή η αυτόματη αντιστοίχιση του αεροδρομίου — παρακαλώ επιβεβαιώστε την τοποθεσία.',
|
||||||
'reservations.searchLocation': 'Αναζήτηση σταθμού, λιμανιού, διεύθυνσης…',
|
'reservations.searchLocation': 'Αναζήτηση σταθμού, λιμανιού, διεύθυνσης…',
|
||||||
'reservations.meta.trainNumber': 'Αρ. Τρένου',
|
'reservations.meta.trainNumber': 'Αρ. Τρένου',
|
||||||
'reservations.meta.platform': 'Αποβάθρα',
|
'reservations.meta.platform': 'Αποβάθρα',
|
||||||
@@ -52,9 +55,11 @@ const reservations: TranslationStrings = {
|
|||||||
'reservations.type.event': 'Εκδήλωση',
|
'reservations.type.event': 'Εκδήλωση',
|
||||||
'reservations.type.tour': 'Περιήγηση',
|
'reservations.type.tour': 'Περιήγηση',
|
||||||
'reservations.type.other': 'Άλλο',
|
'reservations.type.other': 'Άλλο',
|
||||||
'reservations.confirm.delete': 'Είστε σίγουροι ότι θέλετε να διαγράψετε την κράτηση "{name}";',
|
'reservations.confirm.delete':
|
||||||
|
'Είστε σίγουροι ότι θέλετε να διαγράψετε την κράτηση "{name}";',
|
||||||
'reservations.confirm.deleteTitle': 'Διαγραφή κράτησης;',
|
'reservations.confirm.deleteTitle': 'Διαγραφή κράτησης;',
|
||||||
'reservations.confirm.deleteBody': 'Η κράτηση "{name}" θα διαγραφεί οριστικά.',
|
'reservations.confirm.deleteBody':
|
||||||
|
'Η κράτηση "{name}" θα διαγραφεί οριστικά.',
|
||||||
'reservations.toast.updated': 'Η κράτηση ενημερώθηκε',
|
'reservations.toast.updated': 'Η κράτηση ενημερώθηκε',
|
||||||
'reservations.toast.removed': 'Η κράτηση διαγράφηκε',
|
'reservations.toast.removed': 'Η κράτηση διαγράφηκε',
|
||||||
'reservations.toast.fileUploaded': 'Το αρχείο μεταφορτώθηκε',
|
'reservations.toast.fileUploaded': 'Το αρχείο μεταφορτώθηκε',
|
||||||
@@ -86,7 +91,8 @@ const reservations: TranslationStrings = {
|
|||||||
'reservations.budgetCategory': 'Κατηγορία προϋπολογισμού',
|
'reservations.budgetCategory': 'Κατηγορία προϋπολογισμού',
|
||||||
'reservations.budgetCategoryPlaceholder': 'π.χ. Μεταφορά, Κατάλυμα',
|
'reservations.budgetCategoryPlaceholder': 'π.χ. Μεταφορά, Κατάλυμα',
|
||||||
'reservations.budgetCategoryAuto': 'Αυτόματα (από τον τύπο κράτησης)',
|
'reservations.budgetCategoryAuto': 'Αυτόματα (από τον τύπο κράτησης)',
|
||||||
'reservations.budgetHint': 'Μια εγγραφή προϋπολογισμού θα δημιουργηθεί αυτόματα κατά την αποθήκευση.',
|
'reservations.budgetHint':
|
||||||
|
'Μια εγγραφή προϋπολογισμού θα δημιουργηθεί αυτόματα κατά την αποθήκευση.',
|
||||||
'reservations.departureDate': 'Αναχώρηση',
|
'reservations.departureDate': 'Αναχώρηση',
|
||||||
'reservations.arrivalDate': 'Άφιξη',
|
'reservations.arrivalDate': 'Άφιξη',
|
||||||
'reservations.departureTime': 'Ώρα αναχ.',
|
'reservations.departureTime': 'Ώρα αναχ.',
|
||||||
@@ -107,7 +113,8 @@ const reservations: TranslationStrings = {
|
|||||||
'reservations.span.start': 'Έναρξη',
|
'reservations.span.start': 'Έναρξη',
|
||||||
'reservations.span.end': 'Λήξη',
|
'reservations.span.end': 'Λήξη',
|
||||||
'reservations.span.ongoing': 'Σε εξέλιξη',
|
'reservations.span.ongoing': 'Σε εξέλιξη',
|
||||||
'reservations.validation.endBeforeStart': 'Η ημερομηνία/ώρα λήξης πρέπει να είναι μετά την ημερομηνία/ώρα έναρξης',
|
'reservations.validation.endBeforeStart':
|
||||||
|
'Η ημερομηνία/ώρα λήξης πρέπει να είναι μετά την ημερομηνία/ώρα έναρξης',
|
||||||
'reservations.addBooking': 'Προσθήκη κράτησης',
|
'reservations.addBooking': 'Προσθήκη κράτησης',
|
||||||
};
|
};
|
||||||
export default reservations;
|
export default reservations;
|
||||||
|
|||||||
+110
-55
@@ -14,10 +14,12 @@ const settings: TranslationStrings = {
|
|||||||
'settings.mapTemplate': 'Πρότυπο Χάρτη',
|
'settings.mapTemplate': 'Πρότυπο Χάρτη',
|
||||||
'settings.mapTemplatePlaceholder.select': 'Επιλέξτε πρότυπο...',
|
'settings.mapTemplatePlaceholder.select': 'Επιλέξτε πρότυπο...',
|
||||||
'settings.mapDefaultHint': 'Αφήστε κενό για OpenStreetMap (προεπιλογή)',
|
'settings.mapDefaultHint': 'Αφήστε κενό για OpenStreetMap (προεπιλογή)',
|
||||||
'settings.mapTemplatePlaceholder': 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
|
'settings.mapTemplatePlaceholder':
|
||||||
|
'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
|
||||||
'settings.mapHint': 'Πρότυπο URL για πλακίδια χάρτη',
|
'settings.mapHint': 'Πρότυπο URL για πλακίδια χάρτη',
|
||||||
'settings.mapProvider': 'Πάροχος Χάρτη',
|
'settings.mapProvider': 'Πάροχος Χάρτη',
|
||||||
'settings.mapProviderHint': 'Επηρεάζει τους χάρτες του Trip Planner και του Journey. Το Atlas χρησιμοποιεί πάντα Leaflet.',
|
'settings.mapProviderHint':
|
||||||
|
'Επηρεάζει τους χάρτες του Trip Planner και του Journey. Το Atlas χρησιμοποιεί πάντα Leaflet.',
|
||||||
'settings.mapLeafletSubtitle': 'Κλασικό 2D, οποιαδήποτε raster πλακίδια',
|
'settings.mapLeafletSubtitle': 'Κλασικό 2D, οποιαδήποτε raster πλακίδια',
|
||||||
'settings.mapMapboxSubtitle': 'Διανυσματικά πλακίδια, 3D κτίρια & ανάγλυφο',
|
'settings.mapMapboxSubtitle': 'Διανυσματικά πλακίδια, 3D κτίρια & ανάγλυφο',
|
||||||
'settings.mapExperimental': 'Πειραματικό',
|
'settings.mapExperimental': 'Πειραματικό',
|
||||||
@@ -26,22 +28,29 @@ const settings: TranslationStrings = {
|
|||||||
'settings.mapMapboxTokenLink': 'mapbox.com → Access tokens',
|
'settings.mapMapboxTokenLink': 'mapbox.com → Access tokens',
|
||||||
'settings.mapStyle': 'Στυλ Χάρτη',
|
'settings.mapStyle': 'Στυλ Χάρτη',
|
||||||
'settings.mapStylePlaceholder': 'Επιλέξτε ένα στυλ Mapbox',
|
'settings.mapStylePlaceholder': 'Επιλέξτε ένα στυλ Mapbox',
|
||||||
'settings.mapStyleHint': 'Προκαθορισμένο ή δικό σας mapbox://styles/USER/ID URL',
|
'settings.mapStyleHint':
|
||||||
|
'Προκαθορισμένο ή δικό σας mapbox://styles/USER/ID URL',
|
||||||
'settings.map3dBuildings': '3D Κτίρια & Ανάγλυφο',
|
'settings.map3dBuildings': '3D Κτίρια & Ανάγλυφο',
|
||||||
'settings.map3dHint': 'Κλίση + πραγματικές 3D προεξοχές κτιρίων — λειτουργεί σε κάθε στυλ, συμπεριλαμβανομένου του δορυφορικού.',
|
'settings.map3dHint':
|
||||||
|
'Κλίση + πραγματικές 3D προεξοχές κτιρίων — λειτουργεί σε κάθε στυλ, συμπεριλαμβανομένου του δορυφορικού.',
|
||||||
'settings.mapHighQuality': 'Λειτουργία Υψηλής Ποιότητας',
|
'settings.mapHighQuality': 'Λειτουργία Υψηλής Ποιότητας',
|
||||||
'settings.mapHighQualityHint': 'Antialiasing + προβολή υδρογείου για ευκρινέστερες ακμές και ρεαλιστική όψη του κόσμου.',
|
'settings.mapHighQualityHint':
|
||||||
'settings.mapHighQualityWarning': 'Μπορεί να επηρεάσει την απόδοση σε συσκευές χαμηλότερων προδιαγραφών.',
|
'Antialiasing + προβολή υδρογείου για ευκρινέστερες ακμές και ρεαλιστική όψη του κόσμου.',
|
||||||
|
'settings.mapHighQualityWarning':
|
||||||
|
'Μπορεί να επηρεάσει την απόδοση σε συσκευές χαμηλότερων προδιαγραφών.',
|
||||||
'settings.mapTipLabel': 'Συμβουλή:',
|
'settings.mapTipLabel': 'Συμβουλή:',
|
||||||
'settings.mapTip': 'κάντε δεξί κλικ και σύρετε για περιστροφή/κλίση του χάρτη. Μεσαίο κλικ για προσθήκη τοποθεσίας (το δεξί κλικ έχει κρατηθεί για περιστροφή).',
|
'settings.mapTip':
|
||||||
|
'κάντε δεξί κλικ και σύρετε για περιστροφή/κλίση του χάρτη. Μεσαίο κλικ για προσθήκη τοποθεσίας (το δεξί κλικ έχει κρατηθεί για περιστροφή).',
|
||||||
'settings.latitude': 'Γεωγραφικό Πλάτος',
|
'settings.latitude': 'Γεωγραφικό Πλάτος',
|
||||||
'settings.longitude': 'Γεωγραφικό Μήκος',
|
'settings.longitude': 'Γεωγραφικό Μήκος',
|
||||||
'settings.saveMap': 'Αποθήκευση Χάρτη',
|
'settings.saveMap': 'Αποθήκευση Χάρτη',
|
||||||
'settings.apiKeys': 'Κλειδιά API',
|
'settings.apiKeys': 'Κλειδιά API',
|
||||||
'settings.mapsKey': 'Google Maps API Key',
|
'settings.mapsKey': 'Google Maps API Key',
|
||||||
'settings.mapsKeyHint': 'Για αναζήτηση τοποθεσιών. Απαιτείται Places API (New). Λάβετε το από console.cloud.google.com',
|
'settings.mapsKeyHint':
|
||||||
|
'Για αναζήτηση τοποθεσιών. Απαιτείται Places API (New). Λάβετε το από console.cloud.google.com',
|
||||||
'settings.weatherKey': 'OpenWeatherMap API Key',
|
'settings.weatherKey': 'OpenWeatherMap API Key',
|
||||||
'settings.weatherKeyHint': 'Για δεδομένα καιρού. Δωρεάν στο openweathermap.org/api',
|
'settings.weatherKeyHint':
|
||||||
|
'Για δεδομένα καιρού. Δωρεάν στο openweathermap.org/api',
|
||||||
'settings.keyPlaceholder': 'Εισάγετε κλειδί...',
|
'settings.keyPlaceholder': 'Εισάγετε κλειδί...',
|
||||||
'settings.configured': 'Διαμορφωμένο',
|
'settings.configured': 'Διαμορφωμένο',
|
||||||
'settings.saveKeys': 'Αποθήκευση Κλειδιών',
|
'settings.saveKeys': 'Αποθήκευση Κλειδιών',
|
||||||
@@ -55,7 +64,8 @@ const settings: TranslationStrings = {
|
|||||||
'settings.timeFormat': 'Μορφή Ώρας',
|
'settings.timeFormat': 'Μορφή Ώρας',
|
||||||
'settings.routeCalculation': 'Υπολογισμός Διαδρομής',
|
'settings.routeCalculation': 'Υπολογισμός Διαδρομής',
|
||||||
'settings.bookingLabels': 'Ετικέτες διαδρομής κρατήσεων',
|
'settings.bookingLabels': 'Ετικέτες διαδρομής κρατήσεων',
|
||||||
'settings.bookingLabelsHint': 'Εμφάνιση ονομάτων σταθμών / αεροδρομίων στον χάρτη. Όταν είναι απενεργοποιημένο, εμφανίζεται μόνο το εικονίδιο.',
|
'settings.bookingLabelsHint':
|
||||||
|
'Εμφάνιση ονομάτων σταθμών / αεροδρομίων στον χάρτη. Όταν είναι απενεργοποιημένο, εμφανίζεται μόνο το εικονίδιο.',
|
||||||
'settings.blurBookingCodes': 'Θόλωμα Κωδικών Κρατήσεων',
|
'settings.blurBookingCodes': 'Θόλωμα Κωδικών Κρατήσεων',
|
||||||
'settings.notifications': 'Ειδοποιήσεις',
|
'settings.notifications': 'Ειδοποιήσεις',
|
||||||
'settings.notifyTripInvite': 'Προσκλήσεις ταξιδιού',
|
'settings.notifyTripInvite': 'Προσκλήσεις ταξιδιού',
|
||||||
@@ -72,10 +82,12 @@ const settings: TranslationStrings = {
|
|||||||
'settings.notificationPreferences.webhook': 'Webhook',
|
'settings.notificationPreferences.webhook': 'Webhook',
|
||||||
'settings.notificationPreferences.inapp': 'Εντός εφαρμογής',
|
'settings.notificationPreferences.inapp': 'Εντός εφαρμογής',
|
||||||
'settings.notificationPreferences.ntfy': 'Ntfy',
|
'settings.notificationPreferences.ntfy': 'Ntfy',
|
||||||
'settings.notificationPreferences.noChannels': 'Δεν έχουν διαμορφωθεί κανάλια ειδοποιήσεων. Ζητήστε από έναν διαχειριστή να ρυθμίσει ειδοποιήσεις email ή webhook.',
|
'settings.notificationPreferences.noChannels':
|
||||||
|
'Δεν έχουν διαμορφωθεί κανάλια ειδοποιήσεων. Ζητήστε από έναν διαχειριστή να ρυθμίσει ειδοποιήσεις email ή webhook.',
|
||||||
'settings.webhookUrl.label': 'Webhook URL',
|
'settings.webhookUrl.label': 'Webhook URL',
|
||||||
'settings.webhookUrl.placeholder': 'https://discord.com/api/webhooks/...',
|
'settings.webhookUrl.placeholder': 'https://discord.com/api/webhooks/...',
|
||||||
'settings.webhookUrl.hint': 'Εισάγετε το Discord, Slack ή προσαρμοσμένο webhook URL σας για να λαμβάνετε ειδοποιήσεις.',
|
'settings.webhookUrl.hint':
|
||||||
|
'Εισάγετε το Discord, Slack ή προσαρμοσμένο webhook URL σας για να λαμβάνετε ειδοποιήσεις.',
|
||||||
'settings.webhookUrl.saved': 'Το Webhook URL αποθηκεύτηκε',
|
'settings.webhookUrl.saved': 'Το Webhook URL αποθηκεύτηκε',
|
||||||
'settings.webhookUrl.test': 'Δοκιμή',
|
'settings.webhookUrl.test': 'Δοκιμή',
|
||||||
'settings.webhookUrl.testSuccess': 'Η δοκιμή webhook στάλθηκε επιτυχώς',
|
'settings.webhookUrl.testSuccess': 'Η δοκιμή webhook στάλθηκε επιτυχώς',
|
||||||
@@ -84,90 +96,115 @@ const settings: TranslationStrings = {
|
|||||||
'settings.ntfyUrl.topicPlaceholder': 'my-trek-alerts',
|
'settings.ntfyUrl.topicPlaceholder': 'my-trek-alerts',
|
||||||
'settings.ntfyUrl.serverLabel': 'URL Ntfy Server (προαιρετικό)',
|
'settings.ntfyUrl.serverLabel': 'URL Ntfy Server (προαιρετικό)',
|
||||||
'settings.ntfyUrl.serverPlaceholder': 'https://ntfy.sh',
|
'settings.ntfyUrl.serverPlaceholder': 'https://ntfy.sh',
|
||||||
'settings.ntfyUrl.hint': 'Εισάγετε το ntfy topic σας για να λαμβάνετε push ειδοποιήσεις. Αφήστε τον server κενό για χρήση του προεπιλεγμένου από τον διαχειριστή.',
|
'settings.ntfyUrl.hint':
|
||||||
|
'Εισάγετε το ntfy topic σας για να λαμβάνετε push ειδοποιήσεις. Αφήστε τον server κενό για χρήση του προεπιλεγμένου από τον διαχειριστή.',
|
||||||
'settings.ntfyUrl.tokenLabel': 'Access Token (προαιρετικό)',
|
'settings.ntfyUrl.tokenLabel': 'Access Token (προαιρετικό)',
|
||||||
'settings.ntfyUrl.tokenHint': 'Απαιτείται για θέματα προστατευμένα με κωδικό.',
|
'settings.ntfyUrl.tokenHint':
|
||||||
|
'Απαιτείται για θέματα προστατευμένα με κωδικό.',
|
||||||
'settings.ntfyUrl.saved': 'Οι ρυθμίσεις Ntfy αποθηκεύτηκαν',
|
'settings.ntfyUrl.saved': 'Οι ρυθμίσεις Ntfy αποθηκεύτηκαν',
|
||||||
'settings.ntfyUrl.test': 'Δοκιμή',
|
'settings.ntfyUrl.test': 'Δοκιμή',
|
||||||
'settings.ntfyUrl.testSuccess': 'Η δοκιμαστική ειδοποίηση ntfy στάλθηκε επιτυχώς',
|
'settings.ntfyUrl.testSuccess':
|
||||||
|
'Η δοκιμαστική ειδοποίηση ntfy στάλθηκε επιτυχώς',
|
||||||
'settings.ntfyUrl.testFailed': 'Η δοκιμαστική ειδοποίηση ntfy απέτυχε',
|
'settings.ntfyUrl.testFailed': 'Η δοκιμαστική ειδοποίηση ntfy απέτυχε',
|
||||||
'settings.ntfyUrl.tokenCleared': 'Το access token εκκαθαρίστηκε',
|
'settings.ntfyUrl.tokenCleared': 'Το access token εκκαθαρίστηκε',
|
||||||
'settings.notificationsDisabled': 'Οι ειδοποιήσεις δεν έχουν διαμορφωθεί. Ζητήστε από έναν διαχειριστή να ενεργοποιήσει ειδοποιήσεις email ή webhook.',
|
'settings.notificationsDisabled':
|
||||||
|
'Οι ειδοποιήσεις δεν έχουν διαμορφωθεί. Ζητήστε από έναν διαχειριστή να ενεργοποιήσει ειδοποιήσεις email ή webhook.',
|
||||||
'settings.notificationsActive': 'Ενεργό κανάλι',
|
'settings.notificationsActive': 'Ενεργό κανάλι',
|
||||||
'settings.notificationsManagedByAdmin': 'Τα συμβάντα ειδοποιήσεων διαμορφώνονται από τον διαχειριστή σας.',
|
'settings.notificationsManagedByAdmin':
|
||||||
|
'Τα συμβάντα ειδοποιήσεων διαμορφώνονται από τον διαχειριστή σας.',
|
||||||
'settings.on': 'Ενεργό',
|
'settings.on': 'Ενεργό',
|
||||||
'settings.off': 'Ανενεργό',
|
'settings.off': 'Ανενεργό',
|
||||||
'settings.mcp.title': 'Διαμόρφωση MCP',
|
'settings.mcp.title': 'Διαμόρφωση MCP',
|
||||||
'settings.mcp.endpoint': 'MCP Endpoint',
|
'settings.mcp.endpoint': 'MCP Endpoint',
|
||||||
'settings.mcp.clientConfig': 'Διαμόρφωση Πελάτη',
|
'settings.mcp.clientConfig': 'Διαμόρφωση Πελάτη',
|
||||||
'settings.mcp.clientConfigHint': 'Αντικαταστήστε το <your_token> με ένα API token από την παρακάτω λίστα. Η διαδρομή για το npx ίσως χρειαστεί να προσαρμοστεί για το σύστημά σας (π.χ. C:\\PROGRA~1\\nodejs\\npx.cmd στα Windows).',
|
'settings.mcp.clientConfigHint':
|
||||||
'settings.mcp.clientConfigHintOAuth': 'Αντικαταστήστε τα <your_client_id> και <your_client_secret> με τα διαπιστευτήρια που εμφανίζονται στον πελάτη OAuth 2.1 που δημιουργήσατε παραπάνω. Το mcp-remote θα ανοίξει τον browser σας για να ολοκληρώσετε την εξουσιοδότηση την πρώτη φορά που θα συνδεθείτε. Η διαδρομή για το npx ίσως χρειαστεί να προσαρμοστεί για το σύστημά σας (π.χ. C:\PROGRA~1\nodejs\npx.cmd στα Windows).',
|
'Αντικαταστήστε το <your_token> με ένα API token από την παρακάτω λίστα. Η διαδρομή για το npx ίσως χρειαστεί να προσαρμοστεί για το σύστημά σας (π.χ. C:\\PROGRA~1\\nodejs\\npx.cmd στα Windows).',
|
||||||
|
'settings.mcp.clientConfigHintOAuth':
|
||||||
|
'Αντικαταστήστε τα <your_client_id> και <your_client_secret> με τα διαπιστευτήρια που εμφανίζονται στον πελάτη OAuth 2.1 που δημιουργήσατε παραπάνω. Το mcp-remote θα ανοίξει τον browser σας για να ολοκληρώσετε την εξουσιοδότηση την πρώτη φορά που θα συνδεθείτε. Η διαδρομή για το npx ίσως χρειαστεί να προσαρμοστεί για το σύστημά σας (π.χ. C:\\PROGRA~1\\nodejs\\npx.cmd στα Windows).',
|
||||||
'settings.mcp.copy': 'Αντιγραφή',
|
'settings.mcp.copy': 'Αντιγραφή',
|
||||||
'settings.mcp.copied': 'Αντιγράφηκε!',
|
'settings.mcp.copied': 'Αντιγράφηκε!',
|
||||||
'settings.mcp.apiTokens': 'API Tokens',
|
'settings.mcp.apiTokens': 'API Tokens',
|
||||||
'settings.mcp.createToken': 'Δημιουργία νέου Token',
|
'settings.mcp.createToken': 'Δημιουργία νέου Token',
|
||||||
'settings.mcp.noTokens': 'Δεν υπάρχουν tokens ακόμη. Δημιουργήστε ένα για να συνδέσετε πελάτες MCP.',
|
'settings.mcp.noTokens':
|
||||||
|
'Δεν υπάρχουν tokens ακόμη. Δημιουργήστε ένα για να συνδέσετε πελάτες MCP.',
|
||||||
'settings.mcp.tokenCreatedAt': 'Δημιουργήθηκε',
|
'settings.mcp.tokenCreatedAt': 'Δημιουργήθηκε',
|
||||||
'settings.mcp.tokenUsedAt': 'Χρησιμοποιήθηκε',
|
'settings.mcp.tokenUsedAt': 'Χρησιμοποιήθηκε',
|
||||||
'settings.mcp.deleteTokenTitle': 'Διαγραφή Token',
|
'settings.mcp.deleteTokenTitle': 'Διαγραφή Token',
|
||||||
'settings.mcp.deleteTokenMessage': 'Αυτό το token θα σταματήσει να λειτουργεί αμέσως. Οποιοσδήποτε πελάτης MCP το χρησιμοποιεί θα χάσει την πρόσβαση.',
|
'settings.mcp.deleteTokenMessage':
|
||||||
|
'Αυτό το token θα σταματήσει να λειτουργεί αμέσως. Οποιοσδήποτε πελάτης MCP το χρησιμοποιεί θα χάσει την πρόσβαση.',
|
||||||
'settings.mcp.modal.createTitle': 'Δημιουργία API Token',
|
'settings.mcp.modal.createTitle': 'Δημιουργία API Token',
|
||||||
'settings.mcp.modal.tokenName': 'Όνομα Token',
|
'settings.mcp.modal.tokenName': 'Όνομα Token',
|
||||||
'settings.mcp.modal.tokenNamePlaceholder': 'π.χ. Claude Desktop, Φορητός εργασίας',
|
'settings.mcp.modal.tokenNamePlaceholder':
|
||||||
|
'π.χ. Claude Desktop, Φορητός εργασίας',
|
||||||
'settings.mcp.modal.creating': 'Δημιουργία…',
|
'settings.mcp.modal.creating': 'Δημιουργία…',
|
||||||
'settings.mcp.modal.create': 'Δημιουργία Token',
|
'settings.mcp.modal.create': 'Δημιουργία Token',
|
||||||
'settings.mcp.modal.createdTitle': 'Το Token δημιουργήθηκε',
|
'settings.mcp.modal.createdTitle': 'Το Token δημιουργήθηκε',
|
||||||
'settings.mcp.modal.createdWarning': 'Αυτό το token θα εμφανιστεί μόνο μία φορά. Αντιγράψτε και αποθηκεύστε το τώρα — δεν μπορεί να ανακτηθεί.',
|
'settings.mcp.modal.createdWarning':
|
||||||
|
'Αυτό το token θα εμφανιστεί μόνο μία φορά. Αντιγράψτε και αποθηκεύστε το τώρα — δεν μπορεί να ανακτηθεί.',
|
||||||
'settings.mcp.modal.done': 'Ολοκληρώθηκε',
|
'settings.mcp.modal.done': 'Ολοκληρώθηκε',
|
||||||
'settings.mcp.toast.created': 'Το token δημιουργήθηκε',
|
'settings.mcp.toast.created': 'Το token δημιουργήθηκε',
|
||||||
'settings.mcp.toast.createError': 'Αποτυχία δημιουργίας token',
|
'settings.mcp.toast.createError': 'Αποτυχία δημιουργίας token',
|
||||||
'settings.mcp.toast.deleted': 'Το token διαγράφηκε',
|
'settings.mcp.toast.deleted': 'Το token διαγράφηκε',
|
||||||
'settings.mcp.toast.deleteError': 'Αποτυχία διαγραφής token',
|
'settings.mcp.toast.deleteError': 'Αποτυχία διαγραφής token',
|
||||||
'settings.mcp.apiTokensDeprecated': 'Τα API Tokens έχουν καταργηθεί και θα αφαιρεθούν σε μελλοντική έκδοση. Παρακαλώ χρησιμοποιήστε OAuth 2.1 Clients αντί αυτών.',
|
'settings.mcp.apiTokensDeprecated':
|
||||||
|
'Τα API Tokens έχουν καταργηθεί και θα αφαιρεθούν σε μελλοντική έκδοση. Παρακαλώ χρησιμοποιήστε OAuth 2.1 Clients αντί αυτών.',
|
||||||
'settings.oauth.clients': 'OAuth 2.1 Clients',
|
'settings.oauth.clients': 'OAuth 2.1 Clients',
|
||||||
'settings.oauth.clientsHint': 'Καταχωρήστε πελάτες OAuth 2.1 για να επιτρέψετε σε εφαρμογές MCP τρίτων (Claude Web, Cursor, κ.λπ.) να συνδέονται χωρίς στατικά tokens.',
|
'settings.oauth.clientsHint':
|
||||||
|
'Καταχωρήστε πελάτες OAuth 2.1 για να επιτρέψετε σε εφαρμογές MCP τρίτων (Claude Web, Cursor, κ.λπ.) να συνδέονται χωρίς στατικά tokens.',
|
||||||
'settings.oauth.createClient': 'Νέος Πελάτης',
|
'settings.oauth.createClient': 'Νέος Πελάτης',
|
||||||
'settings.oauth.noClients': 'Δεν έχουν καταχωρηθεί πελάτες OAuth.',
|
'settings.oauth.noClients': 'Δεν έχουν καταχωρηθεί πελάτες OAuth.',
|
||||||
'settings.oauth.clientId': 'Client ID',
|
'settings.oauth.clientId': 'Client ID',
|
||||||
'settings.oauth.clientSecret': 'Client Secret',
|
'settings.oauth.clientSecret': 'Client Secret',
|
||||||
'settings.oauth.deleteClient': 'Διαγραφή Πελάτη',
|
'settings.oauth.deleteClient': 'Διαγραφή Πελάτη',
|
||||||
'settings.oauth.deleteClientMessage': 'Αυτός ο πελάτης και όλες οι ενεργές συνεδρίες θα αφαιρεθούν μόνιμα. Οποιαδήποτε εφαρμογή τον χρησιμοποιεί θα χάσει την πρόσβαση αμέσως.',
|
'settings.oauth.deleteClientMessage':
|
||||||
|
'Αυτός ο πελάτης και όλες οι ενεργές συνεδρίες θα αφαιρεθούν μόνιμα. Οποιαδήποτε εφαρμογή τον χρησιμοποιεί θα χάσει την πρόσβαση αμέσως.',
|
||||||
'settings.oauth.rotateSecret': 'Εναλλαγή Secret',
|
'settings.oauth.rotateSecret': 'Εναλλαγή Secret',
|
||||||
'settings.oauth.rotateSecretMessage': 'Θα δημιουργηθεί ένα νέο client secret και όλες οι υπάρχουσες συνεδρίες θα ακυρωθούν αμέσως. Ενημερώστε την εφαρμογή σας πριν κλείσετε αυτό το παράθυρο.',
|
'settings.oauth.rotateSecretMessage':
|
||||||
|
'Θα δημιουργηθεί ένα νέο client secret και όλες οι υπάρχουσες συνεδρίες θα ακυρωθούν αμέσως. Ενημερώστε την εφαρμογή σας πριν κλείσετε αυτό το παράθυρο.',
|
||||||
'settings.oauth.rotateSecretConfirm': 'Εναλλαγή',
|
'settings.oauth.rotateSecretConfirm': 'Εναλλαγή',
|
||||||
'settings.oauth.rotateSecretConfirming': 'Εναλλαγή…',
|
'settings.oauth.rotateSecretConfirming': 'Εναλλαγή…',
|
||||||
'settings.oauth.rotateSecretDoneTitle': 'Δημιουργήθηκε νέο Secret',
|
'settings.oauth.rotateSecretDoneTitle': 'Δημιουργήθηκε νέο Secret',
|
||||||
'settings.oauth.rotateSecretDoneWarning': 'Αυτό το secret εμφανίζεται μόνο μία φορά. Αντιγράψτε το τώρα και ενημερώστε την εφαρμογή σας — όλες οι προηγούμενες συνεδρίες έχουν ακυρωθεί.',
|
'settings.oauth.rotateSecretDoneWarning':
|
||||||
|
'Αυτό το secret εμφανίζεται μόνο μία φορά. Αντιγράψτε το τώρα και ενημερώστε την εφαρμογή σας — όλες οι προηγούμενες συνεδρίες έχουν ακυρωθεί.',
|
||||||
'settings.oauth.activeSessions': 'Ενεργές Συνεδρίες OAuth',
|
'settings.oauth.activeSessions': 'Ενεργές Συνεδρίες OAuth',
|
||||||
'settings.oauth.sessionScopes': 'Scopes',
|
'settings.oauth.sessionScopes': 'Scopes',
|
||||||
'settings.oauth.sessionExpires': 'Λήγει',
|
'settings.oauth.sessionExpires': 'Λήγει',
|
||||||
'settings.oauth.revoke': 'Ανάκληση',
|
'settings.oauth.revoke': 'Ανάκληση',
|
||||||
'settings.oauth.revokeSession': 'Ανάκληση Συνεδρίας',
|
'settings.oauth.revokeSession': 'Ανάκληση Συνεδρίας',
|
||||||
'settings.oauth.revokeSessionMessage': 'Αυτό θα ανακαλέσει αμέσως την πρόσβαση για αυτή τη συνεδρία OAuth.',
|
'settings.oauth.revokeSessionMessage':
|
||||||
|
'Αυτό θα ανακαλέσει αμέσως την πρόσβαση για αυτή τη συνεδρία OAuth.',
|
||||||
'settings.oauth.modal.createTitle': 'Καταχώρηση Πελάτη OAuth',
|
'settings.oauth.modal.createTitle': 'Καταχώρηση Πελάτη OAuth',
|
||||||
'settings.oauth.modal.presets': 'Γρήγορες προεπιλογές',
|
'settings.oauth.modal.presets': 'Γρήγορες προεπιλογές',
|
||||||
'settings.oauth.modal.clientName': 'Όνομα Εφαρμογής',
|
'settings.oauth.modal.clientName': 'Όνομα Εφαρμογής',
|
||||||
'settings.oauth.modal.clientNamePlaceholder': 'π.χ. Claude Web, Η εφαρμογή μου MCP',
|
'settings.oauth.modal.clientNamePlaceholder':
|
||||||
|
'π.χ. Claude Web, Η εφαρμογή μου MCP',
|
||||||
'settings.oauth.modal.redirectUris': 'Redirect URIs',
|
'settings.oauth.modal.redirectUris': 'Redirect URIs',
|
||||||
'settings.oauth.modal.redirectUrisPlaceholder': 'https://your-app.com/callback\nhttps://your-app.com/auth',
|
'settings.oauth.modal.redirectUrisPlaceholder':
|
||||||
'settings.oauth.modal.redirectUrisHint': 'Ένα URI ανά γραμμή. Απαιτείται HTTPS (το localhost εξαιρείται). Επιβάλλεται ακριβής αντιστοίχιση.',
|
'https://your-app.com/callback\nhttps://your-app.com/auth',
|
||||||
|
'settings.oauth.modal.redirectUrisHint':
|
||||||
|
'Ένα URI ανά γραμμή. Απαιτείται HTTPS (το localhost εξαιρείται). Επιβάλλεται ακριβής αντιστοίχιση.',
|
||||||
'settings.oauth.modal.scopes': 'Επιτρεπόμενα Scopes',
|
'settings.oauth.modal.scopes': 'Επιτρεπόμενα Scopes',
|
||||||
'settings.oauth.modal.scopesHint': 'Τα list_trips και get_trip_summary είναι πάντα διαθέσιμα — δεν απαιτείται scope. Επιτρέπουν στο AI να εντοπίζει τα trip IDs που χρειάζονται για τη χρήση οποιουδήποτε άλλου εργαλείου.',
|
'settings.oauth.modal.scopesHint':
|
||||||
|
'Τα list_trips και get_trip_summary είναι πάντα διαθέσιμα — δεν απαιτείται scope. Επιτρέπουν στο AI να εντοπίζει τα trip IDs που χρειάζονται για τη χρήση οποιουδήποτε άλλου εργαλείου.',
|
||||||
'settings.oauth.modal.selectAll': 'Επιλογή όλων',
|
'settings.oauth.modal.selectAll': 'Επιλογή όλων',
|
||||||
'settings.oauth.modal.deselectAll': 'Απο-επιλογή όλων',
|
'settings.oauth.modal.deselectAll': 'Απο-επιλογή όλων',
|
||||||
'settings.oauth.modal.creating': 'Καταχώρηση…',
|
'settings.oauth.modal.creating': 'Καταχώρηση…',
|
||||||
'settings.oauth.modal.create': 'Καταχώρηση Πελάτη',
|
'settings.oauth.modal.create': 'Καταχώρηση Πελάτη',
|
||||||
'settings.oauth.modal.createdTitle': 'Ο Πελάτης Καταχωρήθηκε',
|
'settings.oauth.modal.createdTitle': 'Ο Πελάτης Καταχωρήθηκε',
|
||||||
'settings.oauth.modal.createdWarning': 'Το client secret εμφανίζεται μόνο μία φορά. Αντιγράψτε το τώρα — δεν μπορεί να ανακτηθεί.',
|
'settings.oauth.modal.createdWarning':
|
||||||
|
'Το client secret εμφανίζεται μόνο μία φορά. Αντιγράψτε το τώρα — δεν μπορεί να ανακτηθεί.',
|
||||||
'settings.oauth.toast.createError': 'Αποτυχία καταχώρησης πελάτη OAuth',
|
'settings.oauth.toast.createError': 'Αποτυχία καταχώρησης πελάτη OAuth',
|
||||||
'settings.oauth.toast.deleted': 'Ο πελάτης OAuth διαγράφηκε',
|
'settings.oauth.toast.deleted': 'Ο πελάτης OAuth διαγράφηκε',
|
||||||
'settings.oauth.toast.deleteError': 'Αποτυχία διαγραφής πελάτη OAuth',
|
'settings.oauth.toast.deleteError': 'Αποτυχία διαγραφής πελάτη OAuth',
|
||||||
'settings.oauth.toast.revoked': 'Η συνεδρία ανακλήθηκε',
|
'settings.oauth.toast.revoked': 'Η συνεδρία ανακλήθηκε',
|
||||||
'settings.oauth.toast.revokeError': 'Αποτυχία ανάκλησης συνεδρίας',
|
'settings.oauth.toast.revokeError': 'Αποτυχία ανάκλησης συνεδρίας',
|
||||||
'settings.oauth.toast.rotateError': 'Αποτυχία εναλλαγής client secret',
|
'settings.oauth.toast.rotateError': 'Αποτυχία εναλλαγής client secret',
|
||||||
'settings.oauth.modal.machineClient': 'Πελάτης μηχανής (χωρίς σύνδεση μέσω browser)',
|
'settings.oauth.modal.machineClient':
|
||||||
'settings.oauth.modal.machineClientHint': 'Χρησιμοποιήστε grant client_credentials — δεν χρειάζονται redirect URIs. Το token εκδίδεται απευθείας μέσω client_id + client_secret και ενεργεί ως εσείς εντός των επιλεγμένων scopes.',
|
'Πελάτης μηχανής (χωρίς σύνδεση μέσω browser)',
|
||||||
'settings.oauth.modal.machineClientUsage': 'Λήψη token: POST /oauth/token με grant_type=client_credentials, client_id, και client_secret. Χωρίς browser, χωρίς refresh token.',
|
'settings.oauth.modal.machineClientHint':
|
||||||
|
'Χρησιμοποιήστε grant client_credentials — δεν χρειάζονται redirect URIs. Το token εκδίδεται απευθείας μέσω client_id + client_secret και ενεργεί ως εσείς εντός των επιλεγμένων scopes.',
|
||||||
|
'settings.oauth.modal.machineClientUsage':
|
||||||
|
'Λήψη token: POST /oauth/token με grant_type=client_credentials, client_id, και client_secret. Χωρίς browser, χωρίς refresh token.',
|
||||||
'settings.oauth.badge.machine': 'μηχανή',
|
'settings.oauth.badge.machine': 'μηχανή',
|
||||||
'settings.account': 'Λογαριασμός',
|
'settings.account': 'Λογαριασμός',
|
||||||
'settings.about': 'Σχετικά',
|
'settings.about': 'Σχετικά',
|
||||||
@@ -178,17 +215,21 @@ const settings: TranslationStrings = {
|
|||||||
'settings.about.wikiHint': 'Τεκμηρίωση & οδηγοί',
|
'settings.about.wikiHint': 'Τεκμηρίωση & οδηγοί',
|
||||||
'settings.about.supporters.badge': 'Μηνιαίοι Υποστηρικτές',
|
'settings.about.supporters.badge': 'Μηνιαίοι Υποστηρικτές',
|
||||||
'settings.about.supporters.title': 'Συνταξιδιώτες για το TREK',
|
'settings.about.supporters.title': 'Συνταξιδιώτες για το TREK',
|
||||||
'settings.about.supporters.subtitle': 'Καθώς εσείς σχεδιάζετε την επόμενή σας διαδρομή, αυτοί οι άνθρωποι βοηθούν να σχεδιαστεί το μέλλον του TREK. Η μηνιαία τους συνεισφορά πηγαίνει απευθείας στην ανάπτυξη και σε πραγματικές ώρες εργασίας — ώστε το TREK να παραμένει Open Source.',
|
'settings.about.supporters.subtitle':
|
||||||
|
'Καθώς εσείς σχεδιάζετε την επόμενή σας διαδρομή, αυτοί οι άνθρωποι βοηθούν να σχεδιαστεί το μέλλον του TREK. Η μηνιαία τους συνεισφορά πηγαίνει απευθείας στην ανάπτυξη και σε πραγματικές ώρες εργασίας — ώστε το TREK να παραμένει Open Source.',
|
||||||
'settings.about.supporters.since': 'υποστηρικτής από {date}',
|
'settings.about.supporters.since': 'υποστηρικτής από {date}',
|
||||||
'settings.about.supporters.tierEmpty': 'Γίνετε ο πρώτος',
|
'settings.about.supporters.tierEmpty': 'Γίνετε ο πρώτος',
|
||||||
'settings.about.supporter.tier.noReturnTicket': 'Χωρίς Εισιτήριο Επιστροφής',
|
'settings.about.supporter.tier.noReturnTicket': 'Χωρίς Εισιτήριο Επιστροφής',
|
||||||
'settings.about.supporter.tier.lostLuggageVip': 'VIP Χαμένων Αποσκευών',
|
'settings.about.supporter.tier.lostLuggageVip': 'VIP Χαμένων Αποσκευών',
|
||||||
'settings.about.supporter.tier.businessClassDreamer': 'Ονειροπόλος Business Class',
|
'settings.about.supporter.tier.businessClassDreamer':
|
||||||
|
'Ονειροπόλος Business Class',
|
||||||
'settings.about.supporter.tier.budgetTraveller': 'Οικονομικός Ταξιδιώτης',
|
'settings.about.supporter.tier.budgetTraveller': 'Οικονομικός Ταξιδιώτης',
|
||||||
'settings.about.supporter.tier.hostelBunkmate': 'Συγκάτοικος Hostel',
|
'settings.about.supporter.tier.hostelBunkmate': 'Συγκάτοικος Hostel',
|
||||||
'settings.about.description': 'Το TREK είναι ένας self-hosted ταξιδιωτικός σχεδιαστής που σας βοηθά να οργανώσετε τα ταξίδια σας από την πρώτη ιδέα μέχρι την τελευταία ανάμνηση. Σχεδιασμός ημερών, προϋπολογισμός, λίστες πακεταρίσματος, φωτογραφίες και πολλά άλλα — όλα σε ένα μέρος, στον δικό σας server.',
|
'settings.about.description':
|
||||||
|
'Το TREK είναι ένας self-hosted ταξιδιωτικός σχεδιαστής που σας βοηθά να οργανώσετε τα ταξίδια σας από την πρώτη ιδέα μέχρι την τελευταία ανάμνηση. Σχεδιασμός ημερών, προϋπολογισμός, λίστες πακεταρίσματος, φωτογραφίες και πολλά άλλα — όλα σε ένα μέρος, στον δικό σας server.',
|
||||||
'settings.about.madeWith': 'Φτιαγμένο με',
|
'settings.about.madeWith': 'Φτιαγμένο με',
|
||||||
'settings.about.madeBy': 'από τον Maurice και μια αναπτυσσόμενη κοινότητα open-source.',
|
'settings.about.madeBy':
|
||||||
|
'από τον Maurice και μια αναπτυσσόμενη κοινότητα open-source.',
|
||||||
'settings.username': 'Όνομα χρήστη',
|
'settings.username': 'Όνομα χρήστη',
|
||||||
'settings.email': 'Email',
|
'settings.email': 'Email',
|
||||||
'settings.role': 'Ρόλος',
|
'settings.role': 'Ρόλος',
|
||||||
@@ -200,18 +241,24 @@ const settings: TranslationStrings = {
|
|||||||
'settings.newPassword': 'Νέος κωδικός',
|
'settings.newPassword': 'Νέος κωδικός',
|
||||||
'settings.confirmPassword': 'Επιβεβαίωση νέου κωδικού',
|
'settings.confirmPassword': 'Επιβεβαίωση νέου κωδικού',
|
||||||
'settings.updatePassword': 'Ενημέρωση κωδικού',
|
'settings.updatePassword': 'Ενημέρωση κωδικού',
|
||||||
'settings.passwordRequired': 'Παρακαλώ εισάγετε τον τρέχοντα και τον νέο κωδικό',
|
'settings.passwordRequired':
|
||||||
'settings.passwordTooShort': 'Ο κωδικός πρέπει να έχει τουλάχιστον 8 χαρακτήρες',
|
'Παρακαλώ εισάγετε τον τρέχοντα και τον νέο κωδικό',
|
||||||
|
'settings.passwordTooShort':
|
||||||
|
'Ο κωδικός πρέπει να έχει τουλάχιστον 8 χαρακτήρες',
|
||||||
'settings.passwordMismatch': 'Οι κωδικοί δεν ταιριάζουν',
|
'settings.passwordMismatch': 'Οι κωδικοί δεν ταιριάζουν',
|
||||||
'settings.passwordWeak': 'Ο κωδικός πρέπει να περιέχει κεφαλαία, πεζά, έναν αριθμό και έναν ειδικό χαρακτήρα',
|
'settings.passwordWeak':
|
||||||
|
'Ο κωδικός πρέπει να περιέχει κεφαλαία, πεζά, έναν αριθμό και έναν ειδικό χαρακτήρα',
|
||||||
'settings.passwordChanged': 'Ο κωδικός άλλαξε επιτυχώς',
|
'settings.passwordChanged': 'Ο κωδικός άλλαξε επιτυχώς',
|
||||||
'settings.mustChangePassword': 'Πρέπει να αλλάξετε τον κωδικό σας πριν συνεχίσετε. Παρακαλώ ορίστε έναν νέο κωδικό παρακάτω.',
|
'settings.mustChangePassword':
|
||||||
|
'Πρέπει να αλλάξετε τον κωδικό σας πριν συνεχίσετε. Παρακαλώ ορίστε έναν νέο κωδικό παρακάτω.',
|
||||||
'settings.deleteAccount': 'Διαγραφή λογαριασμού',
|
'settings.deleteAccount': 'Διαγραφή λογαριασμού',
|
||||||
'settings.deleteAccountTitle': 'Διαγραφή του λογαριασμού σας;',
|
'settings.deleteAccountTitle': 'Διαγραφή του λογαριασμού σας;',
|
||||||
'settings.deleteAccountWarning': 'Ο λογαριασμός σας και όλα τα ταξίδια, οι τόποι και τα αρχεία σας θα διαγραφούν μόνιμα. Αυτή η ενέργεια δεν μπορεί να αναιρεθεί.',
|
'settings.deleteAccountWarning':
|
||||||
|
'Ο λογαριασμός σας και όλα τα ταξίδια, οι τόποι και τα αρχεία σας θα διαγραφούν μόνιμα. Αυτή η ενέργεια δεν μπορεί να αναιρεθεί.',
|
||||||
'settings.deleteAccountConfirm': 'Μόνιμη διαγραφή',
|
'settings.deleteAccountConfirm': 'Μόνιμη διαγραφή',
|
||||||
'settings.deleteBlockedTitle': 'Η διαγραφή δεν είναι δυνατή',
|
'settings.deleteBlockedTitle': 'Η διαγραφή δεν είναι δυνατή',
|
||||||
'settings.deleteBlockedMessage': 'Είστε ο μόνος διαχειριστής. Προαγάγετε έναν άλλον χρήστη σε διαχειριστή πριν διαγράψετε τον λογαριασμό σας.',
|
'settings.deleteBlockedMessage':
|
||||||
|
'Είστε ο μόνος διαχειριστής. Προαγάγετε έναν άλλον χρήστη σε διαχειριστή πριν διαγράψετε τον λογαριασμό σας.',
|
||||||
'settings.roleUser': 'Χρήστης',
|
'settings.roleUser': 'Χρήστης',
|
||||||
'settings.saveProfile': 'Αποθήκευση Προφίλ',
|
'settings.saveProfile': 'Αποθήκευση Προφίλ',
|
||||||
'settings.toast.mapSaved': 'Οι ρυθμίσεις χάρτη αποθηκεύτηκαν',
|
'settings.toast.mapSaved': 'Οι ρυθμίσεις χάρτη αποθηκεύτηκαν',
|
||||||
@@ -224,11 +271,15 @@ const settings: TranslationStrings = {
|
|||||||
'settings.avatarRemoved': 'Η εικόνα προφίλ αφαιρέθηκε',
|
'settings.avatarRemoved': 'Η εικόνα προφίλ αφαιρέθηκε',
|
||||||
'settings.avatarError': 'Η μεταφόρτωση απέτυχε',
|
'settings.avatarError': 'Η μεταφόρτωση απέτυχε',
|
||||||
'settings.mfa.title': 'Έλεγχος ταυτότητας δύο παραγόντων (2FA)',
|
'settings.mfa.title': 'Έλεγχος ταυτότητας δύο παραγόντων (2FA)',
|
||||||
'settings.mfa.description': 'Προσθέτει ένα δεύτερο βήμα όταν συνδέεστε με email και κωδικό. Χρησιμοποιήστε μια εφαρμογή authenticator (Google Authenticator, Authy, κ.λπ.).',
|
'settings.mfa.description':
|
||||||
'settings.mfa.requiredByPolicy': 'Ο διαχειριστής σας απαιτεί έλεγχο ταυτότητας δύο παραγόντων. Ρυθμίστε μια εφαρμογή authenticator παρακάτω πριν συνεχίσετε.',
|
'Προσθέτει ένα δεύτερο βήμα όταν συνδέεστε με email και κωδικό. Χρησιμοποιήστε μια εφαρμογή authenticator (Google Authenticator, Authy, κ.λπ.).',
|
||||||
|
'settings.mfa.requiredByPolicy':
|
||||||
|
'Ο διαχειριστής σας απαιτεί έλεγχο ταυτότητας δύο παραγόντων. Ρυθμίστε μια εφαρμογή authenticator παρακάτω πριν συνεχίσετε.',
|
||||||
'settings.mfa.backupTitle': 'Εφεδρικοί κωδικοί',
|
'settings.mfa.backupTitle': 'Εφεδρικοί κωδικοί',
|
||||||
'settings.mfa.backupDescription': 'Χρησιμοποιήστε αυτούς τους εφεδρικούς κωδικούς μίας χρήσης αν χάσετε την πρόσβαση στην εφαρμογή authenticator.',
|
'settings.mfa.backupDescription':
|
||||||
'settings.mfa.backupWarning': 'Αποθηκεύστε αυτούς τους κωδικούς τώρα. Κάθε κωδικός μπορεί να χρησιμοποιηθεί μόνο μία φορά.',
|
'Χρησιμοποιήστε αυτούς τους εφεδρικούς κωδικούς μίας χρήσης αν χάσετε την πρόσβαση στην εφαρμογή authenticator.',
|
||||||
|
'settings.mfa.backupWarning':
|
||||||
|
'Αποθηκεύστε αυτούς τους κωδικούς τώρα. Κάθε κωδικός μπορεί να χρησιμοποιηθεί μόνο μία φορά.',
|
||||||
'settings.mfa.backupCopy': 'Αντιγραφή κωδικών',
|
'settings.mfa.backupCopy': 'Αντιγραφή κωδικών',
|
||||||
'settings.mfa.backupDownload': 'Λήψη TXT',
|
'settings.mfa.backupDownload': 'Λήψη TXT',
|
||||||
'settings.mfa.backupPrint': 'Εκτύπωση / PDF',
|
'settings.mfa.backupPrint': 'Εκτύπωση / PDF',
|
||||||
@@ -236,16 +287,20 @@ const settings: TranslationStrings = {
|
|||||||
'settings.mfa.enabled': 'Το 2FA είναι ενεργοποιημένο στον λογαριασμό σας.',
|
'settings.mfa.enabled': 'Το 2FA είναι ενεργοποιημένο στον λογαριασμό σας.',
|
||||||
'settings.mfa.disabled': 'Το 2FA δεν είναι ενεργοποιημένο.',
|
'settings.mfa.disabled': 'Το 2FA δεν είναι ενεργοποιημένο.',
|
||||||
'settings.mfa.setup': 'Ρύθμιση authenticator',
|
'settings.mfa.setup': 'Ρύθμιση authenticator',
|
||||||
'settings.mfa.scanQr': 'Σαρώστε αυτόν τον κωδικό QR με την εφαρμογή σας ή εισάγετε το secret χειροκίνητα.',
|
'settings.mfa.scanQr':
|
||||||
|
'Σαρώστε αυτόν τον κωδικό QR με την εφαρμογή σας ή εισάγετε το secret χειροκίνητα.',
|
||||||
'settings.mfa.secretLabel': 'Κλειδί secret (χειροκίνητη εισαγωγή)',
|
'settings.mfa.secretLabel': 'Κλειδί secret (χειροκίνητη εισαγωγή)',
|
||||||
'settings.mfa.codePlaceholder': 'Κωδικός 6 ψηφίων',
|
'settings.mfa.codePlaceholder': 'Κωδικός 6 ψηφίων',
|
||||||
'settings.mfa.enable': 'Ενεργοποίηση 2FA',
|
'settings.mfa.enable': 'Ενεργοποίηση 2FA',
|
||||||
'settings.mfa.cancelSetup': 'Ακύρωση',
|
'settings.mfa.cancelSetup': 'Ακύρωση',
|
||||||
'settings.mfa.disableTitle': 'Απενεργοποίηση 2FA',
|
'settings.mfa.disableTitle': 'Απενεργοποίηση 2FA',
|
||||||
'settings.mfa.disableHint': 'Εισάγετε τον κωδικό του λογαριασμού σας και έναν τρέχοντα κωδικό από τον authenticator σας.',
|
'settings.mfa.disableHint':
|
||||||
|
'Εισάγετε τον κωδικό του λογαριασμού σας και έναν τρέχοντα κωδικό από τον authenticator σας.',
|
||||||
'settings.mfa.disable': 'Απενεργοποίηση 2FA',
|
'settings.mfa.disable': 'Απενεργοποίηση 2FA',
|
||||||
'settings.mfa.toastEnabled': 'Ο έλεγχος ταυτότητας δύο παραγόντων ενεργοποιήθηκε',
|
'settings.mfa.toastEnabled':
|
||||||
'settings.mfa.toastDisabled': 'Ο έλεγχος ταυτότητας δύο παραγόντων απενεργοποιήθηκε',
|
'Ο έλεγχος ταυτότητας δύο παραγόντων ενεργοποιήθηκε',
|
||||||
|
'settings.mfa.toastDisabled':
|
||||||
|
'Ο έλεγχος ταυτότητας δύο παραγόντων απενεργοποιήθηκε',
|
||||||
'settings.mfa.demoBlocked': 'Δεν είναι διαθέσιμο σε λειτουργία demo',
|
'settings.mfa.demoBlocked': 'Δεν είναι διαθέσιμο σε λειτουργία demo',
|
||||||
};
|
};
|
||||||
export default settings;
|
export default settings;
|
||||||
|
|||||||
@@ -2,7 +2,8 @@ import type { TranslationStrings } from '../types';
|
|||||||
|
|
||||||
const share: TranslationStrings = {
|
const share: TranslationStrings = {
|
||||||
'share.linkTitle': 'Δημόσιος Σύνδεσμος',
|
'share.linkTitle': 'Δημόσιος Σύνδεσμος',
|
||||||
'share.linkHint': 'Δημιουργήστε έναν σύνδεσμο που μπορεί να χρησιμοποιήσει οποιοσδήποτε για να δει αυτό το ταξίδι χωρίς σύνδεση. Μόνο για ανάγνωση — χωρίς δυνατότητα επεξεργασίας.',
|
'share.linkHint':
|
||||||
|
'Δημιουργήστε έναν σύνδεσμο που μπορεί να χρησιμοποιήσει οποιοσδήποτε για να δει αυτό το ταξίδι χωρίς σύνδεση. Μόνο για ανάγνωση — χωρίς δυνατότητα επεξεργασίας.',
|
||||||
'share.createLink': 'Δημιουργία συνδέσμου',
|
'share.createLink': 'Δημιουργία συνδέσμου',
|
||||||
'share.deleteLink': 'Διαγραφή συνδέσμου',
|
'share.deleteLink': 'Διαγραφή συνδέσμου',
|
||||||
'share.createError': 'Αδυναμία δημιουργίας συνδέσμου',
|
'share.createError': 'Αδυναμία δημιουργίας συνδέσμου',
|
||||||
|
|||||||
@@ -2,7 +2,8 @@ import type { TranslationStrings } from '../types';
|
|||||||
|
|
||||||
const shared: TranslationStrings = {
|
const shared: TranslationStrings = {
|
||||||
'shared.expired': 'Ο σύνδεσμος έληξε ή δεν είναι έγκυρος',
|
'shared.expired': 'Ο σύνδεσμος έληξε ή δεν είναι έγκυρος',
|
||||||
'shared.expiredHint': 'Αυτός ο κοινόχρηστος σύνδεσμος ταξιδιού δεν είναι πλέον ενεργός.',
|
'shared.expiredHint':
|
||||||
|
'Αυτός ο κοινόχρηστος σύνδεσμος ταξιδιού δεν είναι πλέον ενεργός.',
|
||||||
'shared.readOnly': 'Κοινόχρηστη προβολή μόνο για ανάγνωση',
|
'shared.readOnly': 'Κοινόχρηστη προβολή μόνο για ανάγνωση',
|
||||||
'shared.tabPlan': 'Σχέδιο',
|
'shared.tabPlan': 'Σχέδιο',
|
||||||
'shared.tabBookings': 'Κρατήσεις',
|
'shared.tabBookings': 'Κρατήσεις',
|
||||||
|
|||||||
@@ -2,40 +2,61 @@ import type { TranslationStrings } from '../types';
|
|||||||
|
|
||||||
const system_notice: TranslationStrings = {
|
const system_notice: TranslationStrings = {
|
||||||
'system_notice.v3_photos.title': 'Οι Φωτογραφίες μετακινήθηκαν στην 3.0',
|
'system_notice.v3_photos.title': 'Οι Φωτογραφίες μετακινήθηκαν στην 3.0',
|
||||||
'system_notice.v3_photos.body': 'Οι **Φωτογραφίες** στον Σχεδιαστή Ταξιδιού έχουν αφαιρεθεί. Οι φωτογραφίες σας είναι ασφαλείς — το TREK δεν τροποποίησε ποτέ τη βιβλιοθήκη σας Immich ή Synology.\n\nΟι φωτογραφίες τώρα βρίσκονται στο πρόσθετο **Journey**. Το Journey είναι προαιρετικό — αν δεν είναι ακόμα διαθέσιμο, ζητήστε από τον διαχειριστή σας να το ενεργοποιήσει από το Διαχειριστής → Πρόσθετα.',
|
'system_notice.v3_photos.body':
|
||||||
|
'Οι **Φωτογραφίες** στον Σχεδιαστή Ταξιδιού έχουν αφαιρεθεί. Οι φωτογραφίες σας είναι ασφαλείς — το TREK δεν τροποποίησε ποτέ τη βιβλιοθήκη σας Immich ή Synology.\n\nΟι φωτογραφίες τώρα βρίσκονται στο πρόσθετο **Journey**. Το Journey είναι προαιρετικό — αν δεν είναι ακόμα διαθέσιμο, ζητήστε από τον διαχειριστή σας να το ενεργοποιήσει από το Διαχειριστής → Πρόσθετα.',
|
||||||
'system_notice.v3_journey.title': 'Γνωρίστε το Journey — ημερολόγιο ταξιδιών',
|
'system_notice.v3_journey.title': 'Γνωρίστε το Journey — ημερολόγιο ταξιδιών',
|
||||||
'system_notice.v3_journey.body': 'Καταγράψτε τα ταξίδια σας ως πλούσιες ταξιδιωτικές ιστορίες με χρονολόγια, συλλογές φωτογραφιών και διαδραστικούς χάρτες.',
|
'system_notice.v3_journey.body':
|
||||||
|
'Καταγράψτε τα ταξίδια σας ως πλούσιες ταξιδιωτικές ιστορίες με χρονολόγια, συλλογές φωτογραφιών και διαδραστικούς χάρτες.',
|
||||||
'system_notice.v3_journey.cta_label': 'Άνοιγμα Journey',
|
'system_notice.v3_journey.cta_label': 'Άνοιγμα Journey',
|
||||||
'system_notice.v3_journey.highlight_timeline': 'Χρονολόγιο ανά ημέρα & συλλογή',
|
'system_notice.v3_journey.highlight_timeline':
|
||||||
|
'Χρονολόγιο ανά ημέρα & συλλογή',
|
||||||
'system_notice.v3_journey.highlight_photos': 'Εισαγωγή από Immich ή Synology',
|
'system_notice.v3_journey.highlight_photos': 'Εισαγωγή από Immich ή Synology',
|
||||||
'system_notice.v3_journey.highlight_share': 'Δημόσια κοινοποίηση — δεν χρειάζεται σύνδεση',
|
'system_notice.v3_journey.highlight_share':
|
||||||
'system_notice.v3_journey.highlight_export': 'Εξαγωγή ως βιβλίο φωτογραφιών PDF',
|
'Δημόσια κοινοποίηση — δεν χρειάζεται σύνδεση',
|
||||||
|
'system_notice.v3_journey.highlight_export':
|
||||||
|
'Εξαγωγή ως βιβλίο φωτογραφιών PDF',
|
||||||
'system_notice.v3_features.title': 'Περισσότερα αξιοσημείωτα στην 3.0',
|
'system_notice.v3_features.title': 'Περισσότερα αξιοσημείωτα στην 3.0',
|
||||||
'system_notice.v3_features.body': 'Μερικά ακόμα πράγματα που αξίζει να γνωρίζετε για αυτή την έκδοση.',
|
'system_notice.v3_features.body':
|
||||||
'system_notice.v3_features.highlight_dashboard': 'Σχεδιασμός πίνακα ελέγχου πρώτα για κινητά',
|
'Μερικά ακόμα πράγματα που αξίζει να γνωρίζετε για αυτή την έκδοση.',
|
||||||
'system_notice.v3_features.highlight_offline': 'Πλήρης λειτουργία εκτός σύνδεσης ως PWA',
|
'system_notice.v3_features.highlight_dashboard':
|
||||||
'system_notice.v3_features.highlight_search': 'Αυτόματη συμπλήρωση αναζήτησης τοποθεσιών σε πραγματικό χρόνο',
|
'Σχεδιασμός πίνακα ελέγχου πρώτα για κινητά',
|
||||||
'system_notice.v3_features.highlight_import': 'Εισαγωγή τοποθεσιών από αρχεία KMZ/KML',
|
'system_notice.v3_features.highlight_offline':
|
||||||
|
'Πλήρης λειτουργία εκτός σύνδεσης ως PWA',
|
||||||
|
'system_notice.v3_features.highlight_search':
|
||||||
|
'Αυτόματη συμπλήρωση αναζήτησης τοποθεσιών σε πραγματικό χρόνο',
|
||||||
|
'system_notice.v3_features.highlight_import':
|
||||||
|
'Εισαγωγή τοποθεσιών από αρχεία KMZ/KML',
|
||||||
'system_notice.v3_mcp.title': 'MCP: Αναβάθμιση OAuth 2.1',
|
'system_notice.v3_mcp.title': 'MCP: Αναβάθμιση OAuth 2.1',
|
||||||
'system_notice.v3_mcp.body': 'Η ενσωμάτωση MCP ανασχεδιάστηκε πλήρως. Το OAuth 2.1 είναι τώρα η συνιστώμενη μέθοδος αυθεντικοποίησης. Τα παλιά στατικά tokens (trek_…) είναι παρωχημένα και θα αφαιρεθούν σε μελλοντική έκδοση.',
|
'system_notice.v3_mcp.body':
|
||||||
'system_notice.v3_mcp.highlight_oauth': 'Συνιστάται OAuth 2.1 (mcp-remote)',
|
'Η ενσωμάτωση MCP ανασχεδιάστηκε πλήρως. Το OAuth 2.1 είναι τώρα η συνιστώμενη μέθοδος αυθεντικοποίησης. Τα παλιά στατικά tokens (trek_…) είναι παρωχημένα και θα αφαιρεθούν σε μελλοντική έκδοση.',
|
||||||
'system_notice.v3_mcp.highlight_scopes': '24 λεπτομερή εύρη δικαιωμάτων',
|
'system_notice.v3_mcp.highlight_oauth': 'Συνιστάται OAuth 2.1 (mcp-remote)',
|
||||||
'system_notice.v3_mcp.highlight_deprecated': 'Στατικά tokens trek_ παρωχημένα',
|
'system_notice.v3_mcp.highlight_scopes': '24 λεπτομερή εύρη δικαιωμάτων',
|
||||||
'system_notice.v3_mcp.highlight_tools': 'Επεκτεταμένο σύνολο εργαλείων & προτροπών',
|
'system_notice.v3_mcp.highlight_deprecated':
|
||||||
|
'Στατικά tokens trek_ παρωχημένα',
|
||||||
|
'system_notice.v3_mcp.highlight_tools':
|
||||||
|
'Επεκτεταμένο σύνολο εργαλείων & προτροπών',
|
||||||
'system_notice.v3_thankyou.title': 'Μια προσωπική σημείωση από εμένα',
|
'system_notice.v3_thankyou.title': 'Μια προσωπική σημείωση από εμένα',
|
||||||
'system_notice.v3_thankyou.body': 'Πριν φύγετε — θέλω να αφιερώσω μια στιγμή.\n\nΤο TREK ξεκίνησε ως ένα δευτερεύον έργο που έφτιαξα για τα δικά μου ταξίδια. Ποτέ δεν φαντάστηκα ότι θα γινόταν κάτι που 4.000 από εσάς εμπιστεύεστε τώρα για να σχεδιάσετε τις περιπέτειές σας. Κάθε αστέρι, κάθε αναφορά, κάθε αίτημα χαρακτηριστικού — τα διαβάζω όλα, και με κρατούν να συνεχίζω τις ξενύχτιες ανάμεσα σε δουλειά πλήρους απασχόλησης και πανεπιστήμιο.\n\nΘέλω να ξέρετε: το TREK θα είναι πάντα ανοιχτού κώδικα, πάντα self-hosted, πάντα δικό σας. Χωρίς παρακολούθηση, χωρίς συνδρομές, χωρίς δεσμεύσεις. Απλώς ένα εργαλείο φτιαγμένο από κάποιον που λατρεύει τα ταξίδια όσο κι εσείς.\n\nΙδιαίτερες ευχαριστίες στον [jubnl](https://github.com/jubnl) — έγινες ένας απίστευτος συνεργάτης. Πολλά από αυτά που κάνουν την 3.0 σπουδαία φέρουν τα δαχτυλικά σου αποτυπώματα. Σε ευχαριστώ που πίστεψες σε αυτό το έργο όταν ήταν ακόμα ατελές.\n\nΚαι σε κάθε έναν από εσάς που αναφέρατε ένα σφάλμα, μεταφράσατε ένα κείμενο, μοιραστήκατε το TREK με έναν φίλο, ή απλώς το χρησιμοποιήσατε για να σχεδιάσετε ένα ταξίδι — **σας ευχαριστώ**. Είστε ο λόγος που υπάρχει αυτό.\n\nΕις πολλές ακόμα περιπέτειες μαζί.\n\n— Maurice\n\n---\n\n[Γίνετε μέλος της κοινότητας στο Discord](https://discord.gg/7Q6M6jDwzf)\n\nΑν το TREK κάνει τα ταξίδια σας καλύτερα, ένας [μικρός καφές](https://ko-fi.com/mauriceboe) πάντα κρατά τα φώτα αναμμένα.',
|
'system_notice.v3_thankyou.body':
|
||||||
|
'Πριν φύγετε — θέλω να αφιερώσω μια στιγμή.\n\nΤο TREK ξεκίνησε ως ένα δευτερεύον έργο που έφτιαξα για τα δικά μου ταξίδια. Ποτέ δεν φαντάστηκα ότι θα γινόταν κάτι που 4.000 από εσάς εμπιστεύεστε τώρα για να σχεδιάσετε τις περιπέτειές σας. Κάθε αστέρι, κάθε αναφορά, κάθε αίτημα χαρακτηριστικού — τα διαβάζω όλα, και με κρατούν να συνεχίζω τις ξενύχτιες ανάμεσα σε δουλειά πλήρους απασχόλησης και πανεπιστήμιο.\n\nΘέλω να ξέρετε: το TREK θα είναι πάντα ανοιχτού κώδικα, πάντα self-hosted, πάντα δικό σας. Χωρίς παρακολούθηση, χωρίς συνδρομές, χωρίς δεσμεύσεις. Απλώς ένα εργαλείο φτιαγμένο από κάποιον που λατρεύει τα ταξίδια όσο κι εσείς.\n\nΙδιαίτερες ευχαριστίες στον [jubnl](https://github.com/jubnl) — έγινες ένας απίστευτος συνεργάτης. Πολλά από αυτά που κάνουν την 3.0 σπουδαία φέρουν τα δαχτυλικά σου αποτυπώματα. Σε ευχαριστώ που πίστεψες σε αυτό το έργο όταν ήταν ακόμα ατελές.\n\nΚαι σε κάθε έναν από εσάς που αναφέρατε ένα σφάλμα, μεταφράσατε ένα κείμενο, μοιραστήκατε το TREK με έναν φίλο, ή απλώς το χρησιμοποιήσατε για να σχεδιάσετε ένα ταξίδι — **σας ευχαριστώ**. Είστε ο λόγος που υπάρχει αυτό.\n\nΕις πολλές ακόμα περιπέτειες μαζί.\n\n— Maurice\n\n---\n\n[Γίνετε μέλος της κοινότητας στο Discord](https://discord.gg/7Q6M6jDwzf)\n\nΑν το TREK κάνει τα ταξίδια σας καλύτερα, ένας [μικρός καφές](https://ko-fi.com/mauriceboe) πάντα κρατά τα φώτα αναμμένα.',
|
||||||
|
|
||||||
'system_notice.v3014_whitespace_collision.title': 'Απαιτείται ενέργεια: σύγκρουση λογαριασμού χρήστη',
|
'system_notice.v3014_whitespace_collision.title':
|
||||||
'system_notice.v3014_whitespace_collision.body': 'Η αναβάθμιση 3.0.14 εντόπισε μία ή περισσότερες συγκρούσεις ονομάτων χρήστη ή email που προκλήθηκαν από κενά στην αρχή/τέλος αποθηκευμένων λογαριασμών. Οι επηρεαζόμενοι λογαριασμοί μετονομάστηκαν αυτόματα. Ελέγξτε τα logs του server για γραμμές που ξεκινούν με **[migration] WHITESPACE COLLISION** για να εντοπίσετε ποιοι λογαριασμοί χρειάζονται έλεγχο.',
|
'Απαιτείται ενέργεια: σύγκρουση λογαριασμού χρήστη',
|
||||||
|
'system_notice.v3014_whitespace_collision.body':
|
||||||
|
'Η αναβάθμιση 3.0.14 εντόπισε μία ή περισσότερες συγκρούσεις ονομάτων χρήστη ή email που προκλήθηκαν από κενά στην αρχή/τέλος αποθηκευμένων λογαριασμών. Οι επηρεαζόμενοι λογαριασμοί μετονομάστηκαν αυτόματα. Ελέγξτε τα logs του server για γραμμές που ξεκινούν με **[migration] WHITESPACE COLLISION** για να εντοπίσετε ποιοι λογαριασμοί χρειάζονται έλεγχο.',
|
||||||
'system_notice.welcome_v1.title': 'Καλώς ήρθατε στο TREK',
|
'system_notice.welcome_v1.title': 'Καλώς ήρθατε στο TREK',
|
||||||
'system_notice.welcome_v1.body': 'Ο πλήρης ταξιδιωτικός σας σχεδιαστής. Δημιουργήστε δρομολόγια, μοιραστείτε ταξίδια με φίλους και μείνετε οργανωμένοι — συνδεδεμένοι ή εκτός σύνδεσης.',
|
'system_notice.welcome_v1.body':
|
||||||
|
'Ο πλήρης ταξιδιωτικός σας σχεδιαστής. Δημιουργήστε δρομολόγια, μοιραστείτε ταξίδια με φίλους και μείνετε οργανωμένοι — συνδεδεμένοι ή εκτός σύνδεσης.',
|
||||||
'system_notice.welcome_v1.cta_label': 'Σχεδιάστε ένα ταξίδι',
|
'system_notice.welcome_v1.cta_label': 'Σχεδιάστε ένα ταξίδι',
|
||||||
'system_notice.welcome_v1.hero_alt': 'Ένας γραφικός ταξιδιωτικός προορισμός με επικάλυψη περιβάλλοντος σχεδιασμού TREK',
|
'system_notice.welcome_v1.hero_alt':
|
||||||
'system_notice.welcome_v1.highlight_plan': 'Δρομολόγια ανά ημέρα για κάθε ταξίδι',
|
'Ένας γραφικός ταξιδιωτικός προορισμός με επικάλυψη περιβάλλοντος σχεδιασμού TREK',
|
||||||
|
'system_notice.welcome_v1.highlight_plan':
|
||||||
|
'Δρομολόγια ανά ημέρα για κάθε ταξίδι',
|
||||||
'system_notice.welcome_v1.highlight_share': 'Συνεργαστείτε με συνταξιδιώτες',
|
'system_notice.welcome_v1.highlight_share': 'Συνεργαστείτε με συνταξιδιώτες',
|
||||||
'system_notice.welcome_v1.highlight_offline': 'Λειτουργεί εκτός σύνδεσης σε κινητά',
|
'system_notice.welcome_v1.highlight_offline':
|
||||||
|
'Λειτουργεί εκτός σύνδεσης σε κινητά',
|
||||||
'system_notice.dev_test_modal.title': '[Dev] Δοκιμαστική ειδοποίηση',
|
'system_notice.dev_test_modal.title': '[Dev] Δοκιμαστική ειδοποίηση',
|
||||||
'system_notice.dev_test_modal.body': 'Αυτή είναι μια δοκιμαστική ειδοποίηση μόνο για ανάπτυξη.',
|
'system_notice.dev_test_modal.body':
|
||||||
|
'Αυτή είναι μια δοκιμαστική ειδοποίηση μόνο για ανάπτυξη.',
|
||||||
'system_notice.pager.prev': 'Προηγούμενη ειδοποίηση',
|
'system_notice.pager.prev': 'Προηγούμενη ειδοποίηση',
|
||||||
'system_notice.pager.next': 'Επόμενη ειδοποίηση',
|
'system_notice.pager.next': 'Επόμενη ειδοποίηση',
|
||||||
'system_notice.pager.counter': '{current} / {total}',
|
'system_notice.pager.counter': '{current} / {total}',
|
||||||
|
|||||||
@@ -24,7 +24,8 @@ const trip: TranslationStrings = {
|
|||||||
'trip.toast.reservationUpdated': 'Η κράτηση ενημερώθηκε',
|
'trip.toast.reservationUpdated': 'Η κράτηση ενημερώθηκε',
|
||||||
'trip.toast.reservationAdded': 'Η κράτηση προστέθηκε',
|
'trip.toast.reservationAdded': 'Η κράτηση προστέθηκε',
|
||||||
'trip.toast.deleted': 'Διαγράφηκε',
|
'trip.toast.deleted': 'Διαγράφηκε',
|
||||||
'trip.confirm.deletePlace': 'Είστε σίγουροι ότι θέλετε να διαγράψετε αυτό το μέρος;',
|
'trip.confirm.deletePlace':
|
||||||
|
'Είστε σίγουροι ότι θέλετε να διαγράψετε αυτό το μέρος;',
|
||||||
'trip.confirm.deletePlaces': 'Διαγραφή {count} μερών;',
|
'trip.confirm.deletePlaces': 'Διαγραφή {count} μερών;',
|
||||||
'trip.toast.placesDeleted': '{count} μέρη διαγράφηκαν',
|
'trip.toast.placesDeleted': '{count} μέρη διαγράφηκαν',
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ const trips: TranslationStrings = {
|
|||||||
'trips.reminderDays': 'ημέρες',
|
'trips.reminderDays': 'ημέρες',
|
||||||
'trips.reminderCustom': 'Προσαρμοσμένη',
|
'trips.reminderCustom': 'Προσαρμοσμένη',
|
||||||
'trips.reminderDaysBefore': 'ημέρες πριν από την αναχώση',
|
'trips.reminderDaysBefore': 'ημέρες πριν από την αναχώση',
|
||||||
'trips.reminderDisabledHint': 'Η ειδοποίηση για τις υπενθυμήσεις είναι απενεργοποιημένη. Ενεργοποιήστε την στο Διαχείριση > Ρυθμίσεις > Ανακοινώσεις.',
|
'trips.reminderDisabledHint':
|
||||||
|
'Η ειδοποίηση για τις υπενθυμήσεις είναι απενεργοποιημένη. Ενεργοποιήστε την στο Διαχείριση > Ρυθμίσεις > Ανακοινώσεις.',
|
||||||
};
|
};
|
||||||
export default trips;
|
export default trips;
|
||||||
|
|||||||
+32
-16
@@ -8,7 +8,8 @@ const vacay: TranslationStrings = {
|
|||||||
'vacay.addPrevYear': 'Προσθήκη προηγούμενου έτους',
|
'vacay.addPrevYear': 'Προσθήκη προηγούμενου έτους',
|
||||||
'vacay.removeYear': 'Αφαίρεση έτους',
|
'vacay.removeYear': 'Αφαίρεση έτους',
|
||||||
'vacay.removeYearConfirm': 'Αφαίρεση {year};',
|
'vacay.removeYearConfirm': 'Αφαίρεση {year};',
|
||||||
'vacay.removeYearHint': 'Όλες οι καταχωρήσεις διακοπών και οι αργίες της εταιρείας για αυτό το έτος θα διαγραφούν οριστικά.',
|
'vacay.removeYearHint':
|
||||||
|
'Όλες οι καταχωρήσεις διακοπών και οι αργίες της εταιρείας για αυτό το έτος θα διαγραφούν οριστικά.',
|
||||||
'vacay.remove': 'Αφαίρεση',
|
'vacay.remove': 'Αφαίρεση',
|
||||||
'vacay.persons': 'Άτομα',
|
'vacay.persons': 'Άτομα',
|
||||||
'vacay.noPersons': 'Δεν έχουν προστεθεί άτομα',
|
'vacay.noPersons': 'Δεν έχουν προστεθεί άτομα',
|
||||||
@@ -16,7 +17,8 @@ const vacay: TranslationStrings = {
|
|||||||
'vacay.editPerson': 'Επεξεργασία Ατόμου',
|
'vacay.editPerson': 'Επεξεργασία Ατόμου',
|
||||||
'vacay.removePerson': 'Αφαίρεση Ατόμου',
|
'vacay.removePerson': 'Αφαίρεση Ατόμου',
|
||||||
'vacay.removePersonConfirm': 'Αφαίρεση {name};',
|
'vacay.removePersonConfirm': 'Αφαίρεση {name};',
|
||||||
'vacay.removePersonHint': 'Όλες οι καταχωρήσεις διακοπών για αυτό το άτομο θα διαγραφούν οριστικά.',
|
'vacay.removePersonHint':
|
||||||
|
'Όλες οι καταχωρήσεις διακοπών για αυτό το άτομο θα διαγραφούν οριστικά.',
|
||||||
'vacay.personName': 'Όνομα',
|
'vacay.personName': 'Όνομα',
|
||||||
'vacay.personNamePlaceholder': 'Εισαγάγετε όνομα',
|
'vacay.personNamePlaceholder': 'Εισαγάγετε όνομα',
|
||||||
'vacay.color': 'Χρώμα',
|
'vacay.color': 'Χρώμα',
|
||||||
@@ -33,7 +35,8 @@ const vacay: TranslationStrings = {
|
|||||||
'vacay.remaining': 'Υπόλοιπο',
|
'vacay.remaining': 'Υπόλοιπο',
|
||||||
'vacay.carriedOver': 'από {year}',
|
'vacay.carriedOver': 'από {year}',
|
||||||
'vacay.blockWeekends': 'Αποκλεισμός Σαββατοκύριακων',
|
'vacay.blockWeekends': 'Αποκλεισμός Σαββατοκύριακων',
|
||||||
'vacay.blockWeekendsHint': 'Αποτρέψτε καταχωρήσεις διακοπών σε ημέρες σαββατοκύριακου',
|
'vacay.blockWeekendsHint':
|
||||||
|
'Αποτρέψτε καταχωρήσεις διακοπών σε ημέρες σαββατοκύριακου',
|
||||||
'vacay.weekendDays': 'Ημέρες σαββατοκύριακου',
|
'vacay.weekendDays': 'Ημέρες σαββατοκύριακου',
|
||||||
'vacay.mon': 'Δευ',
|
'vacay.mon': 'Δευ',
|
||||||
'vacay.tue': 'Τρι',
|
'vacay.tue': 'Τρι',
|
||||||
@@ -51,20 +54,26 @@ const vacay: TranslationStrings = {
|
|||||||
'vacay.calendarColor': 'Χρώμα',
|
'vacay.calendarColor': 'Χρώμα',
|
||||||
'vacay.noCalendars': 'Δεν έχουν προστεθεί ημερολόγια αργιών ακόμη',
|
'vacay.noCalendars': 'Δεν έχουν προστεθεί ημερολόγια αργιών ακόμη',
|
||||||
'vacay.companyHolidays': 'Αργίες Εταιρείας',
|
'vacay.companyHolidays': 'Αργίες Εταιρείας',
|
||||||
'vacay.companyHolidaysHint': 'Επιτρέψτε τη σήμανση αργιών για όλη την εταιρεία',
|
'vacay.companyHolidaysHint':
|
||||||
'vacay.companyHolidaysNoDeduct': 'Οι αργίες της εταιρείας δεν προσμετρώνται στις ημέρες διακοπών.',
|
'Επιτρέψτε τη σήμανση αργιών για όλη την εταιρεία',
|
||||||
|
'vacay.companyHolidaysNoDeduct':
|
||||||
|
'Οι αργίες της εταιρείας δεν προσμετρώνται στις ημέρες διακοπών.',
|
||||||
'vacay.weekStart': 'Η εβδομάδα ξεκινά την',
|
'vacay.weekStart': 'Η εβδομάδα ξεκινά την',
|
||||||
'vacay.weekStartHint': 'Επιλέξτε αν η εβδομάδα του ημερολογίου ξεκινά Δευτέρα ή Κυριακή',
|
'vacay.weekStartHint':
|
||||||
|
'Επιλέξτε αν η εβδομάδα του ημερολογίου ξεκινά Δευτέρα ή Κυριακή',
|
||||||
'vacay.carryOver': 'Μεταφορά',
|
'vacay.carryOver': 'Μεταφορά',
|
||||||
'vacay.carryOverHint': 'Αυτόματη μεταφορά των υπολοίπων ημερών διακοπών στο επόμενο έτος',
|
'vacay.carryOverHint':
|
||||||
|
'Αυτόματη μεταφορά των υπολοίπων ημερών διακοπών στο επόμενο έτος',
|
||||||
'vacay.sharing': 'Κοινή Χρήση',
|
'vacay.sharing': 'Κοινή Χρήση',
|
||||||
'vacay.sharingHint': 'Μοιραστείτε το πλάνο διακοπών σας με άλλους χρήστες TREK',
|
'vacay.sharingHint':
|
||||||
|
'Μοιραστείτε το πλάνο διακοπών σας με άλλους χρήστες TREK',
|
||||||
'vacay.owner': 'Κάτοχος',
|
'vacay.owner': 'Κάτοχος',
|
||||||
'vacay.shareEmailPlaceholder': 'Email χρήστη TREK',
|
'vacay.shareEmailPlaceholder': 'Email χρήστη TREK',
|
||||||
'vacay.shareSuccess': 'Το πλάνο μοιράστηκε επιτυχώς',
|
'vacay.shareSuccess': 'Το πλάνο μοιράστηκε επιτυχώς',
|
||||||
'vacay.shareError': 'Δεν ήταν δυνατή η κοινοποίηση του πλάνου',
|
'vacay.shareError': 'Δεν ήταν δυνατή η κοινοποίηση του πλάνου',
|
||||||
'vacay.dissolve': 'Διάλυση Συγχώνευσης',
|
'vacay.dissolve': 'Διάλυση Συγχώνευσης',
|
||||||
'vacay.dissolveHint': 'Διαχωρίστε ξανά τα ημερολόγια. Οι καταχωρήσεις σας θα διατηρηθούν.',
|
'vacay.dissolveHint':
|
||||||
|
'Διαχωρίστε ξανά τα ημερολόγια. Οι καταχωρήσεις σας θα διατηρηθούν.',
|
||||||
'vacay.dissolveAction': 'Διάλυση',
|
'vacay.dissolveAction': 'Διάλυση',
|
||||||
'vacay.dissolved': 'Το ημερολόγιο διαχωρίστηκε',
|
'vacay.dissolved': 'Το ημερολόγιο διαχωρίστηκε',
|
||||||
'vacay.fusedWith': 'Συγχωνευμένο με',
|
'vacay.fusedWith': 'Συγχωνευμένο με',
|
||||||
@@ -72,7 +81,8 @@ const vacay: TranslationStrings = {
|
|||||||
'vacay.noData': 'Δεν υπάρχουν δεδομένα',
|
'vacay.noData': 'Δεν υπάρχουν δεδομένα',
|
||||||
'vacay.changeColor': 'Αλλαγή χρώματος',
|
'vacay.changeColor': 'Αλλαγή χρώματος',
|
||||||
'vacay.inviteUser': 'Πρόσκληση Χρήστη',
|
'vacay.inviteUser': 'Πρόσκληση Χρήστη',
|
||||||
'vacay.inviteHint': 'Προσκαλέστε έναν άλλο χρήστη TREK για να μοιραστείτε ένα κοινό ημερολόγιο διακοπών.',
|
'vacay.inviteHint':
|
||||||
|
'Προσκαλέστε έναν άλλο χρήστη TREK για να μοιραστείτε ένα κοινό ημερολόγιο διακοπών.',
|
||||||
'vacay.selectUser': 'Επιλογή χρήστη',
|
'vacay.selectUser': 'Επιλογή χρήστη',
|
||||||
'vacay.sendInvite': 'Αποστολή Πρόσκλησης',
|
'vacay.sendInvite': 'Αποστολή Πρόσκλησης',
|
||||||
'vacay.inviteSent': 'Η πρόσκληση στάλθηκε',
|
'vacay.inviteSent': 'Η πρόσκληση στάλθηκε',
|
||||||
@@ -83,11 +93,17 @@ const vacay: TranslationStrings = {
|
|||||||
'vacay.decline': 'Απόρριψη',
|
'vacay.decline': 'Απόρριψη',
|
||||||
'vacay.acceptFusion': 'Αποδοχή & Συγχώνευση',
|
'vacay.acceptFusion': 'Αποδοχή & Συγχώνευση',
|
||||||
'vacay.inviteTitle': 'Αίτημα Συγχώνευσης',
|
'vacay.inviteTitle': 'Αίτημα Συγχώνευσης',
|
||||||
'vacay.inviteWantsToFuse': 'θέλει να μοιραστεί ένα ημερολόγιο διακοπών μαζί σας.',
|
'vacay.inviteWantsToFuse':
|
||||||
'vacay.fuseInfo1': 'Και οι δύο θα βλέπετε όλες τις καταχωρήσεις διακοπών σε ένα κοινό ημερολόγιο.',
|
'θέλει να μοιραστεί ένα ημερολόγιο διακοπών μαζί σας.',
|
||||||
'vacay.fuseInfo2': 'Και τα δύο μέρη μπορούν να δημιουργούν και να επεξεργάζονται καταχωρήσεις ο ένας για τον άλλο.',
|
'vacay.fuseInfo1':
|
||||||
'vacay.fuseInfo3': 'Και τα δύο μέρη μπορούν να διαγράφουν καταχωρήσεις και να αλλάζουν τα δικαιώματα διακοπών.',
|
'Και οι δύο θα βλέπετε όλες τις καταχωρήσεις διακοπών σε ένα κοινό ημερολόγιο.',
|
||||||
'vacay.fuseInfo4': 'Ρυθμίσεις όπως δημόσιες αργίες και αργίες εταιρείας μοιράζονται.',
|
'vacay.fuseInfo2':
|
||||||
'vacay.fuseInfo5': 'Η συγχώνευση μπορεί να διαλυθεί ανά πάσα στιγμή από οποιοδήποτε μέρος. Οι καταχωρήσεις σας θα διατηρηθούν.',
|
'Και τα δύο μέρη μπορούν να δημιουργούν και να επεξεργάζονται καταχωρήσεις ο ένας για τον άλλο.',
|
||||||
|
'vacay.fuseInfo3':
|
||||||
|
'Και τα δύο μέρη μπορούν να διαγράφουν καταχωρήσεις και να αλλάζουν τα δικαιώματα διακοπών.',
|
||||||
|
'vacay.fuseInfo4':
|
||||||
|
'Ρυθμίσεις όπως δημόσιες αργίες και αργίες εταιρείας μοιράζονται.',
|
||||||
|
'vacay.fuseInfo5':
|
||||||
|
'Η συγχώνευση μπορεί να διαλυθεί ανά πάσα στιγμή από οποιοδήποτε μέρος. Οι καταχωρήσεις σας θα διατηρηθούν.',
|
||||||
};
|
};
|
||||||
export default vacay;
|
export default vacay;
|
||||||
|
|||||||
+140
-73
@@ -2,12 +2,14 @@ import type { TranslationStrings } from '../types';
|
|||||||
|
|
||||||
const admin: TranslationStrings = {
|
const admin: TranslationStrings = {
|
||||||
'admin.notifications.title': 'Bildirimler',
|
'admin.notifications.title': 'Bildirimler',
|
||||||
'admin.notifications.hint': 'Bir bildirim kanalı seçin. Aynı anda yalnızca biri etkin olabilir.',
|
'admin.notifications.hint':
|
||||||
|
'Bir bildirim kanalı seçin. Aynı anda yalnızca biri etkin olabilir.',
|
||||||
'admin.notifications.none': 'Kapalı',
|
'admin.notifications.none': 'Kapalı',
|
||||||
'admin.notifications.email': 'E-posta (SMTP)',
|
'admin.notifications.email': 'E-posta (SMTP)',
|
||||||
'admin.notifications.webhook': 'Web kancası',
|
'admin.notifications.webhook': 'Web kancası',
|
||||||
'admin.notifications.ntfy': 'Ntfy',
|
'admin.notifications.ntfy': 'Ntfy',
|
||||||
'admin.ntfy.hint': 'Kullanıcıların kendi ntfy konularını yapılandırmasına izin verin. Aşağıdaki varsayılan sunucu kullanıcı ayarlarında ön doldurma için kullanılır.',
|
'admin.ntfy.hint':
|
||||||
|
'Kullanıcıların kendi ntfy konularını yapılandırmasına izin verin. Aşağıdaki varsayılan sunucu kullanıcı ayarlarında ön doldurma için kullanılır.',
|
||||||
'admin.notifications.save': 'Bildirim ayarlarını kaydet',
|
'admin.notifications.save': 'Bildirim ayarlarını kaydet',
|
||||||
'admin.notifications.saved': 'Bildirim ayarları kaydedildi',
|
'admin.notifications.saved': 'Bildirim ayarları kaydedildi',
|
||||||
'admin.notifications.testWebhook': 'Test webhook gönder',
|
'admin.notifications.testWebhook': 'Test webhook gönder',
|
||||||
@@ -19,36 +21,52 @@ const admin: TranslationStrings = {
|
|||||||
'admin.notifications.emailPanel.title': 'E-posta (SMTP)',
|
'admin.notifications.emailPanel.title': 'E-posta (SMTP)',
|
||||||
'admin.notifications.webhookPanel.title': 'Web kancası',
|
'admin.notifications.webhookPanel.title': 'Web kancası',
|
||||||
'admin.notifications.inappPanel.title': 'Uygulama içi',
|
'admin.notifications.inappPanel.title': 'Uygulama içi',
|
||||||
'admin.notifications.inappPanel.hint': 'Uygulama içi bildirimler her zaman açıktır ve genel olarak kapatılamaz.',
|
'admin.notifications.inappPanel.hint':
|
||||||
|
'Uygulama içi bildirimler her zaman açıktır ve genel olarak kapatılamaz.',
|
||||||
'admin.notifications.adminWebhookPanel.title': 'Yönetici Webhook',
|
'admin.notifications.adminWebhookPanel.title': 'Yönetici Webhook',
|
||||||
'admin.notifications.adminWebhookPanel.hint': 'Bu webhook yalnızca yönetici bildirimleri için kullanılır (örn. sürüm uyarıları). Kullanıcı webhook\'larından ayrıdır ve ayarlıysa her zaman tetiklenir.',
|
'admin.notifications.adminWebhookPanel.hint':
|
||||||
'admin.notifications.adminWebhookPanel.saved': 'Yönetici webhook URL kaydedildi',
|
"Bu webhook yalnızca yönetici bildirimleri için kullanılır (örn. sürüm uyarıları). Kullanıcı webhook'larından ayrıdır ve ayarlıysa her zaman tetiklenir.",
|
||||||
'admin.notifications.adminWebhookPanel.testSuccess': 'Test webhook gönderildi',
|
'admin.notifications.adminWebhookPanel.saved':
|
||||||
|
'Yönetici webhook URL kaydedildi',
|
||||||
|
'admin.notifications.adminWebhookPanel.testSuccess':
|
||||||
|
'Test webhook gönderildi',
|
||||||
'admin.notifications.adminWebhookPanel.testFailed': 'Test webhook başarısız',
|
'admin.notifications.adminWebhookPanel.testFailed': 'Test webhook başarısız',
|
||||||
'admin.notifications.adminWebhookPanel.alwaysOnHint': 'URL yapılandırıldığında yönetici webhook her zaman tetiklenir',
|
'admin.notifications.adminWebhookPanel.alwaysOnHint':
|
||||||
|
'URL yapılandırıldığında yönetici webhook her zaman tetiklenir',
|
||||||
'admin.notifications.adminNtfyPanel.title': 'Yönetici Ntfy',
|
'admin.notifications.adminNtfyPanel.title': 'Yönetici Ntfy',
|
||||||
'admin.notifications.adminNtfyPanel.hint': 'Bu ntfy konusu yalnızca yönetici bildirimleri için kullanılır. Kullanıcı konularından ayrıdır ve yapılandırıldığında her zaman tetiklenir.',
|
'admin.notifications.adminNtfyPanel.hint':
|
||||||
'admin.notifications.adminNtfyPanel.serverLabel': 'Ntfy Sunucu URL\'si',
|
'Bu ntfy konusu yalnızca yönetici bildirimleri için kullanılır. Kullanıcı konularından ayrıdır ve yapılandırıldığında her zaman tetiklenir.',
|
||||||
'admin.notifications.adminNtfyPanel.serverHint': 'Kullanıcı ntfy bildirimleri için varsayılan sunucu olarak da kullanılır. Boş bırakırsanız ntfy.sh olur. Kullanıcılar kendi ayarlarında geçersiz kılabilir.',
|
'admin.notifications.adminNtfyPanel.serverLabel': "Ntfy Sunucu URL'si",
|
||||||
|
'admin.notifications.adminNtfyPanel.serverHint':
|
||||||
|
'Kullanıcı ntfy bildirimleri için varsayılan sunucu olarak da kullanılır. Boş bırakırsanız ntfy.sh olur. Kullanıcılar kendi ayarlarında geçersiz kılabilir.',
|
||||||
'admin.notifications.adminNtfyPanel.serverPlaceholder': 'https://ntfy.sh',
|
'admin.notifications.adminNtfyPanel.serverPlaceholder': 'https://ntfy.sh',
|
||||||
'admin.notifications.adminNtfyPanel.topicLabel': 'Yönetici Konusu',
|
'admin.notifications.adminNtfyPanel.topicLabel': 'Yönetici Konusu',
|
||||||
'admin.notifications.adminNtfyPanel.topicPlaceholder': 'yürüyüş-yönetici-uyarıları',
|
'admin.notifications.adminNtfyPanel.topicPlaceholder':
|
||||||
'admin.notifications.adminNtfyPanel.tokenLabel': 'Erişim anahtarı (isteğe bağlı)',
|
'yürüyüş-yönetici-uyarıları',
|
||||||
'admin.notifications.adminNtfyPanel.tokenCleared': 'Yönetici erişim anahtarı temizlendi',
|
'admin.notifications.adminNtfyPanel.tokenLabel':
|
||||||
'admin.notifications.adminNtfyPanel.saved': 'Yönetici ntfy ayarları kaydedildi',
|
'Erişim anahtarı (isteğe bağlı)',
|
||||||
|
'admin.notifications.adminNtfyPanel.tokenCleared':
|
||||||
|
'Yönetici erişim anahtarı temizlendi',
|
||||||
|
'admin.notifications.adminNtfyPanel.saved':
|
||||||
|
'Yönetici ntfy ayarları kaydedildi',
|
||||||
'admin.notifications.adminNtfyPanel.test': 'Test ntfy gönder',
|
'admin.notifications.adminNtfyPanel.test': 'Test ntfy gönder',
|
||||||
'admin.notifications.adminNtfyPanel.testSuccess': 'Test ntfy gönderildi',
|
'admin.notifications.adminNtfyPanel.testSuccess': 'Test ntfy gönderildi',
|
||||||
'admin.notifications.adminNtfyPanel.testFailed': 'Test ntfy başarısız',
|
'admin.notifications.adminNtfyPanel.testFailed': 'Test ntfy başarısız',
|
||||||
'admin.notifications.adminNtfyPanel.alwaysOnHint': 'Konu yapılandırıldığında yönetici ntfy her zaman tetiklenir',
|
'admin.notifications.adminNtfyPanel.alwaysOnHint':
|
||||||
'admin.notifications.adminNotificationsHint': 'Yalnızca yönetici bildirimlerinin hangi kanallardan iletileceğini yapılandırın.',
|
'Konu yapılandırıldığında yönetici ntfy her zaman tetiklenir',
|
||||||
|
'admin.notifications.adminNotificationsHint':
|
||||||
|
'Yalnızca yönetici bildirimlerinin hangi kanallardan iletileceğini yapılandırın.',
|
||||||
'admin.notifications.tripReminders.title': 'Seyahat Hatırlatıcıları',
|
'admin.notifications.tripReminders.title': 'Seyahat Hatırlatıcıları',
|
||||||
'admin.notifications.tripReminders.hint': 'Seyahat başlamadan önce hatırlatma gönderir (seyahatte hatırlatma günü ayarlı olmalıdır).',
|
'admin.notifications.tripReminders.hint':
|
||||||
|
'Seyahat başlamadan önce hatırlatma gönderir (seyahatte hatırlatma günü ayarlı olmalıdır).',
|
||||||
'admin.notifications.tripReminders.enabled': 'Seyahat hatırlatıcıları açık',
|
'admin.notifications.tripReminders.enabled': 'Seyahat hatırlatıcıları açık',
|
||||||
'admin.notifications.tripReminders.disabled': 'Seyahat hatırlatıcıları kapalı',
|
'admin.notifications.tripReminders.disabled':
|
||||||
|
'Seyahat hatırlatıcıları kapalı',
|
||||||
'admin.smtp.title': 'E-posta ve Bildirimler',
|
'admin.smtp.title': 'E-posta ve Bildirimler',
|
||||||
'admin.smtp.hint': 'E-posta bildirimleri için SMTP yapılandırması.',
|
'admin.smtp.hint': 'E-posta bildirimleri için SMTP yapılandırması.',
|
||||||
'admin.smtp.testButton': 'Test e-postası gönder',
|
'admin.smtp.testButton': 'Test e-postası gönder',
|
||||||
'admin.webhook.hint': 'Kullanıcıların bildirimler için kendi webhook URL\'lerini (Discord, Slack vb.) yapılandırmasına izin verin.',
|
'admin.webhook.hint':
|
||||||
|
"Kullanıcıların bildirimler için kendi webhook URL'lerini (Discord, Slack vb.) yapılandırmasına izin verin.",
|
||||||
'admin.smtp.testSuccess': 'Test e-postası gönderildi',
|
'admin.smtp.testSuccess': 'Test e-postası gönderildi',
|
||||||
'admin.smtp.testFailed': 'Test e-postası başarısız',
|
'admin.smtp.testFailed': 'Test e-postası başarısız',
|
||||||
'admin.title': 'Yönetim',
|
'admin.title': 'Yönetim',
|
||||||
@@ -73,7 +91,8 @@ const admin: TranslationStrings = {
|
|||||||
'admin.editUser': 'Kullanıcıyı Düzenle',
|
'admin.editUser': 'Kullanıcıyı Düzenle',
|
||||||
'admin.newPassword': 'Yeni Şifre',
|
'admin.newPassword': 'Yeni Şifre',
|
||||||
'admin.newPasswordHint': 'Mevcut şifreyi korumak için boş bırakın',
|
'admin.newPasswordHint': 'Mevcut şifreyi korumak için boş bırakın',
|
||||||
'admin.deleteUser': '"{name}" kullanıcısı silinsin mi? Tüm geziler kalıcı olarak silinecek.',
|
'admin.deleteUser':
|
||||||
|
'"{name}" kullanıcısı silinsin mi? Tüm geziler kalıcı olarak silinecek.',
|
||||||
'admin.deleteUserTitle': 'Kullanıcıyı sil',
|
'admin.deleteUserTitle': 'Kullanıcıyı sil',
|
||||||
'admin.newPasswordPlaceholder': 'Yeni şifreyi girin…',
|
'admin.newPasswordPlaceholder': 'Yeni şifreyi girin…',
|
||||||
'admin.toast.loadError': 'Yönetici verileri yüklenemedi',
|
'admin.toast.loadError': 'Yönetici verileri yüklenemedi',
|
||||||
@@ -106,54 +125,74 @@ const admin: TranslationStrings = {
|
|||||||
'admin.invite.deleteError': 'Davet bağlantısı silinemedi',
|
'admin.invite.deleteError': 'Davet bağlantısı silinemedi',
|
||||||
'admin.tabs.settings': 'Ayarlar',
|
'admin.tabs.settings': 'Ayarlar',
|
||||||
'admin.allowRegistration': 'Kayda İzin Ver',
|
'admin.allowRegistration': 'Kayda İzin Ver',
|
||||||
'admin.allowRegistrationHint': 'Yeni kullanıcılar kendileri kayıt olabilirler',
|
'admin.allowRegistrationHint':
|
||||||
|
'Yeni kullanıcılar kendileri kayıt olabilirler',
|
||||||
'admin.authMethods': 'Kimlik Doğrulama Yöntemleri',
|
'admin.authMethods': 'Kimlik Doğrulama Yöntemleri',
|
||||||
'admin.passwordLogin': 'Şifre Girişi',
|
'admin.passwordLogin': 'Şifre Girişi',
|
||||||
'admin.passwordLoginHint': 'Kullanıcıların e-posta ve şifreyle oturum açmasına izin ver',
|
'admin.passwordLoginHint':
|
||||||
|
'Kullanıcıların e-posta ve şifreyle oturum açmasına izin ver',
|
||||||
'admin.passwordRegistration': 'Şifre Kaydı',
|
'admin.passwordRegistration': 'Şifre Kaydı',
|
||||||
'admin.passwordRegistrationHint': 'Yeni kullanıcıların e-posta ve şifreyle kaydolmasına izin ver',
|
'admin.passwordRegistrationHint':
|
||||||
|
'Yeni kullanıcıların e-posta ve şifreyle kaydolmasına izin ver',
|
||||||
'admin.oidcLogin': 'TOA Girişi',
|
'admin.oidcLogin': 'TOA Girişi',
|
||||||
'admin.oidcLoginHint': 'Kullanıcıların SSO ile oturum açmasına izin Ver',
|
'admin.oidcLoginHint': 'Kullanıcıların SSO ile oturum açmasına izin Ver',
|
||||||
'admin.oidcRegistration': 'SSO Otomatik Temel Hazırlığı',
|
'admin.oidcRegistration': 'SSO Otomatik Temel Hazırlığı',
|
||||||
'admin.oidcRegistrationHint': 'Yeni SSO kullanıcıları için otomatik olarak hesap oluşturun',
|
'admin.oidcRegistrationHint':
|
||||||
'admin.envOverrideHint': 'Şifre oturum açma ayarları OIDC_ONLY ortam değişkeni tarafından kontrol edilir ve burada değiştirilemez.',
|
'Yeni SSO kullanıcıları için otomatik olarak hesap oluşturun',
|
||||||
|
'admin.envOverrideHint':
|
||||||
|
'Şifre oturum açma ayarları OIDC_ONLY ortam değişkeni tarafından kontrol edilir ve burada değiştirilemez.',
|
||||||
'admin.lockoutWarning': 'En az bir oturum açma yöntemi etkin kalmalıdır',
|
'admin.lockoutWarning': 'En az bir oturum açma yöntemi etkin kalmalıdır',
|
||||||
'admin.requireMfa': 'İki faktörlü kimlik doğrulama (2FA) gerektir',
|
'admin.requireMfa': 'İki faktörlü kimlik doğrulama (2FA) gerektir',
|
||||||
'admin.requireMfaHint': '2FA\'sı olmayan kullanıcıların uygulamayı kullanmadan önce Ayarlar\'da kurulumu tamamlaması gerekir.',
|
'admin.requireMfaHint':
|
||||||
|
"2FA'sı olmayan kullanıcıların uygulamayı kullanmadan önce Ayarlar'da kurulumu tamamlaması gerekir.",
|
||||||
'admin.apiKeys': 'API Anahtarları',
|
'admin.apiKeys': 'API Anahtarları',
|
||||||
'admin.apiKeysHint': 'İsteğe bağlı. Fotoğraflar ve hava durumu gibi genişletilmiş yer verilerini etkinleştirir.',
|
'admin.apiKeysHint':
|
||||||
|
'İsteğe bağlı. Fotoğraflar ve hava durumu gibi genişletilmiş yer verilerini etkinleştirir.',
|
||||||
'admin.mapsKey': 'Google Haritalar API Anahtarı',
|
'admin.mapsKey': 'Google Haritalar API Anahtarı',
|
||||||
'admin.mapsKeyHint': 'Yer arama için gereklidir. console.cloud.google.com adresinden erişin',
|
'admin.mapsKeyHint':
|
||||||
'admin.mapsKeyHintLong': 'API anahtarı olmadan OpenStreetMap yer arama için kullanılır. Bir Google API anahtarıyla fotoğraflar, derecelendirmeler ve açılış saatleri de yüklenebilir. console.cloud.google.com adresinden bir tane edinin.',
|
'Yer arama için gereklidir. console.cloud.google.com adresinden erişin',
|
||||||
|
'admin.mapsKeyHintLong':
|
||||||
|
'API anahtarı olmadan OpenStreetMap yer arama için kullanılır. Bir Google API anahtarıyla fotoğraflar, derecelendirmeler ve açılış saatleri de yüklenebilir. console.cloud.google.com adresinden bir tane edinin.',
|
||||||
'admin.recommended': 'Tavsiye edilen',
|
'admin.recommended': 'Tavsiye edilen',
|
||||||
'admin.weatherKey': 'OpenWeatherMap API Anahtarı',
|
'admin.weatherKey': 'OpenWeatherMap API Anahtarı',
|
||||||
'admin.weatherKeyHint': 'Hava durumu verileri için. openweathermap.org\'da ücretsiz',
|
'admin.weatherKeyHint':
|
||||||
|
"Hava durumu verileri için. openweathermap.org'da ücretsiz",
|
||||||
'admin.validateKey': 'Test et',
|
'admin.validateKey': 'Test et',
|
||||||
'admin.keyValid': 'Bağlı',
|
'admin.keyValid': 'Bağlı',
|
||||||
'admin.keyInvalid': 'Geçersiz',
|
'admin.keyInvalid': 'Geçersiz',
|
||||||
'admin.keySaved': 'API anahtarları kaydedildi',
|
'admin.keySaved': 'API anahtarları kaydedildi',
|
||||||
'admin.oidcTitle': 'Tek Oturum Açma (OIDC)',
|
'admin.oidcTitle': 'Tek Oturum Açma (OIDC)',
|
||||||
'admin.oidcSubtitle': 'Google, Apple, Authentik veya Keycloak gibi harici sağlayıcılar aracılığıyla oturum açmaya izin verin.',
|
'admin.oidcSubtitle':
|
||||||
|
'Google, Apple, Authentik veya Keycloak gibi harici sağlayıcılar aracılığıyla oturum açmaya izin verin.',
|
||||||
'admin.oidcDisplayName': 'Ekran Adı',
|
'admin.oidcDisplayName': 'Ekran Adı',
|
||||||
'admin.oidcIssuer': 'Veren URL\'si',
|
'admin.oidcIssuer': "Veren URL'si",
|
||||||
'admin.oidcIssuerHint': 'Sağlayıcının OpenID Connect Veren URL\'si. örneğin https://accounts.google.com',
|
'admin.oidcIssuerHint':
|
||||||
|
"Sağlayıcının OpenID Connect Veren URL'si. örneğin https://accounts.google.com",
|
||||||
'admin.oidcSaved': 'OIDC yapılandırması kaydedildi',
|
'admin.oidcSaved': 'OIDC yapılandırması kaydedildi',
|
||||||
'admin.oidcOnlyMode': 'Parola kimlik doğrulamasını devre dışı bırak',
|
'admin.oidcOnlyMode': 'Parola kimlik doğrulamasını devre dışı bırak',
|
||||||
'admin.oidcOnlyModeHint': 'Etkinleştirildiğinde yalnızca SSO girişine izin verilir. Şifre tabanlı oturum açma ve kayıt engellenir.',
|
'admin.oidcOnlyModeHint':
|
||||||
|
'Etkinleştirildiğinde yalnızca SSO girişine izin verilir. Şifre tabanlı oturum açma ve kayıt engellenir.',
|
||||||
'admin.fileTypes': 'İzin Verilen Dosya Türleri',
|
'admin.fileTypes': 'İzin Verilen Dosya Türleri',
|
||||||
'admin.fileTypesHint': 'Kullanıcıların hangi dosya türlerini yükleyebileceğini yapılandırın.',
|
'admin.fileTypesHint':
|
||||||
'admin.fileTypesFormat': 'Virgülle ayrılmış uzantılar (ör. jpg,png,pdf,doc). Tüm türlere izin vermek için * kullanın.',
|
'Kullanıcıların hangi dosya türlerini yükleyebileceğini yapılandırın.',
|
||||||
|
'admin.fileTypesFormat':
|
||||||
|
'Virgülle ayrılmış uzantılar (ör. jpg,png,pdf,doc). Tüm türlere izin vermek için * kullanın.',
|
||||||
'admin.fileTypesSaved': 'Dosya türü ayarları kaydedildi',
|
'admin.fileTypesSaved': 'Dosya türü ayarları kaydedildi',
|
||||||
'admin.placesPhotos.title': 'Fotoğrafları Yerleştir',
|
'admin.placesPhotos.title': 'Fotoğrafları Yerleştir',
|
||||||
'admin.placesPhotos.subtitle': 'Fotoğrafları Google Rehber API\'sinden alın. API kotasını kaydetmeyi devre dışı bırakın. Wikimedia fotoğrafları etkilenmez.',
|
'admin.placesPhotos.subtitle':
|
||||||
|
"Fotoğrafları Google Rehber API'sinden alın. API kotasını kaydetmeyi devre dışı bırakın. Wikimedia fotoğrafları etkilenmez.",
|
||||||
'admin.placesAutocomplete.title': 'Otomatik Tamamlamayı Yerleştir',
|
'admin.placesAutocomplete.title': 'Otomatik Tamamlamayı Yerleştir',
|
||||||
'admin.placesAutocomplete.subtitle': 'Arama önerileri için Google Rehber API\'sini kullanın. API kotasını kaydetmeyi devre dışı bırakın.',
|
'admin.placesAutocomplete.subtitle':
|
||||||
|
"Arama önerileri için Google Rehber API'sini kullanın. API kotasını kaydetmeyi devre dışı bırakın.",
|
||||||
'admin.placesDetails.title': 'Yer Detayları',
|
'admin.placesDetails.title': 'Yer Detayları',
|
||||||
'admin.placesDetails.subtitle': 'Google Rehber API\'sinden ayrıntılı yer bilgilerini (saat, puan, web sitesi) alın. API kotasını kaydetmeyi devre dışı bırakın.',
|
'admin.placesDetails.subtitle':
|
||||||
|
"Google Rehber API'sinden ayrıntılı yer bilgilerini (saat, puan, web sitesi) alın. API kotasını kaydetmeyi devre dışı bırakın.",
|
||||||
'admin.bagTracking.title': 'Çanta Takibi',
|
'admin.bagTracking.title': 'Çanta Takibi',
|
||||||
'admin.bagTracking.subtitle': 'Paketleme öğeleri için ağırlık ve torba atamasını etkinleştirin',
|
'admin.bagTracking.subtitle':
|
||||||
|
'Paketleme öğeleri için ağırlık ve torba atamasını etkinleştirin',
|
||||||
'admin.collab.chat.title': 'Sohbet',
|
'admin.collab.chat.title': 'Sohbet',
|
||||||
'admin.collab.chat.subtitle': 'Seyahat işbirliği için gerçek zamanlı mesajlaşma',
|
'admin.collab.chat.subtitle':
|
||||||
|
'Seyahat işbirliği için gerçek zamanlı mesajlaşma',
|
||||||
'admin.collab.notes.title': 'Notlar',
|
'admin.collab.notes.title': 'Notlar',
|
||||||
'admin.collab.notes.subtitle': 'Paylaşılan notlar ve belgeler',
|
'admin.collab.notes.subtitle': 'Paylaşılan notlar ve belgeler',
|
||||||
'admin.collab.polls.title': 'Anketler',
|
'admin.collab.polls.title': 'Anketler',
|
||||||
@@ -163,13 +202,15 @@ const admin: TranslationStrings = {
|
|||||||
'admin.tabs.config': 'Kişiselleştirme',
|
'admin.tabs.config': 'Kişiselleştirme',
|
||||||
'admin.tabs.defaults': 'Kullanıcı Varsayılanları',
|
'admin.tabs.defaults': 'Kullanıcı Varsayılanları',
|
||||||
'admin.defaultSettings.title': 'Varsayılan Kullanıcı Ayarları',
|
'admin.defaultSettings.title': 'Varsayılan Kullanıcı Ayarları',
|
||||||
'admin.defaultSettings.description': 'Örnek çapında varsayılanları ayarlayın. Herhangi bir ayarı değiştirmemiş olan kullanıcılar bu değerleri görecektir. Kendi değişiklikleri her zaman önceliklidir.',
|
'admin.defaultSettings.description':
|
||||||
|
'Örnek çapında varsayılanları ayarlayın. Herhangi bir ayarı değiştirmemiş olan kullanıcılar bu değerleri görecektir. Kendi değişiklikleri her zaman önceliklidir.',
|
||||||
'admin.defaultSettings.saved': 'Varsayılan kaydedildi',
|
'admin.defaultSettings.saved': 'Varsayılan kaydedildi',
|
||||||
'admin.defaultSettings.reset': 'Yerleşik varsayılana sıfırla',
|
'admin.defaultSettings.reset': 'Yerleşik varsayılana sıfırla',
|
||||||
'admin.defaultSettings.resetToBuiltIn': 'sıfırlama',
|
'admin.defaultSettings.resetToBuiltIn': 'sıfırlama',
|
||||||
'admin.tabs.templates': 'Paketleme Şablonları',
|
'admin.tabs.templates': 'Paketleme Şablonları',
|
||||||
'admin.packingTemplates.title': 'Paketleme Şablonları',
|
'admin.packingTemplates.title': 'Paketleme Şablonları',
|
||||||
'admin.packingTemplates.subtitle': 'Seyahatleriniz için yeniden kullanılabilir paketleme listeleri oluşturun',
|
'admin.packingTemplates.subtitle':
|
||||||
|
'Seyahatleriniz için yeniden kullanılabilir paketleme listeleri oluşturun',
|
||||||
'admin.packingTemplates.create': 'Yeni Şablon',
|
'admin.packingTemplates.create': 'Yeni Şablon',
|
||||||
'admin.packingTemplates.namePlaceholder': 'Şablon adı (ör. Plaj Tatili)',
|
'admin.packingTemplates.namePlaceholder': 'Şablon adı (ör. Plaj Tatili)',
|
||||||
'admin.packingTemplates.empty': 'Henüz şablon oluşturulmadı',
|
'admin.packingTemplates.empty': 'Henüz şablon oluşturulmadı',
|
||||||
@@ -187,24 +228,34 @@ const admin: TranslationStrings = {
|
|||||||
'admin.packingTemplates.saveError': 'Kaydedilemedi',
|
'admin.packingTemplates.saveError': 'Kaydedilemedi',
|
||||||
'admin.tabs.addons': 'Eklentiler',
|
'admin.tabs.addons': 'Eklentiler',
|
||||||
'admin.addons.title': 'Eklentiler',
|
'admin.addons.title': 'Eklentiler',
|
||||||
'admin.addons.subtitle': 'TREK deneyiminizi özelleştirmek için özellikleri etkinleştirin veya devre dışı bırakın.',
|
'admin.addons.subtitle':
|
||||||
|
'TREK deneyiminizi özelleştirmek için özellikleri etkinleştirin veya devre dışı bırakın.',
|
||||||
'admin.addons.catalog.packing.name': 'Listeler',
|
'admin.addons.catalog.packing.name': 'Listeler',
|
||||||
'admin.addons.catalog.packing.description': 'Seyahatleriniz için paket listeleri ve yapılacak işler',
|
'admin.addons.catalog.packing.description':
|
||||||
|
'Seyahatleriniz için paket listeleri ve yapılacak işler',
|
||||||
'admin.addons.catalog.budget.name': 'Bütçe',
|
'admin.addons.catalog.budget.name': 'Bütçe',
|
||||||
'admin.addons.catalog.budget.description': 'Harcamaları takip edin ve seyahat bütçenizi planlayın',
|
'admin.addons.catalog.budget.description':
|
||||||
|
'Harcamaları takip edin ve seyahat bütçenizi planlayın',
|
||||||
'admin.addons.catalog.documents.name': 'Belgeler',
|
'admin.addons.catalog.documents.name': 'Belgeler',
|
||||||
'admin.addons.catalog.documents.description': 'Seyahat belgelerini saklayın ve yönetin',
|
'admin.addons.catalog.documents.description':
|
||||||
|
'Seyahat belgelerini saklayın ve yönetin',
|
||||||
'admin.addons.catalog.vacay.name': 'Tatil',
|
'admin.addons.catalog.vacay.name': 'Tatil',
|
||||||
'admin.addons.catalog.vacay.description': 'Takvim görünümüne sahip kişisel tatil planlayıcısı',
|
'admin.addons.catalog.vacay.description':
|
||||||
|
'Takvim görünümüne sahip kişisel tatil planlayıcısı',
|
||||||
'admin.addons.catalog.atlas.name': 'Atlas',
|
'admin.addons.catalog.atlas.name': 'Atlas',
|
||||||
'admin.addons.catalog.atlas.description': 'Ziyaret edilen ülkeleri ve seyahat istatistiklerini içeren dünya haritası',
|
'admin.addons.catalog.atlas.description':
|
||||||
|
'Ziyaret edilen ülkeleri ve seyahat istatistiklerini içeren dünya haritası',
|
||||||
'admin.addons.catalog.collab.name': 'İş birliği',
|
'admin.addons.catalog.collab.name': 'İş birliği',
|
||||||
'admin.addons.catalog.collab.description': 'Seyahat planlaması için gerçek zamanlı notlar, anketler ve sohbet',
|
'admin.addons.catalog.collab.description':
|
||||||
|
'Seyahat planlaması için gerçek zamanlı notlar, anketler ve sohbet',
|
||||||
'admin.addons.catalog.memories.name': 'Fotoğraflar (Immich)',
|
'admin.addons.catalog.memories.name': 'Fotoğraflar (Immich)',
|
||||||
'admin.addons.catalog.memories.description': 'Immich örneğiniz aracılığıyla gezi fotoğraflarını paylaşın',
|
'admin.addons.catalog.memories.description':
|
||||||
|
'Immich örneğiniz aracılığıyla gezi fotoğraflarını paylaşın',
|
||||||
'admin.addons.catalog.mcp.name': 'MCP',
|
'admin.addons.catalog.mcp.name': 'MCP',
|
||||||
'admin.addons.catalog.mcp.description': 'Yapay zeka asistanı entegrasyonu için Model Bağlam Protokolü',
|
'admin.addons.catalog.mcp.description':
|
||||||
'admin.addons.subtitleBefore': 'Kişiselleştirmenizi özelleştirmek için özellikleri etkinleştirin veya devre dışı bırakın.',
|
'Yapay zeka asistanı entegrasyonu için Model Bağlam Protokolü',
|
||||||
|
'admin.addons.subtitleBefore':
|
||||||
|
'Kişiselleştirmenizi özelleştirmek için özellikleri etkinleştirin veya devre dışı bırakın.',
|
||||||
'admin.addons.subtitleAfter': 'deneyim.',
|
'admin.addons.subtitleAfter': 'deneyim.',
|
||||||
'admin.addons.enabled': 'Etkinleştirilmiş',
|
'admin.addons.enabled': 'Etkinleştirilmiş',
|
||||||
'admin.addons.disabled': 'Engelli',
|
'admin.addons.disabled': 'Engelli',
|
||||||
@@ -212,24 +263,30 @@ const admin: TranslationStrings = {
|
|||||||
'admin.addons.type.global': 'Küresel',
|
'admin.addons.type.global': 'Küresel',
|
||||||
'admin.addons.type.integration': 'Entegrasyon',
|
'admin.addons.type.integration': 'Entegrasyon',
|
||||||
'admin.addons.tripHint': 'Her yolculukta bir sekme olarak mevcuttur',
|
'admin.addons.tripHint': 'Her yolculukta bir sekme olarak mevcuttur',
|
||||||
'admin.addons.globalHint': 'Ana navigasyonda bağımsız bir bölüm olarak mevcuttur',
|
'admin.addons.globalHint':
|
||||||
'admin.addons.integrationHint': 'Özel bir sayfa olmadan arka uç hizmetleri ve API entegrasyonları',
|
'Ana navigasyonda bağımsız bir bölüm olarak mevcuttur',
|
||||||
|
'admin.addons.integrationHint':
|
||||||
|
'Özel bir sayfa olmadan arka uç hizmetleri ve API entegrasyonları',
|
||||||
'admin.addons.toast.updated': 'Eklenti güncellendi',
|
'admin.addons.toast.updated': 'Eklenti güncellendi',
|
||||||
'admin.addons.toast.error': 'Eklenti güncellenemedi',
|
'admin.addons.toast.error': 'Eklenti güncellenemedi',
|
||||||
'admin.addons.noAddons': 'Kullanılabilir eklenti yok',
|
'admin.addons.noAddons': 'Kullanılabilir eklenti yok',
|
||||||
'admin.weather.title': 'Hava Durumu Verileri',
|
'admin.weather.title': 'Hava Durumu Verileri',
|
||||||
'admin.weather.badge': '24 Mart 2026\'dan beri',
|
'admin.weather.badge': "24 Mart 2026'dan beri",
|
||||||
'admin.weather.description': 'TREK, hava durumu veri kaynağı olarak Open-Meteo\'yu kullanıyor. Open-Meteo ücretsiz, açık kaynaklı bir hava durumu hizmetidir; API anahtarı gerekmez.',
|
'admin.weather.description':
|
||||||
|
"TREK, hava durumu veri kaynağı olarak Open-Meteo'yu kullanıyor. Open-Meteo ücretsiz, açık kaynaklı bir hava durumu hizmetidir; API anahtarı gerekmez.",
|
||||||
'admin.weather.forecast': '16 günlük tahmin',
|
'admin.weather.forecast': '16 günlük tahmin',
|
||||||
'admin.weather.forecastDesc': 'Daha önce 5 gün (OpenWeatherMap)',
|
'admin.weather.forecastDesc': 'Daha önce 5 gün (OpenWeatherMap)',
|
||||||
'admin.weather.climate': 'Geçmiş iklim verileri',
|
'admin.weather.climate': 'Geçmiş iklim verileri',
|
||||||
'admin.weather.climateDesc': '16 günlük tahminin ötesindeki günler için son 85 yılın ortalamaları',
|
'admin.weather.climateDesc':
|
||||||
|
'16 günlük tahminin ötesindeki günler için son 85 yılın ortalamaları',
|
||||||
'admin.weather.requests': '10.000 istek / gün',
|
'admin.weather.requests': '10.000 istek / gün',
|
||||||
'admin.weather.requestsDesc': 'Ücretsiz, API anahtarı gerekmez',
|
'admin.weather.requestsDesc': 'Ücretsiz, API anahtarı gerekmez',
|
||||||
'admin.weather.locationHint': 'Hava durumu her gün koordinatlarla ilk sırada yer alır. Bir güne herhangi bir yer atanmamışsa, yer listesindeki herhangi bir yer referans olarak kullanılır.',
|
'admin.weather.locationHint':
|
||||||
|
'Hava durumu her gün koordinatlarla ilk sırada yer alır. Bir güne herhangi bir yer atanmamışsa, yer listesindeki herhangi bir yer referans olarak kullanılır.',
|
||||||
'admin.tabs.mcpTokens': 'MCP Erişimi',
|
'admin.tabs.mcpTokens': 'MCP Erişimi',
|
||||||
'admin.mcpTokens.title': 'MCP Erişimi',
|
'admin.mcpTokens.title': 'MCP Erişimi',
|
||||||
'admin.mcpTokens.subtitle': 'Tüm Kullanıcılar genelinde OAuth Oturumlarını ve API belirteçlerini yönetin',
|
'admin.mcpTokens.subtitle':
|
||||||
|
'Tüm Kullanıcılar genelinde OAuth Oturumlarını ve API belirteçlerini yönetin',
|
||||||
'admin.mcpTokens.sectionTitle': 'API Belirteçleri',
|
'admin.mcpTokens.sectionTitle': 'API Belirteçleri',
|
||||||
'admin.mcpTokens.owner': 'Mal sahibi',
|
'admin.mcpTokens.owner': 'Mal sahibi',
|
||||||
'admin.mcpTokens.tokenName': 'Jeton Adı',
|
'admin.mcpTokens.tokenName': 'Jeton Adı',
|
||||||
@@ -238,7 +295,8 @@ const admin: TranslationStrings = {
|
|||||||
'admin.mcpTokens.never': 'Asla',
|
'admin.mcpTokens.never': 'Asla',
|
||||||
'admin.mcpTokens.empty': 'Henüz MCP tokenı oluşturulmadı',
|
'admin.mcpTokens.empty': 'Henüz MCP tokenı oluşturulmadı',
|
||||||
'admin.mcpTokens.deleteTitle': 'Jetonu Sil',
|
'admin.mcpTokens.deleteTitle': 'Jetonu Sil',
|
||||||
'admin.mcpTokens.deleteMessage': 'Bu, jetonu anında iptal edecektir. Kullanıcı bu belirteç aracılığıyla MCP erişimini kaybedecektir.',
|
'admin.mcpTokens.deleteMessage':
|
||||||
|
'Bu, jetonu anında iptal edecektir. Kullanıcı bu belirteç aracılığıyla MCP erişimini kaybedecektir.',
|
||||||
'admin.mcpTokens.deleteSuccess': 'Jeton silindi',
|
'admin.mcpTokens.deleteSuccess': 'Jeton silindi',
|
||||||
'admin.mcpTokens.deleteError': 'Jeton silinemedi',
|
'admin.mcpTokens.deleteError': 'Jeton silinemedi',
|
||||||
'admin.mcpTokens.loadError': 'Jetonlar yüklenemedi',
|
'admin.mcpTokens.loadError': 'Jetonlar yüklenemedi',
|
||||||
@@ -249,12 +307,14 @@ const admin: TranslationStrings = {
|
|||||||
'admin.oauthSessions.created': 'Oluşturuldu',
|
'admin.oauthSessions.created': 'Oluşturuldu',
|
||||||
'admin.oauthSessions.empty': 'Aktif OAuth Oturumu yok',
|
'admin.oauthSessions.empty': 'Aktif OAuth Oturumu yok',
|
||||||
'admin.oauthSessions.revokeTitle': 'Oturumu İptal Et',
|
'admin.oauthSessions.revokeTitle': 'Oturumu İptal Et',
|
||||||
'admin.oauthSessions.revokeMessage': 'Bu, OAuth oturumunu hemen iptal edecektir. İstemci MCP erişimini kaybedecek.',
|
'admin.oauthSessions.revokeMessage':
|
||||||
|
'Bu, OAuth oturumunu hemen iptal edecektir. İstemci MCP erişimini kaybedecek.',
|
||||||
'admin.oauthSessions.revokeSuccess': 'Oturum iptal edildi',
|
'admin.oauthSessions.revokeSuccess': 'Oturum iptal edildi',
|
||||||
'admin.oauthSessions.revokeError': 'Oturum iptal edilemedi',
|
'admin.oauthSessions.revokeError': 'Oturum iptal edilemedi',
|
||||||
'admin.oauthSessions.loadError': 'OAuth oturumları yüklenemedi',
|
'admin.oauthSessions.loadError': 'OAuth oturumları yüklenemedi',
|
||||||
'admin.tabs.github': 'GitHub',
|
'admin.tabs.github': 'GitHub',
|
||||||
'admin.audit.subtitle': 'Güvenlik açısından hassas olaylar ve yönetim olayları (yedeklemeler, kullanıcılar, MFA, ayarlar).',
|
'admin.audit.subtitle':
|
||||||
|
'Güvenlik açısından hassas olaylar ve yönetim olayları (yedeklemeler, kullanıcılar, MFA, ayarlar).',
|
||||||
'admin.audit.empty': 'Henüz denetim girişi yok.',
|
'admin.audit.empty': 'Henüz denetim girişi yok.',
|
||||||
'admin.audit.refresh': 'Yenile',
|
'admin.audit.refresh': 'Yenile',
|
||||||
'admin.audit.loadMore': 'Daha fazlasını yükle',
|
'admin.audit.loadMore': 'Daha fazlasını yükle',
|
||||||
@@ -266,7 +326,7 @@ const admin: TranslationStrings = {
|
|||||||
'admin.audit.col.ip': 'IP',
|
'admin.audit.col.ip': 'IP',
|
||||||
'admin.audit.col.details': 'Detaylar',
|
'admin.audit.col.details': 'Detaylar',
|
||||||
'admin.github.title': 'Sürüm Geçmişi',
|
'admin.github.title': 'Sürüm Geçmişi',
|
||||||
'admin.github.subtitle': '{repo}\'dan en son güncellemeler',
|
'admin.github.subtitle': "{repo}'dan en son güncellemeler",
|
||||||
'admin.github.latest': 'En sonuncu',
|
'admin.github.latest': 'En sonuncu',
|
||||||
'admin.github.prerelease': 'Ön sürüm',
|
'admin.github.prerelease': 'Ön sürüm',
|
||||||
'admin.github.showDetails': 'Ayrıntıları göster',
|
'admin.github.showDetails': 'Ayrıntıları göster',
|
||||||
@@ -275,26 +335,33 @@ const admin: TranslationStrings = {
|
|||||||
'admin.github.loading': 'Yükleniyor...',
|
'admin.github.loading': 'Yükleniyor...',
|
||||||
'admin.github.error': 'Sürümler yüklenemedi',
|
'admin.github.error': 'Sürümler yüklenemedi',
|
||||||
'admin.github.by': 'ile',
|
'admin.github.by': 'ile',
|
||||||
'admin.github.support': 'TREK\'i geliştirmeye devam etmeme yardımcı oluyor',
|
'admin.github.support': "TREK'i geliştirmeye devam etmeme yardımcı oluyor",
|
||||||
'admin.update.available': 'Güncelleme mevcut',
|
'admin.update.available': 'Güncelleme mevcut',
|
||||||
'admin.update.text': 'TREK {versiyon} mevcut. {current} çalıştırıyorsunuz.',
|
'admin.update.text': 'TREK {versiyon} mevcut. {current} çalıştırıyorsunuz.',
|
||||||
'admin.update.button': 'GitHub\'da görüntüle',
|
'admin.update.button': "GitHub'da görüntüle",
|
||||||
'admin.update.install': 'Güncellemeyi Yükle',
|
'admin.update.install': 'Güncellemeyi Yükle',
|
||||||
'admin.update.confirmTitle': 'Güncelleme Yüklensin mi?',
|
'admin.update.confirmTitle': 'Güncelleme Yüklensin mi?',
|
||||||
'admin.update.confirmText': 'TREK, {current} sürümünden {version} sürümüne güncellenecek. Sunucu daha sonra otomatik olarak yeniden başlatılacaktır.',
|
'admin.update.confirmText':
|
||||||
'admin.update.dataInfo': 'Tüm verileriniz (seyahatler, kullanıcılar, API anahtarları, yüklemeler, Vacay, Atlas, bütçeler) korunacaktır.',
|
'TREK, {current} sürümünden {version} sürümüne güncellenecek. Sunucu daha sonra otomatik olarak yeniden başlatılacaktır.',
|
||||||
'admin.update.warning': 'Yeniden başlatma sırasında uygulama kısa süreliğine kullanılamayacaktır.',
|
'admin.update.dataInfo':
|
||||||
|
'Tüm verileriniz (seyahatler, kullanıcılar, API anahtarları, yüklemeler, Vacay, Atlas, bütçeler) korunacaktır.',
|
||||||
|
'admin.update.warning':
|
||||||
|
'Yeniden başlatma sırasında uygulama kısa süreliğine kullanılamayacaktır.',
|
||||||
'admin.update.confirm': 'Şimdi Güncelle',
|
'admin.update.confirm': 'Şimdi Güncelle',
|
||||||
'admin.update.installing': 'Güncelleniyor…',
|
'admin.update.installing': 'Güncelleniyor…',
|
||||||
'admin.update.success': 'Güncelleme yüklendi! Sunucu yeniden başlatılıyor…',
|
'admin.update.success': 'Güncelleme yüklendi! Sunucu yeniden başlatılıyor…',
|
||||||
'admin.update.failed': 'Güncelleme başarısız oldu',
|
'admin.update.failed': 'Güncelleme başarısız oldu',
|
||||||
'admin.update.backupHint': 'Güncellemeden önce bir yedek oluşturmanızı öneririz.',
|
'admin.update.backupHint':
|
||||||
|
'Güncellemeden önce bir yedek oluşturmanızı öneririz.',
|
||||||
'admin.update.backupLink': 'Yedeklemeye Git',
|
'admin.update.backupLink': 'Yedeklemeye Git',
|
||||||
'admin.update.howTo': 'Nasıl Güncellenir?',
|
'admin.update.howTo': 'Nasıl Güncellenir?',
|
||||||
'admin.update.dockerText': 'TREK örneğiniz Docker\'da çalışır. {version} sürümüne güncellemek için sunucunuzda aşağıdaki komutları çalıştırın:',
|
'admin.update.dockerText':
|
||||||
'admin.update.reloadHint': 'Lütfen birkaç saniye içinde sayfayı yeniden yükleyin.',
|
"TREK örneğiniz Docker'da çalışır. {version} sürümüne güncellemek için sunucunuzda aşağıdaki komutları çalıştırın:",
|
||||||
|
'admin.update.reloadHint':
|
||||||
|
'Lütfen birkaç saniye içinde sayfayı yeniden yükleyin.',
|
||||||
'admin.tabs.permissions': 'İzinler',
|
'admin.tabs.permissions': 'İzinler',
|
||||||
'admin.addons.catalog.journey.name': 'Seyahat',
|
'admin.addons.catalog.journey.name': 'Seyahat',
|
||||||
'admin.addons.catalog.journey.description': 'Check-in, fotoğraf ve günlük hikâyelerle seyahat takibi ve seyahat günlüğü',
|
'admin.addons.catalog.journey.description':
|
||||||
|
'Check-in, fotoğraf ve günlük hikâyelerle seyahat takibi ve seyahat günlüğü',
|
||||||
};
|
};
|
||||||
export default admin;
|
export default admin;
|
||||||
|
|||||||
@@ -8,7 +8,8 @@ const atlas: TranslationStrings = {
|
|||||||
'atlas.unmark': 'Kaldırmak',
|
'atlas.unmark': 'Kaldırmak',
|
||||||
'atlas.confirmMark': 'Bu ülke ziyaret edildi olarak işaretlensin mi?',
|
'atlas.confirmMark': 'Bu ülke ziyaret edildi olarak işaretlensin mi?',
|
||||||
'atlas.confirmUnmark': 'Bu ülke ziyaret ettiğiniz listeden kaldırılsın mı?',
|
'atlas.confirmUnmark': 'Bu ülke ziyaret ettiğiniz listeden kaldırılsın mı?',
|
||||||
'atlas.confirmUnmarkRegion': 'Bu bölge ziyaret ettiğiniz listeden kaldırılsın mı?',
|
'atlas.confirmUnmarkRegion':
|
||||||
|
'Bu bölge ziyaret ettiğiniz listeden kaldırılsın mı?',
|
||||||
'atlas.markVisited': 'Ziyaret edildi olarak işaretle',
|
'atlas.markVisited': 'Ziyaret edildi olarak işaretle',
|
||||||
'atlas.markVisitedHint': 'Bu ülkeyi ziyaret ettiğiniz listeye ekleyin',
|
'atlas.markVisitedHint': 'Bu ülkeyi ziyaret ettiğiniz listeye ekleyin',
|
||||||
'atlas.markRegionVisitedHint': 'Bu bölgeyi ziyaret ettiğiniz listeye ekleyin',
|
'atlas.markRegionVisitedHint': 'Bu bölgeyi ziyaret ettiğiniz listeye ekleyin',
|
||||||
@@ -30,7 +31,8 @@ const atlas: TranslationStrings = {
|
|||||||
'atlas.visitedCountries': 'Ziyaret Edilen Ülkeler',
|
'atlas.visitedCountries': 'Ziyaret Edilen Ülkeler',
|
||||||
'atlas.cities': 'Şehirler',
|
'atlas.cities': 'Şehirler',
|
||||||
'atlas.noData': 'Henüz seyahat verisi yok',
|
'atlas.noData': 'Henüz seyahat verisi yok',
|
||||||
'atlas.noDataHint': 'Bir gezi oluşturun ve dünya haritanızı göreceğiniz yerleri ekleyin',
|
'atlas.noDataHint':
|
||||||
|
'Bir gezi oluşturun ve dünya haritanızı göreceğiniz yerleri ekleyin',
|
||||||
'atlas.lastTrip': 'Son yolculuk',
|
'atlas.lastTrip': 'Son yolculuk',
|
||||||
'atlas.nextTrip': 'Sonraki gezi',
|
'atlas.nextTrip': 'Sonraki gezi',
|
||||||
'atlas.daysLeft': 'kalan günler',
|
'atlas.daysLeft': 'kalan günler',
|
||||||
|
|||||||
@@ -12,8 +12,10 @@ const backup: TranslationStrings = {
|
|||||||
'backup.createFirst': 'İlk yedeği oluştur',
|
'backup.createFirst': 'İlk yedeği oluştur',
|
||||||
'backup.download': 'İndir',
|
'backup.download': 'İndir',
|
||||||
'backup.restore': 'Geri yükle',
|
'backup.restore': 'Geri yükle',
|
||||||
'backup.confirm.restore': '"{name}" yedeği geri yüklensin mi?\\\\n\\\\nTüm mevcut veriler yedekle değiştirilecek.',
|
'backup.confirm.restore':
|
||||||
'backup.confirm.uploadRestore': '"{name}" yedek dosyası yüklenip geri yüklensin mi?\\\\n\\\\nTüm mevcut verilerin üzerine yazılacak.',
|
'"{name}" yedeği geri yüklensin mi?\\\\n\\\\nTüm mevcut veriler yedekle değiştirilecek.',
|
||||||
|
'backup.confirm.uploadRestore':
|
||||||
|
'"{name}" yedek dosyası yüklenip geri yüklensin mi?\\\\n\\\\nTüm mevcut verilerin üzerine yazılacak.',
|
||||||
'backup.confirm.delete': '"{name}" yedeği silinsin mi?',
|
'backup.confirm.delete': '"{name}" yedeği silinsin mi?',
|
||||||
'backup.toast.loadError': 'Yedekler yüklenemedi',
|
'backup.toast.loadError': 'Yedekler yüklenemedi',
|
||||||
'backup.toast.created': 'Yedek başarıyla oluşturuldu',
|
'backup.toast.created': 'Yedek başarıyla oluşturuldu',
|
||||||
@@ -29,7 +31,8 @@ const backup: TranslationStrings = {
|
|||||||
'backup.auto.title': 'Otomatik yedekleme',
|
'backup.auto.title': 'Otomatik yedekleme',
|
||||||
'backup.auto.subtitle': 'Zamanlanmış otomatik yedekleme',
|
'backup.auto.subtitle': 'Zamanlanmış otomatik yedekleme',
|
||||||
'backup.auto.enable': 'Otomatik yedeklemeyi etkinleştir',
|
'backup.auto.enable': 'Otomatik yedeklemeyi etkinleştir',
|
||||||
'backup.auto.enableHint': 'Yedekler seçilen programa göre otomatik oluşturulur',
|
'backup.auto.enableHint':
|
||||||
|
'Yedekler seçilen programa göre otomatik oluşturulur',
|
||||||
'backup.auto.interval': 'Aralık',
|
'backup.auto.interval': 'Aralık',
|
||||||
'backup.auto.hour': 'Çalışma saati',
|
'backup.auto.hour': 'Çalışma saati',
|
||||||
'backup.auto.hourHint': 'Sunucu yerel saati ({format} biçimi)',
|
'backup.auto.hourHint': 'Sunucu yerel saati ({format} biçimi)',
|
||||||
@@ -41,7 +44,8 @@ const backup: TranslationStrings = {
|
|||||||
'backup.auto.summaryWeekly': 'Her {day} saat {hour}:00',
|
'backup.auto.summaryWeekly': 'Her {day} saat {hour}:00',
|
||||||
'backup.auto.summaryMonthly': 'Her ayın {day}. günü saat {hour}:00',
|
'backup.auto.summaryMonthly': 'Her ayın {day}. günü saat {hour}:00',
|
||||||
'backup.auto.envLocked': 'Liman işçisi',
|
'backup.auto.envLocked': 'Liman işçisi',
|
||||||
'backup.auto.envLockedHint': 'Otomatik yedekleme Docker ortam değişkenleriyle yapılandırılır. Bu ayarları değiştirmek için docker-compose.yml dosyanızı güncelleyip konteyneri yeniden başlatın.',
|
'backup.auto.envLockedHint':
|
||||||
|
'Otomatik yedekleme Docker ortam değişkenleriyle yapılandırılır. Bu ayarları değiştirmek için docker-compose.yml dosyanızı güncelleyip konteyneri yeniden başlatın.',
|
||||||
'backup.auto.copyEnv': 'Docker Ortam değişkenlerini kopyala',
|
'backup.auto.copyEnv': 'Docker Ortam değişkenlerini kopyala',
|
||||||
'backup.auto.envCopied': 'Docker ortam değişkenleri panoya kopyalandı',
|
'backup.auto.envCopied': 'Docker ortam değişkenleri panoya kopyalandı',
|
||||||
'backup.auto.keepLabel': 'Eski yedekleri şu süreden sonra sil',
|
'backup.auto.keepLabel': 'Eski yedekleri şu süreden sonra sil',
|
||||||
@@ -63,8 +67,10 @@ const backup: TranslationStrings = {
|
|||||||
'backup.keep.30days': '30 gün',
|
'backup.keep.30days': '30 gün',
|
||||||
'backup.keep.forever': 'Sonsuza kadar sakla',
|
'backup.keep.forever': 'Sonsuza kadar sakla',
|
||||||
'backup.restoreConfirmTitle': 'Yedek geri yüklensin mi?',
|
'backup.restoreConfirmTitle': 'Yedek geri yüklensin mi?',
|
||||||
'backup.restoreWarning': 'Tüm mevcut veriler (seyahatler, yerler, kullanıcılar, yüklemeler) yedekle kalıcı olarak değiştirilecek. Bu işlem geri alınamaz.',
|
'backup.restoreWarning':
|
||||||
'backup.restoreTip': 'İpucu: Geri yüklemeden önce mevcut durumun yedeğini oluşturun.',
|
'Tüm mevcut veriler (seyahatler, yerler, kullanıcılar, yüklemeler) yedekle kalıcı olarak değiştirilecek. Bu işlem geri alınamaz.',
|
||||||
|
'backup.restoreTip':
|
||||||
|
'İpucu: Geri yüklemeden önce mevcut durumun yedeğini oluşturun.',
|
||||||
'backup.restoreConfirm': 'Evet, geri yükle',
|
'backup.restoreConfirm': 'Evet, geri yükle',
|
||||||
};
|
};
|
||||||
export default backup;
|
export default backup;
|
||||||
|
|||||||
@@ -4,7 +4,8 @@ const budget: TranslationStrings = {
|
|||||||
'budget.title': 'Bütçe',
|
'budget.title': 'Bütçe',
|
||||||
'budget.exportCsv': 'CSV dışa aktar',
|
'budget.exportCsv': 'CSV dışa aktar',
|
||||||
'budget.emptyTitle': 'Henüz bütçe oluşturulmadı',
|
'budget.emptyTitle': 'Henüz bütçe oluşturulmadı',
|
||||||
'budget.emptyText': 'Seyahat bütçenizi planlamak için kategoriler ve kayıtlar oluşturun',
|
'budget.emptyText':
|
||||||
|
'Seyahat bütçenizi planlamak için kategoriler ve kayıtlar oluşturun',
|
||||||
'budget.emptyPlaceholder': 'Kategori adı girin...',
|
'budget.emptyPlaceholder': 'Kategori adı girin...',
|
||||||
'budget.createCategory': 'Kategori Oluştur',
|
'budget.createCategory': 'Kategori Oluştur',
|
||||||
'budget.category': 'Kategori',
|
'budget.category': 'Kategori',
|
||||||
@@ -26,14 +27,16 @@ const budget: TranslationStrings = {
|
|||||||
'budget.byCategory': 'Kategoriye Göre',
|
'budget.byCategory': 'Kategoriye Göre',
|
||||||
'budget.editTooltip': 'Düzenlemek için tıklayın',
|
'budget.editTooltip': 'Düzenlemek için tıklayın',
|
||||||
'budget.linkedToReservation': 'Bir rezervasyona bağlı — adı orada düzenleyin',
|
'budget.linkedToReservation': 'Bir rezervasyona bağlı — adı orada düzenleyin',
|
||||||
'budget.confirm.deleteCategory': '"{name}" kategorisini {count} kayıtla birlikte silmek istediğinizden emin misiniz?',
|
'budget.confirm.deleteCategory':
|
||||||
|
'"{name}" kategorisini {count} kayıtla birlikte silmek istediğinizden emin misiniz?',
|
||||||
'budget.deleteCategory': 'Kategoriyi Sil',
|
'budget.deleteCategory': 'Kategoriyi Sil',
|
||||||
'budget.perPerson': 'Kişi Başı',
|
'budget.perPerson': 'Kişi Başı',
|
||||||
'budget.paid': 'Ödendi',
|
'budget.paid': 'Ödendi',
|
||||||
'budget.open': 'Açık',
|
'budget.open': 'Açık',
|
||||||
'budget.noMembers': 'Atanmış üye yok',
|
'budget.noMembers': 'Atanmış üye yok',
|
||||||
'budget.settlement': 'Hesaplaşma',
|
'budget.settlement': 'Hesaplaşma',
|
||||||
'budget.settlementInfo': 'Bir bütçe kalemindeki üye avatarına tıklayarak yeşil işaretleyin — bu ödedikleri anlamına gelir. Hesaplaşma kimin kime ne kadar borçlu olduğunu gösterir.',
|
'budget.settlementInfo':
|
||||||
|
'Bir bütçe kalemindeki üye avatarına tıklayarak yeşil işaretleyin — bu ödedikleri anlamına gelir. Hesaplaşma kimin kime ne kadar borçlu olduğunu gösterir.',
|
||||||
'budget.netBalances': 'Net Bakiyeler',
|
'budget.netBalances': 'Net Bakiyeler',
|
||||||
'budget.categoriesLabel': 'kategoriler',
|
'budget.categoriesLabel': 'kategoriler',
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -13,7 +13,8 @@ const categories: TranslationStrings = {
|
|||||||
'categories.defaultName': 'Kategori',
|
'categories.defaultName': 'Kategori',
|
||||||
'categories.update': 'Güncelle',
|
'categories.update': 'Güncelle',
|
||||||
'categories.create': 'Oluştur',
|
'categories.create': 'Oluştur',
|
||||||
'categories.confirm.delete': 'Kategori silinsin mi? Bu kategorideki yerler silinmez.',
|
'categories.confirm.delete':
|
||||||
|
'Kategori silinsin mi? Bu kategorideki yerler silinmez.',
|
||||||
'categories.toast.loadError': 'Kategoriler yüklenemedi',
|
'categories.toast.loadError': 'Kategoriler yüklenemedi',
|
||||||
'categories.toast.nameRequired': 'Lütfen bir ad girin',
|
'categories.toast.nameRequired': 'Lütfen bir ad girin',
|
||||||
'categories.toast.updated': 'Kategori güncellendi',
|
'categories.toast.updated': 'Kategori güncellendi',
|
||||||
|
|||||||
@@ -14,7 +14,8 @@ const collab: TranslationStrings = {
|
|||||||
'collab.chat.placeholder': 'Mesaj yazın...',
|
'collab.chat.placeholder': 'Mesaj yazın...',
|
||||||
'collab.chat.empty': 'Sohbeti başlatın',
|
'collab.chat.empty': 'Sohbeti başlatın',
|
||||||
'collab.chat.emptyHint': 'Mesajlar tüm seyahat üyeleriyle paylaşılır',
|
'collab.chat.emptyHint': 'Mesajlar tüm seyahat üyeleriyle paylaşılır',
|
||||||
'collab.chat.emptyDesc': 'Seyahat grubunuzla fikir, plan ve güncellemeleri paylaşın',
|
'collab.chat.emptyDesc':
|
||||||
|
'Seyahat grubunuzla fikir, plan ve güncellemeleri paylaşın',
|
||||||
'collab.chat.today': 'Bugün',
|
'collab.chat.today': 'Bugün',
|
||||||
'collab.chat.yesterday': 'Dün',
|
'collab.chat.yesterday': 'Dün',
|
||||||
'collab.chat.deletedMessage': 'bir mesajı sildi',
|
'collab.chat.deletedMessage': 'bir mesajı sildi',
|
||||||
|
|||||||
@@ -19,7 +19,8 @@ const dashboard: TranslationStrings = {
|
|||||||
'dashboard.timezoneCustomTzPlaceholder': 'örn. America/New_York',
|
'dashboard.timezoneCustomTzPlaceholder': 'örn. America/New_York',
|
||||||
'dashboard.timezoneCustomAdd': 'Ekle',
|
'dashboard.timezoneCustomAdd': 'Ekle',
|
||||||
'dashboard.timezoneCustomErrorEmpty': 'Saat dilimi tanımlayıcısı girin',
|
'dashboard.timezoneCustomErrorEmpty': 'Saat dilimi tanımlayıcısı girin',
|
||||||
'dashboard.timezoneCustomErrorInvalid': 'Geçersiz saat dilimi. Europe/Berlin gibi bir biçim kullanın',
|
'dashboard.timezoneCustomErrorInvalid':
|
||||||
|
'Geçersiz saat dilimi. Europe/Berlin gibi bir biçim kullanın',
|
||||||
'dashboard.timezoneCustomErrorDuplicate': 'Zaten ekli',
|
'dashboard.timezoneCustomErrorDuplicate': 'Zaten ekli',
|
||||||
'dashboard.emptyTitle': 'Henüz seyahat yok',
|
'dashboard.emptyTitle': 'Henüz seyahat yok',
|
||||||
'dashboard.emptyText': 'İlk seyahatinizi oluşturup planlamaya başlayın!',
|
'dashboard.emptyText': 'İlk seyahatinizi oluşturup planlamaya başlayın!',
|
||||||
@@ -53,7 +54,8 @@ const dashboard: TranslationStrings = {
|
|||||||
'dashboard.toast.restoreError': 'Geri alınamadı',
|
'dashboard.toast.restoreError': 'Geri alınamadı',
|
||||||
'dashboard.toast.copied': 'Seyahat kopyalandı!',
|
'dashboard.toast.copied': 'Seyahat kopyalandı!',
|
||||||
'dashboard.toast.copyError': 'Kopyalanamadı',
|
'dashboard.toast.copyError': 'Kopyalanamadı',
|
||||||
'dashboard.confirm.delete': '"{title}" seyahatini sil? Tüm yerler ve planlar kalıcı olarak silinir.',
|
'dashboard.confirm.delete':
|
||||||
|
'"{title}" seyahatini sil? Tüm yerler ve planlar kalıcı olarak silinir.',
|
||||||
'dashboard.confirm.copy.title': 'Bu seyahat kopyalansın mı?',
|
'dashboard.confirm.copy.title': 'Bu seyahat kopyalansın mı?',
|
||||||
'dashboard.confirm.copy.willCopy': 'Kopyalanacak',
|
'dashboard.confirm.copy.willCopy': 'Kopyalanacak',
|
||||||
'dashboard.confirm.copy.will1': 'Günler, yerler ve gün atamaları',
|
'dashboard.confirm.copy.will1': 'Günler, yerler ve gün atamaları',
|
||||||
@@ -78,7 +80,8 @@ const dashboard: TranslationStrings = {
|
|||||||
'dashboard.endDate': 'Bitiş Tarihi',
|
'dashboard.endDate': 'Bitiş Tarihi',
|
||||||
'dashboard.dayCount': 'Gün sayısı',
|
'dashboard.dayCount': 'Gün sayısı',
|
||||||
'dashboard.dayCountHint': 'Seyahat tarihi yoksa kaç gün planlanacağı.',
|
'dashboard.dayCountHint': 'Seyahat tarihi yoksa kaç gün planlanacağı.',
|
||||||
'dashboard.noDateHint': 'Tarih yok — varsayılan 7 gün oluşturulur. İstediğiniz zaman değiştirebilirsiniz.',
|
'dashboard.noDateHint':
|
||||||
|
'Tarih yok — varsayılan 7 gün oluşturulur. İstediğiniz zaman değiştirebilirsiniz.',
|
||||||
'dashboard.coverImage': 'Kapak Görseli',
|
'dashboard.coverImage': 'Kapak Görseli',
|
||||||
'dashboard.addCoverImage': 'Kapak ekle (sürükleyip bırakabilirsiniz)',
|
'dashboard.addCoverImage': 'Kapak ekle (sürükleyip bırakabilirsiniz)',
|
||||||
'dashboard.addMembers': 'Seyahat arkadaşları',
|
'dashboard.addMembers': 'Seyahat arkadaşları',
|
||||||
|
|||||||
@@ -7,7 +7,8 @@ const day: TranslationStrings = {
|
|||||||
'day.sunrise': 'Gün doğumu',
|
'day.sunrise': 'Gün doğumu',
|
||||||
'day.sunset': 'Gün batımı',
|
'day.sunset': 'Gün batımı',
|
||||||
'day.hourlyForecast': 'Saatlik Tahmin',
|
'day.hourlyForecast': 'Saatlik Tahmin',
|
||||||
'day.climateHint': 'Tarihsel ortalamalar — gerçek tahmin bu tarihten 16 gün öncesine kadar kullanılabilir.',
|
'day.climateHint':
|
||||||
|
'Tarihsel ortalamalar — gerçek tahmin bu tarihten 16 gün öncesine kadar kullanılabilir.',
|
||||||
'day.noWeather': 'Hava durumu verisi yok. Koordinatlı bir yer ekleyin.',
|
'day.noWeather': 'Hava durumu verisi yok. Koordinatlı bir yer ekleyin.',
|
||||||
'day.overview': 'Günlük Özet',
|
'day.overview': 'Günlük Özet',
|
||||||
'day.accommodation': 'Konaklama',
|
'day.accommodation': 'Konaklama',
|
||||||
|
|||||||
@@ -3,12 +3,16 @@ import type { TranslationStrings } from '../types';
|
|||||||
const dayplan: TranslationStrings = {
|
const dayplan: TranslationStrings = {
|
||||||
'dayplan.icsTooltip': 'İhracat takvimi (ICS)',
|
'dayplan.icsTooltip': 'İhracat takvimi (ICS)',
|
||||||
'dayplan.emptyDay': 'Bu gün için planlanmış yer yok',
|
'dayplan.emptyDay': 'Bu gün için planlanmış yer yok',
|
||||||
'dayplan.cannotReorderTransport': 'Sabit zamanlı rezervasyonlar yeniden sıralanamaz',
|
'dayplan.cannotReorderTransport':
|
||||||
|
'Sabit zamanlı rezervasyonlar yeniden sıralanamaz',
|
||||||
'dayplan.confirmRemoveTimeTitle': 'Saat kaldırılsın mı?',
|
'dayplan.confirmRemoveTimeTitle': 'Saat kaldırılsın mı?',
|
||||||
'dayplan.confirmRemoveTimeBody': 'Bu yerin sabit bir saati var ({time}). Taşımak saati kaldırır ve serbest sıralamaya izin verir.',
|
'dayplan.confirmRemoveTimeBody':
|
||||||
|
'Bu yerin sabit bir saati var ({time}). Taşımak saati kaldırır ve serbest sıralamaya izin verir.',
|
||||||
'dayplan.confirmRemoveTimeAction': 'Saati kaldır ve taşı',
|
'dayplan.confirmRemoveTimeAction': 'Saati kaldır ve taşı',
|
||||||
'dayplan.cannotDropOnTimed': 'Öğeler saate bağlı girişler arasına yerleştirilemez',
|
'dayplan.cannotDropOnTimed':
|
||||||
'dayplan.cannotBreakChronology': 'Bu, zamanlı öğelerin kronolojik sırasını bozar',
|
'Öğeler saate bağlı girişler arasına yerleştirilemez',
|
||||||
|
'dayplan.cannotBreakChronology':
|
||||||
|
'Bu, zamanlı öğelerin kronolojik sırasını bozar',
|
||||||
'dayplan.addNote': 'Not Ekle',
|
'dayplan.addNote': 'Not Ekle',
|
||||||
'dayplan.expandAll': 'Tüm günleri genişlet',
|
'dayplan.expandAll': 'Tüm günleri genişlet',
|
||||||
'dayplan.collapseAll': 'Tüm günleri daralt',
|
'dayplan.collapseAll': 'Tüm günleri daralt',
|
||||||
@@ -25,12 +29,13 @@ const dayplan: TranslationStrings = {
|
|||||||
'dayplan.optimize': 'Optimize et',
|
'dayplan.optimize': 'Optimize et',
|
||||||
'dayplan.optimized': 'Rota optimize edildi',
|
'dayplan.optimized': 'Rota optimize edildi',
|
||||||
'dayplan.routeError': 'Rota hesaplanamadı',
|
'dayplan.routeError': 'Rota hesaplanamadı',
|
||||||
'dayplan.toast.needTwoPlaces': 'Rota optimizasyonu için en az iki yer gerekli',
|
'dayplan.toast.needTwoPlaces':
|
||||||
|
'Rota optimizasyonu için en az iki yer gerekli',
|
||||||
'dayplan.toast.routeOptimized': 'Rota optimize edildi',
|
'dayplan.toast.routeOptimized': 'Rota optimize edildi',
|
||||||
'dayplan.toast.noGeoPlaces': 'Rota için koordinatlı yer bulunamadı',
|
'dayplan.toast.noGeoPlaces': 'Rota için koordinatlı yer bulunamadı',
|
||||||
'dayplan.confirmed': 'Onaylandı',
|
'dayplan.confirmed': 'Onaylandı',
|
||||||
'dayplan.pendingRes': 'Beklemede',
|
'dayplan.pendingRes': 'Beklemede',
|
||||||
'dayplan.pdf': 'PDF\'ler',
|
'dayplan.pdf': "PDF'ler",
|
||||||
'dayplan.pdfTooltip': 'Gün planını PDF olarak dışa aktar',
|
'dayplan.pdfTooltip': 'Gün planını PDF olarak dışa aktar',
|
||||||
'dayplan.pdfError': 'PDF dışa aktarılamadı',
|
'dayplan.pdfError': 'PDF dışa aktarılamadı',
|
||||||
'dayplan.mobile.addPlace': 'Yer Ekle',
|
'dayplan.mobile.addPlace': 'Yer Ekle',
|
||||||
|
|||||||
@@ -13,10 +13,11 @@ const files: TranslationStrings = {
|
|||||||
'files.uploadError': 'Yükleme başarısız oldu',
|
'files.uploadError': 'Yükleme başarısız oldu',
|
||||||
'files.dropzone': 'Dosyaları buraya bırakın',
|
'files.dropzone': 'Dosyaları buraya bırakın',
|
||||||
'files.dropzoneHint': 'veya göz atmak için tıklayın',
|
'files.dropzoneHint': 'veya göz atmak için tıklayın',
|
||||||
'files.allowedTypes': 'Görsel, PDF, DOC, DOCX, XLS, XLSX, TXT, CSV · Maks. 50 MB',
|
'files.allowedTypes':
|
||||||
|
'Görsel, PDF, DOC, DOCX, XLS, XLSX, TXT, CSV · Maks. 50 MB',
|
||||||
'files.uploading': 'Yükleniyor...',
|
'files.uploading': 'Yükleniyor...',
|
||||||
'files.filterAll': 'Tüm',
|
'files.filterAll': 'Tüm',
|
||||||
'files.filterPdf': 'PDF\'ler',
|
'files.filterPdf': "PDF'ler",
|
||||||
'files.filterImages': 'Görseller',
|
'files.filterImages': 'Görseller',
|
||||||
'files.filterDocs': 'Belgeler',
|
'files.filterDocs': 'Belgeler',
|
||||||
'files.filterCollab': 'İşbirliği Notları',
|
'files.filterCollab': 'İşbirliği Notları',
|
||||||
@@ -51,8 +52,10 @@ const files: TranslationStrings = {
|
|||||||
'files.toast.assigned': 'Dosya atandı',
|
'files.toast.assigned': 'Dosya atandı',
|
||||||
'files.toast.assignError': 'Atama başarısız',
|
'files.toast.assignError': 'Atama başarısız',
|
||||||
'files.toast.restoreError': 'Geri yükleme başarısız',
|
'files.toast.restoreError': 'Geri yükleme başarısız',
|
||||||
'files.confirm.permanentDelete': 'Bu dosya kalıcı olarak silinsin mi? Bu işlem geri alınamaz.',
|
'files.confirm.permanentDelete':
|
||||||
'files.confirm.emptyTrash': 'Çöp kutusundaki tüm dosyalar kalıcı olarak silinsin mi? Bu işlem geri alınamaz.',
|
'Bu dosya kalıcı olarak silinsin mi? Bu işlem geri alınamaz.',
|
||||||
|
'files.confirm.emptyTrash':
|
||||||
|
'Çöp kutusundaki tüm dosyalar kalıcı olarak silinsin mi? Bu işlem geri alınamaz.',
|
||||||
'files.noteLabel': 'Not',
|
'files.noteLabel': 'Not',
|
||||||
'files.notePlaceholder': 'Not ekleyin...',
|
'files.notePlaceholder': 'Not ekleyin...',
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ const inspector: TranslationStrings = {
|
|||||||
'inspector.addToDay': 'Güne Ekle',
|
'inspector.addToDay': 'Güne Ekle',
|
||||||
'inspector.confirmedRes': 'Onaylanmış Rezervasyon',
|
'inspector.confirmedRes': 'Onaylanmış Rezervasyon',
|
||||||
'inspector.pendingRes': 'Bekleyen Rezervasyon',
|
'inspector.pendingRes': 'Bekleyen Rezervasyon',
|
||||||
'inspector.google': 'Google Haritalar\'da aç',
|
'inspector.google': "Google Haritalar'da aç",
|
||||||
'inspector.website': 'Web Sitesini Aç',
|
'inspector.website': 'Web Sitesini Aç',
|
||||||
'inspector.addRes': 'Rezervasyon',
|
'inspector.addRes': 'Rezervasyon',
|
||||||
'inspector.editRes': 'Rezervasyonu Düzenle',
|
'inspector.editRes': 'Rezervasyonu Düzenle',
|
||||||
|
|||||||
@@ -14,12 +14,14 @@ const journey: TranslationStrings = {
|
|||||||
'journey.createError': 'Journey oluşturulamadı',
|
'journey.createError': 'Journey oluşturulamadı',
|
||||||
'journey.deleteError': 'Journey silinemedi',
|
'journey.deleteError': 'Journey silinemedi',
|
||||||
'journey.deleteConfirmTitle': 'Sil',
|
'journey.deleteConfirmTitle': 'Sil',
|
||||||
'journey.deleteConfirmMessage': '"{title}" silinsin mi? Bu işlem geri alınamaz.',
|
'journey.deleteConfirmMessage':
|
||||||
|
'"{title}" silinsin mi? Bu işlem geri alınamaz.',
|
||||||
'journey.deleteConfirmGeneric': 'Bunu silmek istediğinizden emin misiniz?',
|
'journey.deleteConfirmGeneric': 'Bunu silmek istediğinizden emin misiniz?',
|
||||||
'journey.notFound': 'Journey bulunamadı',
|
'journey.notFound': 'Journey bulunamadı',
|
||||||
'journey.photos': 'Fotoğraflar',
|
'journey.photos': 'Fotoğraflar',
|
||||||
'journey.timelineEmpty': 'Henüz durak yok',
|
'journey.timelineEmpty': 'Henüz durak yok',
|
||||||
'journey.timelineEmptyHint': 'Başlamak için check-in ekleyin veya günlük kaydı yazın',
|
'journey.timelineEmptyHint':
|
||||||
|
'Başlamak için check-in ekleyin veya günlük kaydı yazın',
|
||||||
'journey.status.draft': 'Taslak',
|
'journey.status.draft': 'Taslak',
|
||||||
'journey.status.active': 'Aktif',
|
'journey.status.active': 'Aktif',
|
||||||
'journey.status.completed': 'Tamamlandı',
|
'journey.status.completed': 'Tamamlandı',
|
||||||
@@ -45,26 +47,30 @@ const journey: TranslationStrings = {
|
|||||||
'journey.editor.titlePlaceholder': 'Bu ana bir ad verin...',
|
'journey.editor.titlePlaceholder': 'Bu ana bir ad verin...',
|
||||||
'journey.editor.bodyPlaceholder': 'Bu günün hikâyesini anlatın...',
|
'journey.editor.bodyPlaceholder': 'Bu günün hikâyesini anlatın...',
|
||||||
'journey.editor.placePlaceholder': 'Konum (isteğe bağlı)',
|
'journey.editor.placePlaceholder': 'Konum (isteğe bağlı)',
|
||||||
'journey.editor.tagsPlaceholder': 'Etiketler: gizli cevher, en iyi yemek, tekrar ziyaret...',
|
'journey.editor.tagsPlaceholder':
|
||||||
|
'Etiketler: gizli cevher, en iyi yemek, tekrar ziyaret...',
|
||||||
'journey.visibility.private': 'Gizli',
|
'journey.visibility.private': 'Gizli',
|
||||||
'journey.visibility.shared': 'Paylaşılan',
|
'journey.visibility.shared': 'Paylaşılan',
|
||||||
'journey.visibility.public': 'Herkese açık',
|
'journey.visibility.public': 'Herkese açık',
|
||||||
'journey.emptyState.title': 'Hikâyeniz burada başlıyor',
|
'journey.emptyState.title': 'Hikâyeniz burada başlıyor',
|
||||||
'journey.emptyState.subtitle': 'Bir yerde check-in yapın veya ilk günlük kaydınızı yazın',
|
'journey.emptyState.subtitle':
|
||||||
|
'Bir yerde check-in yapın veya ilk günlük kaydınızı yazın',
|
||||||
'journey.frontpage.subtitle':
|
'journey.frontpage.subtitle':
|
||||||
"Turn your trips into stories you'll never forget",
|
"Turn your trips into stories you'll never forget",
|
||||||
'journey.frontpage.createJourney': 'Journey Oluştur',
|
'journey.frontpage.createJourney': 'Journey Oluştur',
|
||||||
'journey.frontpage.activeJourney': 'Aktif Journey',
|
'journey.frontpage.activeJourney': 'Aktif Journey',
|
||||||
'journey.frontpage.allJourneys': 'Tüm Journey\'ler',
|
'journey.frontpage.allJourneys': "Tüm Journey'ler",
|
||||||
'journey.frontpage.journeys': 'journey',
|
'journey.frontpage.journeys': 'journey',
|
||||||
'journey.frontpage.createNew': 'Yeni Journey oluştur',
|
'journey.frontpage.createNew': 'Yeni Journey oluştur',
|
||||||
'journey.frontpage.createNewSub': 'Seyahat seçin, hikâyeler yazın, maceralarınızı paylaşın',
|
'journey.frontpage.createNewSub':
|
||||||
|
'Seyahat seçin, hikâyeler yazın, maceralarınızı paylaşın',
|
||||||
'journey.frontpage.live': 'Canlı',
|
'journey.frontpage.live': 'Canlı',
|
||||||
'journey.frontpage.synced': 'Senkronize',
|
'journey.frontpage.synced': 'Senkronize',
|
||||||
'journey.frontpage.continueWriting': 'Yazmaya devam et',
|
'journey.frontpage.continueWriting': 'Yazmaya devam et',
|
||||||
'journey.frontpage.updated': '{time} Güncellendi',
|
'journey.frontpage.updated': '{time} Güncellendi',
|
||||||
'journey.frontpage.suggestionLabel': 'Seyahat yeni bitti',
|
'journey.frontpage.suggestionLabel': 'Seyahat yeni bitti',
|
||||||
'journey.frontpage.suggestionText': '<strong>{title}</strong> seyahatini Journey\'e dönüştür',
|
'journey.frontpage.suggestionText':
|
||||||
|
"<strong>{title}</strong> seyahatini Journey'e dönüştür",
|
||||||
'journey.frontpage.dismiss': 'Kapat',
|
'journey.frontpage.dismiss': 'Kapat',
|
||||||
'journey.frontpage.journeyName': 'Journey Adı',
|
'journey.frontpage.journeyName': 'Journey Adı',
|
||||||
'journey.frontpage.namePlaceholder': 'örn. Güneydoğu Asya 2026',
|
'journey.frontpage.namePlaceholder': 'örn. Güneydoğu Asya 2026',
|
||||||
@@ -73,15 +79,17 @@ const journey: TranslationStrings = {
|
|||||||
'journey.frontpage.trips': 'seyahat',
|
'journey.frontpage.trips': 'seyahat',
|
||||||
'journey.frontpage.placesImported': 'yer içe aktarılacak',
|
'journey.frontpage.placesImported': 'yer içe aktarılacak',
|
||||||
'journey.frontpage.places': 'yer',
|
'journey.frontpage.places': 'yer',
|
||||||
'journey.detail.backToJourney': 'Journey\'e dön',
|
'journey.detail.backToJourney': "Journey'e dön",
|
||||||
'journey.detail.syncedWithTrips': 'Seyahatlerle senkronize',
|
'journey.detail.syncedWithTrips': 'Seyahatlerle senkronize',
|
||||||
'journey.detail.addEntry': 'Kayıt Ekle',
|
'journey.detail.addEntry': 'Kayıt Ekle',
|
||||||
'journey.detail.newEntry': 'Yeni Kayıt',
|
'journey.detail.newEntry': 'Yeni Kayıt',
|
||||||
'journey.detail.editEntry': 'Kaydı Düzenle',
|
'journey.detail.editEntry': 'Kaydı Düzenle',
|
||||||
'journey.detail.noEntries': 'Henüz kayıt yok',
|
'journey.detail.noEntries': 'Henüz kayıt yok',
|
||||||
'journey.detail.noEntriesHint': 'İskelet kayıtlarla başlamak için bir seyahat ekleyin',
|
'journey.detail.noEntriesHint':
|
||||||
|
'İskelet kayıtlarla başlamak için bir seyahat ekleyin',
|
||||||
'journey.detail.noPhotos': 'Henüz fotoğraf yok',
|
'journey.detail.noPhotos': 'Henüz fotoğraf yok',
|
||||||
'journey.detail.noPhotosHint': 'Kayıtlara fotoğraf yükleyin veya Immich/Synology kütüphanenize göz atın',
|
'journey.detail.noPhotosHint':
|
||||||
|
'Kayıtlara fotoğraf yükleyin veya Immich/Synology kütüphanenize göz atın',
|
||||||
'journey.detail.journeyTab': 'Seyahat',
|
'journey.detail.journeyTab': 'Seyahat',
|
||||||
'journey.detail.journeyStats': 'Journey İstatistikleri',
|
'journey.detail.journeyStats': 'Journey İstatistikleri',
|
||||||
'journey.detail.syncedTrips': 'Senkronize Seyahatler',
|
'journey.detail.syncedTrips': 'Senkronize Seyahatler',
|
||||||
@@ -103,7 +111,8 @@ const journey: TranslationStrings = {
|
|||||||
'journey.verdict.couldBeBetter': 'Daha iyi olabilirdi',
|
'journey.verdict.couldBeBetter': 'Daha iyi olabilirdi',
|
||||||
'journey.synced.places': 'yer',
|
'journey.synced.places': 'yer',
|
||||||
'journey.synced.synced': 'senkronize',
|
'journey.synced.synced': 'senkronize',
|
||||||
'journey.editor.discardChangesConfirm': 'Kaydedilmemiş değişiklikleriniz var. Vazgeçilsin mi?',
|
'journey.editor.discardChangesConfirm':
|
||||||
|
'Kaydedilmemiş değişiklikleriniz var. Vazgeçilsin mi?',
|
||||||
'journey.editor.uploadPhotos': 'Fotoğraf yükle',
|
'journey.editor.uploadPhotos': 'Fotoğraf yükle',
|
||||||
'journey.editor.uploading': 'Yükleniyor...',
|
'journey.editor.uploading': 'Yükleniyor...',
|
||||||
'journey.editor.fromGallery': 'Galeriden',
|
'journey.editor.fromGallery': 'Galeriden',
|
||||||
@@ -142,7 +151,8 @@ const journey: TranslationStrings = {
|
|||||||
'journey.trips.linkFailed': 'Seyahat bağlanamadı',
|
'journey.trips.linkFailed': 'Seyahat bağlanamadı',
|
||||||
'journey.trips.addTrip': 'Seyahat Ekle',
|
'journey.trips.addTrip': 'Seyahat Ekle',
|
||||||
'journey.trips.unlinkTrip': 'Seyahat bağlantısını kaldır',
|
'journey.trips.unlinkTrip': 'Seyahat bağlantısını kaldır',
|
||||||
'journey.trips.unlinkMessage': '"{title}" bağlantısı kaldırılsın mı? Bu seyahatten senkronize tüm kayıtlar ve fotoğraflar kalıcı olarak silinecek. Bu işlem geri alınamaz.',
|
'journey.trips.unlinkMessage':
|
||||||
|
'"{title}" bağlantısı kaldırılsın mı? Bu seyahatten senkronize tüm kayıtlar ve fotoğraflar kalıcı olarak silinecek. Bu işlem geri alınamaz.',
|
||||||
'journey.trips.unlink': 'Bağlantıyı kaldır',
|
'journey.trips.unlink': 'Bağlantıyı kaldır',
|
||||||
'journey.trips.tripUnlinked': 'Seyahat bağlantısı kaldırıldı',
|
'journey.trips.tripUnlinked': 'Seyahat bağlantısı kaldırıldı',
|
||||||
'journey.trips.unlinkFailed': 'Seyahat bağlantısı kaldırılamadı',
|
'journey.trips.unlinkFailed': 'Seyahat bağlantısı kaldırılamadı',
|
||||||
@@ -155,7 +165,8 @@ const journey: TranslationStrings = {
|
|||||||
'journey.contributors.added': 'Katkıda bulunan eklendi',
|
'journey.contributors.added': 'Katkıda bulunan eklendi',
|
||||||
'journey.contributors.addFailed': 'Katkıda bulunan eklenemedi',
|
'journey.contributors.addFailed': 'Katkıda bulunan eklenemedi',
|
||||||
'journey.contributors.remove': 'Katkıda bulunanı kaldır',
|
'journey.contributors.remove': 'Katkıda bulunanı kaldır',
|
||||||
'journey.contributors.removeConfirm': '{username} bu journey\'den kaldırılsın mı?',
|
'journey.contributors.removeConfirm':
|
||||||
|
"{username} bu journey'den kaldırılsın mı?",
|
||||||
'journey.contributors.removed': 'Katkıda bulunan kaldırıldı',
|
'journey.contributors.removed': 'Katkıda bulunan kaldırıldı',
|
||||||
'journey.contributors.removeFailed': 'Katkıda bulunan kaldırılamadı',
|
'journey.contributors.removeFailed': 'Katkıda bulunan kaldırılamadı',
|
||||||
'journey.share.publicShare': 'Herkese açık paylaşım',
|
'journey.share.publicShare': 'Herkese açık paylaşım',
|
||||||
@@ -183,14 +194,16 @@ const journey: TranslationStrings = {
|
|||||||
'journey.settings.name': 'İsim',
|
'journey.settings.name': 'İsim',
|
||||||
'journey.settings.subtitle': 'Alt başlık',
|
'journey.settings.subtitle': 'Alt başlık',
|
||||||
'journey.settings.subtitlePlaceholder': 'örn. Tayland, Vietnam ve Kamboçya',
|
'journey.settings.subtitlePlaceholder': 'örn. Tayland, Vietnam ve Kamboçya',
|
||||||
'journey.settings.endJourney': 'Journey\'i Arşivle',
|
'journey.settings.endJourney': "Journey'i Arşivle",
|
||||||
'journey.settings.reopenJourney': 'Journey\'i geri aç',
|
'journey.settings.reopenJourney': "Journey'i geri aç",
|
||||||
'journey.settings.archived': 'Journey arşivlendi',
|
'journey.settings.archived': 'Journey arşivlendi',
|
||||||
'journey.settings.reopened': 'Journey yeniden açıldı',
|
'journey.settings.reopened': 'Journey yeniden açıldı',
|
||||||
'journey.settings.endDescription': 'Canlı rozetini gizler. İstediğiniz zaman yeniden açabilirsiniz.',
|
'journey.settings.endDescription':
|
||||||
|
'Canlı rozetini gizler. İstediğiniz zaman yeniden açabilirsiniz.',
|
||||||
'journey.settings.delete': 'Sil',
|
'journey.settings.delete': 'Sil',
|
||||||
'journey.settings.deleteJourney': 'Journey\'i Sil',
|
'journey.settings.deleteJourney': "Journey'i Sil",
|
||||||
'journey.settings.deleteMessage': '"{title}" silinsin mi? Tüm kayıtlar ve fotoğraflar kaybolacak.',
|
'journey.settings.deleteMessage':
|
||||||
|
'"{title}" silinsin mi? Tüm kayıtlar ve fotoğraflar kaybolacak.',
|
||||||
'journey.settings.saved': 'Ayarlar kaydedildi',
|
'journey.settings.saved': 'Ayarlar kaydedildi',
|
||||||
'journey.settings.saveFailed': 'Kaydedilemedi',
|
'journey.settings.saveFailed': 'Kaydedilemedi',
|
||||||
'journey.settings.coverUpdated': 'Kapak güncellendi',
|
'journey.settings.coverUpdated': 'Kapak güncellendi',
|
||||||
@@ -226,7 +239,8 @@ const journey: TranslationStrings = {
|
|||||||
'journey.picker.search': 'Ara',
|
'journey.picker.search': 'Ara',
|
||||||
'journey.editor.uploadingProgress': '{done}/{total} yükleniyor…',
|
'journey.editor.uploadingProgress': '{done}/{total} yükleniyor…',
|
||||||
'journey.editor.uploadFailed': 'Fotoğraf yüklenemedi',
|
'journey.editor.uploadFailed': 'Fotoğraf yüklenemedi',
|
||||||
'journey.editor.uploadPartialFailed': '{total} fotoğraftan {failed} tanesi başarısız — tekrar denemek için kaydedin',
|
'journey.editor.uploadPartialFailed':
|
||||||
|
'{total} fotoğraftan {failed} tanesi başarısız — tekrar denemek için kaydedin',
|
||||||
'journey.photosUploadFailed': 'Bazı fotoğraflar yüklenemedi',
|
'journey.photosUploadFailed': 'Bazı fotoğraflar yüklenemedi',
|
||||||
};
|
};
|
||||||
export default journey;
|
export default journey;
|
||||||
|
|||||||
+30
-15
@@ -1,9 +1,11 @@
|
|||||||
import type { TranslationStrings } from '../types';
|
import type { TranslationStrings } from '../types';
|
||||||
|
|
||||||
const login: TranslationStrings = {
|
const login: TranslationStrings = {
|
||||||
'login.error': 'Giriş başarısız oldu. Lütfen kimlik bilgilerinizi kontrol edin.',
|
'login.error':
|
||||||
|
'Giriş başarısız oldu. Lütfen kimlik bilgilerinizi kontrol edin.',
|
||||||
'login.tagline': 'Gezileriniz.\\nPlanınız.',
|
'login.tagline': 'Gezileriniz.\\nPlanınız.',
|
||||||
'login.description': 'Etkileşimli haritalar, bütçeler ve gerçek zamanlı senkronizasyonla gezileri işbirliği içinde planlayın.',
|
'login.description':
|
||||||
|
'Etkileşimli haritalar, bütçeler ve gerçek zamanlı senkronizasyonla gezileri işbirliği içinde planlayın.',
|
||||||
'login.features.maps': 'İnteraktif Haritalar',
|
'login.features.maps': 'İnteraktif Haritalar',
|
||||||
'login.features.mapsDesc': 'Google Rehber, rotalar ve kümeleme',
|
'login.features.mapsDesc': 'Google Rehber, rotalar ve kümeleme',
|
||||||
'login.features.realtime': 'Gerçek Zamanlı Senkronizasyon',
|
'login.features.realtime': 'Gerçek Zamanlı Senkronizasyon',
|
||||||
@@ -15,12 +17,15 @@ const login: TranslationStrings = {
|
|||||||
'login.features.packing': 'Paketleme Listeleri',
|
'login.features.packing': 'Paketleme Listeleri',
|
||||||
'login.features.packingDesc': 'Kategoriler, ilerleme ve öneriler',
|
'login.features.packingDesc': 'Kategoriler, ilerleme ve öneriler',
|
||||||
'login.features.bookings': 'Rezervasyonlar',
|
'login.features.bookings': 'Rezervasyonlar',
|
||||||
'login.features.bookingsDesc': 'Uçuşlar, oteller, restoranlar ve daha fazlası',
|
'login.features.bookingsDesc':
|
||||||
|
'Uçuşlar, oteller, restoranlar ve daha fazlası',
|
||||||
'login.features.files': 'Belgeler',
|
'login.features.files': 'Belgeler',
|
||||||
'login.features.filesDesc': 'Belgeleri yükleyin ve yönetin',
|
'login.features.filesDesc': 'Belgeleri yükleyin ve yönetin',
|
||||||
'login.features.routes': 'Akıllı Rotalar',
|
'login.features.routes': 'Akıllı Rotalar',
|
||||||
'login.features.routesDesc': 'Otomatik optimize etme ve Google Haritalar\'ı dışa aktarma',
|
'login.features.routesDesc':
|
||||||
'login.selfHosted': 'Kendi kendine barındırılan \\u00B7 Açık Kaynak \\u00B7 Verileriniz size ait kalır',
|
"Otomatik optimize etme ve Google Haritalar'ı dışa aktarma",
|
||||||
|
'login.selfHosted':
|
||||||
|
'Kendi kendine barındırılan \\u00B7 Açık Kaynak \\u00B7 Verileriniz size ait kalır',
|
||||||
'login.title': 'Oturum Aç',
|
'login.title': 'Oturum Aç',
|
||||||
'login.subtitle': 'Tekrar hoş geldiniz',
|
'login.subtitle': 'Tekrar hoş geldiniz',
|
||||||
'login.signingIn': 'Oturum açılıyor…',
|
'login.signingIn': 'Oturum açılıyor…',
|
||||||
@@ -37,20 +42,24 @@ const login: TranslationStrings = {
|
|||||||
'login.register': 'Kayıt olmak',
|
'login.register': 'Kayıt olmak',
|
||||||
'login.emailPlaceholder': 'sizin@e-postanız.com',
|
'login.emailPlaceholder': 'sizin@e-postanız.com',
|
||||||
'login.username': 'Kullanıcı adı',
|
'login.username': 'Kullanıcı adı',
|
||||||
'login.oidc.registrationDisabled': 'Kayıt devre dışı bırakıldı. Yöneticinizle iletişime geçin.',
|
'login.oidc.registrationDisabled':
|
||||||
|
'Kayıt devre dışı bırakıldı. Yöneticinizle iletişime geçin.',
|
||||||
'login.oidc.noEmail': 'Sağlayıcıdan e-posta alınmadı.',
|
'login.oidc.noEmail': 'Sağlayıcıdan e-posta alınmadı.',
|
||||||
'login.oidc.tokenFailed': 'Kimlik doğrulama başarısız oldu.',
|
'login.oidc.tokenFailed': 'Kimlik doğrulama başarısız oldu.',
|
||||||
'login.oidc.invalidState': 'Geçersiz oturum. Lütfen tekrar deneyin.',
|
'login.oidc.invalidState': 'Geçersiz oturum. Lütfen tekrar deneyin.',
|
||||||
'login.demoFailed': 'Demo girişi başarısız oldu',
|
'login.demoFailed': 'Demo girişi başarısız oldu',
|
||||||
'login.oidcSignIn': '{name} ile oturum açın',
|
'login.oidcSignIn': '{name} ile oturum açın',
|
||||||
'login.oidcOnly': 'Parola kimlik doğrulaması devre dışı. Lütfen SSO sağlayıcınızı kullanarak oturum açın.',
|
'login.oidcOnly':
|
||||||
'login.oidcLoggedOut': 'Çıkış yaptınız. SSO sağlayıcınızı kullanarak tekrar oturum açın.',
|
'Parola kimlik doğrulaması devre dışı. Lütfen SSO sağlayıcınızı kullanarak oturum açın.',
|
||||||
|
'login.oidcLoggedOut':
|
||||||
|
'Çıkış yaptınız. SSO sağlayıcınızı kullanarak tekrar oturum açın.',
|
||||||
'login.demoHint': 'Demoyu deneyin; kayıt olmanıza gerek yok',
|
'login.demoHint': 'Demoyu deneyin; kayıt olmanıza gerek yok',
|
||||||
'login.mfaTitle': 'İki faktörlü kimlik doğrulama',
|
'login.mfaTitle': 'İki faktörlü kimlik doğrulama',
|
||||||
'login.mfaSubtitle': 'Kimlik doğrulayıcı uygulamanızdan 6 haneli kodu girin.',
|
'login.mfaSubtitle': 'Kimlik doğrulayıcı uygulamanızdan 6 haneli kodu girin.',
|
||||||
'login.mfaCodeLabel': 'Doğrulama kodu',
|
'login.mfaCodeLabel': 'Doğrulama kodu',
|
||||||
'login.mfaCodeRequired': 'Kimlik doğrulayıcı uygulamanızdan kodu girin.',
|
'login.mfaCodeRequired': 'Kimlik doğrulayıcı uygulamanızdan kodu girin.',
|
||||||
'login.mfaHint': 'Google Authenticator\'ı, Authy\'yi veya başka bir TOTP uygulamasını açın.',
|
'login.mfaHint':
|
||||||
|
"Google Authenticator'ı, Authy'yi veya başka bir TOTP uygulamasını açın.",
|
||||||
'login.mfaBack': '← Oturum açmaya geri dön',
|
'login.mfaBack': '← Oturum açmaya geri dön',
|
||||||
'login.mfaVerify': 'Doğrula',
|
'login.mfaVerify': 'Doğrula',
|
||||||
'login.invalidInviteLink': 'Geçersiz veya süresi dolmuş davet bağlantısı',
|
'login.invalidInviteLink': 'Geçersiz veya süresi dolmuş davet bağlantısı',
|
||||||
@@ -63,7 +72,8 @@ const login: TranslationStrings = {
|
|||||||
"Enter the email address you signed up with. If an account exists, we'll send a reset link.",
|
"Enter the email address you signed up with. If an account exists, we'll send a reset link.",
|
||||||
'login.forgotPasswordSubmit': 'Sıfırlama bağlantısını gönder',
|
'login.forgotPasswordSubmit': 'Sıfırlama bağlantısını gönder',
|
||||||
'login.forgotPasswordSentTitle': 'E-postanızı kontrol edin',
|
'login.forgotPasswordSentTitle': 'E-postanızı kontrol edin',
|
||||||
'login.forgotPasswordSentBody': 'Söz konusu e-posta için bir hesap mevcutsa sıfırlama bağlantısı yolda olacaktır. 60 dakika içinde sona erer.',
|
'login.forgotPasswordSentBody':
|
||||||
|
'Söz konusu e-posta için bir hesap mevcutsa sıfırlama bağlantısı yolda olacaktır. 60 dakika içinde sona erer.',
|
||||||
'login.forgotPasswordSmtpHintOff':
|
'login.forgotPasswordSmtpHintOff':
|
||||||
"Heads up: your administrator hasn't configured SMTP, so the reset link will be written to the server console instead of being emailed.",
|
"Heads up: your administrator hasn't configured SMTP, so the reset link will be written to the server console instead of being emailed.",
|
||||||
'login.backToLogin': 'Oturum açmak için geri dön',
|
'login.backToLogin': 'Oturum açmak için geri dön',
|
||||||
@@ -72,14 +82,19 @@ const login: TranslationStrings = {
|
|||||||
'login.passwordsDontMatch': 'Şifreler eşleşmiyor',
|
'login.passwordsDontMatch': 'Şifreler eşleşmiyor',
|
||||||
'login.mfaCode': '2FA kodu',
|
'login.mfaCode': '2FA kodu',
|
||||||
'login.resetPasswordTitle': 'Yeni bir şifre belirleyin',
|
'login.resetPasswordTitle': 'Yeni bir şifre belirleyin',
|
||||||
'login.resetPasswordBody': 'Daha önce burada kullanmadığınız güçlü bir şifre seçin. Minimum 8 karakter.',
|
'login.resetPasswordBody':
|
||||||
'login.resetPasswordMfaBody': 'Sıfırlamayı tamamlamak için 2FA kodunuzu veya yedek kodu girin.',
|
'Daha önce burada kullanmadığınız güçlü bir şifre seçin. Minimum 8 karakter.',
|
||||||
|
'login.resetPasswordMfaBody':
|
||||||
|
'Sıfırlamayı tamamlamak için 2FA kodunuzu veya yedek kodu girin.',
|
||||||
'login.resetPasswordSubmit': 'Şifreyi sıfırla',
|
'login.resetPasswordSubmit': 'Şifreyi sıfırla',
|
||||||
'login.resetPasswordVerify': 'Doğrula ve sıfırla',
|
'login.resetPasswordVerify': 'Doğrula ve sıfırla',
|
||||||
'login.resetPasswordSuccessTitle': 'Şifre güncellendi',
|
'login.resetPasswordSuccessTitle': 'Şifre güncellendi',
|
||||||
'login.resetPasswordSuccessBody': 'Artık yeni şifrenizle giriş yapabilirsiniz.',
|
'login.resetPasswordSuccessBody':
|
||||||
|
'Artık yeni şifrenizle giriş yapabilirsiniz.',
|
||||||
'login.resetPasswordInvalidLink': 'Geçersiz sıfırlama bağlantısı',
|
'login.resetPasswordInvalidLink': 'Geçersiz sıfırlama bağlantısı',
|
||||||
'login.resetPasswordInvalidLinkBody': 'Bu bağlantı eksik veya bozuk. Devam etmek için yeni bir tane isteyin.',
|
'login.resetPasswordInvalidLinkBody':
|
||||||
'login.resetPasswordFailed': 'Sıfırlama başarısız oldu. Bağlantının süresi dolmuş olabilir.',
|
'Bu bağlantı eksik veya bozuk. Devam etmek için yeni bir tane isteyin.',
|
||||||
|
'login.resetPasswordFailed':
|
||||||
|
'Sıfırlama başarısız oldu. Bağlantının süresi dolmuş olabilir.',
|
||||||
};
|
};
|
||||||
export default login;
|
export default login;
|
||||||
|
|||||||
@@ -13,7 +13,8 @@ const members: TranslationStrings = {
|
|||||||
'members.owner': 'Sahip',
|
'members.owner': 'Sahip',
|
||||||
'members.leaveTrip': 'Seyahatten ayrıl',
|
'members.leaveTrip': 'Seyahatten ayrıl',
|
||||||
'members.removeAccess': 'Erişimi kaldır',
|
'members.removeAccess': 'Erişimi kaldır',
|
||||||
'members.confirmLeave': 'Seyahatten ayrılmak İstiyor musunuz? Erişiminizi kaybedersiniz.',
|
'members.confirmLeave':
|
||||||
|
'Seyahatten ayrılmak İstiyor musunuz? Erişiminizi kaybedersiniz.',
|
||||||
'members.confirmRemove': 'Bu kullanıcının erişimi kaldırılsın mı?',
|
'members.confirmRemove': 'Bu kullanıcının erişimi kaldırılsın mı?',
|
||||||
'members.loadError': 'Üyeler yüklenemedi',
|
'members.loadError': 'Üyeler yüklenemedi',
|
||||||
'members.added': 'eklendi',
|
'members.added': 'eklendi',
|
||||||
|
|||||||
@@ -3,8 +3,10 @@ import type { TranslationStrings } from '../types';
|
|||||||
const memories: TranslationStrings = {
|
const memories: TranslationStrings = {
|
||||||
'memories.title': 'Fotoğraflar',
|
'memories.title': 'Fotoğraflar',
|
||||||
'memories.notConnected': '{provider_name} bağlı değil',
|
'memories.notConnected': '{provider_name} bağlı değil',
|
||||||
'memories.notConnectedHint': 'Bu seyahate fotoğraf eklemek için Ayarlar\'dan {provider_name} örneğinizi bağlayın.',
|
'memories.notConnectedHint':
|
||||||
'memories.notConnectedMultipleHint': 'Bu seyahate fotoğraf eklemek için Ayarlar\'dan şu fotoğraf sağlayıcılarından birini bağlayın: {provider_names}',
|
"Bu seyahate fotoğraf eklemek için Ayarlar'dan {provider_name} örneğinizi bağlayın.",
|
||||||
|
'memories.notConnectedMultipleHint':
|
||||||
|
"Bu seyahate fotoğraf eklemek için Ayarlar'dan şu fotoğraf sağlayıcılarından birini bağlayın: {provider_names}",
|
||||||
'memories.noDates': 'Fotoğrafları yüklemek için seyahatinize tarih ekleyin.',
|
'memories.noDates': 'Fotoğrafları yüklemek için seyahatinize tarih ekleyin.',
|
||||||
'memories.noPhotos': 'Fotoğraf bulunamadı',
|
'memories.noPhotos': 'Fotoğraf bulunamadı',
|
||||||
'memories.noPhotosHint':
|
'memories.noPhotosHint':
|
||||||
@@ -16,14 +18,16 @@ const memories: TranslationStrings = {
|
|||||||
'memories.reviewTitle': 'Fotoğraflarınızı gözden geçirin',
|
'memories.reviewTitle': 'Fotoğraflarınızı gözden geçirin',
|
||||||
'memories.reviewHint': 'Paylaşımdan hariç tutmak için fotoğraflara tıklayın.',
|
'memories.reviewHint': 'Paylaşımdan hariç tutmak için fotoğraflara tıklayın.',
|
||||||
'memories.shareCount': '{count} Fotoğraf paylaş',
|
'memories.shareCount': '{count} Fotoğraf paylaş',
|
||||||
'memories.providerUrl': 'Sunucu URL\'si',
|
'memories.providerUrl': "Sunucu URL'si",
|
||||||
'memories.providerApiKey': 'API Anahtarı',
|
'memories.providerApiKey': 'API Anahtarı',
|
||||||
'memories.providerUsername': 'Kullanıcı adı',
|
'memories.providerUsername': 'Kullanıcı adı',
|
||||||
'memories.providerPassword': 'Şifre',
|
'memories.providerPassword': 'Şifre',
|
||||||
'memories.providerOTP': 'MFA kodu (etkinse)',
|
'memories.providerOTP': 'MFA kodu (etkinse)',
|
||||||
'memories.skipSSLVerification': 'SSL Sertifika doğrulamasını atla',
|
'memories.skipSSLVerification': 'SSL Sertifika doğrulamasını atla',
|
||||||
'memories.immichAutoUpload': 'Journey fotoğraflarını yüklerken Immich\'e yansıt',
|
'memories.immichAutoUpload':
|
||||||
'memories.providerUrlHintSynology': 'URL\'ye Photos uygulama yolunu ekleyin, örn. https://nas:5001/photo',
|
"Journey fotoğraflarını yüklerken Immich'e yansıt",
|
||||||
|
'memories.providerUrlHintSynology':
|
||||||
|
"URL'ye Photos uygulama yolunu ekleyin, örn. https://nas:5001/photo",
|
||||||
'memories.testConnection': 'Bağlantıyı test et',
|
'memories.testConnection': 'Bağlantıyı test et',
|
||||||
'memories.testShort': 'Dene',
|
'memories.testShort': 'Dene',
|
||||||
'memories.testFirst': 'Önce bağlantıyı test edin',
|
'memories.testFirst': 'Önce bağlantıyı test edin',
|
||||||
@@ -32,7 +36,8 @@ const memories: TranslationStrings = {
|
|||||||
'memories.connectionSuccess': '{provider_name} ile bağlandı',
|
'memories.connectionSuccess': '{provider_name} ile bağlandı',
|
||||||
'memories.connectionError': '{provider_name} ile bağlanılamadı',
|
'memories.connectionError': '{provider_name} ile bağlanılamadı',
|
||||||
'memories.saved': '{provider_name} ayarları kaydedildi',
|
'memories.saved': '{provider_name} ayarları kaydedildi',
|
||||||
'memories.providerDisconnectedBanner': '{provider_name} Bağlantınız kesildi. Fotoğrafları görmek için Ayarlar\'dan yeniden bağlanın.',
|
'memories.providerDisconnectedBanner':
|
||||||
|
"{provider_name} Bağlantınız kesildi. Fotoğrafları görmek için Ayarlar'dan yeniden bağlanın.",
|
||||||
'memories.saveError': '{provider_name} Ayarları kaydedilemedi',
|
'memories.saveError': '{provider_name} Ayarları kaydedilemedi',
|
||||||
'memories.addPhotos': 'Fotoğraf ekle',
|
'memories.addPhotos': 'Fotoğraf ekle',
|
||||||
'memories.linkAlbum': 'Albüm Bağla',
|
'memories.linkAlbum': 'Albüm Bağla',
|
||||||
@@ -56,7 +61,8 @@ const memories: TranslationStrings = {
|
|||||||
'memories.tripDates': 'Seyahat tarihleri',
|
'memories.tripDates': 'Seyahat tarihleri',
|
||||||
'memories.allPhotos': 'Tüm fotoğraflar',
|
'memories.allPhotos': 'Tüm fotoğraflar',
|
||||||
'memories.confirmShareTitle': 'Seyahat üyeleriyle paylaşılsın mı?',
|
'memories.confirmShareTitle': 'Seyahat üyeleriyle paylaşılsın mı?',
|
||||||
'memories.confirmShareHint': '{count} fotoğraf bu seyahatin tüm üyelerine görünür olacak. Daha sonra tek tek gizli yapabilirsiniz.',
|
'memories.confirmShareHint':
|
||||||
|
'{count} fotoğraf bu seyahatin tüm üyelerine görünür olacak. Daha sonra tek tek gizli yapabilirsiniz.',
|
||||||
'memories.confirmShareButton': 'Fotoğrafları paylaş',
|
'memories.confirmShareButton': 'Fotoğrafları paylaş',
|
||||||
'memories.error.loadAlbums': 'Albümler yüklenemedi',
|
'memories.error.loadAlbums': 'Albümler yüklenemedi',
|
||||||
'memories.error.linkAlbum': 'Albüm bağlanamadı',
|
'memories.error.linkAlbum': 'Albüm bağlanamadı',
|
||||||
@@ -66,8 +72,10 @@ const memories: TranslationStrings = {
|
|||||||
'memories.error.addPhotos': 'Fotoğraflar eklenemedi',
|
'memories.error.addPhotos': 'Fotoğraflar eklenemedi',
|
||||||
'memories.error.removePhoto': 'Fotoğraf kaldırılamadı',
|
'memories.error.removePhoto': 'Fotoğraf kaldırılamadı',
|
||||||
'memories.error.toggleSharing': 'Paylaşım güncellenemedi',
|
'memories.error.toggleSharing': 'Paylaşım güncellenemedi',
|
||||||
'memories.saveRouteNotConfigured': 'Bu sağlayıcı için kaydetme yolu yapılandırılmamış',
|
'memories.saveRouteNotConfigured':
|
||||||
'memories.testRouteNotConfigured': 'Bu sağlayıcı için test yolu yapılandırılmamış',
|
'Bu sağlayıcı için kaydetme yolu yapılandırılmamış',
|
||||||
|
'memories.testRouteNotConfigured':
|
||||||
|
'Bu sağlayıcı için test yolu yapılandırılmamış',
|
||||||
'memories.fillRequiredFields': 'Lütfen tüm zorunlu alanları doldurun',
|
'memories.fillRequiredFields': 'Lütfen tüm zorunlu alanları doldurun',
|
||||||
};
|
};
|
||||||
export default memories;
|
export default memories;
|
||||||
|
|||||||
@@ -8,26 +8,30 @@ const notif: TranslationStrings = {
|
|||||||
'notif.trip_invite.title': 'Seyahat Daveti',
|
'notif.trip_invite.title': 'Seyahat Daveti',
|
||||||
'notif.trip_invite.text': '{actor} sizi {trip} seyahatine davet etti',
|
'notif.trip_invite.text': '{actor} sizi {trip} seyahatine davet etti',
|
||||||
'notif.booking_change.title': 'Rezervasyon Güncellendi',
|
'notif.booking_change.title': 'Rezervasyon Güncellendi',
|
||||||
'notif.booking_change.text': '{actor}, {trip} içindeki bir rezervasyonu güncelledi',
|
'notif.booking_change.text':
|
||||||
|
'{actor}, {trip} içindeki bir rezervasyonu güncelledi',
|
||||||
'notif.trip_reminder.title': 'Seyahat Hatırlatıcısı',
|
'notif.trip_reminder.title': 'Seyahat Hatırlatıcısı',
|
||||||
'notif.trip_reminder.text': '{trip} Seyahatiniz yaklaşıyor!',
|
'notif.trip_reminder.text': '{trip} Seyahatiniz yaklaşıyor!',
|
||||||
'notif.todo_due.title': 'Yapılacak vadesi',
|
'notif.todo_due.title': 'Yapılacak vadesi',
|
||||||
'notif.todo_due.text': '{trip} içindeki {todo} — son tarih: {due}',
|
'notif.todo_due.text': '{trip} içindeki {todo} — son tarih: {due}',
|
||||||
'notif.vacay_invite.title': 'Vacay Birleştirme Daveti',
|
'notif.vacay_invite.title': 'Vacay Birleştirme Daveti',
|
||||||
'notif.vacay_invite.text': '{actor} tatil planlarını birleştirmeniz için sizi davet etti',
|
'notif.vacay_invite.text':
|
||||||
|
'{actor} tatil planlarını birleştirmeniz için sizi davet etti',
|
||||||
'notif.photos_shared.title': 'Fotoğraflar Paylaşıldı',
|
'notif.photos_shared.title': 'Fotoğraflar Paylaşıldı',
|
||||||
'notif.photos_shared.text': '{actor}, {trip} içinde {count} fotoğraf paylaştı',
|
'notif.photos_shared.text':
|
||||||
|
'{actor}, {trip} içinde {count} fotoğraf paylaştı',
|
||||||
'notif.collab_message.title': 'Yeni Mesaj',
|
'notif.collab_message.title': 'Yeni Mesaj',
|
||||||
'notif.collab_message.text': '{actor}, {trip} içinde mesaj gönderdi',
|
'notif.collab_message.text': '{actor}, {trip} içinde mesaj gönderdi',
|
||||||
'notif.packing_tagged.title': 'Paket listesi ataması',
|
'notif.packing_tagged.title': 'Paket listesi ataması',
|
||||||
'notif.packing_tagged.text': '{actor} sizi {trip} içinde {category} kategorisine atadı',
|
'notif.packing_tagged.text':
|
||||||
|
'{actor} sizi {trip} içinde {category} kategorisine atadı',
|
||||||
'notif.version_available.title': 'Yeni Sürüm Mevcut',
|
'notif.version_available.title': 'Yeni Sürüm Mevcut',
|
||||||
'notif.version_available.text': 'TREK {version} artık kullanılabilir',
|
'notif.version_available.text': 'TREK {version} artık kullanılabilir',
|
||||||
'notif.action.view_trip': 'Seyahati Görüntüle',
|
'notif.action.view_trip': 'Seyahati Görüntüle',
|
||||||
'notif.action.view_collab': 'Mesajları Görüntüle',
|
'notif.action.view_collab': 'Mesajları Görüntüle',
|
||||||
'notif.action.view_packing': 'Paket listesini görüntüle',
|
'notif.action.view_packing': 'Paket listesini görüntüle',
|
||||||
'notif.action.view_photos': 'Fotoğrafları Görüntüle',
|
'notif.action.view_photos': 'Fotoğrafları Görüntüle',
|
||||||
'notif.action.view_vacay': 'Vacay\'ı Görüntüle',
|
'notif.action.view_vacay': "Vacay'ı Görüntüle",
|
||||||
'notif.action.view_admin': 'Yöneticiye git',
|
'notif.action.view_admin': 'Yöneticiye git',
|
||||||
'notif.action.view': 'Görüntüle',
|
'notif.action.view': 'Görüntüle',
|
||||||
'notif.action.accept': 'Kabul et',
|
'notif.action.accept': 'Kabul et',
|
||||||
@@ -35,6 +39,7 @@ const notif: TranslationStrings = {
|
|||||||
'notif.generic.title': 'Bildirim',
|
'notif.generic.title': 'Bildirim',
|
||||||
'notif.generic.text': 'Yeni bir bildiriminiz var',
|
'notif.generic.text': 'Yeni bir bildiriminiz var',
|
||||||
'notif.dev.unknown_event.title': '[GEL] Bilinmeyen Olay',
|
'notif.dev.unknown_event.title': '[GEL] Bilinmeyen Olay',
|
||||||
'notif.dev.unknown_event.text': '"{event}" olay türü EVENT_NOTIFICATION_CONFIG içinde kayıtlı değil',
|
'notif.dev.unknown_event.text':
|
||||||
|
'"{event}" olay türü EVENT_NOTIFICATION_CONFIG içinde kayıtlı değil',
|
||||||
};
|
};
|
||||||
export default notif;
|
export default notif;
|
||||||
|
|||||||
@@ -13,22 +13,26 @@ const notifications: TranslationStrings = {
|
|||||||
'notifications.markUnread': 'Okunmadı işaretle',
|
'notifications.markUnread': 'Okunmadı işaretle',
|
||||||
'notifications.delete': 'Sil',
|
'notifications.delete': 'Sil',
|
||||||
'notifications.system': 'Sistem',
|
'notifications.system': 'Sistem',
|
||||||
'notifications.synologySessionCleared.title': 'Synology Photos bağlantısı kesildi',
|
'notifications.synologySessionCleared.title':
|
||||||
'notifications.synologySessionCleared.text': 'Sunucunuz veya hesabınız değişti — bağlantıyı test etmek için Ayarlar\'a gidin.',
|
'Synology Photos bağlantısı kesildi',
|
||||||
|
'notifications.synologySessionCleared.text':
|
||||||
|
"Sunucunuz veya hesabınız değişti — bağlantıyı test etmek için Ayarlar'a gidin.",
|
||||||
'notifications.versionAvailable.title': 'Güncelleme Mevcut',
|
'notifications.versionAvailable.title': 'Güncelleme Mevcut',
|
||||||
'notifications.versionAvailable.text': 'TREK {version} artık kullanılabilir.',
|
'notifications.versionAvailable.text': 'TREK {version} artık kullanılabilir.',
|
||||||
'notifications.versionAvailable.button': 'Ayrıntıları Görüntüle',
|
'notifications.versionAvailable.button': 'Ayrıntıları Görüntüle',
|
||||||
'notifications.test.title': '{actor} Kaynaklı test bildirimi',
|
'notifications.test.title': '{actor} Kaynaklı test bildirimi',
|
||||||
'notifications.test.text': 'Bu basit bir test bildirimidir.',
|
'notifications.test.text': 'Bu basit bir test bildirimidir.',
|
||||||
'notifications.test.booleanTitle': '{actor} onayınızı istiyor',
|
'notifications.test.booleanTitle': '{actor} onayınızı istiyor',
|
||||||
'notifications.test.booleanText': 'Bu bir test boolean bildirimidir. Aşağıdan bir eylem seçin.',
|
'notifications.test.booleanText':
|
||||||
|
'Bu bir test boolean bildirimidir. Aşağıdan bir eylem seçin.',
|
||||||
'notifications.test.accept': 'Onayla',
|
'notifications.test.accept': 'Onayla',
|
||||||
'notifications.test.decline': 'Reddet',
|
'notifications.test.decline': 'Reddet',
|
||||||
'notifications.test.navigateTitle': 'Bir şeye göz atın',
|
'notifications.test.navigateTitle': 'Bir şeye göz atın',
|
||||||
'notifications.test.navigateText': 'Bu bir test navigasyon bildirimidir.',
|
'notifications.test.navigateText': 'Bu bir test navigasyon bildirimidir.',
|
||||||
'notifications.test.goThere': 'Git',
|
'notifications.test.goThere': 'Git',
|
||||||
'notifications.test.adminTitle': 'Yönetici yayını',
|
'notifications.test.adminTitle': 'Yönetici yayını',
|
||||||
'notifications.test.adminText': '{actor} tüm yöneticilere test bildirimi gönderdi.',
|
'notifications.test.adminText':
|
||||||
|
'{actor} tüm yöneticilere test bildirimi gönderdi.',
|
||||||
'notifications.test.tripTitle': '{actor} seyahatinizde bir şey paylaştı',
|
'notifications.test.tripTitle': '{actor} seyahatinizde bir şey paylaştı',
|
||||||
'notifications.test.tripText': '"{trip}" seyahati için test bildirimi.',
|
'notifications.test.tripText': '"{trip}" seyahati için test bildirimi.',
|
||||||
};
|
};
|
||||||
|
|||||||
+58
-31
@@ -15,58 +15,85 @@ const oauth: TranslationStrings = {
|
|||||||
'oauth.scope.group.weather': 'Hava durumu',
|
'oauth.scope.group.weather': 'Hava durumu',
|
||||||
'oauth.scope.group.journey': 'Seyahat',
|
'oauth.scope.group.journey': 'Seyahat',
|
||||||
'oauth.scope.trips:read.label': 'Seyahatleri ve programları görüntüle',
|
'oauth.scope.trips:read.label': 'Seyahatleri ve programları görüntüle',
|
||||||
'oauth.scope.trips:read.description': 'Seyahatleri, günleri, gün notlarını ve üyeleri oku',
|
'oauth.scope.trips:read.description':
|
||||||
|
'Seyahatleri, günleri, gün notlarını ve üyeleri oku',
|
||||||
'oauth.scope.trips:write.label': 'Seyahatleri ve programları düzenle',
|
'oauth.scope.trips:write.label': 'Seyahatleri ve programları düzenle',
|
||||||
'oauth.scope.trips:write.description': 'Seyahatleri, günleri, notları oluştur ve güncelle; üyeleri yönet',
|
'oauth.scope.trips:write.description':
|
||||||
|
'Seyahatleri, günleri, notları oluştur ve güncelle; üyeleri yönet',
|
||||||
'oauth.scope.trips:delete.label': 'Seyahatleri sil',
|
'oauth.scope.trips:delete.label': 'Seyahatleri sil',
|
||||||
'oauth.scope.trips:delete.description': 'Tüm seyahatleri kalıcı olarak sil — bu işlem geri alınamaz',
|
'oauth.scope.trips:delete.description':
|
||||||
|
'Tüm seyahatleri kalıcı olarak sil — bu işlem geri alınamaz',
|
||||||
'oauth.scope.trips:share.label': 'Paylaşım bağlantılarını yönet',
|
'oauth.scope.trips:share.label': 'Paylaşım bağlantılarını yönet',
|
||||||
'oauth.scope.trips:share.description': 'Seyahatler için herkese açık paylaşım bağlantıları oluştur, güncelle ve iptal et',
|
'oauth.scope.trips:share.description':
|
||||||
|
'Seyahatler için herkese açık paylaşım bağlantıları oluştur, güncelle ve iptal et',
|
||||||
'oauth.scope.places:read.label': 'Yerleri ve harita verilerini görüntüle',
|
'oauth.scope.places:read.label': 'Yerleri ve harita verilerini görüntüle',
|
||||||
'oauth.scope.places:read.description': 'Yerleri, gün atamalarını, etiketleri ve kategorileri oku',
|
'oauth.scope.places:read.description':
|
||||||
|
'Yerleri, gün atamalarını, etiketleri ve kategorileri oku',
|
||||||
'oauth.scope.places:write.label': 'Yerleri yönet',
|
'oauth.scope.places:write.label': 'Yerleri yönet',
|
||||||
'oauth.scope.places:write.description': 'Yerleri, atamaları ve etiketleri oluştur, güncelle ve sil',
|
'oauth.scope.places:write.description':
|
||||||
'oauth.scope.atlas:read.label': 'Atlas\'ı Görüntüle',
|
'Yerleri, atamaları ve etiketleri oluştur, güncelle ve sil',
|
||||||
'oauth.scope.atlas:read.description': 'Ziyaret edilen ülkeleri, bölgeleri ve yapılacaklar listesini oku',
|
'oauth.scope.atlas:read.label': "Atlas'ı Görüntüle",
|
||||||
'oauth.scope.atlas:write.label': 'Atlas\'ı Yönet',
|
'oauth.scope.atlas:read.description':
|
||||||
'oauth.scope.atlas:write.description': 'Ülke ve bölgeleri ziyaret edildi olarak işaretle, yapılacaklar listesini yönet',
|
'Ziyaret edilen ülkeleri, bölgeleri ve yapılacaklar listesini oku',
|
||||||
|
'oauth.scope.atlas:write.label': "Atlas'ı Yönet",
|
||||||
|
'oauth.scope.atlas:write.description':
|
||||||
|
'Ülke ve bölgeleri ziyaret edildi olarak işaretle, yapılacaklar listesini yönet',
|
||||||
'oauth.scope.packing:read.label': 'Paket listelerini görüntüle',
|
'oauth.scope.packing:read.label': 'Paket listelerini görüntüle',
|
||||||
'oauth.scope.packing:read.description': 'Paket öğelerini, çantaları ve kategori atamalarını oku',
|
'oauth.scope.packing:read.description':
|
||||||
|
'Paket öğelerini, çantaları ve kategori atamalarını oku',
|
||||||
'oauth.scope.packing:write.label': 'Paket listelerini yönet',
|
'oauth.scope.packing:write.label': 'Paket listelerini yönet',
|
||||||
'oauth.scope.packing:write.description': 'Paket öğelerini ve çantaları ekle, güncelle, sil, işaretle ve yeniden sırala',
|
'oauth.scope.packing:write.description':
|
||||||
|
'Paket öğelerini ve çantaları ekle, güncelle, sil, işaretle ve yeniden sırala',
|
||||||
'oauth.scope.todos:read.label': 'Yapılacak listelerini görüntüle',
|
'oauth.scope.todos:read.label': 'Yapılacak listelerini görüntüle',
|
||||||
'oauth.scope.todos:read.description': 'Seyahat yapılacak öğelerini ve kategori atamalarını oku',
|
'oauth.scope.todos:read.description':
|
||||||
|
'Seyahat yapılacak öğelerini ve kategori atamalarını oku',
|
||||||
'oauth.scope.todos:write.label': 'Yapılacak listelerini yönet',
|
'oauth.scope.todos:write.label': 'Yapılacak listelerini yönet',
|
||||||
'oauth.scope.todos:write.description': 'Yapılacak öğeleri oluştur, güncelle, işaretle, sil ve yeniden sırala',
|
'oauth.scope.todos:write.description':
|
||||||
|
'Yapılacak öğeleri oluştur, güncelle, işaretle, sil ve yeniden sırala',
|
||||||
'oauth.scope.budget:read.label': 'Bütçeyi görüntüle',
|
'oauth.scope.budget:read.label': 'Bütçeyi görüntüle',
|
||||||
'oauth.scope.budget:read.description': 'Bütçe kalemlerini ve harcama dökümünü oku',
|
'oauth.scope.budget:read.description':
|
||||||
|
'Bütçe kalemlerini ve harcama dökümünü oku',
|
||||||
'oauth.scope.budget:write.label': 'Bütçeyi yönet',
|
'oauth.scope.budget:write.label': 'Bütçeyi yönet',
|
||||||
'oauth.scope.budget:write.description': 'Bütçe kalemlerini oluştur, güncelle ve sil',
|
'oauth.scope.budget:write.description':
|
||||||
|
'Bütçe kalemlerini oluştur, güncelle ve sil',
|
||||||
'oauth.scope.reservations:read.label': 'Rezervasyonları görüntüle',
|
'oauth.scope.reservations:read.label': 'Rezervasyonları görüntüle',
|
||||||
'oauth.scope.reservations:read.description': 'Rezervasyonları ve konaklama ayrıntılarını oku',
|
'oauth.scope.reservations:read.description':
|
||||||
|
'Rezervasyonları ve konaklama ayrıntılarını oku',
|
||||||
'oauth.scope.reservations:write.label': 'Rezervasyonları yönet',
|
'oauth.scope.reservations:write.label': 'Rezervasyonları yönet',
|
||||||
'oauth.scope.reservations:write.description': 'Rezervasyonları oluştur, güncelle, sil ve yeniden sırala',
|
'oauth.scope.reservations:write.description':
|
||||||
|
'Rezervasyonları oluştur, güncelle, sil ve yeniden sırala',
|
||||||
'oauth.scope.collab:read.label': 'İşbirliğini görüntüle',
|
'oauth.scope.collab:read.label': 'İşbirliğini görüntüle',
|
||||||
'oauth.scope.collab:read.description': 'İşbirliği notlarını, anketleri ve mesajları oku',
|
'oauth.scope.collab:read.description':
|
||||||
|
'İşbirliği notlarını, anketleri ve mesajları oku',
|
||||||
'oauth.scope.collab:write.label': 'İşbirliğini yönet',
|
'oauth.scope.collab:write.label': 'İşbirliğini yönet',
|
||||||
'oauth.scope.collab:write.description': 'İşbirliği notlarını, anketleri ve mesajları oluştur, güncelle ve sil',
|
'oauth.scope.collab:write.description':
|
||||||
|
'İşbirliği notlarını, anketleri ve mesajları oluştur, güncelle ve sil',
|
||||||
'oauth.scope.notifications:read.label': 'Bildirimleri görüntüle',
|
'oauth.scope.notifications:read.label': 'Bildirimleri görüntüle',
|
||||||
'oauth.scope.notifications:read.description': 'Uygulama içi bildirimleri ve okunmamış sayıları oku',
|
'oauth.scope.notifications:read.description':
|
||||||
|
'Uygulama içi bildirimleri ve okunmamış sayıları oku',
|
||||||
'oauth.scope.notifications:write.label': 'Bildirimleri yönet',
|
'oauth.scope.notifications:write.label': 'Bildirimleri yönet',
|
||||||
'oauth.scope.notifications:write.description': 'Bildirimleri okundu işaretle ve yanıtla',
|
'oauth.scope.notifications:write.description':
|
||||||
|
'Bildirimleri okundu işaretle ve yanıtla',
|
||||||
'oauth.scope.vacay:read.label': 'Tatil planlarını görüntüle',
|
'oauth.scope.vacay:read.label': 'Tatil planlarını görüntüle',
|
||||||
'oauth.scope.vacay:read.description': 'Tatil planlama verilerini, kayıtları ve istatistikleri oku',
|
'oauth.scope.vacay:read.description':
|
||||||
|
'Tatil planlama verilerini, kayıtları ve istatistikleri oku',
|
||||||
'oauth.scope.vacay:write.label': 'Tatil planlarını yönet',
|
'oauth.scope.vacay:write.label': 'Tatil planlarını yönet',
|
||||||
'oauth.scope.vacay:write.description': 'Tatil kayıtlarını, resmi tatilleri ve ekip planlarını oluştur ve yönet',
|
'oauth.scope.vacay:write.description':
|
||||||
|
'Tatil kayıtlarını, resmi tatilleri ve ekip planlarını oluştur ve yönet',
|
||||||
'oauth.scope.geo:read.label': 'Haritalar ve coğrafi kodlama',
|
'oauth.scope.geo:read.label': 'Haritalar ve coğrafi kodlama',
|
||||||
'oauth.scope.geo:read.description': 'Konum ara, harita URL\'lerini çöz ve koordinatları ters coğrafi kodla',
|
'oauth.scope.geo:read.description':
|
||||||
|
"Konum ara, harita URL'lerini çöz ve koordinatları ters coğrafi kodla",
|
||||||
'oauth.scope.weather:read.label': 'Hava durumu tahminleri',
|
'oauth.scope.weather:read.label': 'Hava durumu tahminleri',
|
||||||
'oauth.scope.weather:read.description': 'Seyahat konumları ve tarihleri için hava durumu tahminlerini getir',
|
'oauth.scope.weather:read.description':
|
||||||
'oauth.scope.journey:read.label': 'Journey\'leri görüntüle',
|
'Seyahat konumları ve tarihleri için hava durumu tahminlerini getir',
|
||||||
'oauth.scope.journey:read.description': 'Journey\'leri, kayıtları ve katkıda bulunan listesini oku',
|
'oauth.scope.journey:read.label': "Journey'leri görüntüle",
|
||||||
'oauth.scope.journey:write.label': 'Journey\'leri yönet',
|
'oauth.scope.journey:read.description':
|
||||||
'oauth.scope.journey:write.description': 'Journey\'leri ve kayıtlarını oluştur, güncelle ve sil',
|
"Journey'leri, kayıtları ve katkıda bulunan listesini oku",
|
||||||
|
'oauth.scope.journey:write.label': "Journey'leri yönet",
|
||||||
|
'oauth.scope.journey:write.description':
|
||||||
|
"Journey'leri ve kayıtlarını oluştur, güncelle ve sil",
|
||||||
'oauth.scope.journey:share.label': 'Journey bağlantılarını yönet',
|
'oauth.scope.journey:share.label': 'Journey bağlantılarını yönet',
|
||||||
'oauth.scope.journey:share.description': 'Journey\'ler için herkese açık paylaşım bağlantıları oluştur, güncelle ve iptal et',
|
'oauth.scope.journey:share.description':
|
||||||
|
"Journey'ler için herkese açık paylaşım bağlantıları oluştur, güncelle ve iptal et",
|
||||||
};
|
};
|
||||||
export default oauth;
|
export default oauth;
|
||||||
|
|||||||
@@ -5,8 +5,10 @@ const packing: TranslationStrings = {
|
|||||||
'packing.empty': 'Paket listesi boş',
|
'packing.empty': 'Paket listesi boş',
|
||||||
'packing.import': 'İçe aktar',
|
'packing.import': 'İçe aktar',
|
||||||
'packing.importTitle': 'Paket listesini içe aktar',
|
'packing.importTitle': 'Paket listesini içe aktar',
|
||||||
'packing.importHint': 'Satır başına bir öğe. Biçim: Kategori, Ad, Ağırlık (g, isteğe bağlı), Çanta (isteğe bağlı), işaretli/işaretsiz (isteğe bağlı)',
|
'packing.importHint':
|
||||||
'packing.importPlaceholder': 'Hijyen, Diş fırçası\\nGiyim, Tişört, 200\\nBelgeler, Pasaport, , El bagajı\\nElektronik, Şarj cihazı, 50, Bavul, işaretli',
|
'Satır başına bir öğe. Biçim: Kategori, Ad, Ağırlık (g, isteğe bağlı), Çanta (isteğe bağlı), işaretli/işaretsiz (isteğe bağlı)',
|
||||||
|
'packing.importPlaceholder':
|
||||||
|
'Hijyen, Diş fırçası\\nGiyim, Tişört, 200\\nBelgeler, Pasaport, , El bagajı\\nElektronik, Şarj cihazı, 50, Bavul, işaretli',
|
||||||
'packing.importCsv': 'CSV/TXT Yükle',
|
'packing.importCsv': 'CSV/TXT Yükle',
|
||||||
'packing.importAction': '{count} Öğeyi içe aktar',
|
'packing.importAction': '{count} Öğeyi içe aktar',
|
||||||
'packing.importSuccess': '{count} öğe içe aktarıldı',
|
'packing.importSuccess': '{count} öğe içe aktarıldı',
|
||||||
@@ -49,8 +51,10 @@ const packing: TranslationStrings = {
|
|||||||
'packing.bagName': 'Çanta adı...',
|
'packing.bagName': 'Çanta adı...',
|
||||||
'packing.addBag': 'Çanta ekle',
|
'packing.addBag': 'Çanta ekle',
|
||||||
'packing.changeCategory': 'Kategoriyi Değiştir',
|
'packing.changeCategory': 'Kategoriyi Değiştir',
|
||||||
'packing.confirm.clearChecked': '{count} İşaretli öğeyi kaldırmak istediğinizden emin misiniz?',
|
'packing.confirm.clearChecked':
|
||||||
'packing.confirm.deleteCat': '"{name}" kategorisini {count} öğeyle birlikte silmek istediğinizden emin misiniz?',
|
'{count} İşaretli öğeyi kaldırmak istediğinizden emin misiniz?',
|
||||||
|
'packing.confirm.deleteCat':
|
||||||
|
'"{name}" kategorisini {count} öğeyle birlikte silmek istediğinizden emin misiniz?',
|
||||||
'packing.defaultCategory': 'Diğer',
|
'packing.defaultCategory': 'Diğer',
|
||||||
'packing.toast.saveError': 'Kaydedilemedi',
|
'packing.toast.saveError': 'Kaydedilemedi',
|
||||||
'packing.toast.deleteError': 'Silinemedi',
|
'packing.toast.deleteError': 'Silinemedi',
|
||||||
|
|||||||
+28
-14
@@ -2,7 +2,8 @@ import type { TranslationStrings } from '../types';
|
|||||||
|
|
||||||
const perm: TranslationStrings = {
|
const perm: TranslationStrings = {
|
||||||
'perm.title': 'İzin Ayarları',
|
'perm.title': 'İzin Ayarları',
|
||||||
'perm.subtitle': 'Uygulama genelinde kimlerin hangi işlemleri yapabileceğini belirleyin',
|
'perm.subtitle':
|
||||||
|
'Uygulama genelinde kimlerin hangi işlemleri yapabileceğini belirleyin',
|
||||||
'perm.saved': 'İzin ayarları kaydedildi',
|
'perm.saved': 'İzin ayarları kaydedildi',
|
||||||
'perm.resetDefaults': 'Varsayılanlara sıfırla',
|
'perm.resetDefaults': 'Varsayılanlara sıfırla',
|
||||||
'perm.customized': 'özelleştirildi',
|
'perm.customized': 'özelleştirildi',
|
||||||
@@ -32,20 +33,33 @@ const perm: TranslationStrings = {
|
|||||||
'perm.action.collab_edit': 'İşbirliği (notlar, anketler, sohbet)',
|
'perm.action.collab_edit': 'İşbirliği (notlar, anketler, sohbet)',
|
||||||
'perm.action.share_manage': 'Paylaşım bağlantılarını yönet',
|
'perm.action.share_manage': 'Paylaşım bağlantılarını yönet',
|
||||||
'perm.actionHint.trip_create': 'Kimler yeni seyahat oluşturabilir',
|
'perm.actionHint.trip_create': 'Kimler yeni seyahat oluşturabilir',
|
||||||
'perm.actionHint.trip_edit': 'Kimler seyahat adını, tarihlerini, açıklamasını ve para birimini değiştirebilir',
|
'perm.actionHint.trip_edit':
|
||||||
|
'Kimler seyahat adını, tarihlerini, açıklamasını ve para birimini değiştirebilir',
|
||||||
'perm.actionHint.trip_delete': 'Kimler bir seyahati kalıcı olarak silebilir',
|
'perm.actionHint.trip_delete': 'Kimler bir seyahati kalıcı olarak silebilir',
|
||||||
'perm.actionHint.trip_archive': 'Kimler seyahati arşivleyebilir veya geri alabilir',
|
'perm.actionHint.trip_archive':
|
||||||
'perm.actionHint.trip_cover_upload': 'Kimler kapak görseli yükleyebilir veya değiştirebilir',
|
'Kimler seyahati arşivleyebilir veya geri alabilir',
|
||||||
'perm.actionHint.member_manage': 'Kimler seyahat üyesi davet edebilir veya kaldırabilir',
|
'perm.actionHint.trip_cover_upload':
|
||||||
|
'Kimler kapak görseli yükleyebilir veya değiştirebilir',
|
||||||
|
'perm.actionHint.member_manage':
|
||||||
|
'Kimler seyahat üyesi davet edebilir veya kaldırabilir',
|
||||||
'perm.actionHint.file_upload': 'Kimler seyahate dosya yükleyebilir',
|
'perm.actionHint.file_upload': 'Kimler seyahate dosya yükleyebilir',
|
||||||
'perm.actionHint.file_edit': 'Kimler dosya açıklamalarını ve bağlantılarını düzenleyebilir',
|
'perm.actionHint.file_edit':
|
||||||
'perm.actionHint.file_delete': 'Kimler dosyaları çöp kutusuna taşıyabilir veya kalıcı silebilir',
|
'Kimler dosya açıklamalarını ve bağlantılarını düzenleyebilir',
|
||||||
'perm.actionHint.place_edit': 'Kimler yer ekleyebilir, düzenleyebilir veya silebilir',
|
'perm.actionHint.file_delete':
|
||||||
'perm.actionHint.day_edit': 'Kimler günleri, gün notlarını ve yer atamalarını düzenleyebilir',
|
'Kimler dosyaları çöp kutusuna taşıyabilir veya kalıcı silebilir',
|
||||||
'perm.actionHint.reservation_edit': 'Kimler rezervasyon oluşturabilir, düzenleyebilir veya silebilir',
|
'perm.actionHint.place_edit':
|
||||||
'perm.actionHint.budget_edit': 'Kimler bütçe kalemleri oluşturabilir, düzenleyebilir veya silebilir',
|
'Kimler yer ekleyebilir, düzenleyebilir veya silebilir',
|
||||||
'perm.actionHint.packing_edit': 'Kimler paket öğelerini ve çantaları yönetebilir',
|
'perm.actionHint.day_edit':
|
||||||
'perm.actionHint.collab_edit': 'Kimler not, anket oluşturabilir ve mesaj gönderebilir',
|
'Kimler günleri, gün notlarını ve yer atamalarını düzenleyebilir',
|
||||||
'perm.actionHint.share_manage': 'Kimler genel paylaşım bağlantısı oluşturabilir veya silebilir',
|
'perm.actionHint.reservation_edit':
|
||||||
|
'Kimler rezervasyon oluşturabilir, düzenleyebilir veya silebilir',
|
||||||
|
'perm.actionHint.budget_edit':
|
||||||
|
'Kimler bütçe kalemleri oluşturabilir, düzenleyebilir veya silebilir',
|
||||||
|
'perm.actionHint.packing_edit':
|
||||||
|
'Kimler paket öğelerini ve çantaları yönetebilir',
|
||||||
|
'perm.actionHint.collab_edit':
|
||||||
|
'Kimler not, anket oluşturabilir ve mesaj gönderebilir',
|
||||||
|
'perm.actionHint.share_manage':
|
||||||
|
'Kimler genel paylaşım bağlantısı oluşturabilir veya silebilir',
|
||||||
};
|
};
|
||||||
export default perm;
|
export default perm;
|
||||||
|
|||||||
@@ -4,14 +4,18 @@ const places: TranslationStrings = {
|
|||||||
'places.addPlace': 'Yer/etkinlik Ekle',
|
'places.addPlace': 'Yer/etkinlik Ekle',
|
||||||
'places.importFile': 'Dosyayı içe aktar',
|
'places.importFile': 'Dosyayı içe aktar',
|
||||||
'places.sidebarDrop': 'İçe aktarmak için bırakın',
|
'places.sidebarDrop': 'İçe aktarmak için bırakın',
|
||||||
'places.importFileHint': 'Google Haritalarım, Google Earth veya GPS izleyici gibi araçlardan .gpx, .kml veya .kmz dosyalarını içe aktarın.',
|
'places.importFileHint':
|
||||||
'places.importFileDropHere': 'Bir dosya seçmek için tıklayın veya buraya sürükleyip bırakın',
|
'Google Haritalarım, Google Earth veya GPS izleyici gibi araçlardan .gpx, .kml veya .kmz dosyalarını içe aktarın.',
|
||||||
|
'places.importFileDropHere':
|
||||||
|
'Bir dosya seçmek için tıklayın veya buraya sürükleyip bırakın',
|
||||||
'places.importFileDropActive': 'Seçmek için dosyayı bırakın',
|
'places.importFileDropActive': 'Seçmek için dosyayı bırakın',
|
||||||
'places.importFileUnsupported': 'Desteklenmeyen dosya türü. .gpx, .kml veya .kmz kullanın.',
|
'places.importFileUnsupported':
|
||||||
'places.importFileTooLarge': 'Dosya çok büyük. Maksimum yükleme boyutu {maxMb} MB\'tır.',
|
'Desteklenmeyen dosya türü. .gpx, .kml veya .kmz kullanın.',
|
||||||
|
'places.importFileTooLarge':
|
||||||
|
"Dosya çok büyük. Maksimum yükleme boyutu {maxMb} MB'tır.",
|
||||||
'places.importFileError': 'İçe aktarma başarısız oldu',
|
'places.importFileError': 'İçe aktarma başarısız oldu',
|
||||||
'places.importAllSkipped': 'Tüm yerler zaten yolculuktaydı.',
|
'places.importAllSkipped': 'Tüm yerler zaten yolculuktaydı.',
|
||||||
'places.gpxImported': '{count} yer GPX\'ten içe Aktarıldı',
|
'places.gpxImported': "{count} yer GPX'ten içe Aktarıldı",
|
||||||
'places.gpxImportTypes': 'Neyi içe aktarmak istiyorsunuz?',
|
'places.gpxImportTypes': 'Neyi içe aktarmak istiyorsunuz?',
|
||||||
'places.gpxImportWaypoints': 'Ara noktalar',
|
'places.gpxImportWaypoints': 'Ara noktalar',
|
||||||
'places.gpxImportRoutes': 'Rotalar',
|
'places.gpxImportRoutes': 'Rotalar',
|
||||||
@@ -19,20 +23,23 @@ const places: TranslationStrings = {
|
|||||||
'places.gpxImportNoneSelected': 'İçe aktarılacak en az bir tür seçin.',
|
'places.gpxImportNoneSelected': 'İçe aktarılacak en az bir tür seçin.',
|
||||||
'places.kmlImportTypes': 'Neyi içe aktarmak istiyorsunuz?',
|
'places.kmlImportTypes': 'Neyi içe aktarmak istiyorsunuz?',
|
||||||
'places.kmlImportPoints': 'Noktalar (Yer İşaretleri)',
|
'places.kmlImportPoints': 'Noktalar (Yer İşaretleri)',
|
||||||
'places.kmlImportPaths': 'Yollar (LineString\'ler)',
|
'places.kmlImportPaths': "Yollar (LineString'ler)",
|
||||||
'places.kmlImportNoneSelected': 'İçe aktarılacak en az bir tür seçin.',
|
'places.kmlImportNoneSelected': 'İçe aktarılacak en az bir tür seçin.',
|
||||||
'places.selectionCount': '{count} seçildi',
|
'places.selectionCount': '{count} seçildi',
|
||||||
'places.deleteSelected': 'Seçileni sil',
|
'places.deleteSelected': 'Seçileni sil',
|
||||||
'places.kmlKmzImported': 'KMZ/KML\'den {count} yer içe Aktarıldı',
|
'places.kmlKmzImported': "KMZ/KML'den {count} yer içe Aktarıldı",
|
||||||
'places.urlResolved': 'URL\'den içe aktarılan Yer',
|
'places.urlResolved': "URL'den içe aktarılan Yer",
|
||||||
'places.importList': 'Liste İçe Aktarma',
|
'places.importList': 'Liste İçe Aktarma',
|
||||||
'places.kmlKmzSummaryValues': 'Yer işaretleri: {total} • İçe aktarıldı: {created} • Atlandı: {skipped}',
|
'places.kmlKmzSummaryValues':
|
||||||
|
'Yer işaretleri: {total} • İçe aktarıldı: {created} • Atlandı: {skipped}',
|
||||||
'places.importGoogleList': 'Google Listesi',
|
'places.importGoogleList': 'Google Listesi',
|
||||||
'places.importNaverList': 'Naver Listesi',
|
'places.importNaverList': 'Naver Listesi',
|
||||||
'places.googleListHint': 'Tüm yerleri içe aktarmak için paylaşılan bir Google Haritalar listesi bağlantısını yapıştırın.',
|
'places.googleListHint':
|
||||||
|
'Tüm yerleri içe aktarmak için paylaşılan bir Google Haritalar listesi bağlantısını yapıştırın.',
|
||||||
'places.googleListImported': '"{list}"ten {count} yer içe aktarıldı',
|
'places.googleListImported': '"{list}"ten {count} yer içe aktarıldı',
|
||||||
'places.googleListError': 'Google Haritalar listesi içe aktarılamadı',
|
'places.googleListError': 'Google Haritalar listesi içe aktarılamadı',
|
||||||
'places.naverListHint': 'Tüm yerleri içe aktarmak için paylaşılan bir Naver Haritalar listesi bağlantısını yapıştırın.',
|
'places.naverListHint':
|
||||||
|
'Tüm yerleri içe aktarmak için paylaşılan bir Naver Haritalar listesi bağlantısını yapıştırın.',
|
||||||
'places.naverListImported': '"{list}"ten {count} yer içe aktarıldı',
|
'places.naverListImported': '"{list}"ten {count} yer içe aktarıldı',
|
||||||
'places.naverListError': 'Naver Haritalar listesi içe aktarılamadı',
|
'places.naverListError': 'Naver Haritalar listesi içe aktarılamadı',
|
||||||
'places.viewDetails': 'Ayrıntıları Görüntüle',
|
'places.viewDetails': 'Ayrıntıları Görüntüle',
|
||||||
@@ -73,8 +80,10 @@ const places: TranslationStrings = {
|
|||||||
'places.mapsSearchPlaceholder': 'Yerleri ara...',
|
'places.mapsSearchPlaceholder': 'Yerleri ara...',
|
||||||
'places.mapsSearchError': 'Yer arama başarısız oldu.',
|
'places.mapsSearchError': 'Yer arama başarısız oldu.',
|
||||||
'places.loadingDetails': 'Yer ayrıntıları yükleniyor…',
|
'places.loadingDetails': 'Yer ayrıntıları yükleniyor…',
|
||||||
'places.osmHint': 'OpenStreetMap aramasını kullanma (fotoğraf, açılış saatleri veya derecelendirme yok). Tüm ayrıntılar için ayarlara bir Google API anahtarı ekleyin.',
|
'places.osmHint':
|
||||||
'places.osmActive': 'OpenStreetMap aracılığıyla arama yapın (fotoğraf, derecelendirme veya çalışma saatleri yok). Gelişmiş veriler için Ayarlar\'a bir Google API anahtarı ekleyin.',
|
'OpenStreetMap aramasını kullanma (fotoğraf, açılış saatleri veya derecelendirme yok). Tüm ayrıntılar için ayarlara bir Google API anahtarı ekleyin.',
|
||||||
|
'places.osmActive':
|
||||||
|
"OpenStreetMap aracılığıyla arama yapın (fotoğraf, derecelendirme veya çalışma saatleri yok). Gelişmiş veriler için Ayarlar'a bir Google API anahtarı ekleyin.",
|
||||||
'places.categoryCreateError': 'Kategori oluşturulamadı',
|
'places.categoryCreateError': 'Kategori oluşturulamadı',
|
||||||
'places.nameRequired': 'Lütfen bir ad girin',
|
'places.nameRequired': 'Lütfen bir ad girin',
|
||||||
'places.saveError': 'Kaydedilemedi',
|
'places.saveError': 'Kaydedilemedi',
|
||||||
|
|||||||
@@ -33,7 +33,8 @@ const planner: TranslationStrings = {
|
|||||||
'planner.resConfirmed': 'Rezervasyon onaylandı · ',
|
'planner.resConfirmed': 'Rezervasyon onaylandı · ',
|
||||||
'planner.notePlaceholder': 'Not…',
|
'planner.notePlaceholder': 'Not…',
|
||||||
'planner.noteTimePlaceholder': 'Saat (isteğe bağlı)',
|
'planner.noteTimePlaceholder': 'Saat (isteğe bağlı)',
|
||||||
'planner.noteExamplePlaceholder': 'örn. Merkez istasyondan 14:30\'da S3, iskele 7\'den feribot, öğle molası…',
|
'planner.noteExamplePlaceholder':
|
||||||
|
"örn. Merkez istasyondan 14:30'da S3, iskele 7'den feribot, öğle molası…",
|
||||||
'planner.totalCost': 'Toplam maliyet',
|
'planner.totalCost': 'Toplam maliyet',
|
||||||
'planner.searchPlaces': 'Yer ara…',
|
'planner.searchPlaces': 'Yer ara…',
|
||||||
'planner.allCategories': 'Tüm Kategoriler',
|
'planner.allCategories': 'Tüm Kategoriler',
|
||||||
@@ -46,8 +47,9 @@ const planner: TranslationStrings = {
|
|||||||
'planner.calculating': 'Hesaplanıyor…',
|
'planner.calculating': 'Hesaplanıyor…',
|
||||||
'planner.route': 'Rota',
|
'planner.route': 'Rota',
|
||||||
'planner.optimize': 'Optimize et',
|
'planner.optimize': 'Optimize et',
|
||||||
'planner.openGoogleMaps': 'Google Haritalar\'da aç',
|
'planner.openGoogleMaps': "Google Haritalar'da aç",
|
||||||
'planner.selectDayHint': 'Gün planını görmek için soldaki listeden bir gün seçin',
|
'planner.selectDayHint':
|
||||||
|
'Gün planını görmek için soldaki listeden bir gün seçin',
|
||||||
'planner.noPlacesForDay': 'Bu gün için henüz yer yok',
|
'planner.noPlacesForDay': 'Bu gün için henüz yer yok',
|
||||||
'planner.addPlacesLink': 'Yer ekle →',
|
'planner.addPlacesLink': 'Yer ekle →',
|
||||||
'planner.minTotal': 'dk. toplam',
|
'planner.minTotal': 'dk. toplam',
|
||||||
|
|||||||
@@ -5,7 +5,8 @@ const register: TranslationStrings = {
|
|||||||
'register.passwordTooShort': 'Şifre en az 8 karakter olmalıdır',
|
'register.passwordTooShort': 'Şifre en az 8 karakter olmalıdır',
|
||||||
'register.failed': 'Kayıt başarısız oldu',
|
'register.failed': 'Kayıt başarısız oldu',
|
||||||
'register.getStarted': 'Başlayın',
|
'register.getStarted': 'Başlayın',
|
||||||
'register.subtitle': 'Bir hesap oluşturun ve hayalinizdeki gezileri planlamaya başlayın.',
|
'register.subtitle':
|
||||||
|
'Bir hesap oluşturun ve hayalinizdeki gezileri planlamaya başlayın.',
|
||||||
'register.feature1': 'Sınırsız gezi planları',
|
'register.feature1': 'Sınırsız gezi planları',
|
||||||
'register.feature2': 'İnteraktif harita görünümü',
|
'register.feature2': 'İnteraktif harita görünümü',
|
||||||
'register.feature3': 'Yerleri ve kategorileri yönetin',
|
'register.feature3': 'Yerleri ve kategorileri yönetin',
|
||||||
|
|||||||
@@ -3,10 +3,12 @@ import type { TranslationStrings } from '../types';
|
|||||||
const reservations: TranslationStrings = {
|
const reservations: TranslationStrings = {
|
||||||
'reservations.title': 'Rezervasyonlar',
|
'reservations.title': 'Rezervasyonlar',
|
||||||
'reservations.empty': 'Henüz rezervasyon yok',
|
'reservations.empty': 'Henüz rezervasyon yok',
|
||||||
'reservations.emptyHint': 'Uçuşlar, oteller ve daha fazlası için rezervasyon ekleyin',
|
'reservations.emptyHint':
|
||||||
|
'Uçuşlar, oteller ve daha fazlası için rezervasyon ekleyin',
|
||||||
'reservations.add': 'Rezervasyon Ekle',
|
'reservations.add': 'Rezervasyon Ekle',
|
||||||
'reservations.addManual': 'Manuel Rezervasyon',
|
'reservations.addManual': 'Manuel Rezervasyon',
|
||||||
'reservations.placeHint': 'İpucu: Rezervasyonları doğrudan günlük planınıza bağlayacak bir yerden oluşturmak en iyisidir.',
|
'reservations.placeHint':
|
||||||
|
'İpucu: Rezervasyonları doğrudan günlük planınıza bağlayacak bir yerden oluşturmak en iyisidir.',
|
||||||
'reservations.confirmed': 'Onaylandı',
|
'reservations.confirmed': 'Onaylandı',
|
||||||
'reservations.pending': 'Askıda olması',
|
'reservations.pending': 'Askıda olması',
|
||||||
'reservations.summary': '{confirmed} onaylandı, {pending} beklemede',
|
'reservations.summary': '{confirmed} onaylandı, {pending} beklemede',
|
||||||
@@ -27,7 +29,8 @@ const reservations: TranslationStrings = {
|
|||||||
'reservations.meta.from': 'İtibaren',
|
'reservations.meta.from': 'İtibaren',
|
||||||
'reservations.meta.to': 'İle',
|
'reservations.meta.to': 'İle',
|
||||||
'reservations.needsReview': 'Gözden geçirmek',
|
'reservations.needsReview': 'Gözden geçirmek',
|
||||||
'reservations.needsReviewHint': 'Havaalanı otomatik olarak eşleştirilemedi; lütfen konumu onaylayın.',
|
'reservations.needsReviewHint':
|
||||||
|
'Havaalanı otomatik olarak eşleştirilemedi; lütfen konumu onaylayın.',
|
||||||
'reservations.searchLocation': 'İstasyonu, limanı, adresi arayın…',
|
'reservations.searchLocation': 'İstasyonu, limanı, adresi arayın…',
|
||||||
'reservations.meta.trainNumber': 'Tren No.',
|
'reservations.meta.trainNumber': 'Tren No.',
|
||||||
'reservations.meta.platform': 'Platformu',
|
'reservations.meta.platform': 'Platformu',
|
||||||
@@ -52,7 +55,8 @@ const reservations: TranslationStrings = {
|
|||||||
'reservations.type.event': 'Etkinlik',
|
'reservations.type.event': 'Etkinlik',
|
||||||
'reservations.type.tour': 'Tur',
|
'reservations.type.tour': 'Tur',
|
||||||
'reservations.type.other': 'Diğer',
|
'reservations.type.other': 'Diğer',
|
||||||
'reservations.confirm.delete': '"{name}" rezervasyonunu silmek istediğinizden emin misiniz?',
|
'reservations.confirm.delete':
|
||||||
|
'"{name}" rezervasyonunu silmek istediğinizden emin misiniz?',
|
||||||
'reservations.confirm.deleteTitle': 'Rezervasyon silinsin mi?',
|
'reservations.confirm.deleteTitle': 'Rezervasyon silinsin mi?',
|
||||||
'reservations.confirm.deleteBody': '"{name}" kalıcı olarak silinecek.',
|
'reservations.confirm.deleteBody': '"{name}" kalıcı olarak silinecek.',
|
||||||
'reservations.toast.updated': 'Rezervasyon güncellendi',
|
'reservations.toast.updated': 'Rezervasyon güncellendi',
|
||||||
@@ -86,7 +90,8 @@ const reservations: TranslationStrings = {
|
|||||||
'reservations.budgetCategory': 'Bütçe kategorisi',
|
'reservations.budgetCategory': 'Bütçe kategorisi',
|
||||||
'reservations.budgetCategoryPlaceholder': 'örn. Ulaşım, Konaklama',
|
'reservations.budgetCategoryPlaceholder': 'örn. Ulaşım, Konaklama',
|
||||||
'reservations.budgetCategoryAuto': 'Otomatik (rezervasyon türünden)',
|
'reservations.budgetCategoryAuto': 'Otomatik (rezervasyon türünden)',
|
||||||
'reservations.budgetHint': 'Kaydederken otomatik olarak bir bütçe kaydı oluşturulur.',
|
'reservations.budgetHint':
|
||||||
|
'Kaydederken otomatik olarak bir bütçe kaydı oluşturulur.',
|
||||||
'reservations.departureDate': 'Kalkış',
|
'reservations.departureDate': 'Kalkış',
|
||||||
'reservations.arrivalDate': 'Varış',
|
'reservations.arrivalDate': 'Varış',
|
||||||
'reservations.departureTime': 'Kalkış saati',
|
'reservations.departureTime': 'Kalkış saati',
|
||||||
@@ -107,7 +112,8 @@ const reservations: TranslationStrings = {
|
|||||||
'reservations.span.start': 'Başlangıç',
|
'reservations.span.start': 'Başlangıç',
|
||||||
'reservations.span.end': 'Son',
|
'reservations.span.end': 'Son',
|
||||||
'reservations.span.ongoing': 'Devam ediyor',
|
'reservations.span.ongoing': 'Devam ediyor',
|
||||||
'reservations.validation.endBeforeStart': 'Bitiş tarihi/saati başlangıçtan sonra olmalı',
|
'reservations.validation.endBeforeStart':
|
||||||
|
'Bitiş tarihi/saati başlangıçtan sonra olmalı',
|
||||||
'reservations.addBooking': 'Rezervasyon ekle',
|
'reservations.addBooking': 'Rezervasyon ekle',
|
||||||
};
|
};
|
||||||
export default reservations;
|
export default reservations;
|
||||||
|
|||||||
@@ -18,7 +18,8 @@ const settings: TranslationStrings = {
|
|||||||
'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
|
'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
|
||||||
'settings.mapHint': 'Harita kutucukları için URL şablonu',
|
'settings.mapHint': 'Harita kutucukları için URL şablonu',
|
||||||
'settings.mapProvider': 'Harita Sağlayıcısı',
|
'settings.mapProvider': 'Harita Sağlayıcısı',
|
||||||
'settings.mapProviderHint': 'Seyahat planlayıcı ve Journey haritalarını etkiler. Atlas her zaman Leaflet kullanır.',
|
'settings.mapProviderHint':
|
||||||
|
'Seyahat planlayıcı ve Journey haritalarını etkiler. Atlas her zaman Leaflet kullanır.',
|
||||||
'settings.mapLeafletSubtitle': 'Klasik 2D, herhangi bir raster kutucuk',
|
'settings.mapLeafletSubtitle': 'Klasik 2D, herhangi bir raster kutucuk',
|
||||||
'settings.mapMapboxSubtitle': 'Vektör kutucuklar, 3D binalar ve arazi',
|
'settings.mapMapboxSubtitle': 'Vektör kutucuklar, 3D binalar ve arazi',
|
||||||
'settings.mapExperimental': 'Deneysel',
|
'settings.mapExperimental': 'Deneysel',
|
||||||
@@ -27,22 +28,29 @@ const settings: TranslationStrings = {
|
|||||||
'settings.mapMapboxTokenLink': 'Mapbox.com → Jetonlara erişim',
|
'settings.mapMapboxTokenLink': 'Mapbox.com → Jetonlara erişim',
|
||||||
'settings.mapStyle': 'Harita Stili',
|
'settings.mapStyle': 'Harita Stili',
|
||||||
'settings.mapStylePlaceholder': 'Bir Mapbox stili seçin',
|
'settings.mapStylePlaceholder': 'Bir Mapbox stili seçin',
|
||||||
'settings.mapStyleHint': 'Ön ayar veya kendi mapbox://styles/KULLANICI/ID adresiniz',
|
'settings.mapStyleHint':
|
||||||
|
'Ön ayar veya kendi mapbox://styles/KULLANICI/ID adresiniz',
|
||||||
'settings.map3dBuildings': '3D Binalar ve Arazi',
|
'settings.map3dBuildings': '3D Binalar ve Arazi',
|
||||||
'settings.map3dHint': 'Eğim + gerçek 3D bina çıkıntıları — uydu dahil her stilde çalışır.',
|
'settings.map3dHint':
|
||||||
|
'Eğim + gerçek 3D bina çıkıntıları — uydu dahil her stilde çalışır.',
|
||||||
'settings.mapHighQuality': 'Yüksek Kalite Modu',
|
'settings.mapHighQuality': 'Yüksek Kalite Modu',
|
||||||
'settings.mapHighQualityHint': 'Keskin kenarlar ve gerçekçi dünya görünümü için antialiasing + küre projeksiyonu.',
|
'settings.mapHighQualityHint':
|
||||||
'settings.mapHighQualityWarning': 'Düşük donanımlı cihazlarda performansı etkileyebilir.',
|
'Keskin kenarlar ve gerçekçi dünya görünümü için antialiasing + küre projeksiyonu.',
|
||||||
|
'settings.mapHighQualityWarning':
|
||||||
|
'Düşük donanımlı cihazlarda performansı etkileyebilir.',
|
||||||
'settings.mapTipLabel': 'İpucu:',
|
'settings.mapTipLabel': 'İpucu:',
|
||||||
'settings.mapTip': 'Haritayı döndürmek/eğmek için sağ tıklayıp sürükleyin. Yer eklemek için orta tıklama (sağ tık döndürmeye ayrılmıştır).',
|
'settings.mapTip':
|
||||||
|
'Haritayı döndürmek/eğmek için sağ tıklayıp sürükleyin. Yer eklemek için orta tıklama (sağ tık döndürmeye ayrılmıştır).',
|
||||||
'settings.latitude': 'Enlem',
|
'settings.latitude': 'Enlem',
|
||||||
'settings.longitude': 'Boylam',
|
'settings.longitude': 'Boylam',
|
||||||
'settings.saveMap': 'Haritayı Kaydet',
|
'settings.saveMap': 'Haritayı Kaydet',
|
||||||
'settings.apiKeys': 'API Anahtarları',
|
'settings.apiKeys': 'API Anahtarları',
|
||||||
'settings.mapsKey': 'Google Maps API Anahtarı',
|
'settings.mapsKey': 'Google Maps API Anahtarı',
|
||||||
'settings.mapsKeyHint': 'Yer araması için. Places API (New) gerekir. console.cloud.google.com',
|
'settings.mapsKeyHint':
|
||||||
|
'Yer araması için. Places API (New) gerekir. console.cloud.google.com',
|
||||||
'settings.weatherKey': 'OpenWeatherMap API Anahtarı',
|
'settings.weatherKey': 'OpenWeatherMap API Anahtarı',
|
||||||
'settings.weatherKeyHint': 'Hava verisi için. Ücretsiz: openweathermap.org/api',
|
'settings.weatherKeyHint':
|
||||||
|
'Hava verisi için. Ücretsiz: openweathermap.org/api',
|
||||||
'settings.keyPlaceholder': 'Anahtarı girin...',
|
'settings.keyPlaceholder': 'Anahtarı girin...',
|
||||||
'settings.configured': 'Yapılandırıldı',
|
'settings.configured': 'Yapılandırıldı',
|
||||||
'settings.saveKeys': 'Anahtarları Kaydet',
|
'settings.saveKeys': 'Anahtarları Kaydet',
|
||||||
@@ -55,7 +63,8 @@ const settings: TranslationStrings = {
|
|||||||
'settings.temperature': 'Sıcaklık Birimi',
|
'settings.temperature': 'Sıcaklık Birimi',
|
||||||
'settings.timeFormat': 'Saat Biçimi',
|
'settings.timeFormat': 'Saat Biçimi',
|
||||||
'settings.bookingLabels': 'Rezervasyon rota etiketleri',
|
'settings.bookingLabels': 'Rezervasyon rota etiketleri',
|
||||||
'settings.bookingLabelsHint': 'Haritada istasyon / havalimanı adlarını göster. Kapalıyken yalnızca simge görünür.',
|
'settings.bookingLabelsHint':
|
||||||
|
'Haritada istasyon / havalimanı adlarını göster. Kapalıyken yalnızca simge görünür.',
|
||||||
'settings.blurBookingCodes': 'Rezervasyon Kodlarını Bulanıklaştır',
|
'settings.blurBookingCodes': 'Rezervasyon Kodlarını Bulanıklaştır',
|
||||||
'settings.notifications': 'Bildirimler',
|
'settings.notifications': 'Bildirimler',
|
||||||
'settings.notifyTripInvite': 'Seyahat davetleri',
|
'settings.notifyTripInvite': 'Seyahat davetleri',
|
||||||
@@ -72,19 +81,22 @@ const settings: TranslationStrings = {
|
|||||||
'settings.notificationPreferences.webhook': 'Web kancası',
|
'settings.notificationPreferences.webhook': 'Web kancası',
|
||||||
'settings.notificationPreferences.inapp': 'Uygulama içi',
|
'settings.notificationPreferences.inapp': 'Uygulama içi',
|
||||||
'settings.notificationPreferences.ntfy': 'Ntfy',
|
'settings.notificationPreferences.ntfy': 'Ntfy',
|
||||||
'settings.notificationPreferences.noChannels': 'Bildirim kanalı yapılandırılmadı. Yöneticiden e-posta veya webhook kurmasını isteyin.',
|
'settings.notificationPreferences.noChannels':
|
||||||
'settings.webhookUrl.label': 'Web kancası URL\'si',
|
'Bildirim kanalı yapılandırılmadı. Yöneticiden e-posta veya webhook kurmasını isteyin.',
|
||||||
|
'settings.webhookUrl.label': "Web kancası URL'si",
|
||||||
'settings.webhookUrl.placeholder': 'https://discord.com/api/webhooks/...',
|
'settings.webhookUrl.placeholder': 'https://discord.com/api/webhooks/...',
|
||||||
'settings.webhookUrl.hint': 'Bildirim almak için Discord, Slack veya özel webhook URL\'nizi girin.',
|
'settings.webhookUrl.hint':
|
||||||
|
"Bildirim almak için Discord, Slack veya özel webhook URL'nizi girin.",
|
||||||
'settings.webhookUrl.saved': 'Webhook URL kaydedildi',
|
'settings.webhookUrl.saved': 'Webhook URL kaydedildi',
|
||||||
'settings.webhookUrl.test': 'Dene',
|
'settings.webhookUrl.test': 'Dene',
|
||||||
'settings.webhookUrl.testSuccess': 'Test webhook başarıyla gönderildi',
|
'settings.webhookUrl.testSuccess': 'Test webhook başarıyla gönderildi',
|
||||||
'settings.webhookUrl.testFailed': 'Test webhook başarısız',
|
'settings.webhookUrl.testFailed': 'Test webhook başarısız',
|
||||||
'settings.ntfyUrl.topicLabel': 'Ntfy Konusu',
|
'settings.ntfyUrl.topicLabel': 'Ntfy Konusu',
|
||||||
'settings.ntfyUrl.topicPlaceholder': 'benim-trek-uyarilari',
|
'settings.ntfyUrl.topicPlaceholder': 'benim-trek-uyarilari',
|
||||||
'settings.ntfyUrl.serverLabel': 'Ntfy sunucu URL\'si (isteğe bağlı)',
|
'settings.ntfyUrl.serverLabel': "Ntfy sunucu URL'si (isteğe bağlı)",
|
||||||
'settings.ntfyUrl.serverPlaceholder': 'https://ntfy.sh',
|
'settings.ntfyUrl.serverPlaceholder': 'https://ntfy.sh',
|
||||||
'settings.ntfyUrl.hint': 'Anlık bildirim için ntfy konusunu girin. Sunucuyu boş bırakırsanız yöneticinin varsayılanı kullanılır.',
|
'settings.ntfyUrl.hint':
|
||||||
|
'Anlık bildirim için ntfy konusunu girin. Sunucuyu boş bırakırsanız yöneticinin varsayılanı kullanılır.',
|
||||||
'settings.ntfyUrl.tokenLabel': 'Erişim anahtarı (isteğe bağlı)',
|
'settings.ntfyUrl.tokenLabel': 'Erişim anahtarı (isteğe bağlı)',
|
||||||
'settings.ntfyUrl.tokenHint': 'Parola korumalı konular için gerekli.',
|
'settings.ntfyUrl.tokenHint': 'Parola korumalı konular için gerekli.',
|
||||||
'settings.ntfyUrl.saved': 'Ntfy ayarları kaydedildi',
|
'settings.ntfyUrl.saved': 'Ntfy ayarları kaydedildi',
|
||||||
@@ -92,73 +104,92 @@ const settings: TranslationStrings = {
|
|||||||
'settings.ntfyUrl.testSuccess': 'Test ntfy bildirimi gönderildi',
|
'settings.ntfyUrl.testSuccess': 'Test ntfy bildirimi gönderildi',
|
||||||
'settings.ntfyUrl.testFailed': 'Test ntfy bildirimi başarısız',
|
'settings.ntfyUrl.testFailed': 'Test ntfy bildirimi başarısız',
|
||||||
'settings.ntfyUrl.tokenCleared': 'Erişim anahtarı temizlendi',
|
'settings.ntfyUrl.tokenCleared': 'Erişim anahtarı temizlendi',
|
||||||
'settings.notificationsDisabled': 'Bildirimler yapılandırılmadı. Yöneticiden e-posta veya webhook açmasını isteyin.',
|
'settings.notificationsDisabled':
|
||||||
|
'Bildirimler yapılandırılmadı. Yöneticiden e-posta veya webhook açmasını isteyin.',
|
||||||
'settings.notificationsActive': 'Etkin kanal',
|
'settings.notificationsActive': 'Etkin kanal',
|
||||||
'settings.notificationsManagedByAdmin': 'Bildirim olayları yöneticiniz tarafından yapılandırılır.',
|
'settings.notificationsManagedByAdmin':
|
||||||
|
'Bildirim olayları yöneticiniz tarafından yapılandırılır.',
|
||||||
'settings.on': 'Açık',
|
'settings.on': 'Açık',
|
||||||
'settings.off': 'Kapalı',
|
'settings.off': 'Kapalı',
|
||||||
'settings.mcp.title': 'MCP Yapılandırması',
|
'settings.mcp.title': 'MCP Yapılandırması',
|
||||||
'settings.mcp.endpoint': 'MCP Uç Noktası',
|
'settings.mcp.endpoint': 'MCP Uç Noktası',
|
||||||
'settings.mcp.clientConfig': 'İstemci Yapılandırması',
|
'settings.mcp.clientConfig': 'İstemci Yapılandırması',
|
||||||
'settings.mcp.clientConfigHint': '<your_token> öğesini aşağıdaki listeden bir API belirteciyle değiştirin. Npx yolunun sisteminize göre ayarlanması gerekebilir (örn. Windows\'ta C:\\\\\\\\PROGRA~1\\\\\\\\nodejs\\\\\\\\npx.cmd).',
|
'settings.mcp.clientConfigHint':
|
||||||
'settings.mcp.clientConfigHintOAuth': '<client_id> ve <client_secret> değerlerini yukarıda oluşturduğunuz OAuth 2.1 istemcisinde gösterilen kimlik bilgileriyle değiştirin. mcp-remote, ilk bağlandığınızda yetkilendirmeyi tamamlamak için tarayıcınızı açacaktır. Npx yolunun sisteminize göre ayarlanması gerekebilir (örn. Windows\'ta C:\\PROGRA~1\\nodejs\\npx.cmd).',
|
"<your_token> öğesini aşağıdaki listeden bir API belirteciyle değiştirin. Npx yolunun sisteminize göre ayarlanması gerekebilir (örn. Windows'ta C:\\\\\\\\PROGRA~1\\\\\\\\nodejs\\\\\\\\npx.cmd).",
|
||||||
|
'settings.mcp.clientConfigHintOAuth':
|
||||||
|
"<client_id> ve <client_secret> değerlerini yukarıda oluşturduğunuz OAuth 2.1 istemcisinde gösterilen kimlik bilgileriyle değiştirin. mcp-remote, ilk bağlandığınızda yetkilendirmeyi tamamlamak için tarayıcınızı açacaktır. Npx yolunun sisteminize göre ayarlanması gerekebilir (örn. Windows'ta C:\\PROGRA~1\\nodejs\\npx.cmd).",
|
||||||
'settings.mcp.copy': 'Kopyala',
|
'settings.mcp.copy': 'Kopyala',
|
||||||
'settings.mcp.copied': 'Kopyalandı!',
|
'settings.mcp.copied': 'Kopyalandı!',
|
||||||
'settings.mcp.apiTokens': 'API Belirteçleri',
|
'settings.mcp.apiTokens': 'API Belirteçleri',
|
||||||
'settings.mcp.createToken': 'Yeni Jeton Oluştur',
|
'settings.mcp.createToken': 'Yeni Jeton Oluştur',
|
||||||
'settings.mcp.noTokens': 'Henüz jeton yok. MCP istemcilerini bağlamak için bir tane oluşturun.',
|
'settings.mcp.noTokens':
|
||||||
|
'Henüz jeton yok. MCP istemcilerini bağlamak için bir tane oluşturun.',
|
||||||
'settings.mcp.tokenCreatedAt': 'Oluşturuldu',
|
'settings.mcp.tokenCreatedAt': 'Oluşturuldu',
|
||||||
'settings.mcp.tokenUsedAt': 'Kullanılmış',
|
'settings.mcp.tokenUsedAt': 'Kullanılmış',
|
||||||
'settings.mcp.deleteTokenTitle': 'Jetonu Sil',
|
'settings.mcp.deleteTokenTitle': 'Jetonu Sil',
|
||||||
'settings.mcp.deleteTokenMessage': 'Bu jeton hemen çalışmayı durduracak. Bunu kullanan herhangi bir MCP istemcisi erişimi kaybedecektir.',
|
'settings.mcp.deleteTokenMessage':
|
||||||
|
'Bu jeton hemen çalışmayı durduracak. Bunu kullanan herhangi bir MCP istemcisi erişimi kaybedecektir.',
|
||||||
'settings.mcp.modal.createTitle': 'API Jetonu Oluştur',
|
'settings.mcp.modal.createTitle': 'API Jetonu Oluştur',
|
||||||
'settings.mcp.modal.tokenName': 'Jeton Adı',
|
'settings.mcp.modal.tokenName': 'Jeton Adı',
|
||||||
'settings.mcp.modal.tokenNamePlaceholder': 'örneğin Claude Masaüstü, İş dizüstü bilgisayarı',
|
'settings.mcp.modal.tokenNamePlaceholder':
|
||||||
|
'örneğin Claude Masaüstü, İş dizüstü bilgisayarı',
|
||||||
'settings.mcp.modal.creating': 'Oluşturuluyor…',
|
'settings.mcp.modal.creating': 'Oluşturuluyor…',
|
||||||
'settings.mcp.modal.create': 'Jeton Oluştur',
|
'settings.mcp.modal.create': 'Jeton Oluştur',
|
||||||
'settings.mcp.modal.createdTitle': 'Jeton Oluşturuldu',
|
'settings.mcp.modal.createdTitle': 'Jeton Oluşturuldu',
|
||||||
'settings.mcp.modal.createdWarning': 'Bu jeton yalnızca bir kez gösterilecektir. Şimdi kopyalayıp saklayın; kurtarılamaz.',
|
'settings.mcp.modal.createdWarning':
|
||||||
|
'Bu jeton yalnızca bir kez gösterilecektir. Şimdi kopyalayıp saklayın; kurtarılamaz.',
|
||||||
'settings.mcp.modal.done': 'Tamamlamak',
|
'settings.mcp.modal.done': 'Tamamlamak',
|
||||||
'settings.mcp.toast.created': 'Jeton oluşturuldu',
|
'settings.mcp.toast.created': 'Jeton oluşturuldu',
|
||||||
'settings.mcp.toast.createError': 'Jeton oluşturulamadı',
|
'settings.mcp.toast.createError': 'Jeton oluşturulamadı',
|
||||||
'settings.mcp.toast.deleted': 'Jeton silindi',
|
'settings.mcp.toast.deleted': 'Jeton silindi',
|
||||||
'settings.mcp.toast.deleteError': 'Jeton silinemedi',
|
'settings.mcp.toast.deleteError': 'Jeton silinemedi',
|
||||||
'settings.mcp.apiTokensDeprecated': 'API Belirteçleri kullanımdan kaldırıldı ve gelecekteki bir sürümde kaldırılacak. Lütfen bunun yerine OAuth 2.1 İstemcilerini kullanın.',
|
'settings.mcp.apiTokensDeprecated':
|
||||||
|
'API Belirteçleri kullanımdan kaldırıldı ve gelecekteki bir sürümde kaldırılacak. Lütfen bunun yerine OAuth 2.1 İstemcilerini kullanın.',
|
||||||
'settings.oauth.clients': 'OAuth 2.1 İstemcileri',
|
'settings.oauth.clients': 'OAuth 2.1 İstemcileri',
|
||||||
'settings.oauth.clientsHint': 'Üçüncü taraf MCP uygulamalarının (Claude Web, Cursor vb.) statik belirteçler olmadan bağlanmasına izin vermek için OAuth 2.1 istemcilerini kaydedin.',
|
'settings.oauth.clientsHint':
|
||||||
|
'Üçüncü taraf MCP uygulamalarının (Claude Web, Cursor vb.) statik belirteçler olmadan bağlanmasına izin vermek için OAuth 2.1 istemcilerini kaydedin.',
|
||||||
'settings.oauth.createClient': 'Yeni Müşteri',
|
'settings.oauth.createClient': 'Yeni Müşteri',
|
||||||
'settings.oauth.noClients': 'Kayıtlı OAuth istemcisi yok.',
|
'settings.oauth.noClients': 'Kayıtlı OAuth istemcisi yok.',
|
||||||
'settings.oauth.clientId': 'Müşteri Kimliği',
|
'settings.oauth.clientId': 'Müşteri Kimliği',
|
||||||
'settings.oauth.clientSecret': 'Müşteri Sırrı',
|
'settings.oauth.clientSecret': 'Müşteri Sırrı',
|
||||||
'settings.oauth.deleteClient': 'İstemciyi Sil',
|
'settings.oauth.deleteClient': 'İstemciyi Sil',
|
||||||
'settings.oauth.deleteClientMessage': 'Bu istemci ve tüm aktif oturumlar kalıcı olarak kaldırılacak. Bunu kullanan herhangi bir uygulama erişimi anında kaybedecektir.',
|
'settings.oauth.deleteClientMessage':
|
||||||
|
'Bu istemci ve tüm aktif oturumlar kalıcı olarak kaldırılacak. Bunu kullanan herhangi bir uygulama erişimi anında kaybedecektir.',
|
||||||
'settings.oauth.rotateSecret': 'Gizli Anahtarı Döndür',
|
'settings.oauth.rotateSecret': 'Gizli Anahtarı Döndür',
|
||||||
'settings.oauth.rotateSecretMessage': 'Yeni bir istemci sırrı oluşturulacak ve mevcut tüm oturumlar derhal geçersiz kılınacaktır. Bu iletişim kutusunu kapatmadan önce uygulamanızı güncelleyin.',
|
'settings.oauth.rotateSecretMessage':
|
||||||
|
'Yeni bir istemci sırrı oluşturulacak ve mevcut tüm oturumlar derhal geçersiz kılınacaktır. Bu iletişim kutusunu kapatmadan önce uygulamanızı güncelleyin.',
|
||||||
'settings.oauth.rotateSecretConfirm': 'Döndür',
|
'settings.oauth.rotateSecretConfirm': 'Döndür',
|
||||||
'settings.oauth.rotateSecretConfirming': 'Dönüyor…',
|
'settings.oauth.rotateSecretConfirming': 'Dönüyor…',
|
||||||
'settings.oauth.rotateSecretDoneTitle': 'Yeni Gizli Oluşturuldu',
|
'settings.oauth.rotateSecretDoneTitle': 'Yeni Gizli Oluşturuldu',
|
||||||
'settings.oauth.rotateSecretDoneWarning': 'Bu sır yalnızca bir kez gösterilir. Şimdi kopyalayın ve uygulamanızı güncelleyin; önceki tüm oturumlar geçersiz kılınmıştır.',
|
'settings.oauth.rotateSecretDoneWarning':
|
||||||
|
'Bu sır yalnızca bir kez gösterilir. Şimdi kopyalayın ve uygulamanızı güncelleyin; önceki tüm oturumlar geçersiz kılınmıştır.',
|
||||||
'settings.oauth.activeSessions': 'Aktif OAuth Oturumları',
|
'settings.oauth.activeSessions': 'Aktif OAuth Oturumları',
|
||||||
'settings.oauth.sessionScopes': 'Kapsamlar',
|
'settings.oauth.sessionScopes': 'Kapsamlar',
|
||||||
'settings.oauth.sessionExpires': 'Süresi doluyor',
|
'settings.oauth.sessionExpires': 'Süresi doluyor',
|
||||||
'settings.oauth.revoke': 'Geri çekmek',
|
'settings.oauth.revoke': 'Geri çekmek',
|
||||||
'settings.oauth.revokeSession': 'Oturumu İptal Et',
|
'settings.oauth.revokeSession': 'Oturumu İptal Et',
|
||||||
'settings.oauth.revokeSessionMessage': 'Bu, bu OAuth oturumuna erişimi anında iptal edecektir.',
|
'settings.oauth.revokeSessionMessage':
|
||||||
|
'Bu, bu OAuth oturumuna erişimi anında iptal edecektir.',
|
||||||
'settings.oauth.modal.createTitle': 'OAuth İstemcisini Kaydedin',
|
'settings.oauth.modal.createTitle': 'OAuth İstemcisini Kaydedin',
|
||||||
'settings.oauth.modal.presets': 'Hızlı ön ayarlar',
|
'settings.oauth.modal.presets': 'Hızlı ön ayarlar',
|
||||||
'settings.oauth.modal.clientName': 'Uygulama Adı',
|
'settings.oauth.modal.clientName': 'Uygulama Adı',
|
||||||
'settings.oauth.modal.clientNamePlaceholder': 'örneğin Claude Web, MCP Uygulamam',
|
'settings.oauth.modal.clientNamePlaceholder':
|
||||||
'settings.oauth.modal.redirectUris': 'URI\'leri Yönlendir',
|
'örneğin Claude Web, MCP Uygulamam',
|
||||||
'settings.oauth.modal.redirectUrisPlaceholder': 'https://uygulamaniz.com/callback\\nhttps://uygulamaniz.com/auth',
|
'settings.oauth.modal.redirectUris': "URI'leri Yönlendir",
|
||||||
'settings.oauth.modal.redirectUrisHint': 'Satır başına bir URI. HTTPS gerekli (yerel ana bilgisayar hariç). Tam eşleşme uygulandı.',
|
'settings.oauth.modal.redirectUrisPlaceholder':
|
||||||
|
'https://uygulamaniz.com/callback\\nhttps://uygulamaniz.com/auth',
|
||||||
|
'settings.oauth.modal.redirectUrisHint':
|
||||||
|
'Satır başına bir URI. HTTPS gerekli (yerel ana bilgisayar hariç). Tam eşleşme uygulandı.',
|
||||||
'settings.oauth.modal.scopes': 'İzin Verilen Kapsamlar',
|
'settings.oauth.modal.scopes': 'İzin Verilen Kapsamlar',
|
||||||
'settings.oauth.modal.scopesHint': 'list_trips ve get_trip_summary her zaman kullanılabilir; kapsam gerektirmez. Yapay zekanın başka herhangi bir aracı kullanmak için gereken yolculuk kimliklerini keşfetmesine olanak tanıyorlar.',
|
'settings.oauth.modal.scopesHint':
|
||||||
|
'list_trips ve get_trip_summary her zaman kullanılabilir; kapsam gerektirmez. Yapay zekanın başka herhangi bir aracı kullanmak için gereken yolculuk kimliklerini keşfetmesine olanak tanıyorlar.',
|
||||||
'settings.oauth.modal.selectAll': 'Tümünü seç',
|
'settings.oauth.modal.selectAll': 'Tümünü seç',
|
||||||
'settings.oauth.modal.deselectAll': 'Tümünün seçimini kaldır',
|
'settings.oauth.modal.deselectAll': 'Tümünün seçimini kaldır',
|
||||||
'settings.oauth.modal.creating': 'Kaydediliyor…',
|
'settings.oauth.modal.creating': 'Kaydediliyor…',
|
||||||
'settings.oauth.modal.create': 'Müşteriyi Kaydet',
|
'settings.oauth.modal.create': 'Müşteriyi Kaydet',
|
||||||
'settings.oauth.modal.createdTitle': 'Müşteri Kayıtlı',
|
'settings.oauth.modal.createdTitle': 'Müşteri Kayıtlı',
|
||||||
'settings.oauth.modal.createdWarning': 'İstemci sırrı yalnızca bir kez gösterilir. Şimdi kopyalayın; kurtarılamaz.',
|
'settings.oauth.modal.createdWarning':
|
||||||
|
'İstemci sırrı yalnızca bir kez gösterilir. Şimdi kopyalayın; kurtarılamaz.',
|
||||||
'settings.oauth.toast.createError': 'OAuth istemcisi kaydedilemedi',
|
'settings.oauth.toast.createError': 'OAuth istemcisi kaydedilemedi',
|
||||||
'settings.oauth.toast.deleted': 'OAuth istemcisi silindi',
|
'settings.oauth.toast.deleted': 'OAuth istemcisi silindi',
|
||||||
'settings.oauth.toast.deleteError': 'OAuth istemcisi silinemedi',
|
'settings.oauth.toast.deleteError': 'OAuth istemcisi silinemedi',
|
||||||
@@ -180,12 +211,15 @@ const settings: TranslationStrings = {
|
|||||||
'settings.about.supporters.tierEmpty': 'İlk olun',
|
'settings.about.supporters.tierEmpty': 'İlk olun',
|
||||||
'settings.about.supporter.tier.noReturnTicket': 'Dönüş Bileti Yok',
|
'settings.about.supporter.tier.noReturnTicket': 'Dönüş Bileti Yok',
|
||||||
'settings.about.supporter.tier.lostLuggageVip': 'Kayıp Bagaj VIP',
|
'settings.about.supporter.tier.lostLuggageVip': 'Kayıp Bagaj VIP',
|
||||||
'settings.about.supporter.tier.businessClassDreamer': 'Business Class Hayalperest',
|
'settings.about.supporter.tier.businessClassDreamer':
|
||||||
|
'Business Class Hayalperest',
|
||||||
'settings.about.supporter.tier.budgetTraveller': 'Bütçe Gezgini',
|
'settings.about.supporter.tier.budgetTraveller': 'Bütçe Gezgini',
|
||||||
'settings.about.supporter.tier.hostelBunkmate': 'Hostel Yatakhane Arkadaşı',
|
'settings.about.supporter.tier.hostelBunkmate': 'Hostel Yatakhane Arkadaşı',
|
||||||
'settings.about.description': 'TREK, seyahatlerinizi ilk fikirden son anıya kadar organize etmenize yardımcı olan, kendi kendine barındırılan bir seyahat planlayıcıdır. Gün planlaması, bütçe, paketleme listeleri, fotoğraflar ve çok daha fazlası; hepsi tek bir yerde, kendi sunucunuzda.',
|
'settings.about.description':
|
||||||
|
'TREK, seyahatlerinizi ilk fikirden son anıya kadar organize etmenize yardımcı olan, kendi kendine barındırılan bir seyahat planlayıcıdır. Gün planlaması, bütçe, paketleme listeleri, fotoğraflar ve çok daha fazlası; hepsi tek bir yerde, kendi sunucunuzda.',
|
||||||
'settings.about.madeWith': 'İle yapıldı',
|
'settings.about.madeWith': 'İle yapıldı',
|
||||||
'settings.about.madeBy': 'Maurice ve büyüyen bir açık kaynak topluluğu tarafından.',
|
'settings.about.madeBy':
|
||||||
|
'Maurice ve büyüyen bir açık kaynak topluluğu tarafından.',
|
||||||
'settings.username': 'Kullanıcı adı',
|
'settings.username': 'Kullanıcı adı',
|
||||||
'settings.email': 'E-posta',
|
'settings.email': 'E-posta',
|
||||||
'settings.role': 'Rol',
|
'settings.role': 'Rol',
|
||||||
@@ -200,15 +234,19 @@ const settings: TranslationStrings = {
|
|||||||
'settings.passwordRequired': 'Lütfen mevcut ve yeni şifrenizi giriniz',
|
'settings.passwordRequired': 'Lütfen mevcut ve yeni şifrenizi giriniz',
|
||||||
'settings.passwordTooShort': 'Şifre en az 8 karakter olmalıdır',
|
'settings.passwordTooShort': 'Şifre en az 8 karakter olmalıdır',
|
||||||
'settings.passwordMismatch': 'Şifreler eşleşmiyor',
|
'settings.passwordMismatch': 'Şifreler eşleşmiyor',
|
||||||
'settings.passwordWeak': 'Şifre büyük harf, küçük harf, sayı ve özel karakter içermelidir',
|
'settings.passwordWeak':
|
||||||
|
'Şifre büyük harf, küçük harf, sayı ve özel karakter içermelidir',
|
||||||
'settings.passwordChanged': 'Şifre başarıyla değiştirildi',
|
'settings.passwordChanged': 'Şifre başarıyla değiştirildi',
|
||||||
'settings.mustChangePassword': 'Devam etmeden önce şifrenizi değiştirmelisiniz. Lütfen aşağıdan yeni bir şifre belirleyin.',
|
'settings.mustChangePassword':
|
||||||
|
'Devam etmeden önce şifrenizi değiştirmelisiniz. Lütfen aşağıdan yeni bir şifre belirleyin.',
|
||||||
'settings.deleteAccount': 'Hesabı sil',
|
'settings.deleteAccount': 'Hesabı sil',
|
||||||
'settings.deleteAccountTitle': 'Hesabınız silinsin mi?',
|
'settings.deleteAccountTitle': 'Hesabınız silinsin mi?',
|
||||||
'settings.deleteAccountWarning': 'Hesabınız ve tüm gezileriniz, yerleriniz ve dosyalarınız kalıcı olarak silinecek. Bu eylem geri alınamaz.',
|
'settings.deleteAccountWarning':
|
||||||
|
'Hesabınız ve tüm gezileriniz, yerleriniz ve dosyalarınız kalıcı olarak silinecek. Bu eylem geri alınamaz.',
|
||||||
'settings.deleteAccountConfirm': 'Kalıcı olarak sil',
|
'settings.deleteAccountConfirm': 'Kalıcı olarak sil',
|
||||||
'settings.deleteBlockedTitle': 'Silme mümkün değil',
|
'settings.deleteBlockedTitle': 'Silme mümkün değil',
|
||||||
'settings.deleteBlockedMessage': 'Tek yönetici sizsiniz. Hesabınızı silmeden önce başka bir kullanıcıyı yönetici olarak atayın.',
|
'settings.deleteBlockedMessage':
|
||||||
|
'Tek yönetici sizsiniz. Hesabınızı silmeden önce başka bir kullanıcıyı yönetici olarak atayın.',
|
||||||
'settings.roleUser': 'Kullanıcı',
|
'settings.roleUser': 'Kullanıcı',
|
||||||
'settings.saveProfile': 'Profili Kaydet',
|
'settings.saveProfile': 'Profili Kaydet',
|
||||||
'settings.toast.mapSaved': 'Harita ayarları kaydedildi',
|
'settings.toast.mapSaved': 'Harita ayarları kaydedildi',
|
||||||
@@ -221,33 +259,41 @@ const settings: TranslationStrings = {
|
|||||||
'settings.avatarRemoved': 'Profil resmi kaldırıldı',
|
'settings.avatarRemoved': 'Profil resmi kaldırıldı',
|
||||||
'settings.avatarError': 'Yükleme başarısız oldu',
|
'settings.avatarError': 'Yükleme başarısız oldu',
|
||||||
'settings.mfa.title': 'İki faktörlü kimlik doğrulama (2FA)',
|
'settings.mfa.title': 'İki faktörlü kimlik doğrulama (2FA)',
|
||||||
'settings.mfa.description': 'E-posta ve şifreyle oturum açtığınızda ikinci bir adım ekler. Bir kimlik doğrulama uygulaması kullanın (Google Authenticator, Authy vb.).',
|
'settings.mfa.description':
|
||||||
'settings.mfa.requiredByPolicy': 'Yöneticiniz iki faktörlü kimlik doğrulama gerektiriyor. Devam etmeden önce aşağıdan bir kimlik doğrulama uygulaması kurun.',
|
'E-posta ve şifreyle oturum açtığınızda ikinci bir adım ekler. Bir kimlik doğrulama uygulaması kullanın (Google Authenticator, Authy vb.).',
|
||||||
|
'settings.mfa.requiredByPolicy':
|
||||||
|
'Yöneticiniz iki faktörlü kimlik doğrulama gerektiriyor. Devam etmeden önce aşağıdan bir kimlik doğrulama uygulaması kurun.',
|
||||||
'settings.mfa.backupTitle': 'Yedekleme kodları',
|
'settings.mfa.backupTitle': 'Yedekleme kodları',
|
||||||
'settings.mfa.backupDescription': 'Kimlik doğrulayıcı uygulamanıza erişimi kaybederseniz bu tek seferlik yedek kodları kullanın.',
|
'settings.mfa.backupDescription':
|
||||||
'settings.mfa.backupWarning': 'Şimdi bu kodları kaydedin. Her kod yalnızca bir kez kullanılabilir.',
|
'Kimlik doğrulayıcı uygulamanıza erişimi kaybederseniz bu tek seferlik yedek kodları kullanın.',
|
||||||
|
'settings.mfa.backupWarning':
|
||||||
|
'Şimdi bu kodları kaydedin. Her kod yalnızca bir kez kullanılabilir.',
|
||||||
'settings.mfa.backupCopy': 'Kodları kopyala',
|
'settings.mfa.backupCopy': 'Kodları kopyala',
|
||||||
'settings.mfa.backupDownload': 'TXT\'yi İndirin',
|
'settings.mfa.backupDownload': "TXT'yi İndirin",
|
||||||
'settings.mfa.backupPrint': 'Yazdır / PDF',
|
'settings.mfa.backupPrint': 'Yazdır / PDF',
|
||||||
'settings.mfa.backupCopied': 'Yedek kodlar kopyalandı',
|
'settings.mfa.backupCopied': 'Yedek kodlar kopyalandı',
|
||||||
'settings.mfa.enabled': 'Hesabınızda 2FA etkin.',
|
'settings.mfa.enabled': 'Hesabınızda 2FA etkin.',
|
||||||
'settings.mfa.disabled': '2FA etkin değil.',
|
'settings.mfa.disabled': '2FA etkin değil.',
|
||||||
'settings.mfa.setup': 'Kimlik doğrulayıcıyı ayarla',
|
'settings.mfa.setup': 'Kimlik doğrulayıcıyı ayarla',
|
||||||
'settings.mfa.scanQr': 'Bu QR kodunu uygulamanızla tarayın veya sırrı manuel olarak girin.',
|
'settings.mfa.scanQr':
|
||||||
|
'Bu QR kodunu uygulamanızla tarayın veya sırrı manuel olarak girin.',
|
||||||
'settings.mfa.secretLabel': 'Gizli anahtar (manuel giriş)',
|
'settings.mfa.secretLabel': 'Gizli anahtar (manuel giriş)',
|
||||||
'settings.mfa.codePlaceholder': '6 haneli kod',
|
'settings.mfa.codePlaceholder': '6 haneli kod',
|
||||||
'settings.mfa.enable': '2FA\'yı Etkinleştir',
|
'settings.mfa.enable': "2FA'yı Etkinleştir",
|
||||||
'settings.mfa.cancelSetup': 'İptal etmek',
|
'settings.mfa.cancelSetup': 'İptal etmek',
|
||||||
'settings.mfa.disableTitle': '2FA\'yı devre dışı bırak',
|
'settings.mfa.disableTitle': "2FA'yı devre dışı bırak",
|
||||||
'settings.mfa.disableHint': 'Hesap şifrenizi ve kimlik doğrulayıcınızdan aldığınız geçerli kodu girin.',
|
'settings.mfa.disableHint':
|
||||||
'settings.mfa.disable': '2FA\'yı devre dışı bırak',
|
'Hesap şifrenizi ve kimlik doğrulayıcınızdan aldığınız geçerli kodu girin.',
|
||||||
|
'settings.mfa.disable': "2FA'yı devre dışı bırak",
|
||||||
'settings.mfa.toastEnabled': 'İki faktörlü kimlik doğrulama etkin',
|
'settings.mfa.toastEnabled': 'İki faktörlü kimlik doğrulama etkin',
|
||||||
'settings.mfa.toastDisabled': 'İki faktörlü kimlik doğrulama devre dışı',
|
'settings.mfa.toastDisabled': 'İki faktörlü kimlik doğrulama devre dışı',
|
||||||
'settings.mfa.demoBlocked': 'Demo modunda kullanılamaz',
|
'settings.mfa.demoBlocked': 'Demo modunda kullanılamaz',
|
||||||
'settings.oauth.modal.machineClient': 'Makine istemcisi (tarayıcıda oturum açma yok)',
|
'settings.oauth.modal.machineClient':
|
||||||
|
'Makine istemcisi (tarayıcıda oturum açma yok)',
|
||||||
'settings.oauth.modal.machineClientHint':
|
'settings.oauth.modal.machineClientHint':
|
||||||
"client_credentials iznini kullanın — yönlendirme URI'lerine gerek yoktur. Belirteç doğrudan client_id + client_secret ile verilir ve seçilen kapsamlar dahilinde sizin adınıza hareket eder.",
|
"client_credentials iznini kullanın — yönlendirme URI'lerine gerek yoktur. Belirteç doğrudan client_id + client_secret ile verilir ve seçilen kapsamlar dahilinde sizin adınıza hareket eder.",
|
||||||
'settings.oauth.modal.machineClientUsage': 'Bir jeton alın: grant_type=client_credentials, client_id ve client_secret ile POST /oauth/token. Tarayıcı yok, yenileme belirteci yok.',
|
'settings.oauth.modal.machineClientUsage':
|
||||||
|
'Bir jeton alın: grant_type=client_credentials, client_id ve client_secret ile POST /oauth/token. Tarayıcı yok, yenileme belirteci yok.',
|
||||||
'settings.oauth.badge.machine': 'makine',
|
'settings.oauth.badge.machine': 'makine',
|
||||||
};
|
};
|
||||||
export default settings;
|
export default settings;
|
||||||
|
|||||||
@@ -2,7 +2,8 @@ import type { TranslationStrings } from '../types';
|
|||||||
|
|
||||||
const share: TranslationStrings = {
|
const share: TranslationStrings = {
|
||||||
'share.linkTitle': 'Genel Bağlantı',
|
'share.linkTitle': 'Genel Bağlantı',
|
||||||
'share.linkHint': 'Herkesin giriş yapmadan bu geziyi görüntülemek için kullanabileceği bir bağlantı oluşturun. Salt okunur — düzenleme mümkün değildir.',
|
'share.linkHint':
|
||||||
|
'Herkesin giriş yapmadan bu geziyi görüntülemek için kullanabileceği bir bağlantı oluşturun. Salt okunur — düzenleme mümkün değildir.',
|
||||||
'share.createLink': 'Bağlantı oluştur',
|
'share.createLink': 'Bağlantı oluştur',
|
||||||
'share.deleteLink': 'Bağlantıyı sil',
|
'share.deleteLink': 'Bağlantıyı sil',
|
||||||
'share.createError': 'Bağlantı oluşturulamadı',
|
'share.createError': 'Bağlantı oluşturulamadı',
|
||||||
|
|||||||
@@ -1,41 +1,61 @@
|
|||||||
import type { TranslationStrings } from '../types';
|
import type { TranslationStrings } from '../types';
|
||||||
|
|
||||||
const system_notice: TranslationStrings = {
|
const system_notice: TranslationStrings = {
|
||||||
'system_notice.v3_photos.title': 'Fotoğraflar 3.0\'da taşındı',
|
'system_notice.v3_photos.title': "Fotoğraflar 3.0'da taşındı",
|
||||||
'system_notice.v3_photos.body': 'Seyahat Planlayıcı\'daki **Fotoğraflar** kaldırıldı. Fotoğraflarınız güvende — TREK Immich veya Synology kütüphanenizi asla değiştirmedi.\\n\\nFotoğraflar artık **Journey** eklentisinde. Journey isteğe bağlıdır — henüz kullanılamıyorsa yöneticinizden Yönetici → Eklentiler bölümünden etkinleştirmesini isteyin.',
|
'system_notice.v3_photos.body':
|
||||||
|
"Seyahat Planlayıcı'daki **Fotoğraflar** kaldırıldı. Fotoğraflarınız güvende — TREK Immich veya Synology kütüphanenizi asla değiştirmedi.\\n\\nFotoğraflar artık **Journey** eklentisinde. Journey isteğe bağlıdır — henüz kullanılamıyorsa yöneticinizden Yönetici → Eklentiler bölümünden etkinleştirmesini isteyin.",
|
||||||
'system_notice.v3_journey.title': 'Journey ile tanışın — seyahat günlüğü',
|
'system_notice.v3_journey.title': 'Journey ile tanışın — seyahat günlüğü',
|
||||||
'system_notice.v3_journey.body': 'Seyahatlerinizi zaman çizelgeleri, fotoğraf galerileri ve etkileşimli haritalarla zengin hikâyelere dönüştürün.',
|
'system_notice.v3_journey.body':
|
||||||
'system_notice.v3_journey.cta_label': 'Journey\'i Aç',
|
'Seyahatlerinizi zaman çizelgeleri, fotoğraf galerileri ve etkileşimli haritalarla zengin hikâyelere dönüştürün.',
|
||||||
'system_notice.v3_journey.highlight_timeline': 'Gün gün zaman çizelgesi ve galeri',
|
'system_notice.v3_journey.cta_label': "Journey'i Aç",
|
||||||
'system_notice.v3_journey.highlight_photos': 'Immich veya Synology\'den içe Aktar',
|
'system_notice.v3_journey.highlight_timeline':
|
||||||
'system_notice.v3_journey.highlight_share': 'Herkese açık paylaş — giriş gerekmez',
|
'Gün gün zaman çizelgesi ve galeri',
|
||||||
'system_notice.v3_journey.highlight_export': 'PDF fotoğraf kitabı Olarak dışa aktar',
|
'system_notice.v3_journey.highlight_photos':
|
||||||
'system_notice.v3_features.title': '3.0\'Daki diğer öne çıkanlar',
|
"Immich veya Synology'den içe Aktar",
|
||||||
'system_notice.v3_features.body': 'Bu sürüm hakkında bilmeniz gereken birkaç şey daha.',
|
'system_notice.v3_journey.highlight_share':
|
||||||
'system_notice.v3_features.highlight_dashboard': 'Mobil öncelikli gösterge paneli yenilemesi',
|
'Herkese açık paylaş — giriş gerekmez',
|
||||||
'system_notice.v3_features.highlight_offline': 'PWA olarak tam çevrimdışı mod',
|
'system_notice.v3_journey.highlight_export':
|
||||||
'system_notice.v3_features.highlight_search': 'Gerçek zamanlı yer arama otomatik tamamlama',
|
'PDF fotoğraf kitabı Olarak dışa aktar',
|
||||||
'system_notice.v3_features.highlight_import': 'KMZ/KML dosyalarından yer İçe aktarma',
|
'system_notice.v3_features.title': "3.0'Daki diğer öne çıkanlar",
|
||||||
|
'system_notice.v3_features.body':
|
||||||
|
'Bu sürüm hakkında bilmeniz gereken birkaç şey daha.',
|
||||||
|
'system_notice.v3_features.highlight_dashboard':
|
||||||
|
'Mobil öncelikli gösterge paneli yenilemesi',
|
||||||
|
'system_notice.v3_features.highlight_offline':
|
||||||
|
'PWA olarak tam çevrimdışı mod',
|
||||||
|
'system_notice.v3_features.highlight_search':
|
||||||
|
'Gerçek zamanlı yer arama otomatik tamamlama',
|
||||||
|
'system_notice.v3_features.highlight_import':
|
||||||
|
'KMZ/KML dosyalarından yer İçe aktarma',
|
||||||
'system_notice.v3_mcp.title': 'MCP: OAuth 2.1 yükseltmesi',
|
'system_notice.v3_mcp.title': 'MCP: OAuth 2.1 yükseltmesi',
|
||||||
'system_notice.v3_mcp.body': 'MCP entegrasyonu tamamen yenilendi. OAuth 2.1 artık önerilen kimlik doğrulama yöntemidir. Eski statik jetonlar (trek_…) kullanımdan kaldırıldı ve gelecekteki bir sürümde kaldırılacak.',
|
'system_notice.v3_mcp.body':
|
||||||
|
'MCP entegrasyonu tamamen yenilendi. OAuth 2.1 artık önerilen kimlik doğrulama yöntemidir. Eski statik jetonlar (trek_…) kullanımdan kaldırıldı ve gelecekteki bir sürümde kaldırılacak.',
|
||||||
'system_notice.v3_mcp.highlight_oauth': 'OAuth 2.1 önerilir (mcp-remote)',
|
'system_notice.v3_mcp.highlight_oauth': 'OAuth 2.1 önerilir (mcp-remote)',
|
||||||
'system_notice.v3_mcp.highlight_scopes': '24 ayrıntılı izin kapsamı',
|
'system_notice.v3_mcp.highlight_scopes': '24 ayrıntılı izin kapsamı',
|
||||||
'system_notice.v3_mcp.highlight_deprecated': 'Statik trek_ jetonları kullanımdan kaldırıldı',
|
'system_notice.v3_mcp.highlight_deprecated':
|
||||||
|
'Statik trek_ jetonları kullanımdan kaldırıldı',
|
||||||
'system_notice.v3_mcp.highlight_tools': 'Genişletilmiş araç seti ve istemler',
|
'system_notice.v3_mcp.highlight_tools': 'Genişletilmiş araç seti ve istemler',
|
||||||
'system_notice.v3_thankyou.title': 'Benden kişisel bir not',
|
'system_notice.v3_thankyou.title': 'Benden kişisel bir not',
|
||||||
'system_notice.v3_thankyou.body':
|
'system_notice.v3_thankyou.body':
|
||||||
"Before you go — I want to take a moment.\n\nTREK started as a side project I built for my own trips. I never imagined it would grow into something that 4,000 of you now trust to plan your adventures. Every star, every issue, every feature request — I read them all, and they keep me going through late nights between a full-time job and university.\n\nI want you to know: TREK will always be open source, always self-hosted, always yours. No tracking, no subscriptions, no strings attached. Just a tool built by someone who loves traveling as much as you do.\n\nSpecial thanks to [jubnl](https://github.com/jubnl) — you have become an incredible collaborator. So much of what makes 3.0 great carries your fingerprints. Thank you for believing in this project when it was still rough around the edges.\n\nAnd to every single one of you who filed a bug, translated a string, shared TREK with a friend, or simply used it to plan a trip — **thank you**. You are the reason this exists.\n\nHere's to many more adventures together.\n\n— Maurice\n\n---\n\n[Join the community on Discord](https://discord.gg/7Q6M6jDwzf)\n\nIf TREK makes your travels better, a [small coffee](https://ko-fi.com/mauriceboe) always keeps the lights on.",
|
"Before you go — I want to take a moment.\n\nTREK started as a side project I built for my own trips. I never imagined it would grow into something that 4,000 of you now trust to plan your adventures. Every star, every issue, every feature request — I read them all, and they keep me going through late nights between a full-time job and university.\n\nI want you to know: TREK will always be open source, always self-hosted, always yours. No tracking, no subscriptions, no strings attached. Just a tool built by someone who loves traveling as much as you do.\n\nSpecial thanks to [jubnl](https://github.com/jubnl) — you have become an incredible collaborator. So much of what makes 3.0 great carries your fingerprints. Thank you for believing in this project when it was still rough around the edges.\n\nAnd to every single one of you who filed a bug, translated a string, shared TREK with a friend, or simply used it to plan a trip — **thank you**. You are the reason this exists.\n\nHere's to many more adventures together.\n\n— Maurice\n\n---\n\n[Join the community on Discord](https://discord.gg/7Q6M6jDwzf)\n\nIf TREK makes your travels better, a [small coffee](https://ko-fi.com/mauriceboe) always keeps the lights on.",
|
||||||
'system_notice.v3014_whitespace_collision.title': 'İşlem gerekli: kullanıcı hesabı çakışması',
|
'system_notice.v3014_whitespace_collision.title':
|
||||||
'system_notice.v3014_whitespace_collision.body': '3.0.14 yükseltmesi, kayıtlı hesaplardaki baştaki/sondaki boşluklardan kaynaklanan bir veya daha fazla kullanıcı adı veya e-posta çakışması tespit etti. Etkilenen hesaplar otomatik olarak yeniden adlandırıldı. Hangi hesapların incelenmesi gerektiğini belirlemek için sunucu günlüklerinde **[migration] WHITESPACE COLLISION** ile başlayan satırlara bakın.',
|
'İşlem gerekli: kullanıcı hesabı çakışması',
|
||||||
'system_notice.welcome_v1.title': 'TREK\'e hoş Geldiniz',
|
'system_notice.v3014_whitespace_collision.body':
|
||||||
'system_notice.welcome_v1.body': 'Hepsi bir arada seyahat planlayıcınız. Program oluşturun, seyahatleri arkadaşlarınızla paylaşın ve çevrimiçi veya çevrimdışı düzenli kalın.',
|
'3.0.14 yükseltmesi, kayıtlı hesaplardaki baştaki/sondaki boşluklardan kaynaklanan bir veya daha fazla kullanıcı adı veya e-posta çakışması tespit etti. Etkilenen hesaplar otomatik olarak yeniden adlandırıldı. Hangi hesapların incelenmesi gerektiğini belirlemek için sunucu günlüklerinde **[migration] WHITESPACE COLLISION** ile başlayan satırlara bakın.',
|
||||||
|
'system_notice.welcome_v1.title': "TREK'e hoş Geldiniz",
|
||||||
|
'system_notice.welcome_v1.body':
|
||||||
|
'Hepsi bir arada seyahat planlayıcınız. Program oluşturun, seyahatleri arkadaşlarınızla paylaşın ve çevrimiçi veya çevrimdışı düzenli kalın.',
|
||||||
'system_notice.welcome_v1.cta_label': 'Seyahat planla',
|
'system_notice.welcome_v1.cta_label': 'Seyahat planla',
|
||||||
'system_notice.welcome_v1.hero_alt': 'TREK planlama arayüzü kaplamalı manzaralı bir seyahat destinasyonu',
|
'system_notice.welcome_v1.hero_alt':
|
||||||
'system_notice.welcome_v1.highlight_plan': 'Her seyahat için gün gün programlar',
|
'TREK planlama arayüzü kaplamalı manzaralı bir seyahat destinasyonu',
|
||||||
'system_notice.welcome_v1.highlight_share': 'Seyahat partnerleriyle işbirliği',
|
'system_notice.welcome_v1.highlight_plan':
|
||||||
|
'Her seyahat için gün gün programlar',
|
||||||
|
'system_notice.welcome_v1.highlight_share':
|
||||||
|
'Seyahat partnerleriyle işbirliği',
|
||||||
'system_notice.welcome_v1.highlight_offline': 'Mobilde çevrimdışı çalışır',
|
'system_notice.welcome_v1.highlight_offline': 'Mobilde çevrimdışı çalışır',
|
||||||
'system_notice.dev_test_modal.title': '[Dev] Test bildirimi',
|
'system_notice.dev_test_modal.title': '[Dev] Test bildirimi',
|
||||||
'system_notice.dev_test_modal.body': 'Bu yalnızca geliştirme ortamına özel bir test bildirimidir.',
|
'system_notice.dev_test_modal.body':
|
||||||
|
'Bu yalnızca geliştirme ortamına özel bir test bildirimidir.',
|
||||||
'system_notice.pager.prev': 'Önceki bildirim',
|
'system_notice.pager.prev': 'Önceki bildirim',
|
||||||
'system_notice.pager.next': 'Sonraki bildirim',
|
'system_notice.pager.next': 'Sonraki bildirim',
|
||||||
'system_notice.pager.counter': '{güncel} / {toplam}',
|
'system_notice.pager.counter': '{güncel} / {toplam}',
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ const trips: TranslationStrings = {
|
|||||||
'trips.reminderDays': 'gün',
|
'trips.reminderDays': 'gün',
|
||||||
'trips.reminderCustom': 'Özel',
|
'trips.reminderCustom': 'Özel',
|
||||||
'trips.reminderDaysBefore': 'hareketten önce gün',
|
'trips.reminderDaysBefore': 'hareketten önce gün',
|
||||||
'trips.reminderDisabledHint': 'Seyahat hatırlatıcıları kapalı. Yönetici > Ayarlar > Bildirimler bölümünden açın.',
|
'trips.reminderDisabledHint':
|
||||||
|
'Seyahat hatırlatıcıları kapalı. Yönetici > Ayarlar > Bildirimler bölümünden açın.',
|
||||||
};
|
};
|
||||||
export default trips;
|
export default trips;
|
||||||
|
|||||||
+24
-12
@@ -8,7 +8,8 @@ const vacay: TranslationStrings = {
|
|||||||
'vacay.addPrevYear': 'Önceki yılı ekle',
|
'vacay.addPrevYear': 'Önceki yılı ekle',
|
||||||
'vacay.removeYear': 'Yılı kaldır',
|
'vacay.removeYear': 'Yılı kaldır',
|
||||||
'vacay.removeYearConfirm': '{year} Kaldırılsın mı?',
|
'vacay.removeYearConfirm': '{year} Kaldırılsın mı?',
|
||||||
'vacay.removeYearHint': 'Bu yılın tüm tatil girişleri ve şirket tatilleri kalıcı olarak silinecek.',
|
'vacay.removeYearHint':
|
||||||
|
'Bu yılın tüm tatil girişleri ve şirket tatilleri kalıcı olarak silinecek.',
|
||||||
'vacay.remove': 'Kaldırmak',
|
'vacay.remove': 'Kaldırmak',
|
||||||
'vacay.persons': 'Kişiler',
|
'vacay.persons': 'Kişiler',
|
||||||
'vacay.noPersons': 'Hiç kişi eklenmedi',
|
'vacay.noPersons': 'Hiç kişi eklenmedi',
|
||||||
@@ -16,7 +17,8 @@ const vacay: TranslationStrings = {
|
|||||||
'vacay.editPerson': 'Kişiyi Düzenle',
|
'vacay.editPerson': 'Kişiyi Düzenle',
|
||||||
'vacay.removePerson': 'Kişiyi Kaldır',
|
'vacay.removePerson': 'Kişiyi Kaldır',
|
||||||
'vacay.removePersonConfirm': '{name} Kaldırılsın mı?',
|
'vacay.removePersonConfirm': '{name} Kaldırılsın mı?',
|
||||||
'vacay.removePersonHint': 'Bu kişinin tüm tatil girişleri kalıcı olarak silinecek.',
|
'vacay.removePersonHint':
|
||||||
|
'Bu kişinin tüm tatil girişleri kalıcı olarak silinecek.',
|
||||||
'vacay.personName': 'İsim',
|
'vacay.personName': 'İsim',
|
||||||
'vacay.personNamePlaceholder': 'Ad girin',
|
'vacay.personNamePlaceholder': 'Ad girin',
|
||||||
'vacay.color': 'Renk',
|
'vacay.color': 'Renk',
|
||||||
@@ -51,12 +53,16 @@ const vacay: TranslationStrings = {
|
|||||||
'vacay.calendarColor': 'Renk',
|
'vacay.calendarColor': 'Renk',
|
||||||
'vacay.noCalendars': 'Henüz tatil takvimi eklenmedi',
|
'vacay.noCalendars': 'Henüz tatil takvimi eklenmedi',
|
||||||
'vacay.companyHolidays': 'Şirket Tatilleri',
|
'vacay.companyHolidays': 'Şirket Tatilleri',
|
||||||
'vacay.companyHolidaysHint': 'Şirket çapında tatil günlerinin işaretlenmesine izin ver',
|
'vacay.companyHolidaysHint':
|
||||||
'vacay.companyHolidaysNoDeduct': 'Şirket tatilleri tatil günlerinden sayılmaz.',
|
'Şirket çapında tatil günlerinin işaretlenmesine izin ver',
|
||||||
|
'vacay.companyHolidaysNoDeduct':
|
||||||
|
'Şirket tatilleri tatil günlerinden sayılmaz.',
|
||||||
'vacay.weekStart': 'Hafta başlıyor',
|
'vacay.weekStart': 'Hafta başlıyor',
|
||||||
'vacay.weekStartHint': 'Takvim haftasının Pazartesi mi yoksa Pazar günü mü başlayacağını seçin',
|
'vacay.weekStartHint':
|
||||||
|
'Takvim haftasının Pazartesi mi yoksa Pazar günü mü başlayacağını seçin',
|
||||||
'vacay.carryOver': 'Devret',
|
'vacay.carryOver': 'Devret',
|
||||||
'vacay.carryOverHint': 'Kalan tatil günlerini otomatik olarak bir sonraki yıla taşıyın',
|
'vacay.carryOverHint':
|
||||||
|
'Kalan tatil günlerini otomatik olarak bir sonraki yıla taşıyın',
|
||||||
'vacay.sharing': 'Paylaşma',
|
'vacay.sharing': 'Paylaşma',
|
||||||
'vacay.sharingHint': 'Tatil planınızı diğer TREK kullanıcılarıyla paylaşın',
|
'vacay.sharingHint': 'Tatil planınızı diğer TREK kullanıcılarıyla paylaşın',
|
||||||
'vacay.owner': 'Mal sahibi',
|
'vacay.owner': 'Mal sahibi',
|
||||||
@@ -72,7 +78,8 @@ const vacay: TranslationStrings = {
|
|||||||
'vacay.noData': 'Veri yok',
|
'vacay.noData': 'Veri yok',
|
||||||
'vacay.changeColor': 'Rengi değiştir',
|
'vacay.changeColor': 'Rengi değiştir',
|
||||||
'vacay.inviteUser': 'Kullanıcıyı Davet Et',
|
'vacay.inviteUser': 'Kullanıcıyı Davet Et',
|
||||||
'vacay.inviteHint': 'Başka bir TREK kullanıcısını birleşik bir tatil takvimini paylaşmaya davet edin.',
|
'vacay.inviteHint':
|
||||||
|
'Başka bir TREK kullanıcısını birleşik bir tatil takvimini paylaşmaya davet edin.',
|
||||||
'vacay.selectUser': 'Kullanıcı seç',
|
'vacay.selectUser': 'Kullanıcı seç',
|
||||||
'vacay.sendInvite': 'Davet Gönder',
|
'vacay.sendInvite': 'Davet Gönder',
|
||||||
'vacay.inviteSent': 'Davet gönderildi',
|
'vacay.inviteSent': 'Davet gönderildi',
|
||||||
@@ -84,10 +91,15 @@ const vacay: TranslationStrings = {
|
|||||||
'vacay.acceptFusion': 'Kabul Et ve Sigortala',
|
'vacay.acceptFusion': 'Kabul Et ve Sigortala',
|
||||||
'vacay.inviteTitle': 'Füzyon Talebi',
|
'vacay.inviteTitle': 'Füzyon Talebi',
|
||||||
'vacay.inviteWantsToFuse': 'sizinle bir tatil takvimi paylaşmak istiyor.',
|
'vacay.inviteWantsToFuse': 'sizinle bir tatil takvimi paylaşmak istiyor.',
|
||||||
'vacay.fuseInfo1': 'İkiniz de tüm tatil kayıtlarını tek bir paylaşılan takvimde göreceksiniz.',
|
'vacay.fuseInfo1':
|
||||||
'vacay.fuseInfo2': 'Her iki taraf da birbirleri için girişler oluşturabilir ve düzenleyebilir.',
|
'İkiniz de tüm tatil kayıtlarını tek bir paylaşılan takvimde göreceksiniz.',
|
||||||
'vacay.fuseInfo3': 'Her iki taraf da girişleri silebilir ve tatil haklarını değiştirebilir.',
|
'vacay.fuseInfo2':
|
||||||
'vacay.fuseInfo4': 'Resmi tatiller ve şirket tatilleri gibi ayarlar paylaşılır.',
|
'Her iki taraf da birbirleri için girişler oluşturabilir ve düzenleyebilir.',
|
||||||
'vacay.fuseInfo5': 'Birleşme her iki tarafça da herhangi bir zamanda feshedilebilir. Girişleriniz korunacaktır.',
|
'vacay.fuseInfo3':
|
||||||
|
'Her iki taraf da girişleri silebilir ve tatil haklarını değiştirebilir.',
|
||||||
|
'vacay.fuseInfo4':
|
||||||
|
'Resmi tatiller ve şirket tatilleri gibi ayarlar paylaşılır.',
|
||||||
|
'vacay.fuseInfo5':
|
||||||
|
'Birleşme her iki tarafça da herhangi bir zamanda feshedilebilir. Girişleriniz korunacaktır.',
|
||||||
};
|
};
|
||||||
export default vacay;
|
export default vacay;
|
||||||
|
|||||||
Reference in New Issue
Block a user