From 859aa84c2d62242885d8a696ca68ce474896a589 Mon Sep 17 00:00:00 2001 From: Konstantinos Megas <44091936+nextdoorpanda@users.noreply.github.com> Date: Thu, 13 Oct 2022 11:30:42 +0300 Subject: adds greek translation (#4718) * adds greek translation * update translation * make fix-all * Typographic quotes merge Co-authored-by: Alexandre Alapetite --- app/i18n/el/admin.php | 216 +++++++++++++++++++++++++++++++++ app/i18n/el/conf.php | 283 ++++++++++++++++++++++++++++++++++++++++++++ app/i18n/el/feedback.php | 144 ++++++++++++++++++++++ app/i18n/el/gen.php | 236 ++++++++++++++++++++++++++++++++++++ app/i18n/el/index.php | 75 ++++++++++++ app/i18n/el/install.php | 133 +++++++++++++++++++++ app/i18n/el/sub.php | 213 +++++++++++++++++++++++++++++++++ app/i18n/el/user.php | 54 +++++++++ app/i18n/en-us/feedback.php | 2 +- app/i18n/en/feedback.php | 2 +- app/i18n/he/feedback.php | 2 +- 11 files changed, 1357 insertions(+), 3 deletions(-) create mode 100644 app/i18n/el/admin.php create mode 100644 app/i18n/el/conf.php create mode 100644 app/i18n/el/feedback.php create mode 100644 app/i18n/el/gen.php create mode 100644 app/i18n/el/index.php create mode 100644 app/i18n/el/install.php create mode 100644 app/i18n/el/sub.php create mode 100644 app/i18n/el/user.php (limited to 'app') diff --git a/app/i18n/el/admin.php b/app/i18n/el/admin.php new file mode 100644 index 000000000..b54e923c8 --- /dev/null +++ b/app/i18n/el/admin.php @@ -0,0 +1,216 @@ + array( + 'allow_anonymous' => 'Allow anonymous reading of the default user’s articles (%s)', // TODO + 'allow_anonymous_refresh' => 'Allow anonymous refresh of the articles', // TODO + 'api_enabled' => 'Allow API access (required for mobile apps)', // TODO + 'form' => 'Web form (σύνηθες, απαιτεί JavaScript)', + 'http' => 'HTTP (για έμπειρους χρήστες με )', + 'none' => 'Καμία (ριψοκίνδυνο)', + 'title' => 'Πιστοποίηση', + 'token' => 'Διακριτικό Πιστοποίησης (token)', + 'token_help' => 'Επιτρέπει την πρόσβαση στα RSS αποτελέσματα του προεπιλεγμένου χρήστη χωρίς έλεγχο ταυτότητας:', + 'type' => 'Μέθοδος Πιστοποίησης', + 'unsafe_autologin' => 'Επιτρέψτε την μη ασφαλή αυτόματη σύνδεση με την χρήση της μορφής: ', + ), + 'check_install' => array( + 'cache' => array( + 'nok' => 'Ελέγξτε τα δικαιώματα στον κατάλογο ./data/cache. Ο διακομιστής HTTP πρέπει να έχει δικαίωμα εγγραφής.', + 'ok' => 'Τα δικαιώματα στον κατάλογο προσωρινής μνήμης (cache) είναι εντάξει.', + ), + 'categories' => array( + 'nok' => 'Ο πίνακας κατηγορίας (Category) δεν έχει ρυθμιστεί σωστά.', + 'ok' => 'Ο πίνακας κατηγορίας (Category) είναι εντάξει.', + ), + 'connection' => array( + 'nok' => 'Δεν ήταν δυνατή η σύνδεση με την βάση δεδομένων.', + 'ok' => 'Η σύνδεση με την βάση δεδομένων είναι εντάξει.', + ), + 'ctype' => array( + 'nok' => 'Δεν βρέθηκε η απαιτούμενη βιβλιοθήκη για τον έλεγχο τύπου χαρακτήρων (php-ctype).', + 'ok' => 'Βρέθηκε η απαιτούμενη βιβλιοθήκη για τον έλεγχο τύπου χαρακτήρων (ctype).', + ), + 'curl' => array( + 'nok' => 'Δεν βρέθηκε η βιβλιοθήκη cURL (php-curl package).', + 'ok' => 'Βρέθηκε η βιβλιοθήκη cURL.', + ), + 'data' => array( + 'nok' => 'Ελέγξτε τα δικαιώματα στον κατάλογο ./data. Ο διακομιστής HTTP πρέπει να έχει δικαίωμα εγγραφής.', + 'ok' => 'Τα δικαιώματα στον κατάλογο δεδομένων (data) είναι εντάξει.', + ), + 'database' => 'Εγκατάσταση βάσης δεδομένων', + 'dom' => array( + 'nok' => 'Δεν βρέθηκε η απαιτούμενη βιβλιοθήκη για περιήγηση στο DOM (php-xml package).', + 'ok' => 'Βρέθηκε η απαιτούμενη βιβλιοθήκη για περιήγηση στο DOM.', + ), + 'entries' => array( + 'nok' => 'Ο πίνακας καταχώρισης (Entry) δεν έχει ρυθμιστεί σωστά..', + 'ok' => 'Ο πίνακας καταχώρισης (Entry) είναι εντάξει.', + ), + 'favicons' => array( + 'nok' => 'Ελέγξτε τα δικαιώματα στον κατάλογο ./data/favicons. Ο διακομιστής HTTP πρέπει να έχει δικαίωμα εγγραφής.', + 'ok' => 'Τα δικαιώματα στον κατάλογο δεδομένων (favicons) είναι εντάξει.', + ), + 'feeds' => array( + 'nok' => 'Ο πίνακας τροφοδοσίας (Feed) δεν έχει ρυθμιστεί σωστά..', + 'ok' => 'Ο πίνακας τροφοδοσίας (Feed) είναι εντάξει.', + ), + 'fileinfo' => array( + 'nok' => 'Δεν βρέθηκε η βιβλιοθήκη PHP fileinfo (fileinfo package).', + 'ok' => 'Βρέθηκε η βιβλιοθήκη fileinfo.', + ), + 'files' => 'Εγκατάσταση αρχείων', + 'json' => array( + 'nok' => 'Δεν βρέθηκε η επέκταση JSON (php-json package).', + 'ok' => 'Βρέθηκε η επέκταση JSON.', + ), + 'mbstring' => array( + 'nok' => 'Δεν βρέθηκε η συνιστώμενη βιβλιοθήκη mbstring για Unicode.', + 'ok' => 'Βρέθηκε η συνιστώμενη βιβλιοθήκη mbstring για Unicode.', + ), + 'pcre' => array( + 'nok' => 'Δεν βρέθηκε η απαιτούμενη βιβλιοθήκη για regular expressions (php-pcre).', + 'ok' => 'Βρέθηκε η απαιτούμενη βιβλιοθήκη για regular expressions (PCRE).', + ), + 'pdo' => array( + 'nok' => 'Δεν βρέθηκε ο PDO ή ένας από τους υποστηριζόμενους οδηγούς (pdo_mysql, pdo_sqlite, pdo_pgsql).', + 'ok' => 'Βρέθηκε ο PDO ή ένας από τους υποστηριζόμενους οδηγούς (pdo_mysql, pdo_sqlite, pdo_pgsql).', + ), + 'php' => array( + '_' => 'Εγκατάσταση PHP', + 'nok' => 'Η έκδοση της PHP σας είναι %s, αλλά το FreshRSS απαιτεί τουλάχιστον έκδοση %s.', + 'ok' => 'Η έκδοση της PHP σας, %s, είναι συμβατή με το FreshRSS.', + ), + 'tables' => array( + 'nok' => 'Λείπουν ένας ή περισσότεροι πίνακες από την βάση δεδομένων.', + 'ok' => 'Υπάρχουν οι κατάλληλοι φάκελοι στην βάση δεδομένων.', + ), + 'title' => 'Έλεγχος εγκατάστασης', + 'tokens' => array( + 'nok' => 'Ελέγξτε τα δικαιώματα στον κατάλογο ./data/tokens. Ο διακομιστής HTTP πρέπει να έχει δικαίωμα εγγραφής', + 'ok' => 'Τα δικαιώματα στον κατάλογο διακριτικών (tokens) είναι εντάξει.', + ), + 'users' => array( + 'nok' => 'Ελέγξτε τα δικαιώματα στον κατάλογο ./data/users. Ο διακομιστής HTTP πρέπει να έχει δικαίωμα εγγραφής', + 'ok' => 'Τα δικαιώματα στον κατάλογο χρηστών (users) είναι εντάξει.', + ), + 'zip' => array( + 'nok' => 'Δεν βρέθηκε η επέκταση ZIP (php-zip package).', + 'ok' => 'Βρέθηκε η επέκταση ZIP .', + ), + ), + 'extensions' => array( + 'author' => 'Συντάκτης', + 'community' => 'Διαθέσιμες επεκτάσεις κοινότητας', + 'description' => 'Περιγραφή', + 'disabled' => 'Απενεργοποιημένες', + 'empty_list' => 'Δεν υπάρχουν εγκατεστημένες επεκτάσεις', + 'enabled' => 'Ενεργοποιημένες', + 'latest' => 'Εγκατεστημένες', + 'name' => 'Όνομα', + 'no_configure_view' => 'Αυτή η επέκταση δεν μπορεί να ρυθμιστεί.', + 'system' => array( + '_' => 'Επεκτάσεις συστήματος', + 'no_rights' => 'Επέκταση συστήματος (δεν έχετε τα απαραίτητα δικαιώματα)', + ), + 'title' => 'Επεκτάσεις', + 'update' => 'Διαθέσιμη ενημέρωση', + 'user' => 'Επεκτάσεις χρήστη', + 'version' => 'Έκδοση', + ), + 'stats' => array( + '_' => 'Στατιστικά', + 'all_feeds' => 'Όλες οι τροφοδοσίες', + 'category' => 'Κατηγορία', + 'entry_count' => 'Αριθμός καταχωρίσεων', + 'entry_per_category' => 'Καταχωρίσεις ανά κατηγορία', + 'entry_per_day' => 'Καταχωρίσεις ανά ημέρα (τελευταίες 30 ημέρες)', + 'entry_per_day_of_week' => 'Ανά ημέρα της εβδομάδας (μέσος όρος: %.2f μηνύματα)', + 'entry_per_hour' => 'Ανά ώρα (μέσος όρος: %.2f μηνύματα)', + 'entry_per_month' => 'Ανά μήνα (μέσος όρος: %.2f μηνύματα)', + 'entry_repartition' => 'Entries repartition', // TODO + 'feed' => 'Τροφοδοσία', + 'feed_per_category' => 'Τροφοδοσίες ανά κατηγορία', + 'idle' => 'Αδρανείς τροφοδοσίες', + 'main' => 'Κύρια στατισικά', + 'main_stream' => 'Κύρια ροή', + 'no_idle' => 'Δεν υπάρχουν αδρανείς τροφοδοσίες!', + 'number_entries' => '%d άρθρα', + 'percent_of_total' => '%% εκ του συνόλου', + 'repartition' => 'Articles repartition', // TODO + 'status_favorites' => 'Αγαπημένα', + 'status_read' => 'Ανάγνωση', + 'status_total' => 'Σύνολο', + 'status_unread' => 'Μη αναγνωσμένα', + 'title' => 'Στατιστικά', + 'top_feed' => 'Κορυφαίες δέκα τροφοδοσίες', + ), + 'system' => array( + '_' => 'Ρυθμίσεις συστήματος', + 'auto-update-url' => 'Αυτόματη ενημέρωση URL διακομιστή', + 'cookie-duration' => array( + 'help' => 'σε δευτερόλεπτα', + 'number' => 'Διάρκεια παραμονής σε σύνδεση', + ), + 'force_email_validation' => 'Επιβολή επιβεβαίωσης διεύθυνσης email', + 'instance-name' => 'Instance name', // TODO + 'max-categories' => 'Μέγιστος αριθμός κατηγοριών ανά χρήστη', + 'max-feeds' => 'Μέγιστος αριθμός τροφοδοσιών ανά χρήστη', + 'registration' => array( + 'number' => 'Μέγιστος αριθμός λογαριασμών', + 'select' => array( + 'label' => 'Φόρμα εγγραφής', + 'option' => array( + 'noform' => 'Απενεργοποιημένη: Χωρίς φόρμα εγγραφής', + 'nolimit' => 'Ενεργοποιημένη: Χωρίς όριο λογαριασμών', + 'setaccountsnumber' => 'Ορίστε μέγιστο αριθμό λογαριασμών', + ), + ), + 'status' => array( + 'disabled' => 'Η φόρμα είναι απενεργοποιημένη', + 'enabled' => 'Η φόρμα είναι ενεργοποιημένη', + ), + 'title' => 'Φόρμα εγγραφής χρήστη', + ), + ), + 'update' => array( + '_' => 'Ενημέρωση συστήματος', + 'apply' => 'Εφαρμογή', + 'check' => 'Έλεγχος για νέες ενημερώσεις', + 'current_version' => 'Η τρέχουσα έκδοση του FreshRSS είναι %s.', + 'last' => 'Τελευταία επαλήθευση: %s', + 'none' => 'Δεν υπάρχουν ενημερώσεις', + 'title' => 'Ενημέρωση συστήματος', + ), + 'user' => array( + 'admin' => 'Διαχειριστής', + 'article_count' => 'Άρθρα', + 'back_to_manage' => '← Επιστροφή στην λίστα χρηστών', + 'create' => 'Δημιουργια νέου χρήστη', + 'database_size' => 'Μέγεθος βάσης δεδομένων', + 'email' => 'Διεύθυνση email', + 'enabled' => 'Ενεργοποιημένο', + 'feed_count' => 'Τροφοδοσίες', + 'is_admin' => 'Είναι διαχειριστής', + 'language' => 'Γλώσσα', + 'last_user_activity' => 'Τελευταία δραστηριότητα χρήστη', + 'list' => 'Λίστα χρηστών', + 'number' => 'Δημιουργήθηκε %d λογαριασμός', + 'numbers' => 'Δημιουργήθηκαν %d λογαριασμοί', + 'password_form' => 'Κωδικός πρόσβασης
(για την μέθοδο σύνδεσης με Web-form)', + 'password_format' => 'Τουλάχιστον 7 χαρακτήρες', + 'title' => 'Διαχείριση χρηστών', + 'username' => 'Όνομα χρήστη', + ), +); diff --git a/app/i18n/el/conf.php b/app/i18n/el/conf.php new file mode 100644 index 000000000..c33e838f0 --- /dev/null +++ b/app/i18n/el/conf.php @@ -0,0 +1,283 @@ + array( + '_' => 'Archiving', // TODO + 'exception' => 'Purge exception', // TODO + 'help' => 'More options are available in the individual feed’s settings', // TODO + 'keep_favourites' => 'Never delete favourites', // TODO + 'keep_labels' => 'Never delete labels', // TODO + 'keep_max' => 'Maximum number of articles to keep', // TODO + 'keep_min_by_feed' => 'Minimum number of articles to keep per feed', // TODO + 'keep_period' => 'Maximum age of articles to keep', // TODO + 'keep_unreads' => 'Never delete unread articles', // TODO + 'maintenance' => 'Maintenance', // TODO + 'optimize' => 'Optimize database', // TODO + 'optimize_help' => 'Run occasionally to reduce the size of the database', // TODO + 'policy' => 'Purge policy', // TODO + 'policy_warning' => 'If no purge policy is selected, every article will be kept.', // TODO + 'purge_now' => 'Purge now', // TODO + 'title' => 'Archiving', // TODO + 'ttl' => 'Do not automatically refresh more often than', // TODO + ), + 'display' => array( + '_' => 'Display', // TODO + 'icon' => array( + 'bottom_line' => 'Bottom line', // TODO + 'display_authors' => 'Authors', // TODO + 'entry' => 'Article icons', // TODO + 'publication_date' => 'Date of publication', // TODO + 'related_tags' => 'Article tags', // TODO + 'sharing' => 'Sharing', // TODO + 'summary' => 'Summary', // TODO + 'top_line' => 'Top line', // TODO + ), + 'language' => 'Language', // TODO + 'notif_html5' => array( + 'seconds' => 'seconds (0 means no timeout)', // TODO + 'timeout' => 'HTML5 notification timeout', // TODO + ), + 'show_nav_buttons' => 'Show the navigation buttons', // TODO + 'theme' => 'Theme', // TODO + 'theme_not_available' => 'The “%s” theme is not available anymore. Please choose another theme.', // TODO + 'thumbnail' => array( + 'label' => 'Thumbnail', // TODO + 'landscape' => 'Landscape', // TODO + 'none' => 'None', // TODO + 'portrait' => 'Portrait', // TODO + 'square' => 'Square', // TODO + ), + 'title' => 'Display', // TODO + 'width' => array( + 'content' => 'Content width', // TODO + 'large' => 'Wide', // TODO + 'medium' => 'Medium', // TODO + 'no_limit' => 'Full Width', // TODO + 'thin' => 'Narrow', // TODO + ), + ), + 'logs' => array( + 'loglist' => array( + 'level' => 'Log Level', // TODO + 'message' => 'Log Message', // TODO + 'timestamp' => 'Timestamp', // TODO + ), + 'pagination' => array( + 'first' => 'First', // TODO + 'last' => 'Last', // TODO + 'next' => 'Next', // TODO + 'previous' => 'Previous', // TODO + ), + ), + 'profile' => array( + '_' => 'Profile management', // TODO + 'api' => 'API management', // TODO + 'delete' => array( + '_' => 'Account deletion', // TODO + 'warn' => 'Your account and all related data will be deleted.', // TODO + ), + 'email' => 'Email address', // TODO + 'password_api' => 'API password
(e.g., for mobile apps)', // TODO + 'password_form' => 'Password
(for the Web-form login method)', // TODO + 'password_format' => 'At least 7 characters', // TODO + 'title' => 'Profile', // TODO + ), + 'query' => array( + '_' => 'User queries', // TODO + 'deprecated' => 'This query is no longer valid. The referenced category or feed has been deleted.', // TODO + 'filter' => array( + '_' => 'Filter applied:', // TODO + 'categories' => 'Display by category', // TODO + 'feeds' => 'Display by feed', // TODO + 'order' => 'Sort by date', // TODO + 'search' => 'Expression', // TODO + 'state' => 'State', // TODO + 'tags' => 'Display by tag', // TODO + 'type' => 'Type', // TODO + ), + 'get_all' => 'Display all articles', // TODO + 'get_category' => 'Display “%s” category', // TODO + 'get_favorite' => 'Display favourite articles', // TODO + 'get_feed' => 'Display “%s” feed', // TODO + 'name' => 'Name', // TODO + 'no_filter' => 'No filter', // TODO + 'number' => 'Query n°%d', // TODO + 'order_asc' => 'Display oldest articles first', // TODO + 'order_desc' => 'Display newest articles first', // TODO + 'search' => 'Search for “%s”', // TODO + 'state_0' => 'Display all articles', // TODO + 'state_1' => 'Display read articles', // TODO + 'state_2' => 'Display unread articles', // TODO + 'state_3' => 'Display all articles', // TODO + 'state_4' => 'Display favourite articles', // TODO + 'state_5' => 'Display read favourite articles', // TODO + 'state_6' => 'Display unread favourite articles', // TODO + 'state_7' => 'Display favourite articles', // TODO + 'state_8' => 'Display not favourite articles', // TODO + 'state_9' => 'Display read not favourite articles', // TODO + 'state_10' => 'Display unread not favourite articles', // TODO + 'state_11' => 'Display not favourite articles', // TODO + 'state_12' => 'Display all articles', // TODO + 'state_13' => 'Display read articles', // TODO + 'state_14' => 'Display unread articles', // TODO + 'state_15' => 'Display all articles', // TODO + 'title' => 'User queries', // TODO + ), + 'reading' => array( + '_' => 'Reading', // TODO + 'after_onread' => 'After “mark all as read”,', // TODO + 'always_show_favorites' => 'Show all articles in favourites by default', // TODO + 'article' => array( + 'authors_date' => array( + '_' => 'Authors and date', // TODO + 'both' => 'In header and footer', // TODO + 'footer' => 'In footer', // TODO + 'header' => 'In header', // TODO + 'none' => 'None', // TODO + ), + 'feed_name' => array( + 'above_title' => 'Above title/tags', // TODO + 'none' => 'None', // TODO + 'with_authors' => 'In authors and date row', // TODO + ), + 'feed_title' => 'Feed title', // TODO + 'tags' => array( + '_' => 'Tags', // TODO + 'both' => 'In header and footer', // TODO + 'footer' => 'In footer', // TODO + 'header' => 'In header', // TODO + 'none' => 'None', // TODO + ), + 'tags_max' => array( + '_' => 'Max number of tags shown', // TODO + 'help' => '0 means: show all tags and do not collapse them', // TODO + ), + ), + 'articles_per_page' => 'Number of articles per page', // TODO + 'auto_load_more' => 'Load more articles at the bottom of the page', // TODO + 'auto_remove_article' => 'Hide articles after reading', // TODO + 'confirm_enabled' => 'Display a confirmation dialog on “mark all as read” actions', // TODO + 'display_articles_unfolded' => 'Show articles unfolded by default', // TODO + 'display_categories_unfolded' => 'Categories to unfold', // TODO + 'headline' => array( + 'articles' => 'Articles: Open/Close', // TODO + 'articles_header_footer' => 'Articles: header/footer', // TODO + 'categories' => 'Left navigation: Categories', // TODO + 'mark_as_read' => 'Mark article as read', // TODO + 'misc' => 'Miscellaneous', // TODO + 'view' => 'View', // TODO + ), + 'hide_read_feeds' => 'Hide categories & feeds with no unread articles (does not work with “Show all articles” configuration)', // TODO + 'img_with_lazyload' => 'Use lazy load mode to load pictures', // TODO + 'jump_next' => 'jump to next unread sibling (feed or category)', // TODO + 'mark_updated_article_unread' => 'Mark updated articles as unread', // TODO + 'number_divided_when_reader' => 'Divide by 2 in the reading view.', // TODO + 'read' => array( + 'article_open_on_website' => 'when the article is opened on its original website', // TODO + 'article_viewed' => 'when the article is viewed', // TODO + 'keep_max_n_unread' => 'Max number of articles to keep unread', // TODO + 'scroll' => 'while scrolling', // TODO + 'upon_gone' => 'when it is no longer in the upstream news feed', // TODO + 'upon_reception' => 'upon receiving the article', // TODO + 'when' => 'Mark an article as read…', // TODO + 'when_same_title' => 'if an identical title already exists in the top n newest articles', // TODO + ), + 'show' => array( + '_' => 'Articles to display', // TODO + 'active_category' => 'Active category', // TODO + 'adaptive' => 'Adjust showing', // TODO + 'all_articles' => 'Show all articles', // TODO + 'all_categories' => 'All categories', // TODO + 'no_category' => 'No category', // TODO + 'remember_categories' => 'Remember open categories', // TODO + 'unread' => 'Show only unread', // TODO + ), + 'show_fav_unread_help' => 'Applies also on labels', // TODO + 'sides_close_article' => 'Clicking outside of article text area closes the article', // TODO + 'sort' => array( + '_' => 'Sort order', // TODO + 'newer_first' => 'Newest first', // TODO + 'older_first' => 'Oldest first', // TODO + ), + 'sticky_post' => 'Stick the article to the top when opened', // TODO + 'title' => 'Reading', // TODO + 'view' => array( + 'default' => 'Default view', // TODO + 'global' => 'Global view', // TODO + 'normal' => 'Normal view', // TODO + 'reader' => 'Reading view', // TODO + ), + ), + 'sharing' => array( + '_' => 'Sharing', // TODO + 'add' => 'Add a sharing method', // TODO + 'blogotext' => 'Blogotext', // TODO + 'deprecated' => 'This service is deprecated and will be removed from FreshRSS in a future release.', // TODO + 'diaspora' => 'Diaspora*', // TODO + 'email' => 'Email', // TODO + 'facebook' => 'Facebook', // TODO + 'more_information' => 'More information', // TODO + 'print' => 'Print', // TODO + 'raindrop' => 'Raindrop.io', // TODO + 'remove' => 'Remove sharing method', // TODO + 'shaarli' => 'Shaarli', // TODO + 'share_name' => 'Share name to display', // TODO + 'share_url' => 'Share URL to use', // TODO + 'title' => 'Sharing', // TODO + 'twitter' => 'Twitter', // TODO + 'wallabag' => 'wallabag', // TODO + ), + 'shortcut' => array( + '_' => 'Shortcuts', // TODO + 'article_action' => 'Article actions', // TODO + 'auto_share' => 'Share', // TODO + 'auto_share_help' => 'If there is only one sharing mode, it is used. Otherwise, modes are accessible by their number.', // TODO + 'close_dropdown' => 'Close menus', // TODO + 'collapse_article' => 'Collapse', // TODO + 'first_article' => 'Open the first article', // TODO + 'focus_search' => 'Access search box', // TODO + 'global_view' => 'Switch to global view', // TODO + 'help' => 'Display documentation', // TODO + 'javascript' => 'JavaScript must be enabled in order to use shortcuts', // TODO + 'last_article' => 'Open the last article', // TODO + 'load_more' => 'Load more articles', // TODO + 'mark_favorite' => 'Toggle favourite', // TODO + 'mark_read' => 'Toggle read', // TODO + 'navigation' => 'Navigation', // TODO + 'navigation_help' => 'With the ⇧ Shift modifier, navigation shortcuts apply on feeds.
With the Alt ⎇ modifier, navigation shortcuts apply on categories.', // TODO + 'navigation_no_mod_help' => 'The following navigation shortcuts do not support modifiers.', // TODO + 'next_article' => 'Open the next article', // TODO + 'next_unread_article' => 'Open the next unread article', // TODO + 'non_standard' => 'Some keys (%s) may not work as shortcuts.', // TODO + 'normal_view' => 'Switch to normal view', // TODO + 'other_action' => 'Other actions', // TODO + 'previous_article' => 'Open the previous article', // TODO + 'reading_view' => 'Switch to reading view', // TODO + 'rss_view' => 'Open as RSS feed', // TODO + 'see_on_website' => 'See on original website', // TODO + 'shift_for_all_read' => '+ Alt ⎇ to mark previous articles as read
+ ⇧ Shift to mark all articles as read', // TODO + 'skip_next_article' => 'Focus next without opening', // TODO + 'skip_previous_article' => 'Focus previous without opening', // TODO + 'title' => 'Shortcuts', // TODO + 'toggle_media' => 'Play/pause media', // TODO + 'user_filter' => 'Access user queries', // TODO + 'user_filter_help' => 'If there is only one user query, it is used. Otherwise, queries are accessible by their number.', // TODO + 'views' => 'Views', // TODO + ), + 'user' => array( + 'articles_and_size' => '%s articles (%s)', // TODO + 'current' => 'Current user', // TODO + 'is_admin' => 'is administrator', // TODO + 'users' => 'Users', // TODO + ), +); diff --git a/app/i18n/el/feedback.php b/app/i18n/el/feedback.php new file mode 100644 index 000000000..c7329eb77 --- /dev/null +++ b/app/i18n/el/feedback.php @@ -0,0 +1,144 @@ + array( + 'denied' => 'You don’t have permission to access this page', // TODO + 'not_found' => 'You are looking for a page that doesn’t exist', // TODO + ), + 'admin' => array( + 'optimization_complete' => 'Optimization complete', // TODO + ), + 'api' => array( + 'password' => array( + 'failed' => 'Your password cannot be modified', // TODO + 'updated' => 'Your password has been modified', // TODO + ), + ), + 'auth' => array( + 'login' => array( + 'invalid' => 'Login is invalid', // TODO + 'success' => 'You are connected', // TODO + ), + 'logout' => array( + 'success' => 'You are disconnected', // TODO + ), + ), + 'conf' => array( + 'error' => 'An error occurred while saving configuration', // TODO + 'query_created' => 'Query “%s” has been created.', // TODO + 'shortcuts_updated' => 'Shortcuts have been updated', // TODO + 'updated' => 'Configuration has been updated', // TODO + ), + 'extensions' => array( + 'already_enabled' => '%s is already enabled', // TODO + 'cannot_remove' => '%s cannot be removed', // TODO + 'disable' => array( + 'ko' => '%s cannot be disabled. Check FreshRSS logs for details.', // TODO + 'ok' => '%s is now disabled', // TODO + ), + 'enable' => array( + 'ko' => '%s cannot be enabled. Check FreshRSS logs for details.', // TODO + 'ok' => '%s is now enabled', // TODO + ), + 'no_access' => 'You have no access on %s', // TODO + 'not_enabled' => '%s is not enabled', // TODO + 'not_found' => '%s does not exist', // TODO + 'removed' => '%s removed', // TODO + ), + 'import_export' => array( + 'export_no_zip_extension' => 'The ZIP extension is not present on your server. Please try to export files one by one.', // TODO + 'feeds_imported' => 'Your feeds have been imported and will now be updated', // TODO + 'feeds_imported_with_errors' => 'Your feeds have been imported, but some errors occurred', // TODO + 'file_cannot_be_uploaded' => 'File cannot be uploaded!', // TODO + 'no_zip_extension' => 'The ZIP extension is not present on your server.', // TODO + 'zip_error' => 'An error occurred during ZIP import.', // TODO + ), + 'profile' => array( + 'error' => 'Your profile cannot be modified', // TODO + 'updated' => 'Your profile has been modified', // TODO + ), + 'sub' => array( + 'actualize' => 'Updating', // TODO + 'articles' => array( + 'marked_read' => 'The selected articles have been marked as read.', // TODO + 'marked_unread' => 'The articles have been marked as unread.', // TODO + ), + 'category' => array( + 'created' => 'Category %s has been created.', // TODO + 'deleted' => 'Category has been deleted.', // TODO + 'emptied' => 'Category has been emptied', // TODO + 'error' => 'Category cannot be updated', // TODO + 'name_exists' => 'Category name already exists.', // TODO + 'no_id' => 'You must specify the id of the category.', // TODO + 'no_name' => 'Category name cannot be empty.', // TODO + 'not_delete_default' => 'You cannot delete the default category!', // TODO + 'not_exist' => 'The category does not exist!', // TODO + 'over_max' => 'You have reached your limit of categories (%d)', // TODO + 'updated' => 'Category has been updated.', // TODO + ), + 'feed' => array( + 'actualized' => '%s has been updated', // TODO + 'actualizeds' => 'RSS feeds have been updated', // TODO + 'added' => 'RSS feed %s has been added', // TODO + 'already_subscribed' => 'You have already subscribed to %s', // TODO + 'cache_cleared' => '%s cache has been cleared', // TODO + 'deleted' => 'Feed has been deleted', // TODO + 'error' => 'Feed cannot be updated', // TODO + 'internal_problem' => 'The newsfeed could not be added. Check FreshRSS logs for details. You can try force adding by appending #force_feed to the URL.', // TODO + 'invalid_url' => 'URL %s is invalid', // TODO + 'n_actualized' => '%d feeds have been updated', // TODO + 'n_entries_deleted' => '%d articles have been deleted', // TODO + 'no_refresh' => 'There are no feeds to refresh', // TODO + 'not_added' => '%s could not be added', // TODO + 'not_found' => 'Feed cannot be found', // TODO + 'over_max' => 'You have reached your limit of feeds (%d)', // TODO + 'reloaded' => '%s has been reloaded', // TODO + 'selector_preview' => array( + 'http_error' => 'Failed to load website content.', // TODO + 'no_entries' => 'There are no articles in this feed. You need at least one article to create a preview.', // TODO + 'no_feed' => 'Internal error (feed cannot be found).', // TODO + 'no_result' => 'The selector didn’t match anything. As a fallback the original feed text will be displayed instead.', // TODO + 'selector_empty' => 'The selector is empty. You need to define one to create a preview.', // TODO + ), + 'updated' => 'Feed has been updated', // TODO + ), + 'purge_completed' => 'Purge completed (%d articles deleted)', // TODO + ), + 'tag' => array( + 'created' => 'Tag “%s” has been created.', // TODO + 'name_exists' => 'Tag name already exists.', // TODO + 'renamed' => 'Tag “%s” has been renamed to “%s”.', // TODO + ), + 'update' => array( + 'can_apply' => 'FreshRSS will now be updated to the version %s.', // TODO + 'error' => 'The update process has encountered an error: %s', // TODO + 'file_is_nok' => 'New version %s available, but check permissions on %s directory. HTTP server must have have write permission', // TODO + 'finished' => 'Update complete!', // TODO + 'none' => 'No update to apply', // TODO + 'server_not_found' => 'Update server cannot be found. [%s]', // TODO + ), + 'user' => array( + 'created' => array( + '_' => 'User %s has been created', // TODO + 'error' => 'User %s cannot be created', // TODO + ), + 'deleted' => array( + '_' => 'User %s has been deleted', // TODO + 'error' => 'User %s cannot be deleted', // TODO + ), + 'updated' => array( + '_' => 'User %s has been updated', // TODO + 'error' => 'User %s has not been updated', // TODO + ), + ), +); diff --git a/app/i18n/el/gen.php b/app/i18n/el/gen.php new file mode 100644 index 000000000..576d01bb8 --- /dev/null +++ b/app/i18n/el/gen.php @@ -0,0 +1,236 @@ + array( + 'actualize' => 'Update feeds', // TODO + 'add' => 'Add', // TODO + 'back' => '← Go back', // TODO + 'back_to_rss_feeds' => '← Go back to your RSS feeds', // TODO + 'cancel' => 'Cancel', // TODO + 'create' => 'Create', // TODO + 'delete_muted_feeds' => 'Delete muted feeds', // TODO + 'demote' => 'Demote', // TODO + 'disable' => 'Disable', // TODO + 'empty' => 'Empty', // TODO + 'enable' => 'Enable', // TODO + 'export' => 'Export', // TODO + 'filter' => 'Filter', // TODO + 'import' => 'Import', // TODO + 'load_default_shortcuts' => 'Load default shortcuts', // TODO + 'manage' => 'Manage', // TODO + 'mark_read' => 'Mark as read', // TODO + 'open_url' => 'Open URL', // TODO + 'promote' => 'Promote', // TODO + 'purge' => 'Purge', // TODO + 'refresh_opml' => 'Refresh OPML', // TODO + 'remove' => 'Remove', // TODO + 'rename' => 'Rename', // TODO + 'see_website' => 'See website', // TODO + 'submit' => 'Submit', // TODO + 'truncate' => 'Delete all articles', // TODO + 'update' => 'Update', // TODO + ), + 'auth' => array( + 'accept_tos' => 'I accept the Terms of Service.', // TODO + 'email' => 'Email address', // TODO + 'keep_logged_in' => 'Keep me logged in (%s days)', // TODO + 'login' => 'Login', // TODO + 'logout' => 'Logout', // TODO + 'password' => array( + '_' => 'Password', // TODO + 'format' => 'At least 7 characters', // TODO + ), + 'registration' => array( + '_' => 'New account', // TODO + 'ask' => 'Create an account?', // TODO + 'title' => 'Account creation', // TODO + ), + 'username' => array( + '_' => 'Username', // TODO + 'format' => 'Maximum 16 alphanumeric characters', // TODO + ), + ), + 'date' => array( + 'Apr' => '\\A\\p\\r\\i\\l', // TODO + 'Aug' => '\\A\\u\\g\\u\\s\\t', // TODO + 'Dec' => '\\D\\e\\c\\e\\m\\b\\e\\r', // TODO + 'Feb' => '\\F\\e\\b\\r\\u\\a\\r\\y', // TODO + 'Jan' => '\\J\\a\\n\\u\\a\\r\\y', // TODO + 'Jul' => '\\J\\u\\l\\y', // TODO + 'Jun' => '\\J\\u\\n\\e', // TODO + 'Mar' => '\\M\\a\\r\\c\\h', // TODO + 'May' => '\\M\\a\\y', // TODO + 'Nov' => '\\N\\o\\v\\e\\m\\b\\e\\r', // TODO + 'Oct' => '\\O\\c\\t\\o\\b\\e\\r', // TODO + 'Sep' => '\\S\\e\\p\\t\\e\\m\\b\\e\\r', // TODO + 'apr' => 'Apr.', // TODO + 'april' => 'April', // TODO + 'aug' => 'Aug.', // TODO + 'august' => 'August', // TODO + 'before_yesterday' => 'Before yesterday', // TODO + 'dec' => 'Dec.', // TODO + 'december' => 'December', // TODO + 'feb' => 'Feb.', // TODO + 'february' => 'February', // TODO + 'format_date' => 'j %s Y', // TODO + 'format_date_hour' => 'j %s Y \\a\\t H\\:i', // TODO + 'fri' => 'Fri', // TODO + 'jan' => 'Jan.', // TODO + 'january' => 'January', // TODO + 'jul' => 'July', // TODO + 'july' => 'July', // TODO + 'jun' => 'June', // TODO + 'june' => 'June', // TODO + 'last_2_year' => 'Last two years', // TODO + 'last_3_month' => 'Last three months', // TODO + 'last_3_year' => 'Last three years', // TODO + 'last_5_year' => 'Last five years', // TODO + 'last_6_month' => 'Last six months', // TODO + 'last_month' => 'Last month', // TODO + 'last_week' => 'Last week', // TODO + 'last_year' => 'Last year', // TODO + 'mar' => 'Mar.', // TODO + 'march' => 'March', // TODO + 'may' => 'May', // TODO + 'may_' => 'May', // TODO + 'mon' => 'Mon', // TODO + 'month' => 'months', // TODO + 'nov' => 'Nov.', // TODO + 'november' => 'November', // TODO + 'oct' => 'Oct.', // TODO + 'october' => 'October', // TODO + 'sat' => 'Sat', // TODO + 'sep' => 'Sept.', // TODO + 'september' => 'September', // TODO + 'sun' => 'Sun', // TODO + 'thu' => 'Thu', // TODO + 'today' => 'Today', // TODO + 'tue' => 'Tue', // TODO + 'wed' => 'Wed', // TODO + 'yesterday' => 'Yesterday', // TODO + ), + 'dir' => 'ltr', // TODO + 'freshrss' => array( + '_' => 'FreshRSS', // TODO + 'about' => 'About FreshRSS', // TODO + ), + 'js' => array( + 'category_empty' => 'Empty category', // TODO + 'confirm_action' => 'Are you sure you want to perform this action? It cannot be cancelled!', // TODO + 'confirm_action_feed_cat' => 'Are you sure you want to perform this action? You will lose related favourites and user queries. It cannot be cancelled!', // TODO + 'feedback' => array( + 'body_new_articles' => 'There are %%d new articles to read on FreshRSS.', // TODO + 'body_unread_articles' => '(unread: %%d)', // TODO + 'request_failed' => 'A request has failed, it may have been caused by internet connection problems.', // TODO + 'title_new_articles' => 'FreshRSS: new articles!', // TODO + ), + 'new_article' => 'There are new articles available, click to refresh the page.', // TODO + 'should_be_activated' => 'JavaScript must be enabled', // TODO + ), + 'lang' => array( + 'cz' => 'Čeština', // TODO + 'de' => 'Deutsch', // TODO + 'en' => 'English', // TODO + 'en-us' => 'English (United States)', // TODO + 'es' => 'Español', // TODO + 'fr' => 'Français', // TODO + 'he' => 'עברית', // TODO + 'it' => 'Italiano', // TODO + 'ja' => '日本語', // TODO + 'ko' => '한국어', // TODO + 'nl' => 'Nederlands', // TODO + 'oc' => 'Occitan', // TODO + 'pl' => 'Polski', // TODO + 'pt-br' => 'Português (Brasil)', // TODO + 'ru' => 'Русский', // TODO + 'sk' => 'Slovenčina', // TODO + 'tr' => 'Türkçe', // TODO + 'zh-cn' => '简体中文', // TODO + 'zh-tw' => '正體中文', // TODO + ), + 'menu' => array( + 'about' => 'About', // TODO + 'account' => 'Account', // TODO + 'admin' => 'Administration', // TODO + 'archiving' => 'Archiving', // TODO + 'authentication' => 'Authentication', // TODO + 'check_install' => 'Installation check', // TODO + 'configuration' => 'Configuration', // TODO + 'display' => 'Display', // TODO + 'extensions' => 'Extensions', // TODO + 'logs' => 'Logs', // TODO + 'queries' => 'User queries', // TODO + 'reading' => 'Reading', // TODO + 'search' => 'Search words or #tags', // TODO + 'sharing' => 'Sharing', // TODO + 'shortcuts' => 'Shortcuts', // TODO + 'stats' => 'Statistics', // TODO + 'system' => 'System configuration', // TODO + 'update' => 'Update', // TODO + 'user_management' => 'Manage users', // TODO + 'user_profile' => 'Profile', // TODO + ), + 'period' => array( + 'days' => 'days', // TODO + 'hours' => 'hours', // TODO + 'months' => 'months', // TODO + 'weeks' => 'weeks', // TODO + 'years' => 'years', // TODO + ), + 'share' => array( + 'Known' => 'Known based sites', // TODO + 'archivePH' => 'archive.ph', // TODO + 'blogotext' => 'Blogotext', // TODO + 'clipboard' => 'Clipboard', // TODO + 'diaspora' => 'Diaspora*', // TODO + 'email' => 'Email', // TODO + 'facebook' => 'Facebook', // TODO + 'gnusocial' => 'GNU social', // TODO + 'jdh' => 'Journal du hacker', // TODO + 'lemmy' => 'Lemmy', // TODO + 'linkedin' => 'LinkedIn', // TODO + 'mastodon' => 'Mastodon', // TODO + 'movim' => 'Movim', // TODO + 'pinboard' => 'Pinboard', // TODO + 'pinterest' => 'Pinterest', // TODO + 'pocket' => 'Pocket', // TODO + 'print' => 'Print', // TODO + 'raindrop' => 'Raindrop.io', // TODO + 'reddit' => 'Reddit', // TODO + 'shaarli' => 'Shaarli', // TODO + 'twitter' => 'Twitter', // TODO + 'wallabag' => 'wallabag v1', // TODO + 'wallabagv2' => 'wallabag v2', // TODO + 'web-sharing-api' => 'System sharing', // TODO + 'whatsapp' => 'Whatsapp', // TODO + 'xing' => 'Xing', // TODO + ), + 'short' => array( + 'attention' => 'Warning!', // TODO + 'blank_to_disable' => 'Leave blank to disable', // TODO + 'by_author' => 'By:', // TODO + 'by_default' => 'By default', // TODO + 'damn' => 'Blast!', // TODO + 'default_category' => 'Uncategorized', // TODO + 'no' => 'No', // TODO + 'not_applicable' => 'Not available', // TODO + 'ok' => 'Okay!', // TODO + 'or' => 'or', // TODO + 'yes' => 'Yes', // TODO + ), + 'stream' => array( + 'load_more' => 'Load more articles', // TODO + 'mark_all_read' => 'Mark all as read', // TODO + 'nothing_to_load' => 'There are no more articles', // TODO + ), +); diff --git a/app/i18n/el/index.php b/app/i18n/el/index.php new file mode 100644 index 000000000..2db3c3858 --- /dev/null +++ b/app/i18n/el/index.php @@ -0,0 +1,75 @@ + array( + '_' => 'About', // TODO + 'agpl3' => 'AGPL 3', // TODO + 'bugs_reports' => 'Bug reports', // TODO + 'credits' => 'Credits', // TODO + 'credits_content' => 'Some design elements come from Bootstrap although FreshRSS doesn’t use this framework. Icons come from the GNOME project. Open Sans font police has been created by Steve Matteson. FreshRSS is based on Minz, a PHP framework.', // TODO + 'freshrss_description' => 'FreshRSS is a self-hostable RSS aggregator and reader. It allows you to read and follow several news websites at a glance without the need to browse from one website to another. FreshRSS is lightweight, configurable, and easy to use.', // TODO + 'github' => 'on Github', // TODO + 'license' => 'License', // TODO + 'project_website' => 'Project website', // TODO + 'title' => 'About', // TODO + 'version' => 'Version', // TODO + ), + 'feed' => array( + 'add' => 'Please add some feeds.', // TODO + 'empty' => 'There are no articles to show.', // TODO + 'rss_of' => 'RSS feed of %s', // TODO + 'title' => 'Main stream', // TODO + 'title_fav' => 'Favourites', // TODO + 'title_global' => 'Global view', // TODO + ), + 'log' => array( + '_' => 'Logs', // TODO + 'clear' => 'Clear the logs', // TODO + 'empty' => 'Log file is empty', // TODO + 'title' => 'Logs', // TODO + ), + 'menu' => array( + 'about' => 'About FreshRSS', // TODO + 'before_one_day' => 'Older than one day', // TODO + 'before_one_week' => 'Older than one week', // TODO + 'bookmark_query' => 'Bookmark current query', // TODO + 'favorites' => 'Favourites (%s)', // TODO + 'global_view' => 'Global view', // TODO + 'main_stream' => 'Main stream', // TODO + 'mark_all_read' => 'Mark all as read', // TODO + 'mark_cat_read' => 'Mark category as read', // TODO + 'mark_feed_read' => 'Mark feed as read', // TODO + 'mark_selection_unread' => 'Mark selection as unread', // TODO + 'newer_first' => 'Newer first', // TODO + 'non-starred' => 'Show non-favourites', // TODO + 'normal_view' => 'Normal view', // TODO + 'older_first' => 'Oldest first', // TODO + 'queries' => 'User queries', // TODO + 'read' => 'Show read', // TODO + 'reader_view' => 'Reading view', // TODO + 'rss_view' => 'RSS feed', // TODO + 'search_short' => 'Search', // TODO + 'starred' => 'Show favourites', // TODO + 'stats' => 'Statistics', // TODO + 'subscription' => 'Subscription management', // TODO + 'tags' => 'My labels', // TODO + 'unread' => 'Show unread', // TODO + ), + 'share' => 'Share', // TODO + 'tag' => array( + 'related' => 'Article tags', // TODO + ), + 'tos' => array( + 'title' => 'Terms of Service', // TODO + ), +); diff --git a/app/i18n/el/install.php b/app/i18n/el/install.php new file mode 100644 index 000000000..1b6886dba --- /dev/null +++ b/app/i18n/el/install.php @@ -0,0 +1,133 @@ + array( + 'finish' => 'Ολοκλήρωση εγκατάστασης', + 'fix_errors_before' => 'Διορθώστε όλα τα σφάλματα πριν συνεχίσετε στο επόμενο βήμα.', + 'keep_install' => 'Διατήρηση των προηγούμενων ρυθμίσεων', + 'next_step' => 'Μεταβείτε στο επόμενο βήμα', + 'reinstall' => 'Επανεγκατάσταση του FreshRSS', + ), + 'auth' => array( + 'form' => 'Web form (σύνηθες, απαιτεί JavaScript)', + 'http' => 'HTTP (για έμπειρους χρήστες με HTTPS)', + 'none' => 'Καμία (ριψοκίνδυνο)', + 'password_form' => 'Κωδικός Πρόσβασης
(για την μέθοδο σύνδεσης με Web-form)', + 'password_format' => 'Τουλάχιστον 7 χαρακτήρες', + 'type' => 'Μέθοδος Πιστοποίησης', + ), + 'bdd' => array( + '_' => 'Βάση Δεδομένων', + 'conf' => array( + '_' => 'Ρυθμίσεις Βάσης Δεδομένων', + 'ko' => 'Επιβεβαιώστε τις ρυθμίσεις της βάσης δεδομένων σας.', + 'ok' => 'Οι ρυθμίσεις της βάσης δεδομένων σας αποθηκεύτηκαν.', + ), + 'host' => 'Εξυπηρετητής', + 'password' => 'Κωδικός Πρόσβασης Βάσης Δεδομένων', + 'prefix' => 'Πρόθεμα Πίνακα', + 'type' => 'Τύπος Βάσης Δεδομένων', + 'username' => 'Όνομα Χρήστη Βάσης Δεδομένων', + ), + 'check' => array( + '_' => 'Έλεγχοι', + 'already_installed' => 'Διαπιστώσαμε ότι το FreshRSS είναι ήδη εγκατεστημένο!', + 'cache' => array( + 'nok' => 'Ελέγξτε τα δικαιώματα στον κατάλογο %1$s για τον χρήστη %2$s. Ο διακομιστής HTTP πρέπει να έχει δικαίωμα εγγραφής.', + 'ok' => 'Τα δικαιώματα στον κατάλογο προσωρινής μνήμης (cache) είναι εντάξει.', + ), + 'ctype' => array( + 'nok' => 'Δεν βρέθηκε η απαιτούμενη βιβλιοθήκη για τον έλεγχο τύπου χαρακτήρων (php-ctype).', + 'ok' => 'Βρέθηκε η απαιτούμενη βιβλιοθήκη για τον έλεγχο τύπου χαρακτήρων (ctype).', + ), + 'curl' => array( + 'nok' => 'Δεν βρέθηκε η βιβλιοθήκη cURL (php-curl package).', + 'ok' => 'Βρέθηκε η βιβλιοθήκη cURL.', + ), + 'data' => array( + 'nok' => 'Ελέγξτε τα δικαιώματα στον κατάλογο %1$s για τον χρήστη %2$s. Ο διακομιστής HTTP πρέπει να έχει δικαίωμα εγγραφής.', + 'ok' => 'Τα δικαιώματα στον κατάλογο δεδομένων (data) είναι εντάξει.', + ), + 'dom' => array( + 'nok' => 'Δεν βρέθηκε η απαιτούμενη βιβλιοθήκη για περιήγηση στο DOM.', + 'ok' => 'Βρέθηκε η απαιτούμενη βιβλιοθήκη για περιήγηση στο DOM.', + ), + 'favicons' => array( + 'nok' => 'Ελέγξτε τα δικαιώματα στον κατάλογο %1$s για τον χρήστη %2$s. Ο διακομιστής HTTP πρέπει να έχει δικαίωμα εγγραφής.', + 'ok' => 'Τα δικαιώματα στον κατάλογο δεδομένων (favicons) είναι εντάξει.', + ), + 'fileinfo' => array( + 'nok' => 'Δεν βρέθηκε η βιβλιοθήκη PHP fileinfo (fileinfo package).', + 'ok' => 'Βρέθηκε η βιβλιοθήκη fileinfo.', + ), + 'json' => array( + 'nok' => 'Δεν βρέθηκε η συνιστώμενη βιβλιοθήκη για ανάλυση JSON.', + 'ok' => 'Βρέθηκε η συνιστώμενη βιβλιοθήκη για ανάλυση JSON.', + ), + 'mbstring' => array( + 'nok' => 'Δεν βρέθηκε η συνιστώμενη βιβλιοθήκη mbstring για Unicode.', + 'ok' => 'Βρέθηκε η συνιστώμενη βιβλιοθήκη mbstring για Unicode.', + ), + 'pcre' => array( + 'nok' => 'Δεν βρέθηκε η απαιτούμενη βιβλιοθήκη για regular expressions (php-pcre).', + 'ok' => 'Βρέθηκε η απαιτούμενη βιβλιοθήκη για regular expressions (php-pcre).', + ), + 'pdo' => array( + 'nok' => 'Δεν βρέθηκε ο PDO ή ένας από τους υποστηριζόμενους οδηγούς (pdo_mysql, pdo_sqlite, pdo_pgsql).', + 'ok' => 'Βρέθηκε ο PDO ή ένας από τους υποστηριζόμενους οδηγούς (pdo_mysql, pdo_sqlite, pdo_pgsql).', + ), + 'php' => array( + 'nok' => 'Η έκδοση της PHP σας είναι %s, αλλά το FreshRSS απαιτεί τουλάχιστον έκδοση %s.', + 'ok' => 'Η έκδοση της PHP σας, %s, είναι συμβατή με το FreshRSS.', + ), + 'reload' => 'Ελέγξτε πάλι', + 'tmp' => array( + 'nok' => 'Ελέγξτε τα δικαιώματα στον κατάλογο %1$s για τον χρήστη %2$s. Ο διακομιστής HTTP πρέπει να έχει δικαίωμα εγγραφής.', + 'ok' => 'Τα δικαιώματα στον κατάλογο προσωρινών αρχείων (temp) είναι εντάξει.', + ), + 'unknown_process_username' => 'άγνωστο', + 'users' => array( + 'nok' => 'Ελέγξτε τα δικαιώματα στον κατάλογο %1$s για τον χρήστη %2$s. Ο διακομιστής HTTP πρέπει να έχει δικαίωμα εγγραφής.', + 'ok' => 'Τα δικαιώματα στον κατάλογο χρηστών (users) είναι εντάξει.', + ), + 'xml' => array( + 'nok' => 'Δεν βρέθηκε η απαιτούμενη βιβλιοθήκη για ανάλυση XML.', + 'ok' => 'Βρέθηκε η απαιτούμενη βιβλιοθήκη για ανάλυση XML.', + ), + ), + 'conf' => array( + '_' => 'Γενικές Ρυθμίσεις', + 'ok' => 'Οι γενικές ρυθμίσεις αποθηκεύτηκαν.', + ), + 'congratulations' => 'Συγχαρητήρια!', + 'default_user' => 'Όνομα χρήστη για τον προεπιλεγμένο χρήστη (μέγιστο 16 αλφαριθμητικοί χαρακτήρες)', + 'fix_errors_before' => 'Παρακαλούμε διορθώστε τα σφάλματα πριν συνεχίσετε στο επόμενο βήμα.', + 'javascript_is_better' => 'Το FreshRSS είναι πιο ευχάριστο με ενεργοποιημένη την JavaScript', + 'js' => array( + 'confirm_reinstall' => 'Επανεγκαθιστώντας το FreshRSS, θα χάσετε τις προηγούμενες ρυθμίσεις σας. Είστε σίγουροι ότι επιθυμείτε να συνεχίσετε;', + ), + 'language' => array( + '_' => 'Γλώσσα', + 'choose' => 'Επιλέξτε μια γλώσσα για το FreshRSS', + 'defined' => 'Η γλώσσα έχει ορισθεί.', + ), + 'missing_applied_migrations' => 'Κάτι πήγε στραβά. Θα πρέπει να δημιουργήσετε ένα κενό %s αρχείο, χειροκίνητα.', + 'ok' => 'Η διαδικασία εγκατάστασης ήταν επιτυχής.', + 'session' => array( + 'nok' => 'Ο διακομιστής ιστού φαίνεται να έχει ρυθμιστεί εσφαλμένα για τα cookies που απαιτούνται για τις PHP sessions!', + ), + 'step' => 'βήμα %d', + 'steps' => 'Βήματα', + 'this_is_the_end' => 'Αυτό είναι το τέλος', + 'title' => 'Εγκατάσταση · FreshRSS', +); diff --git a/app/i18n/el/sub.php b/app/i18n/el/sub.php new file mode 100644 index 000000000..424fafc7b --- /dev/null +++ b/app/i18n/el/sub.php @@ -0,0 +1,213 @@ + array( + 'documentation' => 'Copy the following URL to use it within an external tool.', // TODO + 'title' => 'API', // TODO + ), + 'bookmarklet' => array( + 'documentation' => 'Drag this button to your bookmarks toolbar or right-click it and choose “Bookmark This Link”. Then click the “Subscribe” button in any page you want to subscribe to.', // TODO + 'label' => 'Subscribe', // TODO + 'title' => 'Bookmarklet', // TODO + ), + 'category' => array( + '_' => 'Category', // TODO + 'add' => 'Add a category', // TODO + 'archiving' => 'Archiving', // TODO + 'dynamic_opml' => array( + '_' => 'Dynamic OPML', // TODO + 'help' => 'Provide the URL to an OPML file to dynamically populate this category with feeds', // TODO + ), + 'empty' => 'Empty category', // TODO + 'information' => 'Information', // TODO + 'opml_url' => 'OPML URL', // TODO + 'position' => 'Display position', // TODO + 'position_help' => 'To control category sort order', // TODO + 'title' => 'Title', // TODO + ), + 'feed' => array( + 'accept_cookies' => 'Accept cookies', // TODO + 'accept_cookies_help' => 'Allow the feed server to set cookies (stored in memory for the duration of the request only)', // TODO + 'add' => 'Add an RSS feed', // TODO + 'advanced' => 'Advanced', // TODO + 'archiving' => 'Archiving', // TODO + 'auth' => array( + 'configuration' => 'Login', // TODO + 'help' => 'Allows access to HTTP protected RSS feeds', // TODO + 'http' => 'HTTP Authentication', // TODO + 'password' => 'HTTP password', // TODO + 'username' => 'HTTP username', // TODO + ), + 'clear_cache' => 'Always clear cache', // TODO + 'content_action' => array( + '_' => 'Content action when fetching the article content', // TODO + 'append' => 'Add after existing content', // TODO + 'prepend' => 'Add before existing content', // TODO + 'replace' => 'Replace existing content', // TODO + ), + 'css_cookie' => 'Use Cookies when fetching the article content', // TODO + 'css_cookie_help' => 'Example: foo=bar; gdpr_consent=true; cookie=value', // TODO + 'css_help' => 'Retrieves truncated RSS feeds (caution, requires more time!)', // TODO + 'css_path' => 'Article CSS selector on original website', // TODO + 'css_path_filter' => array( + '_' => 'CSS selector of the elements to remove', // TODO + 'help' => 'A CSS selector may be a list such as: .footer, .aside', // TODO + ), + 'description' => 'Description', // TODO + 'empty' => 'This feed is empty. Please verify that it is still maintained.', // TODO + 'error' => 'This feed has encountered a problem. Please verify that it is always reachable then update it.', // TODO + 'filteractions' => array( + '_' => 'Filter actions', // TODO + 'help' => 'Write one search filter per line.', // TODO + ), + 'information' => 'Information', // TODO + 'keep_min' => 'Minimum number of articles to keep', // TODO + 'kind' => array( + '_' => 'Type of feed source', // TODO + 'html_xpath' => array( + '_' => 'HTML + XPath (Web scraping)', // TODO + 'feed_title' => array( + '_' => 'feed title', // TODO + 'help' => 'Example: //title or a static string: "My custom feed"', // TODO + ), + 'help' => 'XPath 1.0 is a standard query language for advanced users, and which FreshRSS supports to enable Web scraping.', // TODO + 'item' => array( + '_' => 'finding news items
(most important)', // TODO + 'help' => 'Example: //div[@class="news-item"]', // TODO + ), + 'item_author' => array( + '_' => 'item author', // TODO + 'help' => 'Can also be a static string. Example: "Anonymous"', // TODO + ), + 'item_categories' => 'item tags', // TODO + 'item_content' => array( + '_' => 'item content', // TODO + 'help' => 'Example to take the full item: .', // TODO + ), + 'item_thumbnail' => array( + '_' => 'item thumbnail', // TODO + 'help' => 'Example: descendant::img/@src', // TODO + ), + 'item_timeFormat' => array( + '_' => 'Custom date/time format', // TODO + 'help' => 'Optional. A format supported by DateTime::createFromFormat() such as d-m-Y H:i:s', // TODO + ), + 'item_timestamp' => array( + '_' => 'item date', // TODO + 'help' => 'The result will be parsed by strtotime()', // TODO + ), + 'item_title' => array( + '_' => 'item title', // TODO + 'help' => 'Use in particular the XPath axis descendant:: like descendant::h2', // TODO + ), + 'item_uid' => array( + '_' => 'item unique ID', // TODO + 'help' => 'Optional. Example: descendant::div/@data-uri', // TODO + ), + 'item_uri' => array( + '_' => 'item link (URL)', // TODO + 'help' => 'Example: descendant::a/@href', // TODO + ), + 'relative' => 'XPath (relative to item) for:', // TODO + 'xpath' => 'XPath for:', // TODO + ), + 'rss' => 'RSS / Atom (default)', // TODO + ), + 'maintenance' => array( + 'clear_cache' => 'Clear cache', // TODO + 'clear_cache_help' => 'Clear the cache for this feed.', // TODO + 'reload_articles' => 'Reload articles', // TODO + 'reload_articles_help' => 'Reload that many articles and fetch complete content if a selector is defined.', // TODO + 'title' => 'Maintenance', // TODO + ), + 'max_http_redir' => 'Max HTTP redirects', // TODO + 'max_http_redir_help' => 'Set to 0 or leave blank to disable, -1 for unlimited redirects', // TODO + 'moved_category_deleted' => 'When you delete a category, its feeds are automatically classified under %s.', // TODO + 'mute' => 'mute', // TODO + 'no_selected' => 'No feed selected.', // TODO + 'number_entries' => '%d articles', // TODO + 'priority' => array( + '_' => 'Visibility', // TODO + 'archived' => 'Do not show (archived)', // TODO + 'main_stream' => 'Show in main stream', // TODO + 'normal' => 'Show in its category', // TODO + ), + 'proxy' => 'Set a proxy for fetching this feed', // TODO + 'proxy_help' => 'Select a protocol (e.g: SOCKS5) and enter the proxy address (e.g: 127.0.0.1:1080)', // TODO + 'selector_preview' => array( + 'show_raw' => 'Show source code', // TODO + 'show_rendered' => 'Show content', // TODO + ), + 'show' => array( + 'all' => 'Show all feeds', // TODO + 'error' => 'Show only feeds with errors', // TODO + ), + 'showing' => array( + 'error' => 'Showing only feeds with errors', // TODO + ), + 'ssl_verify' => 'Verify SSL security', // TODO + 'stats' => 'Statistics', // TODO + 'think_to_add' => 'You may add some feeds.', // TODO + 'timeout' => 'Timeout in seconds', // TODO + 'title' => 'Title', // TODO + 'title_add' => 'Add an RSS feed', // TODO + 'ttl' => 'Do not automatically refresh more often than', // TODO + 'url' => 'Feed URL', // TODO + 'useragent' => 'Set the user agent for fetching this feed', // TODO + 'useragent_help' => 'Example: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:86.0)', // TODO + 'validator' => 'Check the validity of the feed', // TODO + 'website' => 'Website URL', // TODO + 'websub' => 'Instant notification with WebSub', // TODO + ), + 'import_export' => array( + 'export' => 'Export', // TODO + 'export_labelled' => 'Export your labelled articles', // TODO + 'export_opml' => 'Export list of feeds (OPML)', // TODO + 'export_starred' => 'Export your favourites', // TODO + 'feed_list' => 'List of %s articles', // TODO + 'file_to_import' => 'File to import
(OPML, JSON or ZIP)', // TODO + 'file_to_import_no_zip' => 'File to import
(OPML or JSON)', // TODO + 'import' => 'Import', // TODO + 'starred_list' => 'List of favourite articles', // TODO + 'title' => 'Import / export', // TODO + ), + 'menu' => array( + 'add' => 'Add a feed or category', // TODO + 'import_export' => 'Import / export', // TODO + 'label_management' => 'Label management', // TODO + 'stats' => array( + 'idle' => 'Idle feeds', // TODO + 'main' => 'Main statistics', // TODO + 'repartition' => 'Articles repartition', // TODO + ), + 'subscription_management' => 'Subscription management', // TODO + 'subscription_tools' => 'Subscription tools', // TODO + ), + 'tag' => array( + 'name' => 'Name', // TODO + 'new_name' => 'New name', // TODO + 'old_name' => 'Old name', // TODO + ), + 'title' => array( + '_' => 'Subscription management', // TODO + 'add' => 'Add a feed or category', // TODO + 'add_category' => 'Add a category', // TODO + 'add_dynamic_opml' => 'Add dynamic OPML', // TODO + 'add_feed' => 'Add a feed', // TODO + 'add_label' => 'Add a label', // TODO + 'delete_label' => 'Delete a label', // TODO + 'feed_management' => 'RSS feeds management', // TODO + 'rename_label' => 'Rename a label', // TODO + 'subscription_tools' => 'Subscription tools', // TODO + ), +); diff --git a/app/i18n/el/user.php b/app/i18n/el/user.php new file mode 100644 index 000000000..b97b3e05f --- /dev/null +++ b/app/i18n/el/user.php @@ -0,0 +1,54 @@ + array( + 'feedback' => array( + 'invalid' => 'Αυτή η διεύθυνση email δεν είναι έγκυρη.', + 'required' => 'Απαιτείται μια διεύθυνση email.', + ), + 'validation' => array( + 'change_email' => 'Μπορείτε να αλλάξετε την διεύθυνση email σας στην σελίδα προφίλ.', + 'email_sent_to' => 'Σας στείλαμε ένα email στο %s. Παρακαλούμε ακολουθήστε τις οδηγίες του για να επιβεβαιώσετε την διεύθυνσή σας.', + 'feedback' => array( + 'email_failed' => 'Δεν μπορέσαμε να σας στειλουμε κάποιο email λόγω κάποιου σφάλματος στην παραμετροποίηση του διακομιστή.', + 'email_sent' => 'Έχει αποσταλεί ένα email στην διεύθυνσή σας.', + 'error' => 'Η επαλήθευση της διεύθυνσης email απέτυχε.', + 'ok' => 'Αυτή η διεύθυνση email έχει επιβεβαιωθεί.', + 'unnecessary' => 'Αυτή η διεύθυνση email είναι επιβεβαιωμένη.', + 'wrong_token' => 'Αυτή η διεύθυνση email απέτυχε να επιβεβαιωθεί λόγω εσφαλμένου διακριτικού πρόσβασης.', + ), + 'need_to' => 'Θα πρέπει να επιβεβαιώσετε την διεύθυνση email σας προτού μπορέσετε να χρησιμοποιήσετε το %s.', + 'resend_email' => 'Ξαναστείλτε το email', + 'title' => 'Επιβεβαίωση διεύθυνσης email', + ), + ), + 'mailer' => array( + 'email_need_validation' => array( + 'body' => 'Έχετε εγγραφεί στο %s, αλλά θα πρέπει να επιβεβαίωσετε την διεύθυνση email σας. Για να το πραγματοποιήσετε, απλώς ακολουθήστε τον σύνδεσμο:', + 'title' => 'Θα πρέπει να επιβεβαιώσετε τον λογαριασμό σας', + 'welcome' => 'Καλώς ήλθες %s,', + ), + ), + 'password' => array( + 'invalid' => 'Ο κωδικός πρόσβασης δεν είναι έγκυρος.', + ), + 'tos' => array( + 'feedback' => array( + 'invalid' => 'Θα πρέπει να αποδεχτείτε τους Όρους Χρήσης για να μπορέσετε να εγγραφείτε.', + ), + ), + 'username' => array( + 'invalid' => 'Αυτό το όνομα χρήστη δεν είναι έγκυρο.', + 'taken' => 'Αυτό το όνομα χρήστη, %s, χρησιμοποιείται ήδη.', + ), +); diff --git a/app/i18n/en-us/feedback.php b/app/i18n/en-us/feedback.php index 17ddfe851..d31debedc 100644 --- a/app/i18n/en-us/feedback.php +++ b/app/i18n/en-us/feedback.php @@ -115,7 +115,7 @@ return array( 'purge_completed' => 'Purge completed (%d articles deleted)', // IGNORE ), 'tag' => array( - 'created' => 'Tag “%s” as been created.', // IGNORE + 'created' => 'Tag “%s” has been created.', // IGNORE 'name_exists' => 'Tag name already exists.', // IGNORE 'renamed' => 'Tag “%s” has been renamed to “%s”.', // IGNORE ), diff --git a/app/i18n/en/feedback.php b/app/i18n/en/feedback.php index 5206a4e72..a3b014ba9 100644 --- a/app/i18n/en/feedback.php +++ b/app/i18n/en/feedback.php @@ -115,7 +115,7 @@ return array( 'purge_completed' => 'Purge completed (%d articles deleted)', ), 'tag' => array( - 'created' => 'Tag “%s” as been created.', + 'created' => 'Tag “%s” has been created.', 'name_exists' => 'Tag name already exists.', 'renamed' => 'Tag “%s” has been renamed to “%s”.', ), diff --git a/app/i18n/he/feedback.php b/app/i18n/he/feedback.php index 9040b536e..df3c2e359 100644 --- a/app/i18n/he/feedback.php +++ b/app/i18n/he/feedback.php @@ -115,7 +115,7 @@ return array( 'purge_completed' => 'הניקוי הושלם (%d מאמרים נמחקו)', ), 'tag' => array( - 'created' => 'Tag “%s” as been created.', // TODO + 'created' => 'Tag “%s” has been created.', // TODO 'name_exists' => 'Tag name already exists.', // TODO 'renamed' => 'Tag “%s” has been renamed to “%s”.', // TODO ), -- cgit v1.2.3