Compare commits

...

51 Commits

Author SHA1 Message Date
Unknwon
91441c3fb2 locale: sync from Crowdin 2018-06-05 07:31:34 +08:00
Michael Li
b152cbe45a Makefile: fix make build failure when environment of GOPATH have multiple items (#5262)
* fixed make build failure when enviroment of GOPATH have Multiple items

gogs source in /other/path/to/go/src/github.com/gogs/gogs and then

>cd /other/path/go/go/src/github.com/gogs/gogs
>GOPATH=/path/to/go:/other/path/to/go make

will also build success in this fixed code

* in makefile rename gogits to gogs
2018-06-04 18:41:54 +08:00
Unknwon
c08aab90ec models/mirror: shot push webhook after synced commits (#4528) 2018-06-03 20:32:44 +08:00
Unknwon
8d091ec062 vendor: update github.com/gogs/git-module 2018-06-03 20:26:29 +08:00
Unknwon
0376e59520 pkg/setting: fix '[git] GC_ARGS' is not loaded 2018-06-03 16:02:17 +08:00
Unknwon
e25fe22f9d pkg/template: fix NewLine2br return type to string 2018-06-02 08:15:56 +08:00
Unknwon
bef7f6745c templates/repo/settings: fix mirror setting error 2018-05-30 21:32:40 +08:00
Unknwon
775919c129 mirror: show sync feeds on dashboard (#2017) 2018-05-30 21:26:03 +08:00
Unknwon
702acc06d8 vendor: update github.com/gogs/git-module 2018-05-29 06:43:19 +08:00
Sergey Dryabzhinsky
b5a1daa756 template: simple html filter for repository description (#5242)
* Add markdown renderer function to templates, use it for description in repo template

* Fix function call

* Define function Md2html in template namespace

* Change filter from Md2html to nl2br

* Change filter name to NewLine2br as suggested

* Update description output:

- just replace `\n` by `<br>`
- sanitize html after replace
2018-05-29 06:42:27 +08:00
Unknwon
5a47301dbd docker: rename "gogits" to "gogs" 2018-05-27 09:29:34 +08:00
Unknwon
e33d9e77f4 vendor: rename "gogits" to "gogs" 2018-05-27 09:07:15 +08:00
Unknwon
aff4208244 *: rename "gogits" to "gogs" 2018-05-27 08:53:48 +08:00
Wei He
73dbaefec5 routes/user/setting: fix avatar email update error (#5245) 2018-05-26 09:19:04 +08:00
Unknwon
05edcde6c9 routes/user/auth: improve coding style 2018-05-21 14:45:47 +08:00
Unknwon
01ccc2cc96 security: prevent same passcode from being reused
Reported by @cezar97.
2018-05-21 14:24:06 +08:00
Madzahttr
cd093a07a3 templates/mail/auth: update copyright year (#5224)
* Update activate.tmpl

* Update activate_email.tmpl

* Update register_notify.tmpl

* Update reset_passwd.tmpl
2018-05-13 05:25:51 -04:00
Sergey Dryabzhinsky
7e450542d9 templates/repo: use correct Semantic UI icon styles to fix star and watch icons (#5218)
* Update font-awesome to 4.7.0

* Fix font-awesome styles overrided by semantic

* Revert back

* Revert back 2

* Just use right `semantic` icon styles
2018-05-10 04:58:04 -04:00
Michael Li
45545e897c templates/user/dashboard: make page more concise for user's activity/issues/PR information (#5209) 2018-05-08 14:43:23 -04:00
Lauris BH
eccc8109c1 security: fix path cleanup for repository init and editor (#5207)
Reported by Kacper Szurek https://security.szurek.pl/.
2018-05-08 14:32:49 -04:00
Unknwon
2fabcd0455 locale: sync from Crowdin 2018-05-02 20:46:54 -04:00
Unknwon
e3ce295215 public/css: generate CSS for PR #5169 2018-04-26 17:05:30 -04:00
Florian Wiech
8df59c01d5 public/css: fix file view responsiveness (#5169) 2018-04-26 17:00:55 -04:00
Unknwon
15f9a83618 templates/repo: escape branch name (#4601) 2018-04-25 22:35:50 -04:00
Unknwon
d572381a37 vendor: update gopkg.in/clog.v1 2018-04-25 22:13:16 -04:00
Unknwon
9127001f11 pkg/setting: support Discord logger 2018-04-25 22:13:01 -04:00
Unknwon
742420a5e2 .github: update link to ISSUE_TEMPLATE.md (#5193) 2018-04-25 18:28:41 -04:00
Unknwon
f439df4441 locale: sync from Crowdin 2018-04-25 13:50:48 -04:00
rokuu
c92e8940dc pkg/form: fix bad locale reference (#5196) 2018-04-24 09:57:42 -04:00
rokuu
c68fc4f31a templates: fixes broken UI under supported resolution (1024x768) #5179 (#5182)
* Update view_list.tmpl

* Update commits_table.tmpl

* Update dashboard.tmpl

* Update list.tmpl

* Update list.tmpl

* Update list.tmpl

* Update list.tmpl

* Update notice.tmpl

* Update monitor.tmpl

* Update view_file.tmpl

* Update diff_preview.tmpl

* Update box.tmpl
2018-04-24 09:54:22 -04:00
rokuu
0e80e47592 public/{less,css}: fix overflow of brand logo hyperlink (#5189)
* Update gogs.css

* Update _base.less
2018-04-21 12:11:24 -04:00
Cosmin Stroe
54b9311344 pkg/markup/markdown: Issue mentions should also render with square brackets (#4707)
* gofmt reformat of markdown.go
2018-04-21 12:08:11 -04:00
rokuu
9387b79b98 templates: delete legacy file (#5180) 2018-04-19 01:27:59 -04:00
Unknwon
5c2de3a9ea pkg/template: fix Gravatar URLs are badly generated (#5157) 2018-04-18 19:40:35 -04:00
Changwoo Ryu
eac5b48da0 locale: Add myself to TRANSLATORS (#5177) 2018-04-18 11:09:38 -04:00
Unknwon
f89d948c06 templates/repo/issue: rework escape delete branch link after merged pull request (#4601) 2018-04-16 23:08:09 -04:00
Unknwon
45a0988833 templates/repo/issue: escape delete branch link after merged pull request (#4601) 2018-04-16 23:02:20 -04:00
Nicolas Ettlin
afbb31c05e MISC: fix Mac OS X → macOS (#5168) 2018-04-16 19:29:11 -04:00
Unknwon
e6af6487e1 locale: sync from Crowdin
Add Vietnamese
2018-04-16 17:48:23 -04:00
Josef Kemetmüller
c0b45fa36f ldap: return valid LDAP string if user input lacks "%s" (#5171)
If the user provides a string that does not contain "%s", fmt.Sprintf
silently appends "%!(EXTRA type=value)" instead of failing loudly.
This fixes #4375.
2018-04-16 17:19:45 -04:00
Unknwon
cb47595f13 Bump version 2018-04-12 10:57:43 -04:00
Unknwon
c59704a24b public: update Semantic UI 2.2.13 -> 2.3.1 2018-04-12 09:57:27 -04:00
Unknwon
f2ecfdc96a auth: support authentication source config file (#3142) 2018-04-12 09:55:58 -04:00
Unknwon
717d409b72 templates/admin/auth/list: rename list title 2018-04-11 19:39:17 -04:00
Unknwon
6e207c823e templates/admin/auth/list: move "new" button to table foot 2018-04-11 19:38:52 -04:00
Unknwon
b69294b6d6 locale: sync from Crowdin 2018-04-09 12:38:39 -04:00
Unknwon
6cbaa4787b MISC: update docker build script 2018-04-09 07:26:55 -04:00
Unknwon
8b66c433c5 models/pull: fix error on merge pull requests to non-default branch (#5138) 2018-04-09 07:26:38 -04:00
Unknwon
3329bfa5b2 .github: adjust ISSUE_TEMPLATE 2018-04-05 17:23:03 -04:00
Unknwon
f41f5785bf docker: update README about "custom" directory (#5150) 2018-04-05 17:19:45 -04:00
Unknwon
55f148f499 template: delete legacy file 2018-04-02 00:03:07 -04:00
323 changed files with 7186 additions and 4989 deletions

4
.gitattributes vendored
View File

@@ -4,7 +4,7 @@ public/assets/* linguist-vendored
public/plugins/* linguist-vendored
public/css/themes/* linguist-vendored
public/css/github.min.css linguist-vendored
public/css/semantic-2.2.10.min.css linguist-vendored
public/css/semantic-2.3.1.min.css linguist-vendored
public/js/libs/* linguist-vendored
public/js/jquery-1.11.3.min.js linguist-vendored
public/js/semantic-2.2.10.min.js linguist-vendored
public/js/semantic-2.3.1.min.js linguist-vendored

View File

@@ -15,26 +15,7 @@ Depends on the situation, you will:
### Bug Report
If you find something you consider a bug, please create a issue on [GitHub](https://github.com/gogits/gogs/issues). To avoid wasting time and reduce back-and-forth communication with team members, please include at least the following information in a form comfortable for you:
- Bug Description
- Gogs Version
- Git Version
- System Type
- Error Log
- Other information
Please take a moment to check that an issue on [GitHub](https://github.com/gogits/gogs/issues) doesn't already exist documenting your bug report or improvement proposal. If it does, it never hurts to add a quick "+1" or "I have this problem too". This will help prioritize the most common problems and requests.
#### Bug Report Example
Gogs crashed when creating a repository with a license, using v0.5.13.0207, SQLite3, Git 1.9.0, Ubuntu 12.04.
Error log:
```
2014/09/01 07:21:49 [E] nil pointer
```
If you find something you consider a bug, please create an issue on [GitHub](https://github.com/gogits/gogs/issues). To avoid wasting time and reduce back-and-forth communication with team members, please be respect to [Issue Template](ISSUE_TEMPLATE.md).
### Feature Request

View File

@@ -1,7 +1,8 @@
The issue will be closed without any reasons if it does not satisfy any of following requirements:
1. Please speak English, we have forum in [Chinese](https://discuss.gogs.io/c/getting-help/getting-help-chinese).
1. Please speak English, we have forum in [中文](https://discuss.gogs.io/c/getting-help/getting-help-chinese).
2. Please post questions or config/deploy problems on our forum: https://discuss.gogs.io, here are bugs and feature requests only.
3. Please do not end your title with a question mark or period.
3. Please take a moment to search that an issue doesn't already exist.
4. Please give all relevant information below for bug reports; incomplete details considered invalid report.

View File

@@ -1,5 +1,5 @@
LDFLAGS += -X "github.com/gogits/gogs/pkg/setting.BuildTime=$(shell date -u '+%Y-%m-%d %I:%M:%S %Z')"
LDFLAGS += -X "github.com/gogits/gogs/pkg/setting.BuildGitHash=$(shell git rev-parse HEAD)"
LDFLAGS += -X "github.com/gogs/gogs/pkg/setting.BuildTime=$(shell date -u '+%Y-%m-%d %I:%M:%S %Z')"
LDFLAGS += -X "github.com/gogs/gogs/pkg/setting.BuildGitHash=$(shell git rev-parse HEAD)"
DATA_FILES := $(shell find conf | sed 's/ /\\ /g')
LESS_FILES := $(wildcard public/less/gogs.less public/less/_*.less)
@@ -14,6 +14,7 @@ RELEASE_ROOT = "release"
RELEASE_GOGS = "release/gogs"
NOW = $(shell date -u '+%Y%m%d%I%M%S')
GOVET = go tool vet -composites=false -methods=false -structtags=false
GOPATH = $(shell echo $${PWD%%src*})
.PHONY: build pack release bindata clean
@@ -56,7 +57,7 @@ release: build pack
bindata: pkg/bindata/bindata.go
pkg/bindata/bindata.go: $(DATA_FILES)
go-bindata -o=$@ -ignore="\\.DS_Store|README.md|TRANSLATORS" -pkg=bindata conf/...
go-bindata -o=$@ -ignore="\\.DS_Store|README.md|TRANSLATORS|auth.d" -pkg=bindata conf/...
less: public/css/gogs.css

View File

@@ -1,9 +1,9 @@
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) [![Discord](https://img.shields.io/discord/382595433060499458.svg)](https://discord.gg/9aqdHU7)
Gogs [![Build Status](https://travis-ci.org/gogs/gogs.svg?branch=master)](https://travis-ci.org/gogs/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) [![Discord](https://img.shields.io/discord/382595433060499458.svg)](https://discord.gg/9aqdHU7)
=====================
![](https://github.com/gogits/gogs/blob/master/public/img/gogs-large-resize.png?raw=true)
![](https://github.com/gogs/gogs/blob/master/public/img/gogs-large-resize.png?raw=true)
##### Current tip version: [`.VERSION`](templates/.VERSION) (see [Releases](https://github.com/gogits/gogs/releases) for binary versions)
##### Current tip version: [`.VERSION`](templates/.VERSION) (see [Releases](https://github.com/gogs/gogs/releases) for binary versions)
| Web | UI | Preview |
|:-------------:|:-------:|:-------:|
@@ -13,18 +13,18 @@ Gogs [![Build Status](https://travis-ci.org/gogits/gogs.svg?branch=master)](http
### Important Notes
1. **YOU MUST READ [Contributing Code](https://github.com/gogits/gogs/wiki/Contributing-Code) BEFORE STARTING TO WORK ON A PULL REQUEST**.
1. **YOU MUST READ [Contributing Code](https://github.com/gogs/gogs/wiki/Contributing-Code) BEFORE STARTING TO WORK ON A PULL REQUEST**.
2. Due to testing purpose, data of [try.gogs.io](https://try.gogs.io) was reset in **Jan 28, 2015** and will reset multiple times after. Please do **NOT** put your important data on the site.
3. The demo site [try.gogs.io](https://try.gogs.io) is running under `develop` branch.
4. If you think there are vulnerabilities in the project, please talk privately to **u@gogs.io**, and the name you want to be credited as. Thanks!
5. If you're interested in using APIs, we have experimental support with [documentation](https://github.com/gogits/go-gogs-client/wiki).
5. If you're interested in using APIs, we have experimental support with [documentation](https://github.com/gogs/go-gogs-client/wiki).
6. If your team/company is using Gogs and would like to put your logo on [our website](https://gogs.io), contact us by any means.
[简体中文](README_ZH.md)
## Purpose
The goal of this project is to make the easiest, fastest, and most painless way of setting up a self-hosted Git service. With Go, this can be done with an independent binary distribution across **ALL platforms** that Go supports, including Linux, Mac OS X, Windows and ARM.
The goal of this project is to make the easiest, fastest, and most painless way of setting up a self-hosted Git service. With Go, this can be done with an independent binary distribution across **ALL platforms** that Go supports, including Linux, macOS, Windows and ARM.
## Overview
@@ -52,7 +52,7 @@ The goal of this project is to make the easiest, fastest, and most painless way
- Mail service
- Administration panel
- Supports MySQL, PostgreSQL, SQLite3, MSSQL and [TiDB](https://github.com/pingcap/tidb) (via MySQL protocol)
- Multi-language support ([28 languages](https://crowdin.com/project/gogs))
- Multi-language support ([29 languages](https://crowdin.com/project/gogs))
## Hardware Requirements
@@ -74,7 +74,7 @@ There are 5 ways to install Gogs:
- [Install from binary](https://gogs.io/docs/installation/install_from_binary.html)
- [Install from source](https://gogs.io/docs/installation/install_from_source.html)
- [Install from packages](https://gogs.io/docs/installation/install_from_packages.html)
- [Ship with Docker](https://github.com/gogits/gogs/tree/master/docker)
- [Ship with Docker](https://github.com/gogs/gogs/tree/master/docker)
- [Install with Vagrant](https://github.com/geerlingguy/ansible-vagrant-examples/tree/master/gogs)
### Tutorials
@@ -130,9 +130,9 @@ There are 5 ways to install Gogs:
## Contributors
- See [contributors page](https://github.com/gogits/gogs/graphs/contributors) for top 100 contributors.
- See [contributors page](https://github.com/gogs/gogs/graphs/contributors) for top 100 contributors.
- See [TRANSLATORS](conf/locale/TRANSLATORS) for public list of translators.
## License
This project is under the MIT License. See the [LICENSE](https://github.com/gogits/gogs/blob/master/LICENSE) file for the full license text.
This project is under the MIT License. See the [LICENSE](https://github.com/gogs/gogs/blob/master/LICENSE) file for the full license text.

View File

@@ -1,11 +1,11 @@
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)
Gogs [![Build Status](https://travis-ci.org/gogs/gogs.svg?branch=master)](https://travis-ci.org/gogs/gogs) [![Build status](https://ci.appveyor.com/api/projects/status/b9uu5ejl933e2wlt/branch/master?svg=true)](https://ci.appveyor.com/project/Unknwon/gogs/branch/master)
=====================
Gogs 是一款极易搭建的自助 Git 服务。
## 开发目的
Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自助 Git 服务。使用 Go 语言开发使得 Gogs 能够通过独立的二进制分发,并且支持 Go 语言支持的 **所有平台**,包括 Linux、Mac OS X、Windows 以及 ARM 平台。
Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自助 Git 服务。使用 Go 语言开发使得 Gogs 能够通过独立的二进制分发,并且支持 Go 语言支持的 **所有平台**,包括 Linux、macOS、Windows 以及 ARM 平台。
## 项目概览
@@ -33,7 +33,7 @@ Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自
- 支持邮件服务
- 支持后台管理面板
- 支持 MySQL、PostgreSQL、SQLite3、MSSQL 和 [TiDB](https://github.com/pingcap/tidb)(通过 MySQL 协议)数据库
- 支持多语言本地化([28 种语言]([more](https://crowdin.com/project/gogs))
- 支持多语言本地化([29 种语言]([more](https://crowdin.com/project/gogs))
## 硬件要求
@@ -55,7 +55,7 @@ Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自
- [二进制安装](https://gogs.io/docs/installation/install_from_binary.html)
- [源码安装](https://gogs.io/docs/installation/install_from_source.html)
- [包管理安装](https://gogs.io/docs/installation/install_from_packages.html)
- [采用 Docker 部署](https://github.com/gogits/gogs/tree/master/docker)
- [采用 Docker 部署](https://github.com/gogs/gogs/tree/master/docker)
- [通过 Vagrant 安装](https://github.com/geerlingguy/ansible-vagrant-examples/tree/master/gogs)
### 使用教程
@@ -99,9 +99,9 @@ Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自
## 贡献成员
- 您可以通过查看 [贡献者页面](https://github.com/gogits/gogs/graphs/contributors) 获取 TOP 100 的贡献者列表。
- 您可以通过查看 [贡献者页面](https://github.com/gogs/gogs/graphs/contributors) 获取 TOP 100 的贡献者列表。
- 您可以通过查看 [TRANSLATORS](conf/locale/TRANSLATORS) 文件获取公开的翻译人员列表。
## 授权许可
本项目采用 MIT 开源授权许可证,完整的授权说明已放置在 [LICENSE](https://github.com/gogits/gogs/blob/master/LICENSE) 文件中。
本项目采用 MIT 开源授权许可证,完整的授权说明已放置在 [LICENSE](https://github.com/gogs/gogs/blob/master/LICENSE) 文件中。

View File

@@ -11,8 +11,8 @@ import (
"github.com/urfave/cli"
"github.com/gogits/gogs/models"
"github.com/gogits/gogs/pkg/setting"
"github.com/gogs/gogs/models"
"github.com/gogs/gogs/pkg/setting"
)
var (

View File

@@ -17,8 +17,8 @@ import (
log "gopkg.in/clog.v1"
"gopkg.in/ini.v1"
"github.com/gogits/gogs/models"
"github.com/gogits/gogs/pkg/setting"
"github.com/gogs/gogs/models"
"github.com/gogs/gogs/pkg/setting"
)
var Backup = cli.Command{

View File

@@ -19,15 +19,15 @@ import (
"github.com/urfave/cli"
log "gopkg.in/clog.v1"
"github.com/gogits/git-module"
"github.com/gogs/git-module"
"github.com/gogits/gogs/models"
"github.com/gogits/gogs/models/errors"
"github.com/gogits/gogs/pkg/httplib"
"github.com/gogits/gogs/pkg/mailer"
"github.com/gogits/gogs/pkg/setting"
"github.com/gogits/gogs/pkg/template"
http "github.com/gogits/gogs/routes/repo"
"github.com/gogs/gogs/models"
"github.com/gogs/gogs/models/errors"
"github.com/gogs/gogs/pkg/httplib"
"github.com/gogs/gogs/pkg/mailer"
"github.com/gogs/gogs/pkg/setting"
"github.com/gogs/gogs/pkg/template"
http "github.com/gogs/gogs/routes/repo"
)
var (
@@ -236,9 +236,9 @@ func runHookPostReceive(c *cli.Context) error {
log.Error(2, "PushUpdate: %v", err)
}
// Ask for running deliver hook and test pull request tasks.
// Ask for running deliver hook and test pull request tasks
reqURL := setting.LocalURL + options.RepoUserName + "/" + options.RepoName + "/tasks/trigger?branch=" +
strings.TrimPrefix(options.RefFullName, git.BRANCH_PREFIX) +
template.EscapePound(strings.TrimPrefix(options.RefFullName, git.BRANCH_PREFIX)) +
"&secret=" + os.Getenv(http.ENV_REPO_OWNER_SALT_MD5) +
"&pusher=" + os.Getenv(http.ENV_AUTH_USER_ID)
log.Trace("Trigger task: %s", reqURL)

View File

@@ -15,7 +15,7 @@ import (
"github.com/Unknwon/com"
"github.com/urfave/cli"
"github.com/gogits/gogs/pkg/setting"
"github.com/gogs/gogs/pkg/setting"
)
var (

View File

@@ -15,8 +15,8 @@ import (
log "gopkg.in/clog.v1"
"gopkg.in/ini.v1"
"github.com/gogits/gogs/models"
"github.com/gogits/gogs/pkg/setting"
"github.com/gogs/gogs/models"
"github.com/gogs/gogs/pkg/setting"
)
var Restore = cli.Command{

View File

@@ -16,10 +16,10 @@ import (
"github.com/urfave/cli"
log "gopkg.in/clog.v1"
"github.com/gogits/gogs/models"
"github.com/gogits/gogs/models/errors"
"github.com/gogits/gogs/pkg/setting"
http "github.com/gogits/gogs/routes/repo"
"github.com/gogs/gogs/models"
"github.com/gogs/gogs/models/errors"
"github.com/gogs/gogs/pkg/setting"
http "github.com/gogs/gogs/routes/repo"
)
const (

View File

@@ -29,20 +29,20 @@ import (
log "gopkg.in/clog.v1"
"gopkg.in/macaron.v1"
"github.com/gogits/gogs/models"
"github.com/gogits/gogs/pkg/bindata"
"github.com/gogits/gogs/pkg/context"
"github.com/gogits/gogs/pkg/form"
"github.com/gogits/gogs/pkg/mailer"
"github.com/gogits/gogs/pkg/setting"
"github.com/gogits/gogs/pkg/template"
"github.com/gogits/gogs/routes"
"github.com/gogits/gogs/routes/admin"
apiv1 "github.com/gogits/gogs/routes/api/v1"
"github.com/gogits/gogs/routes/dev"
"github.com/gogits/gogs/routes/org"
"github.com/gogits/gogs/routes/repo"
"github.com/gogits/gogs/routes/user"
"github.com/gogs/gogs/models"
"github.com/gogs/gogs/pkg/bindata"
"github.com/gogs/gogs/pkg/context"
"github.com/gogs/gogs/pkg/form"
"github.com/gogs/gogs/pkg/mailer"
"github.com/gogs/gogs/pkg/setting"
"github.com/gogs/gogs/pkg/template"
"github.com/gogs/gogs/routes"
"github.com/gogs/gogs/routes/admin"
apiv1 "github.com/gogs/gogs/routes/api/v1"
"github.com/gogs/gogs/routes/dev"
"github.com/gogs/gogs/routes/org"
"github.com/gogs/gogs/routes/repo"
"github.com/gogs/gogs/routes/user"
)
var Web = cli.Command{

View File

@@ -353,6 +353,14 @@ LEVEL =
; Webhook URL
URL =
[log.discord]
; leave empty to inherit
LEVEL =
; Webhook URL
URL =
; Username displayed in webhook
USERNAME = %(APP_NAME)s
[log.xorm]
; Enable file rotation
ROTATE = true
@@ -455,8 +463,8 @@ NEWS_FEED_PAGING_NUM = 20
COMMITS_PAGING_NUM = 30
[i18n]
LANGS = en-US,zh-CN,zh-HK,zh-TW,de-DE,fr-FR,nl-NL,lv-LV,ru-RU,ja-JP,es-ES,pt-BR,pl-PL,bg-BG,it-IT,fi-FI,tr-TR,cs-CZ,sr-SP,sv-SE,ko-KR,gl-ES,uk-UA,en-GB,hu-HU,sk-SK,id-ID,fa-IR
NAMES = English,简体中文,繁體中文(香港),繁體中文(臺灣),Deutsch,français,Nederlands,latviešu,русский,日本語,español,português do Brasil,polski,български,italiano,suomi,Türkçe,čeština,српски,svenska,한국어,galego,українська,English (United Kingdom),Magyar,Slovenčina,Indonesian,Persian
LANGS = en-US,zh-CN,zh-HK,zh-TW,de-DE,fr-FR,nl-NL,lv-LV,ru-RU,ja-JP,es-ES,pt-BR,pl-PL,bg-BG,it-IT,fi-FI,tr-TR,cs-CZ,sr-SP,sv-SE,ko-KR,gl-ES,uk-UA,en-GB,hu-HU,sk-SK,id-ID,fa-IR,vi-VN
NAMES = English,简体中文,繁體中文(香港),繁體中文(臺灣),Deutsch,français,Nederlands,latviešu,русский,日本語,español,português do Brasil,polski,български,italiano,suomi,Türkçe,čeština,српски,svenska,한국어,galego,українська,English (United Kingdom),Magyar,Slovenčina,Indonesian,Persian,Vietnamese
; Used for datetimepicker
[i18n.datelang]
@@ -488,6 +496,7 @@ hu-HU = hu
sk-SK = sk
id-ID = id
fa-IR = fa
vi-VN = vi
; Extension mapping to highlight class
; e.g. .toml=ini

View File

@@ -0,0 +1,29 @@
# This is an example of LDAP (BindDN) authentication
#
id = 101
type = ldap_bind_dn
name = LDAP BindDN
is_activated = true
[config]
host = mydomain.com
port = 636
# 0 - Unencrypted, 1 - LDAPS, 2 - StartTLS
security_protocol = 0
skip_verify = false
bind_dn =
bind_password =
user_base = ou=Users,dc=mydomain,dc=com
attribute_username =
attribute_name =
attribute_surname =
attribute_mail = mail
attributes_in_bind = false
filter = (&(objectClass=posixAccount)(cn=%s))
admin_filter =
group_enabled = false
group_dn =
group_filter =
group_member_uid =
user_uid =

View File

@@ -0,0 +1,30 @@
# This is an example of LDAP (simple auth) authentication
#
id = 102
type = ldap_simple_auth
name = LDAP Simple Auth
is_activated = true
[config]
host = mydomain.com
port = 636
# 0 - Unencrypted, 1 - LDAPS, 2 - StartTLS
security_protocol = 0
skip_verify = false
bind_dn =
bind_password =
user_base =
user_dn = cn=%s,ou=Users,dc=mydomain,dc=com
attribute_username =
attribute_name =
attribute_surname =
attribute_mail = mail
attributes_in_bind = false
filter = (&(objectClass=posixAccount)(cn=%s))
admin_filter =
group_enabled = false
group_dn =
group_filter =
group_member_uid =
user_uid =

View File

@@ -0,0 +1,10 @@
# This is an example of PAM authentication
#
id = 104
type = pam
name = System Auth
is_activated = true
[config]
service_name = system-auth

View File

@@ -0,0 +1,16 @@
# This is an example of SMTP authentication
#
id = 103
type = smtp
name = GMail
is_activated = true
[config]
# Either "PLAIN" or "LOGIN"
auth = PLAIN
host = smtp.gmail.com
port = 587
allowed_domains =
tls = true
skip_verify = false

View File

@@ -21,6 +21,7 @@ Barış Arda Yılmaz <ardayilmazgamer AT gmail DOT com>
Bo-Yi Wu <appleboy DOT tw AT gmail DOT com>
Breton Corentin <contact AT neodarz DOT net>
Camille Baronnet <gogs AT camillebaronnet DOT fr>
Changwoo Ryu <cwryu AT debian DOT org>
Christoph Kisfeld <christoph DOT kisfeld AT gmail DOT com>
Cysioland
Damaris Padieu <damizx AT hotmail DOT fr>

View File

@@ -151,6 +151,8 @@ register_hepler_msg=Вече имате профил? Впишете се сег
social_register_hepler_msg=Вече имате профил? Свържете се сега!
disable_register_prompt=За съжаление създаването на нови регистрации е изключено. Обърнете се към администратора на сайта.
disable_register_mail=За съжаление потвърждението на регистрации е изключено.
auth_source=Authentication Source
local=Local
remember_me=Запомни ме
forgot_password=Забравена парола
forget_password=Забравена парола?
@@ -229,6 +231,7 @@ org_name_been_taken=Името на организацията вече се п
team_name_been_taken=Името на екипа вече се ползва.
email_been_used=Този адрес на ел. поща вече се ползва.
username_password_incorrect=Потребителското име или паролата не са верни.
auth_source_mismatch=The authentication source selected is not associated with the user.
enterred_invalid_repo_name=Моля уверете се, че въведеното име на хранилище е вярно.
enterred_invalid_owner_name=Моля уверете се, че въведеното име на притежател е вярно.
enterred_invalid_password=Моля уверете се, че въведената парола е вярна.
@@ -348,6 +351,7 @@ two_factor_or_enter_secret=Or enter the secret:
two_factor_then_enter_passcode=След това въведете паролата:
two_factor_verify=Потвърждаване
two_factor_invalid_passcode=Въведената парола е невалидна! Моля опитайте отново.
two_factor_reused_passcode=The passcode you entered has already been used, please try another one!
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_recovery_codes_title=Two-factor Authentication Recovery Codes
@@ -819,10 +823,10 @@ settings.event_push=Предаване
settings.event_push_desc=Git предаване към хранилището
settings.event_issues=Issues
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_desc=Issue comment created, edited, or deleted.
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_issue_comment=Issue Comment
settings.event_issue_comment_desc=Issue comment created, edited, or deleted.
settings.event_release=Release
settings.event_release_desc=Release published in a repository.
settings.active=Активна
@@ -1087,7 +1091,7 @@ repos.stars=Харесвания
repos.issues=Задачи
repos.size=Размер
auths.auth_manage_panel=Управление на удостоверявания
auths.auth_sources=Authentication Sources
auths.new=Добави нов начин на удостоверяване
auths.name=Име
auths.type=Тип
@@ -1128,7 +1132,6 @@ auths.enable_tls=Включи TLS криптиране
auths.skip_tls_verify=Пропусни проверка на TLS сертификат
auths.pam_service_name=Име на PAM услуга
auths.enable_auto_register=Включи автоматична регистрация
auths.tips=Съвети
auths.edit=Редактирай настройки за удостоверяване
auths.activated=Това удостоверяване е активно
auths.new_success=Новото удостоверяване '%s' е добавено успешно.
@@ -1284,7 +1287,6 @@ notices.delete_success=Системните съобщения са изтрит
[action]
create_repo=създаде хранилище <a href="%s"> %s</a>
fork_repo=forked a repository to <a href="%s">%s</a>
rename_repo=преименува хранилище от <code>%[1]s</code> на <a href="%[2]s">%[3]s</a>
commit_repo=предаде към <a href="%[1]s/src/%[2]s">%[3]s</a> в <a href="%[1]s">%[4]s</a>
compare_commits=Сравнение между тези %d ревизии
@@ -1301,6 +1303,10 @@ create_branch=създаде клон <a href="%[1]s/src/%[2]s"> %[3]s</a> % <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>
delete_tag=изтри етикет <code>%[2]s</code> % <a href="%[1]s">[3]s</a>
fork_repo=forked a repository to <a href="%s">%s</a>
mirror_sync_push=synced commits to <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a> from mirror
mirror_sync_create=synced new reference <a href="%s/src/%s">%[2]s</a> to <a href="%[1]s">%[3]s</a> from mirror
mirror_sync_delete=synced and deleted reference <code>%[2]s</code> at <a href="%[1]s">%[3]s</a> from mirror
[tool]
ago=преди

View File

@@ -151,6 +151,8 @@ register_hepler_msg=Již máte účet? Přihlašte se!
social_register_hepler_msg=Již máte účet? Připojte se!
disable_register_prompt=Omlouváme se, ale registrace jsou vypnuty. Kontaktujte správce systému.
disable_register_mail=Omlouváme se, ale e-mailové služby jsou vypnuté. Kontaktujte správce systému.
auth_source=Authentication Source
local=Local
remember_me=Zapamatovat si mne
forgot_password=Zapomenuté heslo
forget_password=Zapomněli jste heslo?
@@ -229,6 +231,7 @@ org_name_been_taken=Název organizace je již obsazen.
team_name_been_taken=Název týmu je již obsazen.
email_been_used=E-mailová adresa je již použita.
username_password_incorrect=Chybné uživatelské jméno nebo heslo.
auth_source_mismatch=The authentication source selected is not associated with the user.
enterred_invalid_repo_name=Ujistěte se, prosím, že zadaný název repositáře je správný.
enterred_invalid_owner_name=Ujistěte se, prosím, že jméno vlastníka je zadáno správně.
enterred_invalid_password=Ujistěte se, prosím, že zadané heslo je správné.
@@ -348,6 +351,7 @@ two_factor_or_enter_secret=Nebo zadejte tajný kód:
two_factor_then_enter_passcode=Pak zadejte přístupový kód:
two_factor_verify=Ověřit
two_factor_invalid_passcode=Zadaný přístupový kód není platný, prosím, zkuste to znova!
two_factor_reused_passcode=The passcode you entered has already been used, please try another one!
two_factor_enable_error=Povolení dvoufaktorového ověření selhalo: %v
two_factor_enable_success=Dvoufaktorové ověření bylo pro váš účet povoleno!
two_factor_recovery_codes_title=Obnovovací kódy dvoufaktorového ověření
@@ -819,10 +823,10 @@ settings.event_push=Odeslat
settings.event_push_desc=Odeslání pomocí Gitu do repositáře
settings.event_issues=Úkoly
settings.event_issues_desc=Úkol, který je otevřen, uzavřen, znovuotevřen, změněn, přiřazen, nepřiřazen, mající změněn štítek, smazán štítek, mající přiřazen milník, nemající přiřazen milník.
settings.event_issue_comment=Komentář k úkolu
settings.event_issue_comment_desc=Komentář k úkolu vytvořen, upraven nebo smazán.
settings.event_pull_request=Požadavek na natažení
settings.event_pull_request_desc=Požadavek na natažení otevřen, uzavřen, znovuotevřen, změněn, přiřazen, nepřiřazen, změněn štítek, smazán štítek, mající nastaven štítek, zrušeno nastavení štítku nebo synchronizován.
settings.event_issue_comment=Komentář k úkolu
settings.event_issue_comment_desc=Komentář k úkolu vytvořen, upraven nebo smazán.
settings.event_release=Vydání
settings.event_release_desc=Vydání vystaveno v repositáři.
settings.active=Aktivní
@@ -1087,7 +1091,7 @@ repos.stars=Oblíbení
repos.issues=Úkoly
repos.size=Velikost
auths.auth_manage_panel=Panel správy způsobů ověřování
auths.auth_sources=Authentication Sources
auths.new=Přidat nový zdroj
auths.name=Název
auths.type=Typ
@@ -1128,7 +1132,6 @@ auths.enable_tls=Povolit šifrování TLS
auths.skip_tls_verify=Přeskočit ověření TLS
auths.pam_service_name=Název služby PAM
auths.enable_auto_register=Povolit zaregistrování se
auths.tips=Tipy
auths.edit=Upravit nastavení ověřování
auths.activated=Tento způsob ověřování je aktivní
auths.new_success=Nový způsob ověřování '%s' byl přidán.
@@ -1284,7 +1287,6 @@ notices.delete_success=Systémová upozornění byla smazána.
[action]
create_repo=vytvořil repositář <a href="%s">%s</a>
fork_repo=rozštěpil repositář do <a href="%s">%s</a>
rename_repo=přejmenoval repositář z <code>%[1]s</code> na <a href="%[2]s">%[3]s</a>
commit_repo=odeslal do větve <a href="%[1]s/src/%[2]s">%[3]s</a> v repositáři <a href="%[1]s">%[4]s</a>
compare_commits=Zobrazit porovnání pro tyto %d revize
@@ -1301,6 +1303,10 @@ create_branch=vytvořil novou větev <a href="%[1]s/src/%[2]s">%[3]s</a> v <a hr
delete_branch=smazal větev <code>%[2]s</code> v <a href="%[1]s">%[3]s</a>
push_tag=odeslal značku <a href="%s/src/%s">%[2]s</a> do repositáře <a href="%[1]s">%[3]s</a>
delete_tag=smazána značka <code>%[2]s</code> v <a href="%[1]s">%[3]s</a>
fork_repo=rozštěpil repositář do <a href="%s">%s</a>
mirror_sync_push=synced commits to <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a> from mirror
mirror_sync_create=synced new reference <a href="%s/src/%s">%[2]s</a> to <a href="%[1]s">%[3]s</a> from mirror
mirror_sync_delete=synced and deleted reference <code>%[2]s</code> at <a href="%[1]s">%[3]s</a> from mirror
[tool]
ago=před

View File

@@ -151,6 +151,8 @@ register_hepler_msg=Haben Sie bereits ein Konto? Jetzt anmelden!
social_register_hepler_msg=Haben Sie bereits ein Konto? Jetzt verknüpfen!
disable_register_prompt=Es tut uns leid, die Registrierung wurde deaktiviert. Bitte wenden Sie sich an den Administrator.
disable_register_mail=Es tut uns leid, die Bestätigung der Registrierungs-E-Mail wurde deaktiviert.
auth_source=Authentication Source
local=Local
remember_me=Angemeldet bleiben
forgot_password=Passwort vergessen
forget_password=Passwort vergessen?
@@ -229,6 +231,7 @@ org_name_been_taken=Organisationsname ist bereits vergeben.
team_name_been_taken=Teamname ist bereits vergeben.
email_been_used=E-Mail-Adresse wird bereits verwendet.
username_password_incorrect=Benutzername oder Passwort ist nicht korrekt.
auth_source_mismatch=The authentication source selected is not associated with the user.
enterred_invalid_repo_name=Bitte achten Sie darauf, dass der von Ihnen eingegebene Repository-Name korrekt ist.
enterred_invalid_owner_name=Bitte achten Sie darauf, dass der eingegebene Name des Besitzers korrekt ist.
enterred_invalid_password=Bitte achten Sie darauf, dass das eingegebene Passwort richtig ist.
@@ -348,6 +351,7 @@ two_factor_or_enter_secret=Oder geben Sie Ihren Geheim-Code ein:
two_factor_then_enter_passcode=Geben Sie die PIN ein:
two_factor_verify=Bestätigen
two_factor_invalid_passcode=Die eingegebene PIN ist ungültig. Bitte versuchen Sie es erneut!
two_factor_reused_passcode=The passcode you entered has already been used, please try another one!
two_factor_enable_error=Einschalten der Zwei-Faktor-Authentifizierung ist fehlgeschlagen: %v
two_factor_enable_success=Die Zwei-Faktor-Authentifizierung wurde für Ihr Konto erfolgreich aktiviert!
two_factor_recovery_codes_title=Zwei-Faktor-Authentifizierung-Wiederherstellungscodes
@@ -819,10 +823,10 @@ settings.event_push=Push
settings.event_push_desc=Git push auf ein Repository
settings.event_issues=Issues
settings.event_issues_desc=Issue geöffnet, geschlossen, wieder geöffnet, bearbeitet, zugewiesen, nicht zugewiesen, Label aktualisiert, Label gelöscht, einem Meilenstein zugewiesen oder davon entfernt.
settings.event_issue_comment=Issue-Kommentar
settings.event_issue_comment_desc=Issue-Kommentar angelegt, geändert oder gelöscht.
settings.event_pull_request=Pull-Request
settings.event_pull_request_desc=Pull-Request geöffnet, geschlossen, wieder geöffnet, bearbeitet, zugewiesen, nicht zugewiesen, Label aktualisiert, Label gelöscht, einem Meilenstein zugewiesen, davon entfernt oder synchronisiert.
settings.event_issue_comment=Issue-Kommentar
settings.event_issue_comment_desc=Issue-Kommentar angelegt, geändert oder gelöscht.
settings.event_release=Release
settings.event_release_desc=Release in Repository veröffentlicht.
settings.active=Aktiv
@@ -1087,7 +1091,7 @@ repos.stars=Favoriten
repos.issues=Issues
repos.size=Größe
auths.auth_manage_panel=Authentifizierung
auths.auth_sources=Authentication Sources
auths.new=Neue Quelle hinzufügen
auths.name=Name
auths.type=Typ
@@ -1128,7 +1132,6 @@ auths.enable_tls=TLS-Verschlüsselung aktivieren
auths.skip_tls_verify=TLS-Prüfung überspringen
auths.pam_service_name=PAM Dienstname
auths.enable_auto_register=Automatische Registrierung aktivieren
auths.tips=Tipps
auths.edit=Authentifizierungseinstellungen bearbeiten
auths.activated=Diese Authentifizierung ist aktiv
auths.new_success=Neue Authentifizierung '%s' wurde erfolgreich hinzugefügt.
@@ -1211,7 +1214,7 @@ config.skip_tls_verify=TLS verifikation überspringen
config.mailer_config=Mailer-Konfiguration
config.mailer_enabled=Aktiviert
config.mailer_disable_helo=HELO Deaktivieren
config.mailer_subject_prefix=Subject Prefix
config.mailer_subject_prefix=Betreff-Präfix
config.mailer_host=Host
config.mailer_user=Benutzer
config.send_test_mail=Test-E-Mail senden
@@ -1284,7 +1287,6 @@ notices.delete_success=Systemmitteilungen wurden erfolgreich gelöscht.
[action]
create_repo=hat das Repository <a href="%s">%s</a> erstellt
fork_repo=hat das Repository nach <a href="%s">%s</a> geforkt
rename_repo=hat das Repository von <code>%[1]s</code> zu <a href="%[2]s">%[3]s</a> umbenannt
commit_repo=hat auf <a href="%[1]s/src/%[2]s">%[3]s</a> in <a href="%[1]s">%[4]s</a> gepusht
compare_commits=Zeige Vergleich für diese %d Commits
@@ -1301,6 +1303,10 @@ create_branch=hat neuen Branch <a href="%[1]s/src/%[2]s">%[3]s</a> in <a href="%
delete_branch=hat Branch <code>%[2]s</code> in <a href="%[1]s">%[3]s</a> gelöscht
push_tag=hat Tag <a href="%s/src/%s">%[2]s</a> auf <a href="%[1]s">%[3]s</a> gepusht
delete_tag=hat Tag <code>%[2]s</code> in <a href="%[1]s">%[3]s</a> gelöscht
fork_repo=hat das Repository nach <a href="%s">%s</a> geforkt
mirror_sync_push=synced commits to <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a> from mirror
mirror_sync_create=synced new reference <a href="%s/src/%s">%[2]s</a> to <a href="%[1]s">%[3]s</a> from mirror
mirror_sync_delete=synced and deleted reference <code>%[2]s</code> at <a href="%[1]s">%[3]s</a> from mirror
[tool]
ago=vor

View File

@@ -151,6 +151,8 @@ register_hepler_msg=Already have an account? Sign in now!
social_register_hepler_msg=Already have an account? Bind now!
disable_register_prompt=Sorry, registration has been disabled. Please contact the site administrator.
disable_register_mail=Sorry, Register Mail Confirmation has been disabled.
auth_source=Authentication Source
local=Local
remember_me=Remember Me
forgot_password=Forgot Password
forget_password=Forgot password?
@@ -229,6 +231,7 @@ org_name_been_taken=Organisation name has already been taken.
team_name_been_taken=Team name has already been taken.
email_been_used=Email address has already been used.
username_password_incorrect=Username or password is not correct.
auth_source_mismatch=The authentication source selected is not associated with the user.
enterred_invalid_repo_name=Please make sure that the repository name you have entered is correct.
enterred_invalid_owner_name=Please make sure that the owner name you have entered is correct.
enterred_invalid_password=Please make sure the that password you have entered is correct.
@@ -348,6 +351,7 @@ two_factor_or_enter_secret=Or enter the secret:
two_factor_then_enter_passcode=Then enter passcode:
two_factor_verify=Verify
two_factor_invalid_passcode=The passcode you entered is not valid, please try again!
two_factor_reused_passcode=The passcode you entered has already been used, please try another one!
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_recovery_codes_title=Two-factor Authentication Recovery Codes
@@ -819,10 +823,10 @@ settings.event_push=Push
settings.event_push_desc=Git push to a repository
settings.event_issues=Issues
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_desc=Issue comment created, edited, or deleted.
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_issue_comment=Issue Comment
settings.event_issue_comment_desc=Issue comment created, edited, or deleted.
settings.event_release=Release
settings.event_release_desc=Release published in a repository.
settings.active=Active
@@ -1087,7 +1091,7 @@ repos.stars=Stars
repos.issues=Issues
repos.size=Size
auths.auth_manage_panel=Authentication Manage Panel
auths.auth_sources=Authentication Sources
auths.new=Add New Source
auths.name=Name
auths.type=Type
@@ -1128,7 +1132,6 @@ auths.enable_tls=Enable TLS Encryption
auths.skip_tls_verify=Skip TLS Verify
auths.pam_service_name=PAM Service Name
auths.enable_auto_register=Enable Auto Registration
auths.tips=Tips
auths.edit=Edit Authentication Setting
auths.activated=This authentication is activated
auths.new_success=New authentication '%s' has been added successfully.
@@ -1284,7 +1287,6 @@ notices.delete_success=System notices have been deleted successfully.
[action]
create_repo=created repository <a href="%s">%s</a>
fork_repo=forked a repository to <a href="%s">%s</a>
rename_repo=renamed repository from <code>%[1]s</code> to <a href="%[2]s">%[3]s</a>
commit_repo=pushed to <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a>
compare_commits=View comparison for these %d commits
@@ -1301,6 +1303,10 @@ create_branch=created new branch <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href=
delete_branch=deleted branch <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
push_tag=pushed tag <a href="%s/src/%s">%[2]s</a> to <a href="%[1]s">%[3]s</a>
delete_tag=deleted tag <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
fork_repo=forked a repository to <a href="%s">%s</a>
mirror_sync_push=synced commits to <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a> from mirror
mirror_sync_create=synced new reference <a href="%s/src/%s">%[2]s</a> to <a href="%[1]s">%[3]s</a> from mirror
mirror_sync_delete=synced and deleted reference <code>%[2]s</code> at <a href="%[1]s">%[3]s</a> from mirror
[tool]
ago=ago

View File

@@ -151,6 +151,8 @@ register_hepler_msg = Already have an account? Sign in now!
social_register_hepler_msg = Already have an account? Bind now!
disable_register_prompt = Sorry, registration has been disabled. Please contact the site administrator.
disable_register_mail = Sorry, email services are disabled. Please contact the site administrator.
auth_source = Authentication Source
local = Local
remember_me = Remember Me
forgot_password= Forgot Password
forget_password = Forgot password?
@@ -229,6 +231,7 @@ org_name_been_taken = Organization name has already been taken.
team_name_been_taken = Team name has already been taken.
email_been_used = Email address has already been used.
username_password_incorrect = Username or password is not correct.
auth_source_mismatch = The authentication source selected is not associated with the user.
enterred_invalid_repo_name = Please make sure that the repository name you entered is correct.
enterred_invalid_owner_name = Please make sure that the owner name you entered is correct.
enterred_invalid_password = Please make sure the that password you entered is correct.
@@ -348,6 +351,7 @@ two_factor_or_enter_secret = Or enter the secret:
two_factor_then_enter_passcode = Then enter passcode:
two_factor_verify = Verify
two_factor_invalid_passcode = The passcode you entered is not valid, please try again!
two_factor_reused_passcode = The passcode you entered has already been used, please try another one!
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_recovery_codes_title = Two-factor Authentication Recovery Codes
@@ -806,9 +810,9 @@ settings.slack_username = Username
settings.slack_icon_url = Icon URL
settings.slack_color = Color
settings.event_desc = When should this webhook be triggered?
settings.event_push_only = Just the <code>push</code> event.
settings.event_send_everything = I need <strong>everything</strong>.
settings.event_choose = Let me choose what I need.
settings.event_push_only = Just the <code>push</code> event
settings.event_send_everything = I need <strong>everything</strong>
settings.event_choose = Let me choose what I need
settings.event_create = Create
settings.event_create_desc = Branch or tag created
settings.event_delete = Delete
@@ -819,10 +823,10 @@ settings.event_push = Push
settings.event_push_desc = Git push to a repository
settings.event_issues = Issues
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_desc = Issue comment created, edited, or deleted.
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_issue_comment = Issue Comment
settings.event_issue_comment_desc = Issue comment created, edited, or deleted.
settings.event_release = Release
settings.event_release_desc = Release published in a repository.
settings.active = Active
@@ -1087,7 +1091,7 @@ repos.stars = Stars
repos.issues = Issues
repos.size = Size
auths.auth_manage_panel = Authentication Manage Panel
auths.auth_sources = Authentication Sources
auths.new = Add New Source
auths.name = Name
auths.type = Type
@@ -1128,7 +1132,6 @@ auths.enable_tls = Enable TLS Encryption
auths.skip_tls_verify = Skip TLS Verify
auths.pam_service_name = PAM Service Name
auths.enable_auto_register = Enable Auto Registration
auths.tips = Tips
auths.edit = Edit Authentication Setting
auths.activated = This authentication is activated
auths.new_success = New authentication '%s' has been added successfully.
@@ -1284,7 +1287,6 @@ notices.delete_success = System notices have been deleted successfully.
[action]
create_repo = created repository <a href="%s">%s</a>
fork_repo = forked a repository to <a href="%s">%s</a>
rename_repo = renamed repository from <code>%[1]s</code> to <a href="%[2]s">%[3]s</a>
commit_repo = pushed to <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a>
compare_commits = View comparison for these %d commits
@@ -1301,6 +1303,10 @@ create_branch = created new branch <a href="%[1]s/src/%[2]s">%[3]s</a> at <a hre
delete_branch = deleted branch <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
push_tag = pushed tag <a href="%s/src/%s">%[2]s</a> to <a href="%[1]s">%[3]s</a>
delete_tag = deleted tag <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
fork_repo = forked a repository to <a href="%s">%s</a>
mirror_sync_push = synced commits to <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a> from mirror
mirror_sync_create = synced new reference <a href="%s/src/%s">%[2]s</a> to <a href="%[1]s">%[3]s</a> from mirror
mirror_sync_delete = synced and deleted reference <code>%[2]s</code> at <a href="%[1]s">%[3]s</a> from mirror
[tool]
ago = ago

View File

@@ -151,6 +151,8 @@ register_hepler_msg=¿Ya tienes una cuenta? ¡Inicia sesión!
social_register_hepler_msg=¿Ya tienes una cuenta? ¡Enlázala!
disable_register_prompt=Lo sentimos, el registro está deshabilitado. Por favor, contacta con el administrador del sitio.
disable_register_mail=Lo sentimos. Los correos de Confirmación de Registro están deshabilitados.
auth_source=Authentication Source
local=Local
remember_me=Recuérdame
forgot_password=He olvidado mi contraseña
forget_password=¿Has olvidado tu contraseña?
@@ -229,6 +231,7 @@ org_name_been_taken=Ya existe una organización con este nombre.
team_name_been_taken=Ya existe un equipo con este nombre.
email_been_used=Esta dirección de correo electrónico ya está en uso.
username_password_incorrect=Nombre de usuario o contraseña incorrectos.
auth_source_mismatch=The authentication source selected is not associated with the user.
enterred_invalid_repo_name=Por favor, asegúrate de que has introducido correctamente el nombre del repositorio.
enterred_invalid_owner_name=Por favor, asegúrate de que has introducido correctamente el nombre del propietario.
enterred_invalid_password=Por favor, asegúrate de que has introducido correctamente tu contraseña.
@@ -348,6 +351,7 @@ two_factor_or_enter_secret=Or enter the secret:
two_factor_then_enter_passcode=Introduce el Pin:
two_factor_verify=Verificar
two_factor_invalid_passcode=¡El Pin que has introducido no es válido, por favor, inténtalo de nuevo!
two_factor_reused_passcode=The passcode you entered has already been used, please try another one!
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_recovery_codes_title=Two-factor Authentication Recovery Codes
@@ -819,10 +823,10 @@ settings.event_push=Push
settings.event_push_desc=Git push a un repositorio
settings.event_issues=Incidencias
settings.event_issues_desc=Incidencia abierta, cerrada, reabierta, editada, asignada, desasignada, etiqueta actualizada, etiqueta limpiada, hito marcado, o desmarcado,.
settings.event_issue_comment=Comentario de incidencia
settings.event_issue_comment_desc=Comentario de incidencias creado, editado o borrado.
settings.event_pull_request=Pull Request
settings.event_pull_request_desc=Pull request abierto, cerrado, reabierto, editado, asignado, desasignado, etiqueta actualizada, etiqueta limpiada, hito marcado, hito desmarcado, o sincronizado.
settings.event_issue_comment=Comentario de incidencia
settings.event_issue_comment_desc=Comentario de incidencias creado, editado o borrado.
settings.event_release=Lanzamiento
settings.event_release_desc=Lanzamiento publicado en un repositorio.
settings.active=Activo
@@ -1087,7 +1091,7 @@ repos.stars=Estrellas
repos.issues=Incidencias
repos.size=Tamaño
auths.auth_manage_panel=Panel de administración de autenticación
auths.auth_sources=Authentication Sources
auths.new=Añadir nuevo origen
auths.name=Nombre
auths.type=Tipo
@@ -1128,7 +1132,6 @@ auths.enable_tls=Habilitar cifrado TLS
auths.skip_tls_verify=Omitir la verificación TLS
auths.pam_service_name=Nombre del Servicio PAM
auths.enable_auto_register=Hablilitar Auto-Registro
auths.tips=Consejos
auths.edit=Editar la Configuración de Autenticación
auths.activated=Esta autenticación ha sido activada
auths.new_success=¡La autenticación '%s' ha sido añadida con éxito!
@@ -1284,7 +1287,6 @@ notices.delete_success=Las notificaciones del sistema han sido eliminadas satisf
[action]
create_repo=creó el repositorio <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>
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
@@ -1301,6 +1303,10 @@ create_branch=nueva rama <a href="%[1]s/src/%[2]s">%[3]s</a> creada en <a href="
delete_branch=borrada rama <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
push_tag=hizo push del tag <a href="%s/src/%s">%[2]s</a> a <a href="%[1]s">%[3]s</a>
delete_tag=borrada etiqueta <code>%[2]s</code> en <a href="%[1]s">%[3]s</a>
fork_repo=ha hecho un Fork en <a href="%s">%s</a>
mirror_sync_push=synced commits to <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a> from mirror
mirror_sync_create=synced new reference <a href="%s/src/%s">%[2]s</a> to <a href="%[1]s">%[3]s</a> from mirror
mirror_sync_delete=synced and deleted reference <code>%[2]s</code> at <a href="%[1]s">%[3]s</a> from mirror
[tool]
ago=hace

View File

@@ -151,6 +151,8 @@ register_hepler_msg=قبلا ثبت نام کردید؟ از اینجا وارد
social_register_hepler_msg=تا به حال حسابی داشته اید؟ به ما بپیوندید!
disable_register_prompt=با عرض پوزش، ثبت نام غیرفعال شده است. لطفا با مدیر سایت تماس بگیرید.
disable_register_mail=با عرض پوزش، تایید ایمیل ثبت نام غیر فعال شده است.
auth_source=Authentication Source
local=Local
remember_me=مرا به خاطر بسپار
forgot_password=فراموشی رمز عبور
forget_password=رمز عبور خود را فراموش کرده‌اید؟
@@ -229,6 +231,7 @@ org_name_been_taken=نام سازمان قبلا استفاده شده است.
team_name_been_taken=نام تیم گرفته شده است.
email_been_used=آدرس ایمیل قبلا استفاده شده است.
username_password_incorrect=نام کاربری یا رمز عبور صحیح نیست.
auth_source_mismatch=The authentication source selected is not associated with the user.
enterred_invalid_repo_name=لطفا مطمئن شوید که نام مخزن وارد شده صحیح است.
enterred_invalid_owner_name=لطفا مطمئن شوید که نام مالک وارد شده صحیح است.
enterred_invalid_password=لطفا مطمئن شوید که رمز عبور وارد شده صحیح است.
@@ -350,6 +353,7 @@ two_factor_or_enter_secret=و یا رمز را پارد کنید:
two_factor_then_enter_passcode=سپس رمز عبور را وارد کنید:
two_factor_verify=تایید‌کنید
two_factor_invalid_passcode=رمز عبور وارد شده معتبر نیست, لطفا دوباره سعی کنید!
two_factor_reused_passcode=The passcode you entered has already been used, please try another one!
two_factor_enable_error=فعال کردن احراز هویت دوگانه ناموفق بود: %v
two_factor_enable_success=احراز هویت دوگانه با موفقیت برای حساب شما فعال شد!
two_factor_recovery_codes_title=کدهای بازیابی احراز هویت دوگانه
@@ -821,10 +825,10 @@ settings.event_push=درج کردن
settings.event_push_desc=درج در مخزن توسط گیت
settings.event_issues=مسائل
settings.event_issues_desc=مسئله ای باز شده ، بسته شده، بازگشایی شده، ویرایش شده، به فردی تخصیص یافته، لغو تخصیص از فردی شده، برچسب آن به روزرسانی شده، برچسب آن پاک شده، نقطه عطف برای آن تعیین شده یا نقطه عطف از آن حذف شده.
settings.event_issue_comment=نظرات در مسئله
settings.event_issue_comment_desc=نظر در مسئله ایجاد شد، ویرایش شد یا حذف شد.
settings.event_pull_request=درخواست ادغام
settings.event_pull_request_desc=Pull request باز، بسته، بازگشایی شده، ویرایش شده، تخصیص داده به فردی، لغو تخصیص از فرد شده، برچسب آن به روز شده، برچسبی برای آن ساخته شده، نقطه عطف برای آن تعیین شده، نقطه عطف تعیین شده آن حذف شده، یا همگام سازی شده.
settings.event_issue_comment=نظرات در مسئله
settings.event_issue_comment_desc=نظر در مسئله ایجاد شد، ویرایش شد یا حذف شد.
settings.event_release=انتشار نسخه
settings.event_release_desc=Release در مخزن منتشر شد.
settings.active=فعال
@@ -1089,7 +1093,7 @@ repos.stars=ستاره ها
repos.issues=مسائل
repos.size=اندازه
auths.auth_manage_panel=پنل مدیریت سیستم احراز هویت
auths.auth_sources=Authentication Sources
auths.new=اضافه کردن منبع جدید
auths.name=نام
auths.type=نوع
@@ -1130,7 +1134,6 @@ auths.enable_tls=فعال کردن رمزگذاری TLS
auths.skip_tls_verify=صرف نظر از اعتبار سنجی TLS
auths.pam_service_name=نام سرویس PAM
auths.enable_auto_register=فعال سازی ثبت نام خودکار
auths.tips=راهنمایی
auths.edit=ویرایش تنظیمات تأیید اعتبار
auths.activated=متد احراز هویت فعال شده است
auths.new_success=متد احرازهویت %s با موفقیت افزوده شد.
@@ -1286,7 +1289,6 @@ notices.delete_success=اخطار های سیستم با موفقیت حذف ش
[action]
create_repo=مخزن ایجاد شده <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>
commit_repo=پوش کردن به <a href="%[1]s/src/%[2]s">%[3]s</a> در <a href="%[1]s">%[4]s</a>
compare_commits=مشاهده مقایسه برای کامیت %d
@@ -1303,6 +1305,10 @@ create_branch=شاخه ی جدید <a href="%[1]s/src/%[2]s">%[3]s</a>در<a hre
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>پوش شد
delete_tag=برچسب <code>%[2]s</code> در <a href="%[1]s">%[3]s</a> حذف شده
fork_repo=انشعاب مخزن به <a href="%s"> %s</a>
mirror_sync_push=synced commits to <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a> from mirror
mirror_sync_create=synced new reference <a href="%s/src/%s">%[2]s</a> to <a href="%[1]s">%[3]s</a> from mirror
mirror_sync_delete=synced and deleted reference <code>%[2]s</code> at <a href="%[1]s">%[3]s</a> from mirror
[tool]
ago=پیش

View File

@@ -151,6 +151,8 @@ register_hepler_msg=On jo tili? Kirjaudu sisään nyt!
social_register_hepler_msg=On jo tili? Liitä nyt!
disable_register_prompt=Sori, rekisteröinti on poistettu käytöstä. Ole hyvä ja ota yhteyttä sivuston ylläpitoon.
disable_register_mail=Sori, rekisteröinti sähköpostivarmistukset on poistettu käytöstä.
auth_source=Authentication Source
local=Local
remember_me=Muista minut
forgot_password=Unohtuiko salasana
forget_password=Unohtuiko salasana?
@@ -229,6 +231,7 @@ org_name_been_taken=Organisaation nimi on jo käytössä.
team_name_been_taken=Tiimin nimi on jo käytössä.
email_been_used=Sähköpostiosoite on jo käytössä.
username_password_incorrect=Käyttäjätunnus tai salasana ei ole oikein.
auth_source_mismatch=The authentication source selected is not associated with the user.
enterred_invalid_repo_name=Ole hyvä ja varmista että kirjoittamasi repon nimi on oikein.
enterred_invalid_owner_name=Ole hyvä ja varmista että kirjoittamasi omistajan nimi on oikein.
enterred_invalid_password=Ole hyvä ja varmista että kirjoittamasi salasana on oikein.
@@ -348,6 +351,7 @@ two_factor_or_enter_secret=Tai kirjoita salaisuus:
two_factor_then_enter_passcode=Sitten kirjoita salasana:
two_factor_verify=Vahvista
two_factor_invalid_passcode=Kirjoittamasi salasana ei kelpaa, yritä uudelleen!
two_factor_reused_passcode=The passcode you entered has already been used, please try another one!
two_factor_enable_error=Ota käyttöön kaksivaiheinen todennus epäonnistui: %v
two_factor_enable_success=Kaksivaiheinen todennus on otettu käyttöön tilissäsi menestyksekkäästi!
two_factor_recovery_codes_title=Kaksivaiheinen todennus palautuskoodit
@@ -819,10 +823,10 @@ settings.event_push=Push
settings.event_push_desc=Git push repoon
settings.event_issues=Ongelmat
settings.event_issues_desc=Ongelma avattu, suljettu, uudelleenavattu, muokattu, annettu, anto vedottu, tarra päivitetty, tarra poistettu, merkkipaalutettu, tai poistettu merkkipaalu.
settings.event_issue_comment=Ongelman kommentti
settings.event_issue_comment_desc=Ongelman kommentti luotu, muokattu, tai poistettu.
settings.event_pull_request=Pull-pyyntö
settings.event_pull_request_desc=Pull-pyyntö avattu, suljettu, uudelleenavattu, muokattu, annettu, anto vedottu, tarra päivitetty, tarra poistettu, merkkipaalutettu, poistettu merkkipaalu, tai synkronoitu.
settings.event_issue_comment=Ongelman kommentti
settings.event_issue_comment_desc=Ongelman kommentti luotu, muokattu, tai poistettu.
settings.event_release=Julkaisu
settings.event_release_desc=Julkaisu julkaistu repoon.
settings.active=Aktiivinen
@@ -1087,7 +1091,7 @@ repos.stars=Äänet
repos.issues=Ongelmat
repos.size=Koko
auths.auth_manage_panel=Todennus hallintapaneeli
auths.auth_sources=Authentication Sources
auths.new=Lisää uusi lähde
auths.name=Nimi
auths.type=Tyyppi
@@ -1128,7 +1132,6 @@ auths.enable_tls=Ota käyttöön TLS-salaus
auths.skip_tls_verify=Ohita TLS tarkistaminen
auths.pam_service_name=PAM palvelun nimi
auths.enable_auto_register=Ota käyttöön automaattinen rekisteröinti
auths.tips=Vinkit
auths.edit=Muokkaa todennusasetusta
auths.activated=Tämä todennus on aktivoitu
auths.new_success=Uusi todennus '%s' on luotu onnistuneesti.
@@ -1284,7 +1287,6 @@ notices.delete_success=Järjestelmän ilmoitukset on poistettu onnistuneesti.
[action]
create_repo=luotu repo <a href="%s">%s</a>
fork_repo=forkattu repo kohteeseen <a href="%s"> %s</a>
rename_repo=uudelleennimetty repo <code>%[1]s</code> nimelle <a href="%[2]s">%[3]s</a>
commit_repo=pushattu kohteeseen <a href="%[1]s/src/%[2]s">%[3]s</a> paikassa <a href="%[1]s">%[4]s</a>
compare_commits=Näytä vertailu näille %d commiteille
@@ -1301,6 +1303,10 @@ create_branch=luotu uusi haara <a href="%[1]s/src/%[2]s">%[3]s</a> kohteeseen <a
delete_branch=poistettu haara <code>%[2]s</code> kohteesta <a href="%[1]s">%[3]s</a>
push_tag=pushattu tagi <a href="%s/src/%s">%[2]s</a> kohteeseen <a href="%[1]s">%[3]s</a>
delete_tag=poistettu tagi <code>%[2]s</code> kohteesta <a href="%[1]s">%[3]s</a>
fork_repo=forkattu repo kohteeseen <a href="%s"> %s</a>
mirror_sync_push=synced commits to <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a> from mirror
mirror_sync_create=synced new reference <a href="%s/src/%s">%[2]s</a> to <a href="%[1]s">%[3]s</a> from mirror
mirror_sync_delete=synced and deleted reference <code>%[2]s</code> at <a href="%[1]s">%[3]s</a> from mirror
[tool]
ago=sitten

View File

@@ -151,6 +151,8 @@ register_hepler_msg=Déjà enregistré ? Connectez-vous !
social_register_hepler_msg=Déjà enregistré ? Associez-le !
disable_register_prompt=Désolé, les enregistrements ont été désactivés. Veuillez contacter l'administrateur du site.
disable_register_mail=Désolé, la confirmation par courriel des enregistrements a été désactivée.
auth_source=Authentication Source
local=Local
remember_me=Se souvenir de moi
forgot_password=Mot de passe oublié
forget_password=Mot de passe oublié ?
@@ -229,6 +231,7 @@ org_name_been_taken=Nom d'organisation déjà pris.
team_name_been_taken=Nom d'équipe déjà pris.
email_been_used=Adresse e-mail déjà utilisée.
username_password_incorrect=Nom d'utilisateur ou mot de passe incorrect.
auth_source_mismatch=The authentication source selected is not associated with the user.
enterred_invalid_repo_name=Veuillez vérifier que le nom saisi du dépôt soit correct.
enterred_invalid_owner_name=Veuillez vérifier que le nom du propriétaire saisi soit correct.
enterred_invalid_password=Veuillez vérifier que le mot de passe saisi soit correct.
@@ -348,6 +351,7 @@ two_factor_or_enter_secret=Ou entrez la phrase secrète :
two_factor_then_enter_passcode=Puis entrez le mot de passe :
two_factor_verify=Vérifier
two_factor_invalid_passcode=Le mot de passe que vous avez entré n'est pas valide, veuillez réessayer.
two_factor_reused_passcode=The passcode you entered has already been used, please try another one!
two_factor_enable_error=L'activation de l'authentification en deux étapes a échoué : %v
two_factor_enable_success=L'authentification en deux étapes a été bien été activée pour votre compte.
two_factor_recovery_codes_title=Codes de secours pour l'authentification en deux étapes
@@ -393,7 +397,7 @@ repo_name_helper=Idéalement, le nom d'un dépot devrait être court, mémorable
visibility=Visibilité
visiblity_helper=Ce dépôt est <span class="ui red text"> privé</span>
visiblity_helper_forced=L'administrateur du site a forcé tous les nouveaux dépôts à être <span class="ui red text">privés</span>
visiblity_fork_helper=(Les changement de cette valeur affecteront tous les forks)
visiblity_fork_helper=(Les changements de cette valeur affecteront tous les forks)
clone_helper=Besoin d'aide pour dupliquer ? Visitez <a target="_blank" href="%s">l'aide</a> !
fork_repo=Créer un fork du dépôt
fork_from=Fork de
@@ -620,7 +624,7 @@ pulls.nothing_merge_base=Il n'y a rien à comparer parce que les deux branches o
pulls.has_pull_request=`Il y a déjà une pull request entre ces deux cibles : <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
pulls.create=Créer une Pull Request
pulls.title_desc=veut fusionner %[1]d commits à partir de <code>%[2]s</code> vers <code>%[3]s</code>
pulls.merged_title_desc=à fusionné %[1]d commits à partir de <code>%[2]s</code> vers <code>%[3]s</code> %[4]s
pulls.merged_title_desc=a fusionné %[1]d commits à partir de <code>%[2]s</code> vers <code>%[3]s</code> %[4]s
pulls.tab_conversation=Conversation
pulls.tab_commits=Commits
pulls.tab_files=Fichiers modifiés
@@ -761,7 +765,7 @@ settings.wiki_deletion_success=Le dépôt de données wiki ont été effacés av
settings.delete=Supprimer ce dépôt
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_2=- This operation will permanently delete everything in this repository, including Git data, issues, comments and collaborator access.
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 l'effacement.
settings.deletion_success=Le dépôt a été supprimé avec succès!
settings.update_settings_success=Options mises à jour avec succès.
@@ -819,10 +823,10 @@ settings.event_push=Push
settings.event_push_desc=Git push vers un dépôt
settings.event_issues=Tickets
settings.event_issues_desc=Ticket ouvert, fermé, réouvert, modifié, assigné, non-assigné, étiquette mise à jour, étiquette nettoyée, jalonnée, ou déjalonnée.
settings.event_issue_comment=Commentaire du ticket
settings.event_issue_comment_desc=Commentaire du ticket créé, modifié, ou supprimé.
settings.event_pull_request=Pull Request
settings.event_pull_request_desc=Pull requests ouverte, fermée, réouverte, modifiée, assignée, non-assignée, étiquette mise à jour, étiquette nettoyée, jalonnée, déjalonnée, ou synchronisée.
settings.event_issue_comment=Commentaire du ticket
settings.event_issue_comment_desc=Commentaire du ticket créé, modifié, ou supprimé.
settings.event_release=Version publiée
settings.event_release_desc=Version publiée dans un dépôt.
settings.active=Actif
@@ -935,7 +939,7 @@ settings.delete_prompt=Cela supprimera cette organisation définitivement. Cette
settings.confirm_delete_account=Confirmez la suppression
settings.delete_org_title=Suppression d'organisation
settings.delete_org_desc=Cette organisation sera définitivement supprimée. Continuer ?
settings.hooks_desc=Ajoute des vebhooks qui seront activés pour <strong>tous les dépôts</strong> de cette organisation.
settings.hooks_desc=Ajoute des webhooks qui seront activés pour <strong>tous les dépôts</strong> de cette organisation.
members.membership_visibility=Visibilité des membres:
members.public=Public
@@ -1087,7 +1091,7 @@ repos.stars=Votes
repos.issues=Tickets
repos.size=Taille
auths.auth_manage_panel=Panel d'administration des authentifications
auths.auth_sources=Authentication Sources
auths.new=Ajouter une nouvelle source d'authentification
auths.name=Nom
auths.type=Type
@@ -1128,7 +1132,6 @@ auths.enable_tls=Activer le Chiffrement TLS
auths.skip_tls_verify=Ne pas vérifier TLS
auths.pam_service_name=Nom du Service PAM
auths.enable_auto_register=Connexion Automatique
auths.tips=Conseils
auths.edit=Modifier les paramètres d'authentification
auths.activated=Authentification activée
auths.new_success=Nouvelle authentification «%s » a été ajoutée avec succès.
@@ -1163,7 +1166,7 @@ config.ssh_domain=Domaine
config.ssh_port=Port
config.ssh_listen_port=Port d'écoute
config.ssh_root_path=Emplacement racine
config.ssh_rewrite_authorized_keys_at_start=Rewrite authorized_keys At Start
config.ssh_rewrite_authorized_keys_at_start=Réécrire authorized_keys au démarrage
config.ssh_key_test_path=Chemin de test des clés
config.ssh_keygen_path=Chemin vers le générateur de clefs ("ssh-keygen")
config.ssh_minimum_key_size_check=Vérification de la longueur de clé minimale
@@ -1211,7 +1214,7 @@ config.skip_tls_verify=Ne pas vérifier TLS
config.mailer_config=Configuration du service de mail
config.mailer_enabled=Activé
config.mailer_disable_helo=Désactiver HELO
config.mailer_subject_prefix=Subject Prefix
config.mailer_subject_prefix=Préfixe du sujet
config.mailer_host=Hôte
config.mailer_user=Utilisateur
config.send_test_mail=Envoyer courriel de Test
@@ -1284,7 +1287,6 @@ notices.delete_success=Notifications système supprimées avec succès.
[action]
create_repo=a créé le dépôt <a href="%s">%s</a>
fork_repo=a créé sa branche du dépôt vers <a href="%s">%s</a>
rename_repo=a rebaptisé le dépôt de <code>%[1]s</code> vers <a href="%[2]s">%[3]s</a>
commit_repo=a commité dans <a href="%[1]s/src/%[2]s">%[3]s</a> sur <a href="%[1]s">%[4]s</a>
compare_commits=Comparer ces %d commits
@@ -1294,13 +1296,17 @@ close_issue=`tickets clos <a href="%s/issues/%s">%s#%[2]s</a>`
reopen_issue=`tickets ré-ouverts <a href="%s/issues/%s">%s#%[2]s</a>`
comment_issue=`a commenté le problème <a href="%s/issues/%s">%s#%[2]s</a>`
create_pull_request=`pull request créée le <a href="%s/pulls/%s">%s#%[2]s</a>`
close_pull_request=`pull request fermé <a href="%s/pulls/%s">%s#%[2]s</a>`
close_pull_request=`pull request fermée <a href="%s/pulls/%s">%s#%[2]s</a>`
reopen_pull_request=`pull request ré-ouverte <a href="%s/pulls/%s">%s#%[2]s</a>`
merge_pull_request=`pull request fusionné le <a href="%s/pulls/%s">%s#%[2]s</a>`
create_branch=nouvelle branche créée <a href="%[1]s/src/%[2]s">%[3]s</a> sur <a href="%[1]s">%[4]s</a>
delete_branch=branche supprimée <code>%[2]s</code> sur <a href="%[1]s">%[3]s</a>
push_tag=a soumis le tag <a href="%s/src/%s">%[2]s</a> sur <a href="%[1]s">%[3]s</a>
delete_tag=étiquette supprimée <code>%[2]s</code> sur <a href="%[1]s">%[3]s</a>
fork_repo=a créé sa branche du dépôt vers <a href="%s">%s</a>
mirror_sync_push=synced commits to <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a> from mirror
mirror_sync_create=synced new reference <a href="%s/src/%s">%[2]s</a> to <a href="%[1]s">%[3]s</a> from mirror
mirror_sync_delete=synced and deleted reference <code>%[2]s</code> at <a href="%[1]s">%[3]s</a> from mirror
[tool]
ago=il y a

View File

@@ -151,6 +151,8 @@ register_hepler_msg=Xa tes unha conta? Inicia sesión!
social_register_hepler_msg=Xa tes unha conta? Enlázaa!
disable_register_prompt=Sentímolo, o rexistro está deshabilitado. Por favor, contacta co administrador do sitio.
disable_register_mail=Sentímolo. Os correos de confirmación de rexistro están deshabilitados.
auth_source=Authentication Source
local=Local
remember_me=Recórdame
forgot_password=Esquecín o meu contrasinal
forget_password=Esqueciches o teu contrasinal?
@@ -229,6 +231,7 @@ org_name_been_taken=Xa existe unha organización con este nome.
team_name_been_taken=Xa existe un equipo con este nome.
email_been_used=Este enderezo de correo electrónico xa está en uso.
username_password_incorrect=Nome de usuario ou contrasinal incorrectos.
auth_source_mismatch=The authentication source selected is not associated with the user.
enterred_invalid_repo_name=Por favor, asegúrate de que introduciches correctamente o nome do repositorio.
enterred_invalid_owner_name=Por favor, asegúrate de que introduciches correctamente o nome do propietario.
enterred_invalid_password=Por favor, asegúrate de que introduciches correctamente o teu contrasinal.
@@ -348,6 +351,7 @@ two_factor_or_enter_secret=Or enter the secret:
two_factor_then_enter_passcode=Then enter passcode:
two_factor_verify=Verify
two_factor_invalid_passcode=The passcode you entered is not valid, please try again!
two_factor_reused_passcode=The passcode you entered has already been used, please try another one!
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_recovery_codes_title=Two-factor Authentication Recovery Codes
@@ -819,10 +823,10 @@ settings.event_push=Push
settings.event_push_desc=Git push a un repositorio
settings.event_issues=Issues
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_desc=Issue comment created, edited, or deleted.
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_issue_comment=Issue Comment
settings.event_issue_comment_desc=Issue comment created, edited, or deleted.
settings.event_release=Release
settings.event_release_desc=Release published in a repository.
settings.active=Activo
@@ -1087,7 +1091,7 @@ repos.stars=Estrelas
repos.issues=Incidencias
repos.size=Size
auths.auth_manage_panel=Panel de administración de autenticación
auths.auth_sources=Authentication Sources
auths.new=Engadir nova orixe
auths.name=Nome
auths.type=Tipo
@@ -1128,7 +1132,6 @@ auths.enable_tls=Habilitar cifrado TLS
auths.skip_tls_verify=Omitir a verificación TLS
auths.pam_service_name=Nome do servizo PAM
auths.enable_auto_register=Habilitar auto-rexistro
auths.tips=Consellos
auths.edit=Editar a configuración de autenticación
auths.activated=Esta autenticación foi activada
auths.new_success=A autenticación '%s' foi engadida con éxito!
@@ -1284,7 +1287,6 @@ notices.delete_success=As notificacións do sistema foron eliminadas satisfactor
[action]
create_repo=creou o repositorio <a href="%s">%s</a>
fork_repo=forked a repository to <a href="%s">%s</a>
rename_repo=repositorio renomeado de <code>%[1]s</code> a <a href="%[2]s">%[3]s</a>
commit_repo=fixo 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 destas %d achegas
@@ -1301,6 +1303,10 @@ create_branch=created new branch <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href=
delete_branch=deleted branch <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
push_tag=fixo push do tag <a href="%s/src/%s">%[2]s</a> a <a href="%[1]s">%[3]s</a>
delete_tag=deleted tag <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
fork_repo=forked a repository to <a href="%s">%s</a>
mirror_sync_push=synced commits to <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a> from mirror
mirror_sync_create=synced new reference <a href="%s/src/%s">%[2]s</a> to <a href="%[1]s">%[3]s</a> from mirror
mirror_sync_delete=synced and deleted reference <code>%[2]s</code> at <a href="%[1]s">%[3]s</a> from mirror
[tool]
ago=hai

View File

@@ -151,6 +151,8 @@ register_hepler_msg=Van már felhasználói fiókja? Jelentkezz be!
social_register_hepler_msg=Van már fiókod? Csatold most!
disable_register_prompt=Elnézést, a regisztrációt kikapcsolták. Kérlek szólj az oldal adminisztrátorának.
disable_register_mail=Elnézést, az email regisztráció megerősítését kikapcsolták.
auth_source=Authentication Source
local=Local
remember_me=Emlékezz rám
forgot_password=Elfelejtett jelszó
forget_password=Elfelejtette a jelszavát?
@@ -229,6 +231,7 @@ org_name_been_taken=A szervezet neve már foglalt.
team_name_been_taken=Az a csapatnév már foglalt.
email_been_used=Ezt az email címet már felhasználták.
username_password_incorrect=Felhasználó név vagy jelszó hibás.
auth_source_mismatch=The authentication source selected is not associated with the user.
enterred_invalid_repo_name=Kérjük, ellenőrizze, hogy a tároló neve helyes.
enterred_invalid_owner_name=Kérjük, ellenőrizze, hogy a tulajdonos neve helyes.
enterred_invalid_password=Kérlek ellenőrizd, hogy a beírt jelszó helyes.
@@ -348,6 +351,7 @@ two_factor_or_enter_secret=Vagy adja meg a titkos kódot:
two_factor_then_enter_passcode=Ezután írja be ezt a jelkódot:
two_factor_verify=Ellenőrzés
two_factor_invalid_passcode=Érvénytelen a megadott jelkód, próbálja meg újra!
two_factor_reused_passcode=The passcode you entered has already been used, please try another one!
two_factor_enable_error=Kétlépcsős hitelesítés engedélyezése sikertelen: %v
two_factor_enable_success=Kétlépcsős hitelesítés sikeresen engedélyezve a fiókjához!
two_factor_recovery_codes_title=Kettőlépcsős hitelesítés helyreállítási kódok
@@ -761,7 +765,7 @@ settings.wiki_deletion_success=A repository-hoz tartozó wiki adatok törlése s
settings.delete=Repository Törlése
settings.delete_desc=Miután kitörölted a repository-t nincs visszaút. Jól gondold meg.
settings.delete_notices_1=- Ez a művelet <strong>NEM</strong> vonható vissza.
settings.delete_notices_2=- This operation will permanently delete everything in this repository, including Git data, issues, comments and collaborator access.
settings.delete_notices_2=- Ez a művelet véglegesen töröl minden repository-val kapcsolatos dolgot, beleértve a Git adatokat, hibajegyeket, megjegyzéseket és a közreműködők hozzáférési jogát.
settings.delete_notices_fork_1=- Minden fork önállóvá válik a törlés után.
settings.deletion_success=A tároló sikeresen törölve!
settings.update_settings_success=A tároló beállításai sikeresen frissítve.
@@ -819,10 +823,10 @@ settings.event_push=Push
settings.event_push_desc=Push-olás egy repository-ba
settings.event_issues=Problémák
settings.event_issues_desc=A probléma meg left nyitva, le left zárva, újranyitva, szerkesztve, hozzárendelve, visszarendelve, cimkézve, cimketelenítve, mérföldkövezve, vagy mérföldkőtelenítve.
settings.event_issue_comment=Probléma hozzászólás
settings.event_issue_comment_desc=Probléma megjegyzés létrehozva, szerkesztve vagy törölve.
settings.event_pull_request=Beolvasztási kérés
settings.event_pull_request_desc=Beolvasztási kérés megnyitva, lezárva, újranyitva, hozzárendelve, visszarendelve, címkézve, címke eltávolítva, mérföldkövezve, mérföldkő eltávolítva vagy szinkronizálva.
settings.event_issue_comment=Probléma hozzászólás
settings.event_issue_comment_desc=Probléma megjegyzés létrehozva, szerkesztve vagy törölve.
settings.event_release=Kiadás
settings.event_release_desc=Kiadás publikálva a tárolóban.
settings.active=Aktív
@@ -1087,7 +1091,7 @@ repos.stars=Csillagok
repos.issues=Problémák
repos.size=Méret
auths.auth_manage_panel=Hitelesítés kezelő Panel
auths.auth_sources=Authentication Sources
auths.new=Új forrás hozzáadása
auths.name=Név
auths.type=Típus
@@ -1128,7 +1132,6 @@ auths.enable_tls=TLS titkosítás engedélyezése
auths.skip_tls_verify=TLS ellenőrzése mellőzése
auths.pam_service_name=PAM szolgáltatás neve
auths.enable_auto_register=Automatikus regisztráció engedélyezése
auths.tips=Tippek
auths.edit=Hitelesítési beállítások szerkesztése
auths.activated=Ez a hitelesítés mód aktiválva van
auths.new_success=Az új hitelesítési mód '%s' sikeresen hozzáadva.
@@ -1163,7 +1166,7 @@ config.ssh_domain=Tartomány
config.ssh_port=Port
config.ssh_listen_port=Figyelő port
config.ssh_root_path=Gyökér elérési útvonal
config.ssh_rewrite_authorized_keys_at_start=Rewrite authorized_keys At Start
config.ssh_rewrite_authorized_keys_at_start=SSH authorized_keys fájl újraírása indításnál
config.ssh_key_test_path=Kulcs ellenőrzés útvonala
config.ssh_keygen_path=Kulcsgeneráló ('ssh-keygen') elérési útja
config.ssh_minimum_key_size_check=Minimális kulcsméret ellenőrzés
@@ -1211,7 +1214,7 @@ config.skip_tls_verify=TLS ellenőrzése mellőzése
config.mailer_config=Levelező beállítások
config.mailer_enabled=Engedélyezett
config.mailer_disable_helo=HELO letiltása
config.mailer_subject_prefix=Subject Prefix
config.mailer_subject_prefix=Tárgy előtag
config.mailer_host=Állomás
config.mailer_user=Felhasználó
config.send_test_mail=Teszt E-mail küldése
@@ -1284,7 +1287,6 @@ notices.delete_success=A rendszer értesítések sikeresen törölve.
[action]
create_repo=létrehozott tárolót: <a href="%s"> %s</a>
fork_repo=lemásolta a(z) <a href="%s">%s</a> tárolót
rename_repo=átnevezte a <code>%[1]s</code> tárolót <a href="%[2]s">%[3]s</a>-ra
commit_repo=feltöltött a <a href="%[1]s/src/%[2]s">%[3]s</a> ágba ide: <a href="%[1]s">%[4]s</a>
compare_commits=%d commit összehasonlítása
@@ -1301,6 +1303,10 @@ create_branch=létrehozott egy új <a href="%[1]s/src/%[2]s">%[3]s</a> ágat ebb
delete_branch=törölt egy ágat <code>%[2]s</code> ekkor: <a href="%[1]s">%[3]s</a>
push_tag=feltöltött egy cimkét: <a href="%s/src/%s">%[2]s</a> ide: <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>
fork_repo=lemásolta a(z) <a href="%s">%s</a> tárolót
mirror_sync_push=synced commits to <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a> from mirror
mirror_sync_create=synced new reference <a href="%s/src/%s">%[2]s</a> to <a href="%[1]s">%[3]s</a> from mirror
mirror_sync_delete=synced and deleted reference <code>%[2]s</code> at <a href="%[1]s">%[3]s</a> from mirror
[tool]
ago=

View File

@@ -151,6 +151,8 @@ register_hepler_msg=Sudah memiliki account? Sign in sekarang!
social_register_hepler_msg=Sudah memiliki account? Ikat sekarang!
disable_register_prompt=Maaf, pendaftaran telah dinonaktifkan. Hubungi administrator situs.
disable_register_mail=Maaf, konfirmasi pendaftaran melalui email telah dinonaktifkan.
auth_source=Authentication Source
local=Local
remember_me=Ingat saya
forgot_password=Lupa Sandi
forget_password=Lupa sandi?
@@ -229,6 +231,7 @@ org_name_been_taken=Nama organisasi telah diambil.
team_name_been_taken=Nama tim telah diambil.
email_been_used=Alamat email telah digunakan.
username_password_incorrect=Nama pengguna atau sandi tidak benar.
auth_source_mismatch=The authentication source selected is not associated with the user.
enterred_invalid_repo_name=Pastikan bahwa nama repositori yang Anda masukkan benar.
enterred_invalid_owner_name=Pastikan bahwa nama pemilik yang Anda masukkan benar.
enterred_invalid_password=Harap pastikan bahwa sandi yang Anda masukkan benar.
@@ -348,6 +351,7 @@ two_factor_or_enter_secret=Atau masukkan rahasianya:
two_factor_then_enter_passcode=Masukan kode akses:
two_factor_verify=Verifikasi
two_factor_invalid_passcode=Kode akses yang Anda masukan tidak sah, silahkan coba lagi!
two_factor_reused_passcode=The passcode you entered has already been used, please try another one!
two_factor_enable_error=Aktifkan Autentikasi dua faktor gagal: %v
two_factor_enable_success=Autentikasi dua faktor telah memungkinkan akun Anda berhasil!
two_factor_recovery_codes_title=Kode Pemulihan Otentikasi dua faktor
@@ -819,10 +823,10 @@ settings.event_push=Dorong
settings.event_push_desc=Git mendorong ke repositori
settings.event_issues=Masalah
settings.event_issues_desc=Masalah dibuka, ditutup, dibuka kembali, diedit, ditugaskan, belum ditetapkan, label diperbarui, label dihapus, dirham, atau demilestoned.
settings.event_issue_comment=Isu Komentar
settings.event_issue_comment_desc=Komentar terbitan dibuat, diedit, atau dihapus.
settings.event_pull_request=Permintaan tarik
settings.event_pull_request_desc=Tarik permintaan dibuka, ditutup, dibuka kembali, diedit, ditugaskan, belum ditetapkan, label diperbarui, label dibersihkan, dirender, diremilahkan, atau disinkronkan.
settings.event_issue_comment=Isu Komentar
settings.event_issue_comment_desc=Komentar terbitan dibuat, diedit, atau dihapus.
settings.event_release=Melepaskan
settings.event_release_desc=Rilis diterbitkan dalam repositori.
settings.active=Aktif
@@ -1087,7 +1091,7 @@ repos.stars=Bintang
repos.issues=Masalah
repos.size=Ukuran
auths.auth_manage_panel=Authentication Manage Panel
auths.auth_sources=Authentication Sources
auths.new=Tambahkan Sumber Baru
auths.name=Nama
auths.type=Mengetik
@@ -1128,7 +1132,6 @@ auths.enable_tls=Enable TLS Encryption
auths.skip_tls_verify=Skip TLS Verify
auths.pam_service_name=Nama layanan PAM
auths.enable_auto_register=Mengaktifkan pendaftaran otomatis
auths.tips=Cara
auths.edit=Mengubah pengaturan pembuktian
auths.activated=This authentication is activated
auths.new_success=New authentication '%s' has been added successfully.
@@ -1284,7 +1287,6 @@ notices.delete_success=Sistem pemberitahuan telah berhasil dihapus.
[action]
create_repo=repositori dibuat <a href="%s">%s</a>
fork_repo=forked a repository to <a href="%s">%s</a>
rename_repo=repositori berganti nama dari <code>%[1]s</code> ke <a href="%[2]s">%[3]s</a>
commit_repo=didorong ke <a href="%[1]s/src/%[2]s">%[3]s</a> di <a href="%[1]s">%[4]s</a>
compare_commits=View comparison for these %d commits
@@ -1301,6 +1303,10 @@ create_branch=created new branch <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href=
delete_branch=deleted branch <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
push_tag=pushed tag <a href="%s/src/%s">%[2]s</a> to <a href="%[1]s">%[3]s</a>
delete_tag=deleted tag <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
fork_repo=forked a repository to <a href="%s">%s</a>
mirror_sync_push=synced commits to <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a> from mirror
mirror_sync_create=synced new reference <a href="%s/src/%s">%[2]s</a> to <a href="%[1]s">%[3]s</a> from mirror
mirror_sync_delete=synced and deleted reference <code>%[2]s</code> at <a href="%[1]s">%[3]s</a> from mirror
[tool]
ago=lalu

View File

@@ -151,6 +151,8 @@ register_hepler_msg=Hai già un account? Accedi ora!
social_register_hepler_msg=Hai già un account? Associalo ora!
disable_register_prompt=Siamo spiacenti, registrazione è stata disabilitata. Si prega di contattare l'amministratore del sito.
disable_register_mail=Siamo spiacenti, la conferma di registrazione via Mail è stata disattivata.
auth_source=Authentication Source
local=Local
remember_me=Ricordami
forgot_password=Password dimenticata
forget_password=Password dimenticata?
@@ -229,6 +231,7 @@ org_name_been_taken=Il nome dell'Organizzazione è già utlizzato.
team_name_been_taken=Il nome del Team è già utilizzato.
email_been_used=L'indirizzo E-mail è già utilizzato.
username_password_incorrect=Nome utente o password incorretti.
auth_source_mismatch=The authentication source selected is not associated with the user.
enterred_invalid_repo_name=Si prega di assicurarsi che il nome del repository inserito sia corretto.
enterred_invalid_owner_name=Si prega di assicurarsi che il nome del proprietario inserito sia corretto.
enterred_invalid_password=Verificare che la password inserita sia corretta.
@@ -348,6 +351,7 @@ two_factor_or_enter_secret=Or enter the secret:
two_factor_then_enter_passcode=Then enter passcode:
two_factor_verify=Verifica
two_factor_invalid_passcode=The passcode you entered is not valid, please try again!
two_factor_reused_passcode=The passcode you entered has already been used, please try another one!
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_recovery_codes_title=Two-factor Authentication Recovery Codes
@@ -819,10 +823,10 @@ settings.event_push=Push
settings.event_push_desc=Git push in un repository
settings.event_issues=Issues
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_desc=Issue comment created, edited, or deleted.
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_issue_comment=Issue Comment
settings.event_issue_comment_desc=Issue comment created, edited, or deleted.
settings.event_release=Release
settings.event_release_desc=Release published in a repository.
settings.active=Attivo
@@ -1087,7 +1091,7 @@ repos.stars=Voti
repos.issues=Problemi
repos.size=Size
auths.auth_manage_panel=Pannello di configurazione dei meccanismi di autenticazione
auths.auth_sources=Authentication Sources
auths.new=Aggiungi Nuova Origine
auths.name=Nome
auths.type=Tipo
@@ -1128,7 +1132,6 @@ auths.enable_tls=Abilitare Crittografia TLS
auths.skip_tls_verify=Salta verifica TLS
auths.pam_service_name=Nome del Servizio PAM
auths.enable_auto_register=Abilitare Registrazione Automatica
auths.tips=Consigli
auths.edit=Modifica impostazioni di autenticazione
auths.activated=Questa Autenticazione è stata attivata
auths.new_success=Nuovo meccanismo di autenticazione '%s' aggiunto.
@@ -1284,7 +1287,6 @@ notices.delete_success=Gli avvisi di sistema sono stati successivamente eliminat
[action]
create_repo=ha creato il repository <a href="%s">%s</a>
fork_repo=forked a repository to <a href="%s">%s</a>
rename_repo=repository rinominato da <code>%[1]s</code> a <a href="%[2]s">[3]s</a>
commit_repo=ha pushato nel <a href="%[1]s/src/%[2]s">%[3]s</a> in <a href="%[1]s">%[4]s</a>
compare_commits=Visualizza comparazione tra questi %d commit
@@ -1301,6 +1303,10 @@ create_branch=created new branch <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href=
delete_branch=deleted branch <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
push_tag=ha pushato il tag <a href="%s/src/%s">%[2]s</a> a <a href="%[1]s">%[3]s</a>
delete_tag=deleted tag <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
fork_repo=forked a repository to <a href="%s">%s</a>
mirror_sync_push=synced commits to <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a> from mirror
mirror_sync_create=synced new reference <a href="%s/src/%s">%[2]s</a> to <a href="%[1]s">%[3]s</a> from mirror
mirror_sync_delete=synced and deleted reference <code>%[2]s</code> at <a href="%[1]s">%[3]s</a> from mirror
[tool]
ago=fa

View File

@@ -151,6 +151,8 @@ register_hepler_msg=既にアカウントをお持ちですか?今すぐログ
social_register_hepler_msg=既にアカウントをお持ちですか?連携しましょう!
disable_register_prompt=申し訳ありませんが、現在登録は受け付けておりません。サイトの管理者にお問い合わせください。
disable_register_mail=申し訳ありませんが、登録メールの確認機能が無効になっています。
auth_source=Authentication Source
local=Local
remember_me=ログインしたままにする
forgot_password=パスワードを忘れた
forget_password=パスワードを忘れましたか?
@@ -229,6 +231,7 @@ org_name_been_taken=組織名は既に使用されています。
team_name_been_taken=チーム名は既に使用されています。
email_been_used=電子メール アドレスは既に使用されています。
username_password_incorrect=ユーザー名またはパスワードが正しくありません。
auth_source_mismatch=The authentication source selected is not associated with the user.
enterred_invalid_repo_name=入力したリポジトリの名前が正しいかどうかを確認してください。
enterred_invalid_owner_name=入力された所有者名が正しいかどうかを確認してください。
enterred_invalid_password=入力したパスワードが正しいか確認してください。
@@ -348,6 +351,7 @@ two_factor_or_enter_secret=またはシークレットを入力:
two_factor_then_enter_passcode=パスコードを入力してください:
two_factor_verify=確認
two_factor_invalid_passcode=入力されたパスコードは使用できません。もう一度お試しください。
two_factor_reused_passcode=The passcode you entered has already been used, please try another one!
two_factor_enable_error=2段階認証の有効化に失敗しました: %v
two_factor_enable_success=2段階認証があなたのアカウントで有効化されました
two_factor_recovery_codes_title=2段階認証のリカバリーコード
@@ -761,7 +765,7 @@ settings.wiki_deletion_success=Wikiのデータ消去が完了しました。
settings.delete=このリポジトリを削除
settings.delete_desc=リポジトリを削除すると元に戻せません。確実に確認してください。
settings.delete_notices_1=-この操作は<strong>元に戻せません</strong> 。
settings.delete_notices_2=- This operation will permanently delete everything in this repository, including Git data, issues, comments and collaborator access.
settings.delete_notices_2=-この操作はこのリポジトリで、Git データ、問題、コメント協力アクセスなどすべて削除されます。
settings.delete_notices_fork_1=- 削除後、すべてのフォークは独立したリポジトリになります。
settings.deletion_success=リポジトリが正常に削除されました。
settings.update_settings_success=リポジトリ オプションが更新されました。
@@ -819,10 +823,10 @@ settings.event_push=プッシュ
settings.event_push_desc=リポジトリへのプッシュがされた時
settings.event_issues=課題
settings.event_issues_desc=課題の開始・終了・再開・編集・アサイン・アサイン解除・ラベル更新・ラベル削除・マイルストーン紐付け・マイルストーン紐付け解除がされた時
settings.event_issue_comment=課題へのコメント
settings.event_issue_comment_desc=課題へのコメントが作成・編集・削除された時
settings.event_pull_request=プルリクエスト
settings.event_pull_request_desc=プルリクエストの開始・終了・再開・編集・アサイン・アサイン解除・ラベル更新・ラベル削除・マイルストーン紐付け・マイルストーン紐付け解除・同期がされた時
settings.event_issue_comment=課題へのコメント
settings.event_issue_comment_desc=課題へのコメントが作成・編集・削除された時
settings.event_release=リリース
settings.event_release_desc=リポジトリでリリースが公開された時
settings.active=アクティブ
@@ -1087,7 +1091,7 @@ repos.stars=Stars
repos.issues=課題
repos.size=容量
auths.auth_manage_panel=認証管理パネル
auths.auth_sources=Authentication Sources
auths.new=新しいソースを追加
auths.name=名前
auths.type=タイプ
@@ -1128,7 +1132,6 @@ auths.enable_tls=TLS 暗号化を有効にする
auths.skip_tls_verify=TLSベリファイを省略
auths.pam_service_name=PAMサービス名
auths.enable_auto_register=自動登録を有効にする
auths.tips=ヒント
auths.edit=認証設定を編集
auths.activated=認証の有効化
auths.new_success=新しい認証 '%s' が正常に追加されました。
@@ -1163,7 +1166,7 @@ config.ssh_domain=ドメイン
config.ssh_port=ポート
config.ssh_listen_port=リッスンポート
config.ssh_root_path=ルートパス
config.ssh_rewrite_authorized_keys_at_start=Rewrite authorized_keys At Start
config.ssh_rewrite_authorized_keys_at_start=書き換え authorized_keys 開始
config.ssh_key_test_path=キーテストパス
config.ssh_keygen_path=鍵生成コマンド ('ssh-keygen') のパス
config.ssh_minimum_key_size_check=最小キーサイズチェック
@@ -1211,7 +1214,7 @@ config.skip_tls_verify=TLSの確認を省略
config.mailer_config=メーラーの設定
config.mailer_enabled=有効にした
config.mailer_disable_helo=HELOコマンド無効
config.mailer_subject_prefix=Subject Prefix
config.mailer_subject_prefix=件名プレフィックス
config.mailer_host=ホスト
config.mailer_user=ユーザ
config.send_test_mail=テストメールの送信
@@ -1284,7 +1287,6 @@ notices.delete_success=システム通知が正常に削除されました。
[action]
create_repo=がリポジトリ <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> にリポジトリ名を変更しました
commit_repo=が <a href="%[1]s">%[4]s</a> に <a href="%[1]s/src/%[2]s">%[3]s</a> をプッシュしました
compare_commits=これらの %d コミットの比較を表示
@@ -1301,6 +1303,10 @@ create_branch=が <a href="%[1]s">%[4]s</a> に新しいブランチ <a href="%[
delete_branch=<a href="%[1]s">%[3]s</a> のブランチ <code>%[2]s</code> を削除しました
push_tag=が <a href="%[1]s">%[3]s</a> にタグ <a href="%[1]s/src/%[2]s">%[2]s</a> をプッシュしました
delete_tag=<a href="%[1]s">%[3]s</a> のタグ <code>%[2]s</code> を削除しました
fork_repo=リポジトリを <a href="%s">%s</a> にフォークしました
mirror_sync_push=synced commits to <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a> from mirror
mirror_sync_create=synced new reference <a href="%s/src/%s">%[2]s</a> to <a href="%[1]s">%[3]s</a> from mirror
mirror_sync_delete=synced and deleted reference <code>%[2]s</code> at <a href="%[1]s">%[3]s</a> from mirror
[tool]
ago=

View File

@@ -151,6 +151,8 @@ register_hepler_msg=이미 계정을 가지고 계신가요? 로그인하세요!
social_register_hepler_msg=계정을 가지고 계신가요? 연결하세요!
disable_register_prompt=죄송합니다, 가입이 비활성화 되어있습니다. 사이트 관리자에게 문의 해주세요.
disable_register_mail=죄송합니다. 메일 등록이 비활성화 되었습니다.
auth_source=Authentication Source
local=Local
remember_me=자동 로그인
forgot_password=비밀번호 찾기
forget_password=비밀번호를 잊으셨습니까?
@@ -229,6 +231,7 @@ org_name_been_taken=이미 사용중인 조직 이름입니다.
team_name_been_taken=이미 사용중인 팀 이름입니다.
email_been_used=이미 사용중인 이메일 주소입니다.
username_password_incorrect=사용자 이름이나 비밀번호가 올바르지 않습니다.
auth_source_mismatch=The authentication source selected is not associated with the user.
enterred_invalid_repo_name=입력한 저장소 이름이 올바른지 확인하십시오.
enterred_invalid_owner_name=입력한 사용자 이름이 올바른지 확인하십시오.
enterred_invalid_password=입력한 비밀번호가 올바른지 확인하십시오.
@@ -348,15 +351,16 @@ two_factor_or_enter_secret=또는 이 비밀키를 입력하세요:
two_factor_then_enter_passcode=그리고 코드를 입력하세요:
two_factor_verify=확인
two_factor_invalid_passcode=입력한 코드가 올바르지 않습니다. 다시 시도해 주세요!
two_factor_reused_passcode=The passcode you entered has already been used, please try another one!
two_factor_enable_error=2단계 인증 활성화 실패: %v
two_factor_enable_success=2단계 인증이 성공적으로 활성화되었습니다!
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_regenerate_recovery_codes=Regenerate Recovery Codes
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_recovery_codes_title=2단계 인증 복구 코드
two_factor_recovery_codes_desc=복구 코드는 당신이 2단계 인증 프로그램에 접근할 수 없을때 사용합니다. 각 코드들은 한 번만 사용될 수 있습니다. <b>이 코드들은 안전한 장소에 보관하세요.</b>
two_factor_regenerate_recovery_codes=복구 코드 재생성
two_factor_regenerate_recovery_codes_error=복구 코드 재생성 실패: %v
two_factor_regenerate_recovery_codes_success=성공적으로 새로운 복구 코드가 생성되었습니다!
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=2단계 인증을 끄면 보안 수준이 낮아집니다. 계속하시겠습니까?
two_factor_disable_success=2단계 인증이 성공적으로 비활성화되었습니다!
manage_access_token=개인 액세스 토큰 관리
@@ -472,7 +476,7 @@ file_permalink=고유링크
file_too_large=이 파일은 표시하기엔 너무 큽니다.
video_not_supported_in_browser=이 브라우저는 HTML5 비디오 태그를 지원하지 않습니다.
branches.overview=Overview
branches.overview=개요
branches.active_branches=활성 브랜치
branches.stale_branches=오래된 브랜치
branches.all=모든 브랜치
@@ -820,10 +824,10 @@ settings.event_push=푸시
settings.event_push_desc=깃 저장소로 푸시
settings.event_issues=이슈
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_desc=Issue comment created, edited, or deleted.
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_issue_comment=Issue Comment
settings.event_issue_comment_desc=Issue comment created, edited, or deleted.
settings.event_release=Release
settings.event_release_desc=Release published in a repository.
settings.active=활성
@@ -1088,7 +1092,7 @@ repos.stars=Stars
repos.issues=이슈
repos.size=Size
auths.auth_manage_panel=인증 관리 패널
auths.auth_sources=Authentication Sources
auths.new=새로운 소스를 추가
auths.name=이름
auths.type=유형
@@ -1129,7 +1133,6 @@ auths.enable_tls=TLS 암호화 활성화
auths.skip_tls_verify=TLS 검증 건너뛰기
auths.pam_service_name=PAM 서비스 명
auths.enable_auto_register=자동 등록을 활성화
auths.tips=도움말
auths.edit=인증 설정 편집
auths.activated=이 인증정보는 활성화되어있습니다.
auths.new_success=새로운 인증 '%s'가 성공적으로 추가 되었습니다.
@@ -1285,7 +1288,6 @@ notices.delete_success=시스템 알림들이 성공적으로 삭제되었습니
[action]
create_repo=저장소를 만들었습니다. <a href="%s">%s</a>
fork_repo=forked a repository to <a href="%s">%s</a>
rename_repo=<code>%[1]s에서</code>에서 <a href="%[2]s"> %[3]s</a>으로 저장소 이름을 바꾸었습니다.
commit_repo=<a href="%[1]s">%[4]s</a>에서 <a href="%[1]s/src/%[2]s">%[3]s</a>으로 푸시함
compare_commits=이 %d개의 커밋에 대한 비교 보기
@@ -1302,6 +1304,10 @@ create_branch=created new branch <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href=
delete_branch=deleted branch <code>%[2]s</code> at <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>
fork_repo=forked a repository to <a href="%s">%s</a>
mirror_sync_push=synced commits to <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a> from mirror
mirror_sync_create=synced new reference <a href="%s/src/%s">%[2]s</a> to <a href="%[1]s">%[3]s</a> from mirror
mirror_sync_delete=synced and deleted reference <code>%[2]s</code> at <a href="%[1]s">%[3]s</a> from mirror
[tool]
ago=

View File

@@ -151,6 +151,8 @@ register_hepler_msg=Jau ir konts? Pieraksties tagad!
social_register_hepler_msg=Jau ir konts? Sasaisti tagad!
disable_register_prompt=Atvainojiet, reģistrācija ir atspējota. Lūdzu, sazinieties ar vietnes administratoru.
disable_register_mail=Atvainojiet, reģistrācijas e-pasta apstiprināšana ir atspējota.
auth_source=Authentication Source
local=Local
remember_me=Atcerēties mani
forgot_password=Aizmirsu paroli
forget_password=Aizmirsi paroli?
@@ -229,6 +231,7 @@ org_name_been_taken=Organizācijas nosaukums ir jau aizņemts.
team_name_been_taken=Komandas nosaukums ir jau aizņemts.
email_been_used=E-pasta adrese jau tiek izmantota.
username_password_incorrect=Lietotājvārds vai parole nav pareiza.
auth_source_mismatch=The authentication source selected is not associated with the user.
enterred_invalid_repo_name=Lūdzu, pārliecinieties, vai ievadītā repozitorija nosaukums ir pareizs.
enterred_invalid_owner_name=Lūdzu, pārliecinieties, vai ievadītā īpašnieka vārds ir pareizs.
enterred_invalid_password=Lūdzu pārliecinieties, vai Jūsu ievadītā parole ir pareiza.
@@ -348,6 +351,7 @@ two_factor_or_enter_secret=Vai ievadiet noslēpumu:
two_factor_then_enter_passcode=Pēc tam ievadiet kodu:
two_factor_verify=Pārbaudīt
two_factor_invalid_passcode=The passcode you entered is not valid, please try again!
two_factor_reused_passcode=The passcode you entered has already been used, please try another one!
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_recovery_codes_title=Two-factor Authentication Recovery Codes
@@ -819,10 +823,10 @@ settings.event_push=Izmaiņu nosūtīšana
settings.event_push_desc=Git izmaiņu nosūtīšana uz repozitoriju
settings.event_issues=Problēmas
settings.event_issues_desc=Issue opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, or demilestoned.
settings.event_issue_comment=Problēmas komentārs
settings.event_issue_comment_desc=Issue comment created, edited, or deleted.
settings.event_pull_request=Izmaiņu pieprasījums
settings.event_pull_request_desc=Pull request opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, demilestoned, or synchronized.
settings.event_issue_comment=Problēmas komentārs
settings.event_issue_comment_desc=Issue comment created, edited, or deleted.
settings.event_release=Laidiens
settings.event_release_desc=Laidiens publicēts repozitorijā.
settings.active=Aktīvs
@@ -1087,7 +1091,7 @@ repos.stars=Atzīmētās zvaigznītes
repos.issues=Problēmas
repos.size=Izmērs
auths.auth_manage_panel=Autentifikācijas pārvaldības panelis
auths.auth_sources=Authentication Sources
auths.new=Pievienot jaunu avotu
auths.name=Nosaukums
auths.type=Veids
@@ -1128,7 +1132,6 @@ auths.enable_tls=Iespējot TLS šifrēšanu
auths.skip_tls_verify=Izlaist TLS verifikāciju
auths.pam_service_name=PAM servisa nosaukums
auths.enable_auto_register=Iespējot automātisko reģistrāciju
auths.tips=Padomi
auths.edit=Labot autentifikācijas iestatījumus
auths.activated=Autentifikācija ir aktivizēta
auths.new_success=Jauna autentifikācija '%s' tika veiksmīgi pievienota.
@@ -1284,7 +1287,6 @@ notices.delete_success=Sistēmas paziņojumi tika veiksmīgi izdzēstas.
[action]
create_repo=izveidoja repozitoriju <a href="%s">%s</a>
fork_repo=atdalīja repozitoriju uz <a href="%s">%s</a>
rename_repo=pārsauca repozitoriju no <code>%[1]s</code> uz <a href="%[2]s">%[3]s</a>
commit_repo=veica izmaiņu nosūtīšanu atzaram <a href="%[1]s/src/%[2]s">%[3]s</a> repozitorijā <a href="%[1]s">%[4]s</a>
compare_commits=Salīdzināt šīs %d revīzijas
@@ -1301,6 +1303,10 @@ create_branch=izveidoja jaunu atzaru <a href="%[1]s/src/%[2]s">%[3]s</a> repozit
delete_branch=izdzēsa atzaru <code>%[2]s</code> repozitorijā <a href="%[1]s">%[3]s</a>
push_tag=pievienoja tagu <a href="%s/src/%s">%[2]s</a> repozitorijam <a href="%[1]s">%[3]s</a>
delete_tag=izdzēsa tagu <code>%[2]s</code> repozitorijā <a href="%[1]s">%[3]s</a>
fork_repo=atdalīja repozitoriju uz <a href="%s">%s</a>
mirror_sync_push=synced commits to <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a> from mirror
mirror_sync_create=synced new reference <a href="%s/src/%s">%[2]s</a> to <a href="%[1]s">%[3]s</a> from mirror
mirror_sync_delete=synced and deleted reference <code>%[2]s</code> at <a href="%[1]s">%[3]s</a> from mirror
[tool]
ago=atpakaļ

View File

@@ -151,6 +151,8 @@ register_hepler_msg=Heeft u al een account? Meld u nu aan!
social_register_hepler_msg=Heeft u al een account? Koppel nu!
disable_register_prompt=Sorry, registratie is uitgeschakeld. Neem contact op met de beheerder van deze site.
disable_register_mail=Sorry, bevestiging van registratie per e-mail is uitgeschakeld.
auth_source=Authentication Source
local=Local
remember_me=Onthoud mij
forgot_password=Wachtwoord vergeten
forget_password=Wachtwoord vergeten?
@@ -229,6 +231,7 @@ org_name_been_taken=Organisatie naam is al in gebruik.
team_name_been_taken=Team naam is al in gebruik.
email_been_used=e-mailadres is al in gebruik.
username_password_incorrect=Gebruikersnaam of wachtwoord is niet correct.
auth_source_mismatch=The authentication source selected is not associated with the user.
enterred_invalid_repo_name=U heeft een onjuiste repositorie naam ingevoerd.
enterred_invalid_owner_name=U heeft een onjuiste eigenaar ingevoerd.
enterred_invalid_password=U heeft een onjuiste wachtwoord ingevoerd.
@@ -348,6 +351,7 @@ two_factor_or_enter_secret=Or enter the secret:
two_factor_then_enter_passcode=Then enter passcode:
two_factor_verify=Verifiëren
two_factor_invalid_passcode=The passcode you entered is not valid, please try again!
two_factor_reused_passcode=The passcode you entered has already been used, please try another one!
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_recovery_codes_title=Two-factor Authentication Recovery Codes
@@ -488,10 +492,10 @@ editor.edit_this_file=Bestand aanpassen
editor.must_be_on_a_branch=Je moet in een branch zijn om aanpassingen te maken of voor te stellen
editor.fork_before_edit=Je moet deze repository eerst vorken om dit bestand aan te kunnen passen
editor.delete_this_file=Verwijder dit bestand
editor.must_have_write_access=You must have write access to make or propose changes to this file
editor.must_have_write_access=U moet schrijftoegang hebben om aanpassingen te maken of voor te stellen in dit bestand
editor.file_delete_success=Bestand '%s' is succesvol verwijderd!
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=Om een map toe te voegen, begin met typen en druk op /. Om een map te verwijderen, ga naar het begin van het veld en druk op backspace.
editor.or=of
editor.cancel_lower=annuleren
editor.commit_changes=Wijzigingen toepassen
@@ -499,7 +503,7 @@ editor.add_tmpl='%s/<filename>' toevoegen
editor.add='%s' toevoegen
editor.update='%s' updaten
editor.delete='%s' verwijderen
editor.commit_message_desc=Add an optional extended description...
editor.commit_message_desc=Voeg een optionele beschrijving toe...
editor.commit_directly_to_this_branch=Commit directly to the <strong class="branch-name">%s</strong> branch.
editor.create_new_branch=Create a <strong>new branch</strong> for this commit and start a pull request.
editor.new_branch_name_desc=Naam nieuwe aftakking...
@@ -819,10 +823,10 @@ settings.event_push=Push
settings.event_push_desc=Git push naar een repository
settings.event_issues=Issues
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_desc=Issue comment created, edited, or deleted.
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_issue_comment=Issue Comment
settings.event_issue_comment_desc=Issue comment created, edited, or deleted.
settings.event_release=Release
settings.event_release_desc=Release published in a repository.
settings.active=Actief
@@ -1087,7 +1091,7 @@ repos.stars=Sterren
repos.issues=Kwesties
repos.size=Size
auths.auth_manage_panel=Authenticatie-beheer paneel
auths.auth_sources=Authentication Sources
auths.new=Nieuwe bron toevoegen
auths.name=Naam
auths.type=Type
@@ -1128,7 +1132,6 @@ auths.enable_tls=Activeer TLS-encryptie
auths.skip_tls_verify=TLS-verificatie overslaan
auths.pam_service_name=PAM servicenaam
auths.enable_auto_register=Activeer automatische registratie
auths.tips=Tips
auths.edit=Verificatie-instelling bewerken
auths.activated=Deze autorisatiemethode is geactiveerd
auths.new_success=Nieuwe authenticatie '%s' werd toegevoegd.
@@ -1284,7 +1287,6 @@ notices.delete_success=System notices have been deleted successfully.
[action]
create_repo=repositorie aangemaakt in <a href="%s">%s</a>
fork_repo=forked a repository to <a href="%s">%s</a>
rename_repo=hernoemde repository van <code>%[1]s</code> naar <a href="%[2]s">%[3]s</a>
commit_repo=push update naar <a href="%[1]s/src/%[2]s">%[3]s</a> in <a href="%[1]s">%[4]s</a>
compare_commits=Toon vergelijking voor deze %d commits
@@ -1301,6 +1303,10 @@ create_branch=created new branch <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href=
delete_branch=deleted branch <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
push_tag=geduwd label <a href="%s/src/%s"> %[2]s</a> naar <a href="%[1]s"> %[3]s</a>
delete_tag=deleted tag <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
fork_repo=forked a repository to <a href="%s">%s</a>
mirror_sync_push=synced commits to <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a> from mirror
mirror_sync_create=synced new reference <a href="%s/src/%s">%[2]s</a> to <a href="%[1]s">%[3]s</a> from mirror
mirror_sync_delete=synced and deleted reference <code>%[2]s</code> at <a href="%[1]s">%[3]s</a> from mirror
[tool]
ago=geleden

View File

@@ -151,6 +151,8 @@ register_hepler_msg=Masz już konto? Zaloguj się teraz!
social_register_hepler_msg=Masz już konto? Powiąż je teraz!
disable_register_prompt=Przepraszamy rejestracja została wyłączona. Prosimy o kontakt z administratorem serwisu.
disable_register_mail=Przepraszamy, potwierdzenia rejestracji zostały wyłączone przez administratora.
auth_source=Authentication Source
local=Local
remember_me=Zapamiętaj mnie
forgot_password=Zapomniałem hasła
forget_password=Zapomniałeś hasła?
@@ -229,6 +231,7 @@ org_name_been_taken=Nazwa organizacji jest już zajęta.
team_name_been_taken=Nazwa zespołu jest już zajęta.
email_been_used=Adres e-mail jest już zarejestrowany.
username_password_incorrect=Nazwa użytkownika lub hasło nie jest prawidłowe.
auth_source_mismatch=The authentication source selected is not associated with the user.
enterred_invalid_repo_name=Upewnij się, że wprowadzona nazwa repozytorium jest poprawna.
enterred_invalid_owner_name=Upewnij się, że nazwa właściciela repozytorium jest poprawna.
enterred_invalid_password=Proszę upewnij się, że wprowadzono hasło jest poprawne.
@@ -348,6 +351,7 @@ two_factor_or_enter_secret=Lub wprowadź sekret:
two_factor_then_enter_passcode=Następnie wprowadź kod dostępu:
two_factor_verify=Weryfikuj
two_factor_invalid_passcode=Wprowadzony kod nie jest prawidłowy, spróbuj ponownie!
two_factor_reused_passcode=The passcode you entered has already been used, please try another one!
two_factor_enable_error=Włączenie dwuetapowego uwierzytelniania nie powiodło się: %v
two_factor_enable_success=Uwierzytelnianie dwuetapowe Twojego konta zostało włączone pomyślnie!
two_factor_recovery_codes_title=Kody odzyskiwania uwierzytelniania dwuetapowego
@@ -761,7 +765,7 @@ settings.wiki_deletion_success=Dane wiki zostały usunięte.
settings.delete=Usuń to repozytorium
settings.delete_desc=Po usunięciu repozytorium nie ma odwrotu. Upewnij się, że tego chcesz.
settings.delete_notices_1=- Ta operacja <strong>NIE MOŻE</strong> zostać cofnięta.
settings.delete_notices_2=- This operation will permanently delete everything in this repository, including Git data, issues, comments and collaborator access.
settings.delete_notices_2=- Ta operacja trwale usunie wszystko z tego repozytorium, w tym dane Git, problemy, komentarze i dostęp dla współpracowników.
settings.delete_notices_fork_1=Wszystkie forki staną się niezależne po usunięciu.
settings.deletion_success=Repozytorium zostało pomyślnie usunięte!
settings.update_settings_success=Opcje repozytorium zostały pomyślnie zaktualizowane.
@@ -819,10 +823,10 @@ settings.event_push=Wypchnięcie
settings.event_push_desc=Wypchnięcie (push) do repozytorium Git
settings.event_issues=Zagadnienia
settings.event_issues_desc=Zagadnienie otwarte, zamknięte, ponownie otwarte, wyedytowane, przypisane, nieprzypisane, etykieta uaktualniona, etykieta wyczyszczona, kamień milowy, kamień milowy usunięty.
settings.event_issue_comment=Komentarz zagadnienia
settings.event_issue_comment_desc=Komentarz zagadnienia utworzony, wyedytowany lub usunięty.
settings.event_pull_request=Pull Request
settings.event_pull_request_desc=Pull request otwarty, zamknięty, ponownie otwarty, edytowany, przypisany, nieprzypisany, etykieta zaktualizowana, etykieta wyczyszczona, kamień milowy, kamień milowy wyczyszczony; lub zsynchronizowany.
settings.event_issue_comment=Komentarz zagadnienia
settings.event_issue_comment_desc=Komentarz zagadnienia utworzony, wyedytowany lub usunięty.
settings.event_release=Wydanie
settings.event_release_desc=Wydanie opublikowane w repozytorium.
settings.active=Aktywny
@@ -1087,7 +1091,7 @@ repos.stars=Polubienia
repos.issues=Problemy
repos.size=Rozmiar
auths.auth_manage_panel=Panel zarządzania uwierzytelnianiem
auths.auth_sources=Authentication Sources
auths.new=Dodaj nowe źródło
auths.name=Nazwa
auths.type=Typ
@@ -1128,7 +1132,6 @@ auths.enable_tls=Włącz szyfrowanie TLS
auths.skip_tls_verify=Pomiń weryfikację protokołu TLS
auths.pam_service_name=Nazwa usługi PAM
auths.enable_auto_register=Włącz automatyczną rejestrację
auths.tips=Wskazówki
auths.edit=Edytuj ustawienia uwierzytelniania
auths.activated=To uwierzytelnienie zostało aktywowane
auths.new_success=Pomyślnie dodano nowe uwierzytelnianie '%s'.
@@ -1211,7 +1214,7 @@ config.skip_tls_verify=Pomiń weryfikację protokołu TLS
config.mailer_config=Konfiguracja poczty
config.mailer_enabled=Aktywne
config.mailer_disable_helo=Wyłącz HELO
config.mailer_subject_prefix=Subject Prefix
config.mailer_subject_prefix=Prefiks tematu
config.mailer_host=Host
config.mailer_user=Użytkownik
config.send_test_mail=Wyślij email testowy
@@ -1284,7 +1287,6 @@ notices.delete_success=Powiadomienia systemowe zostały pomyślnie usunięte.
[action]
create_repo=tworzy repozytorium <a href="%s">%s</a>
fork_repo=rozwidlone repozytorium do <a href="%s"> %s</a>
rename_repo=zmienia nazwę repozytorium <code>%[1]s</code> na <a href="%[2]s">%[3]s</a>
commit_repo=wypycha do <a href="%[1]s/src/%[2]s">%[3]s</a> w <a href="%[1]s">%[4]s</a>
compare_commits=Zobacz porównanie tych %d commitów
@@ -1301,6 +1303,10 @@ create_branch=stworzył nową gałąź <a href="%[1]s/src/%[2]s">%[3]s</a> at <a
delete_branch=usunął gałąź <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
push_tag=taguje <a href="%s/src/%s">%[2]s</a> w <a href="%[1]s">%[3]s</a>
delete_tag=usunięty tag <code>%[2]s</code> % <a href="%[1]s">[3]s</a>
fork_repo=rozwidlone repozytorium do <a href="%s"> %s</a>
mirror_sync_push=synced commits to <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a> from mirror
mirror_sync_create=synced new reference <a href="%s/src/%s">%[2]s</a> to <a href="%[1]s">%[3]s</a> from mirror
mirror_sync_delete=synced and deleted reference <code>%[2]s</code> at <a href="%[1]s">%[3]s</a> from mirror
[tool]
ago=temu

View File

@@ -151,6 +151,8 @@ register_hepler_msg=Já tem uma conta? Entre agora!
social_register_hepler_msg=Já tem uma conta? Junte-se agora!
disable_register_prompt=Desculpe, novos registros estão desabilitados. Por favor entre em contato com o administrador do site.
disable_register_mail=Desculpe, a confirmação de registro por e-mail foi desabilitada.
auth_source=Authentication Source
local=Local
remember_me=Lembrar de mim
forgot_password=Esqueci a senha
forget_password=Esqueceu a senha?
@@ -229,6 +231,7 @@ org_name_been_taken=Nome da organização já foi tomado.
team_name_been_taken=Nome da equipe já existe.
email_been_used=Endereço de e-mail já foi usado.
username_password_incorrect=Usuário ou senha incorretos.
auth_source_mismatch=The authentication source selected is not associated with the user.
enterred_invalid_repo_name=Por favor certifique-se que informou o nome do repositório corretamente.
enterred_invalid_owner_name=Por favor, verifique se o nome do proprietário está correto.
enterred_invalid_password=Por favor, verifique se a senha que você digitou está correta.
@@ -348,6 +351,7 @@ two_factor_or_enter_secret=Ou informe o segredo:
two_factor_then_enter_passcode=Em seguida digite a senha:
two_factor_verify=Verificar
two_factor_invalid_passcode=A senha inserida é inválida. Tente novamente!
two_factor_reused_passcode=The passcode you entered has already been used, please try another one!
two_factor_enable_error=Falha ao ativar a autenticação de dois fatores: %v
two_factor_enable_success=A autenticação de dois fatores foi ativada para a sua conta com sucesso!
two_factor_recovery_codes_title=Códigos de recup. p/ autenticação de dois fatores
@@ -740,7 +744,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.pulls_desc=Habilitar Pull Requests para aceitar contribuições públicas
settings.pulls.ignore_whitespace=Ignorar alterações em espaço em branco
settings.pulls.allow_rebase_merge=Allow use rebase to merge commits
settings.pulls.allow_rebase_merge=Permitir rebase para commits via merge
settings.danger_zone=Zona de perigo
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.
@@ -761,7 +765,7 @@ settings.wiki_deletion_success=Dados de wiki do repositório foram deletados com
settings.delete=Deletar este repositório
settings.delete_desc=Uma vez que você remova um repositório, não tem volta. Por favor, tenha certeza.
settings.delete_notices_1=-Esta operação <strong>NÃO PODERÁ</strong> ser desfeita.
settings.delete_notices_2=- This operation will permanently delete everything in this repository, including Git data, issues, comments and collaborator access.
settings.delete_notices_2=- Esta operação irá apagar permanentemente tudo neste repositório, incluindo commits, issues, comentários, o wiki e colaboradores.
settings.delete_notices_fork_1=-Todos os forks se tornarão independentes após a exclusão.
settings.deletion_success=Repositório excluído com sucesso!
settings.update_settings_success=As opções do repositório foram atualizadas com sucesso.
@@ -819,10 +823,10 @@ settings.event_push=Push
settings.event_push_desc=Git push para o repositório
settings.event_issues=Problemas
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=Comentário do Problema
settings.event_issue_comment_desc=Comentário do problema criado, editado ou excluído.
settings.event_pull_request=Pull Request
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_issue_comment=Comentário do Problema
settings.event_issue_comment_desc=Comentário do problema criado, editado ou excluído.
settings.event_release=Lançamento
settings.event_release_desc=Lançamento publicado em um repositório.
settings.active=Ativo
@@ -1087,7 +1091,7 @@ repos.stars=Favoritos
repos.issues=Issues
repos.size=Tamanho
auths.auth_manage_panel=Painel de gerenciamento da autenticação
auths.auth_sources=Authentication Sources
auths.new=Adicionar nova fonte
auths.name=Nome
auths.type=Tipo
@@ -1100,7 +1104,7 @@ auths.domain=Domínio
auths.host=Host
auths.port=Porta
auths.bind_dn=Vincular DN
auths.bind_dn_helper=You can use '%s' as placeholder for username, e.g. DOM\%s
auths.bind_dn_helper=Você pode usar '%s' como placeholderpara o nome de usuário, por exemplo, DOM\%s
auths.bind_password=Vincular senha
auths.bind_password_helper=Atenção: Esta senha é armazenada em texto plano. Não use uma conta com muitos privilégios.
auths.user_base=Base de pesquisa do usuário
@@ -1128,7 +1132,6 @@ auths.enable_tls=Habilitar Criptografia TLS
auths.skip_tls_verify=Ignorar verificação de TLS
auths.pam_service_name=Nome de Serviço PAM
auths.enable_auto_register=Habilitar Registro Automático
auths.tips=Dicas
auths.edit=Editar a configuração de autenticação
auths.activated=Esta autenticação foi ativada
auths.new_success=Nova autenticação '%s' foi adicionada com sucesso.
@@ -1141,7 +1144,7 @@ auths.still_in_used=Esta autenticação ainda é usada por alguns usuários. Por
auths.deletion_success=Autenticação excluída com sucesso!
auths.login_source_exist=A fonte de login '%s" já existe.
config.not_set=(not set)
config.not_set=(não definido)
config.server_config=Configuração do servidor
config.app_name=Nome do aplicativo
config.app_ver=Versão do aplicativo
@@ -1211,7 +1214,7 @@ config.skip_tls_verify=Pular verificação de TLS
config.mailer_config=Configuração de envio de e-mail
config.mailer_enabled=Habilitado
config.mailer_disable_helo=Desabilitar HELO
config.mailer_subject_prefix=Subject Prefix
config.mailer_subject_prefix=Prefixo do Assunto
config.mailer_host=Host
config.mailer_user=Usuário
config.send_test_mail=Enviar email de teste
@@ -1284,7 +1287,6 @@ notices.delete_success=Avisos do sistema foram excluídos com sucesso.
[action]
create_repo=repositório criado <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>
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
@@ -1300,7 +1302,11 @@ merge_pull_request=`mesclou o pull request <a href="%s/pulls/%s">%s#%[2]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=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>
delete_tag=deleted tag <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
delete_tag=excluída tag <code>%[2]s</code> em <a href="%[1]s">%[3]s</a>
fork_repo=repositório criado <a href="%s"> %s</a>
mirror_sync_push=synced commits to <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a> from mirror
mirror_sync_create=synced new reference <a href="%s/src/%s">%[2]s</a> to <a href="%[1]s">%[3]s</a> from mirror
mirror_sync_delete=synced and deleted reference <code>%[2]s</code> at <a href="%[1]s">%[3]s</a> from mirror
[tool]
ago=atrás

View File

@@ -151,6 +151,8 @@ register_hepler_msg=Уже есть аккаунт? Авторизуйтесь!
social_register_hepler_msg=Уже есть учетная запись? Свяжите ее с соцсетью!
disable_register_prompt=Извините, возможность регистрации отключена. Пожалуйста, свяжитесь с администратором сайта.
disable_register_mail=К сожалению подтверждение регистрации по почте отключено.
auth_source=Authentication Source
local=Local
remember_me=Запомнить меня
forgot_password=Забыли пароль
forget_password=Забыли пароль?
@@ -229,6 +231,7 @@ org_name_been_taken=Название организации занято.
team_name_been_taken=Название команды занято.
email_been_used=Адрес электронной почты уже используется.
username_password_incorrect=Имя пользователя или пароль не правильный.
auth_source_mismatch=The authentication source selected is not associated with the user.
enterred_invalid_repo_name=Пожалуйста, убедитесь, что введено правильное имя репозитория.
enterred_invalid_owner_name=Убедитесь, что введенное имя владельца верное.
enterred_invalid_password=Убедитесь, что введенный пароль верен.
@@ -348,6 +351,7 @@ two_factor_or_enter_secret=Или введите кодовое слово:
two_factor_then_enter_passcode=Затем введите пароль:
two_factor_verify=Проверить
two_factor_invalid_passcode=Введенные пароли не совпадают; пожалуйста, повторите попытку!
two_factor_reused_passcode=The passcode you entered has already been used, please try another one!
two_factor_enable_error=Ошибка активация двухфакторной аутентификации: %v
two_factor_enable_success=Двухфакторная аутентификация активирована для вашей учетной записи!
two_factor_recovery_codes_title=Коды восстановления для двухфакторная аутентификации
@@ -761,7 +765,7 @@ settings.wiki_deletion_success=Данные Вики успешно стерты
settings.delete=Удалить этот репозиторий
settings.delete_desc=Будьте внимательны! Как только вы удалите репозиторий — пути назад не будет.
settings.delete_notices_1=- Эта операция <strong>НЕ МОЖЕТ</strong> быть отменена.
settings.delete_notices_2=- This operation will permanently delete everything in this repository, including Git data, issues, comments and collaborator access.
settings.delete_notices_2=- Эта операция удалит все в этом репозитории, включая данные Git, задачи, комментарии и доступы для соавторов.
settings.delete_notices_fork_1=- Все отвлетвления станут независимыми после удаления.
settings.deletion_success=Репозиторий был успешно удалён!
settings.update_settings_success=Настройки репозитория обновлены успешно.
@@ -819,10 +823,10 @@ settings.event_push=Push
settings.event_push_desc=Push в репозиторий
settings.event_issues=Вопросы
settings.event_issues_desc=Задача изменена
settings.event_issue_comment=Комментарии в задаче
settings.event_issue_comment_desc=Комментарий создан, изменен или удален.
settings.event_pull_request=Запросы на слияние
settings.event_pull_request_desc=Запрос слияния открыт, закрыт, переоткрыт, изменён, назначен, снят, метка обновлена, метка убрана, добавлен промежуточный этап, убран промежуточный этап или синхронизирован.
settings.event_issue_comment=Комментарии в задаче
settings.event_issue_comment_desc=Комментарий создан, изменен или удален.
settings.event_release=Релиз
settings.event_release_desc=Релиз опубликован в репозитории.
settings.active=Активен
@@ -1087,7 +1091,7 @@ repos.stars=В избранном
repos.issues=Задачи
repos.size=Размер
auths.auth_manage_panel=Панель управления аутнентификациями
auths.auth_sources=Authentication Sources
auths.new=Добавить новый источник
auths.name=Имя
auths.type=Тип
@@ -1128,7 +1132,6 @@ auths.enable_tls=Включение шифрования TLS
auths.skip_tls_verify=Пропустить проверку TLS
auths.pam_service_name=Имя службы PAM
auths.enable_auto_register=Включить автоматическую регистрацию
auths.tips=Советы
auths.edit=Изменить параметры канала аутентификации
auths.activated=Эта аутентификация активирована
auths.new_success=Новый канал аутентификации '%s' успешно создан.
@@ -1163,7 +1166,7 @@ config.ssh_domain=Домен
config.ssh_port=Порт
config.ssh_listen_port=Прослушиваемый порт
config.ssh_root_path=Корневой путь
config.ssh_rewrite_authorized_keys_at_start=Rewrite authorized_keys At Start
config.ssh_rewrite_authorized_keys_at_start=Перезаписать authorized_keys при запуске
config.ssh_key_test_path=Путь к тестовому ключу
config.ssh_keygen_path=Путь к генератору ключей ('ssh-keygen')
config.ssh_minimum_key_size_check=Минимальный размер ключа проверки
@@ -1211,7 +1214,7 @@ config.skip_tls_verify=Пропустить проверку TLS
config.mailer_config=Настройки почты
config.mailer_enabled=Включено
config.mailer_disable_helo=Отключить HELO
config.mailer_subject_prefix=Subject Prefix
config.mailer_subject_prefix=Префикс темы письма
config.mailer_host=Сервер
config.mailer_user=Пользователь
config.send_test_mail=Отправить тестовое письмо
@@ -1284,7 +1287,6 @@ notices.delete_success=Системное уведомление успешно
[action]
create_repo=создал(а) репозиторий <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>
commit_repo=запушил(а) <a href="%[1]s/src/%[2]s">%[3]s</a> в <a href="%[1]s">%[4]s</a>
compare_commits=Просмотр сравнение для этих %d коммитов
@@ -1301,6 +1303,10 @@ create_branch=создал новую ветку <a href="%[1]s/src/%[2]s">%[3]s
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>
delete_tag=удален тег <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
fork_repo=склонировать репозиторий в <a href="%s">%s</a>
mirror_sync_push=synced commits to <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a> from mirror
mirror_sync_create=synced new reference <a href="%s/src/%s">%[2]s</a> to <a href="%[1]s">%[3]s</a> from mirror
mirror_sync_delete=synced and deleted reference <code>%[2]s</code> at <a href="%[1]s">%[3]s</a> from mirror
[tool]
ago=назад

View File

@@ -151,6 +151,8 @@ register_hepler_msg=Máte už účet? Prihláste sa teraz!
social_register_hepler_msg=Máte už účet? Bindovať teraz!
disable_register_prompt=Ospravedlňujeme sa, ale registrácia bola vypnutá. Obráťte sa na administrátora stránky.
disable_register_mail=Ospravedlňujeme sa, potvrdenie registračného e-mailu bolo vypnuté.
auth_source=Authentication Source
local=Local
remember_me=Zapamätať prihlásenie
forgot_password=Zabudnuté heslo
forget_password=Zabudli ste heslo?
@@ -229,6 +231,7 @@ org_name_been_taken=Názov organizácie už bol použitý.
team_name_been_taken=Názov tímu už bol použitý.
email_been_used=E-mailová adresa už bola použitá.
username_password_incorrect=Používateľské meno alebo heslo nie je správne.
auth_source_mismatch=The authentication source selected is not associated with the user.
enterred_invalid_repo_name=Uistite sa prosím, že názov repozitára, ktorý ste zadali je správny.
enterred_invalid_owner_name=Uistite sa prosím, že meno vlastníka, ktoré ste zadali je správne.
enterred_invalid_password=Uistite sa prosím, že heslo ktoré ste zadali je správne.
@@ -348,6 +351,7 @@ two_factor_or_enter_secret=Alebo zadajte tajný kód:
two_factor_then_enter_passcode=Potom zadajte prístupový kód:
two_factor_verify=Overiť
two_factor_invalid_passcode=Zadaný prístupový kód nie je platný, prosím, skúste to znova!
two_factor_reused_passcode=The passcode you entered has already been used, please try another one!
two_factor_enable_error=Povolenie dvojfaktorového overenia zlyhalo: %v
two_factor_enable_success=Dvojfaktorové overenie bolo pre Váš účet povolené!
two_factor_recovery_codes_title=Obnovovacie kódy dvojfaktorového overenia
@@ -819,10 +823,10 @@ settings.event_push=Push
settings.event_push_desc=Git push do repozitára
settings.event_issues=Úlohy
settings.event_issues_desc=Úloha, ktorá je otvorená, uzavretá, znovuotvorená, zmenená, priradená, nepriradená, má zmenený štítok, odstránený štítok, má priradený milník, nemajúca priradený milník.
settings.event_issue_comment=Komentár k úlohe
settings.event_issue_comment_desc=Komentár k úlohe vytvorený, upravený alebo odstránený.
settings.event_pull_request=Pull request
settings.event_pull_request_desc=Požiadavka na stiahnutie otvorená, uzavrená, znovuotvorená, zmenená, priradená, nepriradená, zmenený štítok, odstránený štítok, má nastavený štítok, zrušenie nastaveného štítku alebo synchronizovaná.
settings.event_issue_comment=Komentár k úlohe
settings.event_issue_comment_desc=Komentár k úlohe vytvorený, upravený alebo odstránený.
settings.event_release=Vydanie
settings.event_release_desc=Vydanie vystavené v repozitári.
settings.active=Aktívny
@@ -1087,7 +1091,7 @@ repos.stars=Hviezdy
repos.issues=Issues
repos.size=Veľkosť
auths.auth_manage_panel=Panel správy spôsobu overovania
auths.auth_sources=Authentication Sources
auths.new=Pridať nový zdroj
auths.name=Názov
auths.type=Typ
@@ -1128,7 +1132,6 @@ auths.enable_tls=Povoliť šifrovanie TLS
auths.skip_tls_verify=Preskočiť overenie TLS
auths.pam_service_name=Názov služby PAM
auths.enable_auto_register=Povoliť auto registráciu
auths.tips=Tipy
auths.edit=Upraviť nastavenie overovania
auths.activated=Tento spôsob overovania je aktívny
auths.new_success=Nový spôsob overovania '%s' bol pridaný.
@@ -1284,7 +1287,6 @@ notices.delete_success=Systémové upozornenia boli odstránené.
[action]
create_repo=vytvoril repozitár <a href="%s">%s</a>
fork_repo=rozštiepil repozitár do <a href="%s">%s</a>
rename_repo=premenoval repozitár z <code>%[1]s</code> na <a href="%[2]s">%[3]s</a>
commit_repo=odoslal do vetvy <a href="%[1]s/src/%[2]s">%[3]s</a> v repositáři <a href="%[1]s">%[4]s</a>
compare_commits=Zobraziť porovnanie týchto %d commitov
@@ -1301,6 +1303,10 @@ create_branch=vytvoril novú vetvu <a href="%[1]s/src/%[2]s">%[3]s</a> v <a href
delete_branch=odstránil vetvu <code>%[2]s</code> v <a href="%[1]s">%[3]s</a>
push_tag=odoslal značku <a href="%s/src/%s">%[2]s</a> do repozitára <a href="%[1]s">%[3]s</a>
delete_tag=odstránená značka <code>%[2]s</code> v <a href="%[1]s">%[3]s</a>
fork_repo=rozštiepil repozitár do <a href="%s">%s</a>
mirror_sync_push=synced commits to <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a> from mirror
mirror_sync_create=synced new reference <a href="%s/src/%s">%[2]s</a> to <a href="%[1]s">%[3]s</a> from mirror
mirror_sync_delete=synced and deleted reference <code>%[2]s</code> at <a href="%[1]s">%[3]s</a> from mirror
[tool]
ago=pred

View File

@@ -151,6 +151,8 @@ register_hepler_msg=Већ имате налог? Пријавите се!
social_register_hepler_msg=Већ имате налог? Повежите се преко социалне мреже!
disable_register_prompt=Извините регистрација је онемогућено. Молимо вас, контактирајте администратора.
disable_register_mail=Извините, потврда путем поште је онемогућено.
auth_source=Authentication Source
local=Local
remember_me=Запамти ме
forgot_password=Заборављена лозинка
forget_password=Заборавили сте лозинку?
@@ -229,6 +231,7 @@ org_name_been_taken=Име организације је већ заузето.
team_name_been_taken=Име екипе је већ заузето.
email_been_used=Адреса е-поште се већ користи.
username_password_incorrect=Корисничко име или лозинка није исправна.
auth_source_mismatch=The authentication source selected is not associated with the user.
enterred_invalid_repo_name=Молимо вас, проверите да је име спремишта тачно унешено.
enterred_invalid_owner_name=Молимо вас проверите да сте добро унели име власника.
enterred_invalid_password=Молимо вас проверите да сте добро унели лозинку.
@@ -348,6 +351,7 @@ two_factor_or_enter_secret=Или унесите тајну шифру:
two_factor_then_enter_passcode=Па унесите шифру:
two_factor_verify=Проверити
two_factor_invalid_passcode=Шифрa коју сте унели није важећа, молим бас пробајте поново!
two_factor_reused_passcode=The passcode you entered has already been used, please try another one!
two_factor_enable_error=Активација двоструке аутентификације није успела: %v
two_factor_enable_success=Двострука аутентификација је успешно активирана за ваш налог!
two_factor_recovery_codes_title=Шифра за опоравак за двоструку аутентификацију
@@ -761,7 +765,7 @@ settings.wiki_deletion_success=Вики подаци за ово спремиш
settings.delete=Уклони ово спремиште
settings.delete_desc=Нећете мочи повратити спремиште после брисања. Молимо вас, будите сигурни.
settings.delete_notices_1=- Ова операција <strong>НЕЋЕ МОЧИ</strong> бити укинута.
settings.delete_notices_2=- This operation will permanently delete everything in this repository, including Git data, issues, comments and collaborator access.
settings.delete_notices_2=- Ова операција ће трајно избрисати све из овог спремишта, укључујући податке Git, задатке, коментаре и приступ сарадницима.
settings.delete_notices_fork_1=- Сви огранци ће постати независни после уклањање.
settings.deletion_success=Спремиште је успешно избрисано!
settings.update_settings_success=Подешавања спремишта су успешно ажурирани.
@@ -819,10 +823,10 @@ settings.event_push=Push
settings.event_push_desc=Git push у спремиште
settings.event_issues=Задаци
settings.event_issues_desc=Проблем је отворен, затворен, поново отворен, уређен, додељен, не додељен, етикета је ажурирана, етикета је очишћена, помјерена или демилестирана.
settings.event_issue_comment=Коментар проблема
settings.event_issue_comment_desc=Коментар проблема креиран, уређиван или избришен.
settings.event_pull_request=Захтев за спајање
settings.event_pull_request_desc=Захтев за спајање отворенo, затворено, додељено, недодељенo, ознака ажурирана, ознака избрисана, створена прекретница, избрисана прекретница, или синхронизовано.
settings.event_issue_comment=Коментар проблема
settings.event_issue_comment_desc=Коментар проблема креиран, уређиван или избришен.
settings.event_release=Издање
settings.event_release_desc=Издање објављено на спремишту.
settings.active=Активно
@@ -1087,7 +1091,7 @@ repos.stars=Фаворити
repos.issues=Задаци
repos.size=Величина
auths.auth_manage_panel=Контролна панела аутентикације
auths.auth_sources=Authentication Sources
auths.new=Додај нови извор
auths.name=Име
auths.type=Тип
@@ -1128,7 +1132,6 @@ auths.enable_tls=Омогући TLS шифровање
auths.skip_tls_verify=Прескочи TLS проверу
auths.pam_service_name=Назив PAM сервиса
auths.enable_auto_register=Омогући аутоматску регистрацију
auths.tips=Савети
auths.edit=Промените подешавања канала аутентикације
auths.activated=Овај канал аутентикације је активан
auths.new_success=Нови канал аутентикације '%s' је успешно креиран.
@@ -1163,7 +1166,7 @@ config.ssh_domain=Домен
config.ssh_port=Порт
config.ssh_listen_port=Порт за слушање
config.ssh_root_path=Основни пут
config.ssh_rewrite_authorized_keys_at_start=Rewrite authorized_keys At Start
config.ssh_rewrite_authorized_keys_at_start=Переписати authorized_keys на почeтку
config.ssh_key_test_path=Пут до кључу
config.ssh_keygen_path=Пут до генератор кључева ('ssh-keygen')
config.ssh_minimum_key_size_check=Минимална величина провера кључа
@@ -1211,7 +1214,7 @@ config.skip_tls_verify=Прескочи TLS проверу
config.mailer_config=Подешавања поште
config.mailer_enabled=Омогућено
config.mailer_disable_helo=Онемогући HELO
config.mailer_subject_prefix=Subject Prefix
config.mailer_subject_prefix=Префикс Предмета
config.mailer_host=Хост
config.mailer_user=Корисник
config.send_test_mail=Пошаљи тест поруку
@@ -1284,7 +1287,6 @@ notices.delete_success=Системска обавештавања су успе
[action]
create_repo=креира спремиште <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>
commit_repo=извршује push на <a href="%[1]s/src/%[2]s">%[3]s</a> у <a href="%[1]s">%[4]s</a>
compare_commits=Поређење ових %d комита
@@ -1301,6 +1303,10 @@ create_branch=створи нову филијалy <a href="%[1]s/src/%[2]s">%[
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>
delete_tag=избрисана ознака <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
fork_repo=отворио спремиште <a href="%s">%s</a>
mirror_sync_push=synced commits to <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a> from mirror
mirror_sync_create=synced new reference <a href="%s/src/%s">%[2]s</a> to <a href="%[1]s">%[3]s</a> from mirror
mirror_sync_delete=synced and deleted reference <code>%[2]s</code> at <a href="%[1]s">%[3]s</a> from mirror
[tool]
ago=пре

View File

@@ -151,6 +151,8 @@ register_hepler_msg=Har du redan ett konto? Logga in nu!
social_register_hepler_msg=Har du redan ett konto? Anslut det nu!
disable_register_prompt=Tyvärr är användarregistreringen inaktiverad. Vänligen kontakta din administratör.
disable_register_mail=Tyvärr så är registreringsbekräftelemailutskick inaktiverat.
auth_source=Authentication Source
local=Local
remember_me=Kom ihåg mig
forgot_password=Glömt lösenord
forget_password=Glömt lösenordet?
@@ -229,6 +231,7 @@ org_name_been_taken=Organisationsnamnet har redan används.
team_name_been_taken=Team namn är redan använt.
email_been_used=E-postadressen har redan använts.
username_password_incorrect=Användarnamnet eller lösenordet är inte korrekt.
auth_source_mismatch=The authentication source selected is not associated with the user.
enterred_invalid_repo_name=Se till att utvecklingskatalogen som du angav är rätt.
enterred_invalid_owner_name=Kontrollera att ägarnamnet som du angav är rätt.
enterred_invalid_password=Se till att den som lösenord du angett är rätt.
@@ -348,6 +351,7 @@ two_factor_or_enter_secret=Or enter the secret:
two_factor_then_enter_passcode=Ange sedan lösenordet:
two_factor_verify=Verifiera
two_factor_invalid_passcode=The passcode you entered is not valid, please try again!
two_factor_reused_passcode=The passcode you entered has already been used, please try another one!
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_recovery_codes_title=Two-factor Authentication Recovery Codes
@@ -819,10 +823,10 @@ settings.event_push=Pusha
settings.event_push_desc=Uppladdning till ett förråd
settings.event_issues=Issues
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_desc=Issue comment created, edited, or deleted.
settings.event_pull_request=Hämtningsbegäran
settings.event_pull_request_desc=Pull request opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, demilestoned, or synchronized.
settings.event_issue_comment=Issue Comment
settings.event_issue_comment_desc=Issue comment created, edited, or deleted.
settings.event_release=Release
settings.event_release_desc=Release published in a repository.
settings.active=Aktiv
@@ -1087,7 +1091,7 @@ repos.stars=Stjärnor
repos.issues=Ärenden
repos.size=Size
auths.auth_manage_panel=Panel för hantering av autentisering
auths.auth_sources=Authentication Sources
auths.new=Lägg till ny källa
auths.name=Namn
auths.type=Typ
@@ -1128,7 +1132,6 @@ auths.enable_tls=Aktivera TLS-kryptering
auths.skip_tls_verify=Skip TLS Verify
auths.pam_service_name=PAM Service Name
auths.enable_auto_register=Enable Auto Registration
auths.tips=Tips
auths.edit=Edit Authentication Setting
auths.activated=This authentication is activated
auths.new_success=New authentication '%s' has been added successfully.
@@ -1284,7 +1287,6 @@ notices.delete_success=System notices have been deleted successfully.
[action]
create_repo=skapade utvecklingskatalog <a href="%s"> %s</a>
fork_repo=forked a repository to <a href="%s">%s</a>
rename_repo=renamed repository from <code>%[1]s</code> to <a href="%[2]s">%[3]s</a>
commit_repo=pushed to <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a>
compare_commits=View comparison for these %d commits
@@ -1301,6 +1303,10 @@ create_branch=created new branch <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href=
delete_branch=deleted branch <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
push_tag=pushed tag <a href="%s/src/%s">%[2]s</a> to <a href="%[1]s">%[3]s</a>
delete_tag=deleted tag <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
fork_repo=forked a repository to <a href="%s">%s</a>
mirror_sync_push=synced commits to <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a> from mirror
mirror_sync_create=synced new reference <a href="%s/src/%s">%[2]s</a> to <a href="%[1]s">%[3]s</a> from mirror
mirror_sync_delete=synced and deleted reference <code>%[2]s</code> at <a href="%[1]s">%[3]s</a> from mirror
[tool]
ago=sedan

View File

@@ -151,6 +151,8 @@ register_hepler_msg=Bir hesabınız var mı? Şimdi giriş yapın!
social_register_hepler_msg=Zaten bir hesabınız var mı? Şimdi bağlanın!
disable_register_prompt=Üzgünüz, kaydolma devre dışı bırakıldı. Lütfen site yöneticisiyle irtibata geçin.
disable_register_mail=Üzgünüz, kayıt doğrulama e-postası devre dışı bırakıldı.
auth_source=Authentication Source
local=Local
remember_me=Beni Hatırla
forgot_password=Parolamı Unuttum
forget_password=Parolanızı mı unuttunuz?
@@ -229,6 +231,7 @@ org_name_been_taken=Bu organizasyon adı zaten alınmış.
team_name_been_taken=Bu takım adı zaten alınmış.
email_been_used=Bu e-posta adresi zaten kullanımda.
username_password_incorrect=Kullanıcı adı veya parola hatalı.
auth_source_mismatch=The authentication source selected is not associated with the user.
enterred_invalid_repo_name=Lütfen girdiğiniz depo isminin doğru olduğundan emin olun.
enterred_invalid_owner_name=Lütfen girdiğiniz depo sahibi isminin doğru olduğundan emin olun.
enterred_invalid_password=Lütfen girdiğiniz parolanın doğru olduğundan emin olun.
@@ -348,6 +351,7 @@ two_factor_or_enter_secret=Veya parola girin:
two_factor_then_enter_passcode=Daha sonra şifre kodunu girin:
two_factor_verify=Doğrula
two_factor_invalid_passcode=Girdiğiniz şifre kodu geçersiz,lütfen tekrar deneyin!
two_factor_reused_passcode=The passcode you entered has already been used, please try another one!
two_factor_enable_error=İki faktörlü kimlik doğrulama etkinleştirmesi başarısız :%v
two_factor_enable_success=Hesabınız için iki faktörlü kimlik doğrulama başarıyla devre dışı bırakıldı!
two_factor_recovery_codes_title=İki faktörlü Kimlik doğrulama Kurtarma Kodları
@@ -819,10 +823,10 @@ settings.event_push=Push
settings.event_push_desc=Bir depoya git push
settings.event_issues=Issues
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_desc=Issue comment created, edited, or deleted.
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_issue_comment=Issue Comment
settings.event_issue_comment_desc=Issue comment created, edited, or deleted.
settings.event_release=Release
settings.event_release_desc=Release published in a repository.
settings.active=Aktif
@@ -1087,7 +1091,7 @@ repos.stars=Yıldızlar
repos.issues=Sorunlar
repos.size=Size
auths.auth_manage_panel=Yetkilendirme Yönetim Paneli
auths.auth_sources=Authentication Sources
auths.new=Yeni Kaynak Ekle
auths.name=İsim
auths.type=Tür
@@ -1128,7 +1132,6 @@ auths.enable_tls=TLS Şifrelemeyi Aktifleştir
auths.skip_tls_verify=TLS Doğrulamasını Atla
auths.pam_service_name=PAM Servis Adı
auths.enable_auto_register=Otomatik Kaydolmayı Aktifleştir
auths.tips=İpuçları
auths.edit=Yetkilendirme Ayarlarını Düzenle
auths.activated=Bu yetkilendirme aktif
auths.new_success=Yeni yetkilendirme '%s' başarıyla eklendi.
@@ -1284,7 +1287,6 @@ notices.delete_success=Sistem bildirimleri başarıyla silindi.
[action]
create_repo=depo <a href="%s">%s</a> oluşturuldu
fork_repo=<a href="%s">%s</a> için bir depo çatalladı
rename_repo=<code>%[1]s</code> olan depo adını <a href="%[2]s">%[3]s</a> buna çevirdi
commit_repo=<a href="%[1]s">%[4]s</a> zamanında <a href="%[1]s/src/%[2]s">%[3]s</a> buraya push yaptı
compare_commits=Bu %d işlemeler için karşılaştırmaları görüntüle
@@ -1301,6 +1303,10 @@ create_branch=<a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a> y
delete_branch=<code>%[2]s</code> 'ın <a href="%[1]s">%[3]s</a> şubesi silindi
push_tag=etiket <a href="%s/src/%s">%[2]s</a> <a href="%[1]s">%[3]s</a>'a itelendi
delete_tag=<code>%[2]s</code> 'ın <a href="%[1]s">%[3]s</a> etiketi silindi
fork_repo=<a href="%s">%s</a> için bir depo çatalladı
mirror_sync_push=synced commits to <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a> from mirror
mirror_sync_create=synced new reference <a href="%s/src/%s">%[2]s</a> to <a href="%[1]s">%[3]s</a> from mirror
mirror_sync_delete=synced and deleted reference <code>%[2]s</code> at <a href="%[1]s">%[3]s</a> from mirror
[tool]
ago=önce

View File

@@ -151,6 +151,8 @@ register_hepler_msg=Вже зареєстровані? Увійдіть зара
social_register_hepler_msg=Вже зареєстровані? Прив'яжіть зараз!
disable_register_prompt=Вибачте, реєстрація відключена. Будь ласка, зв'яжіться з адміністратором сайту.
disable_register_mail=На жаль, підтвердження реєстрації на електрону пошту було відключено.
auth_source=Authentication Source
local=Local
remember_me=Запам'ятати мене
forgot_password=Забув пароль
forget_password=Забули пароль?
@@ -229,6 +231,7 @@ org_name_been_taken=Назва організаціі вже використо
team_name_been_taken=Назва команди вже використовується.
email_been_used=Адреса електронної пошти вже використовується.
username_password_incorrect=Ім'я користувача або пароль помилкові.
auth_source_mismatch=The authentication source selected is not associated with the user.
enterred_invalid_repo_name=Переконайтеся, що ви ввели назву сховища правильно.
enterred_invalid_owner_name=Переконайтеся, що ви ввели ім'я власника правильно.
enterred_invalid_password=Переконайтеся, що ви ввели пароль правильно.
@@ -316,7 +319,7 @@ add_email_success=Вашу нову адресу електронної пошт
manage_ssh_keys=Керувати ключами SSH
add_key=Додати ключ
ssh_desc=Це список ключів SSH, пов'язані з вашим обліковим записом. Видаліть будь-які ключі, які не є вашими.
ssh_desc=Це список ключів SSH, пов'язані з вашим обліковим записом. Ці ключі дозволять кому завгодно отримувати доступ до вашого репозиторію, тож будьте певні що ви впізнаєте їх.
ssh_helper=<strong>Потрібна допомога?</strong> Дивіться гід на GitHub з <a href="%s"> генерації ключів SSH</a> або виправлення <a href="%s">типових неполадок SSH</a>.
add_new_key=Додати SSH ключа
ssh_key_been_used=Було використано публічний ключ.
@@ -348,6 +351,7 @@ two_factor_or_enter_secret=Або введіть секрет:
two_factor_then_enter_passcode=Потім введіть пароль:
two_factor_verify=Перевірити
two_factor_invalid_passcode=Введений пароль не валідний, будь ласка, спробуйте ще раз!
two_factor_reused_passcode=The passcode you entered has already been used, please try another one!
two_factor_enable_error=Увімкнення двофакторної автентифікації не вдалося: %v
two_factor_enable_success=Двофакторну автентифікацію успішно активовано для вашого акаунту!
two_factor_recovery_codes_title=Пароль відновлення для двофакторної автентифікації
@@ -368,7 +372,7 @@ generate_token=Створити жетон
generate_token_succees=Новий жетон було створено успішно! Переконайтеся, що Ви скопіювали Ваш новий жетон доступу. Ви не зможете побачити його знову!
delete_token=Видалити
access_token_deletion=Видалення токену персонального доступу
access_token_deletion_desc=Видалення цього токену призведе до видалення усіх пов’язаних доступів додатку. Продовжити?
access_token_deletion_desc=Видалення цього токену призведе до неможливості доступу усіх пов’язаних додатків. Продовжити?
delete_token_success=Персональний токен було видалено. Не забудьте перевірити ваш додаток.
orgs.none=Ви не є членом будь-якої організації.
@@ -397,7 +401,7 @@ visiblity_fork_helper=(Зміна даного значення вплине н
clone_helper=Потрібна допомога у клонуванні? Відвідайте <a target="_blank" href="%s"> допомогу</a>!
fork_repo=Відгалужити репозиторій
fork_from=Відгалужити з
fork_visiblity_helper=Не можна змінити видимість відгалуженого репозиторія
fork_visiblity_helper=Не можна змінити видимість відгалуженого репозиторія.
repo_desc=Опис
repo_lang=Мова
repo_gitignore_helper=Виберіть .gitignore файли
@@ -410,7 +414,7 @@ create_repo=Створити репозиторій
default_branch=Головна гілка
mirror_prune=Підчищати
mirror_prune_desc=Видалити всі відслідковувані посилання, які більше не існують на віддаленому
mirror_interval=Інтервал джеркалювання (години)
mirror_interval=Інтервал дзеркалювання (години)
mirror_address=Адреса дзеркала
mirror_address_desc=Будь ласка, вкажіть необхідні дані користувача у адресі.
mirror_last_synced=Востаннє синхронізовано
@@ -761,7 +765,7 @@ settings.wiki_deletion_success=Wiki-інформацію було вдало в
settings.delete=Видалити цей репозиторій
settings.delete_desc=Як тільки ви видалите репозиторій, то вже не буде шляху назад. Будь ласка, будьте певні.
settings.delete_notices_1=- Ця операція <strong>НЕ МОЖЕ</strong> бути відмінена.
settings.delete_notices_2=- This operation will permanently delete everything in this repository, including Git data, issues, comments and collaborator access.
settings.delete_notices_2=- Ця операція остаточно видалить весь вміст цього репозиторію, включаючи дані Git, проблеми, коментарі та дозволи співавторів.
settings.delete_notices_fork_1=- Усі відгалудження стануть незалежними бісля видалення.
settings.deletion_success=Репозиторій успішно видалено!
settings.update_settings_success=Налаштування репозиторію було вдало оновлено.
@@ -819,10 +823,10 @@ settings.event_push=Push
settings.event_push_desc=Git push до репозиторію
settings.event_issues=Проблеми
settings.event_issues_desc=Проблему відкрито, закрито, перевідкрито, відредаговано, призначено, відкріплено, змінено мітку, очищено мітку, створено етап, очищено етап.
settings.event_issue_comment=Коментар проблеми
settings.event_issue_comment_desc=Коментар проблеми створено, видалено чи відредаговано.
settings.event_pull_request=Запити до злиття
settings.event_pull_request_desc=Запрос на злиття відкрито, закрито, перевідкрито, прикріплено, відкріплено, оновлено мітку, очищено мітку, створено етап, очищено етап або синхронізовано.
settings.event_issue_comment=Коментар проблеми
settings.event_issue_comment_desc=Коментар проблеми створено, видалено чи відредаговано.
settings.event_release=Реліз
settings.event_release_desc=Реліз опубліковано у репозиторії.
settings.active=Активний
@@ -1087,7 +1091,7 @@ repos.stars=У обраному
repos.issues=Питання
repos.size=Розмір
auths.auth_manage_panel=Керування автентифікацій
auths.auth_sources=Authentication Sources
auths.new=Додати нове джерело
auths.name=Назва
auths.type=Тип
@@ -1128,7 +1132,6 @@ auths.enable_tls=Увімкнути TLS-шифрування
auths.skip_tls_verify=Пропустити перевірку TLS
auths.pam_service_name=Ім'я служби PAM
auths.enable_auto_register=Увімкнути автоматичну реєстрацію
auths.tips=Поради
auths.edit=Редагувати налаштування автентифікації
auths.activated=Цю автентифікацію активовано
auths.new_success=Нову автентифікацію '%s' було успішно додано.
@@ -1163,7 +1166,7 @@ config.ssh_domain=Домен
config.ssh_port=Порт
config.ssh_listen_port=Порт що прослуховується
config.ssh_root_path=Шлях до кореню
config.ssh_rewrite_authorized_keys_at_start=Rewrite authorized_keys At Start
config.ssh_rewrite_authorized_keys_at_start=Переписати authorized_keys на початку
config.ssh_key_test_path=Шлях до тестових ключів
config.ssh_keygen_path=Шлях до генератора ключів ('ssh-keygen')
config.ssh_minimum_key_size_check=Мінімальний розмір ключа перевірки
@@ -1211,7 +1214,7 @@ config.skip_tls_verify=Пропустити перевірку TLS
config.mailer_config=Налаштування пошти
config.mailer_enabled=Увімкнено
config.mailer_disable_helo=Вимкнути HELO
config.mailer_subject_prefix=Subject Prefix
config.mailer_subject_prefix=Префікс теми
config.mailer_host=Хост
config.mailer_user=Користувач
config.send_test_mail=Відправити тестового листа
@@ -1284,7 +1287,6 @@ notices.delete_success=Системні повідомлення було усп
[action]
create_repo=створено репозиторій <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>
commit_repo=запушено до <a href="%[1]s/src/%[2]s">%[3]s</a> у <a href="%[1]s">%[4]s</a>
compare_commits=Перегляд порівняння для цих %d комітів
@@ -1301,6 +1303,10 @@ create_branch=створено нову гілку <a href="%[1]s/src/%[2]s">%[3
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>
delete_tag=видалено мітку <code>%[2]s</code> у <a href="%[1]s">%[3]s</a>
fork_repo=відгалуджено репозиторій у <a href="%s">%s</a>
mirror_sync_push=synced commits to <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a> from mirror
mirror_sync_create=synced new reference <a href="%s/src/%s">%[2]s</a> to <a href="%[1]s">%[3]s</a> from mirror
mirror_sync_delete=synced and deleted reference <code>%[2]s</code> at <a href="%[1]s">%[3]s</a> from mirror
[tool]
ago=тому

1337
conf/locale/locale_vi-VN.ini Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -151,6 +151,8 @@ register_hepler_msg=已经注册?立即登录!
social_register_hepler_msg=已经注册?立即绑定!
disable_register_prompt=对不起,注册功能已被关闭。请联系网站管理员。
disable_register_mail=对不起,注册邮箱确认功能已被关闭。
auth_source=认证源
local=本地
remember_me=记住登录
forgot_password=忘记密码
forget_password=忘记密码?
@@ -229,6 +231,7 @@ org_name_been_taken=组织名称已经被占用。
team_name_been_taken=团队名称已经被占用。
email_been_used=邮箱地址已经被使用。
username_password_incorrect=用户名或密码不正确。
auth_source_mismatch=该用户未与所选择的认证源进行关联
enterred_invalid_repo_name=请检查您输入的仓库名称是正确。
enterred_invalid_owner_name=请检查您输入的新所有者用户名是否正确。
enterred_invalid_password=请检查您输入的密码是否正确。
@@ -348,6 +351,7 @@ two_factor_or_enter_secret=或者直接输入密钥:
two_factor_then_enter_passcode=然后输入动态令牌:
two_factor_verify=验证令牌
two_factor_invalid_passcode=您输入的动态令牌无效,请重试!
two_factor_reused_passcode=您输入的令牌已经被使用,请等待数秒后尝试新的令牌!
two_factor_enable_error=启用两步验证失败:%v
two_factor_enable_success=两步验证登录启用成功!
two_factor_recovery_codes_title=两步验证恢复密钥
@@ -819,10 +823,10 @@ settings.event_push=推送
settings.event_push_desc=Git 仓库推送
settings.event_issues=工单
settings.event_issues_desc=工单被开启、关闭、重新开启、编辑、指派、取消指派、更新标签、清除标签、设置里程碑或取消设置里程碑
settings.event_issue_comment=工单评论
settings.event_issue_comment_desc=工单评论被创建、编辑和删除
settings.event_pull_request=合并请求
settings.event_pull_request_desc=合并请求被开启、关闭、重新开启、编辑、指派、取消指派、更新标签、清除标签、设置里程碑、取消设置里程碑或代码同步
settings.event_issue_comment=工单评论
settings.event_issue_comment_desc=工单评论被创建、编辑和删除
settings.event_release=版本发布
settings.event_release_desc=仓库发布新的版本
settings.active=是否激活
@@ -982,7 +986,7 @@ dashboard=控制面板
users=用户管理
organizations=组织管理
repositories=仓库管理
authentication=授权认证管理
authentication=认证管理
config=应用配置管理
notices=系统提示管理
monitor=应用监控面板
@@ -1087,7 +1091,7 @@ repos.stars=点赞数
repos.issues=工单数
repos.size=用量
auths.auth_manage_panel=认证管理面板
auths.auth_sources=认证
auths.new=添加新的源
auths.name=认证名称
auths.type=认证类型
@@ -1128,7 +1132,6 @@ auths.enable_tls=启用 TLS 加密
auths.skip_tls_verify=忽略 TLS 验证
auths.pam_service_name=PAM 服务名称
auths.enable_auto_register=允许授权用户自动注册
auths.tips=帮助提示
auths.edit=编辑认证设置
auths.activated=该授权认证已经启用
auths.new_success=新的授权源 "%s" 添加成功!
@@ -1284,7 +1287,6 @@ notices.delete_success=系统提示删除成功!
[action]
create_repo=创建了仓库 <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>
commit_repo=推送了 <a href="%[1]s/src/%[2]s">%[3]s</a> 分支的代码到 <a href="%[1]s">%[4]s</a>
compare_commits=对比 %d 次代码提交
@@ -1301,6 +1303,10 @@ create_branch=创建了新的分支 <a href="%[1]s/src/%[2]s">%[3]s</a> 到 <a h
delete_branch=删除了 <a href="%[1]s">%[3]s</a> 的分支 <code>%[2]s</code>
push_tag=推送了标签 <a href="%s/src/%s">%[2]s</a> 到 <a href="%[1]s">%[3]s</a>
delete_tag=删除了 <a href="%[1]s">%[3]s</a> 的标签 <code>%[2]s</code>
fork_repo=派生了仓库 <a href="%s">%s</a>
mirror_sync_push=从镜像同步了 <a href="%[1]s/src/%[2]s">%[3]s</a> 分支的代码到 <a href="%[1]s">%[4]s</a>
mirror_sync_create=从镜像同步了新的引用 <a href="%s/src/%s">%[2]s</a> 到 <a href="%[1]s">%[3]s</a>
mirror_sync_delete=从镜像同步并从 <a href="%[1]s">%[3]s</a> 删除了引用 <code>%[2]s</code>
[tool]
ago=之前

View File

@@ -151,6 +151,8 @@ register_hepler_msg=已經註冊?立即登錄!
social_register_hepler_msg=已經註冊?立即綁定!
disable_register_prompt=對不起,註冊功能已被關閉。請聯系網站管理員。
disable_register_mail=對不起,註冊郵箱確認功能已被關閉。
auth_source=Authentication Source
local=Local
remember_me=記住登錄
forgot_password=忘記密碼
forget_password=忘記密碼?
@@ -229,6 +231,7 @@ org_name_been_taken=組織名稱已經被佔用。
team_name_been_taken=團隊名稱已經被佔用。
email_been_used=郵箱地址已經被使用。
username_password_incorrect=用戶名或密碼不正確。
auth_source_mismatch=The authentication source selected is not associated with the user.
enterred_invalid_repo_name=請檢查您輸入的倉庫名稱是正確。
enterred_invalid_owner_name=請檢查您輸入的新所有者用戶名是否正確。
enterred_invalid_password=請檢查您輸入的密碼是否正確。
@@ -348,6 +351,7 @@ two_factor_or_enter_secret=或者輸入密碼:
two_factor_then_enter_passcode=然後輸入驗證碼:
two_factor_verify=驗證
two_factor_invalid_passcode=The passcode you entered is not valid, please try again!
two_factor_reused_passcode=The passcode you entered has already been used, please try another one!
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_recovery_codes_title=Two-factor Authentication Recovery Codes
@@ -819,10 +823,10 @@ settings.event_push=推送
settings.event_push_desc=Git 倉庫推送
settings.event_issues=Issues
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_desc=Issue comment created, edited, or deleted.
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_issue_comment=Issue Comment
settings.event_issue_comment_desc=Issue comment created, edited, or deleted.
settings.event_release=Release
settings.event_release_desc=Release published in a repository.
settings.active=是否激活
@@ -1087,7 +1091,7 @@ repos.stars=讚好數
repos.issues=問題數
repos.size=Size
auths.auth_manage_panel=認證管理面板
auths.auth_sources=Authentication Sources
auths.new=添加新認證源
auths.name=認證名稱
auths.type=認證類型
@@ -1128,7 +1132,6 @@ auths.enable_tls=啟用 TLS 加密
auths.skip_tls_verify=忽略 TLS 驗證
auths.pam_service_name=PAM 服務名稱
auths.enable_auto_register=允許授權用戶自動註冊
auths.tips=幫助提示
auths.edit=編輯認證設置
auths.activated=該授權認證已經啟用
auths.new_success=新的認證源 "%s" 添加成功!
@@ -1284,7 +1287,6 @@ notices.delete_success=系統提示刪除成功!
[action]
create_repo=創建了儲存庫 <a href="%s">%s</a>
fork_repo=forked a repository to <a href="%s">%s</a>
rename_repo=重新命名倉庫 <code>%[1]s</code> 為 <a href="%[2]s">%[3]s</a>
commit_repo=推送了 <a href="%[1]s/src/%[2]s">%[3]s</a> 分支的代碼到 <a href="%[1]s">%[4]s</a>
compare_commits=查看 %d 次提交的內容比對
@@ -1301,6 +1303,10 @@ create_branch=created new branch <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href=
delete_branch=deleted branch <code>%[2]s</code> at <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>
fork_repo=forked a repository to <a href="%s">%s</a>
mirror_sync_push=synced commits to <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a> from mirror
mirror_sync_create=synced new reference <a href="%s/src/%s">%[2]s</a> to <a href="%[1]s">%[3]s</a> from mirror
mirror_sync_delete=synced and deleted reference <code>%[2]s</code> at <a href="%[1]s">%[3]s</a> from mirror
[tool]
ago=之前

View File

@@ -151,6 +151,8 @@ register_hepler_msg=已經註冊?立即登錄!
social_register_hepler_msg=已經註冊?立即綁定!
disable_register_prompt=對不起,註冊功能已被關閉。請聯系網站管理員。
disable_register_mail=對不起,註冊郵箱確認功能已被關閉。
auth_source=Authentication Source
local=Local
remember_me=記住登錄
forgot_password=忘記密碼
forget_password=忘記密碼?
@@ -229,6 +231,7 @@ org_name_been_taken=組織名稱已經被佔用。
team_name_been_taken=團隊名稱已經被佔用。
email_been_used=郵箱地址已經被使用。
username_password_incorrect=用戶名或密碼不正確。
auth_source_mismatch=The authentication source selected is not associated with the user.
enterred_invalid_repo_name=請檢查您輸入的倉庫名稱是正確。
enterred_invalid_owner_name=請檢查您輸入的新所有者用戶名是否正確。
enterred_invalid_password=請檢查您輸入的密碼是否正確。
@@ -348,6 +351,7 @@ two_factor_or_enter_secret=或輸入密碼: %s
two_factor_then_enter_passcode=然後輸入驗證碼:
two_factor_verify=驗證
two_factor_invalid_passcode=您輸入的密碼無效,請再試一次。
two_factor_reused_passcode=The passcode you entered has already been used, please try another one!
two_factor_enable_error=啟用兩步驗證失敗: %v
two_factor_enable_success=您帳戶的兩步驗證已成功啟用!
two_factor_recovery_codes_title=兩步驗證恢復代碼
@@ -819,10 +823,10 @@ settings.event_push=推送
settings.event_push_desc=Git 倉庫推送
settings.event_issues=Issues
settings.event_issues_desc=已經開啟、關閉、重啟、修改、指派、取消指派、更新標籤、清除標籤、新增里程碑或刪除里程碑的 issue。
settings.event_issue_comment=Issue 評論
settings.event_issue_comment_desc=已經建立、編輯或刪除的 Issue 評論。
settings.event_pull_request=合併請求
settings.event_pull_request_desc=已經開啟、關閉、重啟、編輯、指派、解除指派、更新標籤、清除標籤、新增里程碑、刪除里程碑或同步的 pull request。
settings.event_issue_comment=Issue 評論
settings.event_issue_comment_desc=已經建立、編輯或刪除的 Issue 評論。
settings.event_release=Release
settings.event_release_desc=Release 將發佈在一個 repository 中。
settings.active=是否激活
@@ -1087,7 +1091,7 @@ repos.stars=讚好數
repos.issues=問題數
repos.size=大小
auths.auth_manage_panel=認證管理面板
auths.auth_sources=Authentication Sources
auths.new=添加新認證源
auths.name=認證名稱
auths.type=認證類型
@@ -1128,7 +1132,6 @@ auths.enable_tls=啟用 TLS 加密
auths.skip_tls_verify=忽略 TLS 驗證
auths.pam_service_name=PAM 服務名稱
auths.enable_auto_register=允許授權用戶自動註冊
auths.tips=幫助提示
auths.edit=編輯認證設置
auths.activated=該授權認證已經啟用
auths.new_success=新的認證源 "%s" 添加成功!
@@ -1284,7 +1287,6 @@ notices.delete_success=系統提示刪除成功!
[action]
create_repo=創建了儲存庫 <a href="%s">%s</a>
fork_repo=已經 fork 一個 repository 到 <a href="%s">%s</a>
rename_repo=重新命名倉庫 <code>%[1]s</code> 為 <a href="%[2]s">%[3]s</a>
commit_repo=推送了 <a href="%[1]s/src/%[2]s">%[3]s</a> 分支的代碼到 <a href="%[1]s">%[4]s</a>
compare_commits=查看 %d 次提交的內容比對
@@ -1301,6 +1303,10 @@ create_branch=在 <a href="%[1]s">%[4]s</a> 建立新的分支 <a href="%[1]s/sr
delete_branch=已經刪除在 <a href="%[1]s">%[3]s</a> 上的分支 <code>%[2]s</code>
push_tag=推送了標籤 <a href="%s/src/%s">%[2]s</a> 到 <a href="%[1]s">%[3]s</a>
delete_tag=已經刪除在 <a href="%[1]s">%[3]s</a> 上的標籤 <code>%[2]s</code>
fork_repo=已經 fork 一個 repository 到 <a href="%s">%s</a>
mirror_sync_push=synced commits to <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a> from mirror
mirror_sync_create=synced new reference <a href="%s/src/%s">%[2]s</a> to <a href="%[1]s">%[3]s</a> from mirror
mirror_sync_delete=synced and deleted reference <code>%[2]s</code> at <a href="%[1]s">%[3]s</a> from mirror
[tool]
ago=之前

View File

@@ -1,6 +1,6 @@
# Docker for Gogs
Visit [Docker Hub](https://hub.docker.com/r/gogs/) / [Docker Store](https://store.docker.com/community/images/gogs/gogs) see all available images and tags.
Visit [Docker Cloud](https://cloud.docker.com/swarm/gogs/repository/docker/gogs/gogs) / [Docker Store](https://store.docker.com/community/images/gogs/gogs) see all available images and tags.
## Usage
@@ -36,6 +36,10 @@ Directory `/var/gogs` keeps Git repositories and Gogs data:
|-- data
|-- log
#### Custom Directory
The "custom" directory may not be obvious in Docker environment. The `/var/gogs/gogs` (in the host) and `/data/gogs` (in the container) is already the "custom" directory and you do not need to create another layer but directly edit corresponding files under this directory.
### Volume With Data Container
If you're more comfortable with mounting data to a data container, the commands you execute at the first time will look like as follows:

View File

@@ -5,15 +5,14 @@ set -e
# Set temp environment vars
export GOPATH=/tmp/go
export PATH=/usr/local/go/bin:${PATH}:${GOPATH}/bin
export GO15VENDOREXPERIMENT=1
# Install build deps
apk --no-cache --no-progress add --virtual build-deps build-base linux-pam-dev
# Build Gogs
mkdir -p ${GOPATH}/src/github.com/gogits/
ln -s /app/gogs/build ${GOPATH}/src/github.com/gogits/gogs
cd ${GOPATH}/src/github.com/gogits/gogs
mkdir -p ${GOPATH}/src/github.com/gogs/
ln -s /app/gogs/build ${GOPATH}/src/github.com/gogs/gogs
cd ${GOPATH}/src/github.com/gogs/gogs
# Needed since git 2.9.3 or 2.9.4
git config --global http.https://gopkg.in.followRedirects true
make build TAGS="sqlite cert pam"

View File

@@ -13,4 +13,4 @@ index 14f4fa9..5599307 100644
+
if l.Debugvlog != 0 {
l.Logf("%5.2f host link:", obj.Cputime())
for _, v := range argv {
for _, v := range argv {

View File

@@ -12,11 +12,11 @@ import (
"github.com/urfave/cli"
"github.com/gogits/gogs/cmd"
"github.com/gogits/gogs/pkg/setting"
"github.com/gogs/gogs/cmd"
"github.com/gogs/gogs/pkg/setting"
)
const APP_VER = "0.11.43.0330"
const APP_VER = "0.11.53.0603"
func init() {
setting.AppVer = APP_VER

View File

@@ -9,7 +9,7 @@ import (
log "gopkg.in/clog.v1"
"github.com/gogits/gogs/models/errors"
"github.com/gogs/gogs/models/errors"
)
type AccessMode int

View File

@@ -17,17 +17,17 @@ import (
"github.com/go-xorm/xorm"
log "gopkg.in/clog.v1"
"github.com/gogits/git-module"
api "github.com/gogits/go-gogs-client"
"github.com/gogs/git-module"
api "github.com/gogs/go-gogs-client"
"github.com/gogits/gogs/models/errors"
"github.com/gogits/gogs/pkg/setting"
"github.com/gogits/gogs/pkg/tool"
"github.com/gogs/gogs/models/errors"
"github.com/gogs/gogs/pkg/setting"
"github.com/gogs/gogs/pkg/tool"
)
type ActionType int
// To maintain backward compatibility only append to the end of list
// Note: To maintain backward compatibility only append to the end of list
const (
ACTION_CREATE_REPO ActionType = iota + 1 // 1
ACTION_RENAME_REPO // 2
@@ -48,6 +48,9 @@ const (
ACTION_DELETE_BRANCH // 17
ACTION_DELETE_TAG // 18
ACTION_FORK_REPO // 19
ACTION_MIRROR_SYNC_PUSH // 20
ACTION_MIRROR_SYNC_CREATE // 21
ACTION_MIRROR_SYNC_DELETE // 22
)
var (
@@ -251,7 +254,7 @@ func NewPushCommits() *PushCommits {
}
}
func (pc *PushCommits) ToApiPayloadCommits(repoPath, repoLink string) ([]*api.PayloadCommit, error) {
func (pc *PushCommits) ToApiPayloadCommits(repoPath, repoURL string) ([]*api.PayloadCommit, error) {
commits := make([]*api.PayloadCommit, len(pc.Commits))
for i, commit := range pc.Commits {
authorUsername := ""
@@ -278,7 +281,7 @@ func (pc *PushCommits) ToApiPayloadCommits(repoPath, repoLink string) ([]*api.Pa
commits[i] = &api.PayloadCommit{
ID: commit.Sha1,
Message: commit.Message,
URL: fmt.Sprintf("%s/commit/%s", repoLink, commit.Sha1),
URL: fmt.Sprintf("%s/commit/%s", repoURL, commit.Sha1),
Author: &api.PayloadUser{
Name: commit.AuthorName,
Email: commit.AuthorEmail,
@@ -667,6 +670,71 @@ func MergePullRequestAction(actUser *User, repo *Repository, pull *Issue) error
return mergePullRequestAction(x, actUser, repo, pull)
}
func mirrorSyncAction(opType ActionType, repo *Repository, refName string, data []byte) error {
return NotifyWatchers(&Action{
ActUserID: repo.OwnerID,
ActUserName: repo.MustOwner().Name,
OpType: opType,
Content: string(data),
RepoID: repo.ID,
RepoUserName: repo.MustOwner().Name,
RepoName: repo.Name,
RefName: refName,
IsPrivate: repo.IsPrivate,
})
}
type MirrorSyncPushActionOptions struct {
RefName string
OldCommitID string
NewCommitID string
Commits *PushCommits
}
// MirrorSyncPushAction adds new action for mirror synchronization of pushed commits.
func MirrorSyncPushAction(repo *Repository, opts MirrorSyncPushActionOptions) error {
if len(opts.Commits.Commits) > setting.UI.FeedMaxCommitNum {
opts.Commits.Commits = opts.Commits.Commits[:setting.UI.FeedMaxCommitNum]
}
apiCommits, err := opts.Commits.ToApiPayloadCommits(repo.RepoPath(), repo.HTMLURL())
if err != nil {
return fmt.Errorf("ToApiPayloadCommits: %v", err)
}
opts.Commits.CompareURL = repo.ComposeCompareURL(opts.OldCommitID, opts.NewCommitID)
apiPusher := repo.MustOwner().APIFormat()
if err := PrepareWebhooks(repo, HOOK_EVENT_PUSH, &api.PushPayload{
Ref: opts.RefName,
Before: opts.OldCommitID,
After: opts.NewCommitID,
CompareURL: setting.AppURL + opts.Commits.CompareURL,
Commits: apiCommits,
Repo: repo.APIFormat(nil),
Pusher: apiPusher,
Sender: apiPusher,
}); err != nil {
return fmt.Errorf("PrepareWebhooks: %v", err)
}
data, err := json.Marshal(opts.Commits)
if err != nil {
return err
}
return mirrorSyncAction(ACTION_MIRROR_SYNC_PUSH, repo, opts.RefName, data)
}
// MirrorSyncCreateAction adds new action for mirror synchronization of new reference.
func MirrorSyncCreateAction(repo *Repository, refName string) error {
return mirrorSyncAction(ACTION_MIRROR_SYNC_CREATE, repo, refName, nil)
}
// MirrorSyncCreateAction adds new action for mirror synchronization of delete reference.
func MirrorSyncDeleteAction(repo *Repository, refName string) error {
return mirrorSyncAction(ACTION_MIRROR_SYNC_DELETE, repo, refName, nil)
}
// GetFeeds returns action list of given user in given context.
// actorID is the user who's requesting, ctxUserID is the user/org that is requested.
// actorID can be -1 when isProfile is true or to skip the permission check.

View File

@@ -15,8 +15,8 @@ import (
"github.com/go-xorm/xorm"
log "gopkg.in/clog.v1"
"github.com/gogits/gogs/pkg/setting"
"github.com/gogits/gogs/pkg/tool"
"github.com/gogs/gogs/pkg/setting"
"github.com/gogs/gogs/pkg/tool"
)
type NoticeType int

View File

@@ -15,7 +15,7 @@ import (
"github.com/go-xorm/xorm"
gouuid "github.com/satori/go.uuid"
"github.com/gogits/gogs/pkg/setting"
"github.com/gogs/gogs/pkg/setting"
)
// Attachment represent a attachment of issue/comment/release.

View File

@@ -13,10 +13,10 @@ import (
"github.com/go-xorm/xorm"
log "gopkg.in/clog.v1"
api "github.com/gogits/go-gogs-client"
api "github.com/gogs/go-gogs-client"
"github.com/gogits/gogs/models/errors"
"github.com/gogits/gogs/pkg/markup"
"github.com/gogs/gogs/models/errors"
"github.com/gogs/gogs/pkg/markup"
)
// CommentType defines whether a comment is just a simple comment, an action (like close) or a reference.

View File

@@ -505,19 +505,6 @@ func (err ErrAttachmentNotExist) Error() string {
// |_______ \____/\___ /|__|___| / /_______ /\____/|____/ |__| \___ >___ >
// \/ /_____/ \/ \/ \/ \/
type ErrLoginSourceNotExist struct {
ID int64
}
func IsErrLoginSourceNotExist(err error) bool {
_, ok := err.(ErrLoginSourceNotExist)
return ok
}
func (err ErrLoginSourceNotExist) Error() string {
return fmt.Sprintf("login source does not exist [id: %d]", err.ID)
}
type ErrLoginSourceAlreadyExist struct {
Name string
}

View File

@@ -6,6 +6,19 @@ package errors
import "fmt"
type LoginSourceNotExist struct {
ID int64
}
func IsLoginSourceNotExist(err error) bool {
_, ok := err.(LoginSourceNotExist)
return ok
}
func (err LoginSourceNotExist) Error() string {
return fmt.Sprintf("login source does not exist [id: %d]", err.ID)
}
type LoginSourceNotActivated struct {
SourceID int64
}
@@ -31,3 +44,17 @@ func IsInvalidLoginSourceType(err error) bool {
func (err InvalidLoginSourceType) Error() string {
return fmt.Sprintf("invalid login source type [type: %v]", err.Type)
}
type LoginSourceMismatch struct {
Expect int64
Actual int64
}
func IsLoginSourceMismatch(err error) bool {
_, ok := err.(LoginSourceMismatch)
return ok
}
func (err LoginSourceMismatch) Error() string {
return fmt.Sprintf("login source mismatch [expect: %d, actual: %d]", err.Expect, err.Actual)
}

View File

@@ -15,11 +15,11 @@ import (
"golang.org/x/net/html/charset"
"golang.org/x/text/transform"
"github.com/gogits/git-module"
"github.com/gogs/git-module"
"github.com/gogits/gogs/pkg/tool"
"github.com/gogits/gogs/pkg/setting"
"github.com/gogits/gogs/pkg/template/highlight"
"github.com/gogs/gogs/pkg/setting"
"github.com/gogs/gogs/pkg/template/highlight"
"github.com/gogs/gogs/pkg/tool"
)
type DiffSection struct {

View File

@@ -8,7 +8,7 @@ import (
"html/template"
"testing"
"github.com/gogits/git-module"
"github.com/gogs/git-module"
dmp "github.com/sergi/go-diff/diffmatchpatch"
)

View File

@@ -13,11 +13,11 @@ import (
"github.com/go-xorm/xorm"
log "gopkg.in/clog.v1"
api "github.com/gogits/go-gogs-client"
api "github.com/gogs/go-gogs-client"
"github.com/gogits/gogs/models/errors"
"github.com/gogits/gogs/pkg/setting"
"github.com/gogits/gogs/pkg/tool"
"github.com/gogs/gogs/models/errors"
"github.com/gogs/gogs/pkg/setting"
"github.com/gogs/gogs/pkg/tool"
)
var (

View File

@@ -13,9 +13,9 @@ import (
"github.com/go-xorm/xorm"
api "github.com/gogits/go-gogs-client"
api "github.com/gogs/go-gogs-client"
"github.com/gogits/gogs/pkg/tool"
"github.com/gogs/gogs/pkg/tool"
)
var labelColorPattern = regexp.MustCompile("#([a-fA-F0-9]{6})")

View File

@@ -10,9 +10,9 @@ import (
"github.com/Unknwon/com"
log "gopkg.in/clog.v1"
"github.com/gogits/gogs/pkg/mailer"
"github.com/gogits/gogs/pkg/markup"
"github.com/gogits/gogs/pkg/setting"
"github.com/gogs/gogs/pkg/mailer"
"github.com/gogs/gogs/pkg/markup"
"github.com/gogs/gogs/pkg/setting"
)
func (issue *Issue) MailSubject() string {

View File

@@ -10,7 +10,10 @@ import (
"fmt"
"net/smtp"
"net/textproto"
"os"
"path"
"strings"
"sync"
"time"
"github.com/Unknwon/com"
@@ -18,10 +21,12 @@ import (
"github.com/go-xorm/core"
"github.com/go-xorm/xorm"
log "gopkg.in/clog.v1"
"gopkg.in/ini.v1"
"github.com/gogits/gogs/models/errors"
"github.com/gogits/gogs/pkg/auth/ldap"
"github.com/gogits/gogs/pkg/auth/pam"
"github.com/gogs/gogs/models/errors"
"github.com/gogs/gogs/pkg/auth/ldap"
"github.com/gogs/gogs/pkg/auth/pam"
"github.com/gogs/gogs/pkg/setting"
)
type LoginType int
@@ -57,7 +62,7 @@ var (
)
type LDAPConfig struct {
*ldap.Source
*ldap.Source `ini:"config"`
}
func (cfg *LDAPConfig) FromDB(bs []byte) error {
@@ -77,7 +82,7 @@ type SMTPConfig struct {
Host string
Port int
AllowedDomains string `xorm:"TEXT"`
TLS bool
TLS bool `ini:"tls"`
SkipVerify bool
}
@@ -90,7 +95,7 @@ func (cfg *SMTPConfig) ToDB() ([]byte, error) {
}
type PAMConfig struct {
ServiceName string // pam service (e.g. system-auth)
ServiceName string // PAM service (e.g. system-auth)
}
func (cfg *PAMConfig) FromDB(bs []byte) error {
@@ -101,6 +106,27 @@ func (cfg *PAMConfig) ToDB() ([]byte, error) {
return json.Marshal(cfg)
}
// AuthSourceFile contains information of an authentication source file.
type AuthSourceFile struct {
abspath string
file *ini.File
}
// SetGeneral sets new value to the given key in the general (default) section.
func (f *AuthSourceFile) SetGeneral(name, value string) {
f.file.Section("").Key(name).SetValue(value)
}
// SetConfig sets new values to the "config" section.
func (f *AuthSourceFile) SetConfig(cfg core.Conversion) error {
return f.file.Section("config").ReflectFrom(cfg)
}
// Save writes updates into file system.
func (f *AuthSourceFile) Save() error {
return f.file.SaveTo(f.abspath)
}
// LoginSource represents an external way for authorizing users.
type LoginSource struct {
ID int64
@@ -113,6 +139,8 @@ type LoginSource struct {
CreatedUnix int64
Updated time.Time `xorm:"-"`
UpdatedUnix int64
LocalFile *AuthSourceFile `xorm:"-"`
}
func (s *LoginSource) BeforeInsert() {
@@ -135,16 +163,16 @@ func Cell2Int64(val xorm.Cell) int64 {
return (*val).(int64)
}
func (source *LoginSource) BeforeSet(colName string, val xorm.Cell) {
func (s *LoginSource) BeforeSet(colName string, val xorm.Cell) {
switch colName {
case "type":
switch LoginType(Cell2Int64(val)) {
case LOGIN_LDAP, LOGIN_DLDAP:
source.Cfg = new(LDAPConfig)
s.Cfg = new(LDAPConfig)
case LOGIN_SMTP:
source.Cfg = new(SMTPConfig)
s.Cfg = new(SMTPConfig)
case LOGIN_PAM:
source.Cfg = new(PAMConfig)
s.Cfg = new(PAMConfig)
default:
panic("unrecognized login source type: " + com.ToStr(*val))
}
@@ -160,65 +188,66 @@ func (s *LoginSource) AfterSet(colName string, _ xorm.Cell) {
}
}
func (source *LoginSource) TypeName() string {
return LoginNames[source.Type]
func (s *LoginSource) TypeName() string {
return LoginNames[s.Type]
}
func (source *LoginSource) IsLDAP() bool {
return source.Type == LOGIN_LDAP
func (s *LoginSource) IsLDAP() bool {
return s.Type == LOGIN_LDAP
}
func (source *LoginSource) IsDLDAP() bool {
return source.Type == LOGIN_DLDAP
func (s *LoginSource) IsDLDAP() bool {
return s.Type == LOGIN_DLDAP
}
func (source *LoginSource) IsSMTP() bool {
return source.Type == LOGIN_SMTP
func (s *LoginSource) IsSMTP() bool {
return s.Type == LOGIN_SMTP
}
func (source *LoginSource) IsPAM() bool {
return source.Type == LOGIN_PAM
func (s *LoginSource) IsPAM() bool {
return s.Type == LOGIN_PAM
}
func (source *LoginSource) HasTLS() bool {
return ((source.IsLDAP() || source.IsDLDAP()) &&
source.LDAP().SecurityProtocol > ldap.SECURITY_PROTOCOL_UNENCRYPTED) ||
source.IsSMTP()
func (s *LoginSource) HasTLS() bool {
return ((s.IsLDAP() || s.IsDLDAP()) &&
s.LDAP().SecurityProtocol > ldap.SECURITY_PROTOCOL_UNENCRYPTED) ||
s.IsSMTP()
}
func (source *LoginSource) UseTLS() bool {
switch source.Type {
func (s *LoginSource) UseTLS() bool {
switch s.Type {
case LOGIN_LDAP, LOGIN_DLDAP:
return source.LDAP().SecurityProtocol != ldap.SECURITY_PROTOCOL_UNENCRYPTED
return s.LDAP().SecurityProtocol != ldap.SECURITY_PROTOCOL_UNENCRYPTED
case LOGIN_SMTP:
return source.SMTP().TLS
return s.SMTP().TLS
}
return false
}
func (source *LoginSource) SkipVerify() bool {
switch source.Type {
func (s *LoginSource) SkipVerify() bool {
switch s.Type {
case LOGIN_LDAP, LOGIN_DLDAP:
return source.LDAP().SkipVerify
return s.LDAP().SkipVerify
case LOGIN_SMTP:
return source.SMTP().SkipVerify
return s.SMTP().SkipVerify
}
return false
}
func (source *LoginSource) LDAP() *LDAPConfig {
return source.Cfg.(*LDAPConfig)
func (s *LoginSource) LDAP() *LDAPConfig {
return s.Cfg.(*LDAPConfig)
}
func (source *LoginSource) SMTP() *SMTPConfig {
return source.Cfg.(*SMTPConfig)
func (s *LoginSource) SMTP() *SMTPConfig {
return s.Cfg.(*SMTPConfig)
}
func (source *LoginSource) PAM() *PAMConfig {
return source.Cfg.(*PAMConfig)
func (s *LoginSource) PAM() *PAMConfig {
return s.Cfg.(*PAMConfig)
}
func CreateLoginSource(source *LoginSource) error {
has, err := x.Get(&LoginSource{Name: source.Name})
if err != nil {
@@ -231,9 +260,23 @@ func CreateLoginSource(source *LoginSource) error {
return err
}
// LoginSources returns all login sources defined.
func LoginSources() ([]*LoginSource, error) {
auths := make([]*LoginSource, 0, 5)
return auths, x.Find(&auths)
sources := make([]*LoginSource, 0, 2)
if err := x.Find(&sources); err != nil {
return nil, err
}
return append(sources, localLoginSources.List()...), nil
}
// ActivatedLoginSources returns login sources that are currently activated.
func ActivatedLoginSources() ([]*LoginSource, error) {
sources := make([]*LoginSource, 0, 2)
if err := x.Where("is_actived = ?", true).Find(&sources); err != nil {
return nil, fmt.Errorf("find activated login sources: %v", err)
}
return append(sources, localLoginSources.ActivatedList()...), nil
}
// GetLoginSourceByID returns login source by given ID.
@@ -243,14 +286,28 @@ func GetLoginSourceByID(id int64) (*LoginSource, error) {
if err != nil {
return nil, err
} else if !has {
return nil, ErrLoginSourceNotExist{id}
return localLoginSources.GetLoginSourceByID(id)
}
return source, nil
}
func UpdateSource(source *LoginSource) error {
_, err := x.Id(source.ID).AllCols().Update(source)
return err
// UpdateLoginSource updates information of login source to database or local file.
func UpdateLoginSource(source *LoginSource) error {
if source.LocalFile == nil {
_, err := x.Id(source.ID).AllCols().Update(source)
return err
}
source.LocalFile.SetGeneral("name", source.Name)
source.LocalFile.SetGeneral("is_activated", com.ToStr(source.IsActived))
if err := source.LocalFile.SetConfig(source.Cfg); err != nil {
return fmt.Errorf("LocalFile.SetConfig: %v", err)
} else if err = source.LocalFile.Save(); err != nil {
return fmt.Errorf("LocalFile.Save: %v", err)
}
localLoginSources.UpdateLoginSource(source)
return nil
}
func DeleteSource(source *LoginSource) error {
@@ -264,10 +321,151 @@ func DeleteSource(source *LoginSource) error {
return err
}
// CountLoginSources returns number of login sources.
// CountLoginSources returns total number of login sources.
func CountLoginSources() int64 {
count, _ := x.Count(new(LoginSource))
return count
return count + int64(localLoginSources.Len())
}
// LocalLoginSources contains authentication sources configured and loaded from local files.
// Calling its methods is thread-safe; otherwise, please maintain the mutex accordingly.
type LocalLoginSources struct {
sync.RWMutex
sources []*LoginSource
}
func (s *LocalLoginSources) Len() int {
return len(s.sources)
}
// List returns full clone of login sources.
func (s *LocalLoginSources) List() []*LoginSource {
s.RLock()
defer s.RUnlock()
list := make([]*LoginSource, s.Len())
for i := range s.sources {
list[i] = &LoginSource{}
*list[i] = *s.sources[i]
}
return list
}
// ActivatedList returns clone of activated login sources.
func (s *LocalLoginSources) ActivatedList() []*LoginSource {
s.RLock()
defer s.RUnlock()
list := make([]*LoginSource, 0, 2)
for i := range s.sources {
if !s.sources[i].IsActived {
continue
}
source := &LoginSource{}
*source = *s.sources[i]
list = append(list, source)
}
return list
}
// GetLoginSourceByID returns a clone of login source by given ID.
func (s *LocalLoginSources) GetLoginSourceByID(id int64) (*LoginSource, error) {
s.RLock()
defer s.RUnlock()
for i := range s.sources {
if s.sources[i].ID == id {
source := &LoginSource{}
*source = *s.sources[i]
return source, nil
}
}
return nil, errors.LoginSourceNotExist{id}
}
// UpdateLoginSource updates in-memory copy of the authentication source.
func (s *LocalLoginSources) UpdateLoginSource(source *LoginSource) {
s.Lock()
defer s.Unlock()
source.Updated = time.Now()
for i := range s.sources {
if s.sources[i].ID == source.ID {
*s.sources[i] = *source
break
}
}
}
var localLoginSources = &LocalLoginSources{}
// LoadAuthSources loads authentication sources from local files
// and converts them into login sources.
func LoadAuthSources() {
authdPath := path.Join(setting.CustomPath, "conf/auth.d")
if !com.IsDir(authdPath) {
return
}
paths, err := com.GetFileListBySuffix(authdPath, ".conf")
if err != nil {
log.Fatal(2, "Failed to list authentication sources: %v", err)
}
localLoginSources.sources = make([]*LoginSource, 0, len(paths))
for _, fpath := range paths {
authSource, err := ini.Load(fpath)
if err != nil {
log.Fatal(2, "Failed to load authentication source: %v", err)
}
authSource.NameMapper = ini.TitleUnderscore
// Set general attributes
s := authSource.Section("")
loginSource := &LoginSource{
ID: s.Key("id").MustInt64(),
Name: s.Key("name").String(),
IsActived: s.Key("is_activated").MustBool(),
LocalFile: &AuthSourceFile{
abspath: fpath,
file: authSource,
},
}
fi, err := os.Stat(fpath)
if err != nil {
log.Fatal(2, "Failed to load authentication source: %v", err)
}
loginSource.Updated = fi.ModTime()
// Parse authentication source file
authType := s.Key("type").String()
switch authType {
case "ldap_bind_dn":
loginSource.Type = LOGIN_LDAP
loginSource.Cfg = &LDAPConfig{}
case "ldap_simple_auth":
loginSource.Type = LOGIN_DLDAP
loginSource.Cfg = &LDAPConfig{}
case "smtp":
loginSource.Type = LOGIN_SMTP
loginSource.Cfg = &SMTPConfig{}
case "pam":
loginSource.Type = LOGIN_PAM
loginSource.Cfg = &PAMConfig{}
default:
log.Fatal(2, "Failed to load authentication source: unknown type '%s'", authType)
}
if err = authSource.Section("config").MapTo(loginSource.Cfg); err != nil {
log.Fatal(2, "Failed to parse authentication source 'config': %v", err)
}
localLoginSources.sources = append(localLoginSources.sources, loginSource)
}
}
// .____ ________ _____ __________
@@ -497,7 +695,7 @@ func LoginViaPAM(user *User, login, password string, sourceID int64, cfg *PAMCon
return user, CreateUser(user)
}
func ExternalUserLogin(user *User, login, password string, source *LoginSource, autoRegister bool) (*User, error) {
func remoteUserLogin(user *User, login, password string, source *LoginSource, autoRegister bool) (*User, error) {
if !source.IsActived {
return nil, errors.LoginSourceNotActivated{source.ID}
}
@@ -514,8 +712,9 @@ func ExternalUserLogin(user *User, login, password string, source *LoginSource,
return nil, errors.InvalidLoginSourceType{source.Type}
}
// UserSignIn validates user name and password.
func UserSignIn(username, password string) (*User, error) {
// UserLogin validates user name and password via given login source ID.
// If the loginSourceID is negative, it will abort login process if user is not found.
func UserLogin(username, password string, loginSourceID int64) (*User, error) {
var user *User
if strings.Contains(username, "@") {
user = &User{Email: strings.ToLower(username)}
@@ -525,44 +724,44 @@ func UserSignIn(username, password string) (*User, error) {
hasUser, err := x.Get(user)
if err != nil {
return nil, err
return nil, fmt.Errorf("get user record: %v", err)
}
if hasUser {
switch user.LoginType {
case LOGIN_NOTYPE, LOGIN_PLAIN:
// Note: This check is unnecessary but to reduce user confusion at login page
// and make it more consistent at user's perspective.
if loginSourceID >= 0 && user.LoginSource != loginSourceID {
return nil, errors.LoginSourceMismatch{loginSourceID, user.LoginSource}
}
// Validate password hash fetched from database for local accounts
if user.LoginType == LOGIN_NOTYPE ||
user.LoginType == LOGIN_PLAIN {
if user.ValidatePassword(password) {
return user, nil
}
return nil, errors.UserNotExist{user.ID, user.Name}
default:
var source LoginSource
hasSource, err := x.Id(user.LoginSource).Get(&source)
if err != nil {
return nil, err
} else if !hasSource {
return nil, ErrLoginSourceNotExist{user.LoginSource}
}
return ExternalUserLogin(user, user.LoginName, password, &source, false)
}
// Remote login to the login source the user is associated with
source, err := GetLoginSourceByID(user.LoginSource)
if err != nil {
return nil, err
}
return remoteUserLogin(user, user.LoginName, password, source, false)
}
sources := make([]*LoginSource, 0, 3)
if err = x.UseBool().Find(&sources, &LoginSource{IsActived: true}); err != nil {
// Non-local login source is always greater than 0
if loginSourceID <= 0 {
return nil, errors.UserNotExist{-1, username}
}
source, err := GetLoginSourceByID(loginSourceID)
if err != nil {
return nil, err
}
for _, source := range sources {
authUser, err := ExternalUserLogin(nil, username, password, source, true)
if err == nil {
return authUser, nil
}
log.Warn("Failed to login '%s' via '%s': %v", username, source.Name, err)
}
return nil, errors.UserNotExist{user.ID, user.Name}
return remoteUserLogin(nil, username, password, source, true)
}

View File

@@ -13,7 +13,7 @@ import (
"github.com/go-xorm/xorm"
log "gopkg.in/clog.v1"
"github.com/gogits/gogs/pkg/tool"
"github.com/gogs/gogs/pkg/tool"
)
const _MIN_DB_VER = 10
@@ -98,9 +98,9 @@ You can migrate your older database using a previous release, then you can upgra
Please save following instructions to somewhere and start working:
- If you were using below 0.6.0 (e.g. 0.5.x), download last supported archive from following link:
https://github.com/gogits/gogs/releases/tag/v0.7.33
https://github.com/gogs/gogs/releases/tag/v0.7.33
- If you were using below 0.7.0 (e.g. 0.6.x), download last supported archive from following link:
https://github.com/gogits/gogs/releases/tag/v0.9.141
https://github.com/gogs/gogs/releases/tag/v0.9.141
Once finished downloading,

View File

@@ -15,7 +15,7 @@ import (
"github.com/go-xorm/xorm"
log "gopkg.in/clog.v1"
"github.com/gogits/gogs/pkg/setting"
"github.com/gogs/gogs/pkg/setting"
)
func generateAndMigrateGitHooks(x *xorm.Engine) (err error) {

View File

@@ -12,9 +12,9 @@ import (
"github.com/go-xorm/xorm"
log "gopkg.in/clog.v1"
"github.com/gogits/git-module"
"github.com/gogs/git-module"
"github.com/gogits/gogs/pkg/setting"
"github.com/gogs/gogs/pkg/setting"
)
func updateRepositorySizes(x *xorm.Engine) (err error) {

View File

@@ -11,9 +11,9 @@ import (
"github.com/go-xorm/xorm"
log "gopkg.in/clog.v1"
api "github.com/gogits/go-gogs-client"
api "github.com/gogs/go-gogs-client"
"github.com/gogits/gogs/pkg/setting"
"github.com/gogs/gogs/pkg/setting"
)
// Milestone represents a milestone of repository.

View File

@@ -15,12 +15,12 @@ import (
log "gopkg.in/clog.v1"
"gopkg.in/ini.v1"
"github.com/gogits/git-module"
"github.com/gogs/git-module"
"github.com/gogits/gogs/models/errors"
"github.com/gogits/gogs/pkg/process"
"github.com/gogits/gogs/pkg/setting"
"github.com/gogits/gogs/pkg/sync"
"github.com/gogs/gogs/models/errors"
"github.com/gogs/gogs/pkg/process"
"github.com/gogs/gogs/pkg/setting"
"github.com/gogs/gogs/pkg/sync"
)
var MirrorQueue = sync.NewUniqueQueue(setting.Repository.MirrorQueueLength)
@@ -33,22 +33,22 @@ type Mirror struct {
Interval int // Hour.
EnablePrune bool `xorm:"NOT NULL DEFAULT true"`
Updated time.Time `xorm:"-"`
UpdatedUnix int64
NextUpdate time.Time `xorm:"-"`
NextUpdateUnix int64
// Last and next sync time of Git data from upstream
LastSync time.Time `xorm:"-"`
LastSyncUnix int64 `xorm:"updated_unix"`
NextSync time.Time `xorm:"-"`
NextSyncUnix int64 `xorm:"next_update_unix"`
address string `xorm:"-"`
}
func (m *Mirror) BeforeInsert() {
m.UpdatedUnix = time.Now().Unix()
m.NextUpdateUnix = m.NextUpdate.Unix()
m.NextSyncUnix = m.NextSync.Unix()
}
func (m *Mirror) BeforeUpdate() {
m.UpdatedUnix = time.Now().Unix()
m.NextUpdateUnix = m.NextUpdate.Unix()
m.LastSyncUnix = m.LastSync.Unix()
m.NextSyncUnix = m.NextSync.Unix()
}
func (m *Mirror) AfterSet(colName string, _ xorm.Cell) {
@@ -60,15 +60,15 @@ func (m *Mirror) AfterSet(colName string, _ xorm.Cell) {
log.Error(3, "GetRepositoryByID [%d]: %v", m.ID, err)
}
case "updated_unix":
m.Updated = time.Unix(m.UpdatedUnix, 0).Local()
m.LastSync = time.Unix(m.LastSyncUnix, 0).Local()
case "next_update_unix":
m.NextUpdate = time.Unix(m.NextUpdateUnix, 0).Local()
m.NextSync = time.Unix(m.NextSyncUnix, 0).Local()
}
}
// ScheduleNextUpdate calculates and sets next update time.
func (m *Mirror) ScheduleNextUpdate() {
m.NextUpdate = time.Now().Add(time.Duration(m.Interval) * time.Hour)
// ScheduleNextSync calculates and sets next sync time based on repostiroy mirror setting.
func (m *Mirror) ScheduleNextSync() {
m.NextSync = time.Now().Add(time.Duration(m.Interval) * time.Hour)
}
// findPasswordInMirrorAddress returns start (inclusive) and end index (exclusive)
@@ -188,8 +188,67 @@ func (m *Mirror) SaveAddress(addr string) error {
return cfg.SaveToIndent(configPath, "\t")
}
const GIT_SHORT_EMPTY_SHA = "0000000"
// mirrorSyncResult contains information of a updated reference.
// If the oldCommitID is "0000000", it means a new reference, the value of newCommitID is empty.
// If the newCommitID is "0000000", it means the reference is deleted, the value of oldCommitID is empty.
type mirrorSyncResult struct {
refName string
oldCommitID string
newCommitID string
}
// parseRemoteUpdateOutput detects create, update and delete operations of references from upstream.
func parseRemoteUpdateOutput(output string) []*mirrorSyncResult {
results := make([]*mirrorSyncResult, 0, 3)
lines := strings.Split(output, "\n")
for i := range lines {
// Make sure reference name is presented before continue
idx := strings.Index(lines[i], "-> ")
if idx == -1 {
continue
}
refName := lines[i][idx+3:]
switch {
case strings.HasPrefix(lines[i], " * "): // New reference
results = append(results, &mirrorSyncResult{
refName: refName,
oldCommitID: GIT_SHORT_EMPTY_SHA,
})
case strings.HasPrefix(lines[i], " - "): // Delete reference
results = append(results, &mirrorSyncResult{
refName: refName,
newCommitID: GIT_SHORT_EMPTY_SHA,
})
case strings.HasPrefix(lines[i], " "): // New commits of a reference
delimIdx := strings.Index(lines[i][3:], " ")
if delimIdx == -1 {
log.Error(2, "SHA delimiter not found: %q", lines[i])
continue
}
shas := strings.Split(lines[i][3:delimIdx+3], "..")
if len(shas) != 2 {
log.Error(2, "Expect two SHAs but not what found: %q", lines[i])
continue
}
results = append(results, &mirrorSyncResult{
refName: refName,
oldCommitID: shas[0],
newCommitID: shas[1],
})
default:
log.Warn("parseRemoteUpdateOutput: unexpected update line %q", lines[i])
}
}
return results
}
// runSync returns true if sync finished without error.
func (m *Mirror) runSync() bool {
func (m *Mirror) runSync() ([]*mirrorSyncResult, bool) {
repoPath := m.Repo.RepoPath()
wikiPath := m.Repo.WikiPath()
timeout := time.Duration(setting.Git.Timeout.Mirror) * time.Second
@@ -204,29 +263,32 @@ func (m *Mirror) runSync() bool {
if err := CreateRepositoryNotice(desc); err != nil {
log.Error(2, "CreateRepositoryNotice: %v", err)
}
return false
return nil, false
}
gitArgs := []string{"remote", "update"}
if m.EnablePrune {
gitArgs = append(gitArgs, "--prune")
}
if _, stderr, err := process.ExecDir(
_, stderr, err := process.ExecDir(
timeout, repoPath, fmt.Sprintf("Mirror.runSync: %s", repoPath),
"git", gitArgs...); err != nil {
"git", gitArgs...)
if err != nil {
desc := fmt.Sprintf("Fail to update mirror repository '%s': %s", repoPath, stderr)
log.Error(2, desc)
if err = CreateRepositoryNotice(desc); err != nil {
log.Error(2, "CreateRepositoryNotice: %v", err)
}
return false
return nil, false
}
output := stderr
if err := m.Repo.UpdateSize(); err != nil {
log.Error(2, "UpdateSize [repo_id: %d]: %v", m.Repo.ID, err)
}
if m.Repo.HasWiki() {
// Even if wiki sync failed, we still want results from the main repository
if _, stderr, err := process.ExecDir(
timeout, wikiPath, fmt.Sprintf("Mirror.runSync: %s", wikiPath),
"git", "remote", "update", "--prune"); err != nil {
@@ -235,11 +297,10 @@ func (m *Mirror) runSync() bool {
if err = CreateRepositoryNotice(desc); err != nil {
log.Error(2, "CreateRepositoryNotice: %v", err)
}
return false
}
}
return true
return parseRemoteUpdateOutput(output), true
}
func getMirrorByRepoID(e Engine, repoID int64) (*Mirror, error) {
@@ -301,22 +362,92 @@ func MirrorUpdate() {
func SyncMirrors() {
// Start listening on new sync requests.
for repoID := range MirrorQueue.Queue() {
log.Trace("SyncMirrors [repo_id: %v]", repoID)
log.Trace("SyncMirrors [repo_id: %d]", repoID)
MirrorQueue.Remove(repoID)
m, err := GetMirrorByRepoID(com.StrTo(repoID).MustInt64())
if err != nil {
log.Error(2, "GetMirrorByRepoID [%s]: %v", m.RepoID, err)
log.Error(2, "GetMirrorByRepoID [%d]: %v", m.RepoID, err)
continue
}
if !m.runSync() {
results, ok := m.runSync()
if !ok {
continue
}
m.ScheduleNextUpdate()
m.ScheduleNextSync()
if err = UpdateMirror(m); err != nil {
log.Error(2, "UpdateMirror [%s]: %v", m.RepoID, err)
log.Error(2, "UpdateMirror [%d]: %v", m.RepoID, err)
continue
}
// TODO:
// - Create "Mirror Sync" webhook event
// - Create mirror sync (create, push and delete) events and trigger the "mirror sync" webhooks
var gitRepo *git.Repository
if len(results) == 0 {
log.Trace("SyncMirrors [repo_id: %d]: no commits fetched", m.RepoID)
} else {
gitRepo, err = git.OpenRepository(m.Repo.RepoPath())
if err != nil {
log.Error(2, "OpenRepository [%d]: %v", m.RepoID, err)
continue
}
}
for _, result := range results {
// Discard GitHub pull requests, i.e. refs/pull/*
if strings.HasPrefix(result.refName, "refs/pull/") {
continue
}
// Create reference
if result.oldCommitID == GIT_SHORT_EMPTY_SHA {
if err = MirrorSyncCreateAction(m.Repo, result.refName); err != nil {
log.Error(2, "MirrorSyncCreateAction [repo_id: %d]: %v", m.RepoID, err)
}
continue
}
// Delete reference
if result.newCommitID == GIT_SHORT_EMPTY_SHA {
if err = MirrorSyncDeleteAction(m.Repo, result.refName); err != nil {
log.Error(2, "MirrorSyncDeleteAction [repo_id: %d]: %v", m.RepoID, err)
}
continue
}
// Push commits
oldCommitID, err := git.GetFullCommitID(gitRepo.Path, result.oldCommitID)
if err != nil {
log.Error(2, "GetFullCommitID [%d]: %v", m.RepoID, err)
continue
}
newCommitID, err := git.GetFullCommitID(gitRepo.Path, result.newCommitID)
if err != nil {
log.Error(2, "GetFullCommitID [%d]: %v", m.RepoID, err)
continue
}
commits, err := gitRepo.CommitsBetweenIDs(newCommitID, oldCommitID)
if err != nil {
log.Error(2, "CommitsBetweenIDs [repo_id: %d, new_commit_id: %s, old_commit_id: %s]: %v", m.RepoID, newCommitID, oldCommitID, err)
continue
}
if err = MirrorSyncPushAction(m.Repo, MirrorSyncPushActionOptions{
RefName: result.refName,
OldCommitID: oldCommitID,
NewCommitID: newCommitID,
Commits: ListToPushCommits(commits),
}); err != nil {
log.Error(2, "MirrorSyncPushAction [repo_id: %d]: %v", m.RepoID, err)
continue
}
}
if _, err = x.Exec("UPDATE mirror SET updated_unix = ? WHERE repo_id = ?", time.Now().Unix(), m.RepoID); err != nil {
log.Error(2, "Update 'mirror.updated_unix' [%d]: %v", m.RepoID, err)
continue
}
@@ -324,14 +455,14 @@ func SyncMirrors() {
// update if latest commit date is newer.
commitDate, err := git.GetLatestCommitDate(m.Repo.RepoPath(), "")
if err != nil {
log.Error(2, "GetLatestCommitDate [%s]: %v", m.RepoID, err)
log.Error(2, "GetLatestCommitDate [%d]: %v", m.RepoID, err)
continue
} else if commitDate.Before(m.Repo.Updated) {
continue
}
if _, err = x.Exec("UPDATE repository SET updated_unix = ? WHERE id = ?", commitDate.Unix(), m.RepoID); err != nil {
log.Error(2, "Update repository 'updated_unix' [%s]: %v", m.RepoID, err)
log.Error(2, "Update 'repository.updated_unix' [%d]: %v", m.RepoID, err)
continue
}
}

View File

@@ -10,6 +10,40 @@ import (
. "github.com/smartystreets/goconvey/convey"
)
func Test_parseRemoteUpdateOutput(t *testing.T) {
Convey("Parse mirror remote update output", t, func() {
testCases := []struct {
output string
results []*mirrorSyncResult
}{
{
`
From https://try.gogs.io/unknwon/upsteam
* [new branch] develop -> develop
b0bb24f..1d85a4f master -> master
- [deleted] (none) -> bugfix
`,
[]*mirrorSyncResult{
{"develop", GIT_SHORT_EMPTY_SHA, ""},
{"master", "b0bb24f", "1d85a4f"},
{"bugfix", "", GIT_SHORT_EMPTY_SHA},
},
},
}
for _, tc := range testCases {
results := parseRemoteUpdateOutput(tc.output)
So(len(results), ShouldEqual, len(tc.results))
for i := range tc.results {
So(tc.results[i].refName, ShouldEqual, results[i].refName)
So(tc.results[i].oldCommitID, ShouldEqual, results[i].oldCommitID)
So(tc.results[i].newCommitID, ShouldEqual, results[i].newCommitID)
}
}
})
}
func Test_findPasswordInMirrorAddress(t *testing.T) {
Convey("Find password portion in mirror address", t, func() {
testCases := []struct {

View File

@@ -23,8 +23,8 @@ import (
_ "github.com/lib/pq"
log "gopkg.in/clog.v1"
"github.com/gogits/gogs/models/migrations"
"github.com/gogits/gogs/pkg/setting"
"github.com/gogs/gogs/models/migrations"
"github.com/gogs/gogs/pkg/setting"
)
// Engine represents a XORM engine or session.

View File

@@ -31,7 +31,7 @@ type Team struct {
func (t *Team) AfterSet(colName string, _ xorm.Cell) {
switch colName {
case "num_repos":
// LEGACY [1.0]: this is backward compatibility bug fix for https://github.com/gogits/gogs/issues/3671
// LEGACY [1.0]: this is backward compatibility bug fix for https://github.com/gogs/gogs/issues/3671
if t.NumRepos < 0 {
t.NumRepos = 0
}

View File

@@ -15,13 +15,13 @@ import (
"github.com/go-xorm/xorm"
log "gopkg.in/clog.v1"
"github.com/gogits/git-module"
api "github.com/gogits/go-gogs-client"
"github.com/gogs/git-module"
api "github.com/gogs/go-gogs-client"
"github.com/gogits/gogs/models/errors"
"github.com/gogits/gogs/pkg/process"
"github.com/gogits/gogs/pkg/setting"
"github.com/gogits/gogs/pkg/sync"
"github.com/gogs/gogs/models/errors"
"github.com/gogs/gogs/pkg/process"
"github.com/gogs/gogs/pkg/setting"
"github.com/gogs/gogs/pkg/sync"
)
var PullRequestQueue = sync.NewUniqueQueue(setting.Repository.PullRequestQueueLength)
@@ -221,11 +221,12 @@ func (pr *PullRequest) Merge(doer *User, baseGitRepo *git.Repository, mergeStyle
os.MkdirAll(path.Dir(tmpBasePath), os.ModePerm)
defer os.RemoveAll(path.Dir(tmpBasePath))
// Clone the base repository to the defined temporary directory.
// Clone the base repository to the defined temporary directory,
// and checks out to base branch directly.
var stderr string
if _, stderr, err = process.ExecTimeout(5*time.Minute,
fmt.Sprintf("PullRequest.Merge (git clone): %s", tmpBasePath),
"git", "clone", baseGitRepo.Path, tmpBasePath); err != nil {
"git", "clone", "-b", pr.BaseBranch, baseGitRepo.Path, tmpBasePath); err != nil {
return fmt.Errorf("git clone: %s", stderr)
}
@@ -253,13 +254,6 @@ func (pr *PullRequest) Merge(doer *User, baseGitRepo *git.Repository, mergeStyle
switch mergeStyle {
case MERGE_STYLE_REGULAR: // Create merge commit
// Check out the base branch to be operated on.
if _, stderr, err = process.ExecDir(-1, tmpBasePath,
fmt.Sprintf("PullRequest.Merge (git checkout): %s", tmpBasePath),
"git", "checkout", pr.BaseBranch); err != nil {
return fmt.Errorf("git checkout '%s': %s", pr.BaseBranch, stderr)
}
// Merge changes from head branch.
if _, stderr, err = process.ExecDir(-1, tmpBasePath,
fmt.Sprintf("PullRequest.Merge (git merge --no-ff --no-commit): %s", tmpBasePath),

View File

@@ -13,11 +13,11 @@ import (
"github.com/go-xorm/xorm"
log "gopkg.in/clog.v1"
"github.com/gogits/git-module"
api "github.com/gogits/go-gogs-client"
"github.com/gogs/git-module"
api "github.com/gogs/go-gogs-client"
"github.com/gogits/gogs/models/errors"
"github.com/gogits/gogs/pkg/process"
"github.com/gogs/gogs/models/errors"
"github.com/gogs/gogs/pkg/process"
)
// Release represents a release of repository.

View File

@@ -23,15 +23,15 @@ import (
log "gopkg.in/clog.v1"
"gopkg.in/ini.v1"
git "github.com/gogits/git-module"
api "github.com/gogits/go-gogs-client"
git "github.com/gogs/git-module"
api "github.com/gogs/go-gogs-client"
"github.com/gogits/gogs/models/errors"
"github.com/gogits/gogs/pkg/bindata"
"github.com/gogits/gogs/pkg/markup"
"github.com/gogits/gogs/pkg/process"
"github.com/gogits/gogs/pkg/setting"
"github.com/gogits/gogs/pkg/sync"
"github.com/gogs/gogs/models/errors"
"github.com/gogs/gogs/pkg/bindata"
"github.com/gogs/gogs/pkg/markup"
"github.com/gogs/gogs/pkg/process"
"github.com/gogs/gogs/pkg/setting"
"github.com/gogs/gogs/pkg/sync"
)
var repoWorkingPool = sync.NewExclusivePool()
@@ -750,7 +750,7 @@ func MigrateRepository(doer, owner *User, opts MigrateRepoOptions) (*Repository,
RepoID: repo.ID,
Interval: setting.Mirror.DefaultInterval,
EnablePrune: true,
NextUpdate: time.Now().Add(time.Duration(setting.Mirror.DefaultInterval) * time.Hour),
NextSync: time.Now().Add(time.Duration(setting.Mirror.DefaultInterval) * time.Hour),
}); err != nil {
return repo, fmt.Errorf("InsertOne: %v", err)
}
@@ -854,7 +854,7 @@ type CreateRepoOptions struct {
}
func getRepoInitFile(tp, name string) ([]byte, error) {
relPath := path.Join("conf", tp, strings.TrimLeft(name, "./"))
relPath := path.Join("conf", tp, strings.TrimLeft(path.Clean("/"+name), "/"))
// Use custom file when available.
customPath := path.Join(setting.CustomPath, relPath)

View File

@@ -9,10 +9,10 @@ import (
"strings"
"github.com/Unknwon/com"
"github.com/gogits/git-module"
"github.com/gogs/git-module"
"github.com/gogits/gogs/models/errors"
"github.com/gogits/gogs/pkg/tool"
"github.com/gogs/gogs/models/errors"
"github.com/gogs/gogs/pkg/tool"
)
type Branch struct {

View File

@@ -9,7 +9,7 @@ import (
log "gopkg.in/clog.v1"
api "github.com/gogits/go-gogs-client"
api "github.com/gogs/go-gogs-client"
)
// Collaboration represent the relation between an individual and a repository.

View File

@@ -19,11 +19,11 @@ import (
gouuid "github.com/satori/go.uuid"
log "gopkg.in/clog.v1"
git "github.com/gogits/git-module"
git "github.com/gogs/git-module"
"github.com/gogits/gogs/models/errors"
"github.com/gogits/gogs/pkg/process"
"github.com/gogits/gogs/pkg/setting"
"github.com/gogs/gogs/models/errors"
"github.com/gogs/gogs/pkg/process"
"github.com/gogs/gogs/pkg/setting"
)
// ___________ .___.__ __ ___________.__.__

View File

@@ -5,8 +5,8 @@ import (
. "github.com/smartystreets/goconvey/convey"
. "github.com/gogits/gogs/models"
"github.com/gogits/gogs/pkg/markup"
. "github.com/gogs/gogs/models"
"github.com/gogs/gogs/pkg/markup"
)
func TestRepo(t *testing.T) {

View File

@@ -23,9 +23,9 @@ import (
"golang.org/x/crypto/ssh"
log "gopkg.in/clog.v1"
"github.com/gogits/gogs/pkg/process"
"github.com/gogits/gogs/pkg/setting"
"github.com/gogits/gogs/pkg/tool"
"github.com/gogs/gogs/pkg/process"
"github.com/gogs/gogs/pkg/setting"
"github.com/gogs/gogs/pkg/tool"
)
const (

View File

@@ -11,7 +11,7 @@ import (
. "github.com/smartystreets/goconvey/convey"
"github.com/gogits/gogs/pkg/setting"
"github.com/gogs/gogs/pkg/setting"
)
func init() {

View File

@@ -10,7 +10,7 @@ import (
"github.com/go-xorm/xorm"
gouuid "github.com/satori/go.uuid"
"github.com/gogits/gogs/pkg/tool"
"github.com/gogs/gogs/pkg/tool"
)
// AccessToken represents a personal access token.

View File

@@ -15,9 +15,9 @@ import (
"github.com/pquerna/otp/totp"
log "gopkg.in/clog.v1"
"github.com/gogits/gogs/models/errors"
"github.com/gogits/gogs/pkg/setting"
"github.com/gogits/gogs/pkg/tool"
"github.com/gogs/gogs/models/errors"
"github.com/gogs/gogs/pkg/setting"
"github.com/gogs/gogs/pkg/tool"
)
// TwoFactor represents a two-factor authentication token.

View File

@@ -10,7 +10,7 @@ import (
"os/exec"
"strings"
git "github.com/gogits/git-module"
git "github.com/gogs/git-module"
)
// CommitToPushCommit transforms a git.Commit to PushCommit type.

View File

@@ -26,13 +26,13 @@ import (
"golang.org/x/crypto/pbkdf2"
log "gopkg.in/clog.v1"
"github.com/gogits/git-module"
api "github.com/gogits/go-gogs-client"
"github.com/gogs/git-module"
api "github.com/gogs/go-gogs-client"
"github.com/gogits/gogs/models/errors"
"github.com/gogits/gogs/pkg/avatar"
"github.com/gogits/gogs/pkg/setting"
"github.com/gogits/gogs/pkg/tool"
"github.com/gogs/gogs/models/errors"
"github.com/gogs/gogs/pkg/avatar"
"github.com/gogs/gogs/pkg/setting"
"github.com/gogs/gogs/pkg/tool"
)
type UserType int
@@ -120,6 +120,11 @@ func (u *User) AfterSet(colName string, _ xorm.Cell) {
}
}
// IDStr returns string representation of user's ID.
func (u *User) IDStr() string {
return com.ToStr(u.ID)
}
func (u *User) APIFormat() *api.User {
return &api.User{
ID: u.ID,

16
models/user_cache.go Normal file
View File

@@ -0,0 +1,16 @@
// Copyright 2018 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
// MailResendCacheKey returns key used for cache mail resend.
func (u *User) MailResendCacheKey() string {
return "MailResend_" + u.IDStr()
}
// TwoFactorCacheKey returns key used for cache two factor passcode.
// e.g. TwoFactor_1_012664
func (u *User) TwoFactorCacheKey(passcode string) string {
return "TwoFactor_" + u.IDStr() + "_" + passcode
}

View File

@@ -8,7 +8,7 @@ import (
"fmt"
"strings"
"github.com/gogits/gogs/models/errors"
"github.com/gogs/gogs/models/errors"
)
// EmailAdresses is the list of all email addresses of a user. Can contain the

View File

@@ -19,12 +19,12 @@ import (
gouuid "github.com/satori/go.uuid"
log "gopkg.in/clog.v1"
api "github.com/gogits/go-gogs-client"
api "github.com/gogs/go-gogs-client"
"github.com/gogits/gogs/models/errors"
"github.com/gogits/gogs/pkg/httplib"
"github.com/gogits/gogs/pkg/setting"
"github.com/gogits/gogs/pkg/sync"
"github.com/gogs/gogs/models/errors"
"github.com/gogs/gogs/pkg/httplib"
"github.com/gogs/gogs/pkg/setting"
"github.com/gogs/gogs/pkg/sync"
)
var HookQueue = sync.NewUniqueQueue(setting.Webhook.QueueLength)
@@ -68,8 +68,8 @@ type HookEvents struct {
Fork bool `json:"fork"`
Push bool `json:"push"`
Issues bool `json:"issues"`
IssueComment bool `json:"issue_comment"`
PullRequest bool `json:"pull_request"`
IssueComment bool `json:"issue_comment"`
Release bool `json:"release"`
}
@@ -186,18 +186,18 @@ func (w *Webhook) HasIssuesEvent() bool {
(w.ChooseEvents && w.HookEvents.Issues)
}
// HasIssueCommentEvent returns true if hook enabled issue comment event.
func (w *Webhook) HasIssueCommentEvent() bool {
return w.SendEverything ||
(w.ChooseEvents && w.HookEvents.IssueComment)
}
// HasPullRequestEvent returns true if hook enabled pull request event.
func (w *Webhook) HasPullRequestEvent() bool {
return w.SendEverything ||
(w.ChooseEvents && w.HookEvents.PullRequest)
}
// HasIssueCommentEvent returns true if hook enabled issue comment event.
func (w *Webhook) HasIssueCommentEvent() bool {
return w.SendEverything ||
(w.ChooseEvents && w.HookEvents.IssueComment)
}
// HasReleaseEvent returns true if hook enabled release event.
func (w *Webhook) HasReleaseEvent() bool {
return w.SendEverything ||
@@ -210,15 +210,15 @@ type eventChecker struct {
}
func (w *Webhook) EventsArray() []string {
events := make([]string, 0, 7)
events := make([]string, 0, 8)
eventCheckers := []eventChecker{
{w.HasCreateEvent, HOOK_EVENT_CREATE},
{w.HasDeleteEvent, HOOK_EVENT_DELETE},
{w.HasForkEvent, HOOK_EVENT_FORK},
{w.HasPushEvent, HOOK_EVENT_PUSH},
{w.HasIssuesEvent, HOOK_EVENT_ISSUES},
{w.HasIssueCommentEvent, HOOK_EVENT_ISSUE_COMMENT},
{w.HasPullRequestEvent, HOOK_EVENT_PULL_REQUEST},
{w.HasIssueCommentEvent, HOOK_EVENT_ISSUE_COMMENT},
{w.HasReleaseEvent, HOOK_EVENT_RELEASE},
}
for _, c := range eventCheckers {
@@ -392,8 +392,8 @@ const (
HOOK_EVENT_FORK HookEventType = "fork"
HOOK_EVENT_PUSH HookEventType = "push"
HOOK_EVENT_ISSUES HookEventType = "issues"
HOOK_EVENT_ISSUE_COMMENT HookEventType = "issue_comment"
HOOK_EVENT_PULL_REQUEST HookEventType = "pull_request"
HOOK_EVENT_ISSUE_COMMENT HookEventType = "issue_comment"
HOOK_EVENT_RELEASE HookEventType = "release"
)
@@ -549,14 +549,14 @@ func prepareHookTasks(e Engine, repo *Repository, event HookEventType, p api.Pay
if !w.HasIssuesEvent() {
continue
}
case HOOK_EVENT_ISSUE_COMMENT:
if !w.HasIssueCommentEvent() {
continue
}
case HOOK_EVENT_PULL_REQUEST:
if !w.HasPullRequestEvent() {
continue
}
case HOOK_EVENT_ISSUE_COMMENT:
if !w.HasIssueCommentEvent() {
continue
}
case HOOK_EVENT_RELEASE:
if !w.HasReleaseEvent() {
continue

View File

@@ -9,8 +9,8 @@ import (
"fmt"
"strings"
"github.com/gogits/git-module"
api "github.com/gogits/go-gogs-client"
"github.com/gogs/git-module"
api "github.com/gogs/go-gogs-client"
)
const (

View File

@@ -10,10 +10,10 @@ import (
"strconv"
"strings"
"github.com/gogits/git-module"
api "github.com/gogits/go-gogs-client"
"github.com/gogs/git-module"
api "github.com/gogs/go-gogs-client"
"github.com/gogits/gogs/pkg/setting"
"github.com/gogs/gogs/pkg/setting"
)
type DiscordEmbedFooterObject struct {

View File

@@ -9,10 +9,10 @@ import (
"fmt"
"strings"
"github.com/gogits/git-module"
api "github.com/gogits/go-gogs-client"
"github.com/gogs/git-module"
api "github.com/gogs/go-gogs-client"
"github.com/gogits/gogs/pkg/setting"
"github.com/gogs/gogs/pkg/setting"
)
type SlackMeta struct {

View File

@@ -15,10 +15,10 @@ import (
"github.com/Unknwon/com"
"github.com/gogits/git-module"
"github.com/gogs/git-module"
"github.com/gogits/gogs/pkg/setting"
"github.com/gogits/gogs/pkg/sync"
"github.com/gogs/gogs/pkg/setting"
"github.com/gogs/gogs/pkg/sync"
)
var wikiWorkingPool = sync.NewExclusivePool()
@@ -33,7 +33,7 @@ func ToWikiPageURL(name string) string {
// that are not belong to wiki repository.
func ToWikiPageName(urlString string) string {
name, _ := url.QueryUnescape(urlString)
return strings.Replace(strings.TrimLeft(name, "./"), "/", " ", -1)
return strings.Replace(strings.TrimLeft(path.Clean("/"+name), "/"), "/", " ", -1)
}
// WikiCloneLink returns clone URLs of repository wiki.

View File

@@ -13,10 +13,10 @@ import (
log "gopkg.in/clog.v1"
"gopkg.in/macaron.v1"
"github.com/gogits/gogs/models"
"github.com/gogits/gogs/models/errors"
"github.com/gogits/gogs/pkg/setting"
"github.com/gogits/gogs/pkg/tool"
"github.com/gogs/gogs/models"
"github.com/gogs/gogs/models/errors"
"github.com/gogs/gogs/pkg/setting"
"github.com/gogs/gogs/pkg/tool"
)
func IsAPIPath(url string) bool {
@@ -127,10 +127,10 @@ func SignedInUser(ctx *macaron.Context, sess session.Store) (*models.User, bool)
if len(auths) == 2 && auths[0] == "Basic" {
uname, passwd, _ := tool.BasicAuthDecode(auths[1])
u, err := models.UserSignIn(uname, passwd)
u, err := models.UserLogin(uname, passwd, -1)
if err != nil {
if !errors.IsUserNotExist(err) {
log.Error(4, "UserSignIn: %v", err)
log.Error(4, "UserLogin: %v", err)
}
return nil, false
}

View File

@@ -26,15 +26,14 @@ const (
// Basic LDAP authentication service
type Source struct {
Name string // canonical name (ie. corporate.ad)
Host string // LDAP host
Port int // port number
SecurityProtocol SecurityProtocol
SkipVerify bool
BindDN string // DN to bind with
BindPassword string // Bind DN password
UserBase string // Base search path for users
UserDN string // Template for the DN of the user for simple auth
BindDN string `ini:"bind_dn,omitempty"` // DN to bind with
BindPassword string `ini:",omitempty"` // Bind DN password
UserBase string `ini:",omitempty"` // Base search path for users
UserDN string `ini:"user_dn,omitempty"` // Template for the DN of the user for simple auth
AttributeUsername string // Username attribute
AttributeName string // First name attribute
AttributeSurname string // Surname attribute
@@ -43,11 +42,10 @@ type Source struct {
Filter string // Query filter to validate entry
AdminFilter string // Query filter to check if user is admin
GroupEnabled bool // if the group checking is enabled
GroupDN string // Group Search Base
GroupDN string `ini:"group_dn"` // Group Search Base
GroupFilter string // Group Name Filter
GroupMemberUID string // Group Attribute containing array of UserUID
UserUID string // User Attribute listed in Group
Enabled bool // if this source is disabled
GroupMemberUID string `ini:"group_member_uid"` // Group Attribute containing array of UserUID
UserUID string `ini:"user_uid"` // User Attribute listed in Group
}
func (ls *Source) sanitizedUserQuery(username string) (string, bool) {
@@ -58,7 +56,7 @@ func (ls *Source) sanitizedUserQuery(username string) (string, bool) {
return "", false
}
return fmt.Sprintf(ls.Filter, username), true
return strings.Replace(ls.Filter, "%s", username, -1), true
}
func (ls *Source) sanitizedUserDN(username string) (string, bool) {
@@ -69,7 +67,7 @@ func (ls *Source) sanitizedUserDN(username string) (string, bool) {
return "", false
}
return fmt.Sprintf(ls.UserDN, username), true
return strings.Replace(ls.UserDN, "%s", username, -1), true
}
func (ls *Source) sanitizedGroupFilter(group string) (string, bool) {
@@ -186,7 +184,6 @@ func (ls *Source) SearchEntry(name, passwd string, directBind bool) (string, str
l, err := dial(ls)
if err != nil {
log.Error(2, "LDAP connect failed for '%s': %v", ls.Host, err)
ls.Enabled = false
return "", "", "", "", false, false
}
defer l.Close()

File diff suppressed because one or more lines are too long

View File

@@ -12,7 +12,7 @@ import (
log "gopkg.in/clog.v1"
"gopkg.in/macaron.v1"
"github.com/gogits/gogs/pkg/setting"
"github.com/gogs/gogs/pkg/setting"
)
type APIContext struct {
@@ -20,8 +20,8 @@ type APIContext struct {
Org *APIOrganization
}
// FIXME: move to github.com/gogits/go-gogs-client
const DOC_URL = "https://github.com/gogits/go-gogs-client/wiki"
// FIXME: move to github.com/gogs/go-gogs-client
const DOC_URL = "https://github.com/gogs/go-gogs-client/wiki"
// Error responses error message to client with given message.
// If status is 500, also it prints error to log.

View File

@@ -5,7 +5,7 @@
package context
import (
"github.com/gogits/gogs/models"
"github.com/gogs/gogs/models"
)
type APIOrganization struct {

View File

@@ -10,8 +10,8 @@ import (
"github.com/go-macaron/csrf"
"gopkg.in/macaron.v1"
"github.com/gogits/gogs/pkg/auth"
"github.com/gogits/gogs/pkg/setting"
"github.com/gogs/gogs/pkg/auth"
"github.com/gogs/gogs/pkg/setting"
)
type ToggleOptions struct {

View File

@@ -21,11 +21,11 @@ import (
log "gopkg.in/clog.v1"
"gopkg.in/macaron.v1"
"github.com/gogits/gogs/models"
"github.com/gogits/gogs/models/errors"
"github.com/gogits/gogs/pkg/auth"
"github.com/gogits/gogs/pkg/form"
"github.com/gogits/gogs/pkg/setting"
"github.com/gogs/gogs/models"
"github.com/gogs/gogs/models/errors"
"github.com/gogs/gogs/pkg/auth"
"github.com/gogs/gogs/pkg/form"
"github.com/gogs/gogs/pkg/setting"
)
// Context represents context of a request.

Some files were not shown because too many files have changed in this diff Show More