From 65217edf4f37dee01592f500d410b26c607c708d Mon Sep 17 00:00:00 2001 From: wxiaoguang Date: Wed, 22 Mar 2023 20:19:20 +0800 Subject: [PATCH 1/6] fix --- build/backport-locales.go | 88 +++++++++++++++++++++++++++++++++ options/locale/locale_el-GR.ini | 64 ------------------------ options/locale/locale_en-US.ini | 35 +++++++------ 3 files changed, 105 insertions(+), 82 deletions(-) create mode 100644 build/backport-locales.go diff --git a/build/backport-locales.go b/build/backport-locales.go new file mode 100644 index 0000000000000..c598c1e9331e4 --- /dev/null +++ b/build/backport-locales.go @@ -0,0 +1,88 @@ +//go:build ignore + +package main + +import ( + "fmt" + "os" + "os/exec" + "path/filepath" + "strings" + + "gopkg.in/ini.v1" +) + +func main() { + if len(os.Args) != 2 { + println("usage: backport-locales ") + println("eg: backport-locales release/v1.19") + os.Exit(1) + } + + ini.PrettyFormat = false + mustNoErr := func(err error) { + if err != nil { + panic(err) + } + } + collectInis := func(ref string) map[string]*ini.File { + inis := map[string]*ini.File{} + err := filepath.WalkDir("options/locale", func(path string, d os.DirEntry, err error) error { + if err != nil { + return err + } + if d.IsDir() || !strings.HasSuffix(d.Name(), ".ini") { + return nil + } + cfg, err := ini.LoadSources(ini.LoadOptions{ + IgnoreInlineComment: true, + UnescapeValueCommentSymbols: true, + }, path) + mustNoErr(err) + inis[path] = cfg + fmt.Printf("collecting: %s @ %s\n", path, ref) + return nil + }) + mustNoErr(err) + return inis + } + + // collect new locales from current working directory + inisNew := collectInis("HEAD") + + // switch to the target ref, and collect the old locales + cmd := exec.Command("git", "checkout", os.Args[1]) + cmd.Stdout = os.Stdout + cmd.Stderr = os.Stderr + mustNoErr(cmd.Run()) + inisOld := collectInis(os.Args[1]) + + // use old en-US as the base, and copy the new translations to the old locales + enUsOld := inisOld["options/locale/locale_en-US.ini"] + for path, iniOld := range inisOld { + if iniOld == enUsOld { + continue + } + iniNew := inisNew[path] + if iniNew == nil { + continue + } + for _, secEnUS := range enUsOld.Sections() { + secOld := iniOld.Section(secEnUS.Name()) + secNew := iniNew.Section(secEnUS.Name()) + for _, keyEnUs := range secEnUS.Keys() { + if secNew.HasKey(keyEnUs.Name()) { + oldStr := secOld.Key(keyEnUs.Name()).String() + newStr := secNew.Key(keyEnUs.Name()).String() + // a bug: new translations with ";" are all broken + if strings.Contains(oldStr, ";") && !strings.Contains(newStr, ";") { + println("skipping", path, secEnUS.Name(), keyEnUs.Name()) + continue + } + secOld.Key(keyEnUs.Name()).SetValue(newStr) + } + } + } + mustNoErr(iniOld.SaveTo(path)) + } +} diff --git a/options/locale/locale_el-GR.ini b/options/locale/locale_el-GR.ini index 8ee097fa82c1b..b549af42034fe 100644 --- a/options/locale/locale_el-GR.ini +++ b/options/locale/locale_el-GR.ini @@ -299,9 +299,6 @@ disable_register_prompt=Η εγγραφή είναι απενεργοποιημ disable_register_mail=Η Επιβεβαίωση email για την εγγραφή είναι απενεργοποιημένη. manual_activation_only=Επικοινωνήστε με το διαχειριστή της υπηρεσίας για να ολοκληρώσετε την ενεργοποίηση. remember_me=Απομνημόνευση αυτής της συσκευής -forgot_password_title=Ξέχασα Τον Κωδικό Πρόσβασης -forgot_password=Ξεχάσατε τον κωδικό πρόσβασης -sign_up_now=Χρειάζεστε λογαριασμό sign_up_successful=Ο λογαριασμός δημιουργήθηκε με επιτυχία. confirmation_mail_sent_prompt=Ένα νέο email επιβεβαίωσης έχει σταλεί στο %s. Παρακαλώ ελέγξτε τα εισερχόμενα σας μέσα στις επόμενες %s για να ολοκληρώσετε τη διαδικασία εγγραφής. must_change_password=Ενημερώστε τον κωδικό πρόσβασης σας @@ -345,14 +342,11 @@ openid_connect_desc=Το επιλεγμένο OpenID URI είναι άγνωστ openid_register_title=Δημιουργία νέου λογαριασμού openid_register_desc=Το επιλεγμένο OpenID URI είναι άγνωστο. Συνδέστε το με ένα νέο λογαριασμό εδώ. openid_signin_desc=Εισάγετε το OpenID URI. Για παράδειγμα: https://anne.me, bob.openid.org.cn ή gnusocial.net/carry. -disable_forgot_password_mail=Η ανάκτηση λογαριασμού είναι απενεργοποιημένη επειδή δεν έχει οριστεί email. Παρακαλούμε επικοινωνήστε με το διαχειριστή. -disable_forgot_password_mail_admin=Η ανάκτηση λογαριασμού είναι διαθέσιμη μόνο όταν έχει οριστεί το email. Παρακαλούμε ορίστει το email σας για να ενεργοποιήσετε την ανάκτηση λογαριασμού. email_domain_blacklisted=Δεν μπορείτε να εγγραφείτε με τη διεύθυνση email σας. authorize_application=Εξουσιοδότηση Εφαρμογής authorize_redirect_notice=Θα μεταφερθείτε στο %s εάν εξουσιοδοτήσετε αυτήν την εφαρμογή. authorize_application_created_by=Αυτή η εφαρμογή δημιουργήθηκε από %s. authorize_application_description=Εάν παραχωρήσετε την πρόσβαση, θα μπορεί να έχει πρόσβαση και να γράφει σε όλες τις πληροφορίες του λογαριασμού σας, συμπεριλαμβανομένων των ιδιωτικών αποθετηρίων και οργανισμών. -authorize_title=Εξουσιοδότηση του "%s" για έχει πρόσβαση στο λογαριασμό σας authorization_failed=Αποτυχία εξουσιοδότησης authorization_failed_desc=Η εξουσιοδώτηση απέτυχε επειδή εντοπίσαμε μια μη έγκυρη αίτηση. Παρακαλούμε επικοινωνήστε με το συντηρητή της εφαρμογής που προσπαθήσατε να εξουσιοδοτήσετε. sspi_auth_failed=Αποτυχία ταυτοποίησης SSPI @@ -361,7 +355,6 @@ password_pwned_err=Δεν ήταν δυνατή η ολοκλήρωση του [mail] view_it_on=Δείτε το στο %s -link_not_working_do_paste=Δεν λειτουργεί hi_user_x=Γειά σου %s, activate_account=Παρακαλώ ενεργοποιήστε το λογαριασμό σας @@ -628,12 +621,10 @@ activate_email=Αποστολή Ενεργοποίησης activations_pending=Εκκρεμούν Ενεργοποιήσεις delete_email=Αφαίρεση email_deletion=Αφαίρεση Διεύθυνσης Email -email_deletion_desc=Η διεύθυνση ηλεκτρονικού ταχυδρομείου και οι σχετικές πληροφορίες θα αφαιρεθούν από το λογαριασμό σας. Οι υποβολές Git από αυτή τη διεύθυνση email θα παραμείνουν αμετάβλητες. Συνέχεια email_deletion_success=Η διεύθυνση email σας έχει καταργηθεί. theme_update_success=Το θέμα διεπαφής σας ενημερώθηκε. theme_update_error=Το επιλεγμένο θέμα διεπαφής δεν υπάρχει. openid_deletion=Αφαίρεση Διεύθυνσης OpenID -openid_deletion_desc=Η κατάργηση αυτής της διεύθυνσης OpenID από το λογαριασμό σας θα σας εμποδίσει να συνδέεστε με αυτό. Συνέχεια openid_deletion_success=Η διεύθυνση OpenID αφαιρέθηκε. add_new_email=Προσθήκη Νέας Διεύθυνσης Email add_new_openid=Προσθήκη Νέου OpenID URI @@ -654,8 +645,6 @@ add_key=Προσθήκη Κλειδιού ssh_desc=Αυτά τα δημόσια SSH κλειδιά συνδέονται με το λογαριασμό σας. Τα αντίστοιχα ιδιωτικά κλειδιά επιτρέπουν πλήρη πρόσβαση στα αποθετήριά σας. principal_desc=Αυτές οι αρχές πιστοποιητικών SSH συνδέονται με το λογαριασμό σας και επιτρέπουν την πλήρη πρόσβαση στα αποθετήριά σας. gpg_desc=Αυτά τα δημόσια κλειδιά GPG συνδέονται με το λογαριασμό σας. Κρατήστε τα ιδιωτικά κλειδιά σας ασφαλή καθώς επιτρέπουν την επαλήθευση των υποβολών. -ssh_helper=Χρειάζεστε βοήθεια -gpg_helper=Χρειάζεστε βοήθεια add_new_key=Προσθήκη SSH Κλειδιού add_new_gpg_key=Προσθήκη GPG Κλειδιού key_content_ssh_placeholder=Ξεκινάει με 'ssh-ed25519', 'ssh-rsa', 'ecdsa-sha2-nistp256', 'ecdsa-sha2-nistp384', 'ecdsa-sha2-nistp521', 'sk-ecdsa-sha2-nistp256@openssh.com', ή 'sk-ssh-ed25519@openssh.com' @@ -701,9 +690,6 @@ delete_key=Διαγραφή ssh_key_deletion=Διαγραφή Κλειδιού SSH gpg_key_deletion=Διαγραφή Κλειδιού GPG ssh_principal_deletion=Διαγραφή Αρχών Πιστοποιητικού SSH -ssh_key_deletion_desc=Η διαγραφή ενός κλειδιού SSH ανακαλεί την πρόσβασή του στο λογαριασμό σας. Συνέχεια -gpg_key_deletion_desc=Η διαγραφή ενός κλειδιού GPG απο-επαληθεύει τις υποβολές που έχουν υπογραφεί από αυτό. Συνέχεια -ssh_principal_deletion_desc=Η διαγραφή μιας αρχής πιστοποιητικού SSH ανακαλεί την πρόσβασή της στο λογαριασμό σας. Συνέχεια ssh_key_deletion_success=Το SSH κλειδί έχει διαγραφεί. gpg_key_deletion_success=Το κλειδί GPG έχει διαγραφεί. ssh_principal_deletion_success=Η αρχή πιστοποιητικού έχει διαγραφεί. @@ -738,14 +724,12 @@ delete_token=Διαγραφή access_token_deletion=Διαγραφή Διακριτικού Πρόσβασης access_token_deletion_cancel_action=Άκυρο access_token_deletion_confirm_action=Διαγραφή -access_token_deletion_desc=Η διαγραφή ενός διακριτικού θα ανακαλέσει οριστικά την πρόσβαση στο λογαριασμό σας για εφαρμογές που το χρησιμοποιούν. Συνέχεια delete_token_success=Το διακριτικό έχει διαγραφεί. Οι εφαρμογές που το χρησιμοποιούν δεν έχουν πλέον πρόσβαση στο λογαριασμό σας. manage_oauth2_applications=Διαχείριση Εφαρμογών Oauth2 edit_oauth2_application=Επεξεργασία Εφαρμογής Oauth2 oauth2_applications_desc=Οι εφαρμογές OAuth2 επιτρέπουν στην εξωτερική εφαρμογή σας την ασφαλή ταυτοποίηση των χρηστών σε αυτό το Gitea. remove_oauth2_application=Αφαίρεση Εφαρμογής Oauth2 -remove_oauth2_application_desc=Η αφαίρεση μιας εφαρμογής OAuth2 θα ανακαλέσει την πρόσβαση σε όλα τα υπογεγραμμένα διακριτικά πρόσβασης. Συνέχεια remove_oauth2_application_success=Η εφαρμογή έχει διαγραφεί. create_oauth2_application=Δημιουργία νέας εφαρμογής OAuth2 create_oauth2_application_button=Δημιουργία Εφαρμογής @@ -758,17 +742,14 @@ save_application=Αποθήκευση oauth2_client_id=Ταυτότητα Πελάτη oauth2_client_secret=Μυστικό Πελάτη oauth2_regenerate_secret=Αναδημιουργία Μυστικού -oauth2_regenerate_secret_hint=Χάσατε το μυστικό σας oauth2_client_secret_hint=Το μυστικό δεν θα είναι ορατό αν επισκεφτείτε ξανά αυτή τη σελίδα. Παρακαλώ αποθηκεύστε το μυστικό σας. oauth2_application_edit=Επεξεργασία oauth2_application_create_description=Οι εφαρμογές OAuth2 δίνει πρόσβαση στην εξωτερική εφαρμογή σας σε λογαριασμούς χρηστών σε αυτή την υπηρεσία. -oauth2_application_remove_description=Αφαιρώντας μια εφαρμογή OAuth2, θα αποτρέψει την πρόσβαση σε εξουσιοδοτημένους λογαριασμούς χρηστών σε αυτή την υπηρεσία. Συνέχεια authorized_oauth2_applications=Εξουσιοδοτημένες Εφαρμογές OAuth2 authorized_oauth2_applications_description=Έχετε δώσει πρόσβαση στον προσωπικό σας λογαριασμό Gitea σε αυτές τις εξωτερικές εφαρμογές. Ανακαλέστε την πρόσβαση για εφαρμογές που δεν χρειάζονται πλέον. revoke_key=Ανάκληση revoke_oauth2_grant=Ανάκληση Πρόσβασης -revoke_oauth2_grant_description=Η ανάκληση πρόσβασης για αυτή την εξωτερική εφαρμογή θα αποτρέψει αυτή την εφαρμογή από την πρόσβαση στα δεδομένα σας. Σίγουρα revoke_oauth2_grant_success=Έχετε ανακαλέσει την πρόσβαση με επιτυχία. twofa_desc=Ο έλεγχος ταυτότητας δύο παραγόντων ενισχύει την ασφάλεια του λογαριασμού σας. @@ -779,7 +760,6 @@ twofa_scratch_token_regenerate=Αναδημιουργία Διακριτικού twofa_scratch_token_regenerated=Το διακριτικό μιας χρήσης είναι τώρα %s. Αποθηκεύστε το σε ασφαλές μέρος. twofa_enroll=Εγγραφή στην ταυτοποίηση δύο παραγόντων twofa_disable_note=Μπορείτε να απενεργοποιήσετε την ταυτοποίηση δύο παραγόντων αν χρειαστεί. -twofa_disable_desc=Η απενεργοποίηση της ταυτοποίησης δύο παραγόντων θα καταστήσει τον λογαριασμό σας λιγότερο ασφαλή. Συνέχεια regenerate_scratch_token_desc=Αν χάσατε το διακριτικό μίας χρήσης σας ή το έχετε ήδη χρησιμοποιήσει για να συνδεθείτε μπορείτε να το επαναφέρετε εδώ. twofa_disabled=Η ταυτοποίηση δύο παραγόντων έχει απενεργοποιηθεί. scan_this_image=Σαρώστε αυτή την εικόνα με την εφαρμογή ταυτοποίησης: @@ -793,14 +773,12 @@ webauthn_desc=Τα κλειδιά ασφαλείας είναι συσκευές webauthn_register_key=Προσθήκη Κλειδιού Ασφαλείας webauthn_nickname=Ψευδώνυμο webauthn_delete_key=Αφαίρεση Κλειδιού Ασφαλείας -webauthn_delete_key_desc=Αν αφαιρέσετε ένα κλειδί ασφαλείας δεν μπορείτε πλέον να συνδεθείτε με αυτό. Συνέχεια manage_account_links=Διαχείριση Συνδεδεμένων Λογαριασμών manage_account_links_desc=Αυτοί οι εξωτερικοί λογαριασμοί είναι συνδεδεμένοι στον Gitea λογαριασμό σας. account_links_not_available=Προς το παρόν δεν υπάρχουν εξωτερικοί λογαριασμοί συνδεδεμένοι με τον λογαριασμό σας στο Gitea. link_account=Σύνδεση Λογαριασμού remove_account_link=Αφαίρεση Συνδεδεμένου Λογαριασμού -remove_account_link_desc=Η κατάργηση ενός συνδεδεμένου λογαριασμού θα ανακαλέσει την πρόσβασή του στο λογαριασμό σας στο Gitea. Συνέχεια remove_account_link_success=Ο συνδεδεμένος λογαριασμός έχει αφαιρεθεί. @@ -812,7 +790,6 @@ delete_prompt=Αυτή η ενέργεια θα διαγράψει μόνιμα delete_with_all_comments=Ο λογαριασμός σας είναι νεότερος από %s. Για να αποφύγετε τα σχόλια φαντάσματα, όλα τα σχόλια σε ζητήματα/PR θα διαγραφούν από αυτόν. confirm_delete_account=Επιβεβαίωση Διαγραφής delete_account_title=Διαγραφή Λογαριασμού Χρήστη -delete_account_desc=Είστε βέβαιοι ότι θέλετε να διαγράψετε μόνιμα αυτό το λογαριασμό χρήστη email_notifications.enable=Ενεργοποίηση Ειδοποιήσεων Μέσω Email email_notifications.onmention=Email Μόνο κατά την Αναφορά @@ -829,7 +806,6 @@ visibility.private=Ιδιωτική visibility.private_tooltip=Ορατός μόνο στα μέλη της οργάνωσης [repo] -new_repo_helper=Ένα αποθετήριο περιέχει όλα τα αρχεία του έργου, συμπεριλαμβανομένου του ιστορικού τους. Ήδη το έχετε κάπου αλλού owner=Ιδιοκτήτης owner_helper=Ορισμένοι οργανισμοί ενδέχεται να μην εμφανίζονται στο αναπτυσσόμενο μενού λόγω του μέγιστου αριθμού αποθετηρίων. repo_name=Όνομα αποθετηρίου @@ -844,7 +820,6 @@ visibility_description=Μόνο ο ιδιοκτήτης ή τα μέλη του visibility_helper=Αλλαγή σε Ιδιωτικό Αποθετήριο visibility_helper_forced=Ο διαχειριστής σας αναγκάζει τα νέα αποθετήρια να είναι ιδιωτικά. visibility_fork_helper=(Αλλάζοντας αυτό θα επηρεάσει όλα τα forks.) -clone_helper=Χρειάζεστε βοήθεια για τη κλωνοποίηση fork_repo=Δημιουργία ενός Fork fork_from=Fork Από Το already_forked=Έχετε ήδη κάνει fork το %s @@ -866,7 +841,6 @@ issue_labels=Σήματα Ζητήματος issue_labels_helper=Επιλέξτε ένα σύνολο σημάτων ζητημάτων. license=Άδεια license_helper=Επιλέξτε ένα αρχείο άδειας. -license_helper_desc=Μια άδεια διέπει τι άλλοι μπορούν και δεν μπορούν να κάνουν με τον κώδικά σας. Δεν είστε σίγουροι ποια είναι η σωστή για το έργο σας readme=README readme_helper=Επιλέξτε ένα πρότυπο αρχείου README. readme_helper_desc=Αυτό είναι το μέρος όπου μπορείτε να γράψετε μια πλήρη περιγραφή για το έργο σας. @@ -1129,7 +1103,6 @@ editor.file_deleting_no_longer_exists=Το αρχείο που διαγράφε editor.file_changed_while_editing=Τα περιεχόμενα του αρχείου άλλαξαν από τότε που ξεκίνησε η επεξεργασία. Κάντε κλικ εδώ για να τα δείτε ή Υποβολή Αλλαγών ξανά για να τα αντικαταστήσετε. editor.file_already_exists=Ένα αρχείο με όνομα '%s' υπάρχει ήδη σε αυτό το αποθετήριο. editor.commit_empty_file_header=Υποβολή ενός κενού αρχείου -editor.commit_empty_file_text=Το αρχείο που πρόκειται να υποβληθεί είναι κενό. Συνέχεια editor.no_changes_to_show=Δεν υπάρχουν αλλαγές για εμφάνιση. editor.fail_to_update_file=Απέτυχε η ενημέρωση/δημιουργία του αρχείου '%s'. editor.fail_to_update_file_summary=Μήνυμα Σφάλματος: @@ -1186,7 +1159,6 @@ projects.new=Νέο έργο projects.new_subheader=Συντονισμός, παρακολούθηση και ενημέρωση της δουλειάς σας σε ένα μέρος, έτσι ώστε τα έργα να παραμένουν διαφανή και μέσα στο χρονοδιάγραμμα. projects.create_success=Το έργο '%s' έχει δημιουργηθεί. projects.deletion=Διαγραφή Έργου -projects.deletion_desc=Η διαγραφή ενός έργου το αφαιρεί από όλα τα σχετιζόμενα ζητήματα. Συνέχεια projects.deletion_success=Το έργο έχει διαγραφεί. projects.edit=Επεξεργασία Έργων projects.edit_subheader=Τα Έργα οργανώνουν τα ζητήματα και παρακολουθούν τη πρόοδο τους. @@ -1324,7 +1296,6 @@ issues.closed_title=Κλειστά issues.draft_title=Προσχέδιο issues.num_comments=%d σχόλια issues.commented_at=`σχολίασε %s` -issues.delete_comment_confirm=Θέλετε σίγουρα να διαγράψετε αυτό το σχόλιο issues.context.copy_link=Αντιγραφή Συνδέσμου issues.context.quote_reply=Παράθεση Απάντησης issues.context.reference_issue=Αναφορά σε νέο ζήτημα @@ -1355,7 +1326,6 @@ issues.is_stale=Έχουν υπάρξει αλλαγές σε αυτό το PR issues.remove_request_review=Αφαίρεση αιτήματος αναθεώρησης issues.remove_request_review_block=Δεν είναι δυνατή η αφαίρεση του αιτήματος αξιολόγησης issues.dismiss_review=Απόρριψη Αξιολόγησης -issues.dismiss_review_warning=Είστε βέβαιοι ότι θέλετε να απορρίψετε αυτή την αξιολόγηση issues.sign_in_require_desc=Συνδεθείτε για να συμμετάσχετε σε αυτή τη συνομιλία. issues.edit=Επεξεργασία issues.cancel=Ακύρωση @@ -1369,7 +1339,6 @@ issues.label_edit=Επεξεργασία issues.label_delete=Διαγραφή issues.label_modify=Επεξεργασία Σήματος issues.label_deletion=Διαγραφή Σήματος -issues.label_deletion_desc=Η διαγραφή ενός σήματος την αφαιρεί από όλα τα ζητήματα. Συνέχεια issues.label_deletion_success=Το σήμα έχει διαγραφεί. issues.label.filter_sort.alphabetically=Αλφαβητικά issues.label.filter_sort.reverse_alphabetically=Αντίστροφα αλφαβητικά @@ -1400,8 +1369,6 @@ issues.lock.title=Κλείδωμα συνομιλίας σε αυτό το ζή issues.unlock.title=Ξεκλείδωμα συνομιλίας σε αυτό το ζήτημα. issues.comment_on_locked=Δεν μπορείτε να σχολιάσετε ένα κλειδωμένο ζήτημα. issues.delete=Διαγραφή -issues.delete.title=Διαγραφή αυτού του ζητήματος -issues.delete.text=Θέλετε πραγματικά να διαγράψετε αυτό το ζήτημα issues.tracker=Καταγραφή Χρόνου issues.start_tracking_short=Εκκίνηση Χρονομέτρου issues.start_tracking=Εκκίνηση Καταγραφής Χρόνου @@ -1460,8 +1427,6 @@ issues.dependency.pr_close_blocked=Πρέπει να κλείσετε όλα τ issues.dependency.blocks_short=Μπλοκάρει issues.dependency.blocked_by_short=Εξαρτάται από issues.dependency.remove_header=Αφαίρεση Εξάρτησης -issues.dependency.issue_remove_text=Αυτό θα αφαιρέσει την εξάρτηση από αυτό το ζήτημα. Συνέχεια -issues.dependency.pr_remove_text=Αυτό θα αφαιρέσει την εξάρτηση από αυτό το pull request. Συνέχεια issues.dependency.setting=Ενεργοποίηση Εξαρτήσεων Για Ζητήματα και Pull Requests issues.dependency.add_error_same_issue=Δεν μπορείτε να εξαρτάτε ένα ζήτημα από τον εαυτό του. issues.dependency.add_error_dep_issue_not_exist=Εξαρτώμενο ζήτημα δεν υπάρχει. @@ -1500,7 +1465,6 @@ issues.content_history.deleted=διαγράφηκε issues.content_history.edited=επεξεργάστηκε issues.content_history.created=δημιουργήθηκε issues.content_history.delete_from_history=Διαγραφή από το ιστορικό -issues.content_history.delete_from_history_confirm=Διαγραφή από το ιστορικό issues.content_history.options=Επιλογές issues.reference_link=Αναφορά: %s @@ -1544,7 +1508,6 @@ pulls.is_closed=Το pull request έχει κλείσει. pulls.has_merged=Το pull request έχει συγχωνευθεί. pulls.title_wip_desc=`Ξεκινήστε τον τίτλο με %s για να αποτρέψετε την τυχαία συγχώνευση του pull request.` pulls.cannot_merge_work_in_progress=Αυτό το pull request επισημαίνεται ως μια εργασία σε εξέλιξη. -pulls.still_in_progress=Ακόμα είναι σε εξέλιξη pulls.add_prefix=Προσθήκη %s προθέματος pulls.remove_prefix=Αφαίρεση %s προθέματος pulls.data_broken=Αυτό το pull request είναι κατεστραμμένο λόγω των πληροφοριών του fork που λείπουν. @@ -1630,8 +1593,6 @@ pulls.auto_merge_canceled_schedule=Η αυτόματη συγχώνευση ακ pulls.auto_merge_newly_scheduled_comment=`προγραμμάτισε αυτό το PR να συγχωνευτεί αυτόματα όταν όλοι οι έλεγχοι πετύχουν %[1]s` pulls.auto_merge_canceled_schedule_comment=`ακύρωσε την αυτόματη συγχώνευση αυτού του pull request όταν όλοι οι έλεγχοι πετύχουν %[1]s` -pulls.delete.title=Διαγραφή αυτού του pull request -pulls.delete.text=Θέλετε πραγματικά να διαγράψετε αυτό το pull request milestones.new=Νέο Ορόσημο milestones.closed=Έκλεισε %s @@ -1654,7 +1615,6 @@ milestones.cancel=Ακύρωση milestones.modify=Ενημέρωση Ορόσημου milestones.edit_success=Το ορόσημο '%s' έχει ενημερωθεί. milestones.deletion=Διαγραφή Ορόσημου -milestones.deletion_desc=Η διαγραφή ενός ορόσημου το αφαιρεί από όλα τα συναφή ζητήματα. Συνέχεια milestones.deletion_success=Το ορόσημο έχει διαγραφεί. milestones.filter_sort.closest_due_date=Πλησιέστερη παράδοση milestones.filter_sort.furthest_due_date=Απώτερη παράδοση @@ -1697,7 +1657,6 @@ wiki.file_revision=Αναθεώρηση Σελίδας wiki.wiki_page_revisions=Αναθεωρήσεις Σελίδας Wiki wiki.back_to_wiki=Πίσω στη σελίδα wiki wiki.delete_page_button=Διαγραφή Σελίδας -wiki.delete_page_notice_1=Διαγραφή της σελίδας wiki '%s' δεν μπορεί να αναιρεθεί. Συνέχεια wiki.page_already_exists=Υπάρχει ήδη μια σελίδα wiki με το ίδιο όνομα. wiki.reserved_page=Το όνομα σελίδας wiki '%s' είναι δεσμευμένο. wiki.pages=Σελίδες @@ -1794,7 +1753,6 @@ settings.hooks=Webhooks settings.githooks=Git Hooks settings.basic_settings=Βασικές Ρυθμίσεις settings.mirror_settings=Ρυθμίσεις Ειδώλου -settings.mirror_settings.docs=Ρυθμίστε το έργο σας για να ωθεί ή/και να τραβά αλλαγές σε/από άλλο αποθετήριο. Οι κλάδοι, οι ετικέτες και οι υποβολές θα συγχρονίζονται αυτόματα. Πώς μπορώ να καθρεπτίσω τα αποθετήρια settings.mirror_settings.mirrored_repository=Είδωλο αποθετηρίου settings.mirror_settings.direction=Κατεύθυνση settings.mirror_settings.direction.pull=Pull @@ -1909,7 +1867,6 @@ settings.add_collaborator_owner=Δεν είναι δυνατή η προσθήκ settings.add_collaborator_duplicate=Ο συνεργάτης έχει ήδη προστεθεί σε αυτό το αποθετήριο. settings.delete_collaborator=Αφαίρεση settings.collaborator_deletion=Αφαίρεση Συνεργάτη -settings.collaborator_deletion_desc=Η κατάργηση ενός συνεργάτη θα ανακαλέσει την πρόσβασή τους σε αυτό το αποθετήριο. Συνέχεια settings.remove_collaborator_success=Ο συνεργάτης έχει αφαιρεθεί. settings.search_user_placeholder=Αναζήτηση χρήστη… settings.org_not_allowed_to_be_collaborator=Οι οργανισμοί δεν μπορούν να προστεθούν ως συνεργάτης. @@ -1927,7 +1884,6 @@ settings.add_webhook=Προσθήκη Webhook settings.add_webhook.invalid_channel_name=Το όνομα του καναλιού Webhook δεν μπορεί να είναι κενό και δεν μπορεί να περιέχει μόνο έναν χαρακτήρα #. settings.hooks_desc=Τα Webhooks κάνουν αυτόματα αιτήσεις HTTP POST σε ένα διακομιστή όταν ενεργοποιούνται ορισμένα γεγονότα στο Gitea. Διαβάστε περισσότερα στον οδηγό webhooks. settings.webhook_deletion=Αφαίρεση Webhook -settings.webhook_deletion_desc=Η αφαίρεση ενός webhook διαγράφει τις ρυθμίσεις και το ιστορικό παραδόσεων. Συνέχεια settings.webhook_deletion_success=Το webhook έχει αφαιρεθεί. settings.webhook.test_delivery=Δοκιμή Παράδοσης settings.webhook.test_delivery_desc=Δοκιμάστε αυτό το webhook με ένα ψεύτικο συμβάν. @@ -2044,13 +2000,9 @@ settings.key_been_used=Ένα κλειδί διάθεσης με το ίδιο settings.key_name_used=Ένα κλειδί διάθεσης με το ίδιο όνομα υπάρχει ήδη. settings.add_key_success=Το κλειδί διάθεσης '%s' έχει προστεθεί. settings.deploy_key_deletion=Αφαίρεση Κλειδιού Διάθεσης -settings.deploy_key_deletion_desc=Η κατάργηση ενός κλειδί διάθεσης θα ανακαλέσει την πρόσβασή του σε αυτό το αποθετήριο. Συνέχεια settings.deploy_key_deletion_success=Το κλειδί διάθεσης έχει αφαιρεθεί. settings.branches=Κλάδοι settings.protected_branch=Προστασία Κλάδου -settings.protected_branch_can_push=Επιτρέψτε ώθηση -settings.protected_branch_can_push_yes=Μπορείτε να ωθήσετε -settings.protected_branch_can_push_no=Δεν μπορείτε να ωθήσετε settings.branch_protection=Προστασία Κλάδου για το Κλάδο '%s' settings.protect_this_branch=Ενεργοποίηση Προστασίας Κλάδου settings.protect_this_branch_desc=Αποτρέπει τη διαγραφή και περιορίζει το Git push και συγχώνευση στον κλάδο. @@ -2091,7 +2043,6 @@ settings.delete_protected_branch=Απενεργοποίηση προστασία settings.update_protect_branch_success=Η προστασία κλάδου για τον κλάδο '%s' έχει ενημερωθεί. settings.remove_protected_branch_success=Η προστασία κλάδου για τον κλάδο '%s' έχει απενεργοποιηθεί. settings.protected_branch_deletion=Απενεργοποίηση Προστασίας Κλάδου -settings.protected_branch_deletion_desc=Η απενεργοποίηση της προστασίας του κλάδου επιτρέπει στους χρήστες με άδεια εγγραφής να κάνουν push στον κλάδο. Συνέχεια settings.block_rejected_reviews=Φραγή συγχώνευσης αν υπάρχουν απορριπτικές αξιολογήσεις settings.block_rejected_reviews_desc=Η συγχώνευση δεν θα είναι δυνατή όταν οι αλλαγές ζητούνται από τους επίσημους εξεταστές, ακόμη και αν υπάρχουν αρκετές εγκρίσεις. settings.block_on_official_review_requests=Φραγή συγχώνευσης σε επίσημες αιτήσεις αξιολόγησης @@ -2140,7 +2091,6 @@ settings.lfs_findcommits=Εύρεση υποβολών settings.lfs_lfs_file_no_commits=Δεν βρέθηκαν υποβολές για αυτό το αρχείο LFS settings.lfs_noattribute=Αυτή η διαδρομή δεν έχει λειτουργία κλειδώματος στον προεπιλεγμένο κλάδο settings.lfs_delete=Διαγραφή αρχείου LFS με το OID %s -settings.lfs_delete_warning=Η διαγραφή ενός αρχείου LFS μπορεί να προκαλέσει σφάλματα 'object does not exist' κατά την ολοκλήρωση του checkout. Σίγουρα settings.lfs_findpointerfiles=Εύρεση αρχείων δείκτη settings.lfs_locks=Κλειδώματα settings.lfs_invalid_locking_path=Μη έγκυρη διαδρομή: %s @@ -2246,9 +2196,7 @@ release.edit_release=Ενημέρωση Κυκλοφορίας release.delete_release=Διαγραφή Κυκλοφορίας release.delete_tag=Διαγραφή Ετικέτας release.deletion=Διαγραφή Κυκλοφορίας -release.deletion_desc=Διαγραφή μιας έκδοσης την αφαιρεί μόνο από Gitea. Ετικέτες, περιεχόμενα αποθετηρίου και ιστορικό παραμένουν αμετάβλητα. Συνέχεια release.deletion_success=Η κυκλοφορία έχει διαγραφεί. -release.deletion_tag_desc=Θα διαγράψει αυτή την ετικέτα από το αποθετήριο. Τα περιεχόμενα του αποθετηρίου και το ιστορικό παραμένουν αμετάβλητα. Συνέχεια release.deletion_tag_success=Η ετικέτα έχει διαγραφεί. release.tag_name_already_exist=Υπάρχει ήδη μια έκδοση με αυτό το όνομα ετικέτας. release.tag_name_invalid=Το όνομα της ετικέτας δεν είναι έγκυρο. @@ -2265,7 +2213,6 @@ branch.already_exists=Ένας κλάδος με όνομα '%s' υπάρχει branch.delete_head=Διαγραφή branch.delete=Διαγραφή του Κλάδου '%s' branch.delete_html=Διαγραφή Κλάδου -branch.delete_desc=Η διαγραφή του κλάδου είναι μόνιμη. ΔΕΝ ΜΠΟΡΕΙ να αναιρεθεί. Συνέχεια branch.deletion_success=Ο κλάδος '%s' έχει διαγραφεί. branch.deletion_failed=Αποτυχία διαγραφής του κλάδου '%s'. branch.delete_branch_has_new_commits=Ο κλάδος '%s' δεν μπορεί να διαγραφεί επειδή έχουν προστεθεί νέες υποβολές μετά τη συγχώνευση. @@ -2361,7 +2308,6 @@ settings.delete_account=Διαγραφή Αυτού Του Οργανισμού settings.delete_prompt=Ο οργανισμός θα αφαιρεθεί οριστικά. Αυτό το ΔΕΝ ΜΠΟΡΕΙ να αναιρεθεί! settings.confirm_delete_account=Επιβεβαίωση Διαγραφής settings.delete_org_title=Διαγραφή Οργανισμού -settings.delete_org_desc=Αυτός ο οργανισμός θα διαγραφεί οριστικά. Συνέχεια settings.hooks_desc=Προσθήκη webhooks που θα ενεργοποιούνται για όλα τα αποθετήρια κάτω από αυτό τον οργανισμό. settings.labels_desc=Προσθήκη σημάτων που μπορούν να χρησιμοποιηθούν σε ζητήματα για όλα τα αποθετήρια κάτω από αυτό τον οργανισμό. @@ -2375,15 +2321,12 @@ members.member_role=Ρόλος Μέλους: members.owner=Ιδιοκτήτης members.member=Μέλος members.remove=Αφαίρεση -members.remove.detail=Αφαιρέστε το %[1]s από %[2]s members.leave=Αποχώρηση -members.leave.detail=Αποχώρηση από %s members.invite_desc=Προσθέστε ένα νέο μέλος στο %s: members.invite_now=Πρόσκληση Τώρα teams.join=Συμμετοχή teams.leave=Αποχώρηση -teams.leave.detail=Αποχώρηση από %s teams.can_create_org_repo=Δημιουργία αποθετηρίων teams.can_create_org_repo_helper=Τα μέλη μπορούν να δημιουργήσουν νέα αποθετήρια στον οργανισμό. Ο δημιουργός θα αποκτήσει πρόσβαση διαχειριστή στο νέο αποθετήριο. teams.none_access=Καμία Πρόσβαση @@ -2406,7 +2349,6 @@ teams.add_team_member=Προσθήκη Μέλους Ομάδας teams.invite_team_member=Πρόσκληση στο %s teams.invite_team_member.list=Εκκρεμείς Προσκλήσεις teams.delete_team_title=Διαγραφή Ομάδας -teams.delete_team_desc=Η διαγραφή μιας ομάδας ανακαλεί τη πρόσβαση στο αποθετήριο από τα μέλη της. Συνέχεια teams.delete_team_success=Η ομάδα έχει διαγραφεί. teams.read_permission_desc=Αυτή η ομάδα χορηγεί πρόσβαση Ανάγνωσης: τα μέλη μπορούν να δουν και να κλωνοποιήσουν τα αποθετήρια της ομάδας. teams.write_permission_desc=Αυτή η ομάδα χορηγεί πρόσβαση Εγγραφής: τα μέλη μπορούν να διαβάσουν και να κάνουν push στα αποθετήρια της ομάδας. @@ -2591,7 +2533,6 @@ emails.updated=Το email ενημερώθηκε emails.not_updated=Αποτυχία ενημέρωσης της ζητούμενης διεύθυνσης email: %v emails.duplicate_active=Αυτή η διεύθυνση email είναι ήδη ενεργή σε διαφορετικό χρήστη. emails.change_email_header=Ενημέρωση Ιδιοτήτων Email -emails.change_email_text=Είστε βέβαιοι ότι θέλετε να ενημερώσετε αυτή τη διεύθυνση email orgs.org_manage_panel=Διαχείριση Οργανισμού orgs.name=Όνομα @@ -2741,7 +2682,6 @@ auths.update_success=Η πηγή ταυτοποίησης έχει ενημερ auths.update=Ενημέρωση Πηγής Ταυτοποίησης auths.delete=Διαγραφή Πηγής Ταυτοποίησης auths.delete_auth_title=Διαγραφή Πηγής Ταυτοποίησης -auths.delete_auth_desc=Η διαγραφή μιας πηγής ταυτοποίησης αποτρέπει τους χρήστες να τη χρησιμοποιούν για να συνδεθούν. Συνέχεια auths.still_in_used=Η πηγή ταυτοποίησης είναι ακόμα σε χρήση. Μετατρέψτε ή διαγράψτε χρηστών που χρησιμοποιούν αυτήν την πηγή πρώτα. auths.deletion_success=Η πηγή ταυτοποίησης έχει διαγραφεί. auths.login_source_exist=Η πηγή ταυτοποίησης '%s' υπάρχει ήδη. @@ -2903,7 +2843,6 @@ monitor.execute_time=Χρόνος Εκτέλεσης monitor.last_execution_result=Αποτέλεσμα monitor.process.cancel=Ακύρωση διαδικασίας monitor.process.cancel_desc=Η ακύρωση μιας διαδικασίας μπορεί να προκαλέσει απώλεια δεδομένων -monitor.process.cancel_notices=Ακύρωση: %s monitor.process.children=Θυγατρικές monitor.queues=Ουρές monitor.queue=Ουρά: %s @@ -2963,7 +2902,6 @@ monitor.queue.pool.workers.title=Ενεργές Ομάδες Εργατών monitor.queue.pool.workers.none=Καμία ομάδα εργατών. monitor.queue.pool.cancel=Τερματισμός Ομάδας Εργατών monitor.queue.pool.cancelling=Τερματισμός Ομάδας Εργατών -monitor.queue.pool.cancel_notices=Τερματισμός αυτής της ομάδας των %s εργατών monitor.queue.pool.cancel_desc=Αφήνοντας μια ουρά χωρίς καμία ομάδα εργατών μπορεί να προκληθεί μπλοκάρισμα των αιτημάτων επ 'αόριστον. notices.system_notice_list=Ειδοποιήσεις Συστήματος @@ -3076,7 +3014,6 @@ title=Πακέτα desc=Διαχείριση πακέτων μητρώου. empty=Δεν υπάρχουν πακέτα ακόμα. empty.documentation=Για περισσότερες πληροφορίες σχετικά με το μητρώο πακέτων, ανατρέξτε στην τεκμηρίωση. -empty.repo=Μήπως ανεβάσατε ένα πακέτο, αλλά δεν εμφανίζεται εδώ filter.type=Τύπος filter.type.all=Όλα filter.no_result=Το φίλτρο δεν παρήγαγε αποτελέσματα. @@ -3165,7 +3102,6 @@ settings.link.success=Ο σύνδεσμος αποθετηρίου ενημερ settings.link.error=Αποτυχία ενημέρωσης συνδέσμου αποθετηρίου. settings.delete=Διαγραφή πακέτου settings.delete.description=Η διαγραφή ενός πακέτου είναι μόνιμη και δεν μπορεί να αναιρεθεί. -settings.delete.notice=Πρόκειται να διαγράψετε %s (%s). Αυτή η λειτουργία είναι μη αναστρέψιμη, είστε σίγουροι settings.delete.success=Το πακέτο έχει διαγραφεί. settings.delete.error=Αποτυχία διαγραφής του πακέτου. owner.settings.cleanuprules.enabled=Ενεργοποιημένο diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini index da4ad47620209..569fee0940067 100644 --- a/options/locale/locale_en-US.ini +++ b/options/locale/locale_en-US.ini @@ -219,7 +219,7 @@ openid_signup_popup = Enable OpenID-based user self-registration. enable_captcha = Enable registration CAPTCHA enable_captcha_popup = Require a CAPTCHA for user self-registration. require_sign_in_view = Require Sign-In to View Pages -require_sign_in_view_popup = Limit page access to signed-in users. Visitors will only see the 'sign in' and registration pages. +require_sign_in_view_popup = Limit page access to signed-in users. Visitors will only see the sign-in and registration pages. admin_setting_desc = Creating an administrator account is optional. The first registered user will automatically become an administrator. admin_title = Administrator Account Settings admin_name = Administrator Username @@ -521,14 +521,14 @@ invalid_ssh_key = Cannot verify your SSH key: %s invalid_gpg_key = Cannot verify your GPG key: %s invalid_ssh_principal = Invalid principal: %s must_use_public_key = The key you provided is a private key. Please do not upload your private key anywhere. Use your public key instead. -unable_verify_ssh_key = "Cannot verify the SSH key; double-check it for mistakes." +unable_verify_ssh_key = "Cannot verify the SSH key, double-check it for mistakes." auth_failed = Authentication failed: %v -still_own_repo = "Your account owns one or more repositories; delete or transfer them first." -still_has_org = "Your account is a member of one or more organizations; leave them first." -still_own_packages = "Your account owns one or more packages; delete them first." -org_still_own_repo = "This organization still owns one or more repositories; delete or transfer them first." -org_still_own_packages = "This organization still owns one or more packages; delete them first." +still_own_repo = "Your account owns one or more repositories, delete or transfer them first." +still_has_org = "Your account is a member of one or more organizations, leave them first." +still_own_packages = "Your account owns one or more packages, delete them first." +org_still_own_repo = "This organization still owns one or more repositories, delete or transfer them first." +org_still_own_packages = "This organization still owns one or more packages, delete them first." target_branch_not_exist = Target branch does not exist. @@ -993,7 +993,7 @@ migrate.github_token_desc = You can put one or more tokens with comma separated migrate.clone_local_path = or a local server path migrate.permission_denied = You are not allowed to import local repositories. migrate.permission_denied_blocked = You cannot import from disallowed hosts, please ask the admin to check ALLOWED_DOMAINS/ALLOW_LOCALNETWORKS/BLOCKED_DOMAINS settings. -migrate.invalid_local_path = "The local path is invalid. It does not exist or is not a directory." +migrate.invalid_local_path = "The local path is invalid. It doesn't exist or is not a directory." migrate.invalid_lfs_endpoint = The LFS endpoint is not valid. migrate.failed = Migration failed: %v migrate.migrate_items_options = Access Token is required to migrate additional items @@ -1175,7 +1175,7 @@ commits.commits = Commits commits.no_commits = No commits in common. '%s' and '%s' have entirely different histories. commits.nothing_to_compare = These branches are equal. commits.search = Search commits… -commits.search.tooltip = You can prefix keywords with "author:", "committer:", "after:", or "before:", e.g. "revert author:Alice before:2019-04-01". +commits.search.tooltip = You can prefix keywords with "author:", "committer:", "after:", or "before:", e.g. "revert author:Alice before:2019-01-01". commits.find = Search commits.search_all = All Branches commits.author = Author @@ -1635,7 +1635,6 @@ pulls.merge_conflict = Merge Failed: There was a conflict whilst merging. Hint: pulls.merge_conflict_summary = Error Message pulls.rebase_conflict = Merge Failed: There was a conflict whilst rebasing commit: %[1]s. Hint: Try a different strategy pulls.rebase_conflict_summary = Error Message -; %[2]s
%[3]s
pulls.unrelated_histories = Merge Failed: The merge head and base do not share a common history. Hint: Try a different strategy pulls.merge_out_of_date = Merge Failed: Whilst generating the merge, the base was updated. Hint: Try again. pulls.head_out_of_date = Merge Failed: Whilst generating the merge, the head was updated. Hint: Try again. @@ -1935,7 +1934,7 @@ settings.trust_model.collaborator.long = Collaborator: Trust signatures by colla settings.trust_model.collaborator.desc = Valid signatures by collaborators of this repository will be marked "trusted" - (whether they match the committer or not). Otherwise, valid signatures will be marked "untrusted" if the signature matches the committer and "unmatched" if not. settings.trust_model.committer = Committer settings.trust_model.committer.long = Committer: Trust signatures that match committers (This matches GitHub and will force Gitea signed commits to have Gitea as the committer) -settings.trust_model.committer.desc = Valid signatures will only be marked "trusted" if they match the committer, otherwise they will be marked "unmatched". This will force Gitea to be the committer on signed commits with the actual committer marked as Co-authored-by: and Co-committed-by: trailer in the commit. The default Gitea key must match a User in the database. +settings.trust_model.committer.desc = Valid signatures will only be marked "trusted" if they match the committer, otherwise they will be marked "unmatched". This forces Gitea to be the committer on signed commits with the actual committer marked as Co-authored-by: and Co-committed-by: trailer in the commit. The default Gitea key must match a User in the database. settings.trust_model.collaboratorcommitter = Collaborator+Committer settings.trust_model.collaboratorcommitter.long = Collaborator+Committer: Trust signatures by collaborators which match the committer settings.trust_model.collaboratorcommitter.desc = Valid signatures by collaborators of this repository will be marked "trusted" if they match the committer. Otherwise, valid signatures will be marked "untrusted" if the signature matches the committer and "unmatched" otherwise. This will force Gitea to be marked as the committer on signed commits with the actual committer marked as Co-Authored-By: and Co-Committed-By: trailer in the commit. The default Gitea key must match a User in the database. @@ -2135,10 +2134,10 @@ settings.dismiss_stale_approvals_desc = When new commits that change the content settings.require_signed_commits = Require Signed Commits settings.require_signed_commits_desc = Reject pushes to this branch if they are unsigned or unverifiable. settings.protect_branch_name_pattern = Protected Branch Name Pattern -settings.protect_protected_file_patterns = Protected file patterns (separated using semicolon '\;'): -settings.protect_protected_file_patterns_desc = Protected files that are not allowed to be changed directly even if user has rights to add, edit, or delete files in this branch. Multiple patterns can be separated using semicolon ('\;'). See github.com/gobwas/glob documentation for pattern syntax. Examples: .drone.yml, /docs/**/*.txt. -settings.protect_unprotected_file_patterns = Unprotected file patterns (separated using semicolon '\;'): -settings.protect_unprotected_file_patterns_desc = Unprotected files that are allowed to be changed directly if user has write access, bypassing push restriction. Multiple patterns can be separated using semicolon ('\;'). See github.com/gobwas/glob documentation for pattern syntax. Examples: .drone.yml, /docs/**/*.txt. +settings.protect_protected_file_patterns = `Protected file patterns (separated using semicolon ';'):` +settings.protect_protected_file_patterns_desc = `Protected files are not allowed to be changed directly even if user has rights to add, edit, or delete files in this branch. Multiple patterns can be separated using semicolon (';'). See github.com/gobwas/glob documentation for pattern syntax. Examples: .drone.yml, /docs/**/*.txt.` +settings.protect_unprotected_file_patterns = `Unprotected file patterns (separated using semicolon ';'):` +settings.protect_unprotected_file_patterns_desc = `Unprotected files that are allowed to be changed directly if user has write access, bypassing push restriction. Multiple patterns can be separated using semicolon (';'). See github.com/gobwas/glob documentation for pattern syntax. Examples: .drone.yml, /docs/**/*.txt.` settings.add_protected_branch = Enable protection settings.delete_protected_branch = Disable protection settings.update_protect_branch_success = Branch protection for rule '%s' has been updated. @@ -2481,7 +2480,7 @@ teams.remove_all_repos_title = Remove all team repositories teams.remove_all_repos_desc = This will remove all repositories from the team. teams.add_all_repos_title = Add all repositories teams.add_all_repos_desc = This will add all the organization's repositories to the team. -teams.add_nonexistent_repo = "The repository you're trying to add does not exist; please create it first." +teams.add_nonexistent_repo = "The repository you're trying to add doesn't exist, please create it first." teams.add_duplicate_users = User is already a team member. teams.repos.none = No repositories could be accessed by this team. teams.members.none = No members on this team. @@ -2511,7 +2510,7 @@ first_page = First last_page = Last total = Total: %d -dashboard.new_version_hint = Gitea %s is now available, you are running %s. Check the blog for more details. +dashboard.new_version_hint = Gitea %s is now available, you are running %s. Check blog for more details. dashboard.statistic = Summary dashboard.operations = Maintenance Operations dashboard.system_status = System Status @@ -2631,7 +2630,7 @@ users.still_own_repo = This user still owns one or more repositories. Delete or users.still_has_org = This user is a member of an organization. Remove the user from any organizations first. users.purge = Purge User users.purge_help = Forcibly delete user and any repositories, organizations, and packages owned by the user. All comments will be deleted too. -users.still_own_packages = This user still owns one or more packages. Delete these packages first. +users.still_own_packages = This user still owns one or more packages, delete these packages first. users.deletion_success = The user account has been deleted. users.reset_2fa = Reset 2FA users.list_status_filter.menu_text = Filter From fbf678542b0fc0ccc2194bc0f26dfbf9f3645112 Mon Sep 17 00:00:00 2001 From: wxiaoguang Date: Thu, 23 Mar 2023 11:07:27 +0800 Subject: [PATCH 2/6] add more comments --- build/backport-locales.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/build/backport-locales.go b/build/backport-locales.go index c598c1e9331e4..efaae52bd4aed 100644 --- a/build/backport-locales.go +++ b/build/backport-locales.go @@ -74,9 +74,10 @@ func main() { if secNew.HasKey(keyEnUs.Name()) { oldStr := secOld.Key(keyEnUs.Name()).String() newStr := secNew.Key(keyEnUs.Name()).String() - // a bug: new translations with ";" are all broken + // A bug: many of new translations with ";" are broken in Crowdin (due to last messy restoring) + // As the broken strings are gradually fixed, this workaround check could be removed (in a few months?) if strings.Contains(oldStr, ";") && !strings.Contains(newStr, ";") { - println("skipping", path, secEnUS.Name(), keyEnUs.Name()) + println("skip potential broken string", path, secEnUS.Name(), keyEnUs.Name()) continue } secOld.Key(keyEnUs.Name()).SetValue(newStr) From cacd252395cb829a061f4d8738de5bab18b020b2 Mon Sep 17 00:00:00 2001 From: wxiaoguang Date: Thu, 23 Mar 2023 11:08:28 +0800 Subject: [PATCH 3/6] removing unnecessary backquotes --- options/locale/locale_en-US.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini index 569fee0940067..09a717a9cb088 100644 --- a/options/locale/locale_en-US.ini +++ b/options/locale/locale_en-US.ini @@ -249,7 +249,7 @@ no_reply_address = Hidden Email Domain no_reply_address_helper = Domain name for users with a hidden email address. For example, the username 'joe' will be logged in Git as 'joe@noreply.example.org' if the hidden email domain is set to 'noreply.example.org'. password_algorithm = Password Hash Algorithm invalid_password_algorithm = Invalid password hash algorithm -password_algorithm_helper = Set the password hashing algorithm. Algorithms have differing requirements and strength. `argon2` whilst having good characteristics uses a lot of memory and may be inappropriate for small systems. +password_algorithm_helper = Set the password hashing algorithm. Algorithms have differing requirements and strength. The argon2 whilst having good characteristics uses a lot of memory and may be inappropriate for small systems. enable_update_checker = Enable Update Checker enable_update_checker_helper = Checks for new version releases periodically by connecting to gitea.io. From 86e00c2ec9f03e054c1b3fe8f6d23aa3c9b9452a Mon Sep 17 00:00:00 2001 From: wxiaoguang Date: Thu, 23 Mar 2023 18:11:31 +0800 Subject: [PATCH 4/6] Update options/locale/locale_en-US.ini Co-authored-by: delvh --- options/locale/locale_en-US.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini index 09a717a9cb088..b80e2248161fa 100644 --- a/options/locale/locale_en-US.ini +++ b/options/locale/locale_en-US.ini @@ -1175,7 +1175,7 @@ commits.commits = Commits commits.no_commits = No commits in common. '%s' and '%s' have entirely different histories. commits.nothing_to_compare = These branches are equal. commits.search = Search commits… -commits.search.tooltip = You can prefix keywords with "author:", "committer:", "after:", or "before:", e.g. "revert author:Alice before:2019-01-01". +commits.search.tooltip = You can prefix keywords with "author:", "committer:", "after:", or "before:", e.g. "revert author:Alice before:2019-01-13". commits.find = Search commits.search_all = All Branches commits.author = Author From 83d84ac116be0ca246eb4e10f5c1d651c51e4856 Mon Sep 17 00:00:00 2001 From: wxiaoguang Date: Thu, 23 Mar 2023 18:15:04 +0800 Subject: [PATCH 5/6] Update options/locale/locale_en-US.ini Co-authored-by: delvh --- options/locale/locale_en-US.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini index b80e2248161fa..16dc5398caa3a 100644 --- a/options/locale/locale_en-US.ini +++ b/options/locale/locale_en-US.ini @@ -249,7 +249,7 @@ no_reply_address = Hidden Email Domain no_reply_address_helper = Domain name for users with a hidden email address. For example, the username 'joe' will be logged in Git as 'joe@noreply.example.org' if the hidden email domain is set to 'noreply.example.org'. password_algorithm = Password Hash Algorithm invalid_password_algorithm = Invalid password hash algorithm -password_algorithm_helper = Set the password hashing algorithm. Algorithms have differing requirements and strength. The argon2 whilst having good characteristics uses a lot of memory and may be inappropriate for small systems. +password_algorithm_helper = Set the password hashing algorithm. Algorithms have differing requirements and strength. The argon2 algorithm is rather secure but uses a lot of memory and may be inappropriate for small systems. enable_update_checker = Enable Update Checker enable_update_checker_helper = Checks for new version releases periodically by connecting to gitea.io. From af0f36b6405a34e3586d31cf952dadcf69a498d6 Mon Sep 17 00:00:00 2001 From: wxiaoguang Date: Thu, 23 Mar 2023 18:15:13 +0800 Subject: [PATCH 6/6] Update options/locale/locale_en-US.ini Co-authored-by: delvh --- options/locale/locale_en-US.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini index 16dc5398caa3a..6d839edc10229 100644 --- a/options/locale/locale_en-US.ini +++ b/options/locale/locale_en-US.ini @@ -2510,7 +2510,7 @@ first_page = First last_page = Last total = Total: %d -dashboard.new_version_hint = Gitea %s is now available, you are running %s. Check blog for more details. +dashboard.new_version_hint = Gitea %s is now available, you are running %s. Check the blog for more details. dashboard.statistic = Summary dashboard.operations = Maintenance Operations dashboard.system_status = System Status