Compare commits
2 Commits
953a7c08be
...
7f0a7db812
| Author | SHA1 | Date | |
|---|---|---|---|
| 7f0a7db812 | |||
| b1db0705d8 |
@@ -828,3 +828,13 @@ History search guidance:
|
||||
|
||||
167 - [2026-05-20 01:12:06] - v1.27.0-dev-178-gf09229e739 - Type: Modified - [footer] [sticky-ui] Fine-tuned the persistent footer lip geometry for better visual balance.
|
||||
- 1 - I updated `web_src/css/home.css` so the persistent-footer toggle lip now rises a bit higher above the footer edge and is slightly taller, giving the handle a more relaxed fit against the footer border.
|
||||
|
||||
168 - [2026-05-21 01:08:54] - v1.27.0-dev-179-g953a7c08be - Type: Modified - [install] [mailer] Split the installer mail sender field into display name and address, auto-filled the sender name from Site Title, and reused that site name in test mails.
|
||||
- 1 - I updated `services/forms/user_form.go`, `routers/install/install.go`, `templates/install.tmpl`, `options/locale/locale_en-US.json`, and `options/locale/locale_ro-RO.json` so the installer now edits `Send Email As` through separate sender-name and sender-address inputs on the same line, auto-fills the sender name from the part of `Site Title` before `:`, or from the first word when no `:` is present, and composes `[mailer] FROM = site_name <mail@address>` server-side during test mail and install submission.
|
||||
- 2 - I updated `services/mailer/mail.go` so the installer test mail subject/body reuse that derived site name instead of the hardcoded `Gitea` label.
|
||||
- 3 - I added targeted coverage in `routers/install/routes_test.go` and `services/mailer/mail_test.go` for the derived site-name logic and the composed installer `FROM` address.
|
||||
- 4 - I updated `routers/install/install.go`, `templates/install.tmpl`, and the installer locale strings so the primary install button now renders `Install <site_name>` from the same derived site-name rule and updates live as `Site Title` changes.
|
||||
|
||||
169 - [2026-05-21 01:18:41] - v1.27.0-dev-180-gb1db0705d8 - Type: Modified - [locale] [i18n] Synchronized the locale files with the current installer and sticky-layout strings.
|
||||
- 1 - I updated all translated `options/locale/locale_*.json` files so `install.install_btn_confirm` now accepts a `%s` site-name placeholder instead of hardcoding `Gitea`, matching the current installer button behavior.
|
||||
- 2 - I added the missing `footer.show`, `footer.hide`, `install.smtp_from_name_placeholder`, and `install.smtp_from_address_placeholder` keys across the locale files, using the current English fallback text where no localized variant was available in this change.
|
||||
|
||||
@@ -145,6 +145,8 @@
|
||||
"search.no_results": "Nebyly nalezeny žádné odpovídající výsledky.",
|
||||
"search.keyword_search_unavailable": "Hledání podle klíčového slova není momentálně dostupné. Obraťte se na správce webu.",
|
||||
"aria.navbar": "Navigační lišta",
|
||||
"footer.show": "Show footer",
|
||||
"footer.hide": "Hide footer",
|
||||
"aria.footer": "Patička",
|
||||
"aria.footer.software": "O softwaru",
|
||||
"aria.footer.links": "Odkazy",
|
||||
@@ -236,6 +238,8 @@
|
||||
"install.smtp_addr": "Server SMTP",
|
||||
"install.smtp_port": "Port SMTP",
|
||||
"install.smtp_from": "Odeslat e-mail jako",
|
||||
"install.smtp_from_name_placeholder": "Sender name",
|
||||
"install.smtp_from_address_placeholder": "email@example.com",
|
||||
"install.smtp_from_invalid": "Adresa \"Odeslat e-mail jako\" je neplatná",
|
||||
"install.smtp_from_helper": "E-mailová adresa, kterou bude Gitea používat. Zadejte běžnou e-mailovou adresu, nebo použijte formát \"Jméno\"<email@example.com>.",
|
||||
"install.mailer_user": "Uživatelské jméno SMTP",
|
||||
@@ -293,7 +297,7 @@
|
||||
"install.admin_management_policy.grantor_only_helper": "Regular admins can promote users to administrator and can later modify or delete only the administrators they directly promoted.",
|
||||
"install.admin_management_policy.grantor_inheritance": "Grantor chain with inheritance",
|
||||
"install.admin_management_policy.grantor_inheritance_helper": "Like grantor-only, but if the direct grantor becomes inactive or has sign-in disabled, management passes up the admin grant chain until an eligible admin is found. If none is found, super admins keep control.",
|
||||
"install.install_btn_confirm": "Nainstalovat Gitea",
|
||||
"install.install_btn_confirm": "Nainstalovat %s",
|
||||
"install.test_git_failed": "Chyba při testu příkazu 'git': %v",
|
||||
"install.sqlite3_not_available": "Tato verze Gitea nepodporuje SQLite3. Stáhněte si oficiální binární verzi od %s (nikoli verzi „gobuild“).",
|
||||
"install.invalid_db_setting": "Nastavení databáze je neplatné: %v",
|
||||
|
||||
@@ -137,6 +137,8 @@
|
||||
"search.no_results": "Es wurden keine passenden Ergebnisse gefunden.",
|
||||
"search.keyword_search_unavailable": "Zurzeit ist die Stichwort-Suche nicht verfügbar. Bitte wende dich an den Website-Administrator.",
|
||||
"aria.navbar": "Navigationsleiste",
|
||||
"footer.show": "Show footer",
|
||||
"footer.hide": "Hide footer",
|
||||
"aria.footer": "Fußzeile",
|
||||
"aria.footer.software": "Über die Software",
|
||||
"heatmap.number_of_contributions_in_the_last_12_months": "%s Beiträge in den letzten 12 Monaten",
|
||||
@@ -229,6 +231,8 @@
|
||||
"install.smtp_port": "SMTP-Port",
|
||||
"install.smtp_from": "E-Mail senden als",
|
||||
"install.smtp_from_invalid": "Die „E-Mail senden als“ Adresse ist ungültig",
|
||||
"install.smtp_from_name_placeholder": "Sender name",
|
||||
"install.smtp_from_address_placeholder": "email@example.com",
|
||||
"install.smtp_from_helper": "E-Mail-Adresse, die von Gitea genutzt werden soll. Bitte gib die E-Mail-Adresse im Format „\"Name\" <email@example.com>“ ein.",
|
||||
"install.mailer_user": "SMTP-Benutzername",
|
||||
"install.mailer_password": "SMTP-Passwort",
|
||||
@@ -285,7 +289,7 @@
|
||||
"install.admin_management_policy.grantor_only_helper": "Regular admins can promote users to administrator and can later modify or delete only the administrators they directly promoted.",
|
||||
"install.admin_management_policy.grantor_inheritance": "Grantor chain with inheritance",
|
||||
"install.admin_management_policy.grantor_inheritance_helper": "Like grantor-only, but if the direct grantor becomes inactive or has sign-in disabled, management passes up the admin grant chain until an eligible admin is found. If none is found, super admins keep control.",
|
||||
"install.install_btn_confirm": "Gitea installieren",
|
||||
"install.install_btn_confirm": "%s installieren",
|
||||
"install.test_git_failed": "Fehler beim Test des „git“-Befehls: %v",
|
||||
"install.sqlite3_not_available": "Diese Gitea-Version unterstützt SQLite3 nicht. Bitte lade die offizielle binäre Version von %s herunter (nicht die „gobuild“-Version).",
|
||||
"install.invalid_db_setting": "Datenbankeinstellungen sind ungültig: %v",
|
||||
|
||||
@@ -124,6 +124,8 @@
|
||||
"filter.public": "Δημόσιος",
|
||||
"filter.private": "Ιδιωτικό",
|
||||
"aria.navbar": "Γραμμή Πλοήγησης",
|
||||
"footer.show": "Show footer",
|
||||
"footer.hide": "Hide footer",
|
||||
"aria.footer": "Υποσέλιδο",
|
||||
"aria.footer.software": "Σχετικά με το Λογισμικό",
|
||||
"aria.footer.links": "Συνδέσεις",
|
||||
@@ -209,6 +211,8 @@
|
||||
"install.smtp_addr": "Διακομιστής SMTP",
|
||||
"install.smtp_port": "Θύρα SMTP",
|
||||
"install.smtp_from": "Αποστολή Email Ως",
|
||||
"install.smtp_from_name_placeholder": "Sender name",
|
||||
"install.smtp_from_address_placeholder": "email@example.com",
|
||||
"install.smtp_from_invalid": "The \"Send Email As\" address is invalid",
|
||||
"install.smtp_from_helper": "Η διεύθυνση email που θα χρησιμοποιεί το Gitea. Εισάγετε μια απλή διεύθυνση ηλεκτρονικού ταχυδρομείου ή χρησιμοποιήστε τη μορφή \"Όνομα\" <email@example.com>.",
|
||||
"install.mailer_user": "Όνομα Χρήστη SMTP",
|
||||
@@ -266,7 +270,7 @@
|
||||
"install.admin_management_policy.grantor_only_helper": "Regular admins can promote users to administrator and can later modify or delete only the administrators they directly promoted.",
|
||||
"install.admin_management_policy.grantor_inheritance": "Grantor chain with inheritance",
|
||||
"install.admin_management_policy.grantor_inheritance_helper": "Like grantor-only, but if the direct grantor becomes inactive or has sign-in disabled, management passes up the admin grant chain until an eligible admin is found. If none is found, super admins keep control.",
|
||||
"install.install_btn_confirm": "Εγκατάσταση Gitea",
|
||||
"install.install_btn_confirm": "Εγκατάσταση %s",
|
||||
"install.test_git_failed": "Αδυναμία δοκιμής της εντολής 'git': %v",
|
||||
"install.sqlite3_not_available": "Αυτή η έκδοση Gitea δεν υποστηρίζει την SQLite3. Παρακαλώ κατεβάστε την επίσημη δυαδική έκδοση από το %s (όχι την έκδοση 'gobuild').",
|
||||
"install.invalid_db_setting": "Οι ρυθμίσεις της βάσης δεδομένων δεν είναι έγκυρες: %v",
|
||||
|
||||
@@ -327,7 +327,9 @@
|
||||
"install.smtp_port": "SMTP Port",
|
||||
"install.smtp_from": "Send Email As",
|
||||
"install.smtp_from_invalid": "The \"Send Email As\" address is invalid",
|
||||
"install.smtp_from_helper": "Email address Gitea will use. Enter a plain email address or use the \"Name\" <email@example.com> format.",
|
||||
"install.smtp_from_helper": "Enter the sender name and email address Gitea will use. The name field is auto-filled from the part of Site Title before \":\", or from the first word when no \":\" is present.",
|
||||
"install.smtp_from_name_placeholder": "Sender name",
|
||||
"install.smtp_from_address_placeholder": "email@example.com",
|
||||
"install.mailer_user": "SMTP Username",
|
||||
"install.mailer_password": "SMTP Password",
|
||||
"install.test_mail_to": "Send Testing Email",
|
||||
@@ -383,7 +385,7 @@
|
||||
"install.admin_management_policy.grantor_only_helper": "Regular admins can promote users to administrator and can later modify or delete only the administrators they directly promoted.",
|
||||
"install.admin_management_policy.grantor_inheritance": "Grantor chain with inheritance",
|
||||
"install.admin_management_policy.grantor_inheritance_helper": "Like grantor-only, but if the direct grantor becomes inactive or has sign-in disabled, management passes up the admin grant chain until an eligible admin is found. If none is found, super admins keep control.",
|
||||
"install.install_btn_confirm": "Install Gitea",
|
||||
"install.install_btn_confirm": "Install %s",
|
||||
"install.test_git_failed": "Could not test 'git' command: %v",
|
||||
"install.sqlite3_not_available": "This Gitea version does not support SQLite3. Please download the official binary version from %s (not the 'gobuild' version).",
|
||||
"install.invalid_db_setting": "The database settings are invalid: %v",
|
||||
|
||||
@@ -119,6 +119,8 @@
|
||||
"filter.public": "Público",
|
||||
"filter.private": "Privado",
|
||||
"aria.navbar": "Barra de navegación",
|
||||
"footer.show": "Show footer",
|
||||
"footer.hide": "Hide footer",
|
||||
"aria.footer": "Pie",
|
||||
"aria.footer.software": "Acerca del Software",
|
||||
"aria.footer.links": "Enlaces",
|
||||
@@ -204,6 +206,8 @@
|
||||
"install.smtp_addr": "Servidor SMTP",
|
||||
"install.smtp_port": "Puerto SMTP",
|
||||
"install.smtp_from": "Enviar correos electrónicos como",
|
||||
"install.smtp_from_name_placeholder": "Sender name",
|
||||
"install.smtp_from_address_placeholder": "email@example.com",
|
||||
"install.smtp_from_invalid": "The \"Send Email As\" address is invalid",
|
||||
"install.smtp_from_helper": "Dirección de correo electrónico que utilizará Gitea. Introduzca una dirección de correo electrónico normal o utilice el formato \"Nombre\" <email@example.com>.",
|
||||
"install.mailer_user": "Nombre de usuario SMTP",
|
||||
@@ -261,7 +265,7 @@
|
||||
"install.admin_management_policy.grantor_only_helper": "Regular admins can promote users to administrator and can later modify or delete only the administrators they directly promoted.",
|
||||
"install.admin_management_policy.grantor_inheritance": "Grantor chain with inheritance",
|
||||
"install.admin_management_policy.grantor_inheritance_helper": "Like grantor-only, but if the direct grantor becomes inactive or has sign-in disabled, management passes up the admin grant chain until an eligible admin is found. If none is found, super admins keep control.",
|
||||
"install.install_btn_confirm": "Instalar Gitea",
|
||||
"install.install_btn_confirm": "Instalar %s",
|
||||
"install.test_git_failed": "Fallo al probar el comando 'git': %v",
|
||||
"install.sqlite3_not_available": "Esta versión de Gitea no soporta SQLite3. Por favor, descarga la versión binaria oficial de %s (no la versión 'gobuild').",
|
||||
"install.invalid_db_setting": "La configuración de la base de datos no es válida: %v",
|
||||
|
||||
@@ -121,6 +121,8 @@
|
||||
"install.err_admin_name_is_reserved": "Administrator username is invalid. Username is reserved.",
|
||||
"install.err_admin_name_pattern_not_allowed": "Administrator username is invalid. The username matches a reserved pattern.",
|
||||
"install.err_admin_name_is_invalid": "Administrator username is invalid",
|
||||
"footer.show": "Show footer",
|
||||
"footer.hide": "Hide footer",
|
||||
"install.general_title": "تنظیمات عمومی",
|
||||
"install.app_name": "عنوان سایت",
|
||||
"install.app_name_helper": "شما می توانید نام شرکت خود را در اینجا وارد کنید.",
|
||||
@@ -147,6 +149,8 @@
|
||||
"install.smtp_addr": "میزبان SMTP",
|
||||
"install.smtp_port": "گذرگاه(پورت) SMTP",
|
||||
"install.smtp_from": "ارسال ایمیل به عنوان",
|
||||
"install.smtp_from_name_placeholder": "Sender name",
|
||||
"install.smtp_from_address_placeholder": "email@example.com",
|
||||
"install.smtp_from_invalid": "The \"Send Email As\" address is invalid",
|
||||
"install.smtp_from_helper": "آدرس ایمیلی که گیتی استفاده میکند. یک ایمیل وارد کنید یا به \"Name\" <email@example.com> شکل استفاده کنید.",
|
||||
"install.mailer_user": "نام کاربری SMTP",
|
||||
@@ -204,7 +208,7 @@
|
||||
"install.admin_management_policy.grantor_only_helper": "Regular admins can promote users to administrator and can later modify or delete only the administrators they directly promoted.",
|
||||
"install.admin_management_policy.grantor_inheritance": "Grantor chain with inheritance",
|
||||
"install.admin_management_policy.grantor_inheritance_helper": "Like grantor-only, but if the direct grantor becomes inactive or has sign-in disabled, management passes up the admin grant chain until an eligible admin is found. If none is found, super admins keep control.",
|
||||
"install.install_btn_confirm": "نصب گیتی",
|
||||
"install.install_btn_confirm": "نصب %s",
|
||||
"install.test_git_failed": "عدم توانایی در آزمایش دستور 'git' توضیح بیشتر: %v",
|
||||
"install.sqlite3_not_available": "نسخه مورد استفاده شما از SQLite3 پشتیبانی نمی کند. لطفا نسخه باینری رسمی را از s% دانلود کنید و از ورژن gobuild هم استفاده نکنید.",
|
||||
"install.invalid_db_setting": "تنظیمات پایگاه داده معتبر نیست: %v",
|
||||
|
||||
@@ -135,6 +135,8 @@
|
||||
"install.err_admin_name_is_reserved": "Administrator username is invalid. Username is reserved.",
|
||||
"install.err_admin_name_pattern_not_allowed": "Administrator username is invalid. The username matches a reserved pattern.",
|
||||
"install.err_admin_name_is_invalid": "Administrator username is invalid",
|
||||
"footer.show": "Show footer",
|
||||
"footer.hide": "Hide footer",
|
||||
"install.general_title": "Yleiset asetukset",
|
||||
"install.app_name": "Sivuston otsikko",
|
||||
"install.app_name_helper": "Voit syöttää yrityksesi nimen tähän.",
|
||||
@@ -163,6 +165,8 @@
|
||||
"install.smtp_from": "Lähetä sähköpostit osoitteella",
|
||||
"install.smtp_from_invalid": "The \"Send Email As\" address is invalid",
|
||||
"install.smtp_from_helper": "Sähköpostiosoite, jota Gitea käyttää. Kirjoita osoite ”nimi” <email@example.com> -muodossa.",
|
||||
"install.smtp_from_name_placeholder": "Sender name",
|
||||
"install.smtp_from_address_placeholder": "email@example.com",
|
||||
"install.mailer_user": "SMTP-käyttäjätunnus",
|
||||
"install.mailer_password": "SMTP-salasana",
|
||||
"install.test_mail_to": "Send Testing Email",
|
||||
@@ -218,7 +222,7 @@
|
||||
"install.admin_management_policy.grantor_only_helper": "Regular admins can promote users to administrator and can later modify or delete only the administrators they directly promoted.",
|
||||
"install.admin_management_policy.grantor_inheritance": "Grantor chain with inheritance",
|
||||
"install.admin_management_policy.grantor_inheritance_helper": "Like grantor-only, but if the direct grantor becomes inactive or has sign-in disabled, management passes up the admin grant chain until an eligible admin is found. If none is found, super admins keep control.",
|
||||
"install.install_btn_confirm": "Asenna Gitea",
|
||||
"install.install_btn_confirm": "Asenna %s",
|
||||
"install.test_git_failed": "Epäonnistui testata 'git' komentoa: %v",
|
||||
"install.sqlite3_not_available": "Tämä Gitea versio ei tue SQLite3. Lataa virallinen binääriversio kohteesta %s (ei 'gobuild' versio).",
|
||||
"install.invalid_db_setting": "Tietokanta-asetukset ovat väärin: %v",
|
||||
|
||||
@@ -187,6 +187,8 @@
|
||||
"search.pull_kind": "Recherche de demandes d’ajouts…",
|
||||
"search.keyword_search_unavailable": "La recherche par mot clé n’est pas disponible actuellement. Veuillez contacter l’administrateur de votre instance Gitea.",
|
||||
"aria.navbar": "Barre de navigation",
|
||||
"footer.show": "Show footer",
|
||||
"footer.hide": "Hide footer",
|
||||
"aria.footer": "Pied de page",
|
||||
"aria.footer.software": "À propos du logiciel",
|
||||
"aria.footer.links": "Liens",
|
||||
@@ -287,6 +289,8 @@
|
||||
"install.smtp_from": "Envoyer les courriels en tant que",
|
||||
"install.smtp_from_invalid": "L’adresse « Envoyer le courriel sous » est invalide",
|
||||
"install.smtp_from_helper": "Adresse courriel utilisée par Gitea. Utilisez directement votre adresse ou la forme « Nom <email@example.com> ».",
|
||||
"install.smtp_from_name_placeholder": "Sender name",
|
||||
"install.smtp_from_address_placeholder": "email@example.com",
|
||||
"install.mailer_user": "Utilisateur SMTP",
|
||||
"install.mailer_password": "Mot de passe SMTP",
|
||||
"install.test_mail_to": "Send Testing Email",
|
||||
@@ -342,7 +346,7 @@
|
||||
"install.admin_management_policy.grantor_only_helper": "Regular admins can promote users to administrator and can later modify or delete only the administrators they directly promoted.",
|
||||
"install.admin_management_policy.grantor_inheritance": "Grantor chain with inheritance",
|
||||
"install.admin_management_policy.grantor_inheritance_helper": "Like grantor-only, but if the direct grantor becomes inactive or has sign-in disabled, management passes up the admin grant chain until an eligible admin is found. If none is found, super admins keep control.",
|
||||
"install.install_btn_confirm": "Installer Gitea",
|
||||
"install.install_btn_confirm": "Installer %s",
|
||||
"install.test_git_failed": "Le test de la commande \"git\" a échoué : %v",
|
||||
"install.sqlite3_not_available": "Cette version de Gitea ne supporte pas SQLite3. Veuillez télécharger la version binaire officielle de %s (pas la version 'gobuild').",
|
||||
"install.invalid_db_setting": "Les paramètres de la base de données sont invalides : %v",
|
||||
|
||||
@@ -189,6 +189,8 @@
|
||||
"search.pull_kind": "Cuardaigh iarratais tarraingthe…",
|
||||
"search.keyword_search_unavailable": "Níl cuardach de réir eochairfhocal ar fáil faoi láthair. Déan teagmháil le riarthóir an láithreáin.",
|
||||
"aria.navbar": "Barra Nascleanúint",
|
||||
"footer.show": "Show footer",
|
||||
"footer.hide": "Hide footer",
|
||||
"aria.footer": "Buntásc",
|
||||
"aria.footer.software": "Maidir le Bogearraí",
|
||||
"aria.footer.links": "Naisc",
|
||||
@@ -288,6 +290,8 @@
|
||||
"install.smtp_port": "Port SMTP",
|
||||
"install.smtp_from": "Seol Ríomhphost Mar",
|
||||
"install.smtp_from_invalid": "Tá an seoladh “Seol Ríomhphost Mar” neamhbhailí",
|
||||
"install.smtp_from_name_placeholder": "Sender name",
|
||||
"install.smtp_from_address_placeholder": "email@example.com",
|
||||
"install.smtp_from_helper": "Seoladh ríomhphoist a úsáidfidh Gitea. Cuir isteach seoladh ríomhphoist simplí nó úsáid an fhormáid \"Ainm\" <email@example.com>.",
|
||||
"install.mailer_user": "SMTP Ainm úsáideora",
|
||||
"install.mailer_password": "Pasfhocal SMTP",
|
||||
@@ -344,7 +348,7 @@
|
||||
"install.admin_management_policy.grantor_only_helper": "Regular admins can promote users to administrator and can later modify or delete only the administrators they directly promoted.",
|
||||
"install.admin_management_policy.grantor_inheritance": "Grantor chain with inheritance",
|
||||
"install.admin_management_policy.grantor_inheritance_helper": "Like grantor-only, but if the direct grantor becomes inactive or has sign-in disabled, management passes up the admin grant chain until an eligible admin is found. If none is found, super admins keep control.",
|
||||
"install.install_btn_confirm": "Suiteáil Gitea",
|
||||
"install.install_btn_confirm": "Suiteáil %s",
|
||||
"install.test_git_failed": "Ní féidir ordú 'git' a thástáil: %v",
|
||||
"install.sqlite3_not_available": "Ní thacaíonn an leagan Gitea seo le SQLite3. Íoslódáil an leagan dénártha oifigiúil ó %s (ní an leagan 'gobuild').",
|
||||
"install.invalid_db_setting": "Tá na socruithe bunachar sonraí neamhbhailí:%v",
|
||||
|
||||
@@ -108,6 +108,8 @@
|
||||
"install.err_admin_name_is_reserved": "Administrator username is invalid. Username is reserved.",
|
||||
"install.err_admin_name_pattern_not_allowed": "Administrator username is invalid. The username matches a reserved pattern.",
|
||||
"install.err_admin_name_is_invalid": "Administrator username is invalid",
|
||||
"footer.show": "Show footer",
|
||||
"footer.hide": "Hide footer",
|
||||
"install.general_title": "Általános beállítások",
|
||||
"install.app_name": "Webhely címe",
|
||||
"install.app_name_helper": "Itt megadhatja a vállalata nevét.",
|
||||
@@ -134,6 +136,8 @@
|
||||
"install.smtp_addr": "SMTP kiszolgáló",
|
||||
"install.smtp_port": "SMTP port",
|
||||
"install.smtp_from": "E-mail küldése mint",
|
||||
"install.smtp_from_name_placeholder": "Sender name",
|
||||
"install.smtp_from_address_placeholder": "email@example.com",
|
||||
"install.smtp_from_invalid": "The \"Send Email As\" address is invalid",
|
||||
"install.smtp_from_helper": "Az E-mail cím a mit a Gitea használni fog. Megadhatja sima email címként vagy \"Név<email@példa.hu>\" formátumban.",
|
||||
"install.mailer_user": "SMTP-felhasználónév",
|
||||
@@ -191,7 +195,7 @@
|
||||
"install.admin_management_policy.grantor_only_helper": "Regular admins can promote users to administrator and can later modify or delete only the administrators they directly promoted.",
|
||||
"install.admin_management_policy.grantor_inheritance": "Grantor chain with inheritance",
|
||||
"install.admin_management_policy.grantor_inheritance_helper": "Like grantor-only, but if the direct grantor becomes inactive or has sign-in disabled, management passes up the admin grant chain until an eligible admin is found. If none is found, super admins keep control.",
|
||||
"install.install_btn_confirm": "Gitea telepítése",
|
||||
"install.install_btn_confirm": "%s telepítése",
|
||||
"install.test_git_failed": "Nem sikerült a 'git' parancs kipróbálása: %v",
|
||||
"install.sqlite3_not_available": "Ez a verzió nem támogatja az SQLite3-at, kérlek töltsd le a hivatalos bináris verziót: %s (NE a gobuild változatot).",
|
||||
"install.invalid_db_setting": "Az adatbázis-beállítások érvénytelenek: %v",
|
||||
|
||||
@@ -123,6 +123,8 @@
|
||||
"search.exact_tooltip": "Hanya menampilkan hasil yang cocok dengan istilah pencarian",
|
||||
"search.code_search_unavailable": "Pencarian kode saat ini tidak tersedia. Silahkan hubungi administrator.",
|
||||
"aria.navbar": "Bar Navigasi",
|
||||
"footer.show": "Show footer",
|
||||
"footer.hide": "Hide footer",
|
||||
"aria.footer.software": "Tentang Software",
|
||||
"aria.footer.links": "Tautan",
|
||||
"heatmap.number_of_contributions_in_the_last_12_months": "%s Kontribusi pada 12 bulan terakhir",
|
||||
@@ -207,6 +209,8 @@
|
||||
"install.smtp_addr": "Host SMTP",
|
||||
"install.smtp_port": "Port SMTP",
|
||||
"install.smtp_from": "Kirim Email Sebagai",
|
||||
"install.smtp_from_name_placeholder": "Sender name",
|
||||
"install.smtp_from_address_placeholder": "email@example.com",
|
||||
"install.smtp_from_invalid": "The \"Send Email As\" address is invalid",
|
||||
"install.smtp_from_helper": "Email address Gitea will use. Enter a plain email address or use the \"Name\" <email@example.com> format.",
|
||||
"install.mailer_user": "SMTP Username",
|
||||
@@ -264,7 +268,7 @@
|
||||
"install.admin_management_policy.grantor_only_helper": "Regular admins can promote users to administrator and can later modify or delete only the administrators they directly promoted.",
|
||||
"install.admin_management_policy.grantor_inheritance": "Grantor chain with inheritance",
|
||||
"install.admin_management_policy.grantor_inheritance_helper": "Like grantor-only, but if the direct grantor becomes inactive or has sign-in disabled, management passes up the admin grant chain until an eligible admin is found. If none is found, super admins keep control.",
|
||||
"install.install_btn_confirm": "Install Gitea",
|
||||
"install.install_btn_confirm": "Install %s",
|
||||
"install.test_git_failed": "Could not test 'git' command: %v",
|
||||
"install.sqlite3_not_available": "This Gitea version does not support SQLite3. Please download the official binary version from %s (not the 'gobuild' version).",
|
||||
"install.invalid_db_setting": "The database settings are invalid: %v",
|
||||
|
||||
@@ -134,6 +134,8 @@
|
||||
"install.err_admin_name_is_reserved": "Administrator username is invalid. Username is reserved.",
|
||||
"install.err_admin_name_pattern_not_allowed": "Administrator username is invalid. The username matches a reserved pattern.",
|
||||
"install.err_admin_name_is_invalid": "Administrator username is invalid",
|
||||
"footer.show": "Show footer",
|
||||
"footer.hide": "Hide footer",
|
||||
"install.general_title": "Almennar Stillingar",
|
||||
"install.app_name": "Heiti vefsvæðis",
|
||||
"install.app_name_helper": "Þú getur slegið inn nafn fyrirtækis þíns hér.",
|
||||
@@ -162,6 +164,8 @@
|
||||
"install.smtp_from": "Senda Tölvupóst Sem",
|
||||
"install.smtp_from_invalid": "The \"Send Email As\" address is invalid",
|
||||
"install.smtp_from_helper": "Netfang sem Gitea mun nota. Sláðu inn venjulegt netfang eða notaðu „Nafn“ <email@example.com> sniðið.",
|
||||
"install.smtp_from_name_placeholder": "Sender name",
|
||||
"install.smtp_from_address_placeholder": "email@example.com",
|
||||
"install.mailer_user": "SMTP Notandanafn",
|
||||
"install.mailer_password": "SMTP Lykilorð",
|
||||
"install.test_mail_to": "Send Testing Email",
|
||||
@@ -217,7 +221,7 @@
|
||||
"install.admin_management_policy.grantor_only_helper": "Regular admins can promote users to administrator and can later modify or delete only the administrators they directly promoted.",
|
||||
"install.admin_management_policy.grantor_inheritance": "Grantor chain with inheritance",
|
||||
"install.admin_management_policy.grantor_inheritance_helper": "Like grantor-only, but if the direct grantor becomes inactive or has sign-in disabled, management passes up the admin grant chain until an eligible admin is found. If none is found, super admins keep control.",
|
||||
"install.install_btn_confirm": "Setja upp Gitea",
|
||||
"install.install_btn_confirm": "Setja upp %s",
|
||||
"install.test_git_failed": "Gat ekki prófað „git“ skipunina: %v",
|
||||
"install.sqlite3_not_available": "Þessi Gitea útgáfa styður ekki SQLite3. Vinsamlegast sæktu útgáfunni okkar frá %s (ekki „gobuild“ útgáfunna).",
|
||||
"install.invalid_db_setting": "Gagnagrunnsstillingarnar eru ógildar: %v",
|
||||
|
||||
@@ -128,6 +128,8 @@
|
||||
"install.err_admin_name_is_reserved": "Administrator username is invalid. Username is reserved.",
|
||||
"install.err_admin_name_pattern_not_allowed": "Administrator username is invalid. The username matches a reserved pattern.",
|
||||
"install.err_admin_name_is_invalid": "Administrator username is invalid",
|
||||
"footer.show": "Show footer",
|
||||
"footer.hide": "Hide footer",
|
||||
"install.general_title": "Impostazioni Generali",
|
||||
"install.app_name": "Titolo del Sito",
|
||||
"install.app_name_helper": "Qui puoi inserire il nome della tua società.",
|
||||
@@ -154,6 +156,8 @@
|
||||
"install.smtp_addr": "Host SMTP",
|
||||
"install.smtp_port": "Porta SMTP",
|
||||
"install.smtp_from": "Invia Email come",
|
||||
"install.smtp_from_name_placeholder": "Sender name",
|
||||
"install.smtp_from_address_placeholder": "email@example.com",
|
||||
"install.smtp_from_invalid": "The \"Send Email As\" address is invalid",
|
||||
"install.smtp_from_helper": "Indirizzo Email che Gitea utilizzerà. Inserisci un indirizzo email o usa il formato \"Name\" <email@example.com>.",
|
||||
"install.mailer_user": "Nome utente SMTP",
|
||||
@@ -211,7 +215,7 @@
|
||||
"install.admin_management_policy.grantor_only_helper": "Regular admins can promote users to administrator and can later modify or delete only the administrators they directly promoted.",
|
||||
"install.admin_management_policy.grantor_inheritance": "Grantor chain with inheritance",
|
||||
"install.admin_management_policy.grantor_inheritance_helper": "Like grantor-only, but if the direct grantor becomes inactive or has sign-in disabled, management passes up the admin grant chain until an eligible admin is found. If none is found, super admins keep control.",
|
||||
"install.install_btn_confirm": "Installare Gitea",
|
||||
"install.install_btn_confirm": "Installare %s",
|
||||
"install.test_git_failed": "Fallito il test del comando git: %v",
|
||||
"install.sqlite3_not_available": "Questa versione di Gitea non supporta SQLite3. Si prega di scaricare la versione binaria ufficiale da %s (not the 'gobuild' version).",
|
||||
"install.invalid_db_setting": "Le impostazioni del database sono invalide: %v",
|
||||
|
||||
@@ -184,6 +184,8 @@
|
||||
"search.pull_kind": "プルリクエストを検索…",
|
||||
"search.keyword_search_unavailable": "キーワード検索は現在利用できません。 サイト管理者にお問い合わせください。",
|
||||
"aria.navbar": "ナビゲーションバー",
|
||||
"footer.show": "Show footer",
|
||||
"footer.hide": "Hide footer",
|
||||
"aria.footer": "フッター",
|
||||
"aria.footer.software": "ソフトウェアについて",
|
||||
"aria.footer.links": "リンク",
|
||||
@@ -280,6 +282,8 @@
|
||||
"install.smtp_port": "SMTPポート",
|
||||
"install.smtp_from": "メール送信者",
|
||||
"install.smtp_from_invalid": "「メール送信者」のアドレスが無効です",
|
||||
"install.smtp_from_name_placeholder": "Sender name",
|
||||
"install.smtp_from_address_placeholder": "email@example.com",
|
||||
"install.smtp_from_helper": "Giteaが使用するメールアドレス。 メールアドレスのみ、または、 \"名前\" <email@example.com> の形式で入力してください。",
|
||||
"install.mailer_user": "SMTPユーザー名",
|
||||
"install.mailer_password": "SMTPパスワード",
|
||||
@@ -336,7 +340,7 @@
|
||||
"install.admin_management_policy.grantor_only_helper": "Regular admins can promote users to administrator and can later modify or delete only the administrators they directly promoted.",
|
||||
"install.admin_management_policy.grantor_inheritance": "Grantor chain with inheritance",
|
||||
"install.admin_management_policy.grantor_inheritance_helper": "Like grantor-only, but if the direct grantor becomes inactive or has sign-in disabled, management passes up the admin grant chain until an eligible admin is found. If none is found, super admins keep control.",
|
||||
"install.install_btn_confirm": "Giteaをインストール",
|
||||
"install.install_btn_confirm": "%sをインストール",
|
||||
"install.test_git_failed": "'git'コマンドが確認できません: %v",
|
||||
"install.sqlite3_not_available": "GiteaのこのバージョンはSQLite3をサポートしていません。 公式のバイナリ版を %s からダウンロードしてください。 ('gobuild'版でないもの)",
|
||||
"install.invalid_db_setting": "データベース設定が無効です: %v",
|
||||
|
||||
@@ -187,6 +187,8 @@
|
||||
"search.pull_kind": "풀 리퀘스트 검색…",
|
||||
"search.keyword_search_unavailable": "현재 키워드 검색이 불가능합니다. 사이트 운영자에게 문의하세요.",
|
||||
"aria.navbar": "내비게이션 바",
|
||||
"footer.show": "Show footer",
|
||||
"footer.hide": "Hide footer",
|
||||
"aria.footer": "바닥글",
|
||||
"aria.footer.software": "이 소프트웨어에 대하여",
|
||||
"aria.footer.links": "링크",
|
||||
@@ -282,6 +284,8 @@
|
||||
"install.smtp_addr": "SMTP 호스트",
|
||||
"install.smtp_port": "SMTP 포트",
|
||||
"install.smtp_from": "다음 주소로 이메일 발신",
|
||||
"install.smtp_from_name_placeholder": "Sender name",
|
||||
"install.smtp_from_address_placeholder": "email@example.com",
|
||||
"install.smtp_from_invalid": "\"다음 주소로 이메일 발신\" 주소가 유효하지 않습니다",
|
||||
"install.smtp_from_helper": "Gitea 가 사용할 이메일 주소. 이메일 주소 또는 \"이름\" <email@example.com> 형식으로 입력하세요.",
|
||||
"install.mailer_user": "SMTP 사용자이름",
|
||||
@@ -339,7 +343,7 @@
|
||||
"install.admin_management_policy.grantor_only_helper": "Regular admins can promote users to administrator and can later modify or delete only the administrators they directly promoted.",
|
||||
"install.admin_management_policy.grantor_inheritance": "Grantor chain with inheritance",
|
||||
"install.admin_management_policy.grantor_inheritance_helper": "Like grantor-only, but if the direct grantor becomes inactive or has sign-in disabled, management passes up the admin grant chain until an eligible admin is found. If none is found, super admins keep control.",
|
||||
"install.install_btn_confirm": "Gitea 설치하기",
|
||||
"install.install_btn_confirm": "%s 설치하기",
|
||||
"install.test_git_failed": "'git' 명령 테스트 실패: %v",
|
||||
"install.sqlite3_not_available": "해당 버전에서는 SQLite3를 지원하지 않습니다. %s에서 공식 버전을 다운로드해주세요. ('gobuild' 버전이 아닙니다.)",
|
||||
"install.invalid_db_setting": "데이터베이스 설정이 올바르지 않습니다: %v",
|
||||
|
||||
@@ -130,6 +130,8 @@
|
||||
"filter.public": "Publiska",
|
||||
"filter.private": "Privāts",
|
||||
"aria.navbar": "Navigācijas josla",
|
||||
"footer.show": "Show footer",
|
||||
"footer.hide": "Hide footer",
|
||||
"aria.footer": "Kājene",
|
||||
"aria.footer.software": "Par programmatūru",
|
||||
"aria.footer.links": "Saites",
|
||||
@@ -215,6 +217,8 @@
|
||||
"install.smtp_addr": "SMTP resursdators",
|
||||
"install.smtp_port": "SMTP ports",
|
||||
"install.smtp_from": "Nosūtīt e-pastu kā",
|
||||
"install.smtp_from_name_placeholder": "Sender name",
|
||||
"install.smtp_from_address_placeholder": "email@example.com",
|
||||
"install.smtp_from_invalid": "The \"Send Email As\" address is invalid",
|
||||
"install.smtp_from_helper": "E-pasta adrese, ko Gitea izmantos. Ievadiet tika e-pasta adrese vai izmantojiet \"Vārds\" <epasts@domens.lv> formātu.",
|
||||
"install.mailer_user": "SMTP lietotājvārds",
|
||||
@@ -272,7 +276,7 @@
|
||||
"install.admin_management_policy.grantor_only_helper": "Regular admins can promote users to administrator and can later modify or delete only the administrators they directly promoted.",
|
||||
"install.admin_management_policy.grantor_inheritance": "Grantor chain with inheritance",
|
||||
"install.admin_management_policy.grantor_inheritance_helper": "Like grantor-only, but if the direct grantor becomes inactive or has sign-in disabled, management passes up the admin grant chain until an eligible admin is found. If none is found, super admins keep control.",
|
||||
"install.install_btn_confirm": "Instalēt Gitea",
|
||||
"install.install_btn_confirm": "Instalēt %s",
|
||||
"install.test_git_failed": "Kļūda pārbaudot 'git' komandu: %v",
|
||||
"install.sqlite3_not_available": "Jūsu pašreizējā versija neatbalsta SQLite3, lūdzu lejupielādējiet oficiālo bināro versiju no %s, NEVIS gobuild versiju.",
|
||||
"install.invalid_db_setting": "Nederīgi datu bāzes iestatījumi: %v",
|
||||
|
||||
@@ -128,6 +128,8 @@
|
||||
"install.err_admin_name_is_reserved": "Administrator username is invalid. Username is reserved.",
|
||||
"install.err_admin_name_pattern_not_allowed": "Administrator username is invalid. The username matches a reserved pattern.",
|
||||
"install.err_admin_name_is_invalid": "Administrator username is invalid",
|
||||
"footer.show": "Show footer",
|
||||
"footer.hide": "Hide footer",
|
||||
"install.general_title": "Algemene Instellingen",
|
||||
"install.app_name": "Naam site",
|
||||
"install.app_name_helper": "U kan de naam van uw bedrijf hier invullen.",
|
||||
@@ -154,6 +156,8 @@
|
||||
"install.smtp_addr": "SMTP Host",
|
||||
"install.smtp_port": "SMTP Poort",
|
||||
"install.smtp_from": "E-mails versturen als",
|
||||
"install.smtp_from_name_placeholder": "Sender name",
|
||||
"install.smtp_from_address_placeholder": "email@example.com",
|
||||
"install.smtp_from_invalid": "The \"Send Email As\" address is invalid",
|
||||
"install.smtp_from_helper": "E-mailadres dat Gitea gaat gebruiken. Voer een gewoon e-mailadres in of gebruik de \"Naam\" <email@example.com> -indeling.",
|
||||
"install.mailer_user": "SMTP gebruikersnaam",
|
||||
@@ -211,7 +215,7 @@
|
||||
"install.admin_management_policy.grantor_only_helper": "Regular admins can promote users to administrator and can later modify or delete only the administrators they directly promoted.",
|
||||
"install.admin_management_policy.grantor_inheritance": "Grantor chain with inheritance",
|
||||
"install.admin_management_policy.grantor_inheritance_helper": "Like grantor-only, but if the direct grantor becomes inactive or has sign-in disabled, management passes up the admin grant chain until an eligible admin is found. If none is found, super admins keep control.",
|
||||
"install.install_btn_confirm": "Installeer Gitea",
|
||||
"install.install_btn_confirm": "Installeer %s",
|
||||
"install.test_git_failed": "Git test niet gelukt: 'git' commando %v",
|
||||
"install.sqlite3_not_available": "Deze Gitea-versie biedt geen ondersteuning voor SQLite3. Download de officiële build van %s (niet de versie van de 'gobuild').",
|
||||
"install.invalid_db_setting": "De database instelling zijn niet correct: %v",
|
||||
|
||||
@@ -133,6 +133,8 @@
|
||||
"install.err_admin_name_is_reserved": "Administrator username is invalid. Username is reserved.",
|
||||
"install.err_admin_name_pattern_not_allowed": "Administrator username is invalid. The username matches a reserved pattern.",
|
||||
"install.err_admin_name_is_invalid": "Administrator username is invalid",
|
||||
"footer.show": "Show footer",
|
||||
"footer.hide": "Hide footer",
|
||||
"install.general_title": "Ustawienia ogólne",
|
||||
"install.app_name": "Tytuł witryny",
|
||||
"install.app_name_helper": "Wprowadź nazwę firmy.",
|
||||
@@ -159,6 +161,8 @@
|
||||
"install.smtp_addr": "Serwer SMTP",
|
||||
"install.smtp_port": "Port SMTP",
|
||||
"install.smtp_from": "Wyślij e-mail jako",
|
||||
"install.smtp_from_name_placeholder": "Sender name",
|
||||
"install.smtp_from_address_placeholder": "email@example.com",
|
||||
"install.smtp_from_invalid": "The \"Send Email As\" address is invalid",
|
||||
"install.smtp_from_helper": "Adres e-mail, z którego Gitea będzie korzystać. Wpisz prosty adres e-mail, lub użyj formatu \"Nazwa\" <email@example.com>.",
|
||||
"install.mailer_user": "Nazwa użytkownika SMTP",
|
||||
@@ -216,7 +220,7 @@
|
||||
"install.admin_management_policy.grantor_only_helper": "Regular admins can promote users to administrator and can later modify or delete only the administrators they directly promoted.",
|
||||
"install.admin_management_policy.grantor_inheritance": "Grantor chain with inheritance",
|
||||
"install.admin_management_policy.grantor_inheritance_helper": "Like grantor-only, but if the direct grantor becomes inactive or has sign-in disabled, management passes up the admin grant chain until an eligible admin is found. If none is found, super admins keep control.",
|
||||
"install.install_btn_confirm": "Zainstaluj Gitea",
|
||||
"install.install_btn_confirm": "Zainstaluj %s",
|
||||
"install.test_git_failed": "Nie udało się przetestować polecenia „git”: %v",
|
||||
"install.sqlite3_not_available": "Twoje wydanie Gitea nie obsługuje SQLite3. Pobierz oficjalne wydanie z %s (NIE wersję \"gobuild\").",
|
||||
"install.invalid_db_setting": "Nieprawidłowe ustawienia bazy danych: %v",
|
||||
|
||||
@@ -162,6 +162,8 @@
|
||||
"search.issue_kind": "Pesquisar issues…",
|
||||
"search.pull_kind": "Pesquisar pull requests…",
|
||||
"aria.navbar": "Barra de Navegação",
|
||||
"footer.show": "Show footer",
|
||||
"footer.hide": "Hide footer",
|
||||
"aria.footer": "Rodapé",
|
||||
"aria.footer.software": "Sobre o Software",
|
||||
"heatmap.number_of_contributions_in_the_last_12_months": "%s contribuições nos últimos 12 meses",
|
||||
@@ -253,6 +255,8 @@
|
||||
"install.smtp_addr": "Host SMTP",
|
||||
"install.smtp_port": "Porta SMTP",
|
||||
"install.smtp_from": "Enviar E-mail Como",
|
||||
"install.smtp_from_name_placeholder": "Sender name",
|
||||
"install.smtp_from_address_placeholder": "email@example.com",
|
||||
"install.smtp_from_invalid": "O endereço \"Enviar e-mail como\" é inválido",
|
||||
"install.smtp_from_helper": "Endereço de e-mail que o Gitea irá usar. Digite um endereço de e-mail simples ou use o formato \"Nome\" <email@example.com>.",
|
||||
"install.mailer_user": "Nome de usuário do SMTP",
|
||||
@@ -310,7 +314,7 @@
|
||||
"install.admin_management_policy.grantor_only_helper": "Regular admins can promote users to administrator and can later modify or delete only the administrators they directly promoted.",
|
||||
"install.admin_management_policy.grantor_inheritance": "Grantor chain with inheritance",
|
||||
"install.admin_management_policy.grantor_inheritance_helper": "Like grantor-only, but if the direct grantor becomes inactive or has sign-in disabled, management passes up the admin grant chain until an eligible admin is found. If none is found, super admins keep control.",
|
||||
"install.install_btn_confirm": "Instalar Gitea",
|
||||
"install.install_btn_confirm": "Instalar %s",
|
||||
"install.test_git_failed": "Falha ao testar o comando 'git': %v",
|
||||
"install.sqlite3_not_available": "Esta versão do Gitea não suporta SQLite3. Por favor faça o download da versão binária oficial em %s (não utilize a versão 'gobuild').",
|
||||
"install.invalid_db_setting": "Configuração de banco de dados está inválida: %v",
|
||||
|
||||
@@ -177,6 +177,8 @@
|
||||
"search.pull_kind": "Pesquisar puxadas…",
|
||||
"search.keyword_search_unavailable": "Pesquisar por palavra-chave não está disponível, neste momento. Entre em contacto com o administrador.",
|
||||
"aria.navbar": "Barra de navegação",
|
||||
"footer.show": "Show footer",
|
||||
"footer.hide": "Hide footer",
|
||||
"aria.footer": "Rodapé",
|
||||
"aria.footer.software": "Sobre o Software",
|
||||
"aria.footer.links": "Ligações",
|
||||
@@ -272,6 +274,8 @@
|
||||
"install.smtp_addr": "Servidor SMTP",
|
||||
"install.smtp_port": "Porto do SMTP",
|
||||
"install.smtp_from": "Email do remetente",
|
||||
"install.smtp_from_name_placeholder": "Sender name",
|
||||
"install.smtp_from_address_placeholder": "email@example.com",
|
||||
"install.smtp_from_invalid": "O endereço para \"Enviar email como\" é inválido",
|
||||
"install.smtp_from_helper": "Endereço de email que o Gitea vai usar. Insira um endereço de email simples ou use o formato \"Nome\" <email@exemplo.com>.",
|
||||
"install.mailer_user": "Nome de utilizador do SMTP",
|
||||
@@ -329,7 +333,7 @@
|
||||
"install.admin_management_policy.grantor_only_helper": "Regular admins can promote users to administrator and can later modify or delete only the administrators they directly promoted.",
|
||||
"install.admin_management_policy.grantor_inheritance": "Grantor chain with inheritance",
|
||||
"install.admin_management_policy.grantor_inheritance_helper": "Like grantor-only, but if the direct grantor becomes inactive or has sign-in disabled, management passes up the admin grant chain until an eligible admin is found. If none is found, super admins keep control.",
|
||||
"install.install_btn_confirm": "Instalar Gitea",
|
||||
"install.install_btn_confirm": "Instalar %s",
|
||||
"install.test_git_failed": "Não foi possível testar o comando 'git': %v",
|
||||
"install.sqlite3_not_available": "Esta versão do Gitea não suporta o SQLite3. Descarregue a versão binária oficial em %s (não utilize a versão 'gobuild').",
|
||||
"install.invalid_db_setting": "As configurações da base de dados são inválidas: %v",
|
||||
|
||||
@@ -327,7 +327,9 @@
|
||||
"install.smtp_port": "Port SMTP",
|
||||
"install.smtp_from": "Trimite e-mail ca",
|
||||
"install.smtp_from_invalid": "Adresa „Trimite e-mail ca” nu este validă",
|
||||
"install.smtp_from_helper": "Adresa de e-mail pe care o va folosi Gitea. Introdu o adresă de e-mail simplă sau utilizează formatul „Nume” <email@example.com>.",
|
||||
"install.smtp_from_helper": "Introdu numele expeditorului și adresa de e-mail pe care o va folosi Gitea. Câmpul pentru nume este completat automat din partea din Site Title aflată înainte de „:”, sau din primul cuvânt dacă „:” nu există.",
|
||||
"install.smtp_from_name_placeholder": "Numele expeditorului",
|
||||
"install.smtp_from_address_placeholder": "email@example.com",
|
||||
"install.mailer_user": "Nume de utilizator SMTP",
|
||||
"install.mailer_password": "Parola SMTP",
|
||||
"install.test_mail_to": "Trimite un e-mail de testare",
|
||||
@@ -383,7 +385,7 @@
|
||||
"install.admin_management_policy.grantor_only_helper": "Administratorii obișnuiți pot promova utilizatori la rang de administrator și ulterior pot modifica sau șterge doar administratorii promovați direct de ei.",
|
||||
"install.admin_management_policy.grantor_inheritance": "Lanț de acordare cu moștenire",
|
||||
"install.admin_management_policy.grantor_inheritance_helper": "Ca în modul doar-promotor, dar dacă promotorul direct devine inactiv sau are autentificarea dezactivată, gestionarea urcă pe lanțul de acordare până la un administrator eligibil. Dacă acesta nu există, controlul rămâne la super administratori.",
|
||||
"install.install_btn_confirm": "Instalați Gitea",
|
||||
"install.install_btn_confirm": "Instalează %s",
|
||||
"install.test_git_failed": "Nu s-a putut testa comanda „git”: %v",
|
||||
"install.sqlite3_not_available": "Această versiune Gitea nu acceptă SQLite3. Te rugăm să descărci versiunea oficială binară de la %s (nu versiunea „gobuild”).",
|
||||
"install.invalid_db_setting": "Setările bazei de date nu sunt valide: %v",
|
||||
|
||||
@@ -125,6 +125,8 @@
|
||||
"filter.public": "Публичный",
|
||||
"filter.private": "Личный",
|
||||
"aria.navbar": "Панель навигации",
|
||||
"footer.show": "Show footer",
|
||||
"footer.hide": "Hide footer",
|
||||
"aria.footer": "Подвал",
|
||||
"aria.footer.software": "О программе",
|
||||
"aria.footer.links": "Ссылки",
|
||||
@@ -210,6 +212,8 @@
|
||||
"install.smtp_addr": "Узел SMTP",
|
||||
"install.smtp_port": "SMTP-порт",
|
||||
"install.smtp_from": "Отправить эл. почту как",
|
||||
"install.smtp_from_name_placeholder": "Sender name",
|
||||
"install.smtp_from_address_placeholder": "email@example.com",
|
||||
"install.smtp_from_invalid": "The \"Send Email As\" address is invalid",
|
||||
"install.smtp_from_helper": "Адрес электронной почты, который будет использоваться Gitea. Введите обычный адрес электронной почты или используйте формат \"Имя\" <email@example.com>.",
|
||||
"install.mailer_user": "SMTP логин",
|
||||
@@ -267,7 +271,7 @@
|
||||
"install.admin_management_policy.grantor_only_helper": "Regular admins can promote users to administrator and can later modify or delete only the administrators they directly promoted.",
|
||||
"install.admin_management_policy.grantor_inheritance": "Grantor chain with inheritance",
|
||||
"install.admin_management_policy.grantor_inheritance_helper": "Like grantor-only, but if the direct grantor becomes inactive or has sign-in disabled, management passes up the admin grant chain until an eligible admin is found. If none is found, super admins keep control.",
|
||||
"install.install_btn_confirm": "Установить Gitea",
|
||||
"install.install_btn_confirm": "Установить %s",
|
||||
"install.test_git_failed": "Не удалось проверить 'git' команду: %v",
|
||||
"install.sqlite3_not_available": "Эта версия Gitea не поддерживает SQLite3. Пожалуйста, загрузите официальную бинарную версию из %s (не 'go build' версия).",
|
||||
"install.invalid_db_setting": "Некорректные настройки базы данных: %v",
|
||||
|
||||
@@ -121,6 +121,8 @@
|
||||
"install.err_admin_name_is_reserved": "Administrator username is invalid. Username is reserved.",
|
||||
"install.err_admin_name_pattern_not_allowed": "Administrator username is invalid. The username matches a reserved pattern.",
|
||||
"install.err_admin_name_is_invalid": "Administrator username is invalid",
|
||||
"footer.show": "Show footer",
|
||||
"footer.hide": "Hide footer",
|
||||
"install.general_title": "පොදු සැකසුම්",
|
||||
"install.app_name": "අඩවියේ සිරැසිය",
|
||||
"install.app_name_helper": "ඔබට ඔබේ සමාගමේ නම මෙහි ඇතුළත් කළ හැකිය.",
|
||||
@@ -149,6 +151,8 @@
|
||||
"install.smtp_from": "ලෙස වි-තැපෑල යවන්න",
|
||||
"install.smtp_from_invalid": "The \"Send Email As\" address is invalid",
|
||||
"install.smtp_from_helper": "විද්යුත් තැපැල් ලිපිනය Gitea භාවිතා කරනු ඇත. සරල විද්යුත් තැපැල් ලිපිනයක් ඇතුළත් කරන්න හෝ “නම” <email@example.com> ආකෘතිය භාවිතා කරන්න.",
|
||||
"install.smtp_from_name_placeholder": "Sender name",
|
||||
"install.smtp_from_address_placeholder": "email@example.com",
|
||||
"install.mailer_user": "SMTP පරිශීලක නාමය",
|
||||
"install.mailer_password": "SMTP මුරපදය",
|
||||
"install.test_mail_to": "Send Testing Email",
|
||||
@@ -204,7 +208,7 @@
|
||||
"install.admin_management_policy.grantor_only_helper": "Regular admins can promote users to administrator and can later modify or delete only the administrators they directly promoted.",
|
||||
"install.admin_management_policy.grantor_inheritance": "Grantor chain with inheritance",
|
||||
"install.admin_management_policy.grantor_inheritance_helper": "Like grantor-only, but if the direct grantor becomes inactive or has sign-in disabled, management passes up the admin grant chain until an eligible admin is found. If none is found, super admins keep control.",
|
||||
"install.install_btn_confirm": "ගිටියා ස්ථාපනය කරන්න",
|
||||
"install.install_btn_confirm": "%s ස්ථාපනය කරන්න",
|
||||
"install.test_git_failed": "'git' විධානය පරීක්ෂා කළ නොහැකි විය: %v",
|
||||
"install.sqlite3_not_available": "මෙම Gitea අනුවාදය SQLite3 සඳහා සහය නොදක්වයි. කරුණාකර නිල ද්විමය අනුවාදය %s වෙතින් බාගත කරන්න ('gobuild' අනුවාදය නොවේ).",
|
||||
"install.invalid_db_setting": "දත්ත සමුදා සැකසුම් අවලංගුයි: %v",
|
||||
|
||||
@@ -122,6 +122,8 @@
|
||||
"filter.is_template": "Šablóna",
|
||||
"filter.private": "Súkromný",
|
||||
"aria.navbar": "Navigačná lišta",
|
||||
"footer.show": "Show footer",
|
||||
"footer.hide": "Hide footer",
|
||||
"aria.footer": "Päta",
|
||||
"aria.footer.software": "O softvéri",
|
||||
"aria.footer.links": "Odkazy",
|
||||
@@ -207,6 +209,8 @@
|
||||
"install.smtp_addr": "SMTP Host",
|
||||
"install.smtp_port": "SMTP Port",
|
||||
"install.smtp_from": "Odoslať e-mail ako",
|
||||
"install.smtp_from_name_placeholder": "Sender name",
|
||||
"install.smtp_from_address_placeholder": "email@example.com",
|
||||
"install.smtp_from_invalid": "The \"Send Email As\" address is invalid",
|
||||
"install.smtp_from_helper": "E-mailová adresa ktorú použije Gitea. Zadajte bežnú e-mailovú adresu alebo použite formát \"Meno\" <email@example.com>.",
|
||||
"install.mailer_user": "Používateľské meno SMTP",
|
||||
@@ -264,7 +268,7 @@
|
||||
"install.admin_management_policy.grantor_only_helper": "Regular admins can promote users to administrator and can later modify or delete only the administrators they directly promoted.",
|
||||
"install.admin_management_policy.grantor_inheritance": "Grantor chain with inheritance",
|
||||
"install.admin_management_policy.grantor_inheritance_helper": "Like grantor-only, but if the direct grantor becomes inactive or has sign-in disabled, management passes up the admin grant chain until an eligible admin is found. If none is found, super admins keep control.",
|
||||
"install.install_btn_confirm": "Nainštalovať Gitea",
|
||||
"install.install_btn_confirm": "Nainštalovať %s",
|
||||
"install.test_git_failed": "Nie je možné otestovať príkaz 'git': %v",
|
||||
"install.sqlite3_not_available": "Táto verzia Gitea nepodporuje SQLite3. Stiahnite si, prosím, oficiálnu verziu z %s (nie verziu \"gobuild\").",
|
||||
"install.invalid_db_setting": "Nastavenia databázy sú neplatné: %v",
|
||||
|
||||
@@ -108,6 +108,8 @@
|
||||
"install.err_admin_name_is_reserved": "Administrator username is invalid. Username is reserved.",
|
||||
"install.err_admin_name_pattern_not_allowed": "Administrator username is invalid. The username matches a reserved pattern.",
|
||||
"install.err_admin_name_is_invalid": "Administrator username is invalid",
|
||||
"footer.show": "Show footer",
|
||||
"footer.hide": "Hide footer",
|
||||
"install.general_title": "Allmänna inställningar",
|
||||
"install.app_name": "Sajtens namn",
|
||||
"install.app_name_helper": "Du kan ange ditt företagsnamn här.",
|
||||
@@ -136,6 +138,8 @@
|
||||
"install.smtp_from": "Skicka Mejl Som",
|
||||
"install.smtp_from_invalid": "The \"Send Email As\" address is invalid",
|
||||
"install.smtp_from_helper": "Mejladress som Gitea kommer att använda. Anges i simpelt ('email@example.com') eller fullständigt ('Name <email@example.com>') format.",
|
||||
"install.smtp_from_name_placeholder": "Sender name",
|
||||
"install.smtp_from_address_placeholder": "email@example.com",
|
||||
"install.mailer_user": "SMTP-Användarnamn",
|
||||
"install.mailer_password": "SMTP-Lösenord",
|
||||
"install.test_mail_to": "Send Testing Email",
|
||||
@@ -191,7 +195,7 @@
|
||||
"install.admin_management_policy.grantor_only_helper": "Regular admins can promote users to administrator and can later modify or delete only the administrators they directly promoted.",
|
||||
"install.admin_management_policy.grantor_inheritance": "Grantor chain with inheritance",
|
||||
"install.admin_management_policy.grantor_inheritance_helper": "Like grantor-only, but if the direct grantor becomes inactive or has sign-in disabled, management passes up the admin grant chain until an eligible admin is found. If none is found, super admins keep control.",
|
||||
"install.install_btn_confirm": "Installera Gitea",
|
||||
"install.install_btn_confirm": "Installera %s",
|
||||
"install.test_git_failed": "Misslyckades att testa 'git' kommando: %v",
|
||||
"install.sqlite3_not_available": "Denna version av Gitea stödjer ej SQLite3. Ladda ner den officiella binären från %s (inte 'gobuild' versionen).",
|
||||
"install.invalid_db_setting": "Databasinställningarna är ogiltiga: %v",
|
||||
|
||||
@@ -184,6 +184,8 @@
|
||||
"search.pull_kind": "Değişiklik isteklerini ara…",
|
||||
"search.keyword_search_unavailable": "Anahtar kelime ile arama şu an mevcut değil. Lütfen site yöneticinizle iletişime geçin.",
|
||||
"aria.navbar": "Gezinti Çubuğu",
|
||||
"footer.show": "Show footer",
|
||||
"footer.hide": "Hide footer",
|
||||
"aria.footer": "Alt Bilgi",
|
||||
"aria.footer.software": "Yazılım Hakkında",
|
||||
"aria.footer.links": "Bağlantılar",
|
||||
@@ -279,6 +281,8 @@
|
||||
"install.smtp_addr": "SMTP Sunucusu",
|
||||
"install.smtp_port": "SMTP Portu",
|
||||
"install.smtp_from": "E-posta Gönderen",
|
||||
"install.smtp_from_name_placeholder": "Sender name",
|
||||
"install.smtp_from_address_placeholder": "email@example.com",
|
||||
"install.smtp_from_invalid": "\"E-posta Olarak Gönder\" adresi geçersiz",
|
||||
"install.smtp_from_helper": "Gitea'nın kullanacağı e-posta adresi. Yalın bir e-posta adresi girin veya \"İsim\" <eposta@ornek.com> biçimini kullanın.",
|
||||
"install.mailer_user": "SMTP Kullanıcı Adı",
|
||||
@@ -336,7 +340,7 @@
|
||||
"install.admin_management_policy.grantor_only_helper": "Regular admins can promote users to administrator and can later modify or delete only the administrators they directly promoted.",
|
||||
"install.admin_management_policy.grantor_inheritance": "Grantor chain with inheritance",
|
||||
"install.admin_management_policy.grantor_inheritance_helper": "Like grantor-only, but if the direct grantor becomes inactive or has sign-in disabled, management passes up the admin grant chain until an eligible admin is found. If none is found, super admins keep control.",
|
||||
"install.install_btn_confirm": "Gitea'u Kur",
|
||||
"install.install_btn_confirm": "%s'u Kur",
|
||||
"install.test_git_failed": "'git' komut testi başarısız: %v",
|
||||
"install.sqlite3_not_available": "Bu Gieta sürümü SQLite3 desteklemiyor. Lütfen %s adresinden resmi çalışır sürümü ('gobuild' sürümünü değil) indirin.",
|
||||
"install.invalid_db_setting": "Veritabanı ayarları geçersiz: %v",
|
||||
|
||||
@@ -151,6 +151,8 @@
|
||||
"search.no_results": "Не знайдено жодного збігу.",
|
||||
"search.keyword_search_unavailable": "Пошук за ключовими словами наразі недоступний. Будь ласка, зверніться до адміністратора сайту.",
|
||||
"aria.navbar": "Панель навігації",
|
||||
"footer.show": "Show footer",
|
||||
"footer.hide": "Hide footer",
|
||||
"aria.footer": "Нижній колонтитул",
|
||||
"aria.footer.software": "Про програмне забезпечення",
|
||||
"aria.footer.links": "Посилання",
|
||||
@@ -244,6 +246,8 @@
|
||||
"install.smtp_from": "Відправити листа від імені",
|
||||
"install.smtp_from_invalid": "Адреса \"Надіслати листа як\" недійсна",
|
||||
"install.smtp_from_helper": "Адреса електронної пошти, яку буде використовувати Gitea. Введіть звичайну адресу електронної пошти або використовуйте формат «Ім'я» <email@example.com>.",
|
||||
"install.smtp_from_name_placeholder": "Sender name",
|
||||
"install.smtp_from_address_placeholder": "email@example.com",
|
||||
"install.mailer_user": "Ім'я користувача SMTP",
|
||||
"install.mailer_password": "Пароль SMTP",
|
||||
"install.test_mail_to": "Send Testing Email",
|
||||
@@ -299,7 +303,7 @@
|
||||
"install.admin_management_policy.grantor_only_helper": "Regular admins can promote users to administrator and can later modify or delete only the administrators they directly promoted.",
|
||||
"install.admin_management_policy.grantor_inheritance": "Grantor chain with inheritance",
|
||||
"install.admin_management_policy.grantor_inheritance_helper": "Like grantor-only, but if the direct grantor becomes inactive or has sign-in disabled, management passes up the admin grant chain until an eligible admin is found. If none is found, super admins keep control.",
|
||||
"install.install_btn_confirm": "Встановити Gitea",
|
||||
"install.install_btn_confirm": "Встановити %s",
|
||||
"install.test_git_failed": "Не вдалося перевірити команду 'git': %v",
|
||||
"install.sqlite3_not_available": "Ця версія Gitea не підтримує SQLite3. Будь ласка, завантажте офіційну бінарну версію з %s (не версію gobuild).",
|
||||
"install.invalid_db_setting": "Налаштування бази даних недійсні: %v",
|
||||
|
||||
@@ -185,6 +185,8 @@
|
||||
"search.pull_kind": "搜索合并请求…",
|
||||
"search.keyword_search_unavailable": "按关键字搜索当前不可用。请联系站点管理员。",
|
||||
"aria.navbar": "导航栏",
|
||||
"footer.show": "Show footer",
|
||||
"footer.hide": "Hide footer",
|
||||
"aria.footer": "页脚",
|
||||
"aria.footer.software": "关于软件",
|
||||
"aria.footer.links": "链接",
|
||||
@@ -281,6 +283,8 @@
|
||||
"install.smtp_port": "SMTP 端口",
|
||||
"install.smtp_from": "邮件发件人",
|
||||
"install.smtp_from_invalid": "「邮件发件人」地址无效",
|
||||
"install.smtp_from_name_placeholder": "Sender name",
|
||||
"install.smtp_from_address_placeholder": "email@example.com",
|
||||
"install.smtp_from_helper": "请输入一个用于 Gitea 的邮箱地址,或者使用完整格式:\"名称\" <email@example.com>。",
|
||||
"install.mailer_user": "SMTP 用户名",
|
||||
"install.mailer_password": "SMTP 密码",
|
||||
@@ -337,7 +341,7 @@
|
||||
"install.admin_management_policy.grantor_only_helper": "Regular admins can promote users to administrator and can later modify or delete only the administrators they directly promoted.",
|
||||
"install.admin_management_policy.grantor_inheritance": "Grantor chain with inheritance",
|
||||
"install.admin_management_policy.grantor_inheritance_helper": "Like grantor-only, but if the direct grantor becomes inactive or has sign-in disabled, management passes up the admin grant chain until an eligible admin is found. If none is found, super admins keep control.",
|
||||
"install.install_btn_confirm": "立即安装",
|
||||
"install.install_btn_confirm": "安装 %s",
|
||||
"install.test_git_failed": "无法识别 'git' 命令:%v",
|
||||
"install.sqlite3_not_available": "您所使用的发行版不支持 SQLite3,请从 %s 下载官方构建版,而不是 gobuild 版本。",
|
||||
"install.invalid_db_setting": "数据库设置无效: %v",
|
||||
|
||||
@@ -149,6 +149,8 @@
|
||||
"search.no_results": "找不到符合的結果。",
|
||||
"search.keyword_search_unavailable": "現在無法使用關鍵字搜尋。請與網站管理員聯絡。",
|
||||
"aria.navbar": "導航列",
|
||||
"footer.show": "Show footer",
|
||||
"footer.hide": "Hide footer",
|
||||
"aria.footer": "頁尾",
|
||||
"aria.footer.software": "關於軟體",
|
||||
"aria.footer.links": "連結",
|
||||
@@ -242,6 +244,8 @@
|
||||
"install.smtp_port": "SMTP 連接埠",
|
||||
"install.smtp_from": "電子郵件寄件者",
|
||||
"install.smtp_from_invalid": "「以此電子信箱寄送」的地址無效",
|
||||
"install.smtp_from_name_placeholder": "Sender name",
|
||||
"install.smtp_from_address_placeholder": "email@example.com",
|
||||
"install.smtp_from_helper": "Gitea 將會使用的電子信箱,直接輸入電子信箱或使用「\"名稱\" <email@example.com>」的格式。",
|
||||
"install.mailer_user": "SMTP 帳號",
|
||||
"install.mailer_password": "SMTP 密碼",
|
||||
@@ -298,7 +302,7 @@
|
||||
"install.admin_management_policy.grantor_only_helper": "Regular admins can promote users to administrator and can later modify or delete only the administrators they directly promoted.",
|
||||
"install.admin_management_policy.grantor_inheritance": "Grantor chain with inheritance",
|
||||
"install.admin_management_policy.grantor_inheritance_helper": "Like grantor-only, but if the direct grantor becomes inactive or has sign-in disabled, management passes up the admin grant chain until an eligible admin is found. If none is found, super admins keep control.",
|
||||
"install.install_btn_confirm": "安裝 Gitea",
|
||||
"install.install_btn_confirm": "安裝 %s",
|
||||
"install.test_git_failed": "無法識別「git」命令:%v",
|
||||
"install.sqlite3_not_available": "您目前的版本不支援 SQLite3,請從 %s 下載官方的預先編譯版本 (不是 gobuild 版本)。",
|
||||
"install.invalid_db_setting": "資料庫設定不正確: %v",
|
||||
|
||||
@@ -16,6 +16,7 @@ import (
|
||||
"os"
|
||||
"os/exec"
|
||||
"path/filepath"
|
||||
"regexp"
|
||||
"runtime"
|
||||
"slices"
|
||||
"strconv"
|
||||
@@ -74,6 +75,8 @@ var installBrandingAssetSpecs = []installBrandingAssetSpec{
|
||||
{FormField: "favicon_png", TargetName: "favicon.png", LabelKey: "install.branding.favicon_png", MimeType: "image/png"},
|
||||
}
|
||||
|
||||
var installSMTPUnquotedDisplayNamePattern = regexp.MustCompile(`^[A-Za-z0-9][A-Za-z0-9 ._-]*$`)
|
||||
|
||||
// getSupportedDbTypeNames returns a slice for supported database types and names. The slice is used to keep the order
|
||||
func getSupportedDbTypeNames() (dbTypeNames []map[string]string) {
|
||||
for _, t := range setting.SupportedDatabaseTypes {
|
||||
@@ -339,6 +342,7 @@ func newInstallFormFromSettings() (forms.InstallForm, string) {
|
||||
form.SMTPUser = setting.MailService.User
|
||||
form.SMTPPasswd = setting.MailService.Passwd
|
||||
}
|
||||
populateInstallSMTPFromFields(&form)
|
||||
form.RegisterConfirm = setting.Service.RegisterEmailConfirm
|
||||
form.RegisterManualConfirm = setting.Service.RegisterManualConfirm
|
||||
form.MailNotify = setting.Service.EnableNotifyMail
|
||||
@@ -372,6 +376,7 @@ func renderInstallPage(ctx *context.Context, form *forms.InstallForm, curDBType
|
||||
}
|
||||
normalizeInstallRegistrationOptions(form)
|
||||
ctx.Data["CurDbType"] = curDBType
|
||||
ctx.Data["InstallerSiteName"] = installMailerDisplayName(form.AppName)
|
||||
middleware.AssignForm(form, ctx.Data)
|
||||
ctx.HTML(http.StatusOK, tplInstall)
|
||||
}
|
||||
@@ -447,6 +452,7 @@ func populateInstallFormFromConfig(form *forms.InstallForm, cfg setting.ConfigPr
|
||||
form.SMTPUser = setting.ConfigSectionKeyString(mailerSec, "USER", form.SMTPUser)
|
||||
form.SMTPPasswd = setting.ConfigSectionKeyString(mailerSec, "PASSWD", form.SMTPPasswd)
|
||||
}
|
||||
populateInstallSMTPFromFields(form)
|
||||
|
||||
form.RegisterConfirm = setting.ConfigSectionKeyBool(serviceSec, "REGISTER_EMAIL_CONFIRM", form.RegisterConfirm)
|
||||
form.RegisterManualConfirm = setting.ConfigSectionKeyBool(serviceSec, "REGISTER_MANUAL_CONFIRM", form.RegisterManualConfirm)
|
||||
@@ -633,6 +639,73 @@ func ImportAppINI(ctx *context.Context) {
|
||||
renderInstallPage(ctx, &form, curDBType)
|
||||
}
|
||||
|
||||
func installMailerDisplayName(appName string) string {
|
||||
appName = strings.TrimSpace(appName)
|
||||
if appName == "" {
|
||||
return "Gitea"
|
||||
}
|
||||
|
||||
if siteName, _, found := strings.Cut(appName, ":"); found {
|
||||
siteName = strings.TrimSpace(siteName)
|
||||
if siteName != "" {
|
||||
return siteName
|
||||
}
|
||||
}
|
||||
|
||||
if parts := strings.Fields(appName); len(parts) > 0 {
|
||||
return parts[0]
|
||||
}
|
||||
|
||||
return appName
|
||||
}
|
||||
|
||||
func composeInstallSMTPFrom(appName, fromName, fromAddress string) (string, error) {
|
||||
fromAddress = strings.TrimSpace(fromAddress)
|
||||
if fromAddress == "" {
|
||||
return "", errors.New("missing from address")
|
||||
}
|
||||
|
||||
if _, err := mail.ParseAddress(fromAddress); err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
fromName = strings.TrimSpace(fromName)
|
||||
if fromName == "" {
|
||||
fromName = installMailerDisplayName(appName)
|
||||
}
|
||||
|
||||
if installSMTPUnquotedDisplayNamePattern.MatchString(fromName) {
|
||||
return fromName + " <" + fromAddress + ">", nil
|
||||
}
|
||||
|
||||
return (&mail.Address{
|
||||
Name: fromName,
|
||||
Address: fromAddress,
|
||||
}).String(), nil
|
||||
}
|
||||
|
||||
func populateInstallSMTPFromFields(form *forms.InstallForm) {
|
||||
form.SMTPFromName = strings.TrimSpace(form.SMTPFromName)
|
||||
form.SMTPFromAddress = strings.TrimSpace(form.SMTPFromAddress)
|
||||
|
||||
if form.SMTPFrom != "" {
|
||||
if parsedFrom, err := mail.ParseAddress(form.SMTPFrom); err == nil {
|
||||
if form.SMTPFromName == "" {
|
||||
form.SMTPFromName = parsedFrom.Name
|
||||
}
|
||||
if form.SMTPFromAddress == "" {
|
||||
form.SMTPFromAddress = parsedFrom.Address
|
||||
}
|
||||
} else if form.SMTPFromAddress == "" {
|
||||
form.SMTPFromAddress = strings.TrimSpace(form.SMTPFrom)
|
||||
}
|
||||
}
|
||||
|
||||
if form.SMTPFromName == "" {
|
||||
form.SMTPFromName = installMailerDisplayName(form.AppName)
|
||||
}
|
||||
}
|
||||
|
||||
// TestMail checks the mail settings entered on the install page.
|
||||
func TestMail(ctx *context.Context) {
|
||||
email := strings.TrimSpace(ctx.FormString("test_mail_email"))
|
||||
@@ -666,7 +739,9 @@ func TestMail(ctx *context.Context) {
|
||||
func buildInstallTestMailService(ctx *context.Context) (*setting.Mailer, error) {
|
||||
smtpAddr := strings.TrimSpace(ctx.FormString("smtp_addr"))
|
||||
smtpPort := strings.TrimSpace(ctx.FormString("smtp_port"))
|
||||
smtpFrom := strings.TrimSpace(ctx.FormString("smtp_from"))
|
||||
appName := strings.TrimSpace(ctx.FormString("app_name"))
|
||||
smtpFromName := strings.TrimSpace(ctx.FormString("smtp_from_name"))
|
||||
smtpFromAddress := strings.TrimSpace(ctx.FormString("smtp_from_address"))
|
||||
|
||||
if smtpAddr == "" {
|
||||
return nil, errors.New(string(ctx.Tr("install.test_mail_missing_host")))
|
||||
@@ -683,6 +758,11 @@ func buildInstallTestMailService(ctx *context.Context) (*setting.Mailer, error)
|
||||
return nil, errors.New(string(ctx.Tr("form.email_invalid")))
|
||||
}
|
||||
|
||||
smtpFrom, err := composeInstallSMTPFrom(appName, smtpFromName, smtpFromAddress)
|
||||
if err != nil {
|
||||
return nil, errors.New(string(ctx.Tr("install.smtp_from_invalid")))
|
||||
}
|
||||
|
||||
parsedFrom, err := mail.ParseAddress(smtpFrom)
|
||||
if err != nil {
|
||||
return nil, errors.New(string(ctx.Tr("install.smtp_from_invalid")))
|
||||
@@ -701,7 +781,7 @@ func buildInstallTestMailService(ctx *context.Context) (*setting.Mailer, error)
|
||||
}
|
||||
|
||||
return &setting.Mailer{
|
||||
Name: setting.AppName,
|
||||
Name: installMailerDisplayName(appName),
|
||||
From: smtpFrom,
|
||||
FromName: parsedFrom.Name,
|
||||
FromEmail: parsedFrom.Address,
|
||||
@@ -822,6 +902,7 @@ func SubmitInstall(ctx *context.Context) {
|
||||
}
|
||||
form.DefaultLanguage = strings.TrimSpace(form.DefaultLanguage)
|
||||
normalizeInstallRegistrationOptions(&form)
|
||||
populateInstallSMTPFromFields(&form)
|
||||
|
||||
if form.DefaultLanguage == "" {
|
||||
form.DefaultLanguage = resolveInstallDefaultLanguage("")
|
||||
@@ -999,7 +1080,8 @@ func SubmitInstall(ctx *context.Context) {
|
||||
}
|
||||
|
||||
if len(strings.TrimSpace(form.SMTPAddr)) > 0 {
|
||||
if _, err := mail.ParseAddress(form.SMTPFrom); err != nil {
|
||||
form.SMTPFrom, err = composeInstallSMTPFrom(form.AppName, form.SMTPFromName, form.SMTPFromAddress)
|
||||
if err != nil {
|
||||
ctx.RenderWithErrDeprecated(ctx.Tr("install.smtp_from_invalid"), tplInstall, &form)
|
||||
return
|
||||
}
|
||||
|
||||
@@ -56,6 +56,18 @@ func TestReorderInstallLanguages(t *testing.T) {
|
||||
assert.Equal(t, []string{"en-US", "de-DE", "fr-FR"}, reorderInstallLanguages("invalid"))
|
||||
}
|
||||
|
||||
func TestInstallMailerDisplayName(t *testing.T) {
|
||||
assert.Equal(t, "gitSafe", installMailerDisplayName("gitSafe: for your code"))
|
||||
assert.Equal(t, "gitSafe", installMailerDisplayName("gitSafe for your code"))
|
||||
assert.Equal(t, "Gitea", installMailerDisplayName(""))
|
||||
}
|
||||
|
||||
func TestComposeInstallSMTPFrom(t *testing.T) {
|
||||
from, err := composeInstallSMTPFrom("gitSafe for your code", "", "noreply@example.com")
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, "gitSafe <noreply@example.com>", from)
|
||||
}
|
||||
|
||||
func TestPopulateInstallFormFromConfig(t *testing.T) {
|
||||
defer test.MockVariableValue(&setting.SupportedDatabaseTypes, []string{"mysql", "postgres", "sqlite3"})()
|
||||
defer test.MockVariableValue(&setting.Langs, []string{"en-US", "de-DE", "fr-FR"})()
|
||||
@@ -150,6 +162,8 @@ LANGS = de-DE,en-US
|
||||
assert.Equal(t, "smtp.example.com", form.SMTPAddr)
|
||||
assert.Equal(t, "587", form.SMTPPort)
|
||||
assert.Equal(t, "Gitea <gitea@example.com>", form.SMTPFrom)
|
||||
assert.Equal(t, "Gitea", form.SMTPFromName)
|
||||
assert.Equal(t, "gitea@example.com", form.SMTPFromAddress)
|
||||
assert.Equal(t, "smtp-user", form.SMTPUser)
|
||||
assert.Equal(t, "smtp-pass", form.SMTPPasswd)
|
||||
assert.Equal(t, "de-DE", form.DefaultLanguage)
|
||||
|
||||
@@ -41,6 +41,8 @@ type InstallForm struct {
|
||||
SMTPAddr string
|
||||
SMTPPort string
|
||||
SMTPFrom string
|
||||
SMTPFromName string
|
||||
SMTPFromAddress string
|
||||
SMTPUser string `binding:"OmitEmpty;MaxSize(254)" locale:"install.mailer_user"`
|
||||
SMTPPasswd string
|
||||
ImportSensitiveSecrets bool `form:"import_sensitive_secrets"`
|
||||
|
||||
+21
-1
@@ -58,7 +58,27 @@ func SendTestMailWith(email string, mailService *setting.Mailer) error {
|
||||
setting.MailService = previousMailService
|
||||
}()
|
||||
|
||||
return sender_service.Send(newTestMailSender(mailService.Protocol), sender_service.NewMessage(email, "Gitea Test Email!", "Gitea Test Email!"))
|
||||
subject := fmt.Sprintf("%s Test Email!", testMailAppName(mailService.Name))
|
||||
return sender_service.Send(newTestMailSender(mailService.Protocol), sender_service.NewMessage(email, subject, subject))
|
||||
}
|
||||
|
||||
func testMailAppName(name string) string {
|
||||
name = strings.TrimSpace(name)
|
||||
if name == "" {
|
||||
name = strings.TrimSpace(setting.AppName)
|
||||
}
|
||||
if siteName, _, found := strings.Cut(name, ":"); found {
|
||||
siteName = strings.TrimSpace(siteName)
|
||||
if siteName != "" {
|
||||
return siteName
|
||||
}
|
||||
} else if parts := strings.Fields(name); len(parts) > 0 {
|
||||
return parts[0]
|
||||
}
|
||||
if name == "" {
|
||||
return "Gitea"
|
||||
}
|
||||
return name
|
||||
}
|
||||
|
||||
func newTestMailSender(protocol string) sender_service.Sender {
|
||||
|
||||
@@ -508,6 +508,18 @@ func TestFromDisplayName(t *testing.T) {
|
||||
})
|
||||
}
|
||||
|
||||
func TestTestMailAppName(t *testing.T) {
|
||||
oldAppName := setting.AppName
|
||||
setting.AppName = "Gitea: Git with a cup of tea"
|
||||
defer func() {
|
||||
setting.AppName = oldAppName
|
||||
}()
|
||||
|
||||
assert.Equal(t, "gitSafe", testMailAppName("gitSafe: for your code"))
|
||||
assert.Equal(t, "gitSafe", testMailAppName("gitSafe for your code"))
|
||||
assert.Equal(t, "Gitea", testMailAppName(""))
|
||||
}
|
||||
|
||||
func TestEmbedBase64Images(t *testing.T) {
|
||||
user, repo, issue, att1, att2 := prepareMailerBase64Test(t)
|
||||
// comment := &mailComment{Issue: issue, Doer: user}
|
||||
|
||||
+52
-4
@@ -246,8 +246,15 @@
|
||||
<input id="smtp_port" name="smtp_port" value="{{.smtp_port}}">
|
||||
</div>
|
||||
<div class="inline field {{if .Err_SMTPFrom}}error{{end}}">
|
||||
<label for="smtp_from">{{ctx.Locale.Tr "install.smtp_from"}}</label>
|
||||
<input id="smtp_from" name="smtp_from" value="{{.smtp_from}}">
|
||||
<label for="smtp_from_name">{{ctx.Locale.Tr "install.smtp_from"}}</label>
|
||||
<div class="tw-inline-flex tw-items-center tw-gap-2 tw-flex-wrap" style="width: 60%;">
|
||||
<div class="ui input" style="flex: 1 1 200px;">
|
||||
<input id="smtp_from_name" name="smtp_from_name" value="{{.smtp_from_name}}" placeholder="{{ctx.Locale.Tr "install.smtp_from_name_placeholder"}}">
|
||||
</div>
|
||||
<div class="ui input" style="flex: 1 1 240px;">
|
||||
<input id="smtp_from_address" name="smtp_from_address" type="email" value="{{.smtp_from_address}}" placeholder="{{ctx.Locale.Tr "install.smtp_from_address_placeholder"}}">
|
||||
</div>
|
||||
</div>
|
||||
<span class="help">{{ctx.Locale.TrString "install.smtp_from_helper"}}{{/* it contains lt/gt chars*/}}</span>
|
||||
</div>
|
||||
<div class="inline field {{if .Err_SMTPUser}}error{{end}}">
|
||||
@@ -264,7 +271,7 @@
|
||||
<label for="test_mail_email">{{ctx.Locale.Tr "install.test_mail_to"}}</label>
|
||||
<div class="tw-inline-flex tw-items-center tw-gap-2 tw-flex-wrap" style="width: 60%;">
|
||||
<div class="ui small input">
|
||||
<input id="test_mail_email" name="test_mail_email" type="email" placeholder="{{ctx.Locale.Tr "admin.config.test_email_placeholder"}}" size="29">
|
||||
<input id="test_mail_email" name="test_mail_email" type="email" placeholder="{{ctx.Locale.Tr "admin.config.test_email_placeholder"}}" size="40">
|
||||
</div>
|
||||
<button class="ui tiny js-install-test-mail-button button" data-mail-action-ui="inline-v2" data-action="{{AppSubUrl}}/test_mail" type="button" style="background: var(--color-primary); color: var(--color-primary-contrast); border-color: var(--color-primary);">{{ctx.Locale.Tr "admin.config.send_test_mail_submit"}}</button>
|
||||
<span class="js-install-test-mail-message"></span>
|
||||
@@ -489,7 +496,10 @@
|
||||
{{ctx.Locale.Tr "install.config_write_file_prompt" $filePath}}
|
||||
</div>
|
||||
<div class="tw-mt-4 tw-mb-2 tw-text-center">
|
||||
<button class="ui primary button">{{ctx.Locale.Tr "install.install_btn_confirm"}}</button>
|
||||
<button
|
||||
class="ui primary button js-install-confirm-button"
|
||||
data-install-label-template="{{ctx.Locale.Tr "install.install_btn_confirm" "__SITE_NAME__"}}"
|
||||
>{{ctx.Locale.Tr "install.install_btn_confirm" .InstallerSiteName}}</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
@@ -612,6 +622,44 @@
|
||||
}
|
||||
};
|
||||
|
||||
const deriveInstallMailerName = (appName) => {
|
||||
const trimmed = appName.trim();
|
||||
if (!trimmed) return 'Gitea';
|
||||
const colonIndex = trimmed.indexOf(':');
|
||||
if (colonIndex >= 0) {
|
||||
const siteName = trimmed.slice(0, colonIndex).trim();
|
||||
return siteName || 'Gitea';
|
||||
}
|
||||
return trimmed.split(/\s+/, 1)[0] || 'Gitea';
|
||||
};
|
||||
|
||||
const installForm = document.querySelector('.js-install-form');
|
||||
const appNameInput = installForm?.querySelector('#app_name');
|
||||
const smtpFromNameInput = installForm?.querySelector('#smtp_from_name');
|
||||
const installConfirmButton = installForm?.querySelector('.js-install-confirm-button');
|
||||
if (appNameInput instanceof HTMLInputElement && smtpFromNameInput instanceof HTMLInputElement) {
|
||||
let lastAutoMailerName = smtpFromNameInput.value.trim() || deriveInstallMailerName(appNameInput.value);
|
||||
if (!smtpFromNameInput.value.trim()) {
|
||||
smtpFromNameInput.value = lastAutoMailerName;
|
||||
}
|
||||
if (installConfirmButton instanceof HTMLButtonElement) {
|
||||
installConfirmButton.textContent = installConfirmButton.dataset.installLabelTemplate.replace('__SITE_NAME__', lastAutoMailerName);
|
||||
}
|
||||
|
||||
appNameInput.addEventListener('input', () => {
|
||||
const currentValue = smtpFromNameInput.value.trim();
|
||||
if (currentValue && currentValue !== lastAutoMailerName) return;
|
||||
lastAutoMailerName = deriveInstallMailerName(appNameInput.value);
|
||||
smtpFromNameInput.value = lastAutoMailerName;
|
||||
if (installConfirmButton instanceof HTMLButtonElement) {
|
||||
installConfirmButton.textContent = installConfirmButton.dataset.installLabelTemplate.replace('__SITE_NAME__', lastAutoMailerName);
|
||||
}
|
||||
});
|
||||
} else if (appNameInput instanceof HTMLInputElement && installConfirmButton instanceof HTMLButtonElement) {
|
||||
const siteName = deriveInstallMailerName(appNameInput.value);
|
||||
installConfirmButton.textContent = installConfirmButton.dataset.installLabelTemplate.replace('__SITE_NAME__', siteName);
|
||||
}
|
||||
|
||||
for (const button of document.querySelectorAll('.js-install-test-mail-button')) {
|
||||
button.addEventListener('click', async () => {
|
||||
const form = button.closest('.js-install-form');
|
||||
|
||||
Reference in New Issue
Block a user