Browse Source

Merge pull request #1 from gogits/master

merge
pull/4872/head
lzlin 7 years ago committed by GitHub
parent
commit
6bb80416a6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 24
      Dockerfile
  2. 24
      Dockerfile.aarch64
  3. 24
      Dockerfile.rpi
  4. 24
      Dockerfile.rpihub
  5. 2
      README.md
  6. 113
      cmd/admin.go
  7. 10
      cmd/hook.go
  8. 4
      cmd/web.go
  9. 4
      conf/app.ini
  10. 114
      conf/locale/locale_bg-BG.ini
  11. 4
      conf/locale/locale_cs-CZ.ini
  12. 10
      conf/locale/locale_de-DE.ini
  13. 2
      conf/locale/locale_en-GB.ini
  14. 1
      conf/locale/locale_en-US.ini
  15. 30
      conf/locale/locale_es-ES.ini
  16. 2
      conf/locale/locale_fi-FI.ini
  17. 24
      conf/locale/locale_fr-FR.ini
  18. 2
      conf/locale/locale_gl-ES.ini
  19. 30
      conf/locale/locale_hu-HU.ini
  20. 38
      conf/locale/locale_it-IT.ini
  21. 278
      conf/locale/locale_ja-JP.ini
  22. 46
      conf/locale/locale_ko-KR.ini
  23. 2
      conf/locale/locale_lv-LV.ini
  24. 32
      conf/locale/locale_nl-NL.ini
  25. 2
      conf/locale/locale_pl-PL.ini
  26. 122
      conf/locale/locale_pt-BR.ini
  27. 12
      conf/locale/locale_ru-RU.ini
  28. 118
      conf/locale/locale_sr-SP.ini
  29. 56
      conf/locale/locale_sv-SE.ini
  30. 2
      conf/locale/locale_tr-TR.ini
  31. 2
      conf/locale/locale_uk-UA.ini
  32. 6
      conf/locale/locale_zh-CN.ini
  33. 2
      conf/locale/locale_zh-HK.ini
  34. 2
      conf/locale/locale_zh-TW.ini
  35. 3
      docker/build.sh
  36. 3
      docker/finalize.sh
  37. 8
      docker/start.sh
  38. 2
      gogs.go
  39. 3
      models/action.go
  40. 6
      models/comment.go
  41. 3
      models/issue_mail.go
  42. 2
      models/migrations/v15.go
  43. 4
      models/user.go
  44. 6
      models/webhook.go
  45. 260
      models/webhook_dingtalk.go
  46. 104
      pkg/bindata/bindata.go
  47. 9
      pkg/form/repo.go
  48. 12
      pkg/mailer/mail.go
  49. 19
      pkg/mailer/mailer.go
  50. 24
      pkg/setting/setting.go
  51. 3
      pkg/template/template.go
  52. 11
      public/config.codekit
  53. BIN
      public/img/dingtalk.png
  54. 3
      routes/api/v1/user/user.go
  55. 71
      routes/repo/webhook.go
  56. 2
      routes/user/auth.go
  57. 2
      templates/.VERSION
  58. 1
      templates/org/settings/webhook_new.tmpl
  59. 3
      templates/repo/editor/commit_form.tmpl
  60. 2
      templates/repo/issue/view_title.tmpl
  61. 11
      templates/repo/settings/webhook/dingtalk.tmpl
  62. 4
      templates/repo/settings/webhook/list.tmpl
  63. 1
      templates/repo/settings/webhook/new.tmpl

24
Dockerfile

@ -3,20 +3,34 @@ FROM alpine:3.5
# Install system utils & Gogs runtime dependencies # Install system utils & Gogs runtime dependencies
ADD https://github.com/tianon/gosu/releases/download/1.9/gosu-amd64 /usr/sbin/gosu ADD https://github.com/tianon/gosu/releases/download/1.9/gosu-amd64 /usr/sbin/gosu
RUN chmod +x /usr/sbin/gosu \ RUN chmod +x /usr/sbin/gosu \
&& apk --no-cache --no-progress add ca-certificates bash git linux-pam s6 curl openssh socat tzdata && echo http://dl-2.alpinelinux.org/alpine/edge/community/ >> /etc/apk/repositories \
&& apk --no-cache --no-progress add \
bash \
ca-certificates \
curl \
git \
linux-pam \
openssh \
s6 \
shadow \
socat \
tzdata
ENV GOGS_CUSTOM /data/gogs ENV GOGS_CUSTOM /data/gogs
COPY . /app/gogs/build # Configure LibC Name Service
COPY docker/nsswitch.conf /etc/nsswitch.conf
COPY docker /app/gogs/docker
COPY templates /app/gogs/templates
COPY public /app/gogs/public
WORKDIR /app/gogs/build WORKDIR /app/gogs/build
COPY . .
RUN ./docker/build-go.sh \ RUN ./docker/build-go.sh \
&& ./docker/build.sh \ && ./docker/build.sh \
&& ./docker/finalize.sh && ./docker/finalize.sh
# Configure LibC Name Service
COPY docker/nsswitch.conf /etc/nsswitch.conf
# Configure Docker Container # Configure Docker Container
VOLUME ["/data"] VOLUME ["/data"]
EXPOSE 22 3000 EXPOSE 22 3000

24
Dockerfile.aarch64

@ -3,20 +3,34 @@ FROM aarch64/alpine:3.5
# Install system utils & Gogs runtime dependencies # Install system utils & Gogs runtime dependencies
ADD https://github.com/tianon/gosu/releases/download/1.9/gosu-arm64 /usr/sbin/gosu ADD https://github.com/tianon/gosu/releases/download/1.9/gosu-arm64 /usr/sbin/gosu
RUN chmod +x /usr/sbin/gosu \ RUN chmod +x /usr/sbin/gosu \
&& apk --no-cache --no-progress add ca-certificates bash git linux-pam s6 curl openssh socat tzdata && echo http://dl-2.alpinelinux.org/alpine/edge/community/ >> /etc/apk/repositories \
&& apk --no-cache --no-progress add \
bash \
ca-certificates \
curl \
git \
linux-pam \
openssh \
s6 \
shadow \
socat \
tzdata
ENV GOGS_CUSTOM /data/gogs ENV GOGS_CUSTOM /data/gogs
COPY . /app/gogs/build # Configure LibC Name Service
COPY docker/nsswitch.conf /etc/nsswitch.conf
COPY docker /app/gogs/docker
COPY templates /app/gogs/templates
COPY public /app/gogs/public
WORKDIR /app/gogs/build WORKDIR /app/gogs/build
COPY . .
RUN ./docker/build-go.sh \ RUN ./docker/build-go.sh \
&& ./docker/build.sh \ && ./docker/build.sh \
&& ./docker/finalize.sh && ./docker/finalize.sh
# Configure LibC Name Service
COPY docker/nsswitch.conf /etc/nsswitch.conf
# Configure Docker Container # Configure Docker Container
VOLUME ["/data"] VOLUME ["/data"]
EXPOSE 22 3000 EXPOSE 22 3000

24
Dockerfile.rpi

@ -3,20 +3,34 @@ FROM armhf/alpine:3.5
# Install system utils & Gogs runtime dependencies # Install system utils & Gogs runtime dependencies
ADD https://github.com/tianon/gosu/releases/download/1.9/gosu-armhf /usr/sbin/gosu ADD https://github.com/tianon/gosu/releases/download/1.9/gosu-armhf /usr/sbin/gosu
RUN chmod +x /usr/sbin/gosu \ RUN chmod +x /usr/sbin/gosu \
&& apk --no-cache --no-progress add ca-certificates bash git linux-pam s6 curl openssh socat tzdata && echo http://dl-2.alpinelinux.org/alpine/edge/community/ >> /etc/apk/repositories \
&& apk --no-cache --no-progress add \
bash \
ca-certificates \
curl \
git \
linux-pam \
openssh \
s6 \
shadow \
socat \
tzdata
ENV GOGS_CUSTOM /data/gogs ENV GOGS_CUSTOM /data/gogs
COPY . /app/gogs/build # Configure LibC Name Service
COPY docker/nsswitch.conf /etc/nsswitch.conf
COPY docker /app/gogs/docker
COPY templates /app/gogs/templates
COPY public /app/gogs/public
WORKDIR /app/gogs/build WORKDIR /app/gogs/build
COPY . .
RUN ./docker/build-go.sh \ RUN ./docker/build-go.sh \
&& ./docker/build.sh \ && ./docker/build.sh \
&& ./docker/finalize.sh && ./docker/finalize.sh
# Configure LibC Name Service
COPY docker/nsswitch.conf /etc/nsswitch.conf
# Configure Docker Container # Configure Docker Container
VOLUME ["/data"] VOLUME ["/data"]
EXPOSE 22 3000 EXPOSE 22 3000

24
Dockerfile.rpihub

@ -19,18 +19,32 @@ RUN [ "cross-build-start" ]
# Install system utils & Gogs runtime dependencies # Install system utils & Gogs runtime dependencies
ADD https://github.com/tianon/gosu/releases/download/1.9/gosu-armhf /usr/sbin/gosu ADD https://github.com/tianon/gosu/releases/download/1.9/gosu-armhf /usr/sbin/gosu
RUN chmod +x /usr/sbin/gosu \ RUN chmod +x /usr/sbin/gosu \
&& apk --no-cache --no-progress add ca-certificates bash git linux-pam s6 curl openssh socat tzdata && echo http://dl-2.alpinelinux.org/alpine/edge/community/ >> /etc/apk/repositories \
&& apk --no-cache --no-progress add \
bash \
ca-certificates \
curl \
git \
linux-pam \
openssh \
s6 \
shadow \
socat \
tzdata
# Configure LibC Name Service
COPY docker/nsswitch.conf /etc/nsswitch.conf
COPY docker /app/gogs/docker
COPY templates /app/gogs/templates
COPY public /app/gogs/public
COPY . /app/gogs/build
WORKDIR /app/gogs/build WORKDIR /app/gogs/build
COPY . .
RUN ./docker/build-go.sh \ RUN ./docker/build-go.sh \
&& ./docker/build.sh \ && ./docker/build.sh \
&& ./docker/finalize.sh && ./docker/finalize.sh
# Configure LibC Name Service
COPY docker/nsswitch.conf /etc/nsswitch.conf
# For cross compile on dockerhub # For cross compile on dockerhub
################################ ################################

2
README.md

@ -1,4 +1,4 @@
Gogs [![Build Status](https://travis-ci.org/gogits/gogs.svg?branch=master)](https://travis-ci.org/gogits/gogs) [![Build status](https://ci.appveyor.com/api/projects/status/b9uu5ejl933e2wlt/branch/master?svg=true)](https://ci.appveyor.com/project/Unknwon/gogs/branch/master) [![Crowdin](https://d322cqt584bo4o.cloudfront.net/gogs/localized.svg)](https://crowdin.com/project/gogs) [![Sourcegraph](https://sourcegraph.com/github.com/gogits/gogs/-/badge.svg)](https://sourcegraph.com/github.com/gogits/gogs?badge) [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/gogits/gogs?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) Gogs [![Build Status](https://travis-ci.org/gogits/gogs.svg?branch=master)](https://travis-ci.org/gogits/gogs) [![Build status](https://ci.appveyor.com/api/projects/status/b9uu5ejl933e2wlt/branch/master?svg=true)](https://ci.appveyor.com/project/Unknwon/gogs/branch/master) [![Crowdin](https://d322cqt584bo4o.cloudfront.net/gogs/localized.svg)](https://crowdin.com/project/gogs)
===================== =====================
![](https://github.com/gogits/gogs/blob/master/public/img/gogs-large-resize.png?raw=true) ![](https://github.com/gogits/gogs/blob/master/public/img/gogs-large-resize.png?raw=true)

113
cmd/admin.go

@ -6,6 +6,8 @@ package cmd
import ( import (
"fmt" "fmt"
"reflect"
"runtime"
"github.com/urfave/cli" "github.com/urfave/cli"
@ -21,6 +23,13 @@ var (
to make automatic initialization process more smoothly`, to make automatic initialization process more smoothly`,
Subcommands: []cli.Command{ Subcommands: []cli.Command{
subcmdCreateUser, subcmdCreateUser,
subcmdDeleteInactivateUsers,
subcmdDeleteRepositoryArchives,
subcmdDeleteMissingRepositories,
subcmdGitGcRepos,
subcmdRewriteAllPublicKeys,
subcmdSyncRepositoryHooks,
subcmdReinitMissingRepositories,
}, },
} }
@ -36,6 +45,90 @@ to make automatic initialization process more smoothly`,
stringFlag("config, c", "custom/conf/app.ini", "Custom configuration file path"), stringFlag("config, c", "custom/conf/app.ini", "Custom configuration file path"),
}, },
} }
subcmdDeleteInactivateUsers = cli.Command{
Name: "delete-inactive-users",
Usage: "Delete all inactive accounts",
Action: adminDashboardOperation(
models.DeleteInactivateUsers,
"All inactivate accounts have been deleted successfully",
),
Flags: []cli.Flag{
stringFlag("config, c", "custom/conf/app.ini", "Custom configuration file path"),
},
}
subcmdDeleteRepositoryArchives = cli.Command{
Name: "delete-repository-archives",
Usage: "Delete all repositories archives",
Action: adminDashboardOperation(
models.DeleteRepositoryArchives,
"All repositories archives have been deleted successfully",
),
Flags: []cli.Flag{
stringFlag("config, c", "custom/conf/app.ini", "Custom configuration file path"),
},
}
subcmdDeleteMissingRepositories = cli.Command{
Name: "delete-missing-repositories",
Usage: "Delete all repository records that lost Git files",
Action: adminDashboardOperation(
models.DeleteMissingRepositories,
"All repositories archives have been deleted successfully",
),
Flags: []cli.Flag{
stringFlag("config, c", "custom/conf/app.ini", "Custom configuration file path"),
},
}
subcmdGitGcRepos = cli.Command{
Name: "collect-garbage",
Usage: "Do garbage collection on repositories",
Action: adminDashboardOperation(
models.GitGcRepos,
"All repositories have done garbage collection successfully",
),
Flags: []cli.Flag{
stringFlag("config, c", "custom/conf/app.ini", "Custom configuration file path"),
},
}
subcmdRewriteAllPublicKeys = cli.Command{
Name: "rewrite-public-keys",
Usage: "Rewrite '.ssh/authorized_keys' file (caution: non-Gogs keys will be lost)",
Action: adminDashboardOperation(
models.RewriteAllPublicKeys,
"All public keys have been rewritten successfully",
),
Flags: []cli.Flag{
stringFlag("config, c", "custom/conf/app.ini", "Custom configuration file path"),
},
}
subcmdSyncRepositoryHooks = cli.Command{
Name: "resync-hooks",
Usage: "Resync pre-receive, update and post-receive hooks",
Action: adminDashboardOperation(
models.SyncRepositoryHooks,
"All repositories' pre-receive, update and post-receive hooks have been resynced successfully",
),
Flags: []cli.Flag{
stringFlag("config, c", "custom/conf/app.ini", "Custom configuration file path"),
},
}
subcmdReinitMissingRepositories = cli.Command{
Name: "reinit-missing-repositories",
Usage: "Reinitialize all repository records that lost Git files",
Action: adminDashboardOperation(
models.ReinitMissingRepositories,
"All repository records that lost Git files have been reinitialized successfully",
),
Flags: []cli.Flag{
stringFlag("config, c", "custom/conf/app.ini", "Custom configuration file path"),
},
}
) )
func runCreateUser(c *cli.Context) error { func runCreateUser(c *cli.Context) error {
@ -68,3 +161,23 @@ func runCreateUser(c *cli.Context) error {
fmt.Printf("New user '%s' has been successfully created!\n", c.String("name")) fmt.Printf("New user '%s' has been successfully created!\n", c.String("name"))
return nil return nil
} }
func adminDashboardOperation(operation func() error, successMessage string) func(*cli.Context) error {
return func(c *cli.Context) error {
if c.IsSet("config") {
setting.CustomConf = c.String("config")
}
setting.NewContext()
models.LoadConfigs()
models.SetEngine()
if err := operation(); err != nil {
functionName := runtime.FuncForPC(reflect.ValueOf(operation).Pointer()).Name()
return fmt.Errorf("%s: %v", functionName, err)
}
fmt.Printf("%s\n", successMessage)
return nil
}
}

10
cmd/hook.go

@ -11,6 +11,7 @@ import (
"fmt" "fmt"
"os" "os"
"os/exec" "os/exec"
"path"
"path/filepath" "path/filepath"
"strings" "strings"
@ -22,7 +23,9 @@ import (
"github.com/gogits/gogs/models" "github.com/gogits/gogs/models"
"github.com/gogits/gogs/pkg/httplib" "github.com/gogits/gogs/pkg/httplib"
"github.com/gogits/gogs/pkg/mailer"
"github.com/gogits/gogs/pkg/setting" "github.com/gogits/gogs/pkg/setting"
"github.com/gogits/gogs/pkg/template"
http "github.com/gogits/gogs/routes/repo" http "github.com/gogits/gogs/routes/repo"
) )
@ -184,6 +187,13 @@ func runHookPostReceive(c *cli.Context) error {
} }
setup(c, "hooks/post-receive.log", true) setup(c, "hooks/post-receive.log", true)
// Post-receive hook does more than just gather Git information,
// so we need to setup additional services for email notifications.
setting.NewPostReceiveHookServices()
mailer.NewContext()
mailer.InitMailRender(path.Join(setting.StaticRootPath, "templates/mail"),
path.Join(setting.CustomPath, "templates/mail"), template.NewFuncMap())
isWiki := strings.Contains(os.Getenv(http.ENV_REPO_CUSTOM_HOOKS_PATH), ".wiki.git/") isWiki := strings.Contains(os.Getenv(http.ENV_REPO_CUSTOM_HOOKS_PATH), ".wiki.git/")
buf := bytes.NewBuffer(nil) buf := bytes.NewBuffer(nil)

4
cmd/web.go

@ -387,10 +387,12 @@ func runWeb(c *cli.Context) error {
m.Post("/gogs/new", bindIgnErr(form.NewWebhook{}), repo.WebHooksNewPost) m.Post("/gogs/new", bindIgnErr(form.NewWebhook{}), repo.WebHooksNewPost)
m.Post("/slack/new", bindIgnErr(form.NewSlackHook{}), repo.SlackHooksNewPost) m.Post("/slack/new", bindIgnErr(form.NewSlackHook{}), repo.SlackHooksNewPost)
m.Post("/discord/new", bindIgnErr(form.NewDiscordHook{}), repo.DiscordHooksNewPost) m.Post("/discord/new", bindIgnErr(form.NewDiscordHook{}), repo.DiscordHooksNewPost)
m.Post("/dingtalk/new", bindIgnErr(form.NewDingtalkHook{}), repo.DingtalkHooksNewPost)
m.Get("/:id", repo.WebHooksEdit) m.Get("/:id", repo.WebHooksEdit)
m.Post("/gogs/:id", bindIgnErr(form.NewWebhook{}), repo.WebHooksEditPost) m.Post("/gogs/:id", bindIgnErr(form.NewWebhook{}), repo.WebHooksEditPost)
m.Post("/slack/:id", bindIgnErr(form.NewSlackHook{}), repo.SlackHooksEditPost) m.Post("/slack/:id", bindIgnErr(form.NewSlackHook{}), repo.SlackHooksEditPost)
m.Post("/discord/:id", bindIgnErr(form.NewDiscordHook{}), repo.DiscordHooksEditPost) m.Post("/discord/:id", bindIgnErr(form.NewDiscordHook{}), repo.DiscordHooksEditPost)
m.Post("/dingtalk/:id", bindIgnErr(form.NewDingtalkHook{}), repo.DingtalkHooksEditPost)
}) })
m.Route("/delete", "GET,POST", org.SettingsDelete) m.Route("/delete", "GET,POST", org.SettingsDelete)
@ -439,9 +441,11 @@ func runWeb(c *cli.Context) error {
m.Post("/gogs/new", bindIgnErr(form.NewWebhook{}), repo.WebHooksNewPost) m.Post("/gogs/new", bindIgnErr(form.NewWebhook{}), repo.WebHooksNewPost)
m.Post("/slack/new", bindIgnErr(form.NewSlackHook{}), repo.SlackHooksNewPost) m.Post("/slack/new", bindIgnErr(form.NewSlackHook{}), repo.SlackHooksNewPost)
m.Post("/discord/new", bindIgnErr(form.NewDiscordHook{}), repo.DiscordHooksNewPost) m.Post("/discord/new", bindIgnErr(form.NewDiscordHook{}), repo.DiscordHooksNewPost)
m.Post("/dingtalk/new", bindIgnErr(form.NewDingtalkHook{}), repo.DingtalkHooksNewPost)
m.Post("/gogs/:id", bindIgnErr(form.NewWebhook{}), repo.WebHooksEditPost) m.Post("/gogs/:id", bindIgnErr(form.NewWebhook{}), repo.WebHooksEditPost)
m.Post("/slack/:id", bindIgnErr(form.NewSlackHook{}), repo.SlackHooksEditPost) m.Post("/slack/:id", bindIgnErr(form.NewSlackHook{}), repo.SlackHooksEditPost)
m.Post("/discord/:id", bindIgnErr(form.NewDiscordHook{}), repo.DiscordHooksEditPost) m.Post("/discord/:id", bindIgnErr(form.NewDiscordHook{}), repo.DiscordHooksEditPost)
m.Post("/dingtalk/:id", bindIgnErr(form.NewDingtalkHook{}), repo.DingtalkHooksEditPost)
m.Group("/:id", func() { m.Group("/:id", func() {
m.Get("", repo.WebHooksEdit) m.Get("", repo.WebHooksEdit)

4
conf/app.ini

@ -209,8 +209,8 @@ ENABLE_REVERSE_PROXY_AUTO_REGISTRATION = false
ENABLE_CAPTCHA = true ENABLE_CAPTCHA = true
[webhook] [webhook]
; Types are enabled for users to use, can be "gogs", "slack", "discord" ; Types are enabled for users to use, can be "gogs", "slack", "discord", "dingtalk"
TYPES = gogs, slack, discord TYPES = gogs, slack, discord, dingtalk
; Hook task queue length, increase if webhook shooting starts hanging ; Hook task queue length, increase if webhook shooting starts hanging
QUEUE_LENGTH = 1000 QUEUE_LENGTH = 1000
; Deliver timeout in seconds ; Deliver timeout in seconds

114
conf/locale/locale_bg-BG.ini

@ -48,7 +48,7 @@ cancel=Отказ
install=Инсталация install=Инсталация
title=Стъпки за инсталиране при първоначално стартиране title=Стъпки за инсталиране при първоначално стартиране
docker_helper=Ако Gogs е стартиран в Docker контейнер, моля прочетете <a target="_blank" href="%s">нашите указания</a> внимателно, преди да правите промени по настройките на тази страница! docker_helper=Ако Gogs е стартиран в Docker контейнер, моля прочетете <a target="_blank" href="%s">нашите указания</a> внимателно, преди да правите промени по настройките на тази страница!
requite_db_desc=Gogs requires MySQL, PostgreSQL, SQLite3, MSSQL or TiDB. requite_db_desc=Gogs изисква MySQL, PostgreSQL, SQLite3 или TiDB.
db_title=Настройки на базата данни db_title=Настройки на базата данни
db_type=Тип на база данни db_type=Тип на база данни
host=Сървър host=Сървър
@ -58,8 +58,8 @@ db_name=Име на база данни
db_helper=Моля, използвайте INNODB engine с utf8_general_ci кодиране на знаци за MySQL. db_helper=Моля, използвайте INNODB engine с utf8_general_ci кодиране на знаци за MySQL.
ssl_mode=Режим SSL ssl_mode=Режим SSL
path=Път path=Път
sqlite_helper=The file path of SQLite3 database. <br>Please use absolute path when you start as service. sqlite_helper=Път към файл на SQLite3 база от данни. <br>Моля използвайте абсолютен път, когато стартирате gogs като услуга.
err_empty_db_path=SQLite3 database path cannot be empty. err_empty_db_path=Пътят към SQLite3 базата от данни не може да бъде празен.
no_admin_and_disable_registration=Невъзможно изключване на регистрациите без предварително да е създаден поне един административен профил. no_admin_and_disable_registration=Невъзможно изключване на регистрациите без предварително да е създаден поне един административен профил.
err_empty_admin_password=Паролата на администратор не може да е празна. err_empty_admin_password=Паролата на администратор не може да е празна.
@ -74,16 +74,16 @@ domain=Домейн
domain_helper=Тази настройка влияе на URL адреса за клониране чрез SSH. domain_helper=Тази настройка влияе на URL адреса за клониране чрез SSH.
ssh_port=SSH порт ssh_port=SSH порт
ssh_port_helper=Номер на порт на SSH сървъра. Оставете празно за да изключите достъп през SSH. ssh_port_helper=Номер на порт на SSH сървъра. Оставете празно за да изключите достъп през SSH.
use_builtin_ssh_server=Use Builtin SSH Server use_builtin_ssh_server=Използване на вграден SSH сървър
use_builtin_ssh_server_popup=Start builtin SSH server for Git operations to distinguish from system SSH daemon. use_builtin_ssh_server_popup=Стартиране на вграден SSH сървър за Git операции, различен от системния SSH демон.
http_port=HTTP порт http_port=HTTP порт
http_port_helper=Порт, на който приложението ще слуша. http_port_helper=Порт, на който приложението ще слуша.
app_url=URL адрес на приложението app_url=URL адрес на приложението
app_url_helper=Този настройка променя HTTP/HTTPS адреса за клониране, а понякога и адреса на ел. поща. app_url_helper=Този настройка променя HTTP/HTTPS адреса за клониране, а понякога и адреса на ел. поща.
log_root_path=Път към журналите log_root_path=Път към журналите
log_root_path_helper=Директория в която се записват журналите. log_root_path_helper=Директория в която се записват журналите.
enable_console_mode=Enable Console Mode enable_console_mode=Включване на конзолен режим
enable_console_mode_popup=In addition to file mode, also print logs to console. enable_console_mode_popup=Изписване на логовете в конзолата, в допълнение към файловият режим.
optional_title=Опционални настройки optional_title=Опционални настройки
email_title=Настройки на пощенска услуга email_title=Настройки на пощенска услуга
@ -119,7 +119,7 @@ sqlite3_not_available=Вашата версия не поддържа SQLite3,
invalid_db_setting=Настройките на базата данни са некоректни: %v invalid_db_setting=Настройките на базата данни са некоректни: %v
invalid_repo_path=Основният път към хранилищата е невалиден: %v invalid_repo_path=Основният път към хранилищата е невалиден: %v
run_user_not_match=Потребителският контекст на приложението не е на текущия потребител: %s -> %s run_user_not_match=Потребителският контекст на приложението не е на текущия потребител: %s -> %s
smtp_host_missing_port=SMTP Host is missing port in address. smtp_host_missing_port=Липсва порт в зададения SMTP адрес.
invalid_smtp_from=Невалидно поле От: %v invalid_smtp_from=Невалидно поле От: %v
save_config_failed=Неуспешно запазване на конфигурация: %v save_config_failed=Неуспешно запазване на конфигурация: %v
invalid_admin_setting=Настройките на профил на администратора са невалидни: %v invalid_admin_setting=Настройките на профил на администратора са невалидни: %v
@ -170,12 +170,12 @@ password_too_short=Размерът на паролата не може да б
non_local_account=Нелокални потребители не могат да сменят паролата си през Gogs. non_local_account=Нелокални потребители не могат да сменят паролата си през Gogs.
login_two_factor=Two-factor Authentication login_two_factor=Two-factor Authentication
login_two_factor_passcode=Authentication Passcode login_two_factor_passcode=Парола за удостоверяване
login_two_factor_enter_recovery_code=Enter a two-factor recovery code login_two_factor_enter_recovery_code=Enter a two-factor recovery code
login_two_factor_recovery=Two-factor Recovery login_two_factor_recovery=Two-factor Recovery
login_two_factor_recovery_code=Recovery Code login_two_factor_recovery_code=Recovery Code
login_two_factor_enter_passcode=Enter a two-factor passcode login_two_factor_enter_passcode=Enter a two-factor passcode
login_two_factor_invalid_recovery_code=Recovery code has been used or does not valid. login_two_factor_invalid_recovery_code=Този код за възстановяване вече е бил използван или не е валиден.
[mail] [mail]
activate_account=Моля активирайте Вашия профил activate_account=Моля активирайте Вашия профил
@ -264,8 +264,8 @@ profile=Профил
password=Парола password=Парола
avatar=Аватар avatar=Аватар
ssh_keys=SSH ключове ssh_keys=SSH ключове
security=Security security=Сигурност
repos=Repositories repos=Хранилища
orgs=Организации orgs=Организации
applications=Приложения applications=Приложения
delete=Изтрий профил delete=Изтрий профил
@ -335,25 +335,25 @@ key_state_desc=Този ключ е използван през последни
token_state_desc=Този API ключ е използван през последните 7 дни token_state_desc=Този API ключ е използван през последните 7 дни
two_factor=Two-factor Authentication two_factor=Two-factor Authentication
two_factor_status=Status: two_factor_status=Статус:
two_factor_on=On two_factor_on=Вкл.
two_factor_off=Off two_factor_off=Изкл.
two_factor_enable=Enable two_factor_enable=Активиране
two_factor_disable=Disable two_factor_disable=Деактивиране
two_factor_view_recovery_codes=View and save <a href="%s%s">your recovery codes</a> in a safe place. You can use them as passcode if you lose access to your authentication application. two_factor_view_recovery_codes=View and save <a href="%s%s">your recovery codes</a> in a safe place. You can use them as passcode if you lose access to your authentication application.
two_factor_http=For HTTP/HTTPS operations, you are no longer able to use plain username and password. Please create and use <a href="%[1]s%[2]s">Personal Access Token</a> as your credential, e.g. <code>%[3]s</code>. two_factor_http=For HTTP/HTTPS operations, you are no longer able to use plain username and password. Please create and use <a href="%[1]s%[2]s">Personal Access Token</a> as your credential, e.g. <code>%[3]s</code>.
two_factor_enable_title=Enable Two-factor Authentication two_factor_enable_title=Enable Two-factor Authentication
two_factor_scan_qr=Please use your authentication application to scan the image: two_factor_scan_qr=Please use your authentication application to scan the image:
two_factor_or_enter_secret=Or enter the secret: two_factor_or_enter_secret=Or enter the secret:
two_factor_then_enter_passcode=Then enter passcode: two_factor_then_enter_passcode=След това въведете паролата:
two_factor_verify=Verify two_factor_verify=Потвърждаване
two_factor_invalid_passcode=The passcode you entered is not valid, please try again! two_factor_invalid_passcode=Въведената парола е невалидна! Моля опитайте отново.
two_factor_enable_error=Enable Two-factor authentication failed: %v two_factor_enable_error=Enable Two-factor authentication failed: %v
two_factor_enable_success=Two-factor authentication has enabled for your account successfully! two_factor_enable_success=Two-factor authentication has enabled for your account successfully!
two_factor_recovery_codes_title=Two-factor Authentication Recovery Codes two_factor_recovery_codes_title=Two-factor Authentication Recovery Codes
two_factor_recovery_codes_desc=Recovery codes are used when you temporarily lose access to your authentication application. Each recovery code can only be used once, <b>please keep these codes in a safe place</b>. two_factor_recovery_codes_desc=Recovery codes are used when you temporarily lose access to your authentication application. Each recovery code can only be used once, <b>please keep these codes in a safe place</b>.
two_factor_regenerate_recovery_codes=Regenerate Recovery Codes two_factor_regenerate_recovery_codes=Ново генериране на кодове за възстановяване
two_factor_regenerate_recovery_codes_error=Regenerate recovery codes failed: %v two_factor_regenerate_recovery_codes_error=Неуспешно генериране на кодове за възстановяване: %v
two_factor_regenerate_recovery_codes_success=New recovery codes has been generated successfully! two_factor_regenerate_recovery_codes_success=New recovery codes has been generated successfully!
two_factor_disable_title=Disable Two-factor Authentication two_factor_disable_title=Disable Two-factor Authentication
two_factor_disable_desc=Your account security level will decrease after disabled two-factor authentication. Do you want to continue? two_factor_disable_desc=Your account security level will decrease after disabled two-factor authentication. Do you want to continue?
@ -375,10 +375,10 @@ orgs.none=Не сте член на никоя организация.
orgs.leave_title=Напусни организация orgs.leave_title=Напусни организация
orgs.leave_desc=Ще загубите достъп до всички хранилища и екипи, след като напуснете организацията. Желаете ли да продължите? orgs.leave_desc=Ще загубите достъп до всички хранилища и екипи, след като напуснете организацията. Желаете ли да продължите?
repos.leave=Leave repos.leave=Напускане
repos.leave_title=Leave repository repos.leave_title=Напускане на хранилище
repos.leave_desc=You will lose access to the repository after you left. Do you want to continue? repos.leave_desc=You will lose access to the repository after you left. Do you want to continue?
repos.leave_success=You have left repository '%s' successfully! repos.leave_success=Вие успешно напуснахте хранилище "%s"!
delete_account=Изтриване на собствения профил delete_account=Изтриване на собствения профил
delete_prompt=Тази операция ще изтрие Вашия профил завинаги и тя <strong>НЕ МОЖЕ</strong> да бъде отменена в последствие! delete_prompt=Тази операция ще изтрие Вашия профил завинаги и тя <strong>НЕ МОЖЕ</strong> да бъде отменена в последствие!
@ -450,7 +450,7 @@ quick_guide=Бърз справочник
clone_this_repo=Клонирай хранилището clone_this_repo=Клонирай хранилището
create_new_repo_command=Създай ново хранилище чрез командния ред create_new_repo_command=Създай ново хранилище чрез командния ред
push_exist_repo=Предай съществуващо хранилище през командния ред push_exist_repo=Предай съществуващо хранилище през командния ред
bare_message=This repository does not have any content yet. bare_message=Това хранилище все още не съдържа нищо.
files=Файлове files=Файлове
branch=Клон branch=Клон
@ -463,7 +463,7 @@ pulls=Заявки за сливане
labels=Етикети labels=Етикети
milestones=Етапи milestones=Етапи
commits=Ревизии commits=Ревизии
git_branches=Branches git_branches=Клонове
releases=Версии releases=Версии
file_raw=Директен файл file_raw=Директен файл
file_history=История file_history=История
@ -472,12 +472,12 @@ file_permalink=Постоянна връзка
file_too_large=Този файл е твърде голям за да се визуализира file_too_large=Този файл е твърде голям за да се визуализира
video_not_supported_in_browser=Вашият браузър не поддържа HTML5 видео тагове. video_not_supported_in_browser=Вашият браузър не поддържа HTML5 видео тагове.
branches.overview=Overview branches.overview=Преглед
branches.active_branches=Active Branches branches.active_branches=Активни клонове
branches.stale_branches=Stale Branches branches.stale_branches=Застинали клонове
branches.all=All Branches branches.all=Всички клонове
branches.updated_by=Updated %[1]s by %[2]s branches.updated_by=Актуализирани %[1]s от %[2]s
branches.change_default_branch=Change Default Branch branches.change_default_branch=Промяна на клон по подразбиране
editor.new_file=Нов файл editor.new_file=Нов файл
editor.upload_file=Качи файл editor.upload_file=Качи файл
@ -616,6 +616,7 @@ pulls.compare_compare=сравни
pulls.filter_branch=Филтър по клон pulls.filter_branch=Филтър по клон
pulls.no_results=Няма резултати. pulls.no_results=Няма резултати.
pulls.nothing_to_compare=Няма нищо за сравняване, защото родителският клон и върхът са еднакви. pulls.nothing_to_compare=Няма нищо за сравняване, защото родителският клон и върхът са еднакви.
pulls.nothing_merge_base=Няма нищо за сравняване, защото двата клона имат напълно различна история.
pulls.has_pull_request=`Вече има заявка за сливане между тези две цели: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>` pulls.has_pull_request=`Вече има заявка за сливане между тези две цели: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
pulls.create=Създай заявка за сливане pulls.create=Създай заявка за сливане
pulls.title_desc=заяви обединяване на %[1]d ревизии от <code>%[2]s</code> във <code>%[3]s</code> pulls.title_desc=заяви обединяване на %[1]d ревизии от <code>%[2]s</code> във <code>%[3]s</code>
@ -685,28 +686,28 @@ settings.collaboration.admin=За администрация
settings.collaboration.write=За писане settings.collaboration.write=За писане
settings.collaboration.read=За четене settings.collaboration.read=За четене
settings.collaboration.undefined=Недефинирано settings.collaboration.undefined=Недефинирано
settings.branches=Branches settings.branches=Клонове
settings.branches_bare=You cannot manage branches for bare repository. Please push some content first. settings.branches_bare=You cannot manage branches for bare repository. Please push some content first.
settings.default_branch=Default Branch settings.default_branch=Клон по подразбиране
settings.default_branch_desc=The default branch is considered the "base" branch for code commits, pull requests and online editing. settings.default_branch_desc=The default branch is considered the "base" branch for code commits, pull requests and online editing.
settings.update=Update settings.update=Update
settings.update_default_branch_unsupported=Change default branch is not supported by the Git version on server. settings.update_default_branch_unsupported=Промяна на клон по подразбиране не се поддържа от тази версия на Git сървъра.
settings.update_default_branch_success=Default branch of this repository has been updated successfully! settings.update_default_branch_success=Default branch of this repository has been updated successfully!
settings.protected_branches=Protected Branches settings.protected_branches=Защитени клонове
settings.protected_branches_desc=Protect branches from force pushing, accidental deletion and whitelist code committers. settings.protected_branches_desc=Protect branches from force pushing, accidental deletion and whitelist code committers.
settings.choose_a_branch=Choose a branch... settings.choose_a_branch=Избор на клон...
settings.branch_protection=Branch Protection settings.branch_protection=Защита на клон
settings.branch_protection_desc=Please choose protect options for branch <b>%s</b>. settings.branch_protection_desc=Please choose protect options for branch <b>%s</b>.
settings.protect_this_branch=Protect this branch settings.protect_this_branch=Protect this branch
settings.protect_this_branch_desc=Disable force pushes and prevent from deletion. settings.protect_this_branch_desc=Disable force pushes and prevent from deletion.
settings.protect_require_pull_request=Require pull request instead direct pushing settings.protect_require_pull_request=Require pull request instead direct pushing
settings.protect_require_pull_request_desc=Enable this option to disable direct pushing to this branch. Commits have to be pushed to another non-protected branch and merged to this branch through pull request. settings.protect_require_pull_request_desc=Enable this option to disable direct pushing to this branch. Commits have to be pushed to another non-protected branch and merged to this branch through pull request.
settings.protect_whitelist_committers=Whitelist who can push to this branch settings.protect_whitelist_committers=Списък на всички, които могат да изпращат към този клон
settings.protect_whitelist_committers_desc=Add people or teams to whitelist of direct push to this branch. Users in whitelist will bypass require pull request check. settings.protect_whitelist_committers_desc=Add people or teams to whitelist of direct push to this branch. Users in whitelist will bypass require pull request check.
settings.protect_whitelist_users=Users who can push to this branch settings.protect_whitelist_users=Потребители, които могат да изпращат към този клон
settings.protect_whitelist_search_users=Search users settings.protect_whitelist_search_users=Търсене на потребители
settings.protect_whitelist_teams=Teams for which members of them can push to this branch settings.protect_whitelist_teams=Teams for which members of them can push to this branch
settings.protect_whitelist_search_teams=Search teams settings.protect_whitelist_search_teams=Търсене на екипи
settings.update_protect_branch_success=Protect options for this branch has been updated successfully! settings.update_protect_branch_success=Protect options for this branch has been updated successfully!
settings.hooks=Уеб-куки settings.hooks=Уеб-куки
settings.githooks=Git куки settings.githooks=Git куки
@ -806,8 +807,8 @@ settings.event_send_everything=При <strong>всички</strong> събити
settings.event_choose=Нека избера от какво имам нужда. settings.event_choose=Нека избера от какво имам нужда.
settings.event_create=Създаване settings.event_create=Създаване
settings.event_create_desc=Създаване на клон или маркер settings.event_create_desc=Създаване на клон или маркер
settings.event_delete=Delete settings.event_delete=Изтриване
settings.event_delete_desc=Branch or tag deleted settings.event_delete_desc=Изтрит клон или етикет
settings.event_fork=Fork settings.event_fork=Fork
settings.event_fork_desc=Repository forked settings.event_fork_desc=Repository forked
settings.event_push=Предаване settings.event_push=Предаване
@ -829,7 +830,8 @@ settings.delete_webhook=Изтрий уеб-куката
settings.recent_deliveries=Последни изпращания settings.recent_deliveries=Последни изпращания
settings.hook_type=Тип на куката settings.hook_type=Тип на куката
settings.add_slack_hook_desc=Добавяне на интеграция със <a href="%s">Slack</a> във Вашето хранилище. settings.add_slack_hook_desc=Добавяне на интеграция със <a href="%s">Slack</a> във Вашето хранилище.
settings.add_discord_hook_desc=Add <a href="%s">Discord</a> integration to your repository. settings.add_discord_hook_desc=Добавяне на интеграция с <a href="%s">Discord</a> към хранилището.
settings.add_dingtalk_hook_desc=Добавяне на интеграция с <a href="%s">Dingtalk</a> към хранилището.
settings.slack_token=API ключ settings.slack_token=API ключ
settings.slack_domain=Домейн settings.slack_domain=Домейн
settings.slack_channel=Канал settings.slack_channel=Канал
@ -912,7 +914,7 @@ team_permission_desc=Какво ниво на достъп трябва да и
form.name_reserved=Името на организацията '%s' е запазено. form.name_reserved=Името на организацията '%s' е запазено.
form.name_pattern_not_allowed=Име на организацията от вида '%s' не е разрешено. form.name_pattern_not_allowed=Име на организацията от вида '%s' не е разрешено.
form.team_name_reserved=Team name '%s' is reserved. form.team_name_reserved=Име на екип "%s" е запазено.
settings=Настройки settings=Настройки
settings.options=Опции settings.options=Опции
@ -1079,7 +1081,7 @@ repos.private=Частно
repos.watches=Наблюдавания repos.watches=Наблюдавания
repos.stars=Харесвания repos.stars=Харесвания
repos.issues=Задачи repos.issues=Задачи
repos.size=Size repos.size=Размер
auths.auth_manage_panel=Управление на удостоверявания auths.auth_manage_panel=Управление на удостоверявания
auths.new=Добави нов начин на удостоверяване auths.new=Добави нов начин на удостоверяване
@ -1160,13 +1162,13 @@ config.ssh_keygen_path=Път до генератор ('ssh-keygen')
config.ssh_minimum_key_size_check=Проверка за минимален размер на ключове config.ssh_minimum_key_size_check=Проверка за минимален размер на ключове
config.ssh_minimum_key_sizes=Минимален размер на ключове config.ssh_minimum_key_sizes=Минимален размер на ключове
config.repo_config=Repository Configuration config.repo_config=Конфигурация на хранилище
config.repo_root_path=Основен път към хранилища config.repo_root_path=Основен път към хранилища
config.script_type=Тип на скрипта config.script_type=Тип на скрипта
config.repo_force_private=Force Private config.repo_force_private=Force Private
config.max_creation_limit=Max Creation Limit config.max_creation_limit=Max Creation Limit
config.preferred_licenses=Preferred Licenses config.preferred_licenses=Предпочитани лицензи
config.disable_http_git=Disable HTTP Git config.disable_http_git=Забраняване на HTTP Git
config.enable_local_path_migration=Enable Local Path Migration config.enable_local_path_migration=Enable Local Path Migration
config.commits_fetch_concurrency=Commits Fetch Concurrency config.commits_fetch_concurrency=Commits Fetch Concurrency
@ -1242,8 +1244,8 @@ config.git_pull_timeout=Време за отказ при сливане
config.git_gc_timeout=Време за отказ при GC config.git_gc_timeout=Време за отказ при GC
config.log_config=Конфигурация на журнал config.log_config=Конфигурация на журнал
config.log_mode=Mode config.log_mode=Режим
config.log_options=Options config.log_options=Настройки
monitor.cron=Cron задачи monitor.cron=Cron задачи
monitor.name=Име monitor.name=Име
@ -1285,10 +1287,10 @@ create_pull_request=`създаде заявка за сливане <a href="%s
close_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>` reopen_pull_request=`повторно отвори заявка за сливане <a href="%s/pulls/%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>`
create_branch=created new branch <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a> create_branch=създаде клон <a href="%[1]s/src/%[2]s"> %[3]s</a> % <a href="%[1]s">[4]s</a>
delete_branch=deleted branch <code>%[2]s</code> at <a href="%[1]s">%[3]s</a> delete_branch=изтри клон <code>%[2]s</code> % <a href="%[1]s">[3]s</a>
push_tag=предаде маркер <a href="%s/src/%s">%[2]s</a> към <a href="%[1]s">[3]s</a> push_tag=предаде маркер <a href="%s/src/%s">%[2]s</a> към <a href="%[1]s">[3]s</a>
delete_tag=deleted tag <code>%[2]s</code> at <a href="%[1]s">%[3]s</a> delete_tag=изтри етикет <code>%[2]s</code> % <a href="%[1]s">[3]s</a>
[tool] [tool]
ago=преди ago=преди

4
conf/locale/locale_cs-CZ.ini

@ -459,7 +459,7 @@ filter_branch_and_tag=Filtr pro větev nebo značku
branches=Větve branches=Větve
tags=Značky tags=Značky
issues=Úkoly issues=Úkoly
pulls=Požadavky na natažení pulls=Pull Requesty
labels=Štítky labels=Štítky
milestones=Milníky milestones=Milníky
commits=Revize commits=Revize
@ -616,6 +616,7 @@ pulls.compare_compare=porovnat
pulls.filter_branch=Filtrovat větev pulls.filter_branch=Filtrovat větev
pulls.no_results=Nebyly nalezeny žádné výsledky. pulls.no_results=Nebyly nalezeny žádné výsledky.
pulls.nothing_to_compare=Není co porovnávat, protože základ a hlavní větve jsou shodné. pulls.nothing_to_compare=Není co porovnávat, protože základ a hlavní větve jsou shodné.
pulls.nothing_merge_base=There is nothing to compare because two branches have completely different history.
pulls.has_pull_request=`Požadavek na natažení mezi těmito větvemi již existuje: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>` pulls.has_pull_request=`Požadavek na natažení mezi těmito větvemi již existuje: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
pulls.create=Vytvořit požadavek na natažení pulls.create=Vytvořit požadavek na natažení
pulls.title_desc=chce sloučit %[1]d revizí z větve <code>%[2]s</code> do větve <code>%[3]s</code> pulls.title_desc=chce sloučit %[1]d revizí z větve <code>%[2]s</code> do větve <code>%[3]s</code>
@ -830,6 +831,7 @@ settings.recent_deliveries=Nedávné dodávky
settings.hook_type=Typ háčku settings.hook_type=Typ háčku
settings.add_slack_hook_desc=Přidat integraci <a href="%s">Slacku</a> do vašeho repositáře. settings.add_slack_hook_desc=Přidat integraci <a href="%s">Slacku</a> do vašeho repositáře.
settings.add_discord_hook_desc=Přidat integraci <a href="%s">Discord</a> do vašeho repositáře. settings.add_discord_hook_desc=Přidat integraci <a href="%s">Discord</a> do vašeho repositáře.
settings.add_dingtalk_hook_desc=Add <a href="%s">Dingtalk</a> integration to your repository.
settings.slack_token=Poukázka settings.slack_token=Poukázka
settings.slack_domain=Doména settings.slack_domain=Doména
settings.slack_channel=Kanál settings.slack_channel=Kanál

10
conf/locale/locale_de-DE.ini

@ -450,7 +450,7 @@ quick_guide=Kurzanleitung
clone_this_repo=Dieses Repository klonen clone_this_repo=Dieses Repository klonen
create_new_repo_command=Erstellen Sie ein neues Repository mittels der Kommandozeile create_new_repo_command=Erstellen Sie ein neues Repository mittels der Kommandozeile
push_exist_repo=Bestehendes Repository von der Kommandozeile pushen push_exist_repo=Bestehendes Repository von der Kommandozeile pushen
bare_message=Dies Repository hat noch keinen Inhalt. bare_message=Dieses Repository hat noch keinen Inhalt.
files=Dateien files=Dateien
branch=Branch branch=Branch
@ -616,6 +616,7 @@ pulls.compare_compare=vergleichen
pulls.filter_branch=Branch filtern pulls.filter_branch=Branch filtern
pulls.no_results=Keine Ergebnisse verfügbar. pulls.no_results=Keine Ergebnisse verfügbar.
pulls.nothing_to_compare=Es gibt nichts zu vergleichen, da Base- und Head-Branch gleich sind. pulls.nothing_to_compare=Es gibt nichts zu vergleichen, da Base- und Head-Branch gleich sind.
pulls.nothing_merge_base=There is nothing to compare because two branches have completely different history.
pulls.has_pull_request=`Es existiert bereits ein Pull-Request zwischen diesen beiden Zielen: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>` pulls.has_pull_request=`Es existiert bereits ein Pull-Request zwischen diesen beiden Zielen: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
pulls.create=Pull-Request erstellen pulls.create=Pull-Request erstellen
pulls.title_desc=möchte %[1]d Commits von <code>%[2]s</code> nach <code>%[3]s</code> zusammenführen pulls.title_desc=möchte %[1]d Commits von <code>%[2]s</code> nach <code>%[3]s</code> zusammenführen
@ -745,12 +746,12 @@ settings.convert_notices_1=- Dieser Vorgang wandelt das Mirror-Repository in ein
settings.convert_confirm=Umwandlung bestätigen settings.convert_confirm=Umwandlung bestätigen
settings.convert_succeed=Das Repository wurde erfolgreich in ein normales Repository umgewandelt. settings.convert_succeed=Das Repository wurde erfolgreich in ein normales Repository umgewandelt.
settings.transfer=Besitz übertragen settings.transfer=Besitz übertragen
settings.transfer_desc=Dieses Repository auf einen anderen Benutzer bzw. eine Organisation in der Sie Admin-Rechte haben übertragen. settings.transfer_desc=Dieses Repository auf einen anderen Benutzer oder eine Organisation, in der Sie Admin-Rechte haben, übertragen.
settings.transfer_notices_1=- Sie werden keinen Zugriff mehr haben, wenn der neue Besitzer ein individueller Benutzer ist. settings.transfer_notices_1=- Sie werden keinen Zugriff mehr haben, wenn der neue Besitzer ein individueller Benutzer ist.
settings.transfer_notices_2=- Sie werden weiterhin Zugriff haben, wenn der neue Besitzer eine Organisation ist und Sie einer der Besitzer sind. settings.transfer_notices_2=- Sie werden weiterhin Zugriff haben, wenn der neue Besitzer eine Organisation ist und Sie einer der Besitzer sind.
settings.transfer_form_title=Bitte geben Sie die folgenden Informationen ein, um die Operation zu bestätigen: settings.transfer_form_title=Bitte geben Sie die folgenden Informationen ein, um die Operation zu bestätigen:
settings.wiki_delete=Wiki-Daten löschen settings.wiki_delete=Wiki-Daten löschen
settings.wiki_delete_desc=Das Löschen von Wiki Daten kann nicht rückgängig gemacht werden. Bitte seien Sie vorsichtig. settings.wiki_delete_desc=Das Löschen von Wiki-Daten kann nicht rückgängig gemacht werden. Bitte seien Sie vorsichtig.
settings.wiki_delete_notices_1=- Dies löscht und deaktiviert das Wiki für %s settings.wiki_delete_notices_1=- Dies löscht und deaktiviert das Wiki für %s
settings.wiki_deletion_success=Repository Wiki Daten erfolgreich gelöscht. settings.wiki_deletion_success=Repository Wiki Daten erfolgreich gelöscht.
settings.delete=Dieses Repository löschen settings.delete=Dieses Repository löschen
@ -830,6 +831,7 @@ settings.recent_deliveries=Letzte Zustellungen
settings.hook_type=Hook Typ settings.hook_type=Hook Typ
settings.add_slack_hook_desc=Fügen Sie <a href="%s">Slack</a>-Integration zu Ihrem Repository hinzu. settings.add_slack_hook_desc=Fügen Sie <a href="%s">Slack</a>-Integration zu Ihrem Repository hinzu.
settings.add_discord_hook_desc=Fügen Sie <a href="%s">Discord</a>-Integration zu Ihrem Repository hinzu. settings.add_discord_hook_desc=Fügen Sie <a href="%s">Discord</a>-Integration zu Ihrem Repository hinzu.
settings.add_dingtalk_hook_desc=Add <a href="%s">Dingtalk</a> integration to your repository.
settings.slack_token=Token settings.slack_token=Token
settings.slack_domain=Domain settings.slack_domain=Domain
settings.slack_channel=Kanal settings.slack_channel=Kanal
@ -1003,7 +1005,7 @@ dashboard.git_gc_repos=Garbage Collection auf Repositories ausführen
dashboard.git_gc_repos_success=Garbage Collection wurde auf allen Repositories erfolgreich ausgeführt. dashboard.git_gc_repos_success=Garbage Collection wurde auf allen Repositories erfolgreich ausgeführt.
dashboard.resync_all_sshkeys=Datei '.ssh/authorized_keys' neu anlegen (Achtung: Schlüssel, die nicht zu Gogs gehören gehen verloren) dashboard.resync_all_sshkeys=Datei '.ssh/authorized_keys' neu anlegen (Achtung: Schlüssel, die nicht zu Gogs gehören gehen verloren)
dashboard.resync_all_sshkeys_success=Alle öffentlichen Keys wurden erfolgreich neu geschrieben. dashboard.resync_all_sshkeys_success=Alle öffentlichen Keys wurden erfolgreich neu geschrieben.
dashboard.resync_all_hooks=Synchronisiere pre-receive, update und post-receive Hooks für alle Repositorien dashboard.resync_all_hooks=Synchronisiere pre-receive, update und post-receive Hooks für alle Repositories
dashboard.resync_all_hooks_success=Pre-receive, update und post-receive Hooks aller Repositorien wurden erfolgreich synchronisiert. dashboard.resync_all_hooks_success=Pre-receive, update und post-receive Hooks aller Repositorien wurden erfolgreich synchronisiert.
dashboard.reinit_missing_repos=Alle Repository-Datensätze mit verloren gegangenen Git-Dateien neu initialisieren dashboard.reinit_missing_repos=Alle Repository-Datensätze mit verloren gegangenen Git-Dateien neu initialisieren
dashboard.reinit_missing_repos_success=Alle Repository-Datensätze, die Git-Dateien verloren haben wurden erfolgreich neu initialisiert. dashboard.reinit_missing_repos_success=Alle Repository-Datensätze, die Git-Dateien verloren haben wurden erfolgreich neu initialisiert.

2
conf/locale/locale_en-GB.ini

@ -616,6 +616,7 @@ pulls.compare_compare=compare
pulls.filter_branch=Filter branch pulls.filter_branch=Filter branch
pulls.no_results=No results found. pulls.no_results=No results found.
pulls.nothing_to_compare=There is nothing to compare because base and head branches are even. pulls.nothing_to_compare=There is nothing to compare because base and head branches are even.
pulls.nothing_merge_base=There is nothing to compare because two branches have completely different history.
pulls.has_pull_request=`There is already a pull request between these two targets: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>` pulls.has_pull_request=`There is already a pull request between these two targets: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
pulls.create=Create Pull Request pulls.create=Create Pull Request
pulls.title_desc=wants to merge %[1]d commits from <code>%[2]s</code> into <code>%[3]s</code> pulls.title_desc=wants to merge %[1]d commits from <code>%[2]s</code> into <code>%[3]s</code>
@ -830,6 +831,7 @@ settings.recent_deliveries=Recent Deliveries
settings.hook_type=Hook Type settings.hook_type=Hook Type
settings.add_slack_hook_desc=Add <a href="%s">Slack</a> integration to your repository. settings.add_slack_hook_desc=Add <a href="%s">Slack</a> integration to your repository.
settings.add_discord_hook_desc=Add <a href="%s">Discord</a> integration to your repository. settings.add_discord_hook_desc=Add <a href="%s">Discord</a> integration to your repository.
settings.add_dingtalk_hook_desc=Add <a href="%s">Dingtalk</a> integration to your repository.
settings.slack_token=Token settings.slack_token=Token
settings.slack_domain=Domain settings.slack_domain=Domain
settings.slack_channel=Channel settings.slack_channel=Channel

1
conf/locale/locale_en-US.ini

@ -831,6 +831,7 @@ settings.recent_deliveries = Recent Deliveries
settings.hook_type = Hook Type settings.hook_type = Hook Type
settings.add_slack_hook_desc = Add <a href="%s">Slack</a> integration to your repository. settings.add_slack_hook_desc = Add <a href="%s">Slack</a> integration to your repository.
settings.add_discord_hook_desc = Add <a href="%s">Discord</a> integration to your repository. settings.add_discord_hook_desc = Add <a href="%s">Discord</a> integration to your repository.
settings.add_dingtalk_hook_desc = Add <a href="%s">Dingtalk</a> integration to your repository.
settings.slack_token = Token settings.slack_token = Token
settings.slack_domain = Domain settings.slack_domain = Domain
settings.slack_channel = Channel settings.slack_channel = Channel

30
conf/locale/locale_es-ES.ini

@ -119,7 +119,7 @@ sqlite3_not_available=Tu versión no soporta SQLite3, por favor descarga el bina
invalid_db_setting=La configuración de la base de datos no es correcta: %v invalid_db_setting=La configuración de la base de datos no es correcta: %v
invalid_repo_path=La ruta de la raíz del repositorio es inválida: %v invalid_repo_path=La ruta de la raíz del repositorio es inválida: %v
run_user_not_match=El usuario que está ejecutando la aplicación no es el usuario actual: %s -> %s run_user_not_match=El usuario que está ejecutando la aplicación no es el usuario actual: %s -> %s
smtp_host_missing_port=SMTP Host is missing port in address. smtp_host_missing_port=No se ha definido el puerto para el host SMTP.
invalid_smtp_from=El campo SMTP no es válido: %v invalid_smtp_from=El campo SMTP no es válido: %v
save_config_failed=Error al guardar la configuración: %v save_config_failed=Error al guardar la configuración: %v
invalid_admin_setting=La configuración de la cuenta de administración es inválida: %v invalid_admin_setting=La configuración de la cuenta de administración es inválida: %v
@ -170,12 +170,12 @@ password_too_short=La longitud de la contraseña no puede ser menor a 6.
non_local_account=Cuentas que no son locales no pueden cambiar las contraseñas a través de Gogs. non_local_account=Cuentas que no son locales no pueden cambiar las contraseñas a través de Gogs.
login_two_factor=Autenticación en dos pasos login_two_factor=Autenticación en dos pasos
login_two_factor_passcode=Authentication Passcode login_two_factor_passcode=Pin de autenticación
login_two_factor_enter_recovery_code=Enter a two-factor recovery code login_two_factor_enter_recovery_code=Introduce un código de recuperación de autenticación en dos pasos
login_two_factor_recovery=Two-factor Recovery login_two_factor_recovery=Recuperación de autenticación en dos pasos
login_two_factor_recovery_code=Recovery Code login_two_factor_recovery_code=Código de recuperación
login_two_factor_enter_passcode=Enter a two-factor passcode login_two_factor_enter_passcode=Introduce un Pin de autenticación a dos pasos
login_two_factor_invalid_recovery_code=Recovery code has been used or does not valid. login_two_factor_invalid_recovery_code=El código de recuperación ya se ha utilizado o no es válido.
[mail] [mail]
activate_account=Por favor, active su cuenta activate_account=Por favor, active su cuenta
@ -340,14 +340,14 @@ two_factor_on=Activado
two_factor_off=Desactivado two_factor_off=Desactivado
two_factor_enable=Activar two_factor_enable=Activar
two_factor_disable=Desactivar two_factor_disable=Desactivar
two_factor_view_recovery_codes=View and save <a href="%s%s">your recovery codes</a> in a safe place. You can use them as passcode if you lose access to your authentication application. two_factor_view_recovery_codes=Guarda <a href="%s%s"> tus códigos de recuperación</a> en un lugar seguro. Podrás usarlos como código de acceso si pierdes el acceso a tu aplicación de autenticación.
two_factor_http=Para las operaciones sobre HTTP/HTTPS, no puedes usar un usuario y contraseña. Por favor, cree y utilice <a href="%[1]s%[2]s"> un token de acceso personal</a> como su credencial de acceso, por ejemplo, <code>%[3]s</code>. two_factor_http=Para las operaciones sobre HTTP/HTTPS, no puedes usar un usuario y contraseña. Por favor, cree y utilice <a href="%[1]s%[2]s"> un token de acceso personal</a> como su credencial de acceso, por ejemplo, <code>%[3]s</code>.
two_factor_enable_title=Habilitar autenticaciñon en dos pasos two_factor_enable_title=Habilitar autenticaciñon en dos pasos
two_factor_scan_qr=Por favor, use su aplicación de autenticación para escanear la imagen: two_factor_scan_qr=Por favor, use su aplicación de autenticación para escanear la imagen:
two_factor_or_enter_secret=Or enter the secret: two_factor_or_enter_secret=Or enter the secret:
two_factor_then_enter_passcode=Then enter passcode: two_factor_then_enter_passcode=Introduce el Pin:
two_factor_verify=Verificar two_factor_verify=Verificar
two_factor_invalid_passcode=The passcode you entered is not valid, please try again! two_factor_invalid_passcode=¡El Pin que has introducido no es válido, por favor, inténtalo de nuevo!
two_factor_enable_error=Enable Two-factor authentication failed: %v two_factor_enable_error=Enable Two-factor authentication failed: %v
two_factor_enable_success=Two-factor authentication has enabled for your account successfully! two_factor_enable_success=Two-factor authentication has enabled for your account successfully!
two_factor_recovery_codes_title=Two-factor Authentication Recovery Codes two_factor_recovery_codes_title=Two-factor Authentication Recovery Codes
@ -616,6 +616,7 @@ pulls.compare_compare=comparar con
pulls.filter_branch=Filtrar rama pulls.filter_branch=Filtrar rama
pulls.no_results=Sin resultados. pulls.no_results=Sin resultados.
pulls.nothing_to_compare=Nada que comparar. Las dos ramas coinciden. pulls.nothing_to_compare=Nada que comparar. Las dos ramas coinciden.
pulls.nothing_merge_base=There is nothing to compare because two branches have completely different history.
pulls.has_pull_request=`Ya existe un pull request entre estas dos ramas: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>` pulls.has_pull_request=`Ya existe un pull request entre estas dos ramas: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
pulls.create=Crear Pull Request pulls.create=Crear Pull Request
pulls.title_desc=desea fusionar %[1]d commits de <code>%[2]s</code> en <code>%[3]s</code> pulls.title_desc=desea fusionar %[1]d commits de <code>%[2]s</code> en <code>%[3]s</code>
@ -780,7 +781,7 @@ settings.webhook_deletion_success=¡Webhook eliminado con éxito!
settings.webhook.test_delivery=Test de entrega settings.webhook.test_delivery=Test de entrega
settings.webhook.test_delivery_desc=Enviar un falso evento Push de entrega para probar tus ajustes de webhook settings.webhook.test_delivery_desc=Enviar un falso evento Push de entrega para probar tus ajustes de webhook
settings.webhook.test_delivery_success=Probar que los webhook han sido añadidos a la cola de entrega. Esto puede tomar algunos segundos antes de aparecer en el historial de entregas. settings.webhook.test_delivery_success=Probar que los webhook han sido añadidos a la cola de entrega. Esto puede tomar algunos segundos antes de aparecer en el historial de entregas.
settings.webhook.redelivery=Redelivery settings.webhook.redelivery=Reenviar
settings.webhook.redelivery_success=Hook task '%s' has been readded to delivery queue. It may take few seconds to update delivery status in history. settings.webhook.redelivery_success=Hook task '%s' has been readded to delivery queue. It may take few seconds to update delivery status in history.
settings.webhook.request=Petición settings.webhook.request=Petición
settings.webhook.response=Respuesta settings.webhook.response=Respuesta
@ -830,6 +831,7 @@ settings.recent_deliveries=Envíos Recientes
settings.hook_type=Tipo de Hook settings.hook_type=Tipo de Hook
settings.add_slack_hook_desc=Añade integración con <a href="%s">Slack</a> a tu repositorio. settings.add_slack_hook_desc=Añade integración con <a href="%s">Slack</a> a tu repositorio.
settings.add_discord_hook_desc=Añade integración con <a href="%s">Slack</a> a tu repositorio. settings.add_discord_hook_desc=Añade integración con <a href="%s">Slack</a> a tu repositorio.
settings.add_dingtalk_hook_desc=Add <a href="%s">Dingtalk</a> integration to your repository.
settings.slack_token=Token settings.slack_token=Token
settings.slack_domain=Dominio settings.slack_domain=Dominio
settings.slack_channel=Canal settings.slack_channel=Canal
@ -1103,9 +1105,9 @@ auths.attribute_username_placeholder=Dejar vacío para usar el campo de inicio d
auths.attribute_name=Atributo nombre auths.attribute_name=Atributo nombre
auths.attribute_surname=Atributo apellido auths.attribute_surname=Atributo apellido
auths.attribute_mail=Atributo correo electrónico auths.attribute_mail=Atributo correo electrónico
auths.verify_group_membership=Verify group membership auths.verify_group_membership=Verificar pertenencia a grupo
auths.group_search_base_dn=Group Search Base DN auths.group_search_base_dn=Group Search Base DN
auths.group_filter=Group Filter auths.group_filter=Filtro de grupo
auths.group_attribute_contain_user_list=Group Attribute Containing List of Users auths.group_attribute_contain_user_list=Group Attribute Containing List of Users
auths.user_attribute_listed_in_group=User Attribute Listed in Group auths.user_attribute_listed_in_group=User Attribute Listed in Group
auths.attributes_in_bind=Buscar atributos en el contexto del Bind DN auths.attributes_in_bind=Buscar atributos en el contexto del Bind DN
@ -1272,7 +1274,7 @@ notices.delete_success=Las notificaciones del sistema han sido eliminadas satisf
[action] [action]
create_repo=creó el repositorio <a href="%s">%s</a> create_repo=creó el repositorio <a href="%s">%s</a>
fork_repo=forked a repository to <a href="%s">%s</a> fork_repo=ha hecho un Fork en <a href="%s">%s</a>
rename_repo=repositorio renombrado de <code>%[1]s</code> a <a href="%[2]s">%[3]s</a> rename_repo=repositorio renombrado de <code>%[1]s</code> a <a href="%[2]s">%[3]s</a>
commit_repo=hizo push a <a href="%[1]s/src/%[2]s">%[3]s</a> en <a href="%[1]s">%[4]s</a> commit_repo=hizo push a <a href="%[1]s/src/%[2]s">%[3]s</a> en <a href="%[1]s">%[4]s</a>
compare_commits=Ver comparación de estos %d commits compare_commits=Ver comparación de estos %d commits

2
conf/locale/locale_fi-FI.ini

@ -616,6 +616,7 @@ pulls.compare_compare=vertaa
pulls.filter_branch=Suodata branch pulls.filter_branch=Suodata branch
pulls.no_results=Tuloksia ei löytynyt. pulls.no_results=Tuloksia ei löytynyt.
pulls.nothing_to_compare=Ei ole mitään verrattavaa koska base ja head branchit ovat tasoissa. pulls.nothing_to_compare=Ei ole mitään verrattavaa koska base ja head branchit ovat tasoissa.
pulls.nothing_merge_base=There is nothing to compare because two branches have completely different history.
pulls.has_pull_request=`On olemassa jo pull pyyntö näiden kohteiden välillä: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>` pulls.has_pull_request=`On olemassa jo pull pyyntö näiden kohteiden välillä: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
pulls.create=Luo Pull-pyyntö pulls.create=Luo Pull-pyyntö
pulls.title_desc=haluaa yhdistää %[1]d committia lähteestä <code>%[2]s</code> kohteeseen <code>%[3]s</code> pulls.title_desc=haluaa yhdistää %[1]d committia lähteestä <code>%[2]s</code> kohteeseen <code>%[3]s</code>
@ -830,6 +831,7 @@ settings.recent_deliveries=Viimeisimmät toimitukset
settings.hook_type=Koukkutyyppi settings.hook_type=Koukkutyyppi
settings.add_slack_hook_desc=Lisää <a href="%s">Slack</a> integraatio repoosi. settings.add_slack_hook_desc=Lisää <a href="%s">Slack</a> integraatio repoosi.
settings.add_discord_hook_desc=Lisää <a href="%s">Discord</a> integraatio repositoryysi. settings.add_discord_hook_desc=Lisää <a href="%s">Discord</a> integraatio repositoryysi.
settings.add_dingtalk_hook_desc=Add <a href="%s">Dingtalk</a> integration to your repository.
settings.slack_token=Pääsymerkki settings.slack_token=Pääsymerkki
settings.slack_domain=Verkkotunnus settings.slack_domain=Verkkotunnus
settings.slack_channel=Kanava settings.slack_channel=Kanava

24
conf/locale/locale_fr-FR.ini

@ -119,7 +119,7 @@ sqlite3_not_available=Votre version publiée ne prend pas en charge SQLite3. Veu
invalid_db_setting=Paramètres de base de données incorrects : %v invalid_db_setting=Paramètres de base de données incorrects : %v
invalid_repo_path=Chemin vers la racine du dépôt invalide : %v invalid_repo_path=Chemin vers la racine du dépôt invalide : %v
run_user_not_match=L'utilisateur d'exécution saisi n'est pas l'utilisateur d'exécution actuel : %s -> %s run_user_not_match=L'utilisateur d'exécution saisi n'est pas l'utilisateur d'exécution actuel : %s -> %s
smtp_host_missing_port=Le numéro de port est manquant dans ladresse de l'Hôte SMTP. smtp_host_missing_port=Le numéro de port est manquant dans l'adresse de l'Hôte SMTP.
invalid_smtp_from=Le champ SMTP Provenant de n'est pas valide: %v invalid_smtp_from=Le champ SMTP Provenant de n'est pas valide: %v
save_config_failed=La sauvegarde de la configuration a échoué : %v save_config_failed=La sauvegarde de la configuration a échoué : %v
invalid_admin_setting=Paramètres du compte administrateur invalides : %v invalid_admin_setting=Paramètres du compte administrateur invalides : %v
@ -158,7 +158,7 @@ sign_up_now=Pas de compte ? Inscrivez-vous maintenant.
confirmation_mail_sent_prompt=Un nouveau mail de confirmation à été envoyé à <b>%s</b>. Veuillez vérifier votre boîte de réception dans un délai de %d heures pour compléter votre enregistrement. confirmation_mail_sent_prompt=Un nouveau mail de confirmation à été envoyé à <b>%s</b>. Veuillez vérifier votre boîte de réception dans un délai de %d heures pour compléter votre enregistrement.
active_your_account=Activer votre compte active_your_account=Activer votre compte
prohibit_login=Connexion interdite prohibit_login=Connexion interdite
prohibit_login_desc=Votre compte est interdit de se connecter, contactez l’administrateur du site. prohibit_login_desc=La connexion avec ce compte est interdite ; contactez l'administrateur du site.
resent_limit_prompt=Désolé, vos tentatives d'activation sont trop fréquentes. Veuillez réessayer dans 3 minutes. resent_limit_prompt=Désolé, vos tentatives d'activation sont trop fréquentes. Veuillez réessayer dans 3 minutes.
has_unconfirmed_mail=Bonjour %s, votre adresse e-mail (<b>%s</b>) n'a pas été confirmée. Si vous n'avez reçu aucun mail de confirmation ou souhaitez renouveler l'envoi, cliquez sur le bouton ci-dessous. has_unconfirmed_mail=Bonjour %s, votre adresse e-mail (<b>%s</b>) n'a pas été confirmée. Si vous n'avez reçu aucun mail de confirmation ou souhaitez renouveler l'envoi, cliquez sur le bouton ci-dessous.
resend_mail=Cliquez ici pour renvoyer un mail de confirmation resend_mail=Cliquez ici pour renvoyer un mail de confirmation
@ -170,12 +170,12 @@ password_too_short=Le mot de passe doit contenir 6 caractères minimum.
non_local_account=Les comptes non locaux ne peuvent pas changer leur mot de passe via Gogs. non_local_account=Les comptes non locaux ne peuvent pas changer leur mot de passe via Gogs.
login_two_factor=Authentification en deux étapes login_two_factor=Authentification en deux étapes
login_two_factor_passcode=Mot de passe dauthentification login_two_factor_passcode=Mot de passe d'authentification
login_two_factor_enter_recovery_code=Entrez un code de récupération en deux étapes login_two_factor_enter_recovery_code=Entrez un code de récupération en deux étapes
login_two_factor_recovery=Récupération en deux étapes login_two_factor_recovery=Récupération en deux étapes
login_two_factor_recovery_code=Code de récupération login_two_factor_recovery_code=Code de récupération
login_two_factor_enter_passcode=Entrez un code d'authentification en deux étapes login_two_factor_enter_passcode=Entrez un code d'authentification en deux étapes
login_two_factor_invalid_recovery_code=Code de récupération a été utilisé ou nest pas valide. login_two_factor_invalid_recovery_code=Code de récupération a été utilisé ou n'est pas valide.
[mail] [mail]
activate_account=Veuillez activer votre compte activate_account=Veuillez activer votre compte
@ -343,7 +343,7 @@ two_factor_disable=Désactiver
two_factor_view_recovery_codes=Voir et sauvegarder <a href="%s%s">vos codes de récupération</a> dans un endroit sécurisé. Vois pouvez les utiliser comme mot de passe si vous perdez l'accès à l'application d'authentification. two_factor_view_recovery_codes=Voir et sauvegarder <a href="%s%s">vos codes de récupération</a> dans un endroit sécurisé. Vois pouvez les utiliser comme mot de passe si vous perdez l'accès à l'application d'authentification.
two_factor_http=Vous ne pouvez plus utiliser un nom d'utilisateur et mot de passe en clair pour les opérations en HTTP/HTTPS. Merci de créer et d'utiliser un <a href="%[1]s%[2]s">jeton d'accès personnel</a> comme moyen d'identification, par exemple <code>%[3]s</code>. two_factor_http=Vous ne pouvez plus utiliser un nom d'utilisateur et mot de passe en clair pour les opérations en HTTP/HTTPS. Merci de créer et d'utiliser un <a href="%[1]s%[2]s">jeton d'accès personnel</a> comme moyen d'identification, par exemple <code>%[3]s</code>.
two_factor_enable_title=Activer l'authentification en deux étapes two_factor_enable_title=Activer l'authentification en deux étapes
two_factor_scan_qr=Veuillez utiliser votre application d’authentification pour numériser l’image : two_factor_scan_qr=Veuillez utiliser votre application d'authentification pour numériser l'image :
two_factor_or_enter_secret=Ou entrez la phrase secrète : two_factor_or_enter_secret=Ou entrez la phrase secrète :
two_factor_then_enter_passcode=Puis entrez le mot de passe : two_factor_then_enter_passcode=Puis entrez le mot de passe :
two_factor_verify=Vérifier two_factor_verify=Vérifier
@ -506,16 +506,16 @@ editor.new_branch_name_desc=Nouveau nom de la branche...
editor.cancel=Annuler editor.cancel=Annuler
editor.filename_cannot_be_empty=Nom de fichier ne peut pas être vide. editor.filename_cannot_be_empty=Nom de fichier ne peut pas être vide.
editor.branch_already_exists=La branche '%s' existe déjà dans ce dépôt. editor.branch_already_exists=La branche '%s' existe déjà dans ce dépôt.
editor.directory_is_a_file=L'entrée '%s' dans le chemin d’accès parent est un fichier pas un répertoire dans ce dépôt. editor.directory_is_a_file=L'entrée '%s' dans le chemin d'accès parent est un fichier, pas un répertoire dans ce dépôt.
editor.file_is_a_symlink=Le fichier « %s » est un lien symbolique qui ne peut être modifié depuis l'éditeur web. editor.file_is_a_symlink=Le fichier « %s » est un lien symbolique qui ne peut être modifié depuis l'éditeur web.
editor.filename_is_a_directory=Le nom de fichier '%s' existe déjà dans ce dépot. editor.filename_is_a_directory=Le nom de fichier '%s' existe déjà dans ce dépot.
editor.file_editing_no_longer_exists=Le fichier '%s' que vous modifiez n'existe plus dans le dépôt. editor.file_editing_no_longer_exists=Le fichier '%s' que vous modifiez n'existe plus dans le dépôt.
editor.file_changed_while_editing=Le contenu du fichier à changé depuis que vous avez commencé à l'éditer. <a target="_blank" href="%s">Cliquez ici</a> pour voir ce qui à été modifié ou <strong>appuyez sur commit encore une fois</strong> pour remplacer ces changements. editor.file_changed_while_editing=Le contenu du fichier à changé depuis que vous avez commencé à l'éditer. <a target="_blank" href="%s">Cliquez ici</a> pour voir ce qui à été modifié ou <strong>appuyez sur commit encore une fois</strong> pour remplacer ces changements.
editor.file_already_exists=La branche '%s' existe déjà dans ce dépôt. editor.file_already_exists=La branche '%s' existe déjà dans ce dépôt.
editor.no_changes_to_show=Il n’y a aucun changement à afficher. editor.no_changes_to_show=Il n’y a aucun changement à afficher.
editor.fail_to_update_file=Échec lors de la mise à jour/création du fichier '%s' avec lerreur : %v editor.fail_to_update_file=Échec lors de la mise à jour/création du fichier '%s' avec l'erreur : %v
editor.add_subdir=Ajouter un sous-répertoire... editor.add_subdir=Ajouter un sous-répertoire...
editor.unable_to_upload_files=Échec lors de l'envoie du fichier '%s' avec lerreur : %v editor.unable_to_upload_files=Échec lors de l'envoie du fichier '%s' avec l'erreur : %v
editor.upload_files_to_dir=Transférer les fichiers vers '%s' editor.upload_files_to_dir=Transférer les fichiers vers '%s'
commits.commit_history=Historique des commits commits.commit_history=Historique des commits
@ -616,6 +616,7 @@ pulls.compare_compare=Comparer
pulls.filter_branch=Filtre de branche pulls.filter_branch=Filtre de branche
pulls.no_results=Aucun résultat trouvé. pulls.no_results=Aucun résultat trouvé.
pulls.nothing_to_compare=Il n'y a rien de comparable parce que les deux branches sont égales. pulls.nothing_to_compare=Il n'y a rien de comparable parce que les deux branches sont égales.
pulls.nothing_merge_base=Il n'y a rien à comparer parce que les deux branches ont un historique complètement différent.
pulls.has_pull_request=`Il y a déjà une demande de tirer entre ces deux cibles : <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>` pulls.has_pull_request=`Il y a déjà une demande de tirer entre ces deux cibles : <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
pulls.create=Creer une Pull Request pulls.create=Creer une Pull Request
pulls.title_desc=veut fusionner %[1]d commits à partir de <code>%[2]s</code> vers <code>%[3]s</code> pulls.title_desc=veut fusionner %[1]d commits à partir de <code>%[2]s</code> vers <code>%[3]s</code>
@ -726,7 +727,7 @@ settings.external_wiki_url=URL Wiki externe
settings.external_wiki_url_desc=Les visiteurs seront redirigés vers cette URL lorsqu'ils cliqueront sur l'onglet. settings.external_wiki_url_desc=Les visiteurs seront redirigés vers cette URL lorsqu'ils cliqueront sur l'onglet.
settings.issues_desc=Activer le système de tickets settings.issues_desc=Activer le système de tickets
settings.use_internal_issue_tracker=Utiliser le système simplifié de tickets interne settings.use_internal_issue_tracker=Utiliser le système simplifié de tickets interne
settings.allow_public_issues_desc=Permettre laccès du public aux tickets lorsque le dépôt est privé settings.allow_public_issues_desc=Permettre l'accès du public aux tickets lorsque le dépôt est privé
settings.use_external_issue_tracker=Utiliser un bug-tracker externe settings.use_external_issue_tracker=Utiliser un bug-tracker externe
settings.external_tracker_url=Adresse de l'issue tracker externe settings.external_tracker_url=Adresse de l'issue tracker externe
settings.external_tracker_url_desc=Les visiteurs seront redirigés vers cette URL lorsqu'ils cliqueront sur l'onglet. settings.external_tracker_url_desc=Les visiteurs seront redirigés vers cette URL lorsqu'ils cliqueront sur l'onglet.
@ -757,7 +758,7 @@ settings.delete=Supprimer ce dépôt
settings.delete_desc=Attention, cette action est action irréversible. Soyez sûr de vous. settings.delete_desc=Attention, cette action est action irréversible. Soyez sûr de vous.
settings.delete_notices_1=- Cette opération <strong>ne peut pas </strong> être annulée. settings.delete_notices_1=- Cette opération <strong>ne peut pas </strong> être annulée.
settings.delete_notices_2=- Cette opération supprimera définitivement le dépôt, y compris les données Git, les tickets, les commentaires et les accès des collaborateurs. settings.delete_notices_2=- Cette opération supprimera définitivement le dépôt, y compris les données Git, les tickets, les commentaires et les accès des collaborateurs.
settings.delete_notices_fork_1=-Tous les forks deviendront indépendants après leffacement. settings.delete_notices_fork_1=-Tous les forks deviendront indépendants après l'effacement.
settings.deletion_success=Le dépôt a été supprimé avec succès! settings.deletion_success=Le dépôt a été supprimé avec succès!
settings.update_settings_success=Options mises à jour avec succès. settings.update_settings_success=Options mises à jour avec succès.
settings.transfer_owner=Nouveau propriétaire settings.transfer_owner=Nouveau propriétaire
@ -830,6 +831,7 @@ settings.recent_deliveries=Livraisons récentes
settings.hook_type=Type de Hook settings.hook_type=Type de Hook
settings.add_slack_hook_desc=Intégrer <a href="%s"> Slack</a> à votre dépôt. settings.add_slack_hook_desc=Intégrer <a href="%s"> Slack</a> à votre dépôt.
settings.add_discord_hook_desc=Ajouter l'intégration de <a href="%s">Discord</a> à votre dépôt. settings.add_discord_hook_desc=Ajouter l'intégration de <a href="%s">Discord</a> à votre dépôt.
settings.add_dingtalk_hook_desc=Add <a href="%s">Dingtalk</a> integration to your repository.
settings.slack_token=Jeton settings.slack_token=Jeton
settings.slack_domain=Domaine settings.slack_domain=Domaine
settings.slack_channel=Canal settings.slack_channel=Canal
@ -1103,7 +1105,7 @@ auths.attribute_username_placeholder=Laisser vide pour utiliser la valeur du for
auths.attribute_name=First Name Attribute auths.attribute_name=First Name Attribute
auths.attribute_surname=Attribut du nom de famille auths.attribute_surname=Attribut du nom de famille
auths.attribute_mail=Attribut de l'e-mail auths.attribute_mail=Attribut de l'e-mail
auths.verify_group_membership=Vérifier lappartenance à un groupe auths.verify_group_membership=Vérifier l'appartenance à un groupe
auths.group_search_base_dn=Group Search Base DN auths.group_search_base_dn=Group Search Base DN
auths.group_filter=Filtre par groupe auths.group_filter=Filtre par groupe
auths.group_attribute_contain_user_list=Attribut de groupe contenant la liste des utilisateurs auths.group_attribute_contain_user_list=Attribut de groupe contenant la liste des utilisateurs

2
conf/locale/locale_gl-ES.ini

@ -616,6 +616,7 @@ pulls.compare_compare=comparar con
pulls.filter_branch=Filtrar rama pulls.filter_branch=Filtrar rama
pulls.no_results=Sen resultados. pulls.no_results=Sen resultados.
pulls.nothing_to_compare=Nada que comparar. As dúas ramas coinciden. pulls.nothing_to_compare=Nada que comparar. As dúas ramas coinciden.
pulls.nothing_merge_base=There is nothing to compare because two branches have completely different history.
pulls.has_pull_request=`Xa existe un pull request entre estas dúas ramas: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>` pulls.has_pull_request=`Xa existe un pull request entre estas dúas ramas: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
pulls.create=Crear Pull Request pulls.create=Crear Pull Request
pulls.title_desc=desexa fusionar %[1]d achegas de <code>%[2]s</code> en <code>%[3]s</code> pulls.title_desc=desexa fusionar %[1]d achegas de <code>%[2]s</code> en <code>%[3]s</code>
@ -830,6 +831,7 @@ settings.recent_deliveries=Envíos recentes
settings.hook_type=Tipo de Hook settings.hook_type=Tipo de Hook
settings.add_slack_hook_desc=Engade integración con <a href="%s">Slack</a> ao teu repositorio. settings.add_slack_hook_desc=Engade integración con <a href="%s">Slack</a> ao teu repositorio.
settings.add_discord_hook_desc=Add <a href="%s">Discord</a> integration to your repository. settings.add_discord_hook_desc=Add <a href="%s">Discord</a> integration to your repository.
settings.add_dingtalk_hook_desc=Add <a href="%s">Dingtalk</a> integration to your repository.
settings.slack_token=Token settings.slack_token=Token
settings.slack_domain=Dominio settings.slack_domain=Dominio
settings.slack_channel=Canle settings.slack_channel=Canle

30
conf/locale/locale_hu-HU.ini

@ -241,7 +241,7 @@ auth_failed=Hitelesítési hiba: %v
still_own_repo=A felhasználód még legalább egy tároló tulajdonosa, először törölnöd kell őket vagy átadni másnak a tulajdonjogaikat. still_own_repo=A felhasználód még legalább egy tároló tulajdonosa, először törölnöd kell őket vagy átadni másnak a tulajdonjogaikat.
still_has_org=A fiókod még mindig tagja legalább egy szervezetnek. Először ki kell lépned vagy törölnöd kell a tagságodat. still_has_org=A fiókod még mindig tagja legalább egy szervezetnek. Először ki kell lépned vagy törölnöd kell a tagságodat.
org_still_own_repo=Ez a szervezet még repository-k tulajdonosa. Először töröld vagy ruházd át őket. org_still_own_repo=Ez a szervezet továbbra is tulajdonosa tárolóknak, ezért előbb törölje vagy adja át másnak a tárolókat.
target_branch_not_exist=Cél branch nem létezik. target_branch_not_exist=Cél branch nem létezik.
@ -616,6 +616,7 @@ pulls.compare_compare=összehasonlítás
pulls.filter_branch=Branch szűrése pulls.filter_branch=Branch szűrése
pulls.no_results=Nincs találat. pulls.no_results=Nincs találat.
pulls.nothing_to_compare=Nincs mit összehasonlítani, mert a base és a head branch egyezik. pulls.nothing_to_compare=Nincs mit összehasonlítani, mert a base és a head branch egyezik.
pulls.nothing_merge_base=Nincs mit összehasonlítani, mert két ág teljes mértékben különböző előzményekkel rendelkezik.
pulls.has_pull_request=`Már létezik egy pull kérés a két cél között: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>` pulls.has_pull_request=`Már létezik egy pull kérés a két cél között: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
pulls.create=Pull Kérés Létrehozása pulls.create=Pull Kérés Létrehozása
pulls.title_desc=szeretne %[1]d commit-ot egyesíteni innen: <code>%[2]s</code> ide: <code>%[3]s</code> pulls.title_desc=szeretne %[1]d commit-ot egyesíteni innen: <code>%[2]s</code> ide: <code>%[3]s</code>
@ -830,6 +831,7 @@ settings.recent_deliveries=Legutóbbi Küldések
settings.hook_type=Hook Típusa settings.hook_type=Hook Típusa
settings.add_slack_hook_desc=<a href="%s">Slack</a> integráció hozzáadása a repository-hoz. settings.add_slack_hook_desc=<a href="%s">Slack</a> integráció hozzáadása a repository-hoz.
settings.add_discord_hook_desc=<a href="%s">Discord</a> integráció hozzáadva a térolóhoz. settings.add_discord_hook_desc=<a href="%s">Discord</a> integráció hozzáadva a térolóhoz.
settings.add_dingtalk_hook_desc=<a href="%s">Dingtalk</a> integráció hozzáadása a tárolóhoz.
settings.slack_token=Token settings.slack_token=Token
settings.slack_domain=Domain settings.slack_domain=Domain
settings.slack_channel=Csatorna settings.slack_channel=Csatorna
@ -1291,23 +1293,23 @@ push_tag=feltöltött egy cimkét: <a href="%s/src/%s">%[2]s</a> ide: <a href="%
delete_tag=törölt egy cimkét <code>%[2]s</code> ekkor: <a href="%[1]s">%[3]s</a> delete_tag=törölt egy cimkét <code>%[2]s</code> ekkor: <a href="%[1]s">%[3]s</a>
[tool] [tool]
ago=óta ago=
from_now=mostantól from_now=mostantól
now=most now=most
1s=1 másodperce 1s=1 másodperce %s
1m=1 perce 1m=1 perce %s
1h=1 órája 1h=1 órája
1d=1 napja 1d=1 napja %s
1w=1 hete 1w=1 hete %s
1mon=1 hónapja 1mon=1 hónapja %s
1y=1 éve 1y=1 éve %s
seconds=%d másodperce seconds=%d másodperce %s
minutes=%d perce minutes=%d perce %s
hours=%d órája hours=%d órája
days=%d nap %s days=%d napja %s
weeks=%d hete weeks=%d hete %s
months=%d hónapja months=%d hónapja %s
years=%d éve years=%d éve %s
raw_seconds=másodperc raw_seconds=másodperc
raw_minutes=perc raw_minutes=perc

38
conf/locale/locale_it-IT.ini

@ -169,11 +169,11 @@ reset_password_helper=Clicca qui per reimpostare la password
password_too_short=La lunghezza della password non può essere meno 6 caratteri. password_too_short=La lunghezza della password non può essere meno 6 caratteri.
non_local_account=Gli account non locali non possono modificare le password tramite Gogs. non_local_account=Gli account non locali non possono modificare le password tramite Gogs.
login_two_factor=Two-factor Authentication login_two_factor=Autenticazione in Due Passaggi
login_two_factor_passcode=Authentication Passcode login_two_factor_passcode=Authentication Passcode
login_two_factor_enter_recovery_code=Enter a two-factor recovery code login_two_factor_enter_recovery_code=Inserisci il codice di recupero dell'Autenticazione a due Fattori
login_two_factor_recovery=Two-factor Recovery login_two_factor_recovery=Two-factor Recovery
login_two_factor_recovery_code=Recovery Code login_two_factor_recovery_code=Recupera il codice
login_two_factor_enter_passcode=Enter a two-factor passcode login_two_factor_enter_passcode=Enter a two-factor passcode
login_two_factor_invalid_recovery_code=Recovery code has been used or does not valid. login_two_factor_invalid_recovery_code=Recovery code has been used or does not valid.
@ -265,7 +265,7 @@ password=Password
avatar=Avatar avatar=Avatar
ssh_keys=Chiavi SSH ssh_keys=Chiavi SSH
security=Security security=Security
repos=Repositories repos=Repository
orgs=Organizzazioni orgs=Organizzazioni
applications=Applicazioni applications=Applicazioni
delete=Elimina account delete=Elimina account
@ -334,19 +334,19 @@ no_activity=Nessuna attività recente
key_state_desc=Hai utilizzato questa chiave negli ultimi 7 giorni key_state_desc=Hai utilizzato questa chiave negli ultimi 7 giorni
token_state_desc=Questo token e' satato utilizzato negli ultimi 7 giorni token_state_desc=Questo token e' satato utilizzato negli ultimi 7 giorni
two_factor=Two-factor Authentication two_factor=Autenticazione in Due Passaggi
two_factor_status=Status: two_factor_status=Status:
two_factor_on=On two_factor_on=Attiva
two_factor_off=Off two_factor_off=Off
two_factor_enable=Enable two_factor_enable=Enable
two_factor_disable=Disable two_factor_disable=Disattivata
two_factor_view_recovery_codes=View and save <a href="%s%s">your recovery codes</a> in a safe place. You can use them as passcode if you lose access to your authentication application. two_factor_view_recovery_codes=View and save <a href="%s%s">your recovery codes</a> in a safe place. You can use them as passcode if you lose access to your authentication application.
two_factor_http=For HTTP/HTTPS operations, you are no longer able to use plain username and password. Please create and use <a href="%[1]s%[2]s">Personal Access Token</a> as your credential, e.g. <code>%[3]s</code>. two_factor_http=For HTTP/HTTPS operations, you are no longer able to use plain username and password. Please create and use <a href="%[1]s%[2]s">Personal Access Token</a> as your credential, e.g. <code>%[3]s</code>.
two_factor_enable_title=Enable Two-factor Authentication two_factor_enable_title=Abilita l'autenticazione in due passaggi
two_factor_scan_qr=Please use your authentication application to scan the image: two_factor_scan_qr=Please use your authentication application to scan the image:
two_factor_or_enter_secret=Or enter the secret: two_factor_or_enter_secret=Or enter the secret:
two_factor_then_enter_passcode=Then enter passcode: two_factor_then_enter_passcode=Then enter passcode:
two_factor_verify=Verify two_factor_verify=Verifica
two_factor_invalid_passcode=The passcode you entered is not valid, please try again! two_factor_invalid_passcode=The passcode you entered is not valid, please try again!
two_factor_enable_error=Enable Two-factor authentication failed: %v two_factor_enable_error=Enable Two-factor authentication failed: %v
two_factor_enable_success=Two-factor authentication has enabled for your account successfully! two_factor_enable_success=Two-factor authentication has enabled for your account successfully!
@ -375,7 +375,7 @@ orgs.none=Non sei membro di alcuna organizzazione.
orgs.leave_title=Abbandona una organizzazione orgs.leave_title=Abbandona una organizzazione
orgs.leave_desc=Abbandonando l'organizzazione perderai l'accesso a tutti i repository e i gruppi. Confermi? orgs.leave_desc=Abbandonando l'organizzazione perderai l'accesso a tutti i repository e i gruppi. Confermi?
repos.leave=Leave repos.leave=Abbandona
repos.leave_title=Leave repository repos.leave_title=Leave repository
repos.leave_desc=You will lose access to the repository after you left. Do you want to continue? repos.leave_desc=You will lose access to the repository after you left. Do you want to continue?
repos.leave_success=You have left repository '%s' successfully! repos.leave_success=You have left repository '%s' successfully!
@ -605,8 +605,8 @@ issues.label_deletion=Elimina Etichetta
issues.label_deletion_desc=Eliminare l'etichetta rimuovera le sue informazioni in tutti i problemi correlati. Vuoi continuare? issues.label_deletion_desc=Eliminare l'etichetta rimuovera le sue informazioni in tutti i problemi correlati. Vuoi continuare?
issues.label_deletion_success=Etichetta eliminata con successo! issues.label_deletion_success=Etichetta eliminata con successo!
issues.num_participants=%d Partecipanti issues.num_participants=%d Partecipanti
issues.attachment.open_tab=`Click to see "%s" in a new tab` issues.attachment.open_tab='Clicca per vedere "%s" in una nuova scheda'
issues.attachment.download=`Click to download "%s"` issues.attachment.download=«Clicca qui per scaricare "%s"»
pulls.new=Nuova Pull Request pulls.new=Nuova Pull Request
pulls.compare_changes=Confronta le modifiche pulls.compare_changes=Confronta le modifiche
@ -616,6 +616,7 @@ pulls.compare_compare=confronta
pulls.filter_branch=Filtra branch pulls.filter_branch=Filtra branch
pulls.no_results=Nessun risultato trovato. pulls.no_results=Nessun risultato trovato.
pulls.nothing_to_compare=Non c'è niente da confrontare perchè i branch base e head uguali. pulls.nothing_to_compare=Non c'è niente da confrontare perchè i branch base e head uguali.
pulls.nothing_merge_base=There is nothing to compare because two branches have completely different history.
pulls.has_pull_request=`E' già presente una pull request tra questi due trargets: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>` pulls.has_pull_request=`E' già presente una pull request tra questi due trargets: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
pulls.create=Crea Pull Request pulls.create=Crea Pull Request
pulls.title_desc=vorrebbe unire %[1]d commit da <code>%[2]s</code> a <code>%[3]s</code> pulls.title_desc=vorrebbe unire %[1]d commit da <code>%[2]s</code> a <code>%[3]s</code>
@ -628,7 +629,7 @@ pulls.merged=Unito
pulls.has_merged=Questo contributo è stato incluso con successo! pulls.has_merged=Questo contributo è stato incluso con successo!
pulls.data_broken=I dati di questa pull request si sono rotti causa dell'eliminazione delle informazioni di fork. pulls.data_broken=I dati di questa pull request si sono rotti causa dell'eliminazione delle informazioni di fork.
pulls.is_checking=Il controllo dei conflitti è ancora in corso, per favore aggiorna pagina tra qualche istante. pulls.is_checking=Il controllo dei conflitti è ancora in corso, per favore aggiorna pagina tra qualche istante.
pulls.can_auto_merge_desc=La pull request non può essere mergiata automaticamente. pulls.can_auto_merge_desc=La pull request può essere mergiata automaticamente.
pulls.cannot_auto_merge_desc=Questa pull request non può essere mergiata automaticamente perchè ci sono dei conflitti. pulls.cannot_auto_merge_desc=Questa pull request non può essere mergiata automaticamente perchè ci sono dei conflitti.
pulls.cannot_auto_merge_helper=Effettua il merge manualmente per risolvere i conflitti. pulls.cannot_auto_merge_helper=Effettua il merge manualmente per risolvere i conflitti.
pulls.merge_pull_request=Unisci Pull Request pulls.merge_pull_request=Unisci Pull Request
@ -689,10 +690,10 @@ settings.branches=Branches
settings.branches_bare=You cannot manage branches for bare repository. Please push some content first. settings.branches_bare=You cannot manage branches for bare repository. Please push some content first.
settings.default_branch=Default Branch settings.default_branch=Default Branch
settings.default_branch_desc=The default branch is considered the "base" branch for code commits, pull requests and online editing. settings.default_branch_desc=The default branch is considered the "base" branch for code commits, pull requests and online editing.
settings.update=Update settings.update=Aggiorna
settings.update_default_branch_unsupported=Change default branch is not supported by the Git version on server. settings.update_default_branch_unsupported=Change default branch is not supported by the Git version on server.
settings.update_default_branch_success=Default branch of this repository has been updated successfully! settings.update_default_branch_success=Default branch of this repository has been updated successfully!
settings.protected_branches=Protected Branches settings.protected_branches=Branch protetti
settings.protected_branches_desc=Protect branches from force pushing, accidental deletion and whitelist code committers. settings.protected_branches_desc=Protect branches from force pushing, accidental deletion and whitelist code committers.
settings.choose_a_branch=Choose a branch... settings.choose_a_branch=Choose a branch...
settings.branch_protection=Branch Protection settings.branch_protection=Branch Protection
@ -808,8 +809,8 @@ settings.event_create=Crea
settings.event_create_desc=Branch, o tag creato settings.event_create_desc=Branch, o tag creato
settings.event_delete=Delete settings.event_delete=Delete
settings.event_delete_desc=Branch or tag deleted settings.event_delete_desc=Branch or tag deleted
settings.event_fork=Fork settings.event_fork=Forka
settings.event_fork_desc=Repository forked settings.event_fork_desc=Repository Forkata
settings.event_push=Push settings.event_push=Push
settings.event_push_desc=Git push in un repository settings.event_push_desc=Git push in un repository
settings.event_issues=Issues settings.event_issues=Issues
@ -830,6 +831,7 @@ settings.recent_deliveries=Recenti Deliveries
settings.hook_type=Tipo di Hook settings.hook_type=Tipo di Hook
settings.add_slack_hook_desc=Aggiungi <a href="%s"> Slack</a> integrazione al tuo repository. settings.add_slack_hook_desc=Aggiungi <a href="%s"> Slack</a> integrazione al tuo repository.
settings.add_discord_hook_desc=Add <a href="%s">Discord</a> integration to your repository. settings.add_discord_hook_desc=Add <a href="%s">Discord</a> integration to your repository.
settings.add_dingtalk_hook_desc=Add <a href="%s">Dingtalk</a> integration to your repository.
settings.slack_token=Token settings.slack_token=Token
settings.slack_domain=Dominio settings.slack_domain=Dominio
settings.slack_channel=Canale settings.slack_channel=Canale
@ -1242,7 +1244,7 @@ config.git_pull_timeout=Timeout per il pull
config.git_gc_timeout=Timeout per le operazioni di GC config.git_gc_timeout=Timeout per le operazioni di GC
config.log_config=Configurazione Log config.log_config=Configurazione Log
config.log_mode=Mode config.log_mode=Modalità
config.log_options=Options config.log_options=Options
monitor.cron=Incarici di cron monitor.cron=Incarici di cron

278
conf/locale/locale_ja-JP.ini

@ -69,7 +69,7 @@ app_name_helper=素晴らしい組織名を入れてください!
repo_path=リポジトリのルートパス repo_path=リポジトリのルートパス
repo_path_helper=すべての Git リモート リポジトリはこのディレクトリに保存されます。 repo_path_helper=すべての Git リモート リポジトリはこのディレクトリに保存されます。
run_user=実行ユーザ run_user=実行ユーザ
run_user_helper=ユーザーはリポジトリ ルートパスへのアクセス、及びGogs を実行する権限を所有する必要があります。 run_user_helper=ユーザーはリポジトリのルートパスへのアクセス権限、及び Gogs の実行権限を持っている必要があります。
domain=ドメイン domain=ドメイン
domain_helper=これはSSH用クローンURLに影響します。 domain_helper=これはSSH用クローンURLに影響します。
ssh_port=SSH ポート ssh_port=SSH ポート
@ -99,8 +99,8 @@ offline_mode=オフラインモードを有効にする
offline_mode_popup=プロダクションモードでは、CDNを使用せずにローカルからリソースファイルを使用します。 offline_mode_popup=プロダクションモードでは、CDNを使用せずにローカルからリソースファイルを使用します。
disable_gravatar=Gravatarのサービスを無効にします disable_gravatar=Gravatarのサービスを無効にします
disable_gravatar_popup=Gravatarとカスタムソースを無効にして、全てのアバターをユーザーによってアップロードされたものかデフォルトなものにします。 disable_gravatar_popup=Gravatarとカスタムソースを無効にして、全てのアバターをユーザーによってアップロードされたものかデフォルトなものにします。
federated_avatar_lookup=Enable Federated Avatars Lookup federated_avatar_lookup=連合アバター検索を有効にする
federated_avatar_lookup_popup=Enable federated avatars lookup to use federated open source service based on libravatar. federated_avatar_lookup_popup=Libavatarに基づいたオープンソースサービスを使用するには、連合アバター検索を有効にします。
disable_registration=自己登録を無効にする disable_registration=自己登録を無効にする
disable_registration_popup=自己登録を無効にし、管理者のみがアカウント作成できる disable_registration_popup=自己登録を無効にし、管理者のみがアカウント作成できる
enable_captcha=Captchaを有効にする enable_captcha=Captchaを有効にする
@ -117,9 +117,9 @@ install_gogs=Gogs をインストール
test_git_failed='Git' コマンドテストに失敗: %v test_git_failed='Git' コマンドテストに失敗: %v
sqlite3_not_available=このリリース バージョンは SQLite3 をサポートしていません。gobuild バージョンではない、公式のバイナリ バージョンを %s からダウンロードしてください。 sqlite3_not_available=このリリース バージョンは SQLite3 をサポートしていません。gobuild バージョンではない、公式のバイナリ バージョンを %s からダウンロードしてください。
invalid_db_setting=データベースの設定が正しくありません: %v invalid_db_setting=データベースの設定が正しくありません: %v
invalid_repo_path=リポジトリのルート パスが無効です: %v invalid_repo_path=リポジトリのルートパスが無効です: %v
run_user_not_match=実行ユーザーは、現在のユーザーではない: %s-> %s run_user_not_match=実行ユーザーは、現在のユーザーではない: %s-> %s
smtp_host_missing_port=SMTP Host is missing port in address. smtp_host_missing_port=SMTPホストのポートが見つかりません。
invalid_smtp_from=SMTP From フィールドの値が有効ではありません: %v invalid_smtp_from=SMTP From フィールドの値が有効ではありません: %v
save_config_failed=構成の保存に失敗した: %v save_config_failed=構成の保存に失敗した: %v
invalid_admin_setting=管理者アカウントの設定が無効です: %v invalid_admin_setting=管理者アカウントの設定が無効です: %v
@ -135,7 +135,7 @@ show_more_repos=リポジトリをさらに表示…
collaborative_repos=共同リポジトリ collaborative_repos=共同リポジトリ
my_orgs=自分の組織 my_orgs=自分の組織
my_mirrors=自分のミラー my_mirrors=自分のミラー
view_home=ビュー %s view_home=%s を見る
issues.in_your_repos=あなたのリポジトリ issues.in_your_repos=あなたのリポジトリ
@ -167,7 +167,7 @@ reset_password=パスワードリセット
invalid_code=申し訳ありませんが、確認用コードが期限切れまたは無効です。 invalid_code=申し訳ありませんが、確認用コードが期限切れまたは無効です。
reset_password_helper=パスワードをリセットするにはここをクリック reset_password_helper=パスワードをリセットするにはここをクリック
password_too_short=6文字未満のパスワードは設定できません。 password_too_short=6文字未満のパスワードは設定できません。
non_local_account=Non-local accounts cannot change passwords through Gogs. non_local_account=非ローカルアカウントではGogs経由でのパスワード変更はできません。
login_two_factor=2段階認証 login_two_factor=2段階認証
login_two_factor_passcode=認証用パスコード login_two_factor_passcode=認証用パスコード
@ -240,14 +240,14 @@ unable_verify_ssh_key=GogsはあなたのSSH keyを確認できません。し
auth_failed=認証に失敗しました: %v auth_failed=認証に失敗しました: %v
still_own_repo=アカウント所有のリポジトリがあり、リポジトリの削除または所有者の移譲が必要です。 still_own_repo=アカウント所有のリポジトリがあり、リポジトリの削除または所有者の移譲が必要です。
still_has_org=アカウントはまだ組織のメンバーであり、組織から退出するか削除する必要があります。 still_has_org=あなたのアカウントは1つ以上の組織に所属しているため、先に組織を脱退するか削除する必要があります。
org_still_own_repo=この組織はまだリポジトリの所有しています、リポジトリを削除または転送する必要があります。 org_still_own_repo=この組織はまだリポジトリの所有しています、リポジトリを削除または転送する必要があります。
target_branch_not_exist=ターゲットブランチが存在しない target_branch_not_exist=ターゲットブランチが存在しない
[user] [user]
change_avatar=アバターを変更 change_avatar=アバターを変更
join_on=参加しました join_on=登録日
repositories=リポジトリ repositories=リポジトリ
activity=パブリック・アクティビティ activity=パブリック・アクティビティ
followers=フォロワー followers=フォロワー
@ -256,7 +256,7 @@ following=フォロー
follow=フォロー follow=フォロー
unfollow=フォロー解除 unfollow=フォロー解除
form.name_reserved=ユーザー名 '%s' は予約されています。 form.name_reserved=ユーザー名 '%s' は使用されています。
form.name_pattern_not_allowed=ユーザ名のパターン '%s' は許可されていません。 form.name_pattern_not_allowed=ユーザ名のパターン '%s' は許可されていません。
[settings] [settings]
@ -284,7 +284,7 @@ continue=続行
cancel=キャンセル cancel=キャンセル
lookup_avatar_by_mail=メールからアバターを取得 lookup_avatar_by_mail=メールからアバターを取得
federated_avatar_lookup=Federated Avatar Lookup federated_avatar_lookup=連合アバター検索
enable_custom_avatar=カスタムのアバターを有効にする enable_custom_avatar=カスタムのアバターを有効にする
choose_new_avatar=新しいアバターを選択 choose_new_avatar=新しいアバターを選択
update_avatar=アバターの設定を更新 update_avatar=アバターの設定を更新
@ -310,13 +310,13 @@ email_deletion=電子メールの削除
email_deletion_desc=この電子メール アドレスを削除すると、あなたのアカウントの関連情報も削除されます。続行しますか。 email_deletion_desc=この電子メール アドレスを削除すると、あなたのアカウントの関連情報も削除されます。続行しますか。
email_deletion_success=電子メールが正常に削除されました。 email_deletion_success=電子メールが正常に削除されました。
add_new_email=新しいメールアドレスを追加 add_new_email=新しいメールアドレスを追加
add_email=電子メールを追加します。 add_email=メールアドレスの追加
add_email_confirmation_sent='%s' に新しい確認メールを送信しました、次の %d 時間以内に受信トレイを確認し、確認プロセスを完了してください。 add_email_confirmation_sent='%s' に新しい確認メールを送信しました、次の %d 時間以内に受信トレイを確認し、確認プロセスを完了してください。
add_email_success=新しいメールアドレスが追加されました。 add_email_success=新しいメールアドレスが追加されました。
manage_ssh_keys=SSH キーを管理 manage_ssh_keys=SSH キーを管理
add_key=キーを追加 add_key=キーを追加
ssh_desc=これはあなたのアカウントに関連付けられている SSH キーの一覧です。あなたが認識していないキーを削除します ssh_desc=あなたのアカウントに紐付けられているSSHキーの一覧です。SSHキーがあれば誰でもリポジトリへのアクセス権を得ることが出来ますので、見覚えのないSSHキーがないかよくご確認ください
ssh_helper=<strong>やり方がわかりませんか?</strong> GitHubのガイドをご覧ください。 <a href="%s"> SSHキーの作成</a> <a href="%s">SSH使用に際してよくある問題</a> ssh_helper=<strong>やり方がわかりませんか?</strong> GitHubのガイドをご覧ください。 <a href="%s"> SSHキーの作成</a> <a href="%s">SSH使用に際してよくある問題</a>
add_new_key=SSH キーを追加 add_new_key=SSH キーを追加
ssh_key_been_used=公開鍵は使用されています。 ssh_key_been_used=公開鍵は使用されています。
@ -328,7 +328,7 @@ delete_key=削除
ssh_key_deletion=SSH キーの削除 ssh_key_deletion=SSH キーの削除
ssh_key_deletion_desc=このSSHキーを削除すると、あなたのアカウントに関連するすべてのアクセスが削除されます。続行しますか? ssh_key_deletion_desc=このSSHキーを削除すると、あなたのアカウントに関連するすべてのアクセスが削除されます。続行しますか?
ssh_key_deletion_success=SSH キーは正常に削除されました! ssh_key_deletion_success=SSH キーは正常に削除されました!
add_on=追加された add_on=登録日
last_used=最終使用日 last_used=最終使用日
no_activity=最近の活動なし no_activity=最近の活動なし
key_state_desc=この鍵は7日間以内に使われています。 key_state_desc=この鍵は7日間以内に使われています。
@ -343,10 +343,10 @@ two_factor_disable=無効にする
two_factor_view_recovery_codes=<a href="%s%s">リカバリーコード</a>を確認し、安全な場所に保管してください。認証済みアプリケーションにアクセスできなくなったとき、パスコードとしてそれを使用できます。 two_factor_view_recovery_codes=<a href="%s%s">リカバリーコード</a>を確認し、安全な場所に保管してください。認証済みアプリケーションにアクセスできなくなったとき、パスコードとしてそれを使用できます。
two_factor_http=HTTP/HTTPS 通信において、平文のユーザー名・パスワードは使用できなくなりました。個人証明には<a href="%[1]s%[2]s">パーソナル・アクセストークン</a>を作成し利用してください。例:<code>%[3]s</code> two_factor_http=HTTP/HTTPS 通信において、平文のユーザー名・パスワードは使用できなくなりました。個人証明には<a href="%[1]s%[2]s">パーソナル・アクセストークン</a>を作成し利用してください。例:<code>%[3]s</code>
two_factor_enable_title=2段階認証を有効にする two_factor_enable_title=2段階認証を有効にする
two_factor_scan_qr=Please use your authentication application to scan the image: two_factor_scan_qr=認証アプリケーションを使用して画像をスキャンしてください :
two_factor_or_enter_secret=Or enter the secret: two_factor_or_enter_secret=またはシークレットを入力:
two_factor_then_enter_passcode=パスコードを入力してください: two_factor_then_enter_passcode=パスコードを入力してください:
two_factor_verify=Verify two_factor_verify=確認
two_factor_invalid_passcode=入力されたパスコードは使用できません。もう一度お試しください。 two_factor_invalid_passcode=入力されたパスコードは使用できません。もう一度お試しください。
two_factor_enable_error=2段階認証の有効化に失敗しました: %v two_factor_enable_error=2段階認証の有効化に失敗しました: %v
two_factor_enable_success=2段階認証があなたのアカウントで有効化されました! two_factor_enable_success=2段階認証があなたのアカウントで有効化されました!
@ -372,13 +372,13 @@ access_token_deletion_desc=パーソナルアクセストークンを削除す
delete_token_success=パーソナルアクセストークンは正常に削除されました!同時にあなたのアプリケーションを更新することを忘れないでください。 delete_token_success=パーソナルアクセストークンは正常に削除されました!同時にあなたのアプリケーションを更新することを忘れないでください。
orgs.none=あなたはどの組織のメンバーでもありません。 orgs.none=あなたはどの組織のメンバーでもありません。
orgs.leave_title=Leave organization orgs.leave_title=組織を作成
orgs.leave_desc=You will lose access to all repositories and teams after you left the organization. Do you want to continue? orgs.leave_desc=組織から脱退すると、全てのリポジトリとチームへのアクセスができなくなります。続行しますか?
repos.leave=Leave repos.leave=脱退
repos.leave_title=Leave repository repos.leave_title=リポジトリから脱退
repos.leave_desc=You will lose access to the repository after you left. Do you want to continue? repos.leave_desc=脱退するとリポジトリへのアクセスができなくなります。よろしいですか?
repos.leave_success=You have left repository '%s' successfully! repos.leave_success=リポジトリ '%s' からの脱退が完了しました!
delete_account=アカウントを削除 delete_account=アカウントを削除
delete_prompt=この操作をするとアカウントが完全に削除され、<strong>二度と元に戻すことができなくなります</strong> ! delete_prompt=この操作をするとアカウントが完全に削除され、<strong>二度と元に戻すことができなくなります</strong> !
@ -391,8 +391,8 @@ owner=オーナー
repo_name=リポジトリ名 repo_name=リポジトリ名
repo_name_helper=短くて分かりやすく<strong>重複しない</strong>リポジトリ名を決めてください。 repo_name_helper=短くて分かりやすく<strong>重複しない</strong>リポジトリ名を決めてください。
visibility=公開/非公開 visibility=公開/非公開
visiblity_helper=このリポジトリは<span class="ui red text">プライベート</span>です。 visiblity_helper=このリポジトリは<span class="ui red text">非公開</span>です
visiblity_helper_forced=サイト管理者は、強制的にすべての新しいリポジトリを<span class="ui red text"> プライベート</span> にしています。 visiblity_helper_forced=サイト管理者が、すべての新しいリポジトリを<span class="ui red text">非公開</span>にすることを強制しています
visiblity_fork_helper=(この値の変更はすべてのフォークに適用されます) visiblity_fork_helper=(この値の変更はすべてのフォークに適用されます)
clone_helper=クローンに関してお困りであれば<a target="_blank"href="%s"> ヘルプ</a> を参照しましょう。 clone_helper=クローンに関してお困りであれば<a target="_blank"href="%s"> ヘルプ</a> を参照しましょう。
fork_repo=リポジトリをフォーク fork_repo=リポジトリをフォーク
@ -400,7 +400,7 @@ fork_from=フォーク元
fork_visiblity_helper=フォークされたリポジトリの可視状態は変更できません。 fork_visiblity_helper=フォークされたリポジトリの可視状態は変更できません。
repo_desc=説明 repo_desc=説明
repo_lang=言語 repo_lang=言語
repo_gitignore_helper=Select .gitignore templates repo_gitignore_helper=.gitignoreのテンプレートを選択
license=ライセンス license=ライセンス
license_helper=ライセンス ファイルを選択 license_helper=ライセンス ファイルを選択
readme=Readme readme=Readme
@ -409,10 +409,10 @@ auto_init=選択されたファイルおよびテンプレートでリポジト
create_repo=リポジトリを作成 create_repo=リポジトリを作成
default_branch=デフォルトのブランチ default_branch=デフォルトのブランチ
mirror_prune=Prune mirror_prune=Prune
mirror_prune_desc=Remove any remote-tracking references that no longer exist on the remote mirror_prune_desc=リモートに存在しないリモート追跡参照を削除する
mirror_interval=ミラー 間隔(時) mirror_interval=ミラー 間隔(時)
mirror_address=ミラー アドレス mirror_address=ミラー アドレス
mirror_address_desc=Please include necessary user credentials in the address. mirror_address_desc=アドレスに必要なユーザーの資格情報を入力してください。
mirror_last_synced=最終同期 mirror_last_synced=最終同期
watchers=ウォッチャー watchers=ウォッチャー
stargazers=Stargazers stargazers=Stargazers
@ -428,7 +428,7 @@ migrate_type_helper=このリポジトリは、<span class="text blue"> ミラ
migrate_repo=リポジトリを移行 migrate_repo=リポジトリを移行
migrate.clone_address=クローンアドレス migrate.clone_address=クローンアドレス
migrate.clone_address_desc=HTTP/HTTPS/GIT URLを設定できます。 migrate.clone_address_desc=HTTP/HTTPS/GIT URLを設定できます。
migrate.clone_address_desc_import_local=You're also allowed to migrate a repository by local server path. migrate.clone_address_desc_import_local=ローカルサーバーのパスでリポジトリを移行することもできます。
migrate.permission_denied=ローカル リポジトリをインポートすることはできません。 migrate.permission_denied=ローカル リポジトリをインポートすることはできません。
migrate.invalid_local_path=ローカルパスが無効です。存在しないかディレクトリではありません。 migrate.invalid_local_path=ローカルパスが無効です。存在しないかディレクトリではありません。
migrate.failed=移行に失敗しました: %v migrate.failed=移行に失敗しました: %v
@ -450,7 +450,7 @@ quick_guide=クイック ガイド
clone_this_repo=このリポジトリのクローンを作成 clone_this_repo=このリポジトリのクローンを作成
create_new_repo_command=コマンドラインで新しいリポジトリを作成します。 create_new_repo_command=コマンドラインで新しいリポジトリを作成します。
push_exist_repo=コマンド ・ ラインから既存のリポジトリをプッシュ push_exist_repo=コマンド ・ ラインから既存のリポジトリをプッシュ
bare_message=This repository does not have any content yet. bare_message=このリポジトリにはまだコンテンツがありません。
files=ファイル files=ファイル
branch=ブランチ branch=ブランチ
@ -472,9 +472,9 @@ file_permalink=パーマリンク
file_too_large=このファイルは大きすぎるため、表示できません。 file_too_large=このファイルは大きすぎるため、表示できません。
video_not_supported_in_browser=お使いのブラウザーは、HTML5 の video タグをサポートしていません。 video_not_supported_in_browser=お使いのブラウザーは、HTML5 の video タグをサポートしていません。
branches.overview=Overview branches.overview=概要
branches.active_branches=Active Branches branches.active_branches=アクティブブランチ
branches.stale_branches=Stale Branches branches.stale_branches=古いブランチ
branches.all=すべてのブランチ branches.all=すべてのブランチ
branches.updated_by=%[1]s が %[2]s によって更新されました branches.updated_by=%[1]s が %[2]s によって更新されました
branches.change_default_branch=デフォルトブランチの変更 branches.change_default_branch=デフォルトブランチの変更
@ -482,16 +482,16 @@ branches.change_default_branch=デフォルトブランチの変更
editor.new_file=新規ファイル editor.new_file=新規ファイル
editor.upload_file=ファイルをアップロード editor.upload_file=ファイルをアップロード
editor.edit_file=ファイルを編集 editor.edit_file=ファイルを編集
editor.preview_changes=Preview Changes editor.preview_changes=変更箇所のプレビュー
editor.cannot_edit_non_text_files=テキストファイルでないため編集できません editor.cannot_edit_non_text_files=テキストファイルでないため編集できません
editor.edit_this_file=このファイルを編集 editor.edit_this_file=このファイルを編集
editor.must_be_on_a_branch=You must be on a branch to make or propose changes to this file editor.must_be_on_a_branch=You must be on a branch to make or propose changes to this file
editor.fork_before_edit=ファイルを編集する前にこのリポジトリをフォークする必要があります。 editor.fork_before_edit=ファイルを編集する前にこのリポジトリをフォークする必要があります。
editor.delete_this_file=このファイルを削除 editor.delete_this_file=このファイルを削除
editor.must_have_write_access=You must have write access to make or propose changes to this file editor.must_have_write_access=このファイルへの変更を作成・提案するには、書き込み権限が必要です
editor.file_delete_success=ファイル '%s' は正常に削除されました! editor.file_delete_success=ファイル '%s' は正常に削除されました!
editor.name_your_file=ファイル名を設定... editor.name_your_file=ファイル名を設定...
editor.filename_help=To add directory, just type it and press /. To remove a directory, go to the beginning of the field and press backspace. editor.filename_help=ディレクトリを追加するには、ディレクトリ名を入力後 / を入力してください。削除するには、入力欄の先頭まで移動し backspace キーを押してください。
editor.or=もしくは editor.or=もしくは
editor.cancel_lower=キャンセル editor.cancel_lower=キャンセル
editor.commit_changes=変更をコミット editor.commit_changes=変更をコミット
@ -500,14 +500,14 @@ editor.add='%s' を追加
editor.update='%s' を更新 editor.update='%s' を更新
editor.delete='%s' を削除 editor.delete='%s' を削除
editor.commit_message_desc=詳細な説明を追加... editor.commit_message_desc=詳細な説明を追加...
editor.commit_directly_to_this_branch=Commit directly to the <strong class="branch-name">%s</strong> branch. editor.commit_directly_to_this_branch=<strong class="branch-name">%s</strong> ブランチに直接コミットする。
editor.create_new_branch=Create a <strong>new branch</strong> for this commit and start a pull request. editor.create_new_branch=このコミットのために<strong>新しいブランチ</strong>を作成し、プルリクエストの作成を開始する。
editor.new_branch_name_desc=新しいブランチ名... editor.new_branch_name_desc=新しいブランチ名...
editor.cancel=キャンセル editor.cancel=キャンセル
editor.filename_cannot_be_empty=ファイル名を空にすることはできません。 editor.filename_cannot_be_empty=ファイル名を空にすることはできません。
editor.branch_already_exists=Branch '%s' already exists in this repository. editor.branch_already_exists=ブランチ '%s' は、このリポジトリに既に存在します。
editor.directory_is_a_file=Entry '%s' in the parent path is a file not a directory in this repository. editor.directory_is_a_file=Entry '%s' in the parent path is a file not a directory in this repository.
editor.file_is_a_symlink=The file '%s' is a symlink that cannot be modified from the web editor. editor.file_is_a_symlink=ファイル '%s' はシンボリックリンクのため、Webエディターから編集することができません。
editor.filename_is_a_directory=ファイル名 '%s' は、このリポジトリに存在するディレクトリと同じ名前です。 editor.filename_is_a_directory=ファイル名 '%s' は、このリポジトリに存在するディレクトリと同じ名前です。
editor.file_editing_no_longer_exists=あなたが編集しているファイル '%s' は、すでにリポジトリに存在しません。 editor.file_editing_no_longer_exists=あなたが編集しているファイル '%s' は、すでにリポジトリに存在しません。
editor.file_changed_while_editing=あなたが編集を開始してから、ファイルの内容が変更されました。<a target="_blank" href="%s">ここをクリック</a>して変更箇所を確認するか、<strong>コミットをもう一度押して</strong>変更を上書きしてください。 editor.file_changed_while_editing=あなたが編集を開始してから、ファイルの内容が変更されました。<a target="_blank" href="%s">ここをクリック</a>して変更箇所を確認するか、<strong>コミットをもう一度押して</strong>変更を上書きしてください。
@ -563,14 +563,14 @@ issues.filter_type.assigned_to_you=担当中のリポジトリ
issues.filter_type.created_by_you=作成したリポジトリ issues.filter_type.created_by_you=作成したリポジトリ
issues.filter_type.mentioning_you=あなたに伝える issues.filter_type.mentioning_you=あなたに伝える
issues.filter_sort=並べ替え issues.filter_sort=並べ替え
issues.filter_sort.latest=最新 issues.filter_sort.latest=作成が新しい順
issues.filter_sort.oldest=最も古い issues.filter_sort.oldest=作成が古い順
issues.filter_sort.recentupdate=最近更新された issues.filter_sort.recentupdate=更新が新しい順
issues.filter_sort.leastupdate=つい最近更新 issues.filter_sort.leastupdate=作成が古い順
issues.filter_sort.mostcomment=一番多いコメント issues.filter_sort.mostcomment=コメントが多い順
issues.filter_sort.leastcomment=一番少ないコメント issues.filter_sort.leastcomment=コメントが少ない順
issues.opened_by=%[1]s <a href="%[2]s">%[3]s</a> によって開かれました issues.opened_by=%[1]s <a href="%[2]s">%[3]s</a> によって開かれました
issues.opened_by_fake=%[1]s %[2]s によって開かれました issues.opened_by_fake=%[1]s %[2]s によって開かれました
issues.previous=前ページ issues.previous=前ページ
issues.next=次ページ issues.next=次ページ
issues.open_title=オープン issues.open_title=オープン
@ -584,8 +584,8 @@ issues.close_comment_issue=コメントしてクローズ
issues.reopen_issue=Reopen issues.reopen_issue=Reopen
issues.reopen_comment_issue=コメントと再開 issues.reopen_comment_issue=コメントと再開
issues.create_comment=コメント  issues.create_comment=コメント 
issues.closed_at=`<a id="%[1]s" href="#%[1]s">%[2]s</a> 閉じられました` issues.closed_at=`<a id="%[1]s" href="#%[1]s">%[2]s</a> 閉じられました`
issues.reopened_at=`<a id="%[1]s" href="#%[1]s">%[2]s</a> 再び開かれました` issues.reopened_at=`<a id="%[1]s" href="#%[1]s">%[2]s</a> 再び開かれました`
issues.commit_ref_at=`この課題がコミット <a id="%[1]s" href="#%[1]s">%[2]s</a> から参照されました` issues.commit_ref_at=`この課題がコミット <a id="%[1]s" href="#%[1]s">%[2]s</a> から参照されました`
issues.poster=ポスター issues.poster=ポスター
issues.collaborator=共同編集者 issues.collaborator=共同編集者
@ -615,19 +615,20 @@ pulls.compare_base=ベース
pulls.compare_compare=比較 pulls.compare_compare=比較
pulls.filter_branch=フィルターブランチ pulls.filter_branch=フィルターブランチ
pulls.no_results=結果が見つかりませんでした。 pulls.no_results=結果が見つかりませんでした。
pulls.nothing_to_compare=There is nothing to compare because base and head branches are even. pulls.nothing_to_compare=ベースブランチとヘッドブランチが同一であるため、比較するものがありません。
pulls.nothing_merge_base=There is nothing to compare because two branches have completely different history.
pulls.has_pull_request=`既にプルリクエストがこれらのターゲット間に存在します: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>` pulls.has_pull_request=`既にプルリクエストがこれらのターゲット間に存在します: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
pulls.create=プルリクエストを作成します。 pulls.create=プルリクエストを作成します。
pulls.title_desc=wants to merge %[1]d commits from <code>%[2]s</code> into <code>%[3]s</code> pulls.title_desc=wants to merge %[1]d commits from <code>%[2]s</code> into <code>%[3]s</code>
pulls.merged_title_desc=merged %[1]d commits from <code>%[2]s</code> into <code>%[3]s</code> %[4]s pulls.merged_title_desc=%[4]s に %[1]d 件のコミットが <code>%[2]s</code> から <code>%[3]s</code> にマージされました
pulls.tab_conversation=会話 pulls.tab_conversation=会話
pulls.tab_commits=コミット pulls.tab_commits=コミット
pulls.tab_files=ファイルが変更された pulls.tab_files=ファイルが変更された
pulls.reopen_to_merge=Please reopen this pull request to perform merge operation. pulls.reopen_to_merge=マージ操作を実行するには、このプルリクエストを再び開いてください。
pulls.merged=マージされた pulls.merged=マージされた
pulls.has_merged=このプルプルリクエストは正常にマージされました! pulls.has_merged=このプルプルリクエストは正常にマージされました!
pulls.data_broken=Data of this pull request has been broken due to deletion of fork information. pulls.data_broken=Data of this pull request has been broken due to deletion of fork information.
pulls.is_checking=The conflict checking is still in progress, please refresh page in few moments. pulls.is_checking=コンフリクトが発生していないかチェック中です、しばらく待ったのちページを更新してください。
pulls.can_auto_merge_desc=このプルリクエストは自動的にマージできます。 pulls.can_auto_merge_desc=このプルリクエストは自動的にマージできます。
pulls.cannot_auto_merge_desc=コンフリクトが発生しているため、このプルリクエストを自動的にマージすることはできません。 pulls.cannot_auto_merge_desc=コンフリクトが発生しているため、このプルリクエストを自動的にマージすることはできません。
pulls.cannot_auto_merge_helper=競合を解決するためには、手動でマージする必要があります。 pulls.cannot_auto_merge_helper=競合を解決するためには、手動でマージする必要があります。
@ -643,27 +644,27 @@ milestones.closed=%s を閉じました
milestones.no_due_date=期限なし milestones.no_due_date=期限なし
milestones.open=開く milestones.open=開く
milestones.close=閉じる milestones.close=閉じる
milestones.new_subheader=あなたの課題を整理するためマイルス トーンを作成します。 milestones.new_subheader=あなたの課題を整理するためマイルストーンを作成します。
milestones.create=マイルス トーンを作成 milestones.create=マイルストーンを作成
milestones.title=タイトル milestones.title=タイトル
milestones.desc=説明 milestones.desc=説明
milestones.due_date=期日 (オプション) milestones.due_date=期日 (オプション)
milestones.clear=消去 milestones.clear=消去
milestones.invalid_due_date_format=限日付のフォーマットが無効、'yyyy-mm-dd' のフォーマットが必要です。 milestones.invalid_due_date_format=日のフォーマットが無効です、 'yyyy-mm-dd' の形式である必要があります。
milestones.create_success=マイルス トーン '%s' が正常に作成されました! milestones.create_success=マイルストーン '%s' が正常に作成されました
milestones.edit=マイルス トーンを編集 milestones.edit=マイルストーンを編集
milestones.edit_subheader=人々を混乱させないため、マイルス トーンにより良い説明を使用します milestones.edit_subheader=メンバーを混乱させないよう、マイルストーンの説明はわかりやすくしましょう
milestones.cancel=キャンセル milestones.cancel=キャンセル
milestones.modify=マイルス トーンを変更します。 milestones.modify=マイルストーンを変更
milestones.edit_success=マイルス トーン '%s' の変更が正常に保存されました milestones.edit_success=マイルストーン '%s' の変更が正常に保存されました
milestones.deletion=マイルス トーンの削除 milestones.deletion=マイルストーンの削除
milestones.deletion_desc=このマイルス トーンを削除すると、関連課題に該当情報が削除されます。続行しますか。 milestones.deletion_desc=マイルストーンを削除すると、課題との紐付け情報が削除されます。続行しますか?
milestones.deletion_success=マイルス トーンは正常に削除されました。 milestones.deletion_success=マイルストーンは正常に削除されました!
wiki=Wiki wiki=Wiki
wiki.welcome=Wiki へようこそ! wiki.welcome=Wiki へようこそ!
wiki.welcome_desc=Wikiとは、あなたのプロジェクトを文書化し、複数人で一緒に編集する場所です。 wiki.welcome_desc=Wikiとは、あなたのプロジェクトを文書化し、複数人で一緒に編集する場所です。
wiki.create_first_page=最初のページを作成する wiki.create_first_page=最初のページを作成する
wiki.page=ページ wiki.page=ページ
wiki.filter_page=フィルターページ wiki.filter_page=フィルターページ
wiki.new_page=新しいページを作成 wiki.new_page=新しいページを作成
@ -686,9 +687,9 @@ settings.collaboration.write=書込
settings.collaboration.read=読込 settings.collaboration.read=読込
settings.collaboration.undefined=未定義 settings.collaboration.undefined=未定義
settings.branches=ブランチ settings.branches=ブランチ
settings.branches_bare=You cannot manage branches for bare repository. Please push some content first. settings.branches_bare=リポジトリが初期の状態ではブランチの設定はおこなえません。まずは何かプッシュしてください。
settings.default_branch=デフォルトブランチ settings.default_branch=デフォルトブランチ
settings.default_branch_desc=The default branch is considered the "base" branch for code commits, pull requests and online editing. settings.default_branch_desc=デフォルトブランチは、コードのコミットやプルリクエスト、オンライン編集において「基点」となるブランチです。
settings.update=更新 settings.update=更新
settings.update_default_branch_unsupported=このサーバー上のGitバージョンではデフォルトブランチの変更がサポートされていません。 settings.update_default_branch_unsupported=このサーバー上のGitバージョンではデフォルトブランチの変更がサポートされていません。
settings.update_default_branch_success=このリポジトリのデフォルトブランチが更新されました! settings.update_default_branch_success=このリポジトリのデフォルトブランチが更新されました!
@ -719,31 +720,31 @@ settings.update_settings=設定の更新
settings.change_reponame_prompt=この変更はリンクがリポジトリに関連付ける方法に影響します。 settings.change_reponame_prompt=この変更はリンクがリポジトリに関連付ける方法に影響します。
settings.advanced_settings=拡張設定 settings.advanced_settings=拡張設定
settings.wiki_desc=Wiki システムを有効にする settings.wiki_desc=Wiki システムを有効にする
settings.use_internal_wiki=Use builtin wiki settings.use_internal_wiki=内蔵 Wiki を使用する
settings.allow_public_wiki_desc=Allow public access to wiki when repository is private settings.allow_public_wiki_desc=非公開リポジトリであってもWikiへのアクセスは誰でも可能にする
settings.use_external_wiki=外部 wiki を使用します。 settings.use_external_wiki=外部 Wiki を使用する
settings.external_wiki_url=外部 Wiki の URL settings.external_wiki_url=外部 Wiki の URL
settings.external_wiki_url_desc=Visitors will be redirected to URL when they click on the tab. settings.external_wiki_url_desc=訪問者がタブをクリックしたとき、このURLにリダイレクトされます。
settings.issues_desc=課題トラッキングツールを有効 settings.issues_desc=課題トラッキングツールを有効
settings.use_internal_issue_tracker=Use builtin lightweight issue tracker settings.use_internal_issue_tracker=軽量な内蔵の課題トラッキングシステムを使用
settings.allow_public_issues_desc=Allow public access to issues when repository is private settings.allow_public_issues_desc=非公開リポジトリであっても課題へのアクセスは誰でも可能にする
settings.use_external_issue_tracker=外部課題トラッキングシステムを使用 settings.use_external_issue_tracker=外部課題トラッキングシステムを使用
settings.external_tracker_url=外部課題トラッキングツール URL settings.external_tracker_url=外部課題トラッキングツール URL
settings.external_tracker_url_desc=Visitors will be redirected to URL when they click on the tab. settings.external_tracker_url_desc=訪問者がタブをクリックしたとき、このURLにリダイレクトされます。
settings.tracker_url_format=外部課題トラッキングツール URLのフォーマット settings.tracker_url_format=外部課題トラッキングツール URLのフォーマット
settings.tracker_issue_style=External Issue Tracker Naming Style: settings.tracker_issue_style=外部課題トラッキングシステムの命名方式:
settings.tracker_issue_style.numeric=数値 settings.tracker_issue_style.numeric=数値
settings.tracker_issue_style.alphanumeric=英数字 settings.tracker_issue_style.alphanumeric=英数字
settings.tracker_url_format_desc=You can use placeholder <code>{user} {repo} {index}</code> for user name, repository name and issue index. settings.tracker_url_format_desc=ユーザー名、リポジトリ名、課題番号を埋め込むために <code>{user} {repo} {index}</code> が使用できます。
settings.pulls_desc=Enable pull requests to accept public contributions settings.pulls_desc=誰でもコントリビュートできるよう、プルリクエストの受け付けを有効にします
settings.danger_zone=危険地帯 settings.danger_zone=危険地帯
settings.cannot_fork_to_same_owner=元の持ち主に向けてフォークすることは出来ません。 settings.cannot_fork_to_same_owner=元の持ち主に向けてフォークすることは出来ません。
settings.new_owner_has_same_repo=新しいオーナーは、既に同じ名前のリポジトリを持っています。 settings.new_owner_has_same_repo=新しいオーナーは、既に同じ名前のリポジトリを持っています。
settings.convert=Convert To Regular Repository settings.convert=通常リポジトリへ変更
settings.convert_desc=You can convert this mirror to a regular repository. This cannot be reversed. settings.convert_desc=ミラーリポジトリを通常のリポジトリに変更します。この操作は元に戻せません。
settings.convert_notices_1=- This operation will convert this repository mirror into a regular repository and cannot be undone. settings.convert_notices_1=- この操作によりリポジトリはミラーリポジトリから通常リポジトリへと変更され、元に戻すことはできません。
settings.convert_confirm=Confirm Conversion settings.convert_confirm=変更を確認
settings.convert_succeed=Repository has been converted to regular type successfully. settings.convert_succeed=リポジトリは正常に通常リポジトリへ変更されました。
settings.transfer=オーナー移転 settings.transfer=オーナー移転
settings.transfer_desc=リポジトリをあなたが管理者権限を持っている別のユーザーまた組織に移譲します。 settings.transfer_desc=リポジトリをあなたが管理者権限を持っている別のユーザーまた組織に移譲します。
settings.transfer_notices_1=-新しい所有者が個人ユーザーの場合、あなたがアクセスできなくなります。 settings.transfer_notices_1=-新しい所有者が個人ユーザーの場合、あなたがアクセスできなくなります。
@ -778,10 +779,10 @@ settings.webhook_deletion=Webhook を削除
settings.webhook_deletion_desc=このwebhookを削除すると、すべての情報と配信履歴が削除されます。続行しますか? settings.webhook_deletion_desc=このwebhookを削除すると、すべての情報と配信履歴が削除されます。続行しますか?
settings.webhook_deletion_success=Webhook が正常に削除されました。 settings.webhook_deletion_success=Webhook が正常に削除されました。
settings.webhook.test_delivery=テスト配信 settings.webhook.test_delivery=テスト配信
settings.webhook.test_delivery_desc=Send a fake push event delivery to test your webhook settings settings.webhook.test_delivery_desc=Webhook 設定をテストするために、フェイクのpushイベントを送信します
settings.webhook.test_delivery_success=Test webhook has been added to delivery queue. It may take few seconds before it shows up in the delivery history. settings.webhook.test_delivery_success=テスト Webhook が配信キューに追加されました。配信履歴に表示されるまでにはしばらく時間がかかる場合があります。
settings.webhook.redelivery=再送信 settings.webhook.redelivery=再送信
settings.webhook.redelivery_success=Hook task '%s' has been readded to delivery queue. It may take few seconds to update delivery status in history. settings.webhook.redelivery_success=フックタスク '%s' が配信キューに再び追加されました。配信履歴に表示されるまでにはしばらく時間がかかる場合があります。
settings.webhook.request=リクエスト settings.webhook.request=リクエスト
settings.webhook.response=レスポンス settings.webhook.response=レスポンス
settings.webhook.headers=ヘッダ settings.webhook.headers=ヘッダ
@ -800,26 +801,26 @@ settings.secret_desc=Secret will be sent as SHA256 HMAC hex digest of payload vi
settings.slack_username=ユーザ名 settings.slack_username=ユーザ名
settings.slack_icon_url=アイコン URL settings.slack_icon_url=アイコン URL
settings.slack_color=カラー settings.slack_color=カラー
settings.event_desc=どのイベントをこのWEBフックのトリガーにしますか? settings.event_desc=どのイベントをこの Webhook のトリガーにしますか?
settings.event_push_only=<code>push</code> イベントのみ settings.event_push_only=<code>push</code> イベントのみ
settings.event_send_everything=<strong>すべて</strong> が必要です。 settings.event_send_everything=<strong>すべて</strong>のイベント
settings.event_choose=必要なものを選択しましょう。 settings.event_choose=必要なものを選択
settings.event_create=Create settings.event_create=作成
settings.event_create_desc=ブランチ、またはタグを作成 settings.event_create_desc=ブランチやタグの作成時
settings.event_delete=削除 settings.event_delete=削除
settings.event_delete_desc=Branch or tag deleted settings.event_delete_desc=ブランチやタグの削除時
settings.event_fork=フォーク settings.event_fork=フォーク
settings.event_fork_desc=リポジトリがフォークされまし settings.event_fork_desc=リポジトリがフォークされた
settings.event_push=プッシュ settings.event_push=プッシュ
settings.event_push_desc=Git リポジトリにプッシュ settings.event_push_desc=リポジトリへのプッシュがされた時
settings.event_issues=課題 settings.event_issues=課題
settings.event_issues_desc=Issue opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, or demilestoned. settings.event_issues_desc=課題の開始・終了・再開・編集・アサイン・アサイン解除・ラベル更新・ラベル削除・マイルストーン紐付け・マイルストーン紐付け解除がされた時
settings.event_issue_comment=課題へのコメント settings.event_issue_comment=課題へのコメント
settings.event_issue_comment_desc=Issue comment created, edited, or deleted. settings.event_issue_comment_desc=課題へのコメントが作成・編集・削除された時
settings.event_pull_request=プルリクエスト settings.event_pull_request=プルリクエスト
settings.event_pull_request_desc=Pull request opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, demilestoned, or synchronized. settings.event_pull_request_desc=プルリクエストの開始・終了・再開・編集・アサイン・アサイン解除・ラベル更新・ラベル削除・マイルストーン紐付け・マイルストーン紐付け解除・同期がされた時
settings.event_release=リリース settings.event_release=リリース
settings.event_release_desc=リポジトリでリリースが公開されました。 settings.event_release_desc=リポジトリでリリースが公開された時
settings.active=アクティブ settings.active=アクティブ
settings.active_helper=このフックのトリガーが引かれた時に、イベントの詳細を配信します。 settings.active_helper=このフックのトリガーが引かれた時に、イベントの詳細を配信します。
settings.add_hook_success=新しい webhook が追加されました。 settings.add_hook_success=新しい webhook が追加されました。
@ -828,13 +829,14 @@ settings.update_hook_success=Webhook を更新しました。
settings.delete_webhook=Webhook を削除 settings.delete_webhook=Webhook を削除
settings.recent_deliveries=最近のデリバリー settings.recent_deliveries=最近のデリバリー
settings.hook_type=フックタイプ settings.hook_type=フックタイプ
settings.add_slack_hook_desc=リポジトリに <a href="%s"> Slack</a> 連携を追加します。 settings.add_slack_hook_desc=リポジトリに <a href="%s">Slack</a> 連携を追加します。
settings.add_discord_hook_desc=リポジトリに <a href="%s">Discord</a> 連携を追加します。 settings.add_discord_hook_desc=リポジトリに <a href="%s">Discord</a> 連携を追加します。
settings.add_dingtalk_hook_desc=Add <a href="%s">Dingtalk</a> integration to your repository.
settings.slack_token=トークン settings.slack_token=トークン
settings.slack_domain=ドメイン settings.slack_domain=ドメイン
settings.slack_channel=チャンネル settings.slack_channel=チャンネル
settings.deploy_keys=デプロイキー settings.deploy_keys=デプロイキー
settings.deploy_keys_helper=<b>Common Gotcha!</b> If you're looking for adding personal public keys, please add them in your <a href="%s%s">account settings</a>. settings.deploy_keys_helper=<b>お探しですか?</b> 個人公開鍵を追加する場合は、<a href="%s%s">アカウント設定</a>からおこなえます。
settings.add_deploy_key=デプロイキーを追加 settings.add_deploy_key=デプロイキーを追加
settings.deploy_key_desc=個人アカウントのSSHキーとは異なり、デプロイキーは読み取り専用アクセスとなります。 settings.deploy_key_desc=個人アカウントのSSHキーとは異なり、デプロイキーは読み取り専用アクセスとなります。
settings.no_deploy_keys=デプロイキーは1つも追加されていません。 settings.no_deploy_keys=デプロイキーは1つも追加されていません。
@ -853,12 +855,12 @@ diff.commit=コミット
diff.data_not_available=差分データは利用できません。 diff.data_not_available=差分データは利用できません。
diff.show_diff_stats=差分情報を表示 diff.show_diff_stats=差分情報を表示
diff.show_split_view=分割表示 diff.show_split_view=分割表示
diff.show_unified_view=Unified View diff.show_unified_view=一括表示
diff.stats_desc=共有<strong>%d 個のファイルを変更した</strong>、<strong>%d 個の追加</strong> と <strong>%d 個の削除</strong>を含む diff.stats_desc=共有<strong>%d 個のファイルを変更した</strong>、<strong>%d 個の追加</strong> と <strong>%d 個の削除</strong>を含む
diff.bin=BIN diff.bin=BIN
diff.view_file=ファイルの表示 diff.view_file=ファイルの表示
diff.file_suppressed=File diff suppressed because it is too large diff.file_suppressed=ファイルの差分が大きいため隠しています
diff.too_many_files=Some files were not shown because too many files changed in this diff diff.too_many_files=この差分においてかなりの量のファイルが変更されているため、一部のファイルを表示していません
release.releases=リリース release.releases=リリース
release.new_release=新しいリリース release.new_release=新しいリリース
@ -897,7 +899,7 @@ org_full_name_holder=組織のフルネーム
org_name_helper=偉大な組織の名は短く覚えやすいです。 org_name_helper=偉大な組織の名は短く覚えやすいです。
create_org=組織を作成 create_org=組織を作成
repo_updated=最終更新 repo_updated=最終更新
people=人々 people=メンバー
invite_someone=誰かを招待 invite_someone=誰かを招待
teams=チーム teams=チーム
lower_members=メンバー lower_members=メンバー
@ -931,21 +933,21 @@ settings.delete_org_title=組織の削除
settings.delete_org_desc=この組織は完全に削除されます。よろしいですか? settings.delete_org_desc=この組織は完全に削除されます。よろしいですか?
settings.hooks_desc=この組織のもとで <strong>すべてのリポジトリ</strong> に対してトリガーされる webhook を追加します。 settings.hooks_desc=この組織のもとで <strong>すべてのリポジトリ</strong> に対してトリガーされる webhook を追加します。
members.membership_visibility=Membership Visibility: members.membership_visibility=所属状況を公開:
members.public=パブリック members.public=パブリック
members.public_helper=プライベートにする members.public_helper=非公開にする
members.private=プライベート members.private=非公開
members.private_helper=公開する members.private_helper=公開する
members.member_role=メンバーの役割: members.member_role=メンバーの役割:
members.owner=オーナー members.owner=オーナー
members.member=メンバー members.member=メンバー
members.remove=削除 members.remove=削除
members.leave=退 members.leave=退
members.invite_desc=%s に新しいメンバーを追加 members.invite_desc=%s に新しいメンバーを追加
members.invite_now=今すぐ招待 members.invite_now=今すぐ招待
teams.join=参加 teams.join=参加
teams.leave=退 teams.leave=退
teams.read_access=読み取りアクセス権 teams.read_access=読み取りアクセス権
teams.read_access_helper=このチームはリポジトリの閲覧とクローンをすることができます。 teams.read_access_helper=このチームはリポジトリの閲覧とクローンをすることができます。
teams.write_access=書き込みアクセス権 teams.write_access=書き込みアクセス権
@ -1041,8 +1043,8 @@ dashboard.gc_times=GC実行回数
users.user_manage_panel=ユーザー管理パネル users.user_manage_panel=ユーザー管理パネル
users.new_account=新規アカウントを作成 users.new_account=新規アカウントを作成
users.name=名前 users.name=名前
users.activated=アクティブ化 users.activated=有効
users.admin=アドミン users.admin=管理者
users.repos=リポジトリ users.repos=リポジトリ
users.created=作成日時 users.created=作成日時
users.send_register_notify=登録通知をユーザーに送信 users.send_register_notify=登録通知をユーザーに送信
@ -1051,8 +1053,8 @@ users.edit=編集
users.auth_source=認証ソース users.auth_source=認証ソース
users.local=ローカル users.local=ローカル
users.auth_login_name=認証ログイン名 users.auth_login_name=認証ログイン名
users.password_helper=それをそのまま空のままにします users.password_helper=変更しない場合は空白のままにしてください
users.update_profile_success=アカウントのプロファイルが更新されました。 users.update_profile_success=アカウント情報が更新されました。
users.edit_account=アカウントの編集 users.edit_account=アカウントの編集
users.max_repo_creation=最大リポジトリ作成数 users.max_repo_creation=最大リポジトリ作成数
users.max_repo_creation_desc=(デフォルトの設定を使用する場合は -1 を設定してください) users.max_repo_creation_desc=(デフォルトの設定を使用する場合は -1 を設定してください)
@ -1061,10 +1063,10 @@ users.prohibit_login=ログイン禁止のアカウント
users.is_admin=管理者権限を持つアカウント users.is_admin=管理者権限を持つアカウント
users.allow_git_hook=Git フックの作成権限を持つアカウント users.allow_git_hook=Git フックの作成権限を持つアカウント
users.allow_import_local=ローカルリポジトリをインポートする権限を持つアカウント users.allow_import_local=ローカルリポジトリをインポートする権限を持つアカウント
users.update_profile=アカウント ・ プロファイルを更新 users.update_profile=アカウント情報を更新
users.delete_account=このアカウントを削除 users.delete_account=このアカウントを削除
users.still_own_repo=アカウント所有のリポジトリがあり、リポジトリの削除または所有者の移譲が必要です。 users.still_own_repo=アカウント所有のリポジトリがあり、リポジトリの削除または所有者の移譲が必要です。
users.still_has_org=アカウントはまだ組織のメンバーであり、組織から退出するか削除する必要があります。 users.still_has_org=このアカウントは1つ以上の組織に所属しているため、先に組織を脱退させるか組織を削除する必要があります。
users.deletion_success=アカウントが正常に削除されました。 users.deletion_success=アカウントが正常に削除されました。
orgs.org_manage_panel=組織の管理パネル orgs.org_manage_panel=組織の管理パネル
@ -1075,7 +1077,7 @@ orgs.members=メンバー
repos.repo_manage_panel=リポジトリの管理パネル repos.repo_manage_panel=リポジトリの管理パネル
repos.owner=オーナー repos.owner=オーナー
repos.name=名前 repos.name=名前
repos.private=プライベート repos.private=非公開
repos.watches=Watches repos.watches=Watches
repos.stars=Stars repos.stars=Stars
repos.issues=課題 repos.issues=課題
@ -1085,7 +1087,7 @@ auths.auth_manage_panel=認証管理パネル
auths.new=新しいソースを追加 auths.new=新しいソースを追加
auths.name=名前 auths.name=名前
auths.type=タイプ auths.type=タイプ
auths.enabled=Enabled auths.enabled=有効
auths.updated=更新しました auths.updated=更新しました
auths.auth_type=認証タイプ auths.auth_type=認証タイプ
auths.auth_name=認証名 auths.auth_name=認証名
@ -1098,7 +1100,7 @@ auths.bind_password=バインド パスワード
auths.bind_password_helper=警告: このパスワードは暗号化されずに格納されます。特権を持つアカウントに使用しないでください。 auths.bind_password_helper=警告: このパスワードは暗号化されずに格納されます。特権を持つアカウントに使用しないでください。
auths.user_base=ユーザ検索ベース auths.user_base=ユーザ検索ベース
auths.user_dn=User DN auths.user_dn=User DN
auths.attribute_username=Username Attribute auths.attribute_username=ユーザー名属性
auths.attribute_username_placeholder=Leave empty to use sign-in form field value for user name. auths.attribute_username_placeholder=Leave empty to use sign-in form field value for user name.
auths.attribute_name=First Name Attribute auths.attribute_name=First Name Attribute
auths.attribute_surname=名字属性 auths.attribute_surname=名字属性
@ -1116,7 +1118,7 @@ auths.smtp_auth=SMTP 認証の種類
auths.smtphost=SMTP ホスト auths.smtphost=SMTP ホスト
auths.smtpport=SMTP ポート auths.smtpport=SMTP ポート
auths.allowed_domains=許可されているドメイン auths.allowed_domains=許可されているドメイン
auths.allowed_domains_helper=Leave it empty to not restrict any domains. Multiple domains should be separated by comma ','. auths.allowed_domains_helper=ドメイン制限をおこなわない場合は空のままにしてください。複数のドメインを記入する場合は、カンマ ',' で区切ってください。
auths.enable_tls=TLS 暗号化を有効にする auths.enable_tls=TLS 暗号化を有効にする
auths.skip_tls_verify=TLSベリファイを省略 auths.skip_tls_verify=TLSベリファイを省略
auths.pam_service_name=PAMサービス名 auths.pam_service_name=PAMサービス名
@ -1130,9 +1132,9 @@ auths.update=認証設定を更新
auths.delete=この認証を削除 auths.delete=この認証を削除
auths.delete_auth_title=認証削除 auths.delete_auth_title=認証削除
auths.delete_auth_desc=認証を削除します、継続しますか? auths.delete_auth_desc=認証を削除します、継続しますか?
auths.still_in_used=This authentication is still used by some users, please delete or convert these users to another login type first. auths.still_in_used=この認証を使用しているユーザーがいます。ユーザーを削除するか、別のログイン方法に割り当ててください。
auths.deletion_success=認証が正常に削除されました。 auths.deletion_success=認証が正常に削除されました。
auths.login_source_exist=Login source '%s' already exists. auths.login_source_exist=ログイン ソース '%s' は既に存在します。
config.server_config=サーバーの構成 config.server_config=サーバーの構成
config.app_name=アプリケーション名 config.app_name=アプリケーション名
@ -1145,7 +1147,7 @@ config.run_user=実行ユーザ
config.run_mode=実行モード config.run_mode=実行モード
config.git_version=Git バージョン config.git_version=Git バージョン
config.static_file_root_path=静的ファイルのルートパス config.static_file_root_path=静的ファイルのルートパス
config.log_file_root_path=ログ ファイルのルート パス config.log_file_root_path=ログファイルのルートパス
config.reverse_auth_user=リバース認証ユーザ config.reverse_auth_user=リバース認証ユーザ
config.ssh_config=SSH設定 config.ssh_config=SSH設定
@ -1155,22 +1157,22 @@ config.ssh_domain=ドメイン
config.ssh_port=ポート config.ssh_port=ポート
config.ssh_listen_port=リッスンポート config.ssh_listen_port=リッスンポート
config.ssh_root_path=ルートパス config.ssh_root_path=ルートパス
config.ssh_key_test_path=Key Test Path config.ssh_key_test_path=キーテストパス
config.ssh_keygen_path=鍵生成コマンド ('ssh-keygen') のパス config.ssh_keygen_path=鍵生成コマンド ('ssh-keygen') のパス
config.ssh_minimum_key_size_check=最小キーサイズチェック config.ssh_minimum_key_size_check=最小キーサイズチェック
config.ssh_minimum_key_sizes=最小キーサイズ config.ssh_minimum_key_sizes=最小キーサイズ
config.repo_config=レポジトリの構成 config.repo_config=リポジトリの設定
config.repo_root_path=リポジトリのルートパス config.repo_root_path=リポジトリのルートパス
config.script_type=スクリプトの種類 config.script_type=スクリプトの種類
config.repo_force_private=Force Private config.repo_force_private=非公開リポジトリの強制
config.max_creation_limit=最大作成数 config.max_creation_limit=最大作成数
config.preferred_licenses=Preferred Licenses config.preferred_licenses=優先ライセンス
config.disable_http_git=HTTP Git の無効化 config.disable_http_git=HTTP Git の無効化
config.enable_local_path_migration=Enable Local Path Migration config.enable_local_path_migration=Enable Local Path Migration
config.commits_fetch_concurrency=Commits Fetch Concurrency config.commits_fetch_concurrency=Commits Fetch Concurrency
config.db_config=データベースの構成 config.db_config=データベース設定
config.db_type=タイプ config.db_type=タイプ
config.db_host=ホスト config.db_host=ホスト
config.db_name=名前 config.db_name=名前
@ -1180,10 +1182,10 @@ config.db_ssl_mode_helper=(「postgres」のみ)
config.db_path=パス config.db_path=パス
config.db_path_helper=("sqlite3" および "tidb" の場合) config.db_path_helper=("sqlite3" および "tidb" の場合)
config.service_config=サービスの構成 config.service_config=サービスの設定
config.register_email_confirm=電子メールの確認を必要 config.register_email_confirm=電子メールの確認を必要
config.disable_register=登録を無効にする config.disable_register=登録を無効にする
config.show_registration_button=登録ボタンを表示します。 config.show_registration_button=登録ボタンを表示
config.require_sign_in_view=サインインを要求 config.require_sign_in_view=サインインを要求
config.mail_notify=メール通知 config.mail_notify=メール通知
config.disable_key_size_check=最小キーサイズチェックを無効にする config.disable_key_size_check=最小キーサイズチェックを無効にする
@ -1196,7 +1198,7 @@ config.queue_length=キューの長さ
config.deliver_timeout=送信タイムアウト config.deliver_timeout=送信タイムアウト
config.skip_tls_verify=TLSの確認を省略 config.skip_tls_verify=TLSの確認を省略
config.mailer_config=メーラーの構成 config.mailer_config=メーラーの設定
config.mailer_enabled=有効にした config.mailer_enabled=有効にした
config.mailer_disable_helo=HELOコマンド無効 config.mailer_disable_helo=HELOコマンド無効
config.mailer_name=名前 config.mailer_name=名前
@ -1207,14 +1209,14 @@ config.test_mail_failed='%s' 宛のテストメールの送信に失敗しまし
config.test_mail_sent=テストメールが '%s' に送信されました。 config.test_mail_sent=テストメールが '%s' に送信されました。
config.oauth_config=OAuth 構成 config.oauth_config=OAuth 構成
config.oauth_enabled=Enabled config.oauth_enabled=有効
config.cache_config=キャッシュの構成 config.cache_config=キャッシュの設定
config.cache_adapter=キャッシュ アダプター config.cache_adapter=キャッシュ アダプター
config.cache_interval=キャッシュ間隔 config.cache_interval=キャッシュ間隔
config.cache_conn=キャッシュ接続 config.cache_conn=キャッシュ接続
config.session_config=セッションの構成 config.session_config=セッションの設定
config.session_provider=セッション プロバイダー config.session_provider=セッション プロバイダー
config.provider_config=プロバイダーの構成 config.provider_config=プロバイダーの構成
config.cookie_name=クッキーの名前 config.cookie_name=クッキーの名前
@ -1224,10 +1226,10 @@ config.session_life_time=セッションのライフタイム
config.https_only=HTTPS のみ config.https_only=HTTPS のみ
config.cookie_life_time=クッキーのライフタイム config.cookie_life_time=クッキーのライフタイム
config.picture_config=画像構成 config.picture_config=画像の設定
config.picture_service=画像サービス config.picture_service=画像サービス
config.disable_gravatar=Gravatarを無効にする config.disable_gravatar=Gravatarを無効にする
config.enable_federated_avatar=Enable Federated Avatars config.enable_federated_avatar=連合アバターを有効にする
config.git_config=Git 設定 config.git_config=Git 設定
config.git_disable_diff_highlight=Diff のシンタックスハイライトを無効にする config.git_disable_diff_highlight=Diff のシンタックスハイライトを無効にする
@ -1235,13 +1237,13 @@ config.git_max_diff_lines=Diff の最大行数(1ファイルあたり)
config.git_max_diff_line_characters=Diff の最大文字数(1行あたり) config.git_max_diff_line_characters=Diff の最大文字数(1行あたり)
config.git_max_diff_files=Diff の最大ファイル数(表示) config.git_max_diff_files=Diff の最大ファイル数(表示)
config.git_gc_args=GC の引数 config.git_gc_args=GC の引数
config.git_migrate_timeout=Migration Timeout config.git_migrate_timeout=移行タイムアウト
config.git_mirror_timeout=Mirror Update Timeout config.git_mirror_timeout=ミラー更新タイムアウト
config.git_clone_timeout=Clone 操作のタイムアウト config.git_clone_timeout=Clone 操作のタイムアウト
config.git_pull_timeout=Pull 操作のタイムアウト config.git_pull_timeout=Pull 操作のタイムアウト
config.git_gc_timeout=GC 操作のタイムアウト config.git_gc_timeout=GC 操作のタイムアウト
config.log_config=ログの構成 config.log_config=ログの設定
config.log_mode=モード config.log_mode=モード
config.log_options=オプション config.log_options=オプション

46
conf/locale/locale_ko-KR.ini

@ -340,24 +340,24 @@ two_factor_on=켜기
two_factor_off=끄기 two_factor_off=끄기
two_factor_enable=활성화 two_factor_enable=활성화
two_factor_disable=비활성화 two_factor_disable=비활성화
two_factor_view_recovery_codes=View and save <a href="%s%s">your recovery codes</a> in a safe place. You can use them as passcode if you lose access to your authentication application. two_factor_view_recovery_codes=<a href="%s%s">복구 코드</a>를 안전한 장소에 저장해 두십시오. 인증 애플리케이션에 접근할 수 없을때 사용할 수 있습니다.
two_factor_http=For HTTP/HTTPS operations, you are no longer able to use plain username and password. Please create and use <a href="%[1]s%[2]s">Personal Access Token</a> as your credential, e.g. <code>%[3]s</code>. two_factor_http=HTTP/HTTPS 작업에 더이상 평문 사용자명과 비밀번호를 사용할 수 없습니다. <a href="%[1]s%[2]s">개인 액세스 토큰</a>을 생성후 사용해 주세요. 예. <code>%[3]s</code>.
two_factor_enable_title=Enable Two-factor Authentication two_factor_enable_title=2단계 인증 활성화
two_factor_scan_qr=Please use your authentication application to scan the image: two_factor_scan_qr=인증 애플리케이션으로 이 이미지를 스캔하세요:
two_factor_or_enter_secret=Or enter the secret: two_factor_or_enter_secret=또는 이 비밀키를 입력하세요:
two_factor_then_enter_passcode=Then enter passcode: two_factor_then_enter_passcode=그리고 코드를 입력하세요:
two_factor_verify=Verify two_factor_verify=확인
two_factor_invalid_passcode=The passcode you entered is not valid, please try again! two_factor_invalid_passcode=입력한 코드가 올바르지 않습니다. 다시 시도해 주세요!
two_factor_enable_error=Enable Two-factor authentication failed: %v two_factor_enable_error=2단계 인증 활성화 실패: %v
two_factor_enable_success=Two-factor authentication has enabled for your account successfully! two_factor_enable_success=Two-factor authentication has enabled for your account successfully!
two_factor_recovery_codes_title=Two-factor Authentication Recovery Codes two_factor_recovery_codes_title=Two-factor Authentication Recovery Codes
two_factor_recovery_codes_desc=Recovery codes are used when you temporarily lose access to your authentication application. Each recovery code can only be used once, <b>please keep these codes in a safe place</b>. two_factor_recovery_codes_desc=Recovery codes are used when you temporarily lose access to your authentication application. Each recovery code can only be used once, <b>please keep these codes in a safe place</b>.
two_factor_regenerate_recovery_codes=Regenerate Recovery Codes two_factor_regenerate_recovery_codes=Regenerate Recovery Codes
two_factor_regenerate_recovery_codes_error=Regenerate recovery codes failed: %v two_factor_regenerate_recovery_codes_error=Regenerate recovery codes failed: %v
two_factor_regenerate_recovery_codes_success=New recovery codes has been generated successfully! two_factor_regenerate_recovery_codes_success=New recovery codes has been generated successfully!
two_factor_disable_title=Disable Two-factor Authentication two_factor_disable_title=2단계 인증 비활성화
two_factor_disable_desc=Your account security level will decrease after disabled two-factor authentication. Do you want to continue? two_factor_disable_desc=Your account security level will decrease after disabled two-factor authentication. Do you want to continue?
two_factor_disable_success=Two-factor authentication has disabled successfully! two_factor_disable_success=2단계 인증이 성공적으로 비활성화되었습니다!
manage_access_token=개인 액세스 토큰 관리 manage_access_token=개인 액세스 토큰 관리
generate_new_token=새 토큰을 생성 generate_new_token=새 토큰을 생성
@ -450,7 +450,7 @@ quick_guide=퀵 가이드
clone_this_repo=이 저장소 복제 clone_this_repo=이 저장소 복제
create_new_repo_command=커맨드 라인에서 새 저장소 만들기 create_new_repo_command=커맨드 라인에서 새 저장소 만들기
push_exist_repo=커맨드 라인에서 기존 저장소 푸시하기 push_exist_repo=커맨드 라인에서 기존 저장소 푸시하기
bare_message=This repository does not have any content yet. bare_message=이 저장소에는 아직 내용이 없습니다.
files=파일 files=파일
branch=브렌치 branch=브렌치
@ -463,7 +463,7 @@ pulls=풀 리퀘스트
labels=레이블 labels=레이블
milestones=마일스톤 milestones=마일스톤
commits=커밋 commits=커밋
git_branches=Branches git_branches=브랜치
releases=릴리즈 releases=릴리즈
file_raw=Raw file_raw=Raw
file_history=히스토리 file_history=히스토리
@ -473,11 +473,11 @@ file_too_large=이 파일은 표시하기엔 너무 큽니다.
video_not_supported_in_browser=이 브라우저는 HTML5 비디오 태그를 지원하지 않습니다. video_not_supported_in_browser=이 브라우저는 HTML5 비디오 태그를 지원하지 않습니다.
branches.overview=Overview branches.overview=Overview
branches.active_branches=Active Branches branches.active_branches=활성 브랜치
branches.stale_branches=Stale Branches branches.stale_branches=오래된 브랜치
branches.all=All Branches branches.all=모든 브랜치
branches.updated_by=Updated %[1]s by %[2]s branches.updated_by=Updated %[1]s by %[2]s
branches.change_default_branch=Change Default Branch branches.change_default_branch=기본 브랜치 변경
editor.new_file=파일 생성 editor.new_file=파일 생성
editor.upload_file=파일 업로드 editor.upload_file=파일 업로드
@ -616,6 +616,7 @@ pulls.compare_compare=비교
pulls.filter_branch=Filter Branch pulls.filter_branch=Filter Branch
pulls.no_results=결과 없음 pulls.no_results=결과 없음
pulls.nothing_to_compare=Base 와 head 브랜치가 동일해서 비교할 게 없습니다. pulls.nothing_to_compare=Base 와 head 브랜치가 동일해서 비교할 게 없습니다.
pulls.nothing_merge_base=There is nothing to compare because two branches have completely different history.
pulls.has_pull_request=`이 두 타겟 사이엔 이미 풀 리퀘스트가 있습니다:<a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>` pulls.has_pull_request=`이 두 타겟 사이엔 이미 풀 리퀘스트가 있습니다:<a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
pulls.create=풀 리퀘스트 생성 pulls.create=풀 리퀘스트 생성
pulls.title_desc=<code>%[2]s</code> 에서 <code>%[3]s</code> 로 %[1]d commits 를 머지하려 합니다 pulls.title_desc=<code>%[2]s</code> 에서 <code>%[3]s</code> 로 %[1]d commits 를 머지하려 합니다
@ -738,7 +739,7 @@ settings.tracker_issue_style.alphanumeric=문자 숫자
settings.tracker_url_format_desc=<code>{user} {repo} {index}</code> 사용자 명, 저장소 명, 이슈 인덱스를 사용하여 표시자를 사용할 수 있습니다. settings.tracker_url_format_desc=<code>{user} {repo} {index}</code> 사용자 명, 저장소 명, 이슈 인덱스를 사용하여 표시자를 사용할 수 있습니다.
settings.pulls_desc=끌어오기 요청을 공개적으로 기여받을 수 있도록 활성화합니다. settings.pulls_desc=끌어오기 요청을 공개적으로 기여받을 수 있도록 활성화합니다.
settings.danger_zone=위험 설정 settings.danger_zone=위험 설정
settings.cannot_fork_to_same_owner=You cannot fork a repository to its original owner. settings.cannot_fork_to_same_owner=본인 소유의 저장소를 본인 명의로 포크할 수 없습니다.
settings.new_owner_has_same_repo=새로운 소유자가 같은 이름의 저장소를 이미 가지고 있습니다. 다른 이름을 선택해주세요. settings.new_owner_has_same_repo=새로운 소유자가 같은 이름의 저장소를 이미 가지고 있습니다. 다른 이름을 선택해주세요.
settings.convert=일반 리파지토리로 변환 settings.convert=일반 리파지토리로 변환
settings.convert_desc=이 미러를 일반 리파지토리로 변환할 수 없습니다. 반대로는 할 수 없습니다. settings.convert_desc=이 미러를 일반 리파지토리로 변환할 수 없습니다. 반대로는 할 수 없습니다.
@ -807,13 +808,13 @@ settings.event_send_everything=<strong>모든 것</strong>이 필요합니다.
settings.event_choose=필요한 것을 선택해주세요. settings.event_choose=필요한 것을 선택해주세요.
settings.event_create=생성 settings.event_create=생성
settings.event_create_desc=브랜치 또는 태그를 생성합니다. settings.event_create_desc=브랜치 또는 태그를 생성합니다.
settings.event_delete=Delete settings.event_delete=삭제
settings.event_delete_desc=Branch or tag deleted settings.event_delete_desc=브랜치나 태그 삭제됨
settings.event_fork=Fork settings.event_fork=포크
settings.event_fork_desc=Repository forked settings.event_fork_desc=Repository forked
settings.event_push=푸시 settings.event_push=푸시
settings.event_push_desc=깃 저장소로 푸시 settings.event_push_desc=깃 저장소로 푸시
settings.event_issues=Issues settings.event_issues=이슈
settings.event_issues_desc=Issue opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, or demilestoned. settings.event_issues_desc=Issue opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, or demilestoned.
settings.event_issue_comment=Issue Comment settings.event_issue_comment=Issue Comment
settings.event_issue_comment_desc=Issue comment created, edited, or deleted. settings.event_issue_comment_desc=Issue comment created, edited, or deleted.
@ -831,6 +832,7 @@ settings.recent_deliveries=최근의 Deliveries
settings.hook_type=훅 타입 settings.hook_type=훅 타입
settings.add_slack_hook_desc=저장소에 <a href="%s">슬랙</a>연동을 추가 settings.add_slack_hook_desc=저장소에 <a href="%s">슬랙</a>연동을 추가
settings.add_discord_hook_desc=Add <a href="%s">Discord</a> integration to your repository. settings.add_discord_hook_desc=Add <a href="%s">Discord</a> integration to your repository.
settings.add_dingtalk_hook_desc=Add <a href="%s">Dingtalk</a> integration to your repository.
settings.slack_token=토큰 settings.slack_token=토큰
settings.slack_domain=도메인 settings.slack_domain=도메인
settings.slack_channel=채널 settings.slack_channel=채널

2
conf/locale/locale_lv-LV.ini

@ -616,6 +616,7 @@ pulls.compare_compare=salīdzināmais
pulls.filter_branch=Filtrēt atzarus pulls.filter_branch=Filtrēt atzarus
pulls.no_results=Nekas netika atrasts. pulls.no_results=Nekas netika atrasts.
pulls.nothing_to_compare=Nav ko salīdzināt, jo bāzes un salīdzināmie atzari ir vienādi. pulls.nothing_to_compare=Nav ko salīdzināt, jo bāzes un salīdzināmie atzari ir vienādi.
pulls.nothing_merge_base=There is nothing to compare because two branches have completely different history.
pulls.has_pull_request=`Jau eksistē izmaiņu pieprasījums starp šiem diviem atzariem: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>` pulls.has_pull_request=`Jau eksistē izmaiņu pieprasījums starp šiem diviem atzariem: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
pulls.create=Izveidot izmaiņu pieprasījumu pulls.create=Izveidot izmaiņu pieprasījumu
pulls.title_desc=vēlas sapludināt %[1]d revīzijas no <code>%[2]s</code> uz <code>%[3]s</code> pulls.title_desc=vēlas sapludināt %[1]d revīzijas no <code>%[2]s</code> uz <code>%[3]s</code>
@ -830,6 +831,7 @@ settings.recent_deliveries=Pēdējās piegādes
settings.hook_type=Āķa veids settings.hook_type=Āķa veids
settings.add_slack_hook_desc=PIevienot <a href="%s">Slack</a> integrāciju Jūsu repozitorijā. settings.add_slack_hook_desc=PIevienot <a href="%s">Slack</a> integrāciju Jūsu repozitorijā.
settings.add_discord_hook_desc=Add <a href="%s">Discord</a> integration to your repository. settings.add_discord_hook_desc=Add <a href="%s">Discord</a> integration to your repository.
settings.add_dingtalk_hook_desc=Add <a href="%s">Dingtalk</a> integration to your repository.
settings.slack_token=Talons settings.slack_token=Talons
settings.slack_domain=Domēns settings.slack_domain=Domēns
settings.slack_channel=Kanāls settings.slack_channel=Kanāls

32
conf/locale/locale_nl-NL.ini

@ -205,7 +205,7 @@ AdminEmail=E-mail beheerder
NewBranchName=Nieuwe branch naam NewBranchName=Nieuwe branch naam
CommitSummary=Commit samenvatting CommitSummary=Commit samenvatting
CommitMessage=Commit bericht CommitMessage=Commit bericht
CommitChoice=Commit choice CommitChoice=Keuze toepassen
TreeName=Bestandspad TreeName=Bestandspad
Content=Inhoud Content=Inhoud
@ -264,7 +264,7 @@ profile=Profiel
password=Wachtwoord password=Wachtwoord
avatar=Profielfoto avatar=Profielfoto
ssh_keys=SSH-sleutels ssh_keys=SSH-sleutels
security=Security security=Beveiliging
repos=Repositories repos=Repositories
orgs=Organisaties orgs=Organisaties
applications=Toepassingen applications=Toepassingen
@ -336,17 +336,17 @@ token_state_desc=Deze token is de laatste 7 dagen gebruikt
two_factor=Two-factor Authentication two_factor=Two-factor Authentication
two_factor_status=Status: two_factor_status=Status:
two_factor_on=On two_factor_on=Aan
two_factor_off=Off two_factor_off=Uit
two_factor_enable=Enable two_factor_enable=Inschakelen
two_factor_disable=Disable two_factor_disable=Uitschakelen
two_factor_view_recovery_codes=View and save <a href="%s%s">your recovery codes</a> in a safe place. You can use them as passcode if you lose access to your authentication application. two_factor_view_recovery_codes=View and save <a href="%s%s">your recovery codes</a> in a safe place. You can use them as passcode if you lose access to your authentication application.
two_factor_http=For HTTP/HTTPS operations, you are no longer able to use plain username and password. Please create and use <a href="%[1]s%[2]s">Personal Access Token</a> as your credential, e.g. <code>%[3]s</code>. two_factor_http=For HTTP/HTTPS operations, you are no longer able to use plain username and password. Please create and use <a href="%[1]s%[2]s">Personal Access Token</a> as your credential, e.g. <code>%[3]s</code>.
two_factor_enable_title=Enable Two-factor Authentication two_factor_enable_title=Enable Two-factor Authentication
two_factor_scan_qr=Please use your authentication application to scan the image: two_factor_scan_qr=Please use your authentication application to scan the image:
two_factor_or_enter_secret=Or enter the secret: two_factor_or_enter_secret=Or enter the secret:
two_factor_then_enter_passcode=Then enter passcode: two_factor_then_enter_passcode=Then enter passcode:
two_factor_verify=Verify two_factor_verify=Verifiëren
two_factor_invalid_passcode=The passcode you entered is not valid, please try again! two_factor_invalid_passcode=The passcode you entered is not valid, please try again!
two_factor_enable_error=Enable Two-factor authentication failed: %v two_factor_enable_error=Enable Two-factor authentication failed: %v
two_factor_enable_success=Two-factor authentication has enabled for your account successfully! two_factor_enable_success=Two-factor authentication has enabled for your account successfully!
@ -375,8 +375,8 @@ orgs.none=U bent geen lid van een organisatie.
orgs.leave_title=Een organisatie verlaten orgs.leave_title=Een organisatie verlaten
orgs.leave_desc=U verliest toegang tot alle repositories en teams nadat u de organisatie verlaten hebt. Wilt u doorgaan? orgs.leave_desc=U verliest toegang tot alle repositories en teams nadat u de organisatie verlaten hebt. Wilt u doorgaan?
repos.leave=Leave repos.leave=Verlaat
repos.leave_title=Leave repository repos.leave_title=Verlaat repository
repos.leave_desc=You will lose access to the repository after you left. Do you want to continue? repos.leave_desc=You will lose access to the repository after you left. Do you want to continue?
repos.leave_success=You have left repository '%s' successfully! repos.leave_success=You have left repository '%s' successfully!
@ -472,7 +472,7 @@ file_permalink=Permalink
file_too_large=Dit bestand is te groot om te worden getoond file_too_large=Dit bestand is te groot om te worden getoond
video_not_supported_in_browser=Uw browser ondersteunt geen HTML5 video label. video_not_supported_in_browser=Uw browser ondersteunt geen HTML5 video label.
branches.overview=Overview branches.overview=Overzicht
branches.active_branches=Active Branches branches.active_branches=Active Branches
branches.stale_branches=Stale Branches branches.stale_branches=Stale Branches
branches.all=All Branches branches.all=All Branches
@ -494,7 +494,7 @@ editor.name_your_file=Bestandsnaam...
editor.filename_help=To add directory, just type it and press /. To remove a directory, go to the beginning of the field and press backspace. editor.filename_help=To add directory, just type it and press /. To remove a directory, go to the beginning of the field and press backspace.
editor.or=of editor.or=of
editor.cancel_lower=annuleren editor.cancel_lower=annuleren
editor.commit_changes=Commit Changes editor.commit_changes=Wijzigingen toepassen
editor.add_tmpl='%s/<filename>' toevoegen editor.add_tmpl='%s/<filename>' toevoegen
editor.add='%s' toevoegen editor.add='%s' toevoegen
editor.update='%s' updaten editor.update='%s' updaten
@ -509,7 +509,7 @@ editor.branch_already_exists=Aftakking '%s' bestaat al in deze repository.
editor.directory_is_a_file=Entry '%s' in the parent path is a file not a directory in this repository. editor.directory_is_a_file=Entry '%s' in the parent path is a file not a directory in this repository.
editor.file_is_a_symlink=The file '%s' is a symlink that cannot be modified from the web editor. editor.file_is_a_symlink=The file '%s' is a symlink that cannot be modified from the web editor.
editor.filename_is_a_directory=The filename '%s' is an existing directory in this repository. editor.filename_is_a_directory=The filename '%s' is an existing directory in this repository.
editor.file_editing_no_longer_exists=The file '%s' you are editing no longer exists in the repository. editor.file_editing_no_longer_exists=Het bestand '%s' die u aan het bewerken bent bestaat niet meer in deze repository.
editor.file_changed_while_editing=File content has been changed since you started editing. <a target="_blank" href="%s">Click here</a> to see what have been changed or <strong>press commit again</strong> to overwrite those changes. editor.file_changed_while_editing=File content has been changed since you started editing. <a target="_blank" href="%s">Click here</a> to see what have been changed or <strong>press commit again</strong> to overwrite those changes.
editor.file_already_exists=A file with name '%s' already exists in this repository. editor.file_already_exists=A file with name '%s' already exists in this repository.
editor.no_changes_to_show=Er zijn geen wijzigingen om weer te geven. editor.no_changes_to_show=Er zijn geen wijzigingen om weer te geven.
@ -616,6 +616,7 @@ pulls.compare_compare=vergelijk
pulls.filter_branch=Filter branch pulls.filter_branch=Filter branch
pulls.no_results=Geen resultaten gevonden. pulls.no_results=Geen resultaten gevonden.
pulls.nothing_to_compare=Er is niets te vergelijken omdat base en head branches dezelfde zijn. pulls.nothing_to_compare=Er is niets te vergelijken omdat base en head branches dezelfde zijn.
pulls.nothing_merge_base=There is nothing to compare because two branches have completely different history.
pulls.has_pull_request=' Er is al een pull-aanvraag tussen deze twee targets: <a href="%[1]s/pulls/%[3]d"> %[2]s #% [3]d</a>' pulls.has_pull_request=' Er is al een pull-aanvraag tussen deze twee targets: <a href="%[1]s/pulls/%[3]d"> %[2]s #% [3]d</a>'
pulls.create=Pull verzoek aanmaken pulls.create=Pull verzoek aanmaken
pulls.title_desc=wil %[1]d commits van <code>%[2]s</code> samenvoegen met <code>%[3]s</code> pulls.title_desc=wil %[1]d commits van <code>%[2]s</code> samenvoegen met <code>%[3]s</code>
@ -689,7 +690,7 @@ settings.branches=Branches
settings.branches_bare=You cannot manage branches for bare repository. Please push some content first. settings.branches_bare=You cannot manage branches for bare repository. Please push some content first.
settings.default_branch=Default Branch settings.default_branch=Default Branch
settings.default_branch_desc=The default branch is considered the "base" branch for code commits, pull requests and online editing. settings.default_branch_desc=The default branch is considered the "base" branch for code commits, pull requests and online editing.
settings.update=Update settings.update=Bijwerken
settings.update_default_branch_unsupported=Change default branch is not supported by the Git version on server. settings.update_default_branch_unsupported=Change default branch is not supported by the Git version on server.
settings.update_default_branch_success=Default branch of this repository has been updated successfully! settings.update_default_branch_success=Default branch of this repository has been updated successfully!
settings.protected_branches=Protected Branches settings.protected_branches=Protected Branches
@ -704,7 +705,7 @@ settings.protect_require_pull_request_desc=Enable this option to disable direct
settings.protect_whitelist_committers=Whitelist who can push to this branch settings.protect_whitelist_committers=Whitelist who can push to this branch
settings.protect_whitelist_committers_desc=Add people or teams to whitelist of direct push to this branch. Users in whitelist will bypass require pull request check. settings.protect_whitelist_committers_desc=Add people or teams to whitelist of direct push to this branch. Users in whitelist will bypass require pull request check.
settings.protect_whitelist_users=Users who can push to this branch settings.protect_whitelist_users=Users who can push to this branch
settings.protect_whitelist_search_users=Search users settings.protect_whitelist_search_users=Doorzoek gebruikers
settings.protect_whitelist_teams=Teams for which members of them can push to this branch settings.protect_whitelist_teams=Teams for which members of them can push to this branch
settings.protect_whitelist_search_teams=Search teams settings.protect_whitelist_search_teams=Search teams
settings.update_protect_branch_success=Protect options for this branch has been updated successfully! settings.update_protect_branch_success=Protect options for this branch has been updated successfully!
@ -806,7 +807,7 @@ settings.event_send_everything=Ik moet <strong>alles</strong> hebben.
settings.event_choose=Laat me kiezen wat ik nodig heb. settings.event_choose=Laat me kiezen wat ik nodig heb.
settings.event_create=Creëer settings.event_create=Creëer
settings.event_create_desc=Branch, of tag aangemaakt settings.event_create_desc=Branch, of tag aangemaakt
settings.event_delete=Delete settings.event_delete=Verwijderen
settings.event_delete_desc=Branch or tag deleted settings.event_delete_desc=Branch or tag deleted
settings.event_fork=Fork settings.event_fork=Fork
settings.event_fork_desc=Repository forked settings.event_fork_desc=Repository forked
@ -830,6 +831,7 @@ settings.recent_deliveries=Recente bezorgingen
settings.hook_type=Type hook settings.hook_type=Type hook
settings.add_slack_hook_desc=<a href="%s"> toegestane vertraging</a> integratie toevoegen aan uw repository. settings.add_slack_hook_desc=<a href="%s"> toegestane vertraging</a> integratie toevoegen aan uw repository.
settings.add_discord_hook_desc=Add <a href="%s">Discord</a> integration to your repository. settings.add_discord_hook_desc=Add <a href="%s">Discord</a> integration to your repository.
settings.add_dingtalk_hook_desc=Add <a href="%s">Dingtalk</a> integration to your repository.
settings.slack_token=Slack token settings.slack_token=Slack token
settings.slack_domain=Slack domein settings.slack_domain=Slack domein
settings.slack_channel=Slack kanaal settings.slack_channel=Slack kanaal

2
conf/locale/locale_pl-PL.ini

@ -616,6 +616,7 @@ pulls.compare_compare=porównaj
pulls.filter_branch=Filtruj branch pulls.filter_branch=Filtruj branch
pulls.no_results=Nie znaleziono wyników. pulls.no_results=Nie znaleziono wyników.
pulls.nothing_to_compare=Nie ma nic do porównania, ponieważ gałęzie bazy i head są identyczne. pulls.nothing_to_compare=Nie ma nic do porównania, ponieważ gałęzie bazy i head są identyczne.
pulls.nothing_merge_base=Nie ma nic do porównania, ponieważ dwie gałęzie mają zupełnie inną historię.
pulls.has_pull_request=`Istnieje już pull request dla tych dwóch celów: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>` pulls.has_pull_request=`Istnieje już pull request dla tych dwóch celów: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
pulls.create=Utwórz Pull Request pulls.create=Utwórz Pull Request
pulls.title_desc=chce scalić %[1]d commity/ów z <code>%[2]s</code> do <code>%[3]s</code> pulls.title_desc=chce scalić %[1]d commity/ów z <code>%[2]s</code> do <code>%[3]s</code>
@ -830,6 +831,7 @@ settings.recent_deliveries=Ostatnie wywołania
settings.hook_type=Typ hooka settings.hook_type=Typ hooka
settings.add_slack_hook_desc=Dodaj integrację ze <a href="%s">Slackiem</a> do Twojego repozytorium. settings.add_slack_hook_desc=Dodaj integrację ze <a href="%s">Slackiem</a> do Twojego repozytorium.
settings.add_discord_hook_desc=Dodaj integrację <a href="%s">Discord</a> do Twojego repozytorium. settings.add_discord_hook_desc=Dodaj integrację <a href="%s">Discord</a> do Twojego repozytorium.
settings.add_dingtalk_hook_desc=Dodaj integrację <a href="%s">Dingtalk</a> do Twojego repozytorium.
settings.slack_token=Token settings.slack_token=Token
settings.slack_domain=Domena settings.slack_domain=Domena
settings.slack_channel=Kanał settings.slack_channel=Kanał

122
conf/locale/locale_pt-BR.ini

@ -1,7 +1,7 @@
app_desc=Um serviço de Git hospedável e amigável escrito em Go app_desc=Um serviço de Git auto-hospedado e amigável escrito em Go
home=Página inicial home=Página inicial
dashboard=Página Inicial dashboard=Painel de controle
explore=Explorar explore=Explorar
help=Ajuda help=Ajuda
sign_in=Entrar sign_in=Entrar
@ -11,11 +11,11 @@ register=Registrar
website=Site website=Site
version=Versão version=Versão
page=Página page=Página
template=Template template=Modelo
language=Idioma language=Idioma
create_new=Criar... create_new=Criar...
user_profile_and_more=Perfil do usuário e configurações user_profile_and_more=Perfil do usuário e mais
signed_in_as=Logado como signed_in_as=Entrou como
username=Usuário username=Usuário
email=E-mail email=E-mail
@ -58,7 +58,7 @@ db_name=Nome do banco de dados
db_helper=Por favor, use o mecanismo INNODB com o conjunto de caracteres utf8_general_ci para MySQL. db_helper=Por favor, use o mecanismo INNODB com o conjunto de caracteres utf8_general_ci para MySQL.
ssl_mode=Modo SSL ssl_mode=Modo SSL
path=Caminho path=Caminho
sqlite_helper=The file path of SQLite3 database. <br>Please use absolute path when you start as service. sqlite_helper=Caminho para o arquivo de banco de dados SQLite3. <br>Use o caminho absoluto ao iniciar como serviço.
err_empty_db_path=Deve haver um caminho para o banco de dados SQLite3. err_empty_db_path=Deve haver um caminho para o banco de dados SQLite3.
no_admin_and_disable_registration=Você não pode desabilitar o registro sem criar uma conta de administrador. no_admin_and_disable_registration=Você não pode desabilitar o registro sem criar uma conta de administrador.
err_empty_admin_password=A senha de administrador não pode ser vazia. err_empty_admin_password=A senha de administrador não pode ser vazia.
@ -75,7 +75,7 @@ domain_helper=Isto afeta URLs para o clone via SSH.
ssh_port=Porta SSH ssh_port=Porta SSH
ssh_port_helper=Número da porta que seu servidor SSH está usando, deixe vazio para desativar o recurso SSH. ssh_port_helper=Número da porta que seu servidor SSH está usando, deixe vazio para desativar o recurso SSH.
use_builtin_ssh_server=Usar o servidor SSH embutido use_builtin_ssh_server=Usar o servidor SSH embutido
use_builtin_ssh_server_popup=Start builtin SSH server for Git operations to distinguish from system SSH daemon. use_builtin_ssh_server_popup=Iniciar o servidor SSH embutido para operações Git, para diferenciar do serviço SSH do sistema.
http_port=Porta HTTP http_port=Porta HTTP
http_port_helper=Número da porta em que a aplicação irá executar. http_port_helper=Número da porta em que a aplicação irá executar.
app_url=URL do aplicativo app_url=URL do aplicativo
@ -344,8 +344,8 @@ two_factor_view_recovery_codes=Consulte e salve <a href="%s%s">seus códigos de
two_factor_http=Para operações em HTTP/HTTPS, você não poderá mais usar seu nome de usuário e senha. Crie e use um <a href="%[1]s%[2]s">Token de Acesso Pessoal</a> como credencial (p. ex.: <code>%[3]%</code>). two_factor_http=Para operações em HTTP/HTTPS, você não poderá mais usar seu nome de usuário e senha. Crie e use um <a href="%[1]s%[2]s">Token de Acesso Pessoal</a> como credencial (p. ex.: <code>%[3]%</code>).
two_factor_enable_title=Ativar autenticação de dois fatores two_factor_enable_title=Ativar autenticação de dois fatores
two_factor_scan_qr=Use o seu aplicativo de autenticação para escanear a imagem: two_factor_scan_qr=Use o seu aplicativo de autenticação para escanear a imagem:
two_factor_or_enter_secret=Or enter the secret: two_factor_or_enter_secret=Ou informe o segredo:
two_factor_then_enter_passcode=Then enter passcode: two_factor_then_enter_passcode=Em seguida digite a senha:
two_factor_verify=Verificar two_factor_verify=Verificar
two_factor_invalid_passcode=A senha inserida é inválida. Tente novamente! two_factor_invalid_passcode=A senha inserida é inválida. Tente novamente!
two_factor_enable_error=Falha ao ativar a autenticação de dois fatores: %v two_factor_enable_error=Falha ao ativar a autenticação de dois fatores: %v
@ -476,7 +476,7 @@ branches.overview=Visão geral
branches.active_branches=Branches ativos branches.active_branches=Branches ativos
branches.stale_branches=Branches obsoletos branches.stale_branches=Branches obsoletos
branches.all=Todos os branches branches.all=Todos os branches
branches.updated_by=Updated %[1]s by %[2]s branches.updated_by=Atualizado %[1]s por %[2]s
branches.change_default_branch=Modificar branch padrão branches.change_default_branch=Modificar branch padrão
editor.new_file=Novo arquivo editor.new_file=Novo arquivo
@ -616,6 +616,7 @@ pulls.compare_compare=comparar
pulls.filter_branch=Filtrar branch pulls.filter_branch=Filtrar branch
pulls.no_results=Nada encontrado. pulls.no_results=Nada encontrado.
pulls.nothing_to_compare=Não há nada para comparar porque o branch base e o head estão iguais. pulls.nothing_to_compare=Não há nada para comparar porque o branch base e o head estão iguais.
pulls.nothing_merge_base=Não há o que comparar pois os dois branches possuem históricos completamente diferentes.
pulls.has_pull_request=`Já existem pull requests entre esses dois alvos: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>` pulls.has_pull_request=`Já existem pull requests entre esses dois alvos: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
pulls.create=Criar Pull Request pulls.create=Criar Pull Request
pulls.title_desc=quer mesclar %[1]d commits de <code>%[2]s</code> em <code>%[3]s</code> pulls.title_desc=quer mesclar %[1]d commits de <code>%[2]s</code> em <code>%[3]s</code>
@ -688,26 +689,26 @@ settings.collaboration.undefined=Indefinido
settings.branches=Branches settings.branches=Branches
settings.branches_bare=Não é possível gerenciar branches num repositório vazio. Adicione conteúdo primeiro. settings.branches_bare=Não é possível gerenciar branches num repositório vazio. Adicione conteúdo primeiro.
settings.default_branch=Branch padrão settings.default_branch=Branch padrão
settings.default_branch_desc=The default branch is considered the "base" branch for code commits, pull requests and online editing. settings.default_branch_desc=O branch padrão é considerado branch "base" para commits, pull requests e edição on-line.
settings.update=Atualizar settings.update=Atualizar
settings.update_default_branch_unsupported=Change default branch is not supported by the Git version on server. settings.update_default_branch_unsupported=Mudar o branch padrão não é suportado pela versão do Git no servidor.
settings.update_default_branch_success=O branch padrão deste repositório foi atualizado com sucesso! settings.update_default_branch_success=O branch padrão deste repositório foi atualizado com sucesso!
settings.protected_branches=Branches protegidos settings.protected_branches=Branches protegidos
settings.protected_branches_desc=Protect branches from force pushing, accidental deletion and whitelist code committers. settings.protected_branches_desc=Proteger branches de push forçado, remoção acidental e committers da lista branca.
settings.choose_a_branch=Selecione um branch... settings.choose_a_branch=Selecione um branch...
settings.branch_protection=Proteção de Branch settings.branch_protection=Proteção de Branch
settings.branch_protection_desc=Please choose protect options for branch <b>%s</b>. settings.branch_protection_desc=Escolha opções de proteção para o branch <b>%s</b>.
settings.protect_this_branch=Proteger este branch settings.protect_this_branch=Proteger este branch
settings.protect_this_branch_desc=Disable force pushes and prevent from deletion. settings.protect_this_branch_desc=Desabilita pushes forçados e previne remoção.
settings.protect_require_pull_request=Require pull request instead direct pushing settings.protect_require_pull_request=Requer pull request ao invés de push direto
settings.protect_require_pull_request_desc=Enable this option to disable direct pushing to this branch. Commits have to be pushed to another non-protected branch and merged to this branch through pull request. settings.protect_require_pull_request_desc=Habilite esta opção para desabilitar push direto para este branch. Os commits precisam sofrer um push para outro branch não protegido e merge para este branch por meio de um pull request.
settings.protect_whitelist_committers=Whitelist who can push to this branch settings.protect_whitelist_committers=Incluir na lista branca quem pode fazer push para este branch
settings.protect_whitelist_committers_desc=Add people or teams to whitelist of direct push to this branch. Users in whitelist will bypass require pull request check. settings.protect_whitelist_committers_desc=Adicionar pessoas ou equipes para a lista branca de push direto para este branch. Usuários na lista branca contornarão a verificação de necessidade de pull request.
settings.protect_whitelist_users=Users who can push to this branch settings.protect_whitelist_users=Usuários que podem realizar push para este branch
settings.protect_whitelist_search_users=Pesquisar usuários settings.protect_whitelist_search_users=Pesquisar usuários
settings.protect_whitelist_teams=Teams for which members of them can push to this branch settings.protect_whitelist_teams=Equipes cujos membros podem realizar push para este branch
settings.protect_whitelist_search_teams=Search teams settings.protect_whitelist_search_teams=Buscar times
settings.update_protect_branch_success=Protect options for this branch has been updated successfully! settings.update_protect_branch_success=As opções de proteção deste branch foram atualizadas com sucesso!
settings.hooks=Webhooks settings.hooks=Webhooks
settings.githooks=Hooks do Git settings.githooks=Hooks do Git
settings.basic_settings=Configurações básicas settings.basic_settings=Configurações básicas
@ -720,13 +721,13 @@ settings.change_reponame_prompt=Esta mudança irá afetar os links para este rep
settings.advanced_settings=Configurações avançadas settings.advanced_settings=Configurações avançadas
settings.wiki_desc=Habilitar sistema de wiki settings.wiki_desc=Habilitar sistema de wiki
settings.use_internal_wiki=Usar wiki nativa settings.use_internal_wiki=Usar wiki nativa
settings.allow_public_wiki_desc=Allow public access to wiki when repository is private settings.allow_public_wiki_desc=Permitir acesso público à wiki quando o repositório for privado
settings.use_external_wiki=Usar wiki externa settings.use_external_wiki=Usar wiki externa
settings.external_wiki_url=URL externa da wiki settings.external_wiki_url=URL externa da wiki
settings.external_wiki_url_desc=Os visitantes serão redirecionados para a URL ao clicar na aba. settings.external_wiki_url_desc=Os visitantes serão redirecionados para a URL ao clicar na aba.
settings.issues_desc=Habilitar issue tracker settings.issues_desc=Habilitar issue tracker
settings.use_internal_issue_tracker=Usar o issue tracker nativo settings.use_internal_issue_tracker=Usar o issue tracker nativo
settings.allow_public_issues_desc=Allow public access to issues when repository is private settings.allow_public_issues_desc=Permitir acesso público a problemas quando o repositório for privado
settings.use_external_issue_tracker=Usar issue tracker externo settings.use_external_issue_tracker=Usar issue tracker externo
settings.external_tracker_url=URL do Issue Tracker Externo settings.external_tracker_url=URL do Issue Tracker Externo
settings.external_tracker_url_desc=Visitantes serão redirecionados ao URL quando clicarem na aba. settings.external_tracker_url_desc=Visitantes serão redirecionados ao URL quando clicarem na aba.
@ -737,7 +738,7 @@ settings.tracker_issue_style.alphanumeric=Alfanumérico
settings.tracker_url_format_desc=Você pode usar o espaço reservado <code>{user} {repo} {index}</code> para o nome do usuário, índice de nome e a questão do repositório. settings.tracker_url_format_desc=Você pode usar o espaço reservado <code>{user} {repo} {index}</code> para o nome do usuário, índice de nome e a questão do repositório.
settings.pulls_desc=Habilitar Pull Requests para aceitar contribuições públicas settings.pulls_desc=Habilitar Pull Requests para aceitar contribuições públicas
settings.danger_zone=Zona de perigo settings.danger_zone=Zona de perigo
settings.cannot_fork_to_same_owner=You cannot fork a repository to its original owner. settings.cannot_fork_to_same_owner=Não se pode realizar fork de um repositório para seu dono original.
settings.new_owner_has_same_repo=O novo dono já tem um repositório com o mesmo nome. Por favor, escolha outro nome. settings.new_owner_has_same_repo=O novo dono já tem um repositório com o mesmo nome. Por favor, escolha outro nome.
settings.convert=Converter para repositório tradicional settings.convert=Converter para repositório tradicional
settings.convert_desc=Você pode converter este espelho em um repositório tradicional. Esta ação não pode ser revertida. settings.convert_desc=Você pode converter este espelho em um repositório tradicional. Esta ação não pode ser revertida.
@ -780,8 +781,8 @@ settings.webhook_deletion_success=Webhook deletado com sucesso!
settings.webhook.test_delivery=Entrega de teste settings.webhook.test_delivery=Entrega de teste
settings.webhook.test_delivery_desc=Enviar uma entrega de evento de Push falso para testar suas configurações de webhook settings.webhook.test_delivery_desc=Enviar uma entrega de evento de Push falso para testar suas configurações de webhook
settings.webhook.test_delivery_success=O Webhook de teste foi adicionado para a fila de entrega. Pode demorar alguns segundos antes de ser exibido no histórico de entrega. settings.webhook.test_delivery_success=O Webhook de teste foi adicionado para a fila de entrega. Pode demorar alguns segundos antes de ser exibido no histórico de entrega.
settings.webhook.redelivery=Redelivery settings.webhook.redelivery=Re-entrega
settings.webhook.redelivery_success=Hook task '%s' has been readded to delivery queue. It may take few seconds to update delivery status in history. settings.webhook.redelivery_success=A tarefa hook '%s' foi readicionada à fila de entrega. Pode demorar alguns segundos para a situação da entrega no histórico ser atualizada.
settings.webhook.request=Solicitação settings.webhook.request=Solicitação
settings.webhook.response=Resposta settings.webhook.response=Resposta
settings.webhook.headers=Cabeçalhos settings.webhook.headers=Cabeçalhos
@ -796,7 +797,7 @@ settings.add_webhook_desc=Enviaremos uma solicitação <code>POST</code> para o
settings.payload_url=URL de Payload settings.payload_url=URL de Payload
settings.content_type=Tipo de conteúdo settings.content_type=Tipo de conteúdo
settings.secret=Secreto settings.secret=Secreto
settings.secret_desc=Secret will be sent as SHA256 HMAC hex digest of payload via <code>X-Gogs-Signature</code> header. settings.secret_desc=O segredo será enviado como digest hexadecimal SHA256 HMAC do payload via cabeçalho <code>X-Gogs-Signature</code>.
settings.slack_username=Nome de usuário settings.slack_username=Nome de usuário
settings.slack_icon_url=URL do ícone settings.slack_icon_url=URL do ícone
settings.slack_color=Cor settings.slack_color=Cor
@ -806,20 +807,20 @@ settings.event_send_everything=Preciso de <strong>tudo</strong>.
settings.event_choose=Deixe-me escolher o que eu preciso. settings.event_choose=Deixe-me escolher o que eu preciso.
settings.event_create=Criar settings.event_create=Criar
settings.event_create_desc=Branch ou Tag criado settings.event_create_desc=Branch ou Tag criado
settings.event_delete=Delete settings.event_delete=Apagar
settings.event_delete_desc=Branch or tag deleted settings.event_delete_desc=Branch ou tag excluído
settings.event_fork=Fork settings.event_fork=Fork
settings.event_fork_desc=Repository forked settings.event_fork_desc=Feito fork do repositório
settings.event_push=Push settings.event_push=Push
settings.event_push_desc=Git push para o repositório settings.event_push_desc=Git push para o repositório
settings.event_issues=Issues settings.event_issues=Problemas
settings.event_issues_desc=Issue opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, or demilestoned. settings.event_issues_desc=Problema aberto, fechado, reaberto, editado, atribuído, desatribuído, etiqueta atualizada, etiqueta limpa, milestone definido ou milestone indefinido.
settings.event_issue_comment=Issue Comment settings.event_issue_comment=Comentário do Problema
settings.event_issue_comment_desc=Issue comment created, edited, or deleted. settings.event_issue_comment_desc=Comentário do problema criado, editado ou excluído.
settings.event_pull_request=Pull Request settings.event_pull_request=Pull Request
settings.event_pull_request_desc=Pull request opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, demilestoned, or synchronized. settings.event_pull_request_desc=Pull request aberto, fechado, reaberto, editado, atribuído, desatribuído, etiqueta atualizada, etiqueta limpa, milestone definido, milestone indefinido ou sincronizado.
settings.event_release=Release settings.event_release=Lançamento
settings.event_release_desc=Release published in a repository. settings.event_release_desc=Lançamento publicado em um repositório.
settings.active=Ativo settings.active=Ativo
settings.active_helper=Enviaremos detalhes do evento quando este hook for acionado. settings.active_helper=Enviaremos detalhes do evento quando este hook for acionado.
settings.add_hook_success=Novos hooks de web foram adicionados. settings.add_hook_success=Novos hooks de web foram adicionados.
@ -829,12 +830,13 @@ settings.delete_webhook=Excluir Webhook
settings.recent_deliveries=Entregas Recentes settings.recent_deliveries=Entregas Recentes
settings.hook_type=Tipo de Hook settings.hook_type=Tipo de Hook
settings.add_slack_hook_desc=Adicionar <a href="%s">Slack</a> de integração para o seu repositório. settings.add_slack_hook_desc=Adicionar <a href="%s">Slack</a> de integração para o seu repositório.
settings.add_discord_hook_desc=Add <a href="%s">Discord</a> integration to your repository. settings.add_discord_hook_desc=Adicionar integração do <a href="%s">Discord</a> ao seu repositório.
settings.add_dingtalk_hook_desc=Adicionar integração do <a href="%s">Dingtalk</a> ao seu repositório.
settings.slack_token=Token settings.slack_token=Token
settings.slack_domain=Domínio settings.slack_domain=Domínio
settings.slack_channel=Canal settings.slack_channel=Canal
settings.deploy_keys=Chaves de Deploy settings.deploy_keys=Chaves de Deploy
settings.deploy_keys_helper=<b>Common Gotcha!</b> If you're looking for adding personal public keys, please add them in your <a href="%s%s">account settings</a>. settings.deploy_keys_helper=<b>Pegadinha Comum!</b> Se estiver buscando adicionar chaves públicas pessoais, faça isto nas suas <a href="%s%s">configurações da conta</a>.
settings.add_deploy_key=Nova chave settings.add_deploy_key=Nova chave
settings.deploy_key_desc=Chave de Deploy só tem acesso somente leitura. Não é igual as chaves SSH de conta pessoal. settings.deploy_key_desc=Chave de Deploy só tem acesso somente leitura. Não é igual as chaves SSH de conta pessoal.
settings.no_deploy_keys=Você ainda não adicionou nenhuma chave de Deploy. settings.no_deploy_keys=Você ainda não adicionou nenhuma chave de Deploy.
@ -912,7 +914,7 @@ team_permission_desc=Que nível de permissão esta equipe deve ter?
form.name_reserved=O nome de organização '%s' não pode ser usado. form.name_reserved=O nome de organização '%s' não pode ser usado.
form.name_pattern_not_allowed=Não é permitido usar o padrão '%s' para o nome de organização. form.name_pattern_not_allowed=Não é permitido usar o padrão '%s' para o nome de organização.
form.team_name_reserved=Team name '%s' is reserved. form.team_name_reserved=O nome nome de equipe '%s' está reservado.
settings=Configurações settings=Configurações
settings.options=Opções settings.options=Opções
@ -1003,8 +1005,8 @@ dashboard.git_gc_repos=Fazer coleta de lixo nos repositórios
dashboard.git_gc_repos_success=Em todos repositórios, a coleta de lixo foi realizada com sucesso. dashboard.git_gc_repos_success=Em todos repositórios, a coleta de lixo foi realizada com sucesso.
dashboard.resync_all_sshkeys=Reescrever o arquivo '.ssh/authorized_keys' (atenção: chaves que não sejam do Gogs serão perdidas) dashboard.resync_all_sshkeys=Reescrever o arquivo '.ssh/authorized_keys' (atenção: chaves que não sejam do Gogs serão perdidas)
dashboard.resync_all_sshkeys_success=Todas as chaves públicas foram reescritas com sucesso. dashboard.resync_all_sshkeys_success=Todas as chaves públicas foram reescritas com sucesso.
dashboard.resync_all_hooks=Resync pre-receive, update and post-receive hooks of all repositories dashboard.resync_all_hooks=Ressincronizar hooks pre-receive, update e post-receive de todos os repositórios
dashboard.resync_all_hooks_success=All repositories' pre-receive, update and post-receive hooks have been resynced successfully. dashboard.resync_all_hooks_success=Os hooks pre-receive, update e post-receive de todos os repositórios foram ressincronizados com sucesso.
dashboard.reinit_missing_repos=Reinicializar todos os registros de repositório que perderam os arquivos do Git dashboard.reinit_missing_repos=Reinicializar todos os registros de repositório que perderam os arquivos do Git
dashboard.reinit_missing_repos_success=Todos os repositórios que perderam arquivos do Git foram reinicializados com sucesso. dashboard.reinit_missing_repos_success=Todos os repositórios que perderam arquivos do Git foram reinicializados com sucesso.
@ -1079,7 +1081,7 @@ repos.private=Privado
repos.watches=Observadores repos.watches=Observadores
repos.stars=Favoritos repos.stars=Favoritos
repos.issues=Issues repos.issues=Issues
repos.size=Size repos.size=Tamanho
auths.auth_manage_panel=Painel de gerenciamento da autenticação auths.auth_manage_panel=Painel de gerenciamento da autenticação
auths.new=Adicionar nova fonte auths.new=Adicionar nova fonte
@ -1100,14 +1102,14 @@ auths.user_base=Base de pesquisa do usuário
auths.user_dn=Usuário do DN auths.user_dn=Usuário do DN
auths.attribute_username=Atributo nome de usuário auths.attribute_username=Atributo nome de usuário
auths.attribute_username_placeholder=Deixe vazio para usar o valor do campo de formulário de entrada de nome de usuário. auths.attribute_username_placeholder=Deixe vazio para usar o valor do campo de formulário de entrada de nome de usuário.
auths.attribute_name=First Name Attribute auths.attribute_name=Atributo do Nome
auths.attribute_surname=Atributo sobrenome auths.attribute_surname=Atributo sobrenome
auths.attribute_mail=Atributo e-mail auths.attribute_mail=Atributo e-mail
auths.verify_group_membership=Verify group membership auths.verify_group_membership=Verificar associação a grupo
auths.group_search_base_dn=Group Search Base DN auths.group_search_base_dn=Group Search Base DN
auths.group_filter=Group Filter auths.group_filter=Filtro de Grupo
auths.group_attribute_contain_user_list=Group Attribute Containing List of Users auths.group_attribute_contain_user_list=Atributo do grupo contendo a lista de usuários
auths.user_attribute_listed_in_group=User Attribute Listed in Group auths.user_attribute_listed_in_group=Atributo do usuário listado no grupo
auths.attributes_in_bind=Buscar os atributos no contexto de Bind DN auths.attributes_in_bind=Buscar os atributos no contexto de Bind DN
auths.filter=Filtro de usuário auths.filter=Filtro de usuário
auths.admin_filter=Filtro de administrador auths.admin_filter=Filtro de administrador
@ -1160,13 +1162,13 @@ config.ssh_keygen_path=Caminho do keygen ('ssh-keygen')
config.ssh_minimum_key_size_check=Verificar tamanho mínimo da chave config.ssh_minimum_key_size_check=Verificar tamanho mínimo da chave
config.ssh_minimum_key_sizes=Tamanhos mínimos da chave config.ssh_minimum_key_sizes=Tamanhos mínimos da chave
config.repo_config=Repository Configuration config.repo_config=Configuração do Repositório
config.repo_root_path=Caminho raiz do repositório config.repo_root_path=Caminho raiz do repositório
config.script_type=Tipo de script config.script_type=Tipo de script
config.repo_force_private=Force Private config.repo_force_private=Forçar Privado
config.max_creation_limit=Max Creation Limit config.max_creation_limit=Limite de Criação
config.preferred_licenses=Preferred Licenses config.preferred_licenses=Licenças Preferidas
config.disable_http_git=Disable HTTP Git config.disable_http_git=Desabilitar Git por HTTP
config.enable_local_path_migration=Enable Local Path Migration config.enable_local_path_migration=Enable Local Path Migration
config.commits_fetch_concurrency=Commits Fetch Concurrency config.commits_fetch_concurrency=Commits Fetch Concurrency
@ -1242,8 +1244,8 @@ config.git_pull_timeout=Timeout para operação de pull
config.git_gc_timeout=Timeout para execução do GC config.git_gc_timeout=Timeout para execução do GC
config.log_config=Configuração de log config.log_config=Configuração de log
config.log_mode=Mode config.log_mode=Modo
config.log_options=Options config.log_options=Opções
monitor.cron=Tarefas cron monitor.cron=Tarefas cron
monitor.name=Nome monitor.name=Nome
@ -1272,7 +1274,7 @@ notices.delete_success=Avisos do sistema foram excluídos com sucesso.
[action] [action]
create_repo=repositório criado <a href="%s"> %s</a> create_repo=repositório criado <a href="%s"> %s</a>
fork_repo=forked a repository to <a href="%s">%s</a> fork_repo=repositório criado <a href="%s"> %s</a>
rename_repo=renomeou o o repositório <code>%[1]s</code> para <a href="%[2]s">%[3]s</a> rename_repo=renomeou o o repositório <code>%[1]s</code> para <a href="%[2]s">%[3]s</a>
commit_repo=pushed para <a href="%[1]s/src/%[2]s">%[3]s</a> em <a href="%[1]s">%[4]s</a> commit_repo=pushed para <a href="%[1]s/src/%[2]s">%[3]s</a> em <a href="%[1]s">%[4]s</a>
compare_commits=Ver comparação entre esses %d commits compare_commits=Ver comparação entre esses %d commits
@ -1285,8 +1287,8 @@ create_pull_request=`criou o pull request <a href="%s/pulls/%s">%s#%[2]s</a>`
close_pull_request=`fechou o pull request <a href="%s/pulls/%s">%s#%[2]s</a>` close_pull_request=`fechou o pull request <a href="%s/pulls/%s">%s#%[2]s</a>`
reopen_pull_request=`reabriu o pull request <a href="%s/pulls/%s">%s#%[2]s</a>` reopen_pull_request=`reabriu o pull request <a href="%s/pulls/%s">%s#%[2]s</a>`
merge_pull_request=`mesclou o pull request <a href="%s/pulls/%s">%s#%[2]s</a>` merge_pull_request=`mesclou o pull request <a href="%s/pulls/%s">%s#%[2]s</a>`
create_branch=created new branch <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a> create_branch=criado novo branch <a href="%[1]s/src/%[2]s">%[3]s</a> em <a href="%[1]s">%[4]s</a>
delete_branch=deleted branch <code>%[2]s</code> at <a href="%[1]s">%[3]s</a> delete_branch=excluído branch <code>%[2]s</code> em <a href="%[1]s">%[3]s</a>
push_tag=Foi feito push na tag <a href="%s/src/%s">%[2]s</a> para <a href="%[1]s">%[3]s</a> push_tag=Foi feito push na tag <a href="%s/src/%s">%[2]s</a> para <a href="%[1]s">%[3]s</a>
delete_tag=deleted tag <code>%[2]s</code> at <a href="%[1]s">%[3]s</a> delete_tag=deleted tag <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>

12
conf/locale/locale_ru-RU.ini

@ -119,7 +119,7 @@ sqlite3_not_available=Ваша версия не поддерживает SQLite
invalid_db_setting=Настройки базы данных не правильные: %v invalid_db_setting=Настройки базы данных не правильные: %v
invalid_repo_path=Недопустимый путь к корню репозитория: %v invalid_repo_path=Недопустимый путь к корню репозитория: %v
run_user_not_match=Текущий пользователь не является пользователем для запуска: %s -> %s run_user_not_match=Текущий пользователь не является пользователем для запуска: %s -> %s
smtp_host_missing_port=SMTP Host is missing port in address. smtp_host_missing_port=Не указан порт в адресе хоста SMTP.
invalid_smtp_from=Поле SMTP From неправильное: %v invalid_smtp_from=Поле SMTP From неправильное: %v
save_config_failed=Не удалось сохранить конфигурацию: %v save_config_failed=Не удалось сохранить конфигурацию: %v
invalid_admin_setting=Указан недопустимый параметр учетной записи администратора: %v invalid_admin_setting=Указан недопустимый параметр учетной записи администратора: %v
@ -616,6 +616,7 @@ pulls.compare_compare=сравнить
pulls.filter_branch=Фильтр по ветке pulls.filter_branch=Фильтр по ветке
pulls.no_results=Результатов не найдено. pulls.no_results=Результатов не найдено.
pulls.nothing_to_compare=Нечего сравнивать, родительская и текущая ветка одинаковые. pulls.nothing_to_compare=Нечего сравнивать, родительская и текущая ветка одинаковые.
pulls.nothing_merge_base=There is nothing to compare because two branches have completely different history.
pulls.has_pull_request=`Уже существует запрос на слияние между двумя целями: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>` pulls.has_pull_request=`Уже существует запрос на слияние между двумя целями: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
pulls.create=Создать запрос на слияние pulls.create=Создать запрос на слияние
pulls.title_desc=хочет смерджить %[1]d коммит(ов) из <code>%[2]s</code> в <code>%[3]s</code> pulls.title_desc=хочет смерджить %[1]d коммит(ов) из <code>%[2]s</code> в <code>%[3]s</code>
@ -830,6 +831,7 @@ settings.recent_deliveries=Недавние рассылки
settings.hook_type=Тип перехватчика settings.hook_type=Тип перехватчика
settings.add_slack_hook_desc=Добавить интеграцию с <a href="%s">Slack</a> в ваш репозиторий. settings.add_slack_hook_desc=Добавить интеграцию с <a href="%s">Slack</a> в ваш репозиторий.
settings.add_discord_hook_desc=Добавить интеграцию с <a href="%s">Discord</a> в ваш репозиторий. settings.add_discord_hook_desc=Добавить интеграцию с <a href="%s">Discord</a> в ваш репозиторий.
settings.add_dingtalk_hook_desc=Add <a href="%s">Dingtalk</a> integration to your repository.
settings.slack_token=Token settings.slack_token=Token
settings.slack_domain=Домен settings.slack_domain=Домен
settings.slack_channel=Канал settings.slack_channel=Канал
@ -1104,10 +1106,10 @@ auths.attribute_name=First Name Attribute
auths.attribute_surname=Фамилия аттрибута auths.attribute_surname=Фамилия аттрибута
auths.attribute_mail=Электронная почта аттрибута auths.attribute_mail=Электронная почта аттрибута
auths.verify_group_membership=Verify group membership auths.verify_group_membership=Verify group membership
auths.group_search_base_dn=Group Search Base DN auths.group_search_base_dn=Base DN для поиска группы
auths.group_filter=Group Filter auths.group_filter=Групповой фильтр
auths.group_attribute_contain_user_list=Group Attribute Containing List of Users auths.group_attribute_contain_user_list=Атрибут группы, содержащий список пользователей
auths.user_attribute_listed_in_group=User Attribute Listed in Group auths.user_attribute_listed_in_group=Пользовательский атрибут, перечисленный в группе
auths.attributes_in_bind=Извлечение атрибутов в виде Bind DN auths.attributes_in_bind=Извлечение атрибутов в виде Bind DN
auths.filter=Фильтр пользователя auths.filter=Фильтр пользователя
auths.admin_filter=Фильтр администратора auths.admin_filter=Фильтр администратора

118
conf/locale/locale_sr-SP.ini

@ -4,7 +4,7 @@ home=Почетна
dashboard=Контролни панел dashboard=Контролни панел
explore=Преглед explore=Преглед
help=Помоћ help=Помоћ
sign_in=Пријавите Се sign_in=Пријавите се
sign_out=Одјава sign_out=Одјава
sign_up=Регистрација sign_up=Регистрација
register=Регистрација register=Регистрација
@ -51,10 +51,10 @@ docker_helper=Ако покрећете Gogs унутар Docker, молимо
requite_db_desc=Gogs захтева MySQL, PostgreSQL, SQLite3, MSSQL или TiDB. requite_db_desc=Gogs захтева MySQL, PostgreSQL, SQLite3, MSSQL или TiDB.
db_title=Подешавања базе db_title=Подешавања базе
db_type=Тип базе података db_type=Тип базе података
host=Хост host=Власник
user=Корисник user=Корисник
password=Лозинка password=Лозинка
db_name=Име базе података db_name=Назив базе података
db_helper=За MySQL користите тип табела InnoDB са кодирањем utf8_general_ci. db_helper=За MySQL користите тип табела InnoDB са кодирањем utf8_general_ci.
ssl_mode=Режим SSL ssl_mode=Режим SSL
path=Пут path=Пут
@ -196,7 +196,7 @@ Email=Адреса ел. поште
Password=Лозинка Password=Лозинка
Retype=Поновите лозинку Retype=Поновите лозинку
SSHTitle=Име SSH кључа SSHTitle=Име SSH кључа
HttpsUrl=HTTPS URL адреса HttpsUrl=HTTPS URL
PayloadUrl=URL адреса за слање PayloadUrl=URL адреса за слање
TeamName=Име тима TeamName=Име тима
AuthName=Ауторизацијско име AuthName=Ауторизацијско име
@ -268,12 +268,12 @@ security=Безбедност
repos=Спремишта repos=Спремишта
orgs=Организације orgs=Организације
applications=Апликације applications=Апликације
delete=Уклоните налог delete=Уклоните Hалог
public_profile=Јавни профил public_profile=Јавни профил
profile_desc=Ваша адреса е-поште је јавна и коришће се за све обавести везане са налогом, као и друге операције почињене кроз Gogs. profile_desc=Ваша адреса е-поште је јавна и коришће се за све обавести везане са налогом, као и друге операције почињене кроз Gogs.
password_username_disabled=Нелокални корисници не могу да промене своје кориничко име. password_username_disabled=Нелокални корисници не могу да промене своје кориничко име.
full_name=Име и презиме full_name=Пуно Име
website=Веб страница website=Веб страница
location=Локација location=Локација
update_profile=Ажурирај профил update_profile=Ажурирај профил
@ -300,7 +300,7 @@ password_incorrect=Тренутна лозинка је нетачна.
change_password_success=Лозинка је успешно промењена. Можете се пријавити са новом лозинком. change_password_success=Лозинка је успешно промењена. Можете се пријавити са новом лозинком.
password_change_disabled=Нелокални корисници не могу да промене своје лозинке. password_change_disabled=Нелокални корисници не могу да промене своје лозинке.
emails=Адреса ел. поште emails=Адреса е-поште
manage_emails=Управљање адресама е-поште manage_emails=Управљање адресама е-поште
email_desc=Ваша главна адреса ће се користити за обавештења и других операција. email_desc=Ваша главна адреса ће се користити за обавештења и других операција.
primary=Главно primary=Главно
@ -521,7 +521,7 @@ editor.upload_files_to_dir=Пошаљи датотеке на '%s'
commits.commit_history=Историја ревизија commits.commit_history=Историја ревизија
commits.commits=Комити commits.commits=Комити
commits.search=Претражи комите commits.search=Претражи комите
commits.find=Претражи commits.find=Пронађи
commits.author=Аутор commits.author=Аутор
commits.message=Порука commits.message=Порука
commits.date=Датум commits.date=Датум
@ -616,6 +616,7 @@ pulls.compare_compare=упореди
pulls.filter_branch=Филтер по грани pulls.filter_branch=Филтер по грани
pulls.no_results=Нема резултата. pulls.no_results=Нема резултата.
pulls.nothing_to_compare=Нема шта да се упореди, гране су исте. pulls.nothing_to_compare=Нема шта да се упореди, гране су исте.
pulls.nothing_merge_base=Немогуће је упоредити јер двије гране имају потпуно другачију историју.
pulls.has_pull_request=`Већ постоји захтев за спајање између ове две гране: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>` pulls.has_pull_request=`Већ постоји захтев за спајање између ове две гране: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
pulls.create=Поднеси захтев за спајање pulls.create=Поднеси захтев за спајање
pulls.title_desc=жели да споји %[1]d комит(е) из <code>%[2]s</code> у <code>%[3]s</code> pulls.title_desc=жели да споји %[1]d комит(е) из <code>%[2]s</code> у <code>%[3]s</code>
@ -693,21 +694,21 @@ settings.update=Ажурирање
settings.update_default_branch_unsupported=Промена подразумеване гране није подржавана од стране Git верзија сервера. settings.update_default_branch_unsupported=Промена подразумеване гране није подржавана од стране Git верзија сервера.
settings.update_default_branch_success=Подразумевана грана овог спремишта је била успешно ажурирана! settings.update_default_branch_success=Подразумевана грана овог спремишта је била успешно ажурирана!
settings.protected_branches=Заштићене гране settings.protected_branches=Заштићене гране
settings.protected_branches_desc=Protect branches from force pushing, accidental deletion and whitelist code committers. settings.protected_branches_desc=Заштита гранe од додира, случајног брисања и команди листе кода.
settings.choose_a_branch=Choose a branch... settings.choose_a_branch=Изаберите Филијалy...
settings.branch_protection=Branch Protection settings.branch_protection=Заштита Филијала
settings.branch_protection_desc=Please choose protect options for branch <b>%s</b>. settings.branch_protection_desc=Молимо изаберите заштитне опције за грану <b>%s</b>.
settings.protect_this_branch=Protect this branch settings.protect_this_branch=Заштити ову филијалy
settings.protect_this_branch_desc=Disable force pushes and prevent from deletion. settings.protect_this_branch_desc=Онемогућите притисак и заштититy од брисања.
settings.protect_require_pull_request=Require pull request instead direct pushing settings.protect_require_pull_request=Захтев за повлачењем уместо директног додира
settings.protect_require_pull_request_desc=Enable this option to disable direct pushing to this branch. Commits have to be pushed to another non-protected branch and merged to this branch through pull request. settings.protect_require_pull_request_desc=Омогућите ову опцију да бисте спречили директан додир на ову грану. Обавезно мора бити покренуто у незаштићеној грани затим објединти на ову грану кao захтев за спајање.
settings.protect_whitelist_committers=Whitelist who can push to this branch settings.protect_whitelist_committers=Whitelist који може да додирне ову грану
settings.protect_whitelist_committers_desc=Add people or teams to whitelist of direct push to this branch. Users in whitelist will bypass require pull request check. settings.protect_whitelist_committers_desc=Додајте људе или тимовe у листу белих исправа за директан приступ овој теми. Корисници из беле листе ће заобићи захтев за повлачење захтева.
settings.protect_whitelist_users=Users who can push to this branch settings.protect_whitelist_users=Корисници који могу да додирнy ову грану
settings.protect_whitelist_search_users=Search users settings.protect_whitelist_search_users=Тражи кориснике
settings.protect_whitelist_teams=Teams for which members of them can push to this branch settings.protect_whitelist_teams=Тимови кao и њихови чланови могу потакнути овy грану
settings.protect_whitelist_search_teams=Search teams settings.protect_whitelist_search_teams=Тимови за претрагу
settings.update_protect_branch_success=Protect options for this branch has been updated successfully! settings.update_protect_branch_success=Заштитна опција за ову грану је успешно ажурирана!
settings.hooks=Webhooks settings.hooks=Webhooks
settings.githooks=Git хуки settings.githooks=Git хуки
settings.basic_settings=Основна подешавања settings.basic_settings=Основна подешавања
@ -720,16 +721,16 @@ settings.change_reponame_prompt=Ова промена ће утицати на
settings.advanced_settings=Напредна подешавања settings.advanced_settings=Напредна подешавања
settings.wiki_desc=Омогући систем вики settings.wiki_desc=Омогући систем вики
settings.use_internal_wiki=Користи уграђен вики settings.use_internal_wiki=Користи уграђен вики
settings.allow_public_wiki_desc=Allow public access to wiki when repository is private settings.allow_public_wiki_desc=Дозволите приступ wiki када је трговина приватна
settings.use_external_wiki=Користи спољни Вики settings.use_external_wiki=Користи спољни Вики
settings.external_wiki_url=URL адреса спољног Вики settings.external_wiki_url=URL адреса спољног Вики
settings.external_wiki_url_desc=Посетиоци ће бити преусмерени URL адреси након што кликну на картицу. settings.external_wiki_url_desc=Посетиоци ће бити преусмерени URL адреси након што кликну на картицу.
settings.issues_desc=Омогући систем праћења грешака settings.issues_desc=Омогући систем праћења грешака
settings.use_internal_issue_tracker=Користи уграђен систем праћења грешака settings.use_internal_issue_tracker=Користи уграђен систем праћења грешака
settings.allow_public_issues_desc=Allow public access to issues when repository is private settings.allow_public_issues_desc=Дозволите приступ проблемима када је трговина приватна
settings.use_external_issue_tracker=Користи спољни систем праћења грешака settings.use_external_issue_tracker=Користи спољни систем праћења грешака
settings.external_tracker_url=External Issue Tracker URL settings.external_tracker_url=Екстерни проблем Tracker URL
settings.external_tracker_url_desc=Visitors will be redirected to URL when they click on the tab. settings.external_tracker_url_desc=Посетиоци ће бити преусмерени на URL када кликну на картицу.
settings.tracker_url_format=Спољни формат везе система за праћење грешака settings.tracker_url_format=Спољни формат везе система за праћење грешака
settings.tracker_issue_style=Стил именовања на спољном систему: settings.tracker_issue_style=Стил именовања на спољном систему:
settings.tracker_issue_style.numeric=Нумерично settings.tracker_issue_style.numeric=Нумерично
@ -737,7 +738,7 @@ settings.tracker_issue_style.alphanumeric=Алфанумерично
settings.tracker_url_format_desc=Можете да користите шаблон <code>{user} {repo} {index}</code> за корисничко име, спремишта и задатака. settings.tracker_url_format_desc=Можете да користите шаблон <code>{user} {repo} {index}</code> за корисничко име, спремишта и задатака.
settings.pulls_desc=Омогући систем захтева за спајање да би сте преузели јавних доприноса settings.pulls_desc=Омогући систем захтева за спајање да би сте преузели јавних доприноса
settings.danger_zone=Опасна зона settings.danger_zone=Опасна зона
settings.cannot_fork_to_same_owner=You cannot fork a repository to its original owner. settings.cannot_fork_to_same_owner=Не можете поделити спремиште власнику.
settings.new_owner_has_same_repo=Нови власник већ има спремиште по истим називом. Молимо вас изаберите друго име. settings.new_owner_has_same_repo=Нови власник већ има спремиште по истим називом. Молимо вас изаберите друго име.
settings.convert=Претворити у обично спремиште settings.convert=Претворити у обично спремиште
settings.convert_desc=Можете претворити огледало у обично спремиште, али та операција не може се укинути. settings.convert_desc=Можете претворити огледало у обично спремиште, али та операција не може се укинути.
@ -781,7 +782,7 @@ settings.webhook.test_delivery=Провери испоруку
settings.webhook.test_delivery_desc=Пошаљи push за тестирање подешавања webhook settings.webhook.test_delivery_desc=Пошаљи push за тестирање подешавања webhook
settings.webhook.test_delivery_success=Тест webhook је додат у месту испоруке. Процес може да потраје неколико секунди пре него што ће показати у историји испоруке. settings.webhook.test_delivery_success=Тест webhook је додат у месту испоруке. Процес може да потраје неколико секунди пре него што ће показати у историји испоруке.
settings.webhook.redelivery=Redelivery settings.webhook.redelivery=Redelivery
settings.webhook.redelivery_success=Hook task '%s' has been readded to delivery queue. It may take few seconds to update delivery status in history. settings.webhook.redelivery_success=Hook задатак '%s' је прочитан редоследом испоруке. Може потрајати неколико секунди да ce ажурира статус испоруке у историји.
settings.webhook.request=Захтев settings.webhook.request=Захтев
settings.webhook.response=Одговор settings.webhook.response=Одговор
settings.webhook.headers=Наслови settings.webhook.headers=Наслови
@ -796,7 +797,7 @@ settings.add_webhook_desc=Послаћемо захтев <code>POST</code> на
settings.payload_url=URL адреса за слање settings.payload_url=URL адреса за слање
settings.content_type=Тип садржаја settings.content_type=Тип садржаја
settings.secret=Тајна settings.secret=Тајна
settings.secret_desc=Secret will be sent as SHA256 HMAC hex digest of payload via <code>X-Gogs-Signature</code> header. settings.secret_desc=Тајна ће бити послата као SHA256 HMAC hex digest корисног оптерећења преко <code>X-Gogs-Signature</code> заглавља.
settings.slack_username=Корисничко име settings.slack_username=Корисничко име
settings.slack_icon_url=URL адреса иконице settings.slack_icon_url=URL адреса иконице
settings.slack_color=Боја settings.slack_color=Боја
@ -806,14 +807,14 @@ settings.event_send_everything=У <strong>свим</strong> догађајима
settings.event_choose=Изабраћу шта ми је потребно. settings.event_choose=Изабраћу шта ми је потребно.
settings.event_create=Креирај settings.event_create=Креирај
settings.event_create_desc=Створена грана или ознака settings.event_create_desc=Створена грана или ознака
settings.event_delete=Delete settings.event_delete=Обриши
settings.event_delete_desc=Branch or tag deleted settings.event_delete_desc=Oбрисана грана или ознака
settings.event_fork=Fork settings.event_fork=Креирај огранак
settings.event_fork_desc=Repository forked settings.event_fork_desc=Спремиште је допуштено
settings.event_push=Push settings.event_push=Push
settings.event_push_desc=Git push у спремиште settings.event_push_desc=Git push у спремиште
settings.event_issues=Issues settings.event_issues=Задаци
settings.event_issues_desc=Issue opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, or demilestoned. settings.event_issues_desc=Проблем је отворен, затворен, поново отворен, уређен, додељен, не додељен, етикета је ажурирана, етикета је очишћена, помјерена или демилестирана.
settings.event_issue_comment=Коментар проблема settings.event_issue_comment=Коментар проблема
settings.event_issue_comment_desc=Коментар проблема креиран, уређиван или избришен. settings.event_issue_comment_desc=Коментар проблема креиран, уређиван или избришен.
settings.event_pull_request=Захтев за спајање settings.event_pull_request=Захтев за спајање
@ -830,6 +831,7 @@ settings.recent_deliveries=Недавне испоруке
settings.hook_type=Тип Hook-а settings.hook_type=Тип Hook-а
settings.add_slack_hook_desc=Додавање интеграције <a href="%s">Slack</a> у спремиште. settings.add_slack_hook_desc=Додавање интеграције <a href="%s">Slack</a> у спремиште.
settings.add_discord_hook_desc=Додавати <a href="%s">Discord</a> интеграцију вашем спремишту. settings.add_discord_hook_desc=Додавати <a href="%s">Discord</a> интеграцију вашем спремишту.
settings.add_dingtalk_hook_desc=Додајте интеграцију <a href="%s">Dingtalk</a> у своје спремиште.
settings.slack_token=Токен settings.slack_token=Токен
settings.slack_domain=Домен settings.slack_domain=Домен
settings.slack_channel=Канал settings.slack_channel=Канал
@ -1003,8 +1005,8 @@ dashboard.git_gc_repos=Изврши cакупљање смећа на спрем
dashboard.git_gc_repos_success=Сва спремишта су успешно извршили cакупљање смећа. dashboard.git_gc_repos_success=Сва спремишта су успешно извршили cакупљање смећа.
dashboard.resync_all_sshkeys=Препиши '.ssh/authorized_keys' (опрез: не Gogs тастери ће бити изгубљени) dashboard.resync_all_sshkeys=Препиши '.ssh/authorized_keys' (опрез: не Gogs тастери ће бити изгубљени)
dashboard.resync_all_sshkeys_success=Сви јавни кључеви су успешно преписани. dashboard.resync_all_sshkeys_success=Сви јавни кључеви су успешно преписани.
dashboard.resync_all_hooks=Resync pre-receive, update and post-receive hooks of all repositories dashboard.resync_all_hooks=Поново синхронизујте купљенe pre-receive, ажурирањa и post-receive у свим репозиторијумима
dashboard.resync_all_hooks_success=All repositories' pre-receive, update and post-receive hooks have been resynced successfully. dashboard.resync_all_hooks_success=Све спремишта pre-receive, ажурирања и post-receive успешно су ресинкронизованa.
dashboard.reinit_missing_repos=Поново постави све податке са изгубљеним Git датотекама dashboard.reinit_missing_repos=Поново постави све податке са изгубљеним Git датотекама
dashboard.reinit_missing_repos_success=Сви подаци са изгубљеним Git датотекама су успешно поново постављени. dashboard.reinit_missing_repos_success=Сви подаци са изгубљеним Git датотекама су успешно поново постављени.
@ -1079,7 +1081,7 @@ repos.private=Приватно
repos.watches=Watches repos.watches=Watches
repos.stars=Фаворити repos.stars=Фаворити
repos.issues=Задаци repos.issues=Задаци
repos.size=Size repos.size=Величина
auths.auth_manage_panel=Контролна панела аутентикације auths.auth_manage_panel=Контролна панела аутентикације
auths.new=Додај нови извор auths.new=Додај нови извор
@ -1100,14 +1102,14 @@ auths.user_base=База претраживање корисника
auths.user_dn=DN корисника auths.user_dn=DN корисника
auths.attribute_username=Атрибут username auths.attribute_username=Атрибут username
auths.attribute_username_placeholder=Оставите празно да бисте користили корисничко име за регистрацију. auths.attribute_username_placeholder=Оставите празно да бисте користили корисничко име за регистрацију.
auths.attribute_name=First Name Attribute auths.attribute_name=Првo име атрибута
auths.attribute_surname=Презиме атрибута auths.attribute_surname=Презиме атрибута
auths.attribute_mail=Е-маил адреса auths.attribute_mail=Е-маил адреса
auths.verify_group_membership=Verify group membership auths.verify_group_membership=Потврдите чланство у групи
auths.group_search_base_dn=Group Search Base DN auths.group_search_base_dn=База DN за претраживање групе
auths.group_filter=Group Filter auths.group_filter=Филтер групе
auths.group_attribute_contain_user_list=Group Attribute Containing List of Users auths.group_attribute_contain_user_list=Група атрибута која садржи листу корисника
auths.user_attribute_listed_in_group=User Attribute Listed in Group auths.user_attribute_listed_in_group=Атрибут прилагођен и наведен у групи
auths.attributes_in_bind=Екстракција атрибута у облику Bind DN auths.attributes_in_bind=Екстракција атрибута у облику Bind DN
auths.filter=Филтер корисника auths.filter=Филтер корисника
auths.admin_filter=Филтер администратора auths.admin_filter=Филтер администратора
@ -1132,7 +1134,7 @@ auths.delete_auth_title=Брисање канала аутентикације
auths.delete_auth_desc=Овај канал аутентикације ће бити избрисан. Да ли желите да наставите? auths.delete_auth_desc=Овај канал аутентикације ће бити избрисан. Да ли желите да наставите?
auths.still_in_used=Овај канал аутентикације још увек се користи од стране неких корисника, уклоните или пребаци ове кориснике у друг врсту аутентикације. auths.still_in_used=Овај канал аутентикације још увек се користи од стране неких корисника, уклоните или пребаци ове кориснике у друг врсту аутентикације.
auths.deletion_success=Канал аутентикације успешно избрисан! auths.deletion_success=Канал аутентикације успешно избрисан!
auths.login_source_exist=Login source '%s' already exists. auths.login_source_exist=Улазни извор '%s' већ постоји.
config.server_config=Конфигурација сервера config.server_config=Конфигурација сервера
config.app_name=Име апликације config.app_name=Име апликације
@ -1160,15 +1162,15 @@ config.ssh_keygen_path=Пут до генератор кључева ('ssh-keyge
config.ssh_minimum_key_size_check=Минимална величина провера кључа config.ssh_minimum_key_size_check=Минимална величина провера кључа
config.ssh_minimum_key_sizes=Минимална величина кључева config.ssh_minimum_key_sizes=Минимална величина кључева
config.repo_config=Repository Configuration config.repo_config=Конфигурација спремишта
config.repo_root_path=Пут до корена спремишта config.repo_root_path=Пут до корена спремишта
config.script_type=Врста скрипта config.script_type=Врста скрипта
config.repo_force_private=Force Private config.repo_force_private=Force Private
config.max_creation_limit=Max Creation Limit config.max_creation_limit=Ограничење максималне креације
config.preferred_licenses=Preferred Licenses config.preferred_licenses=Преференцијалне лиценце
config.disable_http_git=Disable HTTP Git config.disable_http_git=Онемогући HTTP Git
config.enable_local_path_migration=Enable Local Path Migration config.enable_local_path_migration=Омогући миграцију локалнe путањe
config.commits_fetch_concurrency=Commits Fetch Concurrency config.commits_fetch_concurrency=Предузеће Fetch Concurrency
config.db_config=Конфигурација базе података config.db_config=Конфигурација базе података
config.db_type=Тип config.db_type=Тип
@ -1242,8 +1244,8 @@ config.git_pull_timeout=Време до отказивања pull операци
config.git_gc_timeout=Време до отказивања cакупљање смећа config.git_gc_timeout=Време до отказивања cакупљање смећа
config.log_config=Kонфигурација журнала config.log_config=Kонфигурација журнала
config.log_mode=Mode config.log_mode=Режим
config.log_options=Options config.log_options=Опције
monitor.cron=Cron задаци monitor.cron=Cron задаци
monitor.name=Име monitor.name=Име
@ -1272,7 +1274,7 @@ notices.delete_success=Системска обавештавања су успе
[action] [action]
create_repo=креира спремиште <a href="%s">%s</a> create_repo=креира спремиште <a href="%s">%s</a>
fork_repo=forked a repository to <a href="%s">%s</a> fork_repo=отворио спремиште <a href="%s">%s</a>
rename_repo=преимензје спремиште од <code>%[1]s</code> на <a href="%[2]s">%[3]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> commit_repo=извршује push на <a href="%[1]s/src/%[2]s">%[3]s</a> у <a href="%[1]s">%[4]s</a>
compare_commits=Поређење ових %d комита compare_commits=Поређење ових %d комита
@ -1285,10 +1287,10 @@ create_pull_request=`шаље захтев за спајање <a href="%s/pulls
close_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>` reopen_pull_request=`поново отвара захтев за спајање <a href="%s/pulls/%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>`
create_branch=created new branch <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a> create_branch=створи нову филијалy <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a>
delete_branch=deleted branch <code>%[2]s</code> at <a href="%[1]s">%[3]s</a> delete_branch=избрисана филијалa <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
push_tag=извршује push са ознаком <a href="%s/src/%s">%[2]s</a> на <a href="%[1]s">%[3]s</a> push_tag=извршује push са ознаком <a href="%s/src/%s">%[2]s</a> на <a href="%[1]s">%[3]s</a>
delete_tag=deleted tag <code>%[2]s</code> at <a href="%[1]s">%[3]s</a> delete_tag=избрисана ознака <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
[tool] [tool]
ago=пре ago=пре

56
conf/locale/locale_sv-SE.ini

@ -48,7 +48,7 @@ cancel=Avbryt
install=Installation install=Installation
title=Steg för att installera för första gången title=Steg för att installera för första gången
docker_helper=Om du kör Gogs inuti Docker, vänligen läs <a target="_blank" href="%s">Riktninjerna</a> nogrant innan du ändrar någonting på denna sida! docker_helper=Om du kör Gogs inuti Docker, vänligen läs <a target="_blank" href="%s">Riktninjerna</a> nogrant innan du ändrar någonting på denna sida!
requite_db_desc=Gogs requires MySQL, PostgreSQL, SQLite3, MSSQL or TiDB. requite_db_desc=Gogs kräver MySQL, PostgreSQL, SQLite3, MSSQL eller TiDB.
db_title=Databasinställningar db_title=Databasinställningar
db_type=Databastyp db_type=Databastyp
host=Server host=Server
@ -58,8 +58,8 @@ db_name=Databasens namn
db_helper=Se till att i MySQL använda INNODB med teckenuppsättningen utf8_general_ci. db_helper=Se till att i MySQL använda INNODB med teckenuppsättningen utf8_general_ci.
ssl_mode=SSL-läge ssl_mode=SSL-läge
path=Filväg path=Filväg
sqlite_helper=The file path of SQLite3 database. <br>Please use absolute path when you start as service. sqlite_helper=Sökvägen för SQLite3 databas. <br>Vänligen använd den absoluta sökvägen när du kör som en tjänst.
err_empty_db_path=SQLite3 database path cannot be empty. err_empty_db_path=Sökvägen till SQLite3 databasen får inte vara tom.
no_admin_and_disable_registration=Du kan inte inaktivera registrering utan att skapa ett administratörskonto. no_admin_and_disable_registration=Du kan inte inaktivera registrering utan att skapa ett administratörskonto.
err_empty_admin_password=Administratörslösenordet får ej vara tomt. err_empty_admin_password=Administratörslösenordet får ej vara tomt.
@ -74,7 +74,7 @@ domain=Domän
domain_helper=Detta påverkar SSH klonings webbadresser. domain_helper=Detta påverkar SSH klonings webbadresser.
ssh_port=SSH-port ssh_port=SSH-port
ssh_port_helper=Portnumret som din SSH-server brukar, lämna tomt för att inaktivera SSH-funktionaliteten. ssh_port_helper=Portnumret som din SSH-server brukar, lämna tomt för att inaktivera SSH-funktionaliteten.
use_builtin_ssh_server=Use Builtin SSH Server use_builtin_ssh_server=Använd inbyggd SSH Server
use_builtin_ssh_server_popup=Start builtin SSH server for Git operations to distinguish from system SSH daemon. use_builtin_ssh_server_popup=Start builtin SSH server for Git operations to distinguish from system SSH daemon.
http_port=HTTP Port http_port=HTTP Port
http_port_helper=Portnumret vilket applikationen kommer lyssnar på. http_port_helper=Portnumret vilket applikationen kommer lyssnar på.
@ -82,8 +82,8 @@ app_url=Applikationsadressen
app_url_helper=Detta påverkar HTTP/HTTPS kloningsadressen och på platser i e-post. app_url_helper=Detta påverkar HTTP/HTTPS kloningsadressen och på platser i e-post.
log_root_path=Loggsökväg log_root_path=Loggsökväg
log_root_path_helper=Katalog till vilken loggfiler skrivs. log_root_path_helper=Katalog till vilken loggfiler skrivs.
enable_console_mode=Enable Console Mode enable_console_mode=Aktivera Konsolläge
enable_console_mode_popup=In addition to file mode, also print logs to console. enable_console_mode_popup=Utöver fil-läge, skriver även ut loggar till konsol.
optional_title=Övriga inställningar optional_title=Övriga inställningar
email_title=E-post tjänstens inställningar email_title=E-post tjänstens inställningar
@ -119,8 +119,8 @@ sqlite3_not_available=Din release stödjer ej SQLite3, ladda vänligen ner den o
invalid_db_setting=Databas inställningen är inkorrekt: %v invalid_db_setting=Databas inställningen är inkorrekt: %v
invalid_repo_path=Utvecklingskatalogens rotsökväg är ogiltig: %v invalid_repo_path=Utvecklingskatalogens rotsökväg är ogiltig: %v
run_user_not_match=Köranvändaren är inte aktuell användare: %s -> %s run_user_not_match=Köranvändaren är inte aktuell användare: %s -> %s
smtp_host_missing_port=SMTP Host is missing port in address. smtp_host_missing_port=SMTP-värden saknar port i adressen.
invalid_smtp_from=SMTP From field is not valid: %v invalid_smtp_from=SMTP från fält är inte giltigt: %v
save_config_failed=Konfigurationssparningen misslyckades: %v save_config_failed=Konfigurationssparningen misslyckades: %v
invalid_admin_setting=Inställningarna för administratörskontot är felaktiga: %v invalid_admin_setting=Inställningarna för administratörskontot är felaktiga: %v
install_success=Välkommen! Vi är glada att du väljer Gogs, ha kul och ta hand om dig. install_success=Välkommen! Vi är glada att du väljer Gogs, ha kul och ta hand om dig.
@ -169,13 +169,13 @@ reset_password_helper=Klicka här för att återställa ditt lösenord
password_too_short=Lösenordet får ej vara kortare än 6 tecken. password_too_short=Lösenordet får ej vara kortare än 6 tecken.
non_local_account=Icke-lokala konton får inte ändra lösenord genom Gogs. non_local_account=Icke-lokala konton får inte ändra lösenord genom Gogs.
login_two_factor=Two-factor Authentication login_two_factor=Tvåfaktorsautentisering
login_two_factor_passcode=Authentication Passcode login_two_factor_passcode=Autentiseringskod
login_two_factor_enter_recovery_code=Enter a two-factor recovery code login_two_factor_enter_recovery_code=Ange en tvåfaktorsautentisering återställningskod
login_two_factor_recovery=Two-factor Recovery login_two_factor_recovery=Tvåfaktorsautentisering Återställning
login_two_factor_recovery_code=Recovery Code login_two_factor_recovery_code=Återställningskod
login_two_factor_enter_passcode=Enter a two-factor passcode login_two_factor_enter_passcode=Ange en tvåfaktorsautentiserings kod
login_two_factor_invalid_recovery_code=Recovery code has been used or does not valid. login_two_factor_invalid_recovery_code=Återställningskoden har använts eller är inte giltig.
[mail] [mail]
activate_account=Vänligen aktivera ditt konto activate_account=Vänligen aktivera ditt konto
@ -212,7 +212,7 @@ Content=Innehåll
require_error=får inte vara tomt require_error=får inte vara tomt
alpha_dash_error=` får bara innehålla bokstäver, nummer och bindestreck (-_).` alpha_dash_error=` får bara innehålla bokstäver, nummer och bindestreck (-_).`
alpha_dash_dot_error=` får bara innehålla bokstäver, nummer, bindestreck (-_) och punkt` alpha_dash_dot_error=` får bara innehålla bokstäver, nummer, bindestreck (-_) och punkt`
alpha_dash_dot_slash_error=` must be valid alpha or numeric or dash(-_) or dot characters or slashes.` alpha_dash_dot_slash_error=` får bara innehålla bokstäver, nummer, bindestreck (-_), punkt eller snedstreck`
size_error=` måste vara av storleken %s` size_error=` måste vara av storleken %s`
min_size_error=` måste innehålla minst %s tecken.` min_size_error=` måste innehålla minst %s tecken.`
max_size_error=` får inte innehålla mer än %s tecken.` max_size_error=` får inte innehålla mer än %s tecken.`
@ -264,8 +264,8 @@ profile=Profil
password=Lösenord password=Lösenord
avatar=Avatar avatar=Avatar
ssh_keys=SSH-nycklar ssh_keys=SSH-nycklar
security=Security security=Säkerhet
repos=Repositories repos=Utvecklingskataloger
orgs=Organisationer orgs=Organisationer
applications=Applikationer applications=Applikationer
delete=Radera konto delete=Radera konto
@ -334,19 +334,19 @@ no_activity=Ingen nylig aktivitet
key_state_desc=Denna nyckel har använts inom dom senaste 7 dagarna key_state_desc=Denna nyckel har använts inom dom senaste 7 dagarna
token_state_desc=Denna token har används inom dom senaste 7 dagarna token_state_desc=Denna token har används inom dom senaste 7 dagarna
two_factor=Two-factor Authentication two_factor=Tvåfaktorsautentisering
two_factor_status=Status: two_factor_status=Status:
two_factor_on=On two_factor_on=
two_factor_off=Off two_factor_off=Av
two_factor_enable=Enable two_factor_enable=Aktivera
two_factor_disable=Disable two_factor_disable=Inaktivera
two_factor_view_recovery_codes=View and save <a href="%s%s">your recovery codes</a> in a safe place. You can use them as passcode if you lose access to your authentication application. two_factor_view_recovery_codes=Visa och spara <a href="%s%s">dina återställningskoder</a> på ett säkert ställe. Du kan använda dem som kod om du förlorar åtkomsten till din autentisering applikation.
two_factor_http=For HTTP/HTTPS operations, you are no longer able to use plain username and password. Please create and use <a href="%[1]s%[2]s">Personal Access Token</a> as your credential, e.g. <code>%[3]s</code>. two_factor_http=For HTTP/HTTPS operations, you are no longer able to use plain username and password. Please create and use <a href="%[1]s%[2]s">Personal Access Token</a> as your credential, e.g. <code>%[3]s</code>.
two_factor_enable_title=Enable Two-factor Authentication two_factor_enable_title=Avaktivera Tvåfaktorsautentisering
two_factor_scan_qr=Please use your authentication application to scan the image: two_factor_scan_qr=Please use your authentication application to scan the image:
two_factor_or_enter_secret=Or enter the secret: two_factor_or_enter_secret=Or enter the secret:
two_factor_then_enter_passcode=Then enter passcode: two_factor_then_enter_passcode=Ange sedan lösenordet:
two_factor_verify=Verify two_factor_verify=Verifiera
two_factor_invalid_passcode=The passcode you entered is not valid, please try again! two_factor_invalid_passcode=The passcode you entered is not valid, please try again!
two_factor_enable_error=Enable Two-factor authentication failed: %v two_factor_enable_error=Enable Two-factor authentication failed: %v
two_factor_enable_success=Two-factor authentication has enabled for your account successfully! two_factor_enable_success=Two-factor authentication has enabled for your account successfully!
@ -616,6 +616,7 @@ pulls.compare_compare=jämför
pulls.filter_branch=Filtrera gren pulls.filter_branch=Filtrera gren
pulls.no_results=Inga resultat hittades. pulls.no_results=Inga resultat hittades.
pulls.nothing_to_compare=Det finns inget att jämföra eftersom bas och huvudgrenar är lika. pulls.nothing_to_compare=Det finns inget att jämföra eftersom bas och huvudgrenar är lika.
pulls.nothing_merge_base=There is nothing to compare because two branches have completely different history.
pulls.has_pull_request=`Det finns redan en pullförfrågan mellan detta två mål: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]s</a>^ pulls.has_pull_request=`Det finns redan en pullförfrågan mellan detta två mål: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]s</a>^
pulls.create=Skapa Pullförfrågan pulls.create=Skapa Pullförfrågan
pulls.title_desc=vill sammanfoga %[1]d incheckningar från <code>s[2]s</code> in i <code>%[3]s</code> pulls.title_desc=vill sammanfoga %[1]d incheckningar från <code>s[2]s</code> in i <code>%[3]s</code>
@ -830,6 +831,7 @@ settings.recent_deliveries=Färska leveranser
settings.hook_type=Kroktyp settings.hook_type=Kroktyp
settings.add_slack_hook_desc=Lägg till <a href="%s">Slack</a>-integration till ditt förråd. settings.add_slack_hook_desc=Lägg till <a href="%s">Slack</a>-integration till ditt förråd.
settings.add_discord_hook_desc=Add <a href="%s">Discord</a> integration to your repository. settings.add_discord_hook_desc=Add <a href="%s">Discord</a> integration to your repository.
settings.add_dingtalk_hook_desc=Add <a href="%s">Dingtalk</a> integration to your repository.
settings.slack_token=Pollett settings.slack_token=Pollett
settings.slack_domain=Domän settings.slack_domain=Domän
settings.slack_channel=Kanal settings.slack_channel=Kanal

2
conf/locale/locale_tr-TR.ini

@ -616,6 +616,7 @@ pulls.compare_compare=karşılaştır
pulls.filter_branch=Dal filtrele pulls.filter_branch=Dal filtrele
pulls.no_results=Sonuç bulunamadı. pulls.no_results=Sonuç bulunamadı.
pulls.nothing_to_compare=Karşılaştırılacak hiçbir şey yok, çünkü temel ve ana dal aynı. pulls.nothing_to_compare=Karşılaştırılacak hiçbir şey yok, çünkü temel ve ana dal aynı.
pulls.nothing_merge_base=There is nothing to compare because two branches have completely different history.
pulls.has_pull_request=`Bu iki hedef için zaten bir değişiklik isteği var: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>` pulls.has_pull_request=`Bu iki hedef için zaten bir değişiklik isteği var: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
pulls.create=Değişiklik İsteği Oluştur pulls.create=Değişiklik İsteği Oluştur
pulls.title_desc=<code>%[3]s</code> içindeki <code>%[2]s</code> işlemelerini %[1]d ile birleştirmek istiyor pulls.title_desc=<code>%[3]s</code> içindeki <code>%[2]s</code> işlemelerini %[1]d ile birleştirmek istiyor
@ -830,6 +831,7 @@ settings.recent_deliveries=Son Dağıtımlar
settings.hook_type=İstek Türü settings.hook_type=İstek Türü
settings.add_slack_hook_desc=Deponuza <a href="%s">Slack</a> entegrasyonunu ekleyin. settings.add_slack_hook_desc=Deponuza <a href="%s">Slack</a> entegrasyonunu ekleyin.
settings.add_discord_hook_desc=Add <a href="%s">Discord</a> integration to your repository. settings.add_discord_hook_desc=Add <a href="%s">Discord</a> integration to your repository.
settings.add_dingtalk_hook_desc=Add <a href="%s">Dingtalk</a> integration to your repository.
settings.slack_token=Erişim Anahtarı settings.slack_token=Erişim Anahtarı
settings.slack_domain=Alan Adı settings.slack_domain=Alan Adı
settings.slack_channel=Kanal settings.slack_channel=Kanal

2
conf/locale/locale_uk-UA.ini

@ -616,6 +616,7 @@ pulls.compare_compare=compare
pulls.filter_branch=Фільтрувати гілку pulls.filter_branch=Фільтрувати гілку
pulls.no_results=Результатів не знайдено. pulls.no_results=Результатів не знайдено.
pulls.nothing_to_compare=Нічого порівнювати, бо base та head гілки однакові. pulls.nothing_to_compare=Нічого порівнювати, бо base та head гілки однакові.
pulls.nothing_merge_base=Нічого порівнювати, бо обидві гілки мають повністю різну історію.
pulls.has_pull_request=`Вже є pull request між ціми двома цілями: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>` pulls.has_pull_request=`Вже є pull request між ціми двома цілями: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
pulls.create=Створити pull request pulls.create=Створити pull request
pulls.title_desc=хоче злити %[1]d комітів з <code>%[2]s</code> до <code>%[3]s</code> pulls.title_desc=хоче злити %[1]d комітів з <code>%[2]s</code> до <code>%[3]s</code>
@ -830,6 +831,7 @@ settings.recent_deliveries=Недавні розсилки
settings.hook_type=Тип хуку settings.hook_type=Тип хуку
settings.add_slack_hook_desc=Додати <a href="%s">Slack</a>-інтеграцію до вашого репозиторію. settings.add_slack_hook_desc=Додати <a href="%s">Slack</a>-інтеграцію до вашого репозиторію.
settings.add_discord_hook_desc=Додати <a href="%s">Discord</a>-інтеграцію до репозиторію. settings.add_discord_hook_desc=Додати <a href="%s">Discord</a>-інтеграцію до репозиторію.
settings.add_dingtalk_hook_desc=Додати інтеграцію <a href="%s">Dingtalk</a> до вашого репозиторію.
settings.slack_token=Жетон settings.slack_token=Жетон
settings.slack_domain=Домен settings.slack_domain=Домен
settings.slack_channel=Канал settings.slack_channel=Канал

6
conf/locale/locale_zh-CN.ini

@ -2,7 +2,7 @@ app_desc=一款极易搭建的自助 Git 服务
home=首页 home=首页
dashboard=控制面板 dashboard=控制面板
explore=探索 explore=发现
help=帮助 help=帮助
sign_in=登录 sign_in=登录
sign_out=退出 sign_out=退出
@ -569,7 +569,7 @@ issues.filter_sort.recentupdate=最近更新
issues.filter_sort.leastupdate=最少更新 issues.filter_sort.leastupdate=最少更新
issues.filter_sort.mostcomment=最多评论 issues.filter_sort.mostcomment=最多评论
issues.filter_sort.leastcomment=最少评论 issues.filter_sort.leastcomment=最少评论
issues.opened_by=由 <a href="%[2]s">%[3]s</a> %[1]s创建 issues.opened_by=由 <a href="%[2]s">%[3]s</a> %[1]s创建
issues.opened_by_fake=由 %[2]s 于 %[1]s创建 issues.opened_by_fake=由 %[2]s 于 %[1]s创建
issues.previous=上一页 issues.previous=上一页
issues.next=下一页 issues.next=下一页
@ -616,6 +616,7 @@ pulls.compare_compare=对比分支
pulls.filter_branch=过滤分支 pulls.filter_branch=过滤分支
pulls.no_results=未找到结果 pulls.no_results=未找到结果
pulls.nothing_to_compare=基准和对比分支代码已经同步,无需进行对比。 pulls.nothing_to_compare=基准和对比分支代码已经同步,无需进行对比。
pulls.nothing_merge_base=由于两个分支各自拥有完全不同的提交历史,因此无法进行比较。
pulls.has_pull_request=`已经存在目标分支的合并请求:<a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>` pulls.has_pull_request=`已经存在目标分支的合并请求:<a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
pulls.create=创建合并请求 pulls.create=创建合并请求
pulls.title_desc=请求将 %[1]d 次代码提交从 <code>%[2]s</code> 合并至 <code>%[3]s</code> pulls.title_desc=请求将 %[1]d 次代码提交从 <code>%[2]s</code> 合并至 <code>%[3]s</code>
@ -830,6 +831,7 @@ settings.recent_deliveries=最近推送记录
settings.hook_type=钩子类型 settings.hook_type=钩子类型
settings.add_slack_hook_desc=为您的仓库增加 <a href="%s">Slack</a> 集成。 settings.add_slack_hook_desc=为您的仓库增加 <a href="%s">Slack</a> 集成。
settings.add_discord_hook_desc=为您的仓库增加 <a href="%s">Discord</a> 集成。 settings.add_discord_hook_desc=为您的仓库增加 <a href="%s">Discord</a> 集成。
settings.add_dingtalk_hook_desc=为您的仓库增加 <a href="%s">钉钉</a> 集成。
settings.slack_token=令牌 settings.slack_token=令牌
settings.slack_domain=域名 settings.slack_domain=域名
settings.slack_channel=频道 settings.slack_channel=频道

2
conf/locale/locale_zh-HK.ini

@ -616,6 +616,7 @@ pulls.compare_compare=對比文件變化
pulls.filter_branch=過濾分支 pulls.filter_branch=過濾分支
pulls.no_results=未找到結果 pulls.no_results=未找到結果
pulls.nothing_to_compare=基準和對比分支代碼已經同步,無需進行對比。 pulls.nothing_to_compare=基準和對比分支代碼已經同步,無需進行對比。
pulls.nothing_merge_base=There is nothing to compare because two branches have completely different history.
pulls.has_pull_request=`已經存在目標分支的合併請求:<a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>` pulls.has_pull_request=`已經存在目標分支的合併請求:<a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
pulls.create=創建合併請求 pulls.create=創建合併請求
pulls.title_desc=請求將 %[1]d 次代碼提交從 <code>%[2]s</code> 合併至 <code>%[3]s</code> pulls.title_desc=請求將 %[1]d 次代碼提交從 <code>%[2]s</code> 合併至 <code>%[3]s</code>
@ -830,6 +831,7 @@ settings.recent_deliveries=最近推送記錄
settings.hook_type=鉤子類型 settings.hook_type=鉤子類型
settings.add_slack_hook_desc=為您的倉庫增加 <a href="%s">Slack</a> 集成。 settings.add_slack_hook_desc=為您的倉庫增加 <a href="%s">Slack</a> 集成。
settings.add_discord_hook_desc=Add <a href="%s">Discord</a> integration to your repository. settings.add_discord_hook_desc=Add <a href="%s">Discord</a> integration to your repository.
settings.add_dingtalk_hook_desc=Add <a href="%s">Dingtalk</a> integration to your repository.
settings.slack_token=令牌 settings.slack_token=令牌
settings.slack_domain=域名 settings.slack_domain=域名
settings.slack_channel=頻道 settings.slack_channel=頻道

2
conf/locale/locale_zh-TW.ini

@ -616,6 +616,7 @@ pulls.compare_compare=對比文件變化
pulls.filter_branch=過濾分支 pulls.filter_branch=過濾分支
pulls.no_results=未找到結果 pulls.no_results=未找到結果
pulls.nothing_to_compare=基準和對比分支代碼已經同步,無需進行對比。 pulls.nothing_to_compare=基準和對比分支代碼已經同步,無需進行對比。
pulls.nothing_merge_base=There is nothing to compare because two branches have completely different history.
pulls.has_pull_request=`已經存在目標分支的合併請求:<a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>` pulls.has_pull_request=`已經存在目標分支的合併請求:<a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
pulls.create=創建合併請求 pulls.create=創建合併請求
pulls.title_desc=請求將 %[1]d 次代碼提交從 <code>%[2]s</code> 合併至 <code>%[3]s</code> pulls.title_desc=請求將 %[1]d 次代碼提交從 <code>%[2]s</code> 合併至 <code>%[3]s</code>
@ -830,6 +831,7 @@ settings.recent_deliveries=最近推送記錄
settings.hook_type=鉤子類型 settings.hook_type=鉤子類型
settings.add_slack_hook_desc=為您的倉庫增加 <a href="%s">Slack</a> 集成。 settings.add_slack_hook_desc=為您的倉庫增加 <a href="%s">Slack</a> 集成。
settings.add_discord_hook_desc=Hook <a href="%s">Discord</a> 到你的 repository。 settings.add_discord_hook_desc=Hook <a href="%s">Discord</a> 到你的 repository。
settings.add_dingtalk_hook_desc=Add <a href="%s">Dingtalk</a> integration to your repository.
settings.slack_token=令牌 settings.slack_token=令牌
settings.slack_domain=域名 settings.slack_domain=域名
settings.slack_channel=頻道 settings.slack_channel=頻道

3
docker/build.sh

@ -25,5 +25,6 @@ rm -r $GOPATH
apk --no-progress del build-deps apk --no-progress del build-deps
# Create git user for Gogs # Create git user for Gogs
adduser -H -D -g 'Gogs Git User' git -h /data/git -s /bin/bash && passwd -u git addgroup -S git
adduser -G git -H -D -g 'Gogs Git User' git -h /data/git -s /bin/bash && usermod -p '*' git && passwd -u git
echo "export GOGS_CUSTOM=${GOGS_CUSTOM}" >> /etc/profile echo "export GOGS_CUSTOM=${GOGS_CUSTOM}" >> /etc/profile

3
docker/finalize.sh

@ -6,9 +6,6 @@ set -e
# Move to final place # Move to final place
mv /app/gogs/build/gogs /app/gogs/ mv /app/gogs/build/gogs /app/gogs/
mv /app/gogs/build/templates /app/gogs/
mv /app/gogs/build/public /app/gogs/
mv /app/gogs/build/docker /app/gogs/
# Final cleaning # Final cleaning
rm -rf /app/gogs/build rm -rf /app/gogs/build

8
docker/start.sh

@ -38,6 +38,14 @@ create_volume_subfolder() {
done done
} }
setids() {
PUID=${PUID:-1000}
PGID=${PGID:-1000}
groupmod -o -g "$PGID" git
usermod -o -u "$PUID" git
}
setids
cleanup cleanup
create_volume_subfolder create_volume_subfolder

2
gogs.go

@ -16,7 +16,7 @@ import (
"github.com/gogits/gogs/pkg/setting" "github.com/gogits/gogs/pkg/setting"
) )
const APP_VER = "0.11.28.0718" const APP_VER = "0.11.31.1022"
func init() { func init() {
setting.AppVer = APP_VER setting.AppVer = APP_VER

3
models/action.go

@ -379,8 +379,7 @@ func UpdateIssuesCommit(doer *User, repo *Repository, commits []*PushCommit) err
if ref[0] == '#' { if ref[0] == '#' {
ref = fmt.Sprintf("%s%s", repo.FullName(), ref) ref = fmt.Sprintf("%s%s", repo.FullName(), ref)
} else if !strings.Contains(ref, "/") { } else if !strings.Contains(ref, "/") {
// We don't support User#ID syntax yet // FIXME: We don't support User#ID syntax yet
// return ErrNotImplemented
continue continue
} }

6
models/comment.go

@ -188,7 +188,7 @@ func (cmt *Comment) mailParticipants(e Engine, opType ActionType, issue *Issue)
issue.Content = fmt.Sprintf("Reopened #%d", issue.Index) issue.Content = fmt.Sprintf("Reopened #%d", issue.Index)
} }
if err = mailIssueCommentToParticipants(issue, cmt.Poster, mentions); err != nil { if err = mailIssueCommentToParticipants(issue, cmt.Poster, mentions); err != nil {
log.Error(4, "mailIssueCommentToParticipants: %v", err) log.Error(2, "mailIssueCommentToParticipants: %v", err)
} }
return nil return nil
@ -290,10 +290,10 @@ func createComment(e *xorm.Session, opts *CreateCommentOptions) (_ *Comment, err
// Notify watchers for whatever action comes in, ignore if no action type. // Notify watchers for whatever action comes in, ignore if no action type.
if act.OpType > 0 { if act.OpType > 0 {
if err = notifyWatchers(e, act); err != nil { if err = notifyWatchers(e, act); err != nil {
log.Error(4, "notifyWatchers: %v", err) log.Error(2, "notifyWatchers: %v", err)
} }
if err = comment.mailParticipants(e, act.OpType, opts.Issue); err != nil { if err = comment.mailParticipants(e, act.OpType, opts.Issue); err != nil {
log.Error(4, "MailParticipants: %v", err) log.Error(2, "MailParticipants: %v", err)
} }
} }

3
models/issue_mail.go

@ -155,7 +155,6 @@ func mailIssueCommentToParticipants(issue *Issue, doer *User, mentions []string)
tos = append(tos, mentions[i]) tos = append(tos, mentions[i])
} }
mailer.SendIssueMentionMail(NewMailerIssue(issue), NewMailerRepo(issue.Repo), NewMailerUser(doer), GetUserEmailsByNames(tos)) mailer.SendIssueMentionMail(NewMailerIssue(issue), NewMailerRepo(issue.Repo), NewMailerUser(doer), GetUserEmailsByNames(tos))
return nil return nil
} }
@ -168,7 +167,7 @@ func (issue *Issue) MailParticipants() (err error) {
} }
if err = mailIssueCommentToParticipants(issue, issue.Poster, mentions); err != nil { if err = mailIssueCommentToParticipants(issue, issue.Poster, mentions); err != nil {
log.Error(4, "mailIssueCommentToParticipants: %v", err) log.Error(2, "mailIssueCommentToParticipants: %v", err)
} }
return nil return nil

2
models/migrations/v15.go

@ -67,6 +67,8 @@ func generateAndMigrateGitHooks(x *xorm.Engine) (err error) {
wikiPath := repoBase + ".wiki.git" wikiPath := repoBase + ".wiki.git"
log.Trace("[%04d]: %s", idx, repoPath) log.Trace("[%04d]: %s", idx, repoPath)
// Note: we should not create hookDir here because update hook file should already exists inside this direcotry,
// if this directory does not exist, the current setup is not correct anyway.
hookDir := filepath.Join(repoPath, "hooks") hookDir := filepath.Join(repoPath, "hooks")
customHookDir := filepath.Join(repoPath, "custom_hooks") customHookDir := filepath.Join(repoPath, "custom_hooks")
wikiHookDir := filepath.Join(wikiPath, "hooks") wikiHookDir := filepath.Join(wikiPath, "hooks")

4
models/user.go

@ -492,7 +492,7 @@ func GetUserSalt() (string, error) {
return tool.RandomString(10) return tool.RandomString(10)
} }
// NewGhostUser creates and returns a fake user for someone has deleted his/her account. // NewGhostUser creates and returns a fake user for someone who has deleted his/her account.
func NewGhostUser() *User { func NewGhostUser() *User {
return &User{ return &User{
ID: -1, ID: -1,
@ -502,7 +502,7 @@ func NewGhostUser() *User {
} }
var ( var (
reservedUsernames = []string{"assets", "css", "img", "js", "less", "plugins", "debug", "raw", "install", "api", "avatar", "user", "org", "help", "stars", "issues", "pulls", "commits", "repo", "template", "admin", "new", ".", ".."} reservedUsernames = []string{"explore", "create", "assets", "css", "img", "js", "less", "plugins", "debug", "raw", "install", "api", "avatar", "user", "org", "help", "stars", "issues", "pulls", "commits", "repo", "template", "admin", "new", ".", ".."}
reservedUserPatterns = []string{"*.keys"} reservedUserPatterns = []string{"*.keys"}
) )

6
models/webhook.go

@ -349,6 +349,7 @@ const (
GOGS HookTaskType = iota + 1 GOGS HookTaskType = iota + 1
SLACK SLACK
DISCORD DISCORD
DINGTALK
) )
var hookTaskTypes = map[string]HookTaskType{ var hookTaskTypes = map[string]HookTaskType{
@ -571,6 +572,11 @@ func prepareHookTasks(e Engine, repo *Repository, event HookEventType, p api.Pay
if err != nil { if err != nil {
return fmt.Errorf("GetDiscordPayload: %v", err) return fmt.Errorf("GetDiscordPayload: %v", err)
} }
case DINGTALK:
payloader, err = GetDingtalkPayload(p, event)
if err != nil {
return fmt.Errorf("GetDingtalkPayload: %v", err)
}
default: default:
payloader = p payloader = p
} }

260
models/webhook_dingtalk.go

@ -0,0 +1,260 @@
// Copyright 2017 The Gogs Authors. All rights reserved.
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
package models
import (
"encoding/json"
"fmt"
"strings"
"github.com/gogits/git-module"
api "github.com/gogits/go-gogs-client"
)
const (
DingtalkNotificationTitle = "Gogs Notification"
)
//Refer: https://open-doc.dingtalk.com/docs/doc.htm?treeId=257&articleId=105735&docType=1
type DingtalkActionCard struct {
Title string `json:"title"`
Text string `json:"text"`
HideAvatar string `json:"hideAvatar"`
BtnOrientation string `json:"btnOrientation"`
SingleTitle string `json:"singleTitle"`
SingleURL string `json:"singleURL"`
}
//Refer: https://open-doc.dingtalk.com/docs/doc.htm?treeId=257&articleId=105735&docType=1
type DingtalkAtObject struct {
AtMobiles []string `json:"atMobiles"`
IsAtAll bool `json:"isAtAll"`
}
//Refer: https://open-doc.dingtalk.com/docs/doc.htm?treeId=257&articleId=105735&docType=1
type DingtalkPayload struct {
MsgType string `json:"msgtype"`
At DingtalkAtObject `json:"at"`
ActionCard DingtalkActionCard `json:"actionCard"`
}
func (p *DingtalkPayload) JSONPayload() ([]byte, error) {
data, err := json.MarshalIndent(p, "", " ")
if err != nil {
return []byte{}, err
}
return data, nil
}
func NewDingtalkActionCard(singleTitle, singleURL string) DingtalkActionCard {
return DingtalkActionCard{
Title: DingtalkNotificationTitle,
SingleURL: singleURL,
SingleTitle: singleTitle,
}
}
//TODO: add content
func GetDingtalkPayload(p api.Payloader, event HookEventType) (payload *DingtalkPayload, err error) {
switch event {
case HOOK_EVENT_CREATE:
payload, err = getDingtalkCreatePayload(p.(*api.CreatePayload))
case HOOK_EVENT_DELETE:
payload, err = getDingtalkDeletePayload(p.(*api.DeletePayload))
case HOOK_EVENT_FORK:
payload, err = getDingtalkForkPayload(p.(*api.ForkPayload))
case HOOK_EVENT_PUSH:
payload, err = getDingtalkPushPayload(p.(*api.PushPayload))
case HOOK_EVENT_ISSUES:
payload, err = getDingtalkIssuesPayload(p.(*api.IssuesPayload))
case HOOK_EVENT_ISSUE_COMMENT:
payload, err = getDingtalkIssueCommentPayload(p.(*api.IssueCommentPayload))
case HOOK_EVENT_PULL_REQUEST:
payload, err = getDingtalkPullRequestPayload(p.(*api.PullRequestPayload))
case HOOK_EVENT_RELEASE:
payload, err = getDingtalkReleasePayload(p.(*api.ReleasePayload))
}
if err != nil {
return nil, fmt.Errorf("event '%s': %v", event, err)
}
return payload, nil
}
func getDingtalkCreatePayload(p *api.CreatePayload) (*DingtalkPayload, error) {
refName := git.RefEndName(p.Ref)
refType := strings.Title(p.RefType)
actionCard := NewDingtalkActionCard("View "+refType, p.Repo.HTMLURL+"/src/"+refName)
actionCard.Text += "# New " + refType + " Create Event"
actionCard.Text += "\n- Repo: **" + MarkdownLinkFormatter(p.Repo.HTMLURL, p.Repo.Name) + "**"
actionCard.Text += "\n- New " + refType + ": **" + MarkdownLinkFormatter(p.Repo.HTMLURL+"/src/"+refName, refName) + "**"
return &DingtalkPayload{MsgType: "actionCard", ActionCard: actionCard}, nil
}
func getDingtalkDeletePayload(p *api.DeletePayload) (*DingtalkPayload, error) {
refName := git.RefEndName(p.Ref)
refType := strings.Title(p.RefType)
actionCard := NewDingtalkActionCard("View Repo", p.Repo.HTMLURL)
actionCard.Text += "# " + refType + " Delete Event"
actionCard.Text += "\n- Repo: **" + MarkdownLinkFormatter(p.Repo.HTMLURL, p.Repo.Name) + "**"
actionCard.Text += "\n- " + refType + ": **" + refName + "**"
return &DingtalkPayload{MsgType: "actionCard", ActionCard: actionCard}, nil
}
func getDingtalkForkPayload(p *api.ForkPayload) (*DingtalkPayload, error) {
actionCard := NewDingtalkActionCard("View Forkee", p.Forkee.HTMLURL)
actionCard.Text += "# Repo Fork Event"
actionCard.Text += "\n- From Repo: **" + MarkdownLinkFormatter(p.Repo.HTMLURL, p.Repo.Name) + "**"
actionCard.Text += "\n- To Repo: **" + MarkdownLinkFormatter(p.Forkee.HTMLURL, p.Forkee.FullName) + "**"
return &DingtalkPayload{MsgType: "actionCard", ActionCard: actionCard}, nil
}
func getDingtalkPushPayload(p *api.PushPayload) (*DingtalkPayload, error) {
refName := git.RefEndName(p.Ref)
pusher := p.Pusher.FullName
if pusher == "" {
pusher = p.Pusher.UserName
}
var detail string
for i, commit := range p.Commits {
msg := strings.Split(commit.Message, "\n")[0]
commitLink := MarkdownLinkFormatter(commit.URL, commit.ID[:7])
detail += fmt.Sprintf("> %d. %s %s - %s\n", i, commitLink, commit.Author.Name, msg)
}
actionCard := NewDingtalkActionCard("View Changes", p.CompareURL)
actionCard.Text += "# Repo Push Event"
actionCard.Text += "\n- Repo: **" + MarkdownLinkFormatter(p.Repo.HTMLURL, p.Repo.Name) + "**"
actionCard.Text += "\n- Ref: **" + MarkdownLinkFormatter(p.Repo.HTMLURL+"/src/"+refName, refName) + "**"
actionCard.Text += "\n- Pusher: **" + pusher + "**"
actionCard.Text += "\n## " + fmt.Sprintf("Total %d commits(s)", len(p.Commits))
actionCard.Text += "\n" + detail
return &DingtalkPayload{MsgType: "actionCard", ActionCard: actionCard}, nil
}
func getDingtalkIssuesPayload(p *api.IssuesPayload) (*DingtalkPayload, error) {
issueName := fmt.Sprintf("#%d %s", p.Index, p.Issue.Title)
issueURL := fmt.Sprintf("%s/issues/%d", p.Repository.HTMLURL, p.Index)
actionCard := NewDingtalkActionCard("View Issue", issueURL)
actionCard.Text += "# Issue Event " + strings.Title(string(p.Action))
actionCard.Text += "\n- Issue: **" + MarkdownLinkFormatter(issueURL, issueName) + "**"
if p.Action == api.HOOK_ISSUE_ASSIGNED {
actionCard.Text += "\n- New Assignee: **" + p.Issue.Assignee.UserName + "**"
} else if p.Action == api.HOOK_ISSUE_MILESTONED {
actionCard.Text += "\n- New Milestone: **" + p.Issue.Milestone.Title + "**"
} else if p.Action == api.HOOK_ISSUE_LABEL_UPDATED {
if len(p.Issue.Labels) > 0 {
labels := make([]string, len(p.Issue.Labels))
for i, label := range p.Issue.Labels {
labels[i] = "**" + label.Name + "**"
}
actionCard.Text += "\n- Labels: " + strings.Join(labels, ",")
} else {
actionCard.Text += "\n- Labels: **empty**"
}
}
if p.Issue.Body != "" {
actionCard.Text += "\n> " + p.Issue.Body
}
return &DingtalkPayload{MsgType: "actionCard", ActionCard: actionCard}, nil
}
func getDingtalkIssueCommentPayload(p *api.IssueCommentPayload) (*DingtalkPayload, error) {
issueName := fmt.Sprintf("#%d %s", p.Issue.Index, p.Issue.Title)
commentURL := fmt.Sprintf("%s/issues/%d", p.Repository.HTMLURL, p.Issue.Index)
if p.Action != api.HOOK_ISSUE_COMMENT_DELETED {
commentURL += "#" + CommentHashTag(p.Comment.ID)
}
issueURL := fmt.Sprintf("%s/issues/%d", p.Repository.HTMLURL, p.Issue.Index)
actionCard := NewDingtalkActionCard("View Issue Comment", commentURL)
actionCard.Text += "# Issue Comment " + strings.Title(string(p.Action))
actionCard.Text += "\n- Issue: " + MarkdownLinkFormatter(issueURL, issueName)
actionCard.Text += "\n- Comment content: "
actionCard.Text += "\n> " + p.Comment.Body
return &DingtalkPayload{MsgType: "actionCard", ActionCard: actionCard}, nil
}
func getDingtalkPullRequestPayload(p *api.PullRequestPayload) (*DingtalkPayload, error) {
title := "# Pull Request " + strings.Title(string(p.Action))
if p.Action == api.HOOK_ISSUE_CLOSED && p.PullRequest.HasMerged {
title = "# Pull Request Merged"
}
pullRequestURL := fmt.Sprintf("%s/pulls/%d", p.Repository.HTMLURL, p.Index)
content := "- PR: " + MarkdownLinkFormatter(pullRequestURL, fmt.Sprintf("#%d %s", p.Index, p.PullRequest.Title))
if p.Action == api.HOOK_ISSUE_ASSIGNED {
content += "\n- New Assignee: **" + p.PullRequest.Assignee.UserName + "**"
} else if p.Action == api.HOOK_ISSUE_MILESTONED {
content += "\n- New Milestone: *" + p.PullRequest.Milestone.Title + "*"
} else if p.Action == api.HOOK_ISSUE_LABEL_UPDATED {
labels := make([]string, len(p.PullRequest.Labels))
for i, label := range p.PullRequest.Labels {
labels[i] = "**" + label.Name + "**"
}
content += "\n- New Labels: " + strings.Join(labels, ",")
}
actionCard := NewDingtalkActionCard("View Pull Request", pullRequestURL)
actionCard.Text += title + "\n" + content
if p.Action == api.HOOK_ISSUE_OPENED || p.Action == api.HOOK_ISSUE_EDITED {
actionCard.Text += "\n> " + p.PullRequest.Body
}
return &DingtalkPayload{MsgType: "actionCard", ActionCard: actionCard}, nil
}
func getDingtalkReleasePayload(p *api.ReleasePayload) (*DingtalkPayload, error) {
releaseURL := p.Repository.HTMLURL + "/src/" + p.Release.TagName
author := p.Release.Author.FullName
if author == "" {
author = p.Release.Author.UserName
}
actionCard := NewDingtalkActionCard("View Release", releaseURL)
actionCard.Text += "# New Release Published"
actionCard.Text += "\n- Repo: " + MarkdownLinkFormatter(p.Repository.HTMLURL, p.Repository.Name)
actionCard.Text += "\n- Tag: " + MarkdownLinkFormatter(releaseURL, p.Release.TagName)
actionCard.Text += "\n- Author: " + author
actionCard.Text += fmt.Sprintf("\n- Draft?: %t", p.Release.Draft)
actionCard.Text += fmt.Sprintf("\n- Pre Release?: %t", p.Release.Prerelease)
actionCard.Text += "\n- Title: " + p.Release.Name
if p.Release.Body != "" {
actionCard.Text += "\n- Note: " + p.Release.Body
}
return &DingtalkPayload{MsgType: "actionCard", ActionCard: actionCard}, nil
}
//Format link addr and title into markdown style
func MarkdownLinkFormatter(link, text string) string {
return "[" + text + "](" + link + ")"
}

104
pkg/bindata/bindata.go

File diff suppressed because one or more lines are too long

9
pkg/form/repo.go

@ -195,6 +195,15 @@ func (f *NewDiscordHook) Validate(ctx *macaron.Context, errs binding.Errors) bin
return validate(errs, ctx.Data, f, ctx.Locale) return validate(errs, ctx.Data, f, ctx.Locale)
} }
type NewDingtalkHook struct {
PayloadURL string `binding:"Required;Url"`
Webhook
}
func (f *NewDingtalkHook) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
return validate(errs, ctx.Data, f, ctx.Locale)
}
// .___ // .___
// | | ______ ________ __ ____ // | | ______ ________ __ ____
// | |/ ___// ___/ | \_/ __ \ // | |/ ___// ___/ | \_/ __ \

12
pkg/mailer/mail.go

@ -94,7 +94,7 @@ func SendUserMail(c *macaron.Context, u User, tpl, code, subject, info string) {
msg := NewMessage([]string{u.Email()}, subject, body) msg := NewMessage([]string{u.Email()}, subject, body)
msg.Info = fmt.Sprintf("UID: %d, %s", u.ID(), info) msg.Info = fmt.Sprintf("UID: %d, %s", u.ID(), info)
SendAsync(msg) Send(msg)
} }
func SendActivateAccountMail(c *macaron.Context, u User) { func SendActivateAccountMail(c *macaron.Context, u User) {
@ -122,7 +122,7 @@ func SendActivateEmailMail(c *macaron.Context, u User, email string) {
msg := NewMessage([]string{email}, c.Tr("mail.activate_email"), body) msg := NewMessage([]string{email}, c.Tr("mail.activate_email"), body)
msg.Info = fmt.Sprintf("UID: %d, activate email", u.ID()) msg.Info = fmt.Sprintf("UID: %d, activate email", u.ID())
SendAsync(msg) Send(msg)
} }
// SendRegisterNotifyMail triggers a notify e-mail by admin created a account. // SendRegisterNotifyMail triggers a notify e-mail by admin created a account.
@ -139,7 +139,7 @@ func SendRegisterNotifyMail(c *macaron.Context, u User) {
msg := NewMessage([]string{u.Email()}, c.Tr("mail.register_notify"), body) msg := NewMessage([]string{u.Email()}, c.Tr("mail.register_notify"), body)
msg.Info = fmt.Sprintf("UID: %d, registration notify", u.ID()) msg.Info = fmt.Sprintf("UID: %d, registration notify", u.ID())
SendAsync(msg) Send(msg)
} }
// SendCollaboratorMail sends mail notification to new collaborator. // SendCollaboratorMail sends mail notification to new collaborator.
@ -160,7 +160,7 @@ func SendCollaboratorMail(u, doer User, repo Repository) {
msg := NewMessage([]string{u.Email()}, subject, body) msg := NewMessage([]string{u.Email()}, subject, body)
msg.Info = fmt.Sprintf("UID: %d, add collaborator", u.ID()) msg.Info = fmt.Sprintf("UID: %d, add collaborator", u.ID())
SendAsync(msg) Send(msg)
} }
func composeTplData(subject, body, link string) map[string]interface{} { func composeTplData(subject, body, link string) map[string]interface{} {
@ -192,7 +192,7 @@ func SendIssueCommentMail(issue Issue, repo Repository, doer User, tos []string)
return return
} }
SendAsync(composeIssueMessage(issue, repo, doer, MAIL_ISSUE_COMMENT, tos, "issue comment")) Send(composeIssueMessage(issue, repo, doer, MAIL_ISSUE_COMMENT, tos, "issue comment"))
} }
// SendIssueMentionMail composes and sends issue mention emails to target receivers. // SendIssueMentionMail composes and sends issue mention emails to target receivers.
@ -200,5 +200,5 @@ func SendIssueMentionMail(issue Issue, repo Repository, doer User, tos []string)
if len(tos) == 0 { if len(tos) == 0 {
return return
} }
SendAsync(composeIssueMessage(issue, repo, doer, MAIL_ISSUE_MENTION, tos, "issue mention")) Send(composeIssueMessage(issue, repo, doer, MAIL_ISSUE_MENTION, tos, "issue mention"))
} }

19
pkg/mailer/mailer.go

@ -24,6 +24,7 @@ import (
type Message struct { type Message struct {
Info string // Message information for log purpose. Info string // Message information for log purpose.
*gomail.Message *gomail.Message
confirmChan chan struct{}
} }
// NewMessageFrom creates new mail message object with custom From header. // NewMessageFrom creates new mail message object with custom From header.
@ -48,9 +49,9 @@ func NewMessageFrom(to []string, from, subject, htmlBody string) *Message {
} }
} }
msg.SetBody(contentType, body) msg.SetBody(contentType, body)
return &Message{ return &Message{
Message: msg, Message: msg,
confirmChan: make(chan struct{}),
} }
} }
@ -204,12 +205,14 @@ func processMailQueue() {
} else { } else {
log.Trace("E-mails sent %s: %s", msg.GetHeader("To"), msg.Info) log.Trace("E-mails sent %s: %s", msg.GetHeader("To"), msg.Info)
} }
msg.confirmChan <- struct{}{}
} }
} }
} }
var mailQueue chan *Message var mailQueue chan *Message
// NewContext initializes settings for mailer.
func NewContext() { func NewContext() {
// Need to check if mailQueue is nil because in during reinstall (user had installed // Need to check if mailQueue is nil because in during reinstall (user had installed
// before but swithed install lock off), this function will be called again // before but swithed install lock off), this function will be called again
@ -222,8 +225,18 @@ func NewContext() {
go processMailQueue() go processMailQueue()
} }
func SendAsync(msg *Message) { // Send puts new message object into mail queue.
go func() { // It returns without confirmation (mail processed asynchronously) in normal cases,
// but waits/blocks under hook mode to make sure mail has been sent.
func Send(msg *Message) {
mailQueue <- msg mailQueue <- msg
if setting.HookMode {
<-msg.confirmChan
return
}
go func() {
<-msg.confirmChan
}() }()
} }

24
pkg/setting/setting.go

@ -832,9 +832,10 @@ var (
MailService *Mailer MailService *Mailer
) )
// newMailService initializes mail service options from configuration.
// No non-error log will be printed in hook mode.
func newMailService() { func newMailService() {
sec := Cfg.Section("mailer") sec := Cfg.Section("mailer")
// Check mailer setting.
if !sec.Key("ENABLED").MustBool() { if !sec.Key("ENABLED").MustBool() {
return return
} }
@ -863,6 +864,9 @@ func newMailService() {
MailService.FromEmail = parsed.Address MailService.FromEmail = parsed.Address
} }
if HookMode {
return
}
log.Info("Mail Service Enabled") log.Info("Mail Service Enabled")
} }
@ -877,6 +881,8 @@ func newRegisterMailService() {
log.Info("Register Mail Service Enabled") log.Info("Register Mail Service Enabled")
} }
// newNotifyMailService initializes notification email service options from configuration.
// No non-error log will be printed in hook mode.
func newNotifyMailService() { func newNotifyMailService() {
if !Cfg.Section("service").Key("ENABLE_NOTIFY_MAIL").MustBool() { if !Cfg.Section("service").Key("ENABLE_NOTIFY_MAIL").MustBool() {
return return
@ -885,6 +891,10 @@ func newNotifyMailService() {
return return
} }
Service.EnableNotifyMail = true Service.EnableNotifyMail = true
if HookMode {
return
}
log.Info("Notify Mail Service Enabled") log.Info("Notify Mail Service Enabled")
} }
@ -901,3 +911,15 @@ func NewServices() {
newRegisterMailService() newRegisterMailService()
newNotifyMailService() newNotifyMailService()
} }
// HookMode indicates whether program starts as Git server-side hook callback.
var HookMode bool
// NewPostReceiveHookServices initializes all services that are needed by
// Git server-side post-receive hook callback.
func NewPostReceiveHookServices() {
HookMode = true
newService()
newMailService()
newNotifyMailService()
}

3
pkg/template/template.go

@ -22,11 +22,12 @@ import (
"gopkg.in/editorconfig/editorconfig-core-go.v1" "gopkg.in/editorconfig/editorconfig-core-go.v1"
"github.com/gogits/gogs/models" "github.com/gogits/gogs/models"
"github.com/gogits/gogs/pkg/tool"
"github.com/gogits/gogs/pkg/markup" "github.com/gogits/gogs/pkg/markup"
"github.com/gogits/gogs/pkg/setting" "github.com/gogits/gogs/pkg/setting"
"github.com/gogits/gogs/pkg/tool"
) )
// TODO: only initialize map once and save to a local variable to reduce copies.
func NewFuncMap() []template.FuncMap { func NewFuncMap() []template.FuncMap {
return []template.FuncMap{map[string]interface{}{ return []template.FuncMap{map[string]interface{}{
"GoVer": func() string { "GoVer": func() string {

11
public/config.codekit

@ -84,6 +84,17 @@
"outputPathIsSetByUser": 0, "outputPathIsSetByUser": 0,
"processed": 1 "processed": 1
}, },
"\/img\/dingtalk.png": {
"fileType": 32768,
"ignore": 0,
"ignoreWasSetByUser": 0,
"initialSize": 30738,
"inputAbbreviatedPath": "\/img\/dingtalk.png",
"outputAbbreviatedPath": "\/img\/dingtalk.png",
"outputPathIsOutsideProject": 0,
"outputPathIsSetByUser": 0,
"processed": 0
},
"\/img\/discord.png": { "\/img\/discord.png": {
"fileType": 32768, "fileType": 32768,
"ignore": 0, "ignore": 0,

BIN
public/img/dingtalk.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

3
routes/api/v1/user/user.go

@ -12,6 +12,7 @@ import (
"github.com/gogits/gogs/models" "github.com/gogits/gogs/models"
"github.com/gogits/gogs/models/errors" "github.com/gogits/gogs/models/errors"
"github.com/gogits/gogs/pkg/context" "github.com/gogits/gogs/pkg/context"
"github.com/gogits/gogs/pkg/markup"
) )
func Search(c *context.APIContext) { func Search(c *context.APIContext) {
@ -39,7 +40,7 @@ func Search(c *context.APIContext) {
ID: users[i].ID, ID: users[i].ID,
UserName: users[i].Name, UserName: users[i].Name,
AvatarUrl: users[i].AvatarLink(), AvatarUrl: users[i].AvatarLink(),
FullName: users[i].FullName, FullName: markup.Sanitize(users[i].FullName),
} }
if c.IsLogged { if c.IsLogged {
results[i].Email = users[i].Email results[i].Email = users[i].Email

71
routes/repo/webhook.go

@ -268,6 +268,44 @@ func DiscordHooksNewPost(c *context.Context, f form.NewDiscordHook) {
c.Redirect(orCtx.Link + "/settings/hooks") c.Redirect(orCtx.Link + "/settings/hooks")
} }
func DingtalkHooksNewPost(c *context.Context, f form.NewDingtalkHook) {
c.Data["Title"] = c.Tr("repo.settings")
c.Data["PageIsSettingsHooks"] = true
c.Data["PageIsSettingsHooksNew"] = true
c.Data["Webhook"] = models.Webhook{HookEvent: &models.HookEvent{}}
orCtx, err := getOrgRepoCtx(c)
if err != nil {
c.Handle(500, "getOrgRepoCtx", err)
return
}
if c.HasError() {
c.HTML(200, orCtx.NewTemplate)
return
}
w := &models.Webhook{
RepoID: orCtx.RepoID,
URL: f.PayloadURL,
ContentType: models.JSON,
HookEvent: ParseHookEvent(f.Webhook),
IsActive: f.Active,
HookTaskType: models.DINGTALK,
OrgID: orCtx.OrgID,
}
if err := w.UpdateEvent(); err != nil {
c.Handle(500, "UpdateEvent", err)
return
} else if err := models.CreateWebhook(w); err != nil {
c.Handle(500, "CreateWebhook", err)
return
}
c.Flash.Success(c.Tr("repo.settings.add_hook_success"))
c.Redirect(orCtx.Link + "/settings/hooks")
}
func checkWebhook(c *context.Context) (*OrgRepoCtx, *models.Webhook) { func checkWebhook(c *context.Context) (*OrgRepoCtx, *models.Webhook) {
c.Data["RequireHighlightJS"] = true c.Data["RequireHighlightJS"] = true
@ -296,6 +334,8 @@ func checkWebhook(c *context.Context) (*OrgRepoCtx, *models.Webhook) {
case models.DISCORD: case models.DISCORD:
c.Data["SlackHook"] = w.GetSlackHook() c.Data["SlackHook"] = w.GetSlackHook()
c.Data["HookType"] = "discord" c.Data["HookType"] = "discord"
case models.DINGTALK:
c.Data["HookType"] = "dingtalk"
default: default:
c.Data["HookType"] = "gogs" c.Data["HookType"] = "gogs"
} }
@ -445,6 +485,37 @@ func DiscordHooksEditPost(c *context.Context, f form.NewDiscordHook) {
c.Redirect(fmt.Sprintf("%s/settings/hooks/%d", orCtx.Link, w.ID)) c.Redirect(fmt.Sprintf("%s/settings/hooks/%d", orCtx.Link, w.ID))
} }
func DingtalkHooksEditPost(c *context.Context, f form.NewDingtalkHook) {
c.Data["Title"] = c.Tr("repo.settings")
c.Data["PageIsSettingsHooks"] = true
c.Data["PageIsSettingsHooksEdit"] = true
orCtx, w := checkWebhook(c)
if c.Written() {
return
}
c.Data["Webhook"] = w
if c.HasError() {
c.HTML(200, orCtx.NewTemplate)
return
}
w.URL = f.PayloadURL
w.HookEvent = ParseHookEvent(f.Webhook)
w.IsActive = f.Active
if err := w.UpdateEvent(); err != nil {
c.Handle(500, "UpdateEvent", err)
return
} else if err := models.UpdateWebhook(w); err != nil {
c.Handle(500, "UpdateWebhook", err)
return
}
c.Flash.Success(c.Tr("repo.settings.update_hook_success"))
c.Redirect(fmt.Sprintf("%s/settings/hooks/%d", orCtx.Link, w.ID))
}
func TestWebhook(c *context.Context) { func TestWebhook(c *context.Context) {
var authorUsername, committerUsername string var authorUsername, committerUsername string

2
routes/user/auth.go

@ -95,7 +95,6 @@ func Login(c *context.Context) {
} else { } else {
redirectTo, _ = url.QueryUnescape(c.GetCookie("redirect_to")) redirectTo, _ = url.QueryUnescape(c.GetCookie("redirect_to"))
} }
c.SetCookie("redirect_to", "", -1, setting.AppSubURL)
if isSucceed { if isSucceed {
if isValidRedirect(redirectTo) { if isValidRedirect(redirectTo) {
@ -103,6 +102,7 @@ func Login(c *context.Context) {
} else { } else {
c.Redirect(setting.AppSubURL + "/") c.Redirect(setting.AppSubURL + "/")
} }
c.SetCookie("redirect_to", "", -1, setting.AppSubURL)
return return
} }

2
templates/.VERSION

@ -1 +1 @@
0.11.28.0718 0.11.31.1022

1
templates/org/settings/webhook_new.tmpl

@ -20,6 +20,7 @@
{{template "repo/settings/webhook/gogs" .}} {{template "repo/settings/webhook/gogs" .}}
{{template "repo/settings/webhook/slack" .}} {{template "repo/settings/webhook/slack" .}}
{{template "repo/settings/webhook/discord" .}} {{template "repo/settings/webhook/discord" .}}
{{template "repo/settings/webhook/dingtalk" .}}
</div> </div>
{{template "repo/settings/webhook/history" .}} {{template "repo/settings/webhook/history" .}}

3
templates/repo/editor/commit_form.tmpl

@ -14,7 +14,8 @@
<input type="radio" class="js-quick-pull-choice-option" name="commit_choice" value="direct" {{if eq .commit_choice "direct"}}checked{{end}}> <input type="radio" class="js-quick-pull-choice-option" name="commit_choice" value="direct" {{if eq .commit_choice "direct"}}checked{{end}}>
<label> <label>
<i class="octicon octicon-git-commit" height="16" width="14"></i> <i class="octicon octicon-git-commit" height="16" width="14"></i>
{{.i18n.Tr "repo.editor.commit_directly_to_this_branch" .BranchName | Safe}} {{$branchName := .BranchName | Str2html}}
{{.i18n.Tr "repo.editor.commit_directly_to_this_branch" $branchName | Safe}}
</label> </label>
</div> </div>
</div> </div>

2
templates/repo/issue/view_title.tmpl

@ -28,7 +28,7 @@
{{if .Issue.PullRequest.HasMerged}} {{if .Issue.PullRequest.HasMerged}}
{{ $mergedStr:= TimeSince .Issue.PullRequest.Merged $.Lang }} {{ $mergedStr:= TimeSince .Issue.PullRequest.Merged $.Lang }}
<a {{if gt .Issue.PullRequest.Merger.ID 0}}href="{{.Issue.PullRequest.Merger.HomeLink}}"{{end}}>{{.Issue.PullRequest.Merger.Name}}</a> <a {{if gt .Issue.PullRequest.Merger.ID 0}}href="{{.Issue.PullRequest.Merger.HomeLink}}"{{end}}>{{.Issue.PullRequest.Merger.Name}}</a>
<span class="pull-desc">{{$.i18n.Tr "repo.pulls.merged_title_desc" .NumCommits .HeadTarget .BaseTarget $mergedStr | Safe}}</span> <span class="pull-desc">{{$.i18n.Tr "repo.pulls.merged_title_desc" .NumCommits .HeadTarget .BaseTarget $mergedStr | Str2html}}</span>
{{else}} {{else}}
<a {{if gt .Issue.Poster.ID 0}}href="{{.Issue.Poster.HomeLink}}"{{end}}>{{.Issue.Poster.Name}}</a> <a {{if gt .Issue.Poster.ID 0}}href="{{.Issue.Poster.HomeLink}}"{{end}}>{{.Issue.Poster.Name}}</a>
<span class="pull-desc">{{$.i18n.Tr "repo.pulls.title_desc" .NumCommits .HeadTarget .BaseTarget | Str2html}}</span> <span class="pull-desc">{{$.i18n.Tr "repo.pulls.title_desc" .NumCommits .HeadTarget .BaseTarget | Str2html}}</span>

11
templates/repo/settings/webhook/dingtalk.tmpl

@ -0,0 +1,11 @@
{{if eq .HookType "dingtalk"}}
<p>{{.i18n.Tr "repo.settings.add_dingtalk_hook_desc" "https://open-doc.dingtalk.com/" | Str2html}}</p>
<form class="ui form" action="{{.BaseLink}}/settings/hooks/dingtalk/{{if .PageIsSettingsHooksNew}}new{{else}}{{.Webhook.ID}}{{end}}" method="post">
{{.CSRFTokenHTML}}
<div class="required field {{if .Err_PayloadURL}}error{{end}}">
<label for="payload_url">{{.i18n.Tr "repo.settings.payload_url"}}</label>
<input id="payload_url" name="payload_url" type="url" value="{{.Webhook.URL}}" placeholder="https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxx" autofocus required>
</div>
{{template "repo/settings/webhook/settings" .}}
</form>
{{end}}

4
templates/repo/settings/webhook/list.tmpl

@ -20,6 +20,10 @@
<a class="item" href="{{$.BaseLink}}/settings/hooks/discord/new"> <a class="item" href="{{$.BaseLink}}/settings/hooks/discord/new">
<img class="img-12" src="{{AppSubURL}}/img/discord.png">Discord <img class="img-12" src="{{AppSubURL}}/img/discord.png">Discord
</a> </a>
{{else if eq . "dingtalk"}}
<a class="item" href="{{$.BaseLink}}/settings/hooks/dingtalk/new">
<img class="img-12" src="{{AppSubURL}}/img/dingtalk.png">Dingtalk
</a>
{{end}} {{end}}
{{end}} {{end}}
</div> </div>

1
templates/repo/settings/webhook/new.tmpl

@ -20,6 +20,7 @@
{{template "repo/settings/webhook/gogs" .}} {{template "repo/settings/webhook/gogs" .}}
{{template "repo/settings/webhook/slack" .}} {{template "repo/settings/webhook/slack" .}}
{{template "repo/settings/webhook/discord" .}} {{template "repo/settings/webhook/discord" .}}
{{template "repo/settings/webhook/dingtalk" .}}
</div> </div>
{{template "repo/settings/webhook/history" .}} {{template "repo/settings/webhook/history" .}}

Loading…
Cancel
Save