mirror of
				https://github.com/go-gitea/gitea
				synced 2025-11-04 05:18:25 +00:00 
			
		
		
		
	Merge branch 'master' into feat/approval
This commit is contained in:
		@@ -35,6 +35,8 @@ if [ ! -f /data/gitea/conf/app.ini ]; then
 | 
			
		||||
    DB_USER=${DB_USER:-"root"} \
 | 
			
		||||
    DB_PASSWD=${DB_PASSWD:-""} \
 | 
			
		||||
    INSTALL_LOCK=${INSTALL_LOCK:-"false"} \
 | 
			
		||||
    DISABLE_REGISTRATION=${DISABLE_REGISTRATION:-"false"} \
 | 
			
		||||
    REQUIRE_SIGNIN_VIEW=${REQUIRE_SIGNIN_VIEW:-"false"} \
 | 
			
		||||
    SECRET_KEY=${SECRET_KEY:-""} \
 | 
			
		||||
    envsubst < /etc/templates/app.ini > /data/gitea/conf/app.ini
 | 
			
		||||
fi
 | 
			
		||||
 
 | 
			
		||||
@@ -38,3 +38,7 @@ ROOT_PATH = /data/gitea/log
 | 
			
		||||
[security]
 | 
			
		||||
INSTALL_LOCK = $INSTALL_LOCK
 | 
			
		||||
SECRET_KEY   = $SECRET_KEY
 | 
			
		||||
 | 
			
		||||
[service]
 | 
			
		||||
DISABLE_REGISTRATION = $DISABLE_REGISTRATION
 | 
			
		||||
REQUIRE_SIGNIN_VIEW  = $REQUIRE_SIGNIN_VIEW
 | 
			
		||||
 
 | 
			
		||||
@@ -243,6 +243,8 @@ You can configure some of Gitea's settings via environment variables:
 | 
			
		||||
* `DB_PASSWD`: **"<empty>"**: Database user password. Use \`your password\` for quoting if you use special characters in the password.
 | 
			
		||||
* `INSTALL_LOCK`: **false**: Disallow access to the install page.
 | 
			
		||||
* `SECRET_KEY`: **""**: Global secret key. This should be changed. If this has a value and `INSTALL_LOCK` is empty, `INSTALL_LOCK` will automatically set to `true`.
 | 
			
		||||
* `DISABLE_REGISTRATION`: **false**: Disable registration, after which only admin can create accounts for users.
 | 
			
		||||
* `REQUIRE_SIGNIN_VIEW`: **false**: Enable this to force users to log in to view any page.
 | 
			
		||||
 | 
			
		||||
# Customization
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										102
									
								
								docs/content/doc/usage/reverse-proxies.en-us.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										102
									
								
								docs/content/doc/usage/reverse-proxies.en-us.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,102 @@
 | 
			
		||||
---
 | 
			
		||||
date: "2018-05-22T11:00:00+00:00"
 | 
			
		||||
title: "Usage: Reverse Proxies"
 | 
			
		||||
slug: "reverse-proxies"
 | 
			
		||||
weight: 17
 | 
			
		||||
toc: true
 | 
			
		||||
draft: false
 | 
			
		||||
menu:
 | 
			
		||||
  sidebar:
 | 
			
		||||
    parent: "usage"
 | 
			
		||||
    name: "Reverse Proxies"
 | 
			
		||||
    weight: 16
 | 
			
		||||
    identifier: "reverse-proxies"
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
##  Using Nginx as a reverse proxy
 | 
			
		||||
If you want Nginx to serve your Gitea instance you can the following `server` section inside the `http` section of `nginx.conf`:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
server {
 | 
			
		||||
    listen 80;
 | 
			
		||||
    server_name git.example.com;
 | 
			
		||||
 | 
			
		||||
    location / {
 | 
			
		||||
        proxy_pass http://localhost:3000;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
## Using Nginx with a Sub-path as a reverse proxy
 | 
			
		||||
 | 
			
		||||
In case you already have a site, and you want Gitea to share the domain name, you can setup Nginx to serve Gitea under a sub-path by adding the following `server` section inside the `http` section of `nginx.conf`:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
server {
 | 
			
		||||
    listen 80;
 | 
			
		||||
    server_name git.example.com;
 | 
			
		||||
 | 
			
		||||
    location /git/ { # Note: Trailing slash
 | 
			
		||||
        proxy_pass http://localhost:3000/; # Note: Trailing slash
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Then set `[server] ROOT_URL = http://git.example.com/git/` in your configuration.
 | 
			
		||||
 | 
			
		||||
## Using Apache HTTPD as a reverse proxy
 | 
			
		||||
 | 
			
		||||
If you want Apache HTTPD to serve your Gitea instance you can add the following to you Apache HTTPD configuration (usually located at `/etc/apache2/httpd.conf` in Ubuntu):
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
<VirtualHost *:80>
 | 
			
		||||
    ...
 | 
			
		||||
    ProxyPreserveHost On
 | 
			
		||||
    ProxyRequests off
 | 
			
		||||
    ProxyPass / http://localhost:3000/
 | 
			
		||||
    ProxyPassReverse / http://localhost:3000/
 | 
			
		||||
</VirtualHost>
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Note: The following Apache HTTPD mods must be enabled: `proxy`, `proxy_http`
 | 
			
		||||
 | 
			
		||||
## Using Apache HTTPD with a Sub-path as a reverse proxy
 | 
			
		||||
 | 
			
		||||
In case you already have a site, and you want Gitea to share the domain name, you can setup Apache HTTPD to serve Gitea under a sub-path by adding the following to you Apache HTTPD configuration (usually located at `/etc/apache2/httpd.conf` in Ubuntu):
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
<VirtualHost *:80>
 | 
			
		||||
    ...
 | 
			
		||||
    <Proxy *>
 | 
			
		||||
         Order allow,deny
 | 
			
		||||
         Allow from all
 | 
			
		||||
    </Proxy>
 | 
			
		||||
 | 
			
		||||
    ProxyPass /git http://localhost:3000 # Note: no trailing slash after either /git or port
 | 
			
		||||
    ProxyPassReverse /git http://localhost:3000 # Note: no trailing slash after either /git or port
 | 
			
		||||
</VirtualHost>
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Then set `[server] ROOT_URL = http://git.example.com/git/` in your configuration.
 | 
			
		||||
 | 
			
		||||
Note: The following Apache HTTPD mods must be enabled: `proxy`, `proxy_http`
 | 
			
		||||
 | 
			
		||||
## Using Caddy with a Sub-path as a reverse proxy
 | 
			
		||||
 | 
			
		||||
If you want Caddy to serve your Gitea instance you can add the following server block to your Caddyfile:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
git.example.com {
 | 
			
		||||
    proxy / http://localhost:3000
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
##### How do I set up a sub-path with Caddy?
 | 
			
		||||
 | 
			
		||||
In case you already have a site, and you want Gitea to share the domain name, you can setup Caddy to serve Gitea under a sub-path by adding the following to you server block in your Caddyfile:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
git.example.com {
 | 
			
		||||
    proxy /git/ http://localhost:3000 # Note: Trailing Slash after /git/
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
@@ -494,7 +494,14 @@ func (t *HookTask) AfterLoad() {
 | 
			
		||||
 | 
			
		||||
	t.RequestInfo = &HookRequest{}
 | 
			
		||||
	if err := json.Unmarshal([]byte(t.RequestContent), t.RequestInfo); err != nil {
 | 
			
		||||
		log.Error(3, "Unmarshal[%d]: %v", t.ID, err)
 | 
			
		||||
		log.Error(3, "Unmarshal RequestContent[%d]: %v", t.ID, err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if len(t.ResponseContent) > 0 {
 | 
			
		||||
		t.ResponseInfo = &HookResponse{}
 | 
			
		||||
		if err := json.Unmarshal([]byte(t.ResponseContent), t.ResponseInfo); err != nil {
 | 
			
		||||
			log.Error(3, "Unmarshal ResponseContent[%d]: %v", t.ID, err)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -665,6 +672,10 @@ func (t *HookTask) deliver() {
 | 
			
		||||
			log.Trace("Hook delivery failed: %s", t.UUID)
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if err := UpdateHookTask(t); err != nil {
 | 
			
		||||
			log.Error(4, "UpdateHookTask [%d]: %v", t.ID, err)
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		// Update webhook last delivery status.
 | 
			
		||||
		w, err := GetWebhookByID(t.HookID)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
@@ -717,10 +728,6 @@ func DeliverHooks() {
 | 
			
		||||
	// Update hook task status.
 | 
			
		||||
	for _, t := range tasks {
 | 
			
		||||
		t.deliver()
 | 
			
		||||
 | 
			
		||||
		if err := UpdateHookTask(t); err != nil {
 | 
			
		||||
			log.Error(4, "UpdateHookTask [%d]: %v", t.ID, err)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Start listening on new hook requests.
 | 
			
		||||
@@ -741,10 +748,6 @@ func DeliverHooks() {
 | 
			
		||||
		}
 | 
			
		||||
		for _, t := range tasks {
 | 
			
		||||
			t.deliver()
 | 
			
		||||
			if err := UpdateHookTask(t); err != nil {
 | 
			
		||||
				log.Error(4, "UpdateHookTask [%d]: %v", t.ID, err)
 | 
			
		||||
				continue
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -59,7 +59,6 @@ test_git_failed=Неуспешно тестването на "git" команд
 | 
			
		||||
[home]
 | 
			
		||||
password_holder=Парола
 | 
			
		||||
switch_dashboard_context=Превключи контекст на таблото
 | 
			
		||||
my_repos=Моите хранилища
 | 
			
		||||
collaborative_repos=Съвместни хранилища
 | 
			
		||||
my_orgs=Моите организации
 | 
			
		||||
my_mirrors=Моите огледала
 | 
			
		||||
 
 | 
			
		||||
@@ -59,7 +59,6 @@ test_git_failed=Chyba při testu příkazu 'git': %v
 | 
			
		||||
[home]
 | 
			
		||||
password_holder=Heslo
 | 
			
		||||
switch_dashboard_context=Přepnout kontext přehledu
 | 
			
		||||
my_repos=Mé repositáře
 | 
			
		||||
collaborative_repos=Společné repositáře
 | 
			
		||||
my_orgs=Mé organizace
 | 
			
		||||
my_mirrors=Má zrcadla
 | 
			
		||||
 
 | 
			
		||||
@@ -168,7 +168,6 @@ no_reply_address_helper=Domain-Namen für Benutzer mit einer versteckten Emailad
 | 
			
		||||
uname_holder=E-Mail-Adresse oder Benutzername
 | 
			
		||||
password_holder=Passwort
 | 
			
		||||
switch_dashboard_context=Kontext der Übersichtsseite wechseln
 | 
			
		||||
my_repos=Meine Repositories
 | 
			
		||||
show_more_repos=Zeige mehr Repositories…
 | 
			
		||||
collaborative_repos=Gemeinschaftliche Repositories
 | 
			
		||||
my_orgs=Meine Organisationen
 | 
			
		||||
@@ -463,7 +462,6 @@ then_enter_passcode=Und gebe dann die angezeigte PIN der Anwendung ein:
 | 
			
		||||
passcode_invalid=Die PIN ist falsch. Probiere es erneut.
 | 
			
		||||
twofa_enrolled=Die Zwei-Faktor-Authentifizierung wurde für dein Konto aktiviert. Bewahre dein Einmalpasswort (%s) an einem sicheren Ort auf, da es nicht wieder angezeigt werden wird.
 | 
			
		||||
 | 
			
		||||
u2f_desc=Hardware-Sicherheitsschlüssel sind Geräte, die kryptografische Schlüssel beinhalten. Diese können für die Zwei-Faktor-Authentifizierung verwendet werden. Der Sicherheitsschlüssel muss den <a href="https://fidoalliance.org/">FIDO U2F</a>-Standard unterstützen.
 | 
			
		||||
u2f_require_twofa=Du musst die Zwei-Faktor-Authentifizierung aktivieren, um Hardware-Sicherheitsschlüssel nutzen zu können.
 | 
			
		||||
u2f_register_key=Sicherheitsschlüssel hinzufügen
 | 
			
		||||
u2f_nickname=Nickname
 | 
			
		||||
 
 | 
			
		||||
@@ -69,7 +69,6 @@ save_config_failed=Error al guardar la configuración: %v
 | 
			
		||||
[home]
 | 
			
		||||
password_holder=Contraseña
 | 
			
		||||
switch_dashboard_context=Cambiar el contexto del Dashboard
 | 
			
		||||
my_repos=Mis repositorios
 | 
			
		||||
collaborative_repos=Repositorios colaborativos
 | 
			
		||||
my_orgs=Mis organizaciones
 | 
			
		||||
my_mirrors=Mis réplicas
 | 
			
		||||
 
 | 
			
		||||
@@ -61,7 +61,6 @@ test_git_failed=Epäonnistui testata 'git' komentoa: %v
 | 
			
		||||
[home]
 | 
			
		||||
password_holder=Salasana
 | 
			
		||||
switch_dashboard_context=Vaihda kojelaudan kontekstia
 | 
			
		||||
my_repos=Reponi
 | 
			
		||||
collaborative_repos=Yhteistyö repot
 | 
			
		||||
my_orgs=Organisaationi
 | 
			
		||||
my_mirrors=Peilini
 | 
			
		||||
 
 | 
			
		||||
@@ -70,7 +70,6 @@ save_config_failed=L'enregistrement de la configuration %v a échoué
 | 
			
		||||
[home]
 | 
			
		||||
password_holder=Mot de passe
 | 
			
		||||
switch_dashboard_context=Basculer le contexte du tableau de bord
 | 
			
		||||
my_repos=Mes dépôts
 | 
			
		||||
collaborative_repos=Dépôts collaboratifs
 | 
			
		||||
my_orgs=Mes organisations
 | 
			
		||||
my_mirrors=Mes miroirs
 | 
			
		||||
 
 | 
			
		||||
@@ -71,7 +71,6 @@ save_config_failed=Hiba történt a konfiguráció mentése közben: %v
 | 
			
		||||
[home]
 | 
			
		||||
password_holder=Jelszó
 | 
			
		||||
switch_dashboard_context=Műszerfal nézőpont váltás
 | 
			
		||||
my_repos=Tárolóim
 | 
			
		||||
show_more_repos=Több tároló mutatása…
 | 
			
		||||
collaborative_repos=Együttműködési tárolók
 | 
			
		||||
my_orgs=Szervezeteim
 | 
			
		||||
 
 | 
			
		||||
@@ -70,7 +70,6 @@ save_config_failed=Gagal menyimpan konfigurasi: %v
 | 
			
		||||
[home]
 | 
			
		||||
password_holder=Kata Sandi
 | 
			
		||||
switch_dashboard_context=Alihkan Dasbor Konteks
 | 
			
		||||
my_repos=Repositori Saya
 | 
			
		||||
collaborative_repos=Repositori Kolaboratif
 | 
			
		||||
my_orgs=Organisasi Saya
 | 
			
		||||
my_mirrors=Duplikat Saya
 | 
			
		||||
 
 | 
			
		||||
@@ -70,7 +70,6 @@ save_config_failed=Salvataggio della configurazione non riuscito: %v
 | 
			
		||||
[home]
 | 
			
		||||
password_holder=Password
 | 
			
		||||
switch_dashboard_context=Cambia Dashboard Context
 | 
			
		||||
my_repos=I miei Repository
 | 
			
		||||
collaborative_repos=Repository Condivisi
 | 
			
		||||
my_orgs=Le mie Organizzazioni
 | 
			
		||||
my_mirrors=I miei Mirror
 | 
			
		||||
 
 | 
			
		||||
@@ -71,7 +71,6 @@ save_config_failed=設定ファイルの保存に失敗しました: %v
 | 
			
		||||
[home]
 | 
			
		||||
password_holder=パスワード
 | 
			
		||||
switch_dashboard_context=ダッシュ ボードのコンテキストを切替
 | 
			
		||||
my_repos=自分のリポジトリ
 | 
			
		||||
show_more_repos=リポジトリをさらに表示…
 | 
			
		||||
collaborative_repos=共同リポジトリ
 | 
			
		||||
my_orgs=自分の組織
 | 
			
		||||
 
 | 
			
		||||
@@ -70,7 +70,6 @@ save_config_failed=설정을 저장할 수 없습니다: %v
 | 
			
		||||
[home]
 | 
			
		||||
password_holder=비밀번호
 | 
			
		||||
switch_dashboard_context=대시보드 컨텍스트 바꾸기
 | 
			
		||||
my_repos=내 저장소
 | 
			
		||||
collaborative_repos=협업 저장소
 | 
			
		||||
my_orgs=내 조직
 | 
			
		||||
my_mirrors=내 미러 저장소들
 | 
			
		||||
 
 | 
			
		||||
@@ -56,7 +56,6 @@ confirm_password=Patvirtinkite slaptažodį
 | 
			
		||||
 | 
			
		||||
[home]
 | 
			
		||||
password_holder=Slaptažodis
 | 
			
		||||
my_repos=Mano saugyklos
 | 
			
		||||
my_orgs=Mano organizacijos
 | 
			
		||||
my_mirrors=Mano veidrodžiai
 | 
			
		||||
view_home=Rodyti %s
 | 
			
		||||
 
 | 
			
		||||
@@ -71,7 +71,6 @@ save_config_failed=Neizdevās saglabāt konfigurāciju: %v
 | 
			
		||||
[home]
 | 
			
		||||
password_holder=Parole
 | 
			
		||||
switch_dashboard_context=Mainīt infopaneļa kontekstu
 | 
			
		||||
my_repos=Mani repozitoriji
 | 
			
		||||
show_more_repos=Parādīt vairāk repozitorijus…
 | 
			
		||||
collaborative_repos=Sadarbības repozitoriji
 | 
			
		||||
my_orgs=Manas organizācijas
 | 
			
		||||
 
 | 
			
		||||
@@ -71,7 +71,6 @@ save_config_failed=Kan de configuratie niet opslaan: %v
 | 
			
		||||
[home]
 | 
			
		||||
password_holder=Wachtwoord
 | 
			
		||||
switch_dashboard_context=Wissel voorpaginacontext
 | 
			
		||||
my_repos=Mijn repositories
 | 
			
		||||
show_more_repos=Toon meer repositories…
 | 
			
		||||
collaborative_repos=Gedeelde repositories
 | 
			
		||||
my_orgs=Mijn organisaties
 | 
			
		||||
 
 | 
			
		||||
@@ -70,7 +70,6 @@ save_config_failed=Nie udało się zapisać konfiguracji: %v
 | 
			
		||||
[home]
 | 
			
		||||
password_holder=Hasło
 | 
			
		||||
switch_dashboard_context=Przełącz kontekst pulpitu
 | 
			
		||||
my_repos=Moje repozytoria
 | 
			
		||||
collaborative_repos=Wspólne repozytoria
 | 
			
		||||
my_orgs=Moje organizacje
 | 
			
		||||
my_mirrors=Moje kopie lustrzane
 | 
			
		||||
 
 | 
			
		||||
@@ -168,7 +168,7 @@ no_reply_address_helper=Nome de domínio para usuários com um endereço de e-ma
 | 
			
		||||
uname_holder=Usuário ou e-mail
 | 
			
		||||
password_holder=Senha
 | 
			
		||||
switch_dashboard_context=Trocar contexto do painel de controle
 | 
			
		||||
my_repos=Meus repositórios
 | 
			
		||||
my_repos=Repositórios
 | 
			
		||||
show_more_repos=Mostrar mais repositórios…
 | 
			
		||||
collaborative_repos=Repositórios colaborativos
 | 
			
		||||
my_orgs=Minhas organizações
 | 
			
		||||
 
 | 
			
		||||
@@ -159,7 +159,6 @@ no_reply_address=Скрытый почтовый домен
 | 
			
		||||
uname_holder=Имя пользователя / Email
 | 
			
		||||
password_holder=Пароль
 | 
			
		||||
switch_dashboard_context=Переключить контекст панели управления
 | 
			
		||||
my_repos=Мои репозитории
 | 
			
		||||
show_more_repos=Показать больше репозиториев…
 | 
			
		||||
collaborative_repos=Совместные репозитории
 | 
			
		||||
my_orgs=Мои организации
 | 
			
		||||
 
 | 
			
		||||
@@ -59,7 +59,6 @@ test_git_failed=Команда 'git' није успела: %v
 | 
			
		||||
[home]
 | 
			
		||||
password_holder=Лозинка
 | 
			
		||||
switch_dashboard_context=Пребаците контекст контролној панели
 | 
			
		||||
my_repos=Моја спремишта
 | 
			
		||||
collaborative_repos=Заједничка спремишта
 | 
			
		||||
my_orgs=Моје организације
 | 
			
		||||
my_mirrors=Моја огледала
 | 
			
		||||
 
 | 
			
		||||
@@ -70,7 +70,6 @@ save_config_failed=Misslyckades att spara konfigurationen: %v
 | 
			
		||||
[home]
 | 
			
		||||
password_holder=Lösenord
 | 
			
		||||
switch_dashboard_context=Växla Visad Instrumentpanel
 | 
			
		||||
my_repos=Mina utvecklingskataloger
 | 
			
		||||
collaborative_repos=Kollaborativa Utvecklingskataloger
 | 
			
		||||
my_orgs=Mina organisationer
 | 
			
		||||
my_mirrors=Mina speglar
 | 
			
		||||
 
 | 
			
		||||
@@ -70,7 +70,6 @@ save_config_failed=%v Yapılandırması kaydedilirken hata oluştu
 | 
			
		||||
[home]
 | 
			
		||||
password_holder=Parola
 | 
			
		||||
switch_dashboard_context=Panoya Geçiş Yap
 | 
			
		||||
my_repos=Depolarım
 | 
			
		||||
collaborative_repos=Katkıya Açık Depolar
 | 
			
		||||
my_orgs=Organizasyonlarım
 | 
			
		||||
my_mirrors=Yansılarım
 | 
			
		||||
 
 | 
			
		||||
@@ -147,7 +147,7 @@ no_reply_address=Прихований поштовий домен
 | 
			
		||||
uname_holder=Ім'я користувача або Ел. пошта
 | 
			
		||||
password_holder=Пароль
 | 
			
		||||
switch_dashboard_context=Змінити дошку
 | 
			
		||||
my_repos=Мої репозиторії
 | 
			
		||||
my_repos=Репозиторії
 | 
			
		||||
show_more_repos=Показати більше репозиторіїв…
 | 
			
		||||
collaborative_repos=Спільні репозиторії
 | 
			
		||||
my_orgs=Мої організації
 | 
			
		||||
@@ -626,10 +626,13 @@ issues.cancel_tracking_history=`скасував відстеження часу
 | 
			
		||||
issues.time_spent_total=Загальний витрачений час
 | 
			
		||||
issues.time_spent_from_all_authors=`Загальний витрачений час: %s`
 | 
			
		||||
issues.due_date=Дата завершення
 | 
			
		||||
issues.due_date_form=рррр-мм-дд
 | 
			
		||||
issues.due_date_form_add=Додати дату завершення
 | 
			
		||||
issues.due_date_form_update=Оновити дату завершення
 | 
			
		||||
issues.due_date_form_remove=Видалити дату завершення
 | 
			
		||||
issues.due_date_not_set=Термін виконання не встановлений.
 | 
			
		||||
issues.due_date_added=додав(ла) дату завершення %s %s
 | 
			
		||||
issues.due_date_overdue=Прострочено
 | 
			
		||||
 | 
			
		||||
pulls.new=Новий запит на злиття
 | 
			
		||||
pulls.compare_changes=Новий запит на злиття
 | 
			
		||||
@@ -792,6 +795,7 @@ settings.webhook.body=Тіло
 | 
			
		||||
settings.githook_name=Ім'я хуку
 | 
			
		||||
settings.githook_content=Зміст хука
 | 
			
		||||
settings.update_githook=Оновити хук
 | 
			
		||||
settings.payload_url=Цільова URL-адреса
 | 
			
		||||
settings.secret=Секрет
 | 
			
		||||
settings.slack_username=Ім'я кристувача
 | 
			
		||||
settings.slack_icon_url=URL іконки
 | 
			
		||||
@@ -842,6 +846,7 @@ settings.protected_branch_can_push=Дозволити push?
 | 
			
		||||
settings.protected_branch_can_push_yes=Ви можете виконувати push
 | 
			
		||||
settings.protected_branch_can_push_no=Ви не можете виконувати push
 | 
			
		||||
settings.protect_whitelist_search_users=Пошук користувачів…
 | 
			
		||||
settings.protect_whitelist_search_teams=Пошук команд…
 | 
			
		||||
settings.add_protected_branch=Увімкнути захист
 | 
			
		||||
settings.delete_protected_branch=Вимкнути захист
 | 
			
		||||
settings.choose_branch=Оберіть гілку…
 | 
			
		||||
@@ -1218,17 +1223,17 @@ notices.desc=Опис
 | 
			
		||||
notices.op=Оп.
 | 
			
		||||
 | 
			
		||||
[action]
 | 
			
		||||
create_repo=створено репозиторій <a href="%s">%s</a>
 | 
			
		||||
create_repo=створив(ла) репозиторій <a href="%s">%s</a>
 | 
			
		||||
rename_repo=репозиторій перейменовано з <code>%[1]s</code> на <a href="%[2]s">%[3]s</a>
 | 
			
		||||
commit_repo=виконав(ла) push в <a href="%[1]s/src/%[2]s">%[3]s</a> у <a href="%[1]s">%[4]s</a>
 | 
			
		||||
create_issue=`відкрив(ла) проблему <a href="%s/issues/%s">%s#%[2]s</a>`
 | 
			
		||||
close_issue=`закрито проблему <a href="%s/issues/%s">%s#%[2]s</a>`
 | 
			
		||||
reopen_issue=`повторно відкрив(ла) проблему <a href="%s/issues/%s">%s#%[2]s</a>`
 | 
			
		||||
create_pull_request=`створено запити на злиття <a href="%s/pulls/%s">%s#%[2]s</a>`
 | 
			
		||||
close_pull_request=`закрито запит на злиття <a href="%s/pulls/%s">%s#%[2]s</a>`
 | 
			
		||||
create_pull_request=`створив(ла) запити на злиття <a href="%s/pulls/%s">%s#%[2]s</a>`
 | 
			
		||||
close_pull_request=`закрив(ла) запит на злиття <a href="%s/pulls/%s">%s#%[2]s</a>`
 | 
			
		||||
reopen_pull_request=`повторно відкрито запит на злиття <a href="%s/pulls/%s">%s#%[2]s</a>`
 | 
			
		||||
comment_issue=`прокоментував(ла) проблему <a href="%s/issues/%s">%s#%[2]s</a>`
 | 
			
		||||
merge_pull_request=`запит на злиття злито <a href="%s/pulls/%s">%s#%[2]s</a>`
 | 
			
		||||
merge_pull_request=`злив(ла) запит на злиття <a href="%s/pulls/%s">%s#%[2]s</a>`
 | 
			
		||||
transfer_repo=перенесено репозиторій <code>%s</code> у <a href="%s">%s</a>
 | 
			
		||||
push_tag=створив(ла) тег <a href="%s/src/%s">%[2]s</a> в <a href="%[1]s">%[3]s</a>
 | 
			
		||||
delete_tag=видалено мітку %[2]s з <a href="%[1]s">%[3]s</a>
 | 
			
		||||
 
 | 
			
		||||
@@ -168,7 +168,6 @@ no_reply_address_helper=具有隐藏电子邮件地址的用户的域名。例
 | 
			
		||||
uname_holder=登录名或电子邮箱地址
 | 
			
		||||
password_holder=密码
 | 
			
		||||
switch_dashboard_context=切换控制面板用户
 | 
			
		||||
my_repos=我的仓库
 | 
			
		||||
show_more_repos=显示更多仓库…
 | 
			
		||||
collaborative_repos=参与协作的仓库
 | 
			
		||||
my_orgs=我的组织
 | 
			
		||||
@@ -463,7 +462,6 @@ then_enter_passcode=并输入应用程序中显示的密码:
 | 
			
		||||
passcode_invalid=密码不正确。再试一次。
 | 
			
		||||
twofa_enrolled=你的账号已经启用了两步验证。请保存初始令牌(%s)到一个安全的地方,此令牌仅当前显示一次。
 | 
			
		||||
 | 
			
		||||
u2f_desc=安全密钥是包含加密算法的硬件设备。它们可以用于两步验证。安全密钥必须支持 <a href="https://fidoalliance.org/">FIDO U2F</a> 标准。
 | 
			
		||||
u2f_require_twofa=必须开启两步验证才能使用安全密钥。
 | 
			
		||||
u2f_register_key=添加安全密钥
 | 
			
		||||
u2f_nickname=昵称
 | 
			
		||||
 
 | 
			
		||||
@@ -67,7 +67,6 @@ save_config_failed=儲存設定失敗:%v
 | 
			
		||||
[home]
 | 
			
		||||
password_holder=密碼
 | 
			
		||||
switch_dashboard_context=切換控制面版用戶
 | 
			
		||||
my_repos=我的儲存庫
 | 
			
		||||
collaborative_repos=參與協作的儲存庫
 | 
			
		||||
my_orgs=我的組織
 | 
			
		||||
my_mirrors=我的鏡像
 | 
			
		||||
 
 | 
			
		||||
@@ -70,7 +70,6 @@ save_config_failed=儲存設定失敗:%v
 | 
			
		||||
[home]
 | 
			
		||||
password_holder=密碼
 | 
			
		||||
switch_dashboard_context=切換控制面版用戶
 | 
			
		||||
my_repos=我的儲存庫
 | 
			
		||||
collaborative_repos=參與協作的儲存庫
 | 
			
		||||
my_orgs=我的組織
 | 
			
		||||
my_mirrors=我的鏡像
 | 
			
		||||
 
 | 
			
		||||
@@ -25,7 +25,7 @@ import (
 | 
			
		||||
const (
 | 
			
		||||
	tplHooks      base.TplName = "repo/settings/webhook/base"
 | 
			
		||||
	tplHookNew    base.TplName = "repo/settings/webhook/new"
 | 
			
		||||
	tplOrgHookNew base.TplName = "org/settings/webhook/new"
 | 
			
		||||
	tplOrgHookNew base.TplName = "org/settings/hook_new"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// Webhooks render web hooks list page
 | 
			
		||||
 
 | 
			
		||||
@@ -23,14 +23,14 @@
 | 
			
		||||
					</div>
 | 
			
		||||
				</h4>
 | 
			
		||||
				<div class="ui attached segment">
 | 
			
		||||
					{{template "repo/settings/hook_gitea" .}}
 | 
			
		||||
					{{template "repo/settings/hook_gogs" .}}
 | 
			
		||||
					{{template "repo/settings/hook_slack" .}}
 | 
			
		||||
					{{template "repo/settings/hook_discord" .}}
 | 
			
		||||
					{{template "repo/settings/hook_dingtalk" .}}
 | 
			
		||||
					{{template "repo/settings/webhook/gitea" .}}
 | 
			
		||||
					{{template "repo/settings/webhook/gogs" .}}
 | 
			
		||||
					{{template "repo/settings/webhook/slack" .}}
 | 
			
		||||
					{{template "repo/settings/webhook/discord" .}}
 | 
			
		||||
					{{template "repo/settings/webhook/dingtalk" .}}
 | 
			
		||||
				</div>
 | 
			
		||||
 | 
			
		||||
				{{template "repo/settings/hook_history" .}}
 | 
			
		||||
				{{template "repo/settings/webhook/history" .}}
 | 
			
		||||
			</div>
 | 
			
		||||
		</div>
 | 
			
		||||
	</div>
 | 
			
		||||
 
 | 
			
		||||
@@ -5,7 +5,7 @@
 | 
			
		||||
		<div class="ui grid">
 | 
			
		||||
			{{template "org/settings/navbar" .}}
 | 
			
		||||
			<div class="twelve wide column content">
 | 
			
		||||
				{{template "repo/settings/hook_list" .}}
 | 
			
		||||
				{{template "repo/settings/webhook/list" .}}
 | 
			
		||||
			</div>
 | 
			
		||||
		</div>
 | 
			
		||||
	</div>
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user