mirror of
https://github.com/gogs/gogs.git
synced 2026-07-18 11:52:01 +02:00
Compare commits
56 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2978bb1773 | ||
|
|
0152e12172 | ||
|
|
38d73a4be6 | ||
|
|
34bd04f925 | ||
|
|
17d789a785 | ||
|
|
63a263f542 | ||
|
|
932490d7f1 | ||
|
|
a855abf8c0 | ||
|
|
0d2398aaff | ||
|
|
c17a6ff533 | ||
|
|
c3c7944d79 | ||
|
|
75555585e8 | ||
|
|
28e0003a9a | ||
|
|
2818ce4632 | ||
|
|
52ee796d6d | ||
|
|
0f737f2999 | ||
|
|
6a185e94b9 | ||
|
|
ba0a78da2a | ||
|
|
f0bbcef3a4 | ||
|
|
d7280f82ac | ||
|
|
aa53d0978c | ||
|
|
ffdd8b3afa | ||
|
|
86d249eb16 | ||
|
|
28f74cf1c6 | ||
|
|
83655d5c00 | ||
|
|
63eaac67a6 | ||
|
|
1f7983059a | ||
|
|
51e087fd87 | ||
|
|
679147cd5d | ||
|
|
40eb652cfa | ||
|
|
f4e4ea1374 | ||
|
|
199d67581a | ||
|
|
49bd893a77 | ||
|
|
8729a60c1d | ||
|
|
e4f187cd3d | ||
|
|
f9c706e31b | ||
|
|
c5728291ba | ||
|
|
68d22e78bf | ||
|
|
0bfce7aca4 | ||
|
|
7faa2356d8 | ||
|
|
2a8a293c7c | ||
|
|
f3e8352193 | ||
|
|
ca874ba8c7 | ||
|
|
f274f76607 | ||
|
|
a8b9cefa73 | ||
|
|
b9e4a052b8 | ||
|
|
4a669f5478 | ||
|
|
ade8aab43f | ||
|
|
17d2a9c435 | ||
|
|
6f2347fc71 | ||
|
|
dd245fe8bd | ||
|
|
f12c058b78 | ||
|
|
3cba8778b2 | ||
|
|
1c33c936e6 | ||
|
|
67d67289c7 | ||
|
|
f4ab9f9932 |
64
.gopmfile
64
.gopmfile
@@ -1,64 +0,0 @@
|
||||
[target]
|
||||
path = github.com/gogits/gogs
|
||||
|
||||
[deps]
|
||||
github.com/bradfitz/gomemcache = commit:2fafb84
|
||||
github.com/urfave/cli = commit:347a988
|
||||
github.com/go-macaron/binding = commit:4892016
|
||||
github.com/go-macaron/cache = commit:5617353
|
||||
github.com/go-macaron/captcha = commit:8aa5919
|
||||
github.com/go-macaron/csrf = commit:6a9a7df
|
||||
github.com/go-macaron/gzip = commit:cad1c65
|
||||
github.com/go-macaron/i18n = commit:ef57533
|
||||
github.com/go-macaron/inject = commit:d8a0b86
|
||||
github.com/go-macaron/session = commit:66031fc
|
||||
github.com/go-macaron/toolbox = commit:82b5115
|
||||
github.com/go-sql-driver/mysql = commit:2e00b5c
|
||||
github.com/go-xorm/builder = commit:9c35786
|
||||
github.com/go-xorm/core = commit:7daacb2
|
||||
github.com/go-xorm/xorm = commit:19f6dfc
|
||||
github.com/gogits/chardet = commit:2404f77
|
||||
github.com/gogits/cron = commit:2fc07a4
|
||||
github.com/gogits/git-module = commit:1b9552b
|
||||
github.com/gogits/go-gogs-client = commit:264a3d5
|
||||
github.com/gogits/go-libravatar = commit:cd1abbd
|
||||
github.com/issue9/identicon = commit:d36b545
|
||||
github.com/jaytaylor/html2text = commit:d16d412
|
||||
github.com/kardianos/minwinsvc = commit:cad6b2b
|
||||
github.com/klauspost/compress = commit:461e8fd
|
||||
github.com/klauspost/cpuid = commit:09cded8
|
||||
github.com/klauspost/crc32 = commit:cb6bfca
|
||||
github.com/lib/pq = commit:67c3f2a
|
||||
github.com/mattn/go-colorable = commit:d228849
|
||||
github.com/mattn/go-isatty = commit:30a891c
|
||||
github.com/mattn/go-sqlite3 = commit:ce9149a
|
||||
github.com/mcuadros/go-version = commit:257f7b9
|
||||
github.com/microcosm-cc/bluemonday = commit:e797637
|
||||
github.com/msteinert/pam = commit:02ccfbf
|
||||
github.com/nfnt/resize = commit:891127d
|
||||
github.com/russross/blackfriday = commit:5f33e7b
|
||||
github.com/satori/go.uuid = commit:b061729
|
||||
github.com/sergi/go-diff = commit:24e2351
|
||||
github.com/shurcooL/sanitized_anchor_name = commit:1dba4b3
|
||||
github.com/Unknwon/cae = commit:c6aac99
|
||||
github.com/Unknwon/com = commit:28b053d
|
||||
github.com/Unknwon/i18n = commit:e0eb0ce
|
||||
github.com/Unknwon/paginater = commit:701c23f
|
||||
github.com/fatih/color = commit:42c364b
|
||||
golang.org/x/crypto = commit:dc137be
|
||||
golang.org/x/net = commit:f249948
|
||||
golang.org/x/sys = commit:d75a526
|
||||
golang.org/x/text = commit:ece019d
|
||||
gopkg.in/alexcesaro/quotedprintable.v3 = commit:2caba25
|
||||
gopkg.in/asn1-ber.v1 = commit:4e86f43
|
||||
gopkg.in/bufio.v1 = commit:567b2bf
|
||||
gopkg.in/clog.v1 = commit:bf4bf4a
|
||||
gopkg.in/editorconfig/editorconfig-core-go.v1 = commit:a872f05
|
||||
gopkg.in/gomail.v2 = commit:81ebce5
|
||||
gopkg.in/ini.v1 = commit:e3c2d47
|
||||
gopkg.in/ldap.v2 = commit:8168ee0
|
||||
gopkg.in/macaron.v1 = commit:8be5635
|
||||
gopkg.in/redis.v2 = commit:e617904
|
||||
|
||||
[res]
|
||||
include = public|scripts|templates
|
||||
@@ -7,6 +7,8 @@ targets:
|
||||
- git
|
||||
debian-8:
|
||||
<<: *debian
|
||||
debian-9:
|
||||
<<: *debian
|
||||
ubuntu-12.04:
|
||||
<<: *debian
|
||||
ubuntu-14.04:
|
||||
|
||||
@@ -4,6 +4,7 @@ go:
|
||||
- 1.7.x
|
||||
- 1.8.x
|
||||
- 1.9.x
|
||||
- 1.10.x
|
||||
- master
|
||||
|
||||
before_install:
|
||||
|
||||
44
Dockerfile.aarch64hub
Normal file
44
Dockerfile.aarch64hub
Normal file
@@ -0,0 +1,44 @@
|
||||
FROM arm64v8/alpine:3.6
|
||||
|
||||
ENV GOGS_CUSTOM /data/gogs
|
||||
ENV QEMU_EXECVE 1
|
||||
|
||||
# For cross compile on dockerhub
|
||||
################################
|
||||
|
||||
COPY ./docker/aarch64/qemu-aarch64-static /usr/bin/
|
||||
COPY ./docker/aarch64/resin-xbuild /usr/bin/
|
||||
|
||||
RUN [ "/usr/bin/qemu-aarch64-static", "/bin/sh", "-c", "ln -s resin-xbuild /usr/bin/cross-build-start; ln -s resin-xbuild /usr/bin/cross-build-end; ln /bin/sh /bin/sh.real" ]
|
||||
|
||||
RUN [ "cross-build-start" ]
|
||||
|
||||
# Prepare the container
|
||||
#######################
|
||||
|
||||
# Install system utils & Gogs runtime dependencies
|
||||
ADD https://github.com/tianon/gosu/releases/download/1.9/gosu-arm64 /usr/sbin/gosu
|
||||
RUN chmod +x /usr/sbin/gosu \
|
||||
&& apk --no-cache --no-progress add ca-certificates bash git linux-pam s6 curl openssh socat tzdata go
|
||||
|
||||
|
||||
COPY . /app/gogs/build
|
||||
WORKDIR /app/gogs/build
|
||||
|
||||
RUN ./docker/build.sh \
|
||||
&& ./docker/finalize.sh
|
||||
|
||||
# Configure LibC Name Service
|
||||
COPY docker/nsswitch.conf /etc/nsswitch.conf
|
||||
|
||||
# For cross compile on dockerhub
|
||||
################################
|
||||
|
||||
RUN [ "cross-build-end" ]
|
||||
|
||||
# Configure Docker Container
|
||||
############################
|
||||
VOLUME ["/data"]
|
||||
EXPOSE 22 3000
|
||||
ENTRYPOINT ["/app/gogs/docker/start.sh"]
|
||||
CMD ["/bin/s6-svscan", "/app/gogs/docker/s6/"]
|
||||
10
README.md
10
README.md
@@ -1,4 +1,4 @@
|
||||
Gogs [](https://travis-ci.org/gogits/gogs) [](https://ci.appveyor.com/project/Unknwon/gogs/branch/master) [](https://crowdin.com/project/gogs)
|
||||
Gogs [](https://travis-ci.org/gogits/gogs) [](https://ci.appveyor.com/project/Unknwon/gogs/branch/master) [](https://crowdin.com/project/gogs) [](https://discord.gg/9aqdHU7)
|
||||
=====================
|
||||
|
||||

|
||||
@@ -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 ([26 languages](https://crowdin.com/project/gogs))
|
||||
- Multi-language support ([28 languages](https://crowdin.com/project/gogs))
|
||||
|
||||
## Hardware Requirements
|
||||
|
||||
@@ -124,9 +124,9 @@ There are 5 ways to install Gogs:
|
||||
## Acknowledgments
|
||||
|
||||
- Thanks [Egon Elbre](https://twitter.com/egonelbre) for designing logo.
|
||||
- Thanks [Crowdin](https://crowdin.com/project/gogs) for providing open source translation plan.
|
||||
- Thanks [DigitalOcean](https://www.digitalocean.com) for hosting home and demo sites.
|
||||
- Thanks [KeyCDN](https://www.keycdn.com/) and [QiNiu](http://www.qiniu.com/) for providing CDN service.
|
||||
- Thanks [Crowdin](https://crowdin.com/project/gogs) for sponsoring open source translation plan.
|
||||
- Thanks [DigitalOcean](https://www.digitalocean.com) for sponsoring VPS service.
|
||||
- Thanks [KeyCDN](https://www.keycdn.com/) for sponsoring CDN service.
|
||||
|
||||
## Contributors
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@ Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自
|
||||
- 支持邮件服务
|
||||
- 支持后台管理面板
|
||||
- 支持 MySQL、PostgreSQL、SQLite3、MSSQL 和 [TiDB](https://github.com/pingcap/tidb)(通过 MySQL 协议)数据库
|
||||
- 支持多语言本地化([26 种语言]([more](https://crowdin.com/project/gogs)))
|
||||
- 支持多语言本地化([28 种语言]([more](https://crowdin.com/project/gogs)))
|
||||
|
||||
## 硬件要求
|
||||
|
||||
@@ -95,7 +95,7 @@ Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自
|
||||
- 感谢 [Egon Elbre](https://twitter.com/egonelbre) 设计的 Logo。
|
||||
- 感谢 [Crowdin](https://crowdin.com/project/gogs) 提供免费的开源项目本地化支持。
|
||||
- 感谢 [DigitalOcean](https://www.digitalocean.com) 提供主站和体验站点的服务器赞助。
|
||||
- 感谢 [KeyCDN](https://www.keycdn.com/) 和 [七牛云存储](http://www.qiniu.com/) 提供 CDN 服务赞助。
|
||||
- 感谢 [KeyCDN](https://www.keycdn.com/) 提供 CDN 服务赞助。
|
||||
|
||||
## 贡献成员
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ to make automatic initialization process more smoothly`,
|
||||
subcmdDeleteRepositoryArchives,
|
||||
subcmdDeleteMissingRepositories,
|
||||
subcmdGitGcRepos,
|
||||
subcmdRewriteAllPublicKeys,
|
||||
subcmdRewriteAuthorizedKeys,
|
||||
subcmdSyncRepositoryHooks,
|
||||
subcmdReinitMissingRepositories,
|
||||
},
|
||||
@@ -94,11 +94,11 @@ to make automatic initialization process more smoothly`,
|
||||
},
|
||||
}
|
||||
|
||||
subcmdRewriteAllPublicKeys = cli.Command{
|
||||
Name: "rewrite-public-keys",
|
||||
subcmdRewriteAuthorizedKeys = cli.Command{
|
||||
Name: "rewrite-authorized-keys",
|
||||
Usage: "Rewrite '.ssh/authorized_keys' file (caution: non-Gogs keys will be lost)",
|
||||
Action: adminDashboardOperation(
|
||||
models.RewriteAllPublicKeys,
|
||||
models.RewriteAuthorizedKeys,
|
||||
"All public keys have been rewritten successfully",
|
||||
),
|
||||
Flags: []cli.Flag{
|
||||
|
||||
@@ -22,6 +22,7 @@ import (
|
||||
"github.com/gogits/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"
|
||||
@@ -94,7 +95,7 @@ func runHookPreReceive(c *cli.Context) error {
|
||||
repoID := com.StrTo(os.Getenv(http.ENV_REPO_ID)).MustInt64()
|
||||
protectBranch, err := models.GetProtectBranchOfRepoByName(repoID, branchName)
|
||||
if err != nil {
|
||||
if models.IsErrBranchNotExist(err) {
|
||||
if errors.IsErrBranchNotExist(err) {
|
||||
continue
|
||||
}
|
||||
fail("Internal error", "GetProtectBranchOfRepoByName [repo_id: %d, branch: %s]: %v", repoID, branchName, err)
|
||||
|
||||
@@ -172,6 +172,8 @@ func runWeb(c *cli.Context) error {
|
||||
|
||||
bindIgnErr := binding.BindIgnErr
|
||||
|
||||
m.SetAutoHead(true)
|
||||
|
||||
// FIXME: not all routes need go through same middlewares.
|
||||
// Especially some AJAX requests, we can reduce middleware number to improve performance.
|
||||
// Routers.
|
||||
@@ -635,8 +637,10 @@ func runWeb(c *cli.Context) error {
|
||||
// e.g. with or without ".git" suffix.
|
||||
m.Group("/:reponame([\\d\\w-_\\.]+\\.git$)", func() {
|
||||
m.Get("", ignSignIn, context.RepoAssignment(), context.RepoRef(), repo.Home)
|
||||
m.Options("/*", ignSignInAndCsrf, repo.HTTPContexter(), repo.HTTP)
|
||||
m.Route("/*", "GET,POST", ignSignInAndCsrf, repo.HTTPContexter(), repo.HTTP)
|
||||
})
|
||||
m.Options("/:reponame/*", ignSignInAndCsrf, repo.HTTPContexter(), repo.HTTP)
|
||||
m.Route("/:reponame/*", "GET,POST", ignSignInAndCsrf, repo.HTTPContexter(), repo.HTTP)
|
||||
})
|
||||
// ***** END: Repository *****
|
||||
@@ -723,7 +727,7 @@ func runWeb(c *cli.Context) error {
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
log.Fatal(4, "Fail to start server: %v", err)
|
||||
log.Fatal(4, "Failed to start server: %v", err)
|
||||
}
|
||||
|
||||
return nil
|
||||
|
||||
17
conf/app.ini
17
conf/app.ini
@@ -35,6 +35,8 @@ SSH_LISTEN_HOST = 0.0.0.0
|
||||
SSH_LISTEN_PORT = %(SSH_PORT)s
|
||||
; Root path of SSH directory, default is '~/.ssh', but you have to use '/home/git/.ssh'.
|
||||
SSH_ROOT_PATH =
|
||||
; Indicate whether to rewrite authorized_keys at start, ignored when use builtin SSH server
|
||||
REWRITE_AUTHORIZED_KEYS_AT_START = false
|
||||
; Choose the ciphers to support for SSH connections
|
||||
SSH_SERVER_CIPHERS = aes128-ctr, aes192-ctr, aes256-ctr, aes128-gcm@openssh.com, arcfour256, arcfour128
|
||||
; Directory to create temporary files when test publick key using ssh-keygen,
|
||||
@@ -224,8 +226,8 @@ PAGING_NUM = 10
|
||||
ENABLED = false
|
||||
; Buffer length of channel, keep it as it is if you don't know what it is.
|
||||
SEND_BUFFER_LEN = 100
|
||||
; Name displayed in mail title
|
||||
SUBJECT = %(APP_NAME)s
|
||||
; Prefix prepended to the subject line
|
||||
SUBJECT_PREFIX = `[%(APP_NAME)s] `
|
||||
; Mail server
|
||||
; Gmail: smtp.gmail.com:587
|
||||
; QQ: smtp.qq.com:465
|
||||
@@ -292,7 +294,7 @@ DISABLE_GRAVATAR = false
|
||||
; Federated avatar lookup uses DNS to discover avatar associated
|
||||
; with emails, see https://www.libravatar.org
|
||||
; This value will be forced to be false in offline mode or Gravatar is disbaled.
|
||||
ENABLE_FEDERATED_AVATAR = true
|
||||
ENABLE_FEDERATED_AVATAR = false
|
||||
|
||||
; Attachment settings for issues
|
||||
[attachment]
|
||||
@@ -453,8 +455,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
|
||||
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,slovenský
|
||||
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
|
||||
|
||||
; Used for datetimepicker
|
||||
[i18n.datelang]
|
||||
@@ -481,6 +483,11 @@ sv-SE = sv
|
||||
ko-KR = ko
|
||||
gl-ES = gl
|
||||
uk-UA = uk
|
||||
en-GB = en-GB
|
||||
hu-HU = hu
|
||||
sk-SK = sk
|
||||
id-ID = id
|
||||
fa-IR = fa
|
||||
|
||||
; Extension mapping to highlight class
|
||||
; e.g. .toml=ini
|
||||
|
||||
63
conf/gitignore/PhpStorm
vendored
Normal file
63
conf/gitignore/PhpStorm
vendored
Normal file
@@ -0,0 +1,63 @@
|
||||
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm
|
||||
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
|
||||
|
||||
# User-specific stuff:
|
||||
.idea/**/workspace.xml
|
||||
.idea/**/tasks.xml
|
||||
.idea/dictionaries
|
||||
|
||||
# Sensitive or high-churn files:
|
||||
.idea/**/dataSources/
|
||||
.idea/**/dataSources.ids
|
||||
.idea/**/dataSources.xml
|
||||
.idea/**/dataSources.local.xml
|
||||
.idea/**/sqlDataSources.xml
|
||||
.idea/**/dynamic.xml
|
||||
.idea/**/uiDesigner.xml
|
||||
|
||||
# Gradle:
|
||||
.idea/**/gradle.xml
|
||||
.idea/**/libraries
|
||||
|
||||
# CMake
|
||||
cmake-build-debug/
|
||||
|
||||
# Mongo Explorer plugin:
|
||||
.idea/**/mongoSettings.xml
|
||||
|
||||
## File-based project format:
|
||||
*.iws
|
||||
|
||||
## Plugin-specific files:
|
||||
|
||||
# IntelliJ
|
||||
/out/
|
||||
|
||||
# mpeltonen/sbt-idea plugin
|
||||
.idea_modules/
|
||||
|
||||
# JIRA plugin
|
||||
atlassian-ide-plugin.xml
|
||||
|
||||
# Cursive Clojure plugin
|
||||
.idea/replstate.xml
|
||||
|
||||
# Ruby plugin and RubyMine
|
||||
/.rakeTasks
|
||||
|
||||
# Crashlytics plugin (for Android Studio and IntelliJ)
|
||||
com_crashlytics_export_strings.xml
|
||||
crashlytics.properties
|
||||
crashlytics-build.properties
|
||||
fabric.properties
|
||||
|
||||
### PhpStorm Patch ###
|
||||
# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721
|
||||
|
||||
# *.iml
|
||||
# modules.xml
|
||||
# .idea/misc.xml
|
||||
# *.ipr
|
||||
|
||||
# Sonarlint plugin
|
||||
.idea/sonarlint
|
||||
63
conf/gitignore/WebStorm
vendored
Normal file
63
conf/gitignore/WebStorm
vendored
Normal file
@@ -0,0 +1,63 @@
|
||||
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm
|
||||
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
|
||||
|
||||
# User-specific stuff:
|
||||
.idea/**/workspace.xml
|
||||
.idea/**/tasks.xml
|
||||
.idea/dictionaries
|
||||
|
||||
# Sensitive or high-churn files:
|
||||
.idea/**/dataSources/
|
||||
.idea/**/dataSources.ids
|
||||
.idea/**/dataSources.xml
|
||||
.idea/**/dataSources.local.xml
|
||||
.idea/**/sqlDataSources.xml
|
||||
.idea/**/dynamic.xml
|
||||
.idea/**/uiDesigner.xml
|
||||
|
||||
# Gradle:
|
||||
.idea/**/gradle.xml
|
||||
.idea/**/libraries
|
||||
|
||||
# CMake
|
||||
cmake-build-debug/
|
||||
|
||||
# Mongo Explorer plugin:
|
||||
.idea/**/mongoSettings.xml
|
||||
|
||||
## File-based project format:
|
||||
*.iws
|
||||
|
||||
## Plugin-specific files:
|
||||
|
||||
# IntelliJ
|
||||
/out/
|
||||
|
||||
# mpeltonen/sbt-idea plugin
|
||||
.idea_modules/
|
||||
|
||||
# JIRA plugin
|
||||
atlassian-ide-plugin.xml
|
||||
|
||||
# Cursive Clojure plugin
|
||||
.idea/replstate.xml
|
||||
|
||||
# Ruby plugin and RubyMine
|
||||
/.rakeTasks
|
||||
|
||||
# Crashlytics plugin (for Android Studio and IntelliJ)
|
||||
com_crashlytics_export_strings.xml
|
||||
crashlytics.properties
|
||||
crashlytics-build.properties
|
||||
fabric.properties
|
||||
|
||||
### WebStorm Patch ###
|
||||
# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721
|
||||
|
||||
# *.iml
|
||||
# modules.xml
|
||||
# .idea/misc.xml
|
||||
# *.ipr
|
||||
|
||||
# Sonarlint plugin
|
||||
.idea/sonarlint
|
||||
@@ -31,6 +31,7 @@ Dmitriy Nogay <me AT catwhocode DOT ga>
|
||||
Enrico Testori hypertesto AT gmail DOT com
|
||||
Ezequiel Gonzalez Rial <gonrial AT gmail DOT com>
|
||||
Farhan Naysee <wpmagic70 AT gmail DOT com>
|
||||
Flávio Monteiro <flaviomonteiro2013 AT gmail DOT com>
|
||||
Gabriel Dugny <gabriel DOT dugny AT gmail DOT com>
|
||||
Ganesha <reekoheek AT gmail DOT com>
|
||||
Gregor Santner <gdev AT live DOT de>
|
||||
|
||||
@@ -169,11 +169,11 @@ reset_password_helper=Щракнете тук, за да нулирате пар
|
||||
password_too_short=Размерът на паролата не може да бъде по-малък от 6 знака.
|
||||
non_local_account=Нелокални потребители не могат да сменят паролата си през Gogs.
|
||||
|
||||
login_two_factor=Two-factor Authentication
|
||||
login_two_factor=Двуфакторно удостоверяване
|
||||
login_two_factor_passcode=Парола за удостоверяване
|
||||
login_two_factor_enter_recovery_code=Enter a two-factor recovery code
|
||||
login_two_factor_recovery=Two-factor Recovery
|
||||
login_two_factor_recovery_code=Recovery Code
|
||||
login_two_factor_recovery_code=Код за възстановяване
|
||||
login_two_factor_enter_passcode=Enter a two-factor passcode
|
||||
login_two_factor_invalid_recovery_code=Този код за възстановяване вече е бил използван или не е валиден.
|
||||
|
||||
@@ -761,7 +761,7 @@ settings.wiki_deletion_success=Данните за уики на това хра
|
||||
settings.delete=Изтрий това хранилище
|
||||
settings.delete_desc=След като изтриете хранилището, няма връщане назад. Моля, бъдете сигурни.
|
||||
settings.delete_notices_1=- Тази операция <strong>НЕ МОЖЕ</strong> да бъде отменена в последствие.
|
||||
settings.delete_notices_2=- Тази операция ще изтрие всичко от това хранилище, включително Git данни, задачи, коментари и достъпа на сътрудници.
|
||||
settings.delete_notices_2=- This operation will permanently delete everything in this repository, including Git data, issues, comments and collaborator access.
|
||||
settings.delete_notices_fork_1=- Всички разклонения ще станат независими след изтриването.
|
||||
settings.deletion_success=Хранилището е изтрито успешно!
|
||||
settings.update_settings_success=Настройките на хранилището са запазени успешно.
|
||||
@@ -1163,6 +1163,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_key_test_path=Път до ключове
|
||||
config.ssh_keygen_path=Път до генератор ('ssh-keygen')
|
||||
config.ssh_minimum_key_size_check=Проверка за минимален размер на ключове
|
||||
@@ -1178,7 +1179,7 @@ config.disable_http_git=Забраняване на HTTP Git
|
||||
config.enable_local_path_migration=Enable Local Path Migration
|
||||
config.commits_fetch_concurrency=Commits Fetch Concurrency
|
||||
|
||||
config.http_config=HTTP Configuration
|
||||
config.http_config=Конфигуриране на HTTP
|
||||
config.http_access_control_allow_origin=Access Control Allow Origin
|
||||
|
||||
config.db_config=Настройки на базата данни
|
||||
@@ -1210,7 +1211,7 @@ config.skip_tls_verify=Пропусни проверка на TLS
|
||||
config.mailer_config=Конфигурация на мейлър
|
||||
config.mailer_enabled=Активен
|
||||
config.mailer_disable_helo=Изключи HELO
|
||||
config.mailer_name=Име
|
||||
config.mailer_subject_prefix=Subject Prefix
|
||||
config.mailer_host=Сървър
|
||||
config.mailer_user=Потребител
|
||||
config.send_test_mail=Изпрати тестово писмо
|
||||
|
||||
@@ -761,7 +761,7 @@ settings.wiki_deletion_success=Data Wiki tohoto repositáře byla smazána.
|
||||
settings.delete=Smazat tento repositář
|
||||
settings.delete_desc=Jakmile smažete repositář, není možné se vrátit. Buďte si, prosím, jist.
|
||||
settings.delete_notices_1=- Tuto operaci <strong>nelze</strong> zvrátit.
|
||||
settings.delete_notices_2=Tato operace permanentně smaže vše v tomto repositáři, včetně dat Gitu, úkolů, komentářů a přístupu spolupracovníků.
|
||||
settings.delete_notices_2=- This operation will permanently delete everything in this repository, including Git data, issues, comments and collaborator access.
|
||||
settings.delete_notices_fork_1=- Po smazání se všechny forky se stanou nezávislé.
|
||||
settings.deletion_success=Repositář byl smazán!
|
||||
settings.update_settings_success=Možnosti repositáře byly změněny.
|
||||
@@ -1163,6 +1163,7 @@ config.ssh_domain=Doména
|
||||
config.ssh_port=Port
|
||||
config.ssh_listen_port=Port pro naslouchání
|
||||
config.ssh_root_path=Kořenová cesta
|
||||
config.ssh_rewrite_authorized_keys_at_start=Rewrite authorized_keys At Start
|
||||
config.ssh_key_test_path=Cesta testu klíčů
|
||||
config.ssh_keygen_path=Cesta ke generátoru klíčů ('ssh-keygen')
|
||||
config.ssh_minimum_key_size_check=Kontrola minimální velikosti klíčů
|
||||
@@ -1210,7 +1211,7 @@ config.skip_tls_verify=Přeskočit ověření TLS
|
||||
config.mailer_config=Nastavení odesílání e-mailů
|
||||
config.mailer_enabled=Povolený
|
||||
config.mailer_disable_helo=Vypnout HELO
|
||||
config.mailer_name=Název
|
||||
config.mailer_subject_prefix=Subject Prefix
|
||||
config.mailer_host=Server
|
||||
config.mailer_user=Uživatel
|
||||
config.send_test_mail=Odeslat zkušební E-mail
|
||||
|
||||
@@ -616,7 +616,7 @@ pulls.compare_compare=vergleichen
|
||||
pulls.filter_branch=Branch filtern
|
||||
pulls.no_results=Keine Ergebnisse verfügbar.
|
||||
pulls.nothing_to_compare=Es gibt nichts zu vergleichen, da Base- und Head-Branch gleich sind.
|
||||
pulls.nothing_merge_base=There is nothing to compare because two branches have completely different history.
|
||||
pulls.nothing_merge_base=Es gibt nichts zu vergleichen, da beide Zweige eine komplett unterschiedliche Historie haben.
|
||||
pulls.has_pull_request=`Es existiert bereits ein Pull-Request zwischen diesen beiden Zielen: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
|
||||
pulls.create=Pull-Request erstellen
|
||||
pulls.title_desc=möchte %[1]d Commits von <code>%[2]s</code> nach <code>%[3]s</code> zusammenführen
|
||||
@@ -632,8 +632,8 @@ pulls.is_checking=Die Konfliktprüfung läuft noch. Bitte aktualisieren Sie die
|
||||
pulls.can_auto_merge_desc=Dieser Pull-Request kann automatisch zusammengeführt werden.
|
||||
pulls.cannot_auto_merge_desc=Dieser Pull-Request kann nicht automatisch zusammengeführt werden, da es Konflikte gibt.
|
||||
pulls.cannot_auto_merge_helper=Bitte manuell zusammenführen, um die Konflikte zu lösen.
|
||||
pulls.create_merge_commit=Create a merge commit
|
||||
pulls.rebase_before_merging=Rebase before merging
|
||||
pulls.create_merge_commit=Erstelle einen Merge-Commit
|
||||
pulls.rebase_before_merging=Rebase vor dem Zusammenführen
|
||||
pulls.merge_pull_request=Pull-Request zusammenführen
|
||||
pulls.open_unmerged_pull_exists=`Sie können diesen Pull-Request nicht wieder öffnen, da bereits ein offener Pull-Request (#%d) aus dem selben Repository mit den gleichen Merge-Informationen existiert und auf das Zusammenführen wartet.`
|
||||
pulls.delete_branch=Zweig löschen
|
||||
@@ -739,8 +739,8 @@ settings.tracker_issue_style.numeric=Numerisch
|
||||
settings.tracker_issue_style.alphanumeric=Alphanumerisch
|
||||
settings.tracker_url_format_desc=Sie können die Platzhalter <code>{user} {repo} {index}</code> für den Benutzernamen, den Namen des Repositories und die Issue-Nummer verwenden.
|
||||
settings.pulls_desc=Pull-Requests aktivieren, um öffentliche Mitwirkung zu ermöglichen
|
||||
settings.pulls.ignore_whitespace=Ignore changes in whitespace
|
||||
settings.pulls.allow_rebase_merge=Allow use rebase to merge commits
|
||||
settings.pulls.ignore_whitespace=Ignoriere whitespace Änderungen
|
||||
settings.pulls.allow_rebase_merge=Die Verwendung von Rebase erlauben, um Commits zu mergen
|
||||
settings.danger_zone=Gefahrenzone
|
||||
settings.cannot_fork_to_same_owner=Besitzer kann das Repository nicht forken.
|
||||
settings.new_owner_has_same_repo=Der neue Eigentümer hat bereits ein Repository mit dem gleichen Namen. Bitte wählen Sie einen anderen Namen.
|
||||
@@ -761,7 +761,7 @@ settings.wiki_deletion_success=Repository Wiki Daten erfolgreich gelöscht.
|
||||
settings.delete=Dieses Repository löschen
|
||||
settings.delete_desc=Wenn dieses Repository gelöscht wurde, gibt es keinen Weg zurück. Bitte seien Sie vorsichtig.
|
||||
settings.delete_notices_1=- Diese Operation kann <strong>NICHT</strong> rückgängig gemacht werden.
|
||||
settings.delete_notices_2=- Die Operation wird alles, was mit diesem Git-Repository verbunden ist, dauerhaft löschen, inklusive der Daten, Issues, Kommentare und Zugriffsrechte von Mitarbeitern.
|
||||
settings.delete_notices_2=- This operation will permanently delete everything in this repository, including Git data, issues, comments and collaborator access.
|
||||
settings.delete_notices_fork_1=- Nach dem Löschen werden alle Forks unabhängig.
|
||||
settings.deletion_success=Repository wurde erfolgreich gelöscht!
|
||||
settings.update_settings_success=Repository-Optionen aktualisiert.
|
||||
@@ -835,7 +835,7 @@ settings.recent_deliveries=Letzte Zustellungen
|
||||
settings.hook_type=Hook Typ
|
||||
settings.add_slack_hook_desc=Fügen Sie <a href="%s">Slack</a>-Integration zu Ihrem Repository hinzu.
|
||||
settings.add_discord_hook_desc=Fügen Sie <a href="%s">Discord</a>-Integration zu Ihrem Repository hinzu.
|
||||
settings.add_dingtalk_hook_desc=Add <a href="%s">Dingtalk</a> integration to your repository.
|
||||
settings.add_dingtalk_hook_desc=<a href="%s">Dingtalk</a>-Integration zu deinem Repository hinzufügen.
|
||||
settings.slack_token=Token
|
||||
settings.slack_domain=Domain
|
||||
settings.slack_channel=Kanal
|
||||
@@ -1100,7 +1100,7 @@ auths.domain=Domain
|
||||
auths.host=Host
|
||||
auths.port=Port
|
||||
auths.bind_dn=DN binden
|
||||
auths.bind_dn_helper=You can use '%s' as placeholder for username, e.g. DOM\%s
|
||||
auths.bind_dn_helper=Sie können "%s" als Platzhalter für den Benutzernamen einsetzen, z.B. DOM\%s
|
||||
auths.bind_password=Passwort binden
|
||||
auths.bind_password_helper=Achtung: Das Passwort wird im Klartext gespeichert. Benutzen Sie kein Konto mit hoher Berechtigungsstufe.
|
||||
auths.user_base=Basis für Benutzersuche
|
||||
@@ -1141,7 +1141,7 @@ auths.still_in_used=Diese Authentifizierung wird noch von einigen Benutzern verw
|
||||
auths.deletion_success=Authentifizierung wurde erfolgreich gelöscht!
|
||||
auths.login_source_exist=Login-Quelle '%s' ist bereits vorhanden.
|
||||
|
||||
config.not_set=(not set)
|
||||
config.not_set=(nicht festgelegt)
|
||||
config.server_config=Serverkonfiguration
|
||||
config.app_name=Name der Anwendung
|
||||
config.app_ver=Anwendungsversion
|
||||
@@ -1163,6 +1163,7 @@ config.ssh_domain=Domain
|
||||
config.ssh_port=Port
|
||||
config.ssh_listen_port=Listen Port
|
||||
config.ssh_root_path=Verzeichnis
|
||||
config.ssh_rewrite_authorized_keys_at_start=Rewrite authorized_keys At Start
|
||||
config.ssh_key_test_path=Schlüssel-Test-Pfad
|
||||
config.ssh_keygen_path=Keygen ('ssh-keygen') Pfad
|
||||
config.ssh_minimum_key_size_check=Prüfung der Mindestschlüssellänge
|
||||
@@ -1178,7 +1179,7 @@ config.disable_http_git=Deaktiviere HTTP-Git
|
||||
config.enable_local_path_migration=Erlaube Migration von lokalem Pfad
|
||||
config.commits_fetch_concurrency=Anzahl gleichzeitiger Commit-/Fetch-Prozesse
|
||||
|
||||
config.http_config=HTTP Configuration
|
||||
config.http_config=HTTP-Konfiguration
|
||||
config.http_access_control_allow_origin=Access Control Allow Origin
|
||||
|
||||
config.db_config=Datenbankkonfiguration
|
||||
@@ -1210,7 +1211,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_name=Name
|
||||
config.mailer_subject_prefix=Subject Prefix
|
||||
config.mailer_host=Host
|
||||
config.mailer_user=Benutzer
|
||||
config.send_test_mail=Test-E-Mail senden
|
||||
|
||||
@@ -761,7 +761,7 @@ settings.wiki_deletion_success=Repository wiki data have been erased successfull
|
||||
settings.delete=Delete This Repository
|
||||
settings.delete_desc=Once you delete a repository, there is no going back. Please be certain.
|
||||
settings.delete_notices_1=- This operation <strong>CANNOT</strong> be undone.
|
||||
settings.delete_notices_2=- This operation will permanently delete the everything of this repository, including Git data, issues, comments and accesses of collaborators.
|
||||
settings.delete_notices_2=- This operation will permanently delete everything in this repository, including Git data, issues, comments and collaborator access.
|
||||
settings.delete_notices_fork_1=- All forks will become independent after deletion.
|
||||
settings.deletion_success=Repository has been deleted successfully!
|
||||
settings.update_settings_success=Repository options has been updated successfully.
|
||||
@@ -1163,6 +1163,7 @@ config.ssh_domain=Domain
|
||||
config.ssh_port=Port
|
||||
config.ssh_listen_port=Listen Port
|
||||
config.ssh_root_path=Root Path
|
||||
config.ssh_rewrite_authorized_keys_at_start=Rewrite authorized_keys At Start
|
||||
config.ssh_key_test_path=Key Test Path
|
||||
config.ssh_keygen_path=Keygen ('ssh-keygen') Path
|
||||
config.ssh_minimum_key_size_check=Minimum Key Size Check
|
||||
@@ -1210,7 +1211,7 @@ config.skip_tls_verify=Skip TLS Verify
|
||||
config.mailer_config=Mailer Configuration
|
||||
config.mailer_enabled=Enabled
|
||||
config.mailer_disable_helo=Disable HELO
|
||||
config.mailer_name=Name
|
||||
config.mailer_subject_prefix=Subject Prefix
|
||||
config.mailer_host=Host
|
||||
config.mailer_user=User
|
||||
config.send_test_mail=Send Test Email
|
||||
|
||||
@@ -1163,6 +1163,7 @@ config.ssh_domain = Domain
|
||||
config.ssh_port = Port
|
||||
config.ssh_listen_port = Listen Port
|
||||
config.ssh_root_path = Root Path
|
||||
config.ssh_rewrite_authorized_keys_at_start = Rewrite authorized_keys At Start
|
||||
config.ssh_key_test_path = Key Test Path
|
||||
config.ssh_keygen_path = Keygen ('ssh-keygen') Path
|
||||
config.ssh_minimum_key_size_check = Minimum Key Size Check
|
||||
@@ -1210,7 +1211,7 @@ config.skip_tls_verify = Skip TLS Verify
|
||||
config.mailer_config = Mailer Configuration
|
||||
config.mailer_enabled = Enabled
|
||||
config.mailer_disable_helo = Disable HELO
|
||||
config.mailer_name = Name
|
||||
config.mailer_subject_prefix = Subject Prefix
|
||||
config.mailer_host = Host
|
||||
config.mailer_user = User
|
||||
config.send_test_mail = Send Test Email
|
||||
|
||||
@@ -761,7 +761,7 @@ settings.wiki_deletion_success=Los datos de la wiki del repositorio han sido bor
|
||||
settings.delete=Eliminar este repositorio
|
||||
settings.delete_desc=Una vez has eliminado un repositorio, no hay vuelta atrás. Por favor, asegúrate de que es lo que quieres.
|
||||
settings.delete_notices_1=- Esta operación <strong>NO PUEDE</strong> revertirse.
|
||||
settings.delete_notices_2=- Esta operación eliminará de manera permanente todo el contenido de este repositorio, incluyendo los datos de git, las incidencias, los comentarios y los permisos de acceso de los colaboradores.
|
||||
settings.delete_notices_2=- This operation will permanently delete everything in this repository, including Git data, issues, comments and collaborator access.
|
||||
settings.delete_notices_fork_1=- Todos los forks se convertirán en independientes tras el borrado.
|
||||
settings.deletion_success=¡El respositorio ha sido eliminado satisfactoriamente!
|
||||
settings.update_settings_success=Las opciones del repositorio se han actualizado correctamente.
|
||||
@@ -1163,6 +1163,7 @@ config.ssh_domain=Dominio
|
||||
config.ssh_port=Puerto
|
||||
config.ssh_listen_port=Puerto de escucha
|
||||
config.ssh_root_path=Ruta raíz
|
||||
config.ssh_rewrite_authorized_keys_at_start=Rewrite authorized_keys At Start
|
||||
config.ssh_key_test_path=Ruta de la clave de prueba
|
||||
config.ssh_keygen_path=Ruta del generador de claves ('ssh-keygen')
|
||||
config.ssh_minimum_key_size_check=Tamaño mínimo de la clave de verificación
|
||||
@@ -1210,7 +1211,7 @@ config.skip_tls_verify=Omitir la Verificación TLS
|
||||
config.mailer_config=Configuración del servidor de correo
|
||||
config.mailer_enabled=Activado
|
||||
config.mailer_disable_helo=Desactivar HELO
|
||||
config.mailer_name=Nombre
|
||||
config.mailer_subject_prefix=Subject Prefix
|
||||
config.mailer_host=Host
|
||||
config.mailer_user=Usuario
|
||||
config.send_test_mail=Enviar email de prueba
|
||||
|
||||
1333
conf/locale/locale_fa-IR.ini
Normal file
1333
conf/locale/locale_fa-IR.ini
Normal file
File diff suppressed because it is too large
Load Diff
@@ -761,7 +761,7 @@ settings.wiki_deletion_success=Repo wiki tiedot on poistettu onnistuneesti.
|
||||
settings.delete=Poista tämä repo
|
||||
settings.delete_desc=Huomio, kun kerran poistat repon, niin ei ole paluuta. Varmista että haluat todella tehdä tämän.
|
||||
settings.delete_notices_1=- Tätä toimintoa <strong>EI VOI</strong> peruuttaa myöhemmin.
|
||||
settings.delete_notices_2=- Tämä toiminto poistaa pysyvästi kaikki tästä reposta, mukaanlukien Git tiedot, ongelmat, kommentit ja yhteistyökumppanien pääsyoikeudet.
|
||||
settings.delete_notices_2=- This operation will permanently delete everything in this repository, including Git data, issues, comments and collaborator access.
|
||||
settings.delete_notices_fork_1=- Kaikki haarat muuttuvat itsenäisiksi poiston jälkeen.
|
||||
settings.deletion_success=Repo on poistettu onnistuneesti!
|
||||
settings.update_settings_success=Repom asetukset on päivitetty onnistuneesti.
|
||||
@@ -835,7 +835,7 @@ settings.recent_deliveries=Viimeisimmät toimitukset
|
||||
settings.hook_type=Koukkutyyppi
|
||||
settings.add_slack_hook_desc=Lisää <a href="%s">Slack</a> integraatio repoosi.
|
||||
settings.add_discord_hook_desc=Lisää <a href="%s">Discord</a> integraatio repositoryysi.
|
||||
settings.add_dingtalk_hook_desc=Add <a href="%s">Dingtalk</a> integration to your repository.
|
||||
settings.add_dingtalk_hook_desc=Lisää <a href="%s">Dingtalk</a> integraatio repositoryysi.
|
||||
settings.slack_token=Pääsymerkki
|
||||
settings.slack_domain=Verkkotunnus
|
||||
settings.slack_channel=Kanava
|
||||
@@ -1141,7 +1141,7 @@ auths.still_in_used=Tämä todennus on yhä joidenkin käyttäjien käytössä,
|
||||
auths.deletion_success=Todennus on poistettu onnistuneesti!
|
||||
auths.login_source_exist=Kirjautumislähde '%s' on jo olemassa
|
||||
|
||||
config.not_set=(not set)
|
||||
config.not_set=(ei ole asetettu)
|
||||
config.server_config=Palvelin asetukset
|
||||
config.app_name=Sovellus nimi
|
||||
config.app_ver=Sovellus versio
|
||||
@@ -1163,6 +1163,7 @@ config.ssh_domain=Verkkotunnus
|
||||
config.ssh_port=Portti
|
||||
config.ssh_listen_port=Kuuntele porttia
|
||||
config.ssh_root_path=Juuren polku
|
||||
config.ssh_rewrite_authorized_keys_at_start=Rewrite authorized_keys At Start
|
||||
config.ssh_key_test_path=Polku jossa avaimet testataan
|
||||
config.ssh_keygen_path=Keygen ('ssh-keygen') polku
|
||||
config.ssh_minimum_key_size_check=Avaimen vähimmäiskoko tarkistus
|
||||
@@ -1178,7 +1179,7 @@ config.disable_http_git=Poista käytöstä HTTP Git
|
||||
config.enable_local_path_migration=Ota käyttöön paikallisen polun migraatio
|
||||
config.commits_fetch_concurrency=Committien noudon samanaikaisuus
|
||||
|
||||
config.http_config=HTTP Configuration
|
||||
config.http_config=HTTP-asetukset
|
||||
config.http_access_control_allow_origin=Access Control Allow Origin
|
||||
|
||||
config.db_config=Tietokannan asetukset
|
||||
@@ -1210,7 +1211,7 @@ config.skip_tls_verify=Ohita TLS tarkistaminen
|
||||
config.mailer_config=Sähköpostipalvelin asetukset
|
||||
config.mailer_enabled=Käytössä
|
||||
config.mailer_disable_helo=Poista käytöstä HELO
|
||||
config.mailer_name=Nimi
|
||||
config.mailer_subject_prefix=Subject Prefix
|
||||
config.mailer_host=Isäntä
|
||||
config.mailer_user=Käyttäjä
|
||||
config.send_test_mail=Lähetä testi sähköposti
|
||||
|
||||
@@ -617,14 +617,14 @@ pulls.filter_branch=Filtre de branche
|
||||
pulls.no_results=Aucun résultat trouvé.
|
||||
pulls.nothing_to_compare=Il n'y a rien de comparable parce que les deux branches sont égales.
|
||||
pulls.nothing_merge_base=Il n'y a rien à comparer parce que les deux branches ont un historique complètement différent.
|
||||
pulls.has_pull_request=`Il y a déjà une demande de tirer entre ces deux cibles : <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
|
||||
pulls.create=Creer une Pull Request
|
||||
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.tab_conversation=Conversation
|
||||
pulls.tab_commits=Commits
|
||||
pulls.tab_files=Fichiers modifiés
|
||||
pulls.reopen_to_merge=Veuillez rouvrir cette demande de Pull Request pour effectuer l'opération de fusion.
|
||||
pulls.reopen_to_merge=Veuillez rouvrir cette Pull Request pour effectuer l'opération de fusion.
|
||||
pulls.merged=Fusionné
|
||||
pulls.has_merged=Cette Pull Request a été fusionnée avec succès !
|
||||
pulls.data_broken=Les données de cette pull request ont été compromises en raison de la suppression d'informations sur le fork.
|
||||
@@ -632,8 +632,8 @@ pulls.is_checking=La recherche de conflits est toujours en cours, veuillez rafra
|
||||
pulls.can_auto_merge_desc=Cette pull request peut être fusionnée automatiquement.
|
||||
pulls.cannot_auto_merge_desc=Cette pull request ne peut être fusionnée automatiquement à cause de conflits.
|
||||
pulls.cannot_auto_merge_helper=Fusionner manuellement afin de résoudre les conflits.
|
||||
pulls.create_merge_commit=Create a merge commit
|
||||
pulls.rebase_before_merging=Rebase before merging
|
||||
pulls.create_merge_commit=Créer un commit de fusion
|
||||
pulls.rebase_before_merging=Rebaser avant la fusion
|
||||
pulls.merge_pull_request=Fusionner la Pull Request
|
||||
pulls.open_unmerged_pull_exists=`Vous ne pouvez effectuer une réouverture car il y a déjà une pull-request ouverte (#%d) depuis le même dépôt avec les mêmes informations de fusion et est en attente de fusion.`
|
||||
pulls.delete_branch=Supprimer la branche
|
||||
@@ -702,7 +702,7 @@ settings.branch_protection=Protection de branche
|
||||
settings.branch_protection_desc=Sélectionnez les options de protection pour la branche <b>%s</b>.
|
||||
settings.protect_this_branch=Protéger cette branche
|
||||
settings.protect_this_branch_desc=Interdire les push forcés et empêcher la suppression.
|
||||
settings.protect_require_pull_request=Exiger une requête de fusion plutôt qu'un push immédiat
|
||||
settings.protect_require_pull_request=Exiger une pull request plutôt qu'un push immédiat
|
||||
settings.protect_require_pull_request_desc=Activez cette option pour empêcher la publication immédiate vers cette branche. Les commits devront être publiés vers une autre branche (non protégée) et fusionnée dans cette branche avec une requête de fusion.
|
||||
settings.protect_whitelist_committers=Liste blanche de personnes pouvant publier sur cette branche
|
||||
settings.protect_whitelist_committers_desc=Ajouter des personnes ou des équipes à la liste blanche des fusions directes de cette branche. Les utilisateurs dans cette liste blanche passeront outre la nécessité de valider leurs requêtes de fusion.
|
||||
@@ -739,8 +739,8 @@ settings.tracker_issue_style.numeric=Numérique
|
||||
settings.tracker_issue_style.alphanumeric=Alphanumérique
|
||||
settings.tracker_url_format_desc=Vous pouvez utiliser l'espace réservé <code>{user} {repo} {index}</code> pour le nom d'utilisateur, le nom du dépôt et le numéro de bug.
|
||||
settings.pulls_desc=Activer les pull requests pour accepter les contributions publiques
|
||||
settings.pulls.ignore_whitespace=Ignore changes in whitespace
|
||||
settings.pulls.allow_rebase_merge=Allow use rebase to merge commits
|
||||
settings.pulls.ignore_whitespace=Ignorer les changements quand ce sont des espaces
|
||||
settings.pulls.allow_rebase_merge=Autoriser l'utilisation de rebase pour fusionner les validations
|
||||
settings.danger_zone=Zone de danger
|
||||
settings.cannot_fork_to_same_owner=Vous ne pouvez par créer un fork d'un dépot à son propriétaire actuel.
|
||||
settings.new_owner_has_same_repo=Le nouveau propriétaire a déjà un dépôt nommé ainsi.
|
||||
@@ -761,7 +761,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=- Cette opération supprimera définitivement le dépôt, y compris les données Git, les tickets, les commentaires et les accès des collaborateurs.
|
||||
settings.delete_notices_2=- This operation will permanently delete everything in this repository, including Git data, issues, comments and collaborator access.
|
||||
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.
|
||||
@@ -822,7 +822,7 @@ settings.event_issues_desc=Ticket ouvert, fermé, réouvert, modifié, assigné,
|
||||
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=Requête de fusion 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_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_release=Version publiée
|
||||
settings.event_release_desc=Version publiée dans un dépôt.
|
||||
settings.active=Actif
|
||||
@@ -835,7 +835,7 @@ settings.recent_deliveries=Livraisons récentes
|
||||
settings.hook_type=Type de Hook
|
||||
settings.add_slack_hook_desc=Intégrer <a href="%s"> Slack</a> à votre dépôt.
|
||||
settings.add_discord_hook_desc=Ajouter l'intégration de <a href="%s">Discord</a> à votre dépôt.
|
||||
settings.add_dingtalk_hook_desc=Add <a href="%s">Dingtalk</a> integration to your repository.
|
||||
settings.add_dingtalk_hook_desc=Ajouter l'intégration de <a href="%s">Dingtalk</a> à votre dépôt.
|
||||
settings.slack_token=Jeton
|
||||
settings.slack_domain=Domaine
|
||||
settings.slack_channel=Canal
|
||||
@@ -1100,21 +1100,21 @@ auths.domain=Domaine
|
||||
auths.host=Hôte
|
||||
auths.port=Port
|
||||
auths.bind_dn=Bind DN
|
||||
auths.bind_dn_helper=You can use '%s' as placeholder for username, e.g. DOM\%s
|
||||
auths.bind_dn_helper=Vous pouvez utiliser « %s » qui sera remplacé par le nom d'utilisateur, par exemple « DOM\%s »
|
||||
auths.bind_password=Bind mot de passe
|
||||
auths.bind_password_helper=Avertissement : Ce mot de passe est stocké en clair. N'utilisez pas le mot de passe d'un compte doté de privilèges élevés.
|
||||
auths.user_base=Utilisateur Search Base
|
||||
auths.user_dn=Utilisateur DN
|
||||
auths.attribute_username=Attribut nom d'utilisateur
|
||||
auths.attribute_username_placeholder=Laisser vide pour utiliser la valeur du formulaire d'authentification comme nom d'utilisateur.
|
||||
auths.attribute_name=First Name Attribute
|
||||
auths.attribute_name=Attribut du prénom
|
||||
auths.attribute_surname=Attribut du nom de famille
|
||||
auths.attribute_mail=Attribut de l'e-mail
|
||||
auths.verify_group_membership=Vérifier l'appartenance à un groupe
|
||||
auths.group_search_base_dn=Group Search Base DN
|
||||
auths.group_search_base_dn=Recherche de groupe basée sur le nom de domaine
|
||||
auths.group_filter=Filtre par groupe
|
||||
auths.group_attribute_contain_user_list=Attribut de groupe contenant la liste des utilisateurs
|
||||
auths.user_attribute_listed_in_group=User Attribute Listed in Group
|
||||
auths.user_attribute_listed_in_group=Attribut de l'utilisateur listé dans le groupe
|
||||
auths.attributes_in_bind=Aller chercher les attributs dans le contexte de liaison DN
|
||||
auths.filter=Filtre utilisateur
|
||||
auths.admin_filter=Filtre administrateur
|
||||
@@ -1141,7 +1141,7 @@ auths.still_in_used=Cette authentification est encore utilisée par d'autres uti
|
||||
auths.deletion_success=L'authentification a été supprimée avec succès !
|
||||
auths.login_source_exist=La source de connexion « %s » existe déjà.
|
||||
|
||||
config.not_set=(not set)
|
||||
config.not_set=(non défini)
|
||||
config.server_config=Configuration du Serveur
|
||||
config.app_name=Nom de l'application
|
||||
config.app_ver=Version de l'application
|
||||
@@ -1163,6 +1163,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_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
|
||||
@@ -1178,8 +1179,8 @@ config.disable_http_git=Désactiver Git HTTP
|
||||
config.enable_local_path_migration=Activer la migration de chemin locale
|
||||
config.commits_fetch_concurrency=Concurrence des récupérations de commits
|
||||
|
||||
config.http_config=HTTP Configuration
|
||||
config.http_access_control_allow_origin=Access Control Allow Origin
|
||||
config.http_config=Configuration HTTP
|
||||
config.http_access_control_allow_origin=Autoriser le partage d’accès avec l’origine
|
||||
|
||||
config.db_config=Configuration de la Base de Données
|
||||
config.db_type=Type
|
||||
@@ -1210,7 +1211,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_name=Nom
|
||||
config.mailer_subject_prefix=Subject Prefix
|
||||
config.mailer_host=Hôte
|
||||
config.mailer_user=Utilisateur
|
||||
config.send_test_mail=Envoyer courriel de Test
|
||||
|
||||
@@ -761,7 +761,7 @@ settings.wiki_deletion_success=Os datos da wiki do repositorio foron borrados co
|
||||
settings.delete=Eliminar este repositorio
|
||||
settings.delete_desc=Unha vez que eliminaches un repositorio, non hai volta atrás. Por favor, asegúrate de que é o que queres.
|
||||
settings.delete_notices_1=- Esta operación <strong>NON SE PODE</strong> reverter.
|
||||
settings.delete_notices_2=- Esta operación eliminará de maneira permanente todo o contido deste repositorio, incluíndo os datos de git, as incidencias, os comentarios e os permisos de acceso dos colaboradores.
|
||||
settings.delete_notices_2=- This operation will permanently delete everything in this repository, including Git data, issues, comments and collaborator access.
|
||||
settings.delete_notices_fork_1=- Todos os forks converteranse en independentes tras o borrado.
|
||||
settings.deletion_success=O repositorio foi eliminado satisfactoriamente!
|
||||
settings.update_settings_success=As opcións do repositorio actualizáronse correctamente.
|
||||
@@ -1163,6 +1163,7 @@ config.ssh_domain=Dominio
|
||||
config.ssh_port=Porto
|
||||
config.ssh_listen_port=Porto de escoita
|
||||
config.ssh_root_path=Ruta raíz
|
||||
config.ssh_rewrite_authorized_keys_at_start=Rewrite authorized_keys At Start
|
||||
config.ssh_key_test_path=Ruta da clave de proba
|
||||
config.ssh_keygen_path=Ruta do xerador de claves ('ssh-keygen')
|
||||
config.ssh_minimum_key_size_check=Tamaño mínimo da clave de verificación
|
||||
@@ -1210,7 +1211,7 @@ config.skip_tls_verify=Omitir a verificación TLS
|
||||
config.mailer_config=Configuración do servidor de correo
|
||||
config.mailer_enabled=Activado
|
||||
config.mailer_disable_helo=Desactivar HELO
|
||||
config.mailer_name=Nome
|
||||
config.mailer_subject_prefix=Subject Prefix
|
||||
config.mailer_host=Host
|
||||
config.mailer_user=Usuario
|
||||
config.send_test_mail=Enviar correo electrónico de proba
|
||||
|
||||
@@ -632,8 +632,8 @@ pulls.is_checking=Az ütközés ellenőrzés még folyamatban van, frissítsd az
|
||||
pulls.can_auto_merge_desc=Ez a beolvasztási kérés automatikusán egyesíthető.
|
||||
pulls.cannot_auto_merge_desc=Ez a beolvasztási kérés ütközések miatt nem egyesíthető automatikusan.
|
||||
pulls.cannot_auto_merge_helper=Kérlek, egyesítsd kézileg a konfliktusok megoldásához.
|
||||
pulls.create_merge_commit=Create a merge commit
|
||||
pulls.rebase_before_merging=Rebase before merging
|
||||
pulls.create_merge_commit=Eggyesítő commit létrehozása
|
||||
pulls.rebase_before_merging=Rebase eggyesítés előtt
|
||||
pulls.merge_pull_request=Beolvasztási kérés egyesítése
|
||||
pulls.open_unmerged_pull_exists=`Nem tudja újranyitni, mert már van egy nyitott egyesítési kérés (#%d) ugyanebben a tárolóban, ugyanezekket az egyesítési információkkal, és végrehajtásra vár.`
|
||||
pulls.delete_branch=Ág törlése
|
||||
@@ -739,8 +739,8 @@ settings.tracker_issue_style.numeric=Numerikus
|
||||
settings.tracker_issue_style.alphanumeric=Alfanumerikus
|
||||
settings.tracker_url_format_desc=Az alábbiak helyettesítik a felhasználónevet, repository nevet és hibajegy számot: <code>{user} {repo} {index}</code>.
|
||||
settings.pulls_desc=Beolvasztási kérések engedélyezése a nyilvános hozzájárulások végett
|
||||
settings.pulls.ignore_whitespace=Ignore changes in whitespace
|
||||
settings.pulls.allow_rebase_merge=Allow use rebase to merge commits
|
||||
settings.pulls.ignore_whitespace=Whitespacek figyelmen kívül hagyása
|
||||
settings.pulls.allow_rebase_merge=Rebase engedélyezése eggyesítő commitokhoz
|
||||
settings.danger_zone=Veszélyes terület
|
||||
settings.cannot_fork_to_same_owner=Nem másolható a tároló az eredeti tulajdonosához.
|
||||
settings.new_owner_has_same_repo=Az új tulaj már rendelkezik ilyen nevű repository-val. Kérlek, válassz másik nevet.
|
||||
@@ -761,7 +761,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=- 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_2=- This operation will permanently delete everything in this repository, including Git data, issues, comments and collaborator access.
|
||||
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.
|
||||
@@ -1100,7 +1100,7 @@ auths.domain=Tartomány
|
||||
auths.host=Állomás
|
||||
auths.port=Port
|
||||
auths.bind_dn=Bind DN
|
||||
auths.bind_dn_helper=You can use '%s' as placeholder for username, e.g. DOM\%s
|
||||
auths.bind_dn_helper=Használhatja a '%s'-t felhasználónév helyett, pl.: DOM\%s
|
||||
auths.bind_password=Bind jelszó
|
||||
auths.bind_password_helper=Figyelmeztetés: Ez a jelszó egyszerű szöveges formátumban kerül metésre. Ne használjon egy magas szintű jogosultsággal rendelkező fiókot.
|
||||
auths.user_base=Felhasználókeresés alapja
|
||||
@@ -1141,7 +1141,7 @@ auths.still_in_used=A hitelesítési mód még használatban van, mielőtt tör
|
||||
auths.deletion_success=Hitelesítési forrás sikeresen törölve!
|
||||
auths.login_source_exist=Bejelentkezési forrás "%s" már létezik.
|
||||
|
||||
config.not_set=(not set)
|
||||
config.not_set=(nincs beállítva)
|
||||
config.server_config=Kiszolgáló konfiguráció
|
||||
config.app_name=Alkalmazás neve
|
||||
config.app_ver=Alkalmazás verziója
|
||||
@@ -1163,6 +1163,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_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
|
||||
@@ -1178,8 +1179,8 @@ config.disable_http_git=A HTTP protokoll letiltása GIT-hez
|
||||
config.enable_local_path_migration=Engedélyezi a migrációt helyi elérési út alapján
|
||||
config.commits_fetch_concurrency=Konkurens lekérés
|
||||
|
||||
config.http_config=HTTP Configuration
|
||||
config.http_access_control_allow_origin=Access Control Allow Origin
|
||||
config.http_config=HTTP beállítások
|
||||
config.http_access_control_allow_origin=Hozzáférés vezérlés forrás szerint
|
||||
|
||||
config.db_config=Adatbázis konfiguráció
|
||||
config.db_type=Típus
|
||||
@@ -1210,7 +1211,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_name=Név
|
||||
config.mailer_subject_prefix=Subject Prefix
|
||||
config.mailer_host=Állomás
|
||||
config.mailer_user=Felhasználó
|
||||
config.send_test_mail=Teszt E-mail küldése
|
||||
|
||||
1331
conf/locale/locale_id-ID.ini
Normal file
1331
conf/locale/locale_id-ID.ini
Normal file
File diff suppressed because it is too large
Load Diff
@@ -761,7 +761,7 @@ settings.wiki_deletion_success=I dati della wiki del repository sono stati elimi
|
||||
settings.delete=Elimina questo repository
|
||||
settings.delete_desc=Una volta che hai cancellato il repository, non puoi tornare indietro. Si prega di fare attenzione.
|
||||
settings.delete_notices_1=-Questa operazione <strong>NON PUÒ</strong> essere annullata.
|
||||
settings.delete_notices_2=-Questa operazione eliminerà definitivamente il tutto il contenuto del repository, inclusi i dati di Git, incidenti, commenti e accessi dei collaboratori.
|
||||
settings.delete_notices_2=- This operation will permanently delete everything in this repository, including Git data, issues, comments and collaborator access.
|
||||
settings.delete_notices_fork_1=- All forks will become independent after deletion.
|
||||
settings.deletion_success=Il repository è stato eliminato con successo!
|
||||
settings.update_settings_success=Le opzioni repository sono state aggiornate con successo.
|
||||
@@ -1163,6 +1163,7 @@ config.ssh_domain=Dominio
|
||||
config.ssh_port=Porta
|
||||
config.ssh_listen_port=Porta in ascolto
|
||||
config.ssh_root_path=Percorso Root
|
||||
config.ssh_rewrite_authorized_keys_at_start=Rewrite authorized_keys At Start
|
||||
config.ssh_key_test_path=Percorso chiave di test
|
||||
config.ssh_keygen_path=Percorso Keygen ('ssh-keygen')
|
||||
config.ssh_minimum_key_size_check=Verifica delle dimensioni minime della chiave
|
||||
@@ -1210,7 +1211,7 @@ config.skip_tls_verify=Salta verifiche TLS
|
||||
config.mailer_config=Configurazione Mailer
|
||||
config.mailer_enabled=Attivo
|
||||
config.mailer_disable_helo=Disattiva HELO
|
||||
config.mailer_name=Nome
|
||||
config.mailer_subject_prefix=Subject Prefix
|
||||
config.mailer_host=Host
|
||||
config.mailer_user=Utente
|
||||
config.send_test_mail=Invia email di test
|
||||
|
||||
@@ -231,15 +231,15 @@ email_been_used=電子メール アドレスは既に使用されています。
|
||||
username_password_incorrect=ユーザー名またはパスワードが正しくありません。
|
||||
enterred_invalid_repo_name=入力したリポジトリの名前が正しいかどうかを確認してください。
|
||||
enterred_invalid_owner_name=入力された所有者名が正しいかどうかを確認してください。
|
||||
enterred_invalid_password=入力したパスワードが正しいかを確認してください。
|
||||
enterred_invalid_password=入力したパスワードが正しいか確認してください。
|
||||
user_not_exist=指定されたユーザーは存在しません。
|
||||
last_org_owner=削除するユーザーはチームの最後のメンバーです。別の所有者設定が必要です。
|
||||
last_org_owner=所有者のチームから最後のユーザーを削除することはできません。組織には常に最低でも1人の所有者が必要です。
|
||||
|
||||
invalid_ssh_key=SSHを確認できません:%s
|
||||
invalid_ssh_key=申し訳ございませんが、SSH キーを検証することができません: %s
|
||||
unable_verify_ssh_key=GogsはあなたのSSH keyを確認できません。しかし、我々は有効とみなしますので、自分自身で確認してください。
|
||||
auth_failed=認証に失敗しました: %v
|
||||
|
||||
still_own_repo=アカウント所有のリポジトリがあり、リポジトリの削除または所有者の移譲が必要です。
|
||||
still_own_repo=あなたのアカウントはまだ少なくとも1つのリポジトリの所有権を所持しています。まずそれらの削除または移譲を行う必要があります。
|
||||
still_has_org=あなたのアカウントは1つ以上の組織に所属しているため、先に組織を脱退するか削除する必要があります。
|
||||
org_still_own_repo=この組織はまだリポジトリの所有しています、リポジトリを削除または転送する必要があります。
|
||||
|
||||
@@ -297,7 +297,7 @@ old_password=現在のパスワード
|
||||
new_password=新しいパスワード
|
||||
retype_new_password=新しいパスワードを再入力します。
|
||||
password_incorrect=現在のパスワードが正しくありません。
|
||||
change_password_success=パスワードが正常に変更されました。今すぐ新しいパスワード経由でサインインすることができます。
|
||||
change_password_success=パスワードが正常に変更されました。今すぐ新しいパスワードを使用してサインインすることができます。
|
||||
password_change_disabled=ローカルユーザ以外はパスワードを変更できません。
|
||||
|
||||
emails=メールアドレス
|
||||
@@ -307,11 +307,11 @@ primary=プライマリー
|
||||
primary_email=プライマリに設定
|
||||
delete_email=削除
|
||||
email_deletion=電子メールの削除
|
||||
email_deletion_desc=この電子メール アドレスを削除すると、あなたのアカウントの関連情報も削除されます。続行しますか。
|
||||
email_deletion_desc=このメールアドレスを削除すると、あなたのアカウントの関連情報も削除されます。続行しますか?
|
||||
email_deletion_success=電子メールが正常に削除されました。
|
||||
add_new_email=新しいメールアドレスを追加
|
||||
add_email=メールアドレスの追加
|
||||
add_email_confirmation_sent='%s' に新しい確認メールを送信しました、次の %d 時間以内に受信トレイを確認し、確認プロセスを完了してください。
|
||||
add_email_confirmation_sent='%s' に新しい確認メールを送信しました。%d 時間以内に受信トレイを確認し、確認プロセスを完了してください。
|
||||
add_email_success=新しいメールアドレスが追加されました。
|
||||
|
||||
manage_ssh_keys=SSH キーを管理
|
||||
@@ -372,7 +372,7 @@ access_token_deletion_desc=パーソナルアクセストークンを削除す
|
||||
delete_token_success=パーソナルアクセストークンは正常に削除されました!同時にあなたのアプリケーションを更新することを忘れないでください。
|
||||
|
||||
orgs.none=あなたはどの組織のメンバーでもありません。
|
||||
orgs.leave_title=組織を作成
|
||||
orgs.leave_title=組織からの脱退
|
||||
orgs.leave_desc=組織から脱退すると、全てのリポジトリとチームへのアクセスができなくなります。続行しますか?
|
||||
|
||||
repos.leave=脱退
|
||||
@@ -415,7 +415,7 @@ mirror_address=ミラー アドレス
|
||||
mirror_address_desc=アドレスに必要なユーザーの資格情報を入力してください。
|
||||
mirror_last_synced=最終同期
|
||||
watchers=ウォッチャー
|
||||
stargazers=Stargazers
|
||||
stargazers=スターゲイザー
|
||||
forks=フォーク
|
||||
|
||||
form.reach_limit_of_creation=リポジトリの最大作成数 %d にすでに達しています。
|
||||
@@ -485,7 +485,7 @@ editor.edit_file=ファイルを編集
|
||||
editor.preview_changes=変更箇所のプレビュー
|
||||
editor.cannot_edit_non_text_files=テキストファイルでないため編集できません
|
||||
editor.edit_this_file=このファイルを編集
|
||||
editor.must_be_on_a_branch=You must be on a branch to make or propose changes to this file
|
||||
editor.must_be_on_a_branch=このファイルを作成または変更の提案をするには、ブランチ上である必要があります。
|
||||
editor.fork_before_edit=ファイルを編集する前にこのリポジトリをフォークする必要があります。
|
||||
editor.delete_this_file=このファイルを削除
|
||||
editor.must_have_write_access=このファイルへの変更を作成・提案するには、書き込み権限が必要です
|
||||
@@ -506,7 +506,7 @@ editor.new_branch_name_desc=新しいブランチ名...
|
||||
editor.cancel=キャンセル
|
||||
editor.filename_cannot_be_empty=ファイル名を空にすることはできません。
|
||||
editor.branch_already_exists=ブランチ '%s' は、このリポジトリに既に存在します。
|
||||
editor.directory_is_a_file=Entry '%s' in the parent path is a file not a directory in this repository.
|
||||
editor.directory_is_a_file=リポジトリのファイル '%s' はディレクトリではありません。
|
||||
editor.file_is_a_symlink=ファイル '%s' はシンボリックリンクのため、Webエディターから編集することができません。
|
||||
editor.filename_is_a_directory=ファイル名 '%s' は、このリポジトリに存在するディレクトリと同じ名前です。
|
||||
editor.file_editing_no_longer_exists=あなたが編集しているファイル '%s' は、すでにリポジトリに存在しません。
|
||||
@@ -576,7 +576,7 @@ issues.next=次ページ
|
||||
issues.open_title=オープン
|
||||
issues.closed_title=クローズ
|
||||
issues.num_comments=%d コメント
|
||||
issues.commented_at=`<a href="#%s">%s</a> にコメント`
|
||||
issues.commented_at=`が <a href="#%s">%s</a> にコメントしました`
|
||||
issues.delete_comment_confirm=このコメントを削除してよろしいですか?
|
||||
issues.no_content=まだコンテンツがありません
|
||||
issues.close_issue=閉じる
|
||||
@@ -616,28 +616,28 @@ pulls.compare_compare=比較
|
||||
pulls.filter_branch=フィルターブランチ
|
||||
pulls.no_results=結果が見つかりませんでした。
|
||||
pulls.nothing_to_compare=ベースブランチとヘッドブランチが同一であるため、比較するものがありません。
|
||||
pulls.nothing_merge_base=There is nothing to compare because two branches have completely different history.
|
||||
pulls.nothing_merge_base=2 本の枝が完全に異なる歴史を持っているので、比較するものがありません。
|
||||
pulls.has_pull_request=`既にプルリクエストがこれらのターゲット間に存在します: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
|
||||
pulls.create=プルリクエストを作成します。
|
||||
pulls.title_desc=wants to merge %[1]d commits from <code>%[2]s</code> into <code>%[3]s</code>
|
||||
pulls.title_desc=が <code>%[2]s</code> から <code>%[3]s</code> への %[1]d コミットのマージを希望しています
|
||||
pulls.merged_title_desc=%[4]s に %[1]d 件のコミットが <code>%[2]s</code> から <code>%[3]s</code> にマージされました
|
||||
pulls.tab_conversation=会話
|
||||
pulls.tab_commits=コミット
|
||||
pulls.tab_files=ファイルが変更された
|
||||
pulls.tab_files=変更されたファイル
|
||||
pulls.reopen_to_merge=マージ操作を実行するには、このプルリクエストを再び開いてください。
|
||||
pulls.merged=マージされた
|
||||
pulls.has_merged=このプルプルリクエストは正常にマージされました!
|
||||
pulls.data_broken=Data of this pull request has been broken due to deletion of fork information.
|
||||
pulls.data_broken=フォーク情報の削除によってこのプルリクエストのデータは壊れています。
|
||||
pulls.is_checking=コンフリクトが発生していないかチェック中です、しばらく待ったのちページを更新してください。
|
||||
pulls.can_auto_merge_desc=このプルリクエストは自動的にマージできます。
|
||||
pulls.cannot_auto_merge_desc=コンフリクトが発生しているため、このプルリクエストを自動的にマージすることはできません。
|
||||
pulls.cannot_auto_merge_helper=競合を解決するためには、手動でマージする必要があります。
|
||||
pulls.create_merge_commit=Create a merge commit
|
||||
pulls.rebase_before_merging=Rebase before merging
|
||||
pulls.create_merge_commit=マージコミットを作成する
|
||||
pulls.rebase_before_merging=マージする前に再配置します。
|
||||
pulls.merge_pull_request=プルリクエストをマージします。
|
||||
pulls.open_unmerged_pull_exists=`You can't perform reopen operation because there is already an open pull request (#%d) from same repository with same merge information and is waiting for merging.`
|
||||
pulls.open_unmerged_pull_exists=`同じリポジトリに同じマージ情報持つ未解決のプルリクエスト (#%d) が存在するため再び開くことができません。`
|
||||
pulls.delete_branch=ブランチの削除
|
||||
pulls.delete_branch_has_new_commits=マージ後に新しいコミットがされているため、ブランチを削除することが出来ません。
|
||||
pulls.delete_branch_has_new_commits=マージ後に新しいコミットが行われているため、ブランチを削除することはできません。
|
||||
|
||||
milestones.new=新しいマイルストーン
|
||||
milestones.open_tab=%d オープン
|
||||
@@ -739,8 +739,8 @@ settings.tracker_issue_style.numeric=数値
|
||||
settings.tracker_issue_style.alphanumeric=英数字
|
||||
settings.tracker_url_format_desc=ユーザー名、リポジトリ名、課題番号を埋め込むために <code>{user} {repo} {index}</code> が使用できます。
|
||||
settings.pulls_desc=誰でもコントリビュートできるよう、プルリクエストの受け付けを有効にします
|
||||
settings.pulls.ignore_whitespace=Ignore changes in whitespace
|
||||
settings.pulls.allow_rebase_merge=Allow use rebase to merge commits
|
||||
settings.pulls.ignore_whitespace=空白の変更を無視する
|
||||
settings.pulls.allow_rebase_merge=コミットをマージするためのリベースの使用を許可する
|
||||
settings.danger_zone=危険地帯
|
||||
settings.cannot_fork_to_same_owner=元の持ち主に向けてフォークすることは出来ません。
|
||||
settings.new_owner_has_same_repo=新しいオーナーは、既に同じ名前のリポジトリを持っています。
|
||||
@@ -752,17 +752,17 @@ settings.convert_succeed=リポジトリは正常に通常リポジトリへ変
|
||||
settings.transfer=オーナー移転
|
||||
settings.transfer_desc=リポジトリをあなたが管理者権限を持っている別のユーザーまた組織に移譲します。
|
||||
settings.transfer_notices_1=-新しい所有者が個人ユーザーの場合、あなたがアクセスできなくなります。
|
||||
settings.transfer_notices_2=- You will conserve access if new owner is an organization and if you're one of the owners.
|
||||
settings.transfer_notices_2=- 新しい所有者が組織で、あなたがその組織の所有者である場合はアクセス権が残ります。
|
||||
settings.transfer_form_title=操作を確認するために、以下の情報を入力してください。
|
||||
settings.wiki_delete=Wikiのデータ消去
|
||||
settings.wiki_delete_desc=Wikiのデータを消去すると元に戻すことは出来ません。よく確認してください。
|
||||
settings.wiki_delete_notices_1=- This will delete and disable the wiki for %s
|
||||
settings.wiki_delete_notices_1=- %s の Wiki を削除して無効にします。
|
||||
settings.wiki_deletion_success=Wikiのデータ消去が完了しました。
|
||||
settings.delete=このリポジトリを削除
|
||||
settings.delete_desc=リポジトリを削除すると元に戻せません。確実に確認してください。
|
||||
settings.delete_notices_1=-この操作は<strong>元に戻せません</strong> 。
|
||||
settings.delete_notices_2=- この操作は、Git データ、課題、コメント、共同編集者のアクセス権などを含む、このリポジトリに関するすべてを完全に削除します。
|
||||
settings.delete_notices_fork_1=- All forks will become independent after deletion.
|
||||
settings.delete_notices_2=- This operation will permanently delete everything in this repository, including Git data, issues, comments and collaborator access.
|
||||
settings.delete_notices_fork_1=- 削除後、すべてのフォークは独立したリポジトリになります。
|
||||
settings.deletion_success=リポジトリが正常に削除されました。
|
||||
settings.update_settings_success=リポジトリ オプションが更新されました。
|
||||
settings.transfer_owner=新しいオーナー
|
||||
@@ -801,7 +801,7 @@ settings.add_webhook_desc=私たちは、指定されたURLに購読されたイ
|
||||
settings.payload_url=ペイロードの URL
|
||||
settings.content_type=コンテンツ タイプ
|
||||
settings.secret=秘密
|
||||
settings.secret_desc=Secret will be sent as SHA256 HMAC hex digest of payload via <code>X-Gogs-Signature</code> header.
|
||||
settings.secret_desc=秘密キーは、 <code>X-Gogs-Signature</code> ヘッダーを介してペイロードの HMAC SHA256 六角ダイジェストとして送信されます。
|
||||
settings.slack_username=ユーザ名
|
||||
settings.slack_icon_url=アイコン URL
|
||||
settings.slack_color=カラー
|
||||
@@ -835,7 +835,7 @@ settings.recent_deliveries=最近のデリバリー
|
||||
settings.hook_type=フックタイプ
|
||||
settings.add_slack_hook_desc=リポジトリに <a href="%s">Slack</a> 連携を追加します。
|
||||
settings.add_discord_hook_desc=リポジトリに <a href="%s">Discord</a> 連携を追加します。
|
||||
settings.add_dingtalk_hook_desc=Add <a href="%s">Dingtalk</a> integration to your repository.
|
||||
settings.add_dingtalk_hook_desc=リポジトリに <a href="%s">Dingtalk</a> 連携を追加します。
|
||||
settings.slack_token=トークン
|
||||
settings.slack_domain=ドメイン
|
||||
settings.slack_channel=チャンネル
|
||||
@@ -860,7 +860,7 @@ diff.data_not_available=差分データは利用できません。
|
||||
diff.show_diff_stats=差分情報を表示
|
||||
diff.show_split_view=分割表示
|
||||
diff.show_unified_view=一括表示
|
||||
diff.stats_desc=共有<strong>%d 個のファイルを変更した</strong>、<strong>%d 個の追加</strong> と <strong>%d 個の削除</strong>を含む
|
||||
diff.stats_desc=<strong>%d ファイル変更</strong>、<strong>%d 行追加</strong>、<strong>%d 行削除</strong>
|
||||
diff.bin=BIN
|
||||
diff.view_file=ファイルの表示
|
||||
diff.file_suppressed=ファイルの差分が大きいため隠しています
|
||||
@@ -871,10 +871,10 @@ release.new_release=新しいリリース
|
||||
release.draft=ドラフト
|
||||
release.prerelease=プレリリース
|
||||
release.edit=編集
|
||||
release.ahead=このリリース以降 %s へ <strong>%d</strong> コミット
|
||||
release.ahead=このリリース以降 %[2]s へ <strong>%[1]d</strong> コミット
|
||||
release.source_code=ソース コード
|
||||
release.new_subheader=Publish releases to iterate product.
|
||||
release.edit_subheader=詳細な変更ログは、ユーザーに何が改善されたかの理解を助けることができます。
|
||||
release.new_subheader=製品を反復するためにリリースを公開する。
|
||||
release.edit_subheader=詳細な変更ログは、ユーザーが改善点を理解するのに役立つでしょう。
|
||||
release.tag_name=タグ名
|
||||
release.target=ターゲット
|
||||
release.tag_helper=既存のタグを選択するか、新しいタグを作成し発行します。
|
||||
@@ -895,7 +895,7 @@ release.deletion_desc=このリリースを削除すると、対応するGitの
|
||||
release.deletion_success=リリースが正常に削除されました。
|
||||
release.tag_name_already_exist=このタグ名には既にリリースが存在します。
|
||||
release.tag_name_invalid=使用できないタグ名です。
|
||||
release.downloads=Downloads
|
||||
release.downloads=ダウンロード
|
||||
|
||||
[org]
|
||||
org_name_holder=組織名
|
||||
@@ -927,7 +927,7 @@ settings.website=WEBサイト
|
||||
settings.location=ロケーション
|
||||
settings.update_settings=設定の更新
|
||||
settings.update_setting_success=組織の設定が更新されました。
|
||||
settings.change_orgname_prompt=This change will affect how links relate to the organization.
|
||||
settings.change_orgname_prompt=この変更は組織へのリンクに影響します。
|
||||
settings.update_avatar_success=組織のアバター画像が正常に更新されました。
|
||||
settings.delete=組織を削除
|
||||
settings.delete_account=この組織を削除
|
||||
@@ -1009,10 +1009,10 @@ dashboard.git_gc_repos=リポジトリでのガベージコレクションを実
|
||||
dashboard.git_gc_repos_success=すべてのリポジトリは正常にガベージ コレクションを行いました。
|
||||
dashboard.resync_all_sshkeys='.ssh/ authorized_keys' ファイルを再生成します。(警告:Gogsキー以外は失われます)
|
||||
dashboard.resync_all_sshkeys_success=すべての公開鍵が正常に書き換えられました。
|
||||
dashboard.resync_all_hooks=Resync pre-receive, update and post-receive hooks of all repositories
|
||||
dashboard.resync_all_hooks_success=All repositories' pre-receive, update and post-receive hooks have been resynced successfully.
|
||||
dashboard.reinit_missing_repos=Reinitialize all repository records that lost Git files
|
||||
dashboard.reinit_missing_repos_success=All repository records that lost Git files have been reinitialized successfully.
|
||||
dashboard.resync_all_hooks=すべてリポジトリの pre-receive, update, post-receive フックを再同期する。
|
||||
dashboard.resync_all_hooks_success=すべてリポジトリの pre-receive, update, post-receive フックが正常に再同期されました。
|
||||
dashboard.reinit_missing_repos=Gitファイルが失われたリポジトリのすべてのレコードを再初期化する
|
||||
dashboard.reinit_missing_repos_success=すべてのGitファイルを失ったレポジトリレコードが正常に再初期化されました。
|
||||
|
||||
dashboard.server_uptime=サーバーの稼働時間
|
||||
dashboard.current_goroutine=現在のGoroutine
|
||||
@@ -1100,22 +1100,22 @@ auths.domain=ドメイン
|
||||
auths.host=ホスト
|
||||
auths.port=ポート
|
||||
auths.bind_dn=バインド DN
|
||||
auths.bind_dn_helper=You can use '%s' as placeholder for username, e.g. DOM\%s
|
||||
auths.bind_dn_helper='%s'はユーザー名のプレースホルダとして使用できます。 例)DOM \%s
|
||||
auths.bind_password=バインド パスワード
|
||||
auths.bind_password_helper=警告: このパスワードは暗号化されずに格納されます。特権を持つアカウントに使用しないでください。
|
||||
auths.user_base=ユーザ検索ベース
|
||||
auths.user_dn=User DN
|
||||
auths.attribute_username=ユーザー名属性
|
||||
auths.attribute_username_placeholder=Leave empty to use sign-in form field value for user name.
|
||||
auths.attribute_name=First Name Attribute
|
||||
auths.attribute_username_placeholder=ログインフォームの値を使う場合は空にしてください。
|
||||
auths.attribute_name=名前属性
|
||||
auths.attribute_surname=名字属性
|
||||
auths.attribute_mail=Eメール属性
|
||||
auths.verify_group_membership=Verify group membership
|
||||
auths.group_search_base_dn=Group Search Base DN
|
||||
auths.group_filter=Group Filter
|
||||
auths.group_attribute_contain_user_list=Group Attribute Containing List of Users
|
||||
auths.user_attribute_listed_in_group=User Attribute Listed in Group
|
||||
auths.attributes_in_bind=Fetch attributes in Bind DN context
|
||||
auths.verify_group_membership=グループ メンバーシップを確認します。
|
||||
auths.group_search_base_dn=グループ サーチベースDN
|
||||
auths.group_filter=グループ フィルター
|
||||
auths.group_attribute_contain_user_list=ユーザーのリストを含むグループ属性
|
||||
auths.user_attribute_listed_in_group=グループのユーザー属性
|
||||
auths.attributes_in_bind=属性をバインドDNのコンテクストから取得する
|
||||
auths.filter=User フィルター
|
||||
auths.admin_filter=Admin フィルター
|
||||
auths.ms_ad_sa=Ms Ad SA
|
||||
@@ -1141,7 +1141,7 @@ auths.still_in_used=この認証を使用しているユーザーがいます。
|
||||
auths.deletion_success=認証が正常に削除されました。
|
||||
auths.login_source_exist=ログイン ソース '%s' は既に存在します。
|
||||
|
||||
config.not_set=(not set)
|
||||
config.not_set=(未設定)
|
||||
config.server_config=サーバーの構成
|
||||
config.app_name=アプリケーション名
|
||||
config.app_ver=アプリケーションのバージョン
|
||||
@@ -1163,6 +1163,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_key_test_path=キーテストパス
|
||||
config.ssh_keygen_path=鍵生成コマンド ('ssh-keygen') のパス
|
||||
config.ssh_minimum_key_size_check=最小キーサイズチェック
|
||||
@@ -1175,10 +1176,10 @@ config.repo_force_private=非公開リポジトリの強制
|
||||
config.max_creation_limit=最大作成数
|
||||
config.preferred_licenses=優先ライセンス
|
||||
config.disable_http_git=HTTP Git の無効化
|
||||
config.enable_local_path_migration=Enable Local Path Migration
|
||||
config.commits_fetch_concurrency=Commits Fetch Concurrency
|
||||
config.enable_local_path_migration=ローカルパス移行の有効化
|
||||
config.commits_fetch_concurrency=コミットのフェッチの並行数
|
||||
|
||||
config.http_config=HTTP Configuration
|
||||
config.http_config=HTTP の設定
|
||||
config.http_access_control_allow_origin=Access Control Allow Origin
|
||||
|
||||
config.db_config=データベース設定
|
||||
@@ -1210,7 +1211,7 @@ config.skip_tls_verify=TLSの確認を省略
|
||||
config.mailer_config=メーラーの設定
|
||||
config.mailer_enabled=有効にした
|
||||
config.mailer_disable_helo=HELOコマンド無効
|
||||
config.mailer_name=名前
|
||||
config.mailer_subject_prefix=Subject Prefix
|
||||
config.mailer_host=ホスト
|
||||
config.mailer_user=ユーザ
|
||||
config.send_test_mail=テストメールの送信
|
||||
@@ -1284,21 +1285,21 @@ 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>にプッシュしました
|
||||
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 コミットの比較を表示
|
||||
transfer_repo=リポジトリ <code>%s</code> を <a href="%s">%s</a> へ転送しました
|
||||
create_issue=`課題 <a href="%s/issues/%s">%s#%[2]s</a> を開きました`
|
||||
close_issue=`課題 <a href="%s/issues/%s">%s#%[2]s</a> を閉じました`
|
||||
reopen_issue=`課題 <a href="%s/issues/%s">%s#%[2]s</a> が再び開かれました`
|
||||
comment_issue=`課題 <a href="%s/issues/%s">%s#%[2]s</a> へのコメント`
|
||||
comment_issue=`が課題 <a href="%s/issues/%s">%s#%[2]s</a> にコメントしました`
|
||||
create_pull_request=`プルリクエスト <a href="%s/pulls/%s"> %s[2]s</a>を作成`
|
||||
close_pull_request=`プルリクエスト <a href="%s/pulls/%s">%s#%[2]s</a> を閉じました`
|
||||
reopen_pull_request=`プルリクエスト <a href="%s/pulls/%s">%s#%[2]s</a> が再び開かれました`
|
||||
merge_pull_request=`プルリクエスト <a href="%s/pulls/%s"> %s[2]s</a>をマージしました`
|
||||
create_branch=<a href="%[1]s">%[4]s</a> に、新しいブランチ <a href="%[1]s/src/%[2]s">%[3]s</a> を作成しました
|
||||
create_branch=が <a href="%[1]s">%[4]s</a> に新しいブランチ <a href="%[1]s/src/%[2]s">%[3]s</a> を作成しました
|
||||
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> をプッシュしました
|
||||
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> を削除しました
|
||||
|
||||
[tool]
|
||||
|
||||
@@ -349,7 +349,7 @@ two_factor_then_enter_passcode=그리고 코드를 입력하세요:
|
||||
two_factor_verify=확인
|
||||
two_factor_invalid_passcode=입력한 코드가 올바르지 않습니다. 다시 시도해 주세요!
|
||||
two_factor_enable_error=2단계 인증 활성화 실패: %v
|
||||
two_factor_enable_success=Two-factor authentication has enabled for your account successfully!
|
||||
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
|
||||
@@ -762,7 +762,7 @@ settings.wiki_deletion_success=저장소의 Wiki 데이터가 성공적으로
|
||||
settings.delete=이 저장소 삭제
|
||||
settings.delete_desc=저장소를 지우고 나면 되돌릴 수 없습니다. 다시 한번 확인하세요.
|
||||
settings.delete_notices_1=- 이 작업은 취소할 수 <strong>없습니다.</strong>
|
||||
settings.delete_notices_2=- 이 작업은 저장소의 모든 항목을 영구적으로 삭제합니다. Git 데이터, 이슈, 주석 및 공동 작업자의 액세스를 포함합니다.
|
||||
settings.delete_notices_2=- This operation will permanently delete everything in this repository, including Git data, issues, comments and collaborator access.
|
||||
settings.delete_notices_fork_1=- 모든 포크들은 삭제 후에도 독립적으로 유지됩니다.
|
||||
settings.deletion_success=저장소가 성공적으로 삭제 되었습니다!
|
||||
settings.update_settings_success=저장소 옵션이 성공적으로 업데이트 되었습니다.
|
||||
@@ -1164,6 +1164,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_key_test_path=주 테스트 경로
|
||||
config.ssh_keygen_path=키 생성 ('ssh-keygen') 경로
|
||||
config.ssh_minimum_key_size_check=최소 키 사이즈 검사
|
||||
@@ -1179,7 +1180,7 @@ config.disable_http_git=Disable HTTP Git
|
||||
config.enable_local_path_migration=Enable Local Path Migration
|
||||
config.commits_fetch_concurrency=Commits Fetch Concurrency
|
||||
|
||||
config.http_config=HTTP Configuration
|
||||
config.http_config=HTTP 설정
|
||||
config.http_access_control_allow_origin=Access Control Allow Origin
|
||||
|
||||
config.db_config=데이터베이스 설정
|
||||
@@ -1211,7 +1212,7 @@ config.skip_tls_verify=TLS 확인 건너뛰기
|
||||
config.mailer_config=메일러 설정
|
||||
config.mailer_enabled=활성화됨
|
||||
config.mailer_disable_helo=HELO 비활성화
|
||||
config.mailer_name=이름
|
||||
config.mailer_subject_prefix=Subject Prefix
|
||||
config.mailer_host=호스트
|
||||
config.mailer_user=사용자
|
||||
config.send_test_mail=테스트 이메일 보내기
|
||||
|
||||
@@ -761,7 +761,7 @@ settings.wiki_deletion_success=Repozitorija Vikivietnes dati tika veiksmīgi izd
|
||||
settings.delete=Dzēst šo repozitoriju
|
||||
settings.delete_desc=Dzēšot repozitoriju, tā datus vairs nebūs iespējams atgūt. Pirms dzēšanas pārliecinieites vai patiešām vēlaties to darīt.
|
||||
settings.delete_notices_1=- Šī darbība ir <strong>NEATGRIEZENISKA</strong>.
|
||||
settings.delete_notices_2=- Šī darbība neatgriezeniski izdzēsīs visus šī repozitorija datus, tai skaitā Git datus, problēmu ziņojumus, komentārus un definētās piekļuves tiesības.
|
||||
settings.delete_notices_2=- This operation will permanently delete everything in this repository, including Git data, issues, comments and collaborator access.
|
||||
settings.delete_notices_fork_1=- Visi atdalītie repozitoriji kļūs neatkarīgi pēc dzēšanas.
|
||||
settings.deletion_success=Repozitorijs tika veiksmīgi dzēsts!
|
||||
settings.update_settings_success=Repozitorija opcijas ir veiksmīgi saglabātas.
|
||||
@@ -1163,6 +1163,7 @@ config.ssh_domain=Domēns
|
||||
config.ssh_port=Ports
|
||||
config.ssh_listen_port=Klausīšanās ports
|
||||
config.ssh_root_path=Saknes ceļš
|
||||
config.ssh_rewrite_authorized_keys_at_start=Rewrite authorized_keys At Start
|
||||
config.ssh_key_test_path=Atslēgu pārbaudes ceļš
|
||||
config.ssh_keygen_path=Keygen ('ssh-keygen') ceļš
|
||||
config.ssh_minimum_key_size_check=Minimālā atslēgas lieluma pārbaude
|
||||
@@ -1210,7 +1211,7 @@ config.skip_tls_verify=Izlaist TLS pārbaudi
|
||||
config.mailer_config=Sūtītāja konfigurācija
|
||||
config.mailer_enabled=Iespējots
|
||||
config.mailer_disable_helo=Atspējot HELO
|
||||
config.mailer_name=Nosaukums
|
||||
config.mailer_subject_prefix=Subject Prefix
|
||||
config.mailer_host=Resursdators
|
||||
config.mailer_user=Lietotājs
|
||||
config.send_test_mail=Nosūtīt pārbaudes e-pastu
|
||||
|
||||
@@ -761,7 +761,7 @@ settings.wiki_deletion_success=De repository met wiki data is succesvol gewist.
|
||||
settings.delete=Verwijder deze repositorie
|
||||
settings.delete_desc=Als u eenmaal een repositorie verwijderd is er geen weg terug. Gelieve zeker te zijn van uw acties.
|
||||
settings.delete_notices_1=- Deze bewerking kan <strong>NIET</strong> ongedaan gemaakt worden.
|
||||
settings.delete_notices_2=- Deze bewerking verwijdert permanent alle informatie van deze repository met inbegrip van Git gegevens, tickets, opmerkingen en de toegang van medewerkers.
|
||||
settings.delete_notices_2=- This operation will permanently delete everything in this repository, including Git data, issues, comments and collaborator access.
|
||||
settings.delete_notices_fork_1=- All forks will become independent after deletion.
|
||||
settings.deletion_success=Repository is succesvol verwijderd!
|
||||
settings.update_settings_success=Repositorie instellingen zijn succesvol bijgewerkt.
|
||||
@@ -1163,6 +1163,7 @@ config.ssh_domain=Domein
|
||||
config.ssh_port=Poort
|
||||
config.ssh_listen_port=Luister op poort
|
||||
config.ssh_root_path=Root-pad
|
||||
config.ssh_rewrite_authorized_keys_at_start=Rewrite authorized_keys At Start
|
||||
config.ssh_key_test_path=Pad voor key-tests
|
||||
config.ssh_keygen_path=Pad van keygen ('ssh-keygen')
|
||||
config.ssh_minimum_key_size_check=Controleer minimale key-lengte
|
||||
@@ -1210,7 +1211,7 @@ config.skip_tls_verify=TLS certificaat controle overslaan
|
||||
config.mailer_config=Mailerconfiguatie
|
||||
config.mailer_enabled=Ingeschakeld
|
||||
config.mailer_disable_helo=Schakel HELO uit
|
||||
config.mailer_name=Naam
|
||||
config.mailer_subject_prefix=Subject Prefix
|
||||
config.mailer_host=Host
|
||||
config.mailer_user=Gebruiker
|
||||
config.send_test_mail=Testbericht verzenden
|
||||
|
||||
@@ -40,7 +40,7 @@ your_settings=Twoje ustawienia
|
||||
|
||||
activities=Aktywności
|
||||
pull_requests=Oczekujące zmiany
|
||||
issues=Zagadnienia
|
||||
issues=Problemy
|
||||
|
||||
cancel=Anuluj
|
||||
|
||||
@@ -632,8 +632,8 @@ pulls.is_checking=Sprawdzanie konfliktów jeszcze trwa, proszę odświeżyć str
|
||||
pulls.can_auto_merge_desc=Pull request może być automatycznie scalony.
|
||||
pulls.cannot_auto_merge_desc=Pull request nie może być automatycznie scalony z powodu konfliktów.
|
||||
pulls.cannot_auto_merge_helper=Proszę scalić ręcznie, aby rozwiązać konflikty.
|
||||
pulls.create_merge_commit=Create a merge commit
|
||||
pulls.rebase_before_merging=Rebase before merging
|
||||
pulls.create_merge_commit=Utwórz scalający commit
|
||||
pulls.rebase_before_merging=Rebase przed scaleniem
|
||||
pulls.merge_pull_request=Scal Pull Request
|
||||
pulls.open_unmerged_pull_exists=`Nie można otworzyć ponownie ponieważ już istnieje gotowy do scalenia pull request (#%d) z tego samego repozytorium z tymi samymi informacjami.`
|
||||
pulls.delete_branch=Usuń gałąź
|
||||
@@ -739,8 +739,8 @@ settings.tracker_issue_style.numeric=Numeryczny
|
||||
settings.tracker_issue_style.alphanumeric=Alfanumeryczne
|
||||
settings.tracker_url_format_desc=Symbole zastępcze <code>{user} {repo} {index}</code> mogą być użyte dla nazwy użytkownika, nazwy repozytorium i numeru problemu.
|
||||
settings.pulls_desc=Włącz obsługę pull request, aby akceptować publiczny wkład
|
||||
settings.pulls.ignore_whitespace=Ignore changes in whitespace
|
||||
settings.pulls.allow_rebase_merge=Allow use rebase to merge commits
|
||||
settings.pulls.ignore_whitespace=Ignoruj zmiany w białych znakach
|
||||
settings.pulls.allow_rebase_merge=Zezwalaj na użycie rebase do scalenia commitów
|
||||
settings.danger_zone=Strefa niebezpieczeństwa
|
||||
settings.cannot_fork_to_same_owner=Nie można sforkować repozytorium do pierwotnego właściciela.
|
||||
settings.new_owner_has_same_repo=Nowy właściciel już posiada repozytorium o tej samej nazwie.
|
||||
@@ -761,7 +761,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=- Ta operacja trwale usunie wszystko z tego repozytorium, w tym dane Git, problemy, komentarze i dostęp dla współpracowników.
|
||||
settings.delete_notices_2=- This operation will permanently delete everything in this repository, including Git data, issues, comments and collaborator access.
|
||||
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.
|
||||
@@ -1100,7 +1100,7 @@ auths.domain=Domena
|
||||
auths.host=Host
|
||||
auths.port=Port
|
||||
auths.bind_dn=Bind DN
|
||||
auths.bind_dn_helper=You can use '%s' as placeholder for username, e.g. DOM\%s
|
||||
auths.bind_dn_helper=Możesz użyć '%s' jako symbol zastępczy dla nazwy użytkownika, np. DOM\%s
|
||||
auths.bind_password=Hasło Bind
|
||||
auths.bind_password_helper=Ostrzeżenie: To hasło jest przechowywane w postaci zwykłego tekstu. Nie należy używać wysoko uprzywilejowanego konta.
|
||||
auths.user_base=Baza wyszukiwania
|
||||
@@ -1141,7 +1141,7 @@ auths.still_in_used=Ten rodzaj autentykacji jest wciąż wykorzystywany przez ni
|
||||
auths.deletion_success=Uwierzytelnienie zostało usunięte pomyślnie!
|
||||
auths.login_source_exist=Login '%s' już istnieje.
|
||||
|
||||
config.not_set=(not set)
|
||||
config.not_set=(nie ustawiono)
|
||||
config.server_config=Konfiguracja serwera
|
||||
config.app_name=Nazwa aplikacji
|
||||
config.app_ver=Wersja aplikacji
|
||||
@@ -1163,6 +1163,7 @@ config.ssh_domain=Domena
|
||||
config.ssh_port=Port
|
||||
config.ssh_listen_port=Port nasłuchu
|
||||
config.ssh_root_path=Ścieżka katalogu głównego
|
||||
config.ssh_rewrite_authorized_keys_at_start=Rewrite authorized_keys At Start
|
||||
config.ssh_key_test_path=Ścieżka klucza testowego
|
||||
config.ssh_keygen_path=Ścieżka generatora ('ssh-keygen')
|
||||
config.ssh_minimum_key_size_check=Sprawdzanie minimalnej długości klucza
|
||||
@@ -1178,8 +1179,8 @@ config.disable_http_git=Wyłącz HTTP Git
|
||||
config.enable_local_path_migration=Włącz lokalną ścieżkę migracji
|
||||
config.commits_fetch_concurrency=Pobieraj zmiany w trybie równoległym
|
||||
|
||||
config.http_config=HTTP Configuration
|
||||
config.http_access_control_allow_origin=Access Control Allow Origin
|
||||
config.http_config=Konfiguracja HTTP
|
||||
config.http_access_control_allow_origin=Kontrola Dostępu Uwzględnia Źródło
|
||||
|
||||
config.db_config=Konfiguracja bazy danych
|
||||
config.db_type=Typ
|
||||
@@ -1210,7 +1211,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_name=Nazwa
|
||||
config.mailer_subject_prefix=Subject Prefix
|
||||
config.mailer_host=Host
|
||||
config.mailer_user=Użytkownik
|
||||
config.send_test_mail=Wyślij email testowy
|
||||
|
||||
@@ -632,7 +632,7 @@ pulls.is_checking=A verificação do conflito ainda está em progresso, por favo
|
||||
pulls.can_auto_merge_desc=O merge deste Pull Pequest pode ser aplicado automaticamente.
|
||||
pulls.cannot_auto_merge_desc=O merge deste Pull Request não pode ser aplicado automaticamente pois há conflitos.
|
||||
pulls.cannot_auto_merge_helper=Por favor, aplique o merge manualmente para resolver os conflitos.
|
||||
pulls.create_merge_commit=Create a merge commit
|
||||
pulls.create_merge_commit=Criar commit de um merge
|
||||
pulls.rebase_before_merging=Rebase before merging
|
||||
pulls.merge_pull_request=Solicitação de merge de Pull Request
|
||||
pulls.open_unmerged_pull_exists=`Você não pode executar a operação de reabrir porque já existe um Pull request aberto (#%d) do mesmo repositório com as mesmas informações de merge e está esperando pelo merge.`
|
||||
@@ -739,7 +739,7 @@ settings.tracker_issue_style.numeric=Numérico
|
||||
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=Ignore changes in whitespace
|
||||
settings.pulls.ignore_whitespace=Ignorar alterações em espaço em branco
|
||||
settings.pulls.allow_rebase_merge=Allow use rebase to merge commits
|
||||
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.
|
||||
@@ -761,7 +761,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=- Esta operação irá apagar permanentemente o tudo deste repositório, incluindo os dados do Git, Issues, comentários e acessos dos colaboradores.
|
||||
settings.delete_notices_2=- This operation will permanently delete everything in this repository, including Git data, issues, comments and collaborator access.
|
||||
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.
|
||||
@@ -1163,6 +1163,7 @@ config.ssh_domain=Domínio
|
||||
config.ssh_port=Porta
|
||||
config.ssh_listen_port=Porta de escuta
|
||||
config.ssh_root_path=Caminho da raiz
|
||||
config.ssh_rewrite_authorized_keys_at_start=Rewrite authorized_keys At Start
|
||||
config.ssh_key_test_path=Caminho da chave de teste
|
||||
config.ssh_keygen_path=Caminho do keygen ('ssh-keygen')
|
||||
config.ssh_minimum_key_size_check=Verificar tamanho mínimo da chave
|
||||
@@ -1175,10 +1176,10 @@ config.repo_force_private=Forçar Privado
|
||||
config.max_creation_limit=Limite de Criação
|
||||
config.preferred_licenses=Licenças Preferidas
|
||||
config.disable_http_git=Desabilitar Git por HTTP
|
||||
config.enable_local_path_migration=Enable Local Path Migration
|
||||
config.enable_local_path_migration=Permitir a migração de caminho local
|
||||
config.commits_fetch_concurrency=Commits Fetch Concurrency
|
||||
|
||||
config.http_config=HTTP Configuration
|
||||
config.http_config=Configuração de HTTP
|
||||
config.http_access_control_allow_origin=Access Control Allow Origin
|
||||
|
||||
config.db_config=Configuração do banco de dados
|
||||
@@ -1210,7 +1211,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_name=Nome
|
||||
config.mailer_subject_prefix=Subject Prefix
|
||||
config.mailer_host=Host
|
||||
config.mailer_user=Usuário
|
||||
config.send_test_mail=Enviar email de teste
|
||||
|
||||
@@ -98,7 +98,7 @@ server_service_title=Сервер и другие настройки служб
|
||||
offline_mode=Включение офлайн режима
|
||||
offline_mode_popup=Отключить CDN даже в производственном режиме, все файлы ресурсов будут раздаваться локально.
|
||||
disable_gravatar=Отключить службу Gravatar
|
||||
disable_gravatar_popup=Отключить Gravatar и пользовательские источники, все аватары по-умолчанию загружаются пользователями.
|
||||
disable_gravatar_popup=Отключить Gravatar и пользовательские источники. Используются аватары, загружаемые пользователями, или аватары по умолчанию.
|
||||
federated_avatar_lookup=Включить поиск внешних Аватаров
|
||||
federated_avatar_lookup_popup=Включите Поиск федеративного аватара для использования федеративной службы с открытым исходным кодом на основе libravatar.
|
||||
disable_registration=Отключить самостоятельную регистрацию
|
||||
@@ -159,7 +159,7 @@ confirmation_mail_sent_prompt=Новое письмо для подтвержд
|
||||
active_your_account=Активируйте свой аккаунт
|
||||
prohibit_login=Вход запрещен
|
||||
prohibit_login_desc=Вход для вашей учетной записи был запрещен, пожалуйста, свяжитесь с администратором сайта.
|
||||
resent_limit_prompt=Извините, вы уже запросили активацию по электронной почте недавно. Пожалуйста, подождите 3 минуты, а затем повторите попытку.
|
||||
resent_limit_prompt=Вы уже запрашивали активацию по электронной почте. Пожалуйста, подождите 3 минуты, а затем повторите попытку.
|
||||
has_unconfirmed_mail=Здравствуйте, %s! У вас есть неподтвержденный адрес электронной почты (<b>%s</b>). Если вам не приходило письмо с подтверждением или нужно выслать новое письмо, нажмите на кнопку ниже.
|
||||
resend_mail=Нажмите здесь, чтобы переотправить активационное письмо
|
||||
send_reset_mail=Нажмите сюда, чтобы отправить письмо для сброса пароля
|
||||
@@ -476,7 +476,7 @@ branches.overview=Обзор
|
||||
branches.active_branches=Активные ветки
|
||||
branches.stale_branches=Устаревшие ветки
|
||||
branches.all=Все ветки
|
||||
branches.updated_by=Обновлено %[1]s %[2]s
|
||||
branches.updated_by=Обновлено %[1]s пользователем %[2]s
|
||||
branches.change_default_branch=Change Default Branch
|
||||
|
||||
editor.new_file=Новый файл
|
||||
@@ -616,7 +616,7 @@ pulls.compare_compare=сравнить
|
||||
pulls.filter_branch=Фильтр по ветке
|
||||
pulls.no_results=Результатов не найдено.
|
||||
pulls.nothing_to_compare=Нечего сравнивать, родительская и текущая ветка одинаковые.
|
||||
pulls.nothing_merge_base=There is nothing to compare because two branches have completely different history.
|
||||
pulls.nothing_merge_base=Нечего сравнивать, так так история обеих веток полностью отличается.
|
||||
pulls.has_pull_request=`Уже существует запрос на слияние между двумя целями: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
|
||||
pulls.create=Создать запрос на слияние
|
||||
pulls.title_desc=хочет смерджить %[1]d коммит(ов) из <code>%[2]s</code> в <code>%[3]s</code>
|
||||
@@ -632,8 +632,8 @@ pulls.is_checking=Продолжается проверка конфликтов
|
||||
pulls.can_auto_merge_desc=Этот запрос на слияние может быть объединён автоматически.
|
||||
pulls.cannot_auto_merge_desc=Этот запрос на слияние не может быть объединён автоматически.
|
||||
pulls.cannot_auto_merge_helper=Пожалуйста, совершите слияние вручную для урегулирования конфликтов.
|
||||
pulls.create_merge_commit=Create a merge commit
|
||||
pulls.rebase_before_merging=Rebase before merging
|
||||
pulls.create_merge_commit=Создать коммит на слияние
|
||||
pulls.rebase_before_merging=Выполнить rebase перед слиянием
|
||||
pulls.merge_pull_request=Слить пулл-реквест
|
||||
pulls.open_unmerged_pull_exists=`Вы не можете снова открыть, поскольку уже существует запрос на слияние (#%d) из того же репозитория с той же информацией о слиянии и ожидающий слияния. `
|
||||
pulls.delete_branch=Удалить ветку
|
||||
@@ -739,8 +739,8 @@ settings.tracker_issue_style.numeric=Цифровой
|
||||
settings.tracker_issue_style.alphanumeric=Буквенноцифровой
|
||||
settings.tracker_url_format_desc=Вы можете использовать шаблон <code>{user} {repo} {index}</code> для имени пользователя, репозитория и номера задачи.
|
||||
settings.pulls_desc=Включить публичные запросы на слияние
|
||||
settings.pulls.ignore_whitespace=Ignore changes in whitespace
|
||||
settings.pulls.allow_rebase_merge=Allow use rebase to merge commits
|
||||
settings.pulls.ignore_whitespace=Игнорировать изменения в пробельных символах
|
||||
settings.pulls.allow_rebase_merge=Разрешить rebase-слияние
|
||||
settings.danger_zone=Опасная зона
|
||||
settings.cannot_fork_to_same_owner=Вы не можете ответвить репозиторий его же владельцу.
|
||||
settings.new_owner_has_same_repo=У нового владельца уже есть хранилище с таким названием.
|
||||
@@ -761,7 +761,7 @@ settings.wiki_deletion_success=Данные Вики успешно стерты
|
||||
settings.delete=Удалить этот репозиторий
|
||||
settings.delete_desc=Будьте внимательны! Как только вы удалите репозиторий — пути назад не будет.
|
||||
settings.delete_notices_1=- Эта операция <strong>НЕ МОЖЕТ</strong> быть отменена.
|
||||
settings.delete_notices_2=- Эта операция навсегда удалит всё из этого репозитория, включая данные Git, связанные с ним задачи, комментарии и права доступа для сотрудников.
|
||||
settings.delete_notices_2=- This operation will permanently delete everything in this repository, including Git data, issues, comments and collaborator access.
|
||||
settings.delete_notices_fork_1=- Все отвлетвления станут независимыми после удаления.
|
||||
settings.deletion_success=Репозиторий был успешно удалён!
|
||||
settings.update_settings_success=Настройки репозитория обновлены успешно.
|
||||
@@ -835,12 +835,12 @@ settings.recent_deliveries=Недавние рассылки
|
||||
settings.hook_type=Тип перехватчика
|
||||
settings.add_slack_hook_desc=Добавить интеграцию с <a href="%s">Slack</a> в ваш репозиторий.
|
||||
settings.add_discord_hook_desc=Добавить интеграцию с <a href="%s">Discord</a> в ваш репозиторий.
|
||||
settings.add_dingtalk_hook_desc=Add <a href="%s">Dingtalk</a> integration to your repository.
|
||||
settings.add_dingtalk_hook_desc=Добавить интеграцию с <a href="%s">Dingtalk</a> в ваш репозиторий.
|
||||
settings.slack_token=Token
|
||||
settings.slack_domain=Домен
|
||||
settings.slack_channel=Канал
|
||||
settings.deploy_keys=Ключи развертывания
|
||||
settings.deploy_keys_helper=<b>Common Gotcha!</b> Если вы ищите куда добавить персональные публичные ключи, добавьте их в <a href="%s%s">настройках вашего аккаунта</a>.
|
||||
settings.deploy_keys_helper=<b>Подсказка:</b> если вы хотите добавить личные публичные ключи, сделайте это в <a href="%s%s">настройках вашего аккаунта</a>.
|
||||
settings.add_deploy_key=Добавить ключ развертывания
|
||||
settings.deploy_key_desc=Ключи развёртывания доступны только для чтения. Это не то же самое что и SSH-ключи аккаунта.
|
||||
settings.no_deploy_keys=Вы не добавляли ключи развертывания.
|
||||
@@ -908,7 +908,7 @@ invite_someone=Пригласить кого-нибудь
|
||||
teams=Команды
|
||||
lower_members=Участники
|
||||
lower_repositories=Репозитории
|
||||
create_new_team=Создать Новую Команду
|
||||
create_new_team=Создать новую команду
|
||||
org_desc=Описание
|
||||
team_name=Название команды
|
||||
team_desc=Описание
|
||||
@@ -1015,7 +1015,7 @@ dashboard.reinit_missing_repos=Реинициализировать все ре
|
||||
dashboard.reinit_missing_repos_success=Все репозитории с утерянными Git файлами успешно реинициализированы.
|
||||
|
||||
dashboard.server_uptime=Время непрерывной работы сервера
|
||||
dashboard.current_goroutine=Текущий Goroutines
|
||||
dashboard.current_goroutine=Текущих Goroutines
|
||||
dashboard.current_memory_usage=Текущее использование памяти
|
||||
dashboard.total_memory_allocated=Всего памяти выделено
|
||||
dashboard.memory_obtained=Памяти использовано
|
||||
@@ -1100,17 +1100,17 @@ auths.domain=Домен
|
||||
auths.host=Хост
|
||||
auths.port=Порт
|
||||
auths.bind_dn=Привязать DN
|
||||
auths.bind_dn_helper=You can use '%s' as placeholder for username, e.g. DOM\%s
|
||||
auths.bind_dn_helper=Вы можете использовать '%s' для подстановки имени пользователя, например: DOM\%s
|
||||
auths.bind_password=Привязать пароль
|
||||
auths.bind_password_helper=Внимание: Этот пароль сохранен в небезопасном виде. Не используйте высоко-привилегированную учетную запись.
|
||||
auths.user_base=База для поиска пользователя
|
||||
auths.user_dn=DN пользователя
|
||||
auths.attribute_username=Атрибут username
|
||||
auths.attribute_username_placeholder=Оставьте пустым, чтобы использовать имя пользователя для регистрации.
|
||||
auths.attribute_name=First Name Attribute
|
||||
auths.attribute_name=Имя атрибута
|
||||
auths.attribute_surname=Фамилия аттрибута
|
||||
auths.attribute_mail=Электронная почта аттрибута
|
||||
auths.verify_group_membership=Verify group membership
|
||||
auths.verify_group_membership=Верифицировать членство в группе
|
||||
auths.group_search_base_dn=Base DN для поиска группы
|
||||
auths.group_filter=Групповой фильтр
|
||||
auths.group_attribute_contain_user_list=Атрибут группы, содержащий список пользователей
|
||||
@@ -1141,7 +1141,7 @@ auths.still_in_used=Эта проверка подлинности до сих
|
||||
auths.deletion_success=Канал аутентификации успешно удален!
|
||||
auths.login_source_exist=Источник входа '%s' уже существует.
|
||||
|
||||
config.not_set=(not set)
|
||||
config.not_set=(не задано)
|
||||
config.server_config=Конфигурация сервера
|
||||
config.app_name=Имя приложения
|
||||
config.app_ver=Версия приложения
|
||||
@@ -1163,6 +1163,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_key_test_path=Путь к тестовому ключу
|
||||
config.ssh_keygen_path=Путь к генератору ключей ('ssh-keygen')
|
||||
config.ssh_minimum_key_size_check=Минимальный размер ключа проверки
|
||||
@@ -1178,8 +1179,8 @@ config.disable_http_git=Выключить HTTP Git
|
||||
config.enable_local_path_migration=Включить миграцию с локального пути
|
||||
config.commits_fetch_concurrency=Параллельность получения коммитов
|
||||
|
||||
config.http_config=HTTP Configuration
|
||||
config.http_access_control_allow_origin=Access Control Allow Origin
|
||||
config.http_config=Конфигурация HTTP
|
||||
config.http_access_control_allow_origin=Содержимое заголовка Access Control Allow Origin
|
||||
|
||||
config.db_config=Конфигурация базы данных
|
||||
config.db_type=Тип
|
||||
@@ -1202,15 +1203,15 @@ config.enable_captcha=Включить капчу
|
||||
config.active_code_lives=Время жизни кода для активации
|
||||
config.reset_password_code_lives=Время жизни кода сброса пароля
|
||||
|
||||
config.webhook_config=Настройка автоматического обновления репозиции
|
||||
config.webhook_config=Конфигурация Webhook
|
||||
config.queue_length=Длина очереди
|
||||
config.deliver_timeout=Задержка доставки
|
||||
config.skip_tls_verify=Пропустить TLS проверка
|
||||
config.skip_tls_verify=Пропустить проверку TLS
|
||||
|
||||
config.mailer_config=Настройки почты
|
||||
config.mailer_enabled=Включено
|
||||
config.mailer_disable_helo=Отключить HELO
|
||||
config.mailer_name=Имя
|
||||
config.mailer_subject_prefix=Subject Prefix
|
||||
config.mailer_host=Сервер
|
||||
config.mailer_user=Пользователь
|
||||
config.send_test_mail=Отправить тестовое письмо
|
||||
@@ -1247,9 +1248,9 @@ config.git_max_diff_line_characters=Максимальное количеств
|
||||
config.git_max_diff_files=Максимальное количество Diff-файлов (при показе)
|
||||
config.git_gc_args=Аргументы GC
|
||||
config.git_migrate_timeout=Тайм-аут миграции
|
||||
config.git_mirror_timeout=Время Ожидания Обновления Зеркала
|
||||
config.git_clone_timeout=Время Ожидания Операции Клонирования
|
||||
config.git_pull_timeout=Время Ожидания Операции Извлечения
|
||||
config.git_mirror_timeout=Время ожидания обновления зеркала
|
||||
config.git_clone_timeout=Время ожидания операции клонирования
|
||||
config.git_pull_timeout=Время ожидания операции извлечения
|
||||
config.git_gc_timeout=Время Ожидания Операции Сборки Мусора
|
||||
|
||||
config.log_config=Конфигурация журнала
|
||||
@@ -1296,8 +1297,8 @@ create_pull_request=`создал запрос на слияние <a href="%s/p
|
||||
close_pull_request=`закрыл запрос на слияние <a href="%s/pulls/%s">%s#%[2]s</a>`
|
||||
reopen_pull_request=`открыл снова запрос на слияние <a href="%s/pulls/%s">%s#%[2]s</a>`
|
||||
merge_pull_request=`слил пул реквест <a href="%s/pulls/%s">%s#%[2]s</a>`
|
||||
create_branch=создать новую ветку <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a>
|
||||
delete_branch=удален бранч <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
|
||||
create_branch=создал новую ветку <a href="%[1]s/src/%[2]s">%[3]s</a> в <a href="%[1]s">%[4]s</a>
|
||||
delete_branch=удалил ветку <code>%[2]s</code> в <a href="%[1]s">%[3]s</a>
|
||||
push_tag=запушил(а) метку <a href="%s/src/%s">%[2]s</a> в <a href="%[1]s">%[3]s</a>
|
||||
delete_tag=удален тег <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
|
||||
|
||||
@@ -1306,19 +1307,19 @@ ago=назад
|
||||
from_now=с этого момента
|
||||
now=сейчас
|
||||
1s=1 секунду %s
|
||||
1m=1 минута %s
|
||||
1m=1 минуту %s
|
||||
1h=1 час %s
|
||||
1d=1 день %s
|
||||
1w=1 неделя %s
|
||||
1mon=1 месяц %s
|
||||
1y=1 год %s
|
||||
seconds=секунд %[2]s: %[1]d
|
||||
minutes=минут %[2]s: %[1]d
|
||||
minutes=%d минут %s
|
||||
hours=%d часов %s
|
||||
days=дней %[2]s: %[1]d
|
||||
days=%d дней %s
|
||||
weeks=недель %[2]s: %[1]d
|
||||
months=месяцев %[2]s: %[1]d
|
||||
years=лет %[2]s: %[1]d
|
||||
months=%d месяцев %s
|
||||
years=%d лет %s
|
||||
raw_seconds=секунд
|
||||
raw_minutes=минут
|
||||
|
||||
|
||||
@@ -632,8 +632,8 @@ pulls.is_checking=Kontrola rozporov stále pokračuje, prosím obnovte stránku
|
||||
pulls.can_auto_merge_desc=Tento pull request je možné automaticky zlúčiť.
|
||||
pulls.cannot_auto_merge_desc=Tento pull request nemôže byť automaticky zlúčený pretože obsahuje konflikty.
|
||||
pulls.cannot_auto_merge_helper=Prosím zlúčte manuálne pre vyriešenie konfliktov.
|
||||
pulls.create_merge_commit=Create a merge commit
|
||||
pulls.rebase_before_merging=Rebase before merging
|
||||
pulls.create_merge_commit=Vytvoriť zlúčenú revíziu
|
||||
pulls.rebase_before_merging=Rebase pred zlúčením
|
||||
pulls.merge_pull_request=Zlúčiť pull request
|
||||
pulls.open_unmerged_pull_exists=`Nemôžete znovu otvoriť požiadavku na stiahnutie, pretože požiadavka na stiahnutie z rovnakého repozitára s rovnakými informáciami pre zlúčenie už existuje (#%d) a čaká na zlúčenie.`
|
||||
pulls.delete_branch=Odstrániť vetvu
|
||||
@@ -739,8 +739,8 @@ settings.tracker_issue_style.numeric=Numerická
|
||||
settings.tracker_issue_style.alphanumeric=Alfanumerické
|
||||
settings.tracker_url_format_desc=Môžete použiť zástupné výrazy <code>{user} {repo} {index}</code> pre užívateľské meno, názov repozitára a číslo úlohy.
|
||||
settings.pulls_desc=Povoliť požiadavky na stiahnutie, aby mohli byť príspevky verejnosti akceptované
|
||||
settings.pulls.ignore_whitespace=Ignore changes in whitespace
|
||||
settings.pulls.allow_rebase_merge=Allow use rebase to merge commits
|
||||
settings.pulls.ignore_whitespace=Ignorovať zmeny v prázdnom priestore
|
||||
settings.pulls.allow_rebase_merge=Povoliť použitie rebase pre zlúčenie revízií
|
||||
settings.danger_zone=Riziková zóna
|
||||
settings.cannot_fork_to_same_owner=Nemôžete rozštiepiť repozitár jeho vlastníkovi.
|
||||
settings.new_owner_has_same_repo=Nový vlastník už repozitár s rovnakým názvom má. Vyberte, prosím, iné meno.
|
||||
@@ -761,7 +761,7 @@ settings.wiki_deletion_success=Data Wiki tohoto repozitára boli zmazané.
|
||||
settings.delete=Odstrániť tento repozitár
|
||||
settings.delete_desc=Hneď ako odstránite repozitár, nie je možné vrátiť sa späť, Buďte si prosím istý.
|
||||
settings.delete_notices_1=- Tuto operáciu <strong>nie je možné</strong> vrátiť.
|
||||
settings.delete_notices_2=Táto operácia permanentne odstráni všetko v tomto repozitári, zahrnujúc dáta Git, úloh, komentárov a prístup spolupracovníkov.
|
||||
settings.delete_notices_2=- This operation will permanently delete everything in this repository, including Git data, issues, comments and collaborator access.
|
||||
settings.delete_notices_fork_1=- Po odstránení sa všetky forky stanú nezávislé.
|
||||
settings.deletion_success=Repozitár bol odstránený!
|
||||
settings.update_settings_success=Možnosti repozitára boli zmenené.
|
||||
@@ -778,7 +778,7 @@ settings.remove_collaborator_success=Spolupracovník bol odstránený.
|
||||
settings.search_user_placeholder=Hľadať užívateľa...
|
||||
settings.org_not_allowed_to_be_collaborator=Nieje dovolené pridať organizáciu ako spolupracovníka.
|
||||
settings.add_webhook=Pridať webhook
|
||||
settings.hooks_desc=Webhooks are much like basic HTTP POST event triggers. Whenever something occurs in Gogs, we will handle the notification to the target host you specify. Learn more in this <a target="_blank" href="%s">Webhooks Guide</a>.
|
||||
settings.hooks_desc=Webové háčiky sú podobné základným spúšťačom HTTP, POST udalostí. Kedykoľvek sa niečo stane v Gogs, bude postarané o oznámenie špecifickému cieľovému serveru. Viac o danom sa dozviete v <a target="_blank" href="%s"> príručke webových háčikov </a>.
|
||||
settings.webhook_deletion=Odstrániť webhook
|
||||
settings.webhook_deletion_desc=Odstránením tohto webového háčika sa odstránia všetky informácie o ňom a tiež história volaní. Chcete pokračovať?
|
||||
settings.webhook_deletion_success=Webový háčik bol odstránený!
|
||||
@@ -1100,7 +1100,7 @@ auths.domain=Doména
|
||||
auths.host=Host
|
||||
auths.port=Port
|
||||
auths.bind_dn=Bind DN
|
||||
auths.bind_dn_helper=You can use '%s' as placeholder for username, e.g. DOM\%s
|
||||
auths.bind_dn_helper=Môžete použiť '%s' ako miesto pre užívateľské meno, napr. DOM\%s
|
||||
auths.bind_password=Heslo pripojenia
|
||||
auths.bind_password_helper=Upozornenie: Toto heslo je ukladané nešifrovane. Nepoužívajte pre správcovské účty.
|
||||
auths.user_base=Východzie miesto hľadania úživateľov
|
||||
@@ -1141,44 +1141,45 @@ auths.still_in_used=Tento spôsob overovania je stále používaný niektorými
|
||||
auths.deletion_success=Spôsob overovania bol odstránený!
|
||||
auths.login_source_exist=Zdroj prihlásenia '%s' už existuje.
|
||||
|
||||
config.not_set=(not set)
|
||||
config.not_set=(nezadané)
|
||||
config.server_config=Konfigurácia servera
|
||||
config.app_name=Názov aplikácie
|
||||
config.app_ver=Verzia aplikácie
|
||||
config.app_url=URL adresa aplikácie
|
||||
config.domain=Doména
|
||||
config.offline_mode=Offline režim
|
||||
config.disable_router_log=Disable Router Log
|
||||
config.disable_router_log=Vypnúť systémové záznamy smerovača
|
||||
config.run_user=Používateľ pre spustenie aplikácie
|
||||
config.run_mode=Run Mode
|
||||
config.git_version=Git Version
|
||||
config.static_file_root_path=Static File Root Path
|
||||
config.log_file_root_path=Log File Root Path
|
||||
config.reverse_auth_user=Reverse Authentication User
|
||||
config.run_mode=Režim spúšťania
|
||||
config.git_version=Verzia Gitu
|
||||
config.static_file_root_path=Koreňový adresár statického súboru
|
||||
config.log_file_root_path=Koreňový adresár súboru systémových záznamov
|
||||
config.reverse_auth_user=Užívateľ obráteného overenia
|
||||
|
||||
config.ssh_config=SSH Configuration
|
||||
config.ssh_config=Nastavenie SSH
|
||||
config.ssh_enabled=Povolené
|
||||
config.ssh_start_builtin_server=Start Builtin Server
|
||||
config.ssh_start_builtin_server=Spustiť vstavaný server
|
||||
config.ssh_domain=Doména
|
||||
config.ssh_port=Port
|
||||
config.ssh_listen_port=Listen Port
|
||||
config.ssh_root_path=Root Path
|
||||
config.ssh_key_test_path=Key Test Path
|
||||
config.ssh_keygen_path=Keygen ('ssh-keygen') Path
|
||||
config.ssh_minimum_key_size_check=Minimum Key Size Check
|
||||
config.ssh_minimum_key_sizes=Minimum Key Sizes
|
||||
config.ssh_listen_port=Port pre poslúchanie
|
||||
config.ssh_root_path=Koreňová cesta
|
||||
config.ssh_rewrite_authorized_keys_at_start=Rewrite authorized_keys At Start
|
||||
config.ssh_key_test_path=Cesta testu kľúčov
|
||||
config.ssh_keygen_path=Cesta ku generátoru kľúčov ('ssh-keygen')
|
||||
config.ssh_minimum_key_size_check=Kontrola minimálnej veľkosti kľúčov
|
||||
config.ssh_minimum_key_sizes=Minimálna veľkosť kľúčov
|
||||
|
||||
config.repo_config=Repository Configuration
|
||||
config.repo_config=Nastavenie repozitára
|
||||
config.repo_root_path=Koreňový adresár repozitára
|
||||
config.script_type=Typ skriptu
|
||||
config.repo_force_private=Force Private
|
||||
config.max_creation_limit=Max Creation Limit
|
||||
config.preferred_licenses=Preferred Licenses
|
||||
config.disable_http_git=Disable HTTP Git
|
||||
config.enable_local_path_migration=Enable Local Path Migration
|
||||
config.commits_fetch_concurrency=Commits Fetch Concurrency
|
||||
config.repo_force_private=Vynútiť súkromné
|
||||
config.max_creation_limit=Maximálna lehota pre vytvorenie
|
||||
config.preferred_licenses=Uprednostňované licencie
|
||||
config.disable_http_git=Vypnúť HTTP Git
|
||||
config.enable_local_path_migration=Povoliť migráciu z miestnej cesty
|
||||
config.commits_fetch_concurrency=Súbežnosť vyzdvihnutia revízii
|
||||
|
||||
config.http_config=HTTP Configuration
|
||||
config.http_config=HTTP konfigurácia
|
||||
config.http_access_control_allow_origin=Access Control Allow Origin
|
||||
|
||||
config.db_config=Konfigurácia databázy
|
||||
@@ -1192,30 +1193,30 @@ config.db_path=Cesta
|
||||
config.db_path_helper=(iba pre "sqlite3" a "tidb")
|
||||
|
||||
config.service_config=Konfigurácia služby
|
||||
config.register_email_confirm=Require Email Confirmation
|
||||
config.register_email_confirm=Vyžadovať potvrdenie e-mailu
|
||||
config.disable_register=Zakázať registráciu
|
||||
config.show_registration_button=Show Register Button
|
||||
config.require_sign_in_view=Require Sign In View
|
||||
config.mail_notify=Mail Notification
|
||||
config.disable_key_size_check=Disable Minimum Key Size Check
|
||||
config.show_registration_button=Zobraziť tlačítko registrácie
|
||||
config.require_sign_in_view=Vyžadovať zobrazenie prihlásenia
|
||||
config.mail_notify=Upozornenie e-mailom
|
||||
config.disable_key_size_check=Vypnúť kontrolu minimálnej veľkosti kľúčov
|
||||
config.enable_captcha=Povoliť Captcha
|
||||
config.active_code_lives=Active Code Lives
|
||||
config.reset_password_code_lives=Reset Password Code Lives
|
||||
config.active_code_lives=Doba života aktívneho kódu
|
||||
config.reset_password_code_lives=Lehota kódu pre obnovu hesla
|
||||
|
||||
config.webhook_config=Webhook Configuration
|
||||
config.webhook_config=Nastavenie webových háčikov
|
||||
config.queue_length=Dĺžka fronty
|
||||
config.deliver_timeout=Deliver Timeout
|
||||
config.skip_tls_verify=Skip TLS Verify
|
||||
config.deliver_timeout=Časový limit doručenia
|
||||
config.skip_tls_verify=Preskočiť overenie TLS
|
||||
|
||||
config.mailer_config=Nastavenie mailera
|
||||
config.mailer_enabled=Povolený
|
||||
config.mailer_disable_helo=Zakázať HELO
|
||||
config.mailer_name=Názov
|
||||
config.mailer_subject_prefix=Subject Prefix
|
||||
config.mailer_host=Host
|
||||
config.mailer_user=Používateľ
|
||||
config.send_test_mail=Send Test Email
|
||||
config.test_mail_failed=Fail to send test email to '%s': %v
|
||||
config.test_mail_sent=Test email has been sent to '%s'.
|
||||
config.send_test_mail=Odoslať testovací E-mail
|
||||
config.test_mail_failed=Odoslanie testovacieho e-mailu na '%s' zlyhalo: %v
|
||||
config.test_mail_sent=Testovací e-mail bol odoslaný na '%s'.
|
||||
|
||||
config.oauth_config=OAuth konfigurácia
|
||||
config.oauth_enabled=Povolený
|
||||
@@ -1229,77 +1230,77 @@ config.session_config=Nastavenie session
|
||||
config.session_provider=Session provider
|
||||
config.provider_config=Nastavenie providera
|
||||
config.cookie_name=Názov cookie
|
||||
config.enable_set_cookie=Enable Set Cookie
|
||||
config.enable_set_cookie=Povoliť nastavenie Cookie
|
||||
config.gc_interval_time=GC Časový interval
|
||||
config.session_life_time=Session Life Time
|
||||
config.session_life_time=Doba trvania relácie
|
||||
config.https_only=Iba HTTPS
|
||||
config.cookie_life_time=Cookie Life Time
|
||||
config.cookie_life_time=Doba života súboru cookie
|
||||
|
||||
config.picture_config=Picture Configuration
|
||||
config.picture_service=Picture Service
|
||||
config.picture_config=Nastavenie ikony užívateľa
|
||||
config.picture_service=Služba ikon užívateľov
|
||||
config.disable_gravatar=Zakázať Gravatar
|
||||
config.enable_federated_avatar=Enable Federated Avatars
|
||||
config.enable_federated_avatar=Povoliť jednotné ikony užívateľov
|
||||
|
||||
config.git_config=Git Configuration
|
||||
config.git_disable_diff_highlight=Disable Diff Syntax Highlight
|
||||
config.git_max_diff_lines=Max Diff Lines (for a single file)
|
||||
config.git_max_diff_line_characters=Max Diff Characters (for a single line)
|
||||
config.git_max_diff_files=Max Diff Files (to be shown)
|
||||
config.git_gc_args=GC Arguments
|
||||
config.git_migrate_timeout=Migration Timeout
|
||||
config.git_mirror_timeout=Mirror Update Timeout
|
||||
config.git_clone_timeout=Clone Operation Timeout
|
||||
config.git_pull_timeout=Pull Operation Timeout
|
||||
config.git_gc_timeout=GC Operation Timeout
|
||||
config.git_config=Konfigurácia Gitu
|
||||
config.git_disable_diff_highlight=Vypnúť zvýraznenie syntaxi v rozdielovom zobrazení
|
||||
config.git_max_diff_lines=Maximálny počet rozdielnych riadkov jedného súboru
|
||||
config.git_max_diff_line_characters=Maximálny počet zobrazených rozdielnych znakov jedného riadku
|
||||
config.git_max_diff_files=Maximálny počet zobrazených rozdielnych súborov
|
||||
config.git_gc_args=Parametre GC
|
||||
config.git_migrate_timeout=Časová lehota prenesenia
|
||||
config.git_mirror_timeout=Časový limit aktualizácie zrkadla
|
||||
config.git_clone_timeout=Časový limit operácie naklonovania
|
||||
config.git_pull_timeout=Časový limit operácie stiahnutia
|
||||
config.git_gc_timeout=Časový limit operácie GC
|
||||
|
||||
config.log_config=Log Configuration
|
||||
config.log_mode=Mode
|
||||
config.log_options=Options
|
||||
config.log_config=Nastavenie systémových záznamov
|
||||
config.log_mode=Režim
|
||||
config.log_options=Možnosti
|
||||
|
||||
monitor.cron=Cron úlohy
|
||||
monitor.name=Názov
|
||||
monitor.schedule=Schedule
|
||||
monitor.schedule=Rozvrh
|
||||
monitor.next=Nabudúce
|
||||
monitor.previous=Predchádzajúci čas
|
||||
monitor.execute_times=Execute Times
|
||||
monitor.process=Running Processes
|
||||
monitor.execute_times=Doby vykonávania
|
||||
monitor.process=Spustené procesy
|
||||
monitor.desc=Popis
|
||||
monitor.start=Start Time
|
||||
monitor.execute_time=Execution Time
|
||||
monitor.start=Čas štartu
|
||||
monitor.execute_time=Doba vykonávania
|
||||
|
||||
notices.system_notice_list=System Notices
|
||||
notices.view_detail_header=View Notice Detail
|
||||
notices.actions=Actions
|
||||
notices.select_all=Select All
|
||||
notices.deselect_all=Deselect All
|
||||
notices.inverse_selection=Inverse Selection
|
||||
notices.delete_selected=Delete Selected
|
||||
notices.delete_all=Delete All Notices
|
||||
notices.system_notice_list=Systémové oznámenia
|
||||
notices.view_detail_header=Zobraziť detail oznámenia
|
||||
notices.actions=Akcie
|
||||
notices.select_all=Vybrať všetko
|
||||
notices.deselect_all=Zrušiť výber všetkých
|
||||
notices.inverse_selection=Prevrátiť výber
|
||||
notices.delete_selected=Odstrániť vybrané
|
||||
notices.delete_all=Odstrániť všetky oznámenia
|
||||
notices.type=Typ
|
||||
notices.type_1=Repozitár
|
||||
notices.desc=Popis
|
||||
notices.op=Op.
|
||||
notices.delete_success=System notices have been deleted successfully.
|
||||
notices.delete_success=Systémové upozornenia boli odstránené.
|
||||
|
||||
[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>
|
||||
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
|
||||
transfer_repo=transfered repository <code>%s</code> to <a href="%s">%s</a>
|
||||
create_issue=`opened issue <a href="%s/issues/%s">%s#%[2]s</a>`
|
||||
close_issue=`closed issue <a href="%s/issues/%s">%s#%[2]s</a>`
|
||||
reopen_issue=`reopened issue <a href="%s/issues/%s">%s#%[2]s</a>`
|
||||
comment_issue=`commented on issue <a href="%s/issues/%s">%s#%[2]s</a>`
|
||||
create_pull_request=`created pull request <a href="%s/pulls/%s">%s#%[2]s</a>`
|
||||
close_pull_request=`closed pull request <a href="%s/pulls/%s">%s#%[2]s</a>`
|
||||
reopen_pull_request=`reopened pull request <a href="%s/pulls/%s">%s#%[2]s</a>`
|
||||
merge_pull_request=`merged pull request <a href="%s/pulls/%s">%s#%[2]s</a>`
|
||||
create_branch=created new branch <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a>
|
||||
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>
|
||||
transfer_repo=predal repozitár <code>%s</code> užívateľovi/organizácii <a href="%s">%s</a>
|
||||
create_issue=`vytvoril úlohu <a href="%s/issues/%s">%s#%[2]s</a>`
|
||||
close_issue=`uzatvoril úlohu <a href="%s/issues/%s">%s#%[2]s</a>`
|
||||
reopen_issue=`znovuotvoril úlohu <a href="%s/issues/%s">%s#%[2]s</a>`
|
||||
comment_issue=`okomentoval úlohu <a href="%s/issues/%s">%s#%[2]s</a>`
|
||||
create_pull_request=`vytvoril požiadavku na stiahnutie <a href="%s/pulls/%s">%s#%[2]s</a>`
|
||||
close_pull_request=`zatvoril požiadavku na stiahnutie <a href="%s/pulls/%s">%s#%[2]s</a>`
|
||||
reopen_pull_request=`znovuotvoril požiadavku na stiahnutie <a href="%s/pulls/%s">%s#%[2]s</a>`
|
||||
merge_pull_request=`zlúčil požiadavku na stiahnutie <a href="%s/pulls/%s">%s#%[2]s</a>`
|
||||
create_branch=vytvoril novú vetvu <a href="%[1]s/src/%[2]s">%[3]s</a> v <a href="%[1]s">%[4]s</a>
|
||||
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>
|
||||
|
||||
[tool]
|
||||
ago=pred
|
||||
@@ -1323,8 +1324,8 @@ raw_seconds=sekúnd
|
||||
raw_minutes=minút
|
||||
|
||||
[dropzone]
|
||||
default_message=Drop files here or click to upload.
|
||||
invalid_input_type=You can't upload files of this type.
|
||||
file_too_big=File size ({{filesize}} MB) exceeds maximum size ({{maxFilesize}} MB).
|
||||
default_message=Pretiahnite súbory sem alebo stlačte Nahrať.
|
||||
invalid_input_type=Nie je možné nahrať súbory tohoto typu.
|
||||
file_too_big=Veľkosť súboru ({{filesize}} MB) je vyššia než maximálna veľkosť ({{maxFilesize}} MB).
|
||||
remove_file=Odstrániť súbor
|
||||
|
||||
|
||||
@@ -632,8 +632,8 @@ pulls.is_checking=Провера још увек у току, молимо ва
|
||||
pulls.can_auto_merge_desc=Овај захтев за спајање може бити обављен аутоматски.
|
||||
pulls.cannot_auto_merge_desc=Овај захтев за спајање не може бити обављен аутоматски због сукоба.
|
||||
pulls.cannot_auto_merge_helper=Молимо вас, обавите спајање ручно да би сте разрешили сукобе.
|
||||
pulls.create_merge_commit=Create a merge commit
|
||||
pulls.rebase_before_merging=Rebase before merging
|
||||
pulls.create_merge_commit=Направите спајање
|
||||
pulls.rebase_before_merging=Поврат пре обједињавања
|
||||
pulls.merge_pull_request=Обави спајање
|
||||
pulls.open_unmerged_pull_exists=`Неможете поново отворити јер већ постоји захтев за спајање (#%d) из истог спремишта са истим информацијама о спајању и чека спајање.`
|
||||
pulls.delete_branch=Избришите грану
|
||||
@@ -739,8 +739,8 @@ settings.tracker_issue_style.numeric=Нумерично
|
||||
settings.tracker_issue_style.alphanumeric=Алфанумерично
|
||||
settings.tracker_url_format_desc=Можете да користите шаблон <code>{user} {repo} {index}</code> за корисничко име, спремишта и задатака.
|
||||
settings.pulls_desc=Омогући систем захтева за спајање да би сте преузели јавних доприноса
|
||||
settings.pulls.ignore_whitespace=Ignore changes in whitespace
|
||||
settings.pulls.allow_rebase_merge=Allow use rebase to merge commits
|
||||
settings.pulls.ignore_whitespace=Занемарите промене у размаку
|
||||
settings.pulls.allow_rebase_merge=Дозволи употребу поврата да обједините обавезе
|
||||
settings.danger_zone=Опасна зона
|
||||
settings.cannot_fork_to_same_owner=Не можете поделити спремиште власнику.
|
||||
settings.new_owner_has_same_repo=Нови власник већ има спремиште по истим називом. Молимо вас изаберите друго име.
|
||||
@@ -761,7 +761,7 @@ settings.wiki_deletion_success=Вики подаци за ово спремиш
|
||||
settings.delete=Уклони ово спремиште
|
||||
settings.delete_desc=Нећете мочи повратити спремиште после брисања. Молимо вас, будите сигурни.
|
||||
settings.delete_notices_1=- Ова операција <strong>НЕЋЕ МОЧИ</strong> бити укинута.
|
||||
settings.delete_notices_2=- Ова операција ће трајно избрисати све из овог спремишта, укључујући и податке Git, задатци, коментаре и приступ сарадницима.
|
||||
settings.delete_notices_2=- This operation will permanently delete everything in this repository, including Git data, issues, comments and collaborator access.
|
||||
settings.delete_notices_fork_1=- Сви огранци ће постати независни после уклањање.
|
||||
settings.deletion_success=Спремиште је успешно избрисано!
|
||||
settings.update_settings_success=Подешавања спремишта су успешно ажурирани.
|
||||
@@ -1100,7 +1100,7 @@ auths.domain=Домен
|
||||
auths.host=Хост
|
||||
auths.port=Порт
|
||||
auths.bind_dn=Bind DN
|
||||
auths.bind_dn_helper=You can use '%s' as placeholder for username, e.g. DOM\%s
|
||||
auths.bind_dn_helper=Можете користити „%s” као место за корисничко име, e.g. DOM\%s
|
||||
auths.bind_password=Bind лозинкa
|
||||
auths.bind_password_helper=Упозорење: Ова лозинка је сачувана у облику нешифрованом текцту. Не користите високо-привилеговану налог.
|
||||
auths.user_base=База претраживање корисника
|
||||
@@ -1141,7 +1141,7 @@ auths.still_in_used=Овај канал аутентикације још уве
|
||||
auths.deletion_success=Канал аутентикације успешно избрисан!
|
||||
auths.login_source_exist=Улазни извор '%s' већ постоји.
|
||||
|
||||
config.not_set=(not set)
|
||||
config.not_set=(није подешено)
|
||||
config.server_config=Конфигурација сервера
|
||||
config.app_name=Име апликације
|
||||
config.app_ver=Верзија апликације
|
||||
@@ -1163,6 +1163,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_key_test_path=Пут до кључу
|
||||
config.ssh_keygen_path=Пут до генератор кључева ('ssh-keygen')
|
||||
config.ssh_minimum_key_size_check=Минимална величина провера кључа
|
||||
@@ -1178,8 +1179,8 @@ config.disable_http_git=Онемогући HTTP Git
|
||||
config.enable_local_path_migration=Омогући миграцију локалнe путањe
|
||||
config.commits_fetch_concurrency=Предузеће Fetch Concurrency
|
||||
|
||||
config.http_config=HTTP Configuration
|
||||
config.http_access_control_allow_origin=Access Control Allow Origin
|
||||
config.http_config=HTTP Конфигурација
|
||||
config.http_access_control_allow_origin=Контрола приступа дозвољава порекло
|
||||
|
||||
config.db_config=Конфигурација базе података
|
||||
config.db_type=Тип
|
||||
@@ -1210,7 +1211,7 @@ config.skip_tls_verify=Прескочи TLS проверу
|
||||
config.mailer_config=Подешавања поште
|
||||
config.mailer_enabled=Омогућено
|
||||
config.mailer_disable_helo=Онемогући HELO
|
||||
config.mailer_name=Име
|
||||
config.mailer_subject_prefix=Subject Prefix
|
||||
config.mailer_host=Хост
|
||||
config.mailer_user=Корисник
|
||||
config.send_test_mail=Пошаљи тест поруку
|
||||
|
||||
@@ -761,7 +761,7 @@ settings.wiki_deletion_success=Förrådets wikidata har tagits bort.
|
||||
settings.delete=Ta Bort Detta Repo
|
||||
settings.delete_desc=När du har tagit bort ett repo så finns det ingen återvändo. Var säker på vad du gör.
|
||||
settings.delete_notices_1=- Denna åtgärd kan <strong>INTE</strong> ångras.
|
||||
settings.delete_notices_2=- Denna åtgärd kommer permanent ta bort hela repot, includerat git-datan, ärenden, kommentarer, och åtkomst för deltagare.
|
||||
settings.delete_notices_2=- This operation will permanently delete everything in this repository, including Git data, issues, comments and collaborator access.
|
||||
settings.delete_notices_fork_1=- Alla förgreningar kommer bli oberoende efter borttagning.
|
||||
settings.deletion_success=Repot har tagits bort!
|
||||
settings.update_settings_success=Repo-inställningar har uppdaterats.
|
||||
@@ -1163,6 +1163,7 @@ config.ssh_domain=Domän
|
||||
config.ssh_port=Port
|
||||
config.ssh_listen_port=Lyssningsport
|
||||
config.ssh_root_path=Rotsökväg
|
||||
config.ssh_rewrite_authorized_keys_at_start=Rewrite authorized_keys At Start
|
||||
config.ssh_key_test_path=Testsökväg för nyckel
|
||||
config.ssh_keygen_path=Sökväg för nyckelgenerator ('ssh-keygen')
|
||||
config.ssh_minimum_key_size_check=Kontroll av minsta tillåtna nyckelstorlek
|
||||
@@ -1210,7 +1211,7 @@ config.skip_tls_verify=Skippa verifikation av TLS
|
||||
config.mailer_config=Konfiguration för e-postutskick
|
||||
config.mailer_enabled=Aktiverad
|
||||
config.mailer_disable_helo=Avaktivera HELO
|
||||
config.mailer_name=Namn
|
||||
config.mailer_subject_prefix=Subject Prefix
|
||||
config.mailer_host=Server
|
||||
config.mailer_user=Användare
|
||||
config.send_test_mail=Skicka testmeddelande
|
||||
|
||||
@@ -58,7 +58,7 @@ db_name=Veritabanı Adı
|
||||
db_helper=Lütfen MySQL için INNODB motorunu utf8_general_ci karakter setiyle kullanın.
|
||||
ssl_mode=SSL Biçimi
|
||||
path=Yol
|
||||
sqlite_helper=The file path of SQLite3 database. <br>Please use absolute path when you start as service.
|
||||
sqlite_helper=SQLite3 veritabanının dosya yolu.<br> Lütfen cihaz başladığında kesin yolu kullan.
|
||||
err_empty_db_path=SQLite3 veritabanının yolu boş olamaz.
|
||||
no_admin_and_disable_registration=Bir yönetici hesabı oluşturmadan kullanıcı kaydını devre dışı bırakamazsınız.
|
||||
err_empty_admin_password=Yönetici parolası boş olamaz.
|
||||
@@ -75,7 +75,7 @@ domain_helper=Bu, SSH klon bağlantılarını etkiler.
|
||||
ssh_port=SSH Portu
|
||||
ssh_port_helper=SSH sunucunuzun portu kullanılıyor, boş bırakın ya da SSH özelliğini devre dışı bırakın.
|
||||
use_builtin_ssh_server=Yerleşik SSH sunucusu kullanın
|
||||
use_builtin_ssh_server_popup=Start builtin SSH server for Git operations to distinguish from system SSH daemon.
|
||||
use_builtin_ssh_server_popup=Git işlemlerinde SSH sunucusundan sistem SSH arka plan programından ayrılmaya başlayın.
|
||||
http_port=HTTP Portu
|
||||
http_port_helper=Uygulamanın dinleyeceği port.
|
||||
app_url=Uygulama Bağlantısı
|
||||
@@ -83,7 +83,7 @@ app_url_helper=Bu, HTTP/HTTPS klon bağlantılarını ve e-postadaki bazı kıs
|
||||
log_root_path=Günlük Dosyaları Yolu
|
||||
log_root_path_helper=Günlük dosyalarının yazılacağı dizin.
|
||||
enable_console_mode=Konsol Modunu Etkinleştir
|
||||
enable_console_mode_popup=In addition to file mode, also print logs to console.
|
||||
enable_console_mode_popup=Dosya moduna ek olarak , ayrıca konsolun günlüklerini yazdır.
|
||||
|
||||
optional_title=İsteğe Bağlı Ayarlar
|
||||
email_title=E-Posta Servisi Ayarları
|
||||
@@ -99,8 +99,8 @@ offline_mode=Çevrim Dışı Modu Etkinleştir
|
||||
offline_mode_popup=CDN'i, üretim modunda bile devre dışı bırak, tüm kaynak dosyaları yerel olarak sunulacaktır.
|
||||
disable_gravatar=Gravatar Servisini Devre Dışı Bırak
|
||||
disable_gravatar_popup=Gravatar ve özel kaynakları devre dışı bırak. Tüm avatarlar kullanıcılar tarafından yüklenir veya varsayılan kalır.
|
||||
federated_avatar_lookup=Enable Federated Avatars Lookup
|
||||
federated_avatar_lookup_popup=Enable federated avatars lookup to use federated open source service based on libravatar.
|
||||
federated_avatar_lookup=Birleşmiş Kişi Simgesi Aramasını Etkinleştir
|
||||
federated_avatar_lookup_popup=Libravatar'a dayalı birleşmiş açık kaynaklı hizmeti kullanmak için birleşmiş avatarlar aramasını etkinleştirin.
|
||||
disable_registration=Kendi Kendine Kaydolmayı Devre Dışı Bırak
|
||||
disable_registration_popup=Kullanıcının kendi kendine kaydolmasını devre dışı bırak, yalnızca yönetici yeni hesaplar oluşturabilir.
|
||||
enable_captcha=Captcha'yı Etkinleştir
|
||||
@@ -119,8 +119,8 @@ sqlite3_not_available=Yayın sürümünüz SQLite3'ü desteklemiyor, lütfen %s'
|
||||
invalid_db_setting=Veritabanı ayarları geçersiz: %v
|
||||
invalid_repo_path=Depo kök dizini geçersiz: %v
|
||||
run_user_not_match=Çalıştırma kullanıcısı geçerli kullanıcı değil: %s -> %s
|
||||
smtp_host_missing_port=SMTP Host is missing port in address.
|
||||
invalid_smtp_from=SMTP From field is not valid: %v
|
||||
smtp_host_missing_port=SMTP ana makine adresindeki bağlantı noktası eksik.
|
||||
invalid_smtp_from=SMTP form alanı geçerli değil: %v
|
||||
save_config_failed=Yapılandırma kaydedilemedi: %v
|
||||
invalid_admin_setting=Yönetici hesap ayarları geçersiz: %v
|
||||
install_success=Merhaba! Gogs'u tercih ettiğiniz için çok mutluyuz, keyfini çıkarın!
|
||||
@@ -170,12 +170,12 @@ password_too_short=Parola uzunluğu 6 karakterden az olamaz.
|
||||
non_local_account=Yerel olmayan hesapların şifrelerini Gogs aracılığıyla değiştiremezsiniz.
|
||||
|
||||
login_two_factor=İki aşamalı doğrulama
|
||||
login_two_factor_passcode=Authentication Passcode
|
||||
login_two_factor_enter_recovery_code=Enter a two-factor recovery code
|
||||
login_two_factor_recovery=Two-factor Recovery
|
||||
login_two_factor_passcode=Kimlik doğrulama Şifre kodu
|
||||
login_two_factor_enter_recovery_code=İki faktörlü kurtarma kodu girin
|
||||
login_two_factor_recovery=İki faktörlü Kurtarma
|
||||
login_two_factor_recovery_code=Kurtarma kodu
|
||||
login_two_factor_enter_passcode=Enter a two-factor passcode
|
||||
login_two_factor_invalid_recovery_code=Recovery code has been used or does not valid.
|
||||
login_two_factor_enter_passcode=İki faktörlü şifre kodu girin
|
||||
login_two_factor_invalid_recovery_code=Kurtarma kodu kullanılmış veya geçerli değil.
|
||||
|
||||
[mail]
|
||||
activate_account=Lütfen hesabınızı aktifleştirin
|
||||
@@ -202,7 +202,7 @@ TeamName=Takım ismi
|
||||
AuthName=Yetkilendirme adı
|
||||
AdminEmail=Yönetici e-postası
|
||||
|
||||
NewBranchName=New branch name
|
||||
NewBranchName=Yeni bölüm adı
|
||||
CommitSummary=İşleme özeti
|
||||
CommitMessage=İşleme mesajı
|
||||
CommitChoice=İşleme tercihi
|
||||
@@ -212,7 +212,7 @@ Content=İçerik
|
||||
require_error=` boş olamaz.`
|
||||
alpha_dash_error=` sadece karakter, rakam veya çizgi(-_) içermelidir.`
|
||||
alpha_dash_dot_error=` sadece karakter, rakam, çizgi(-_) veya nokta içermelidir.`
|
||||
alpha_dash_dot_slash_error=` must be valid alpha or numeric or dash(-_) or dot characters or slashes.`
|
||||
alpha_dash_dot_slash_error=` geçerli alfa veya sayısal veya uzunçizgi(-_) veya nokta karakterler veya eğiz çizgi olmalıdır.`
|
||||
size_error=` uzunluk en fazla %s olmalıdır.`
|
||||
min_size_error=` en az %s karakter içermelidir.`
|
||||
max_size_error=` en fazla %s karakter içermelidir.`
|
||||
@@ -283,8 +283,8 @@ change_username_prompt=Bu değişiklik, hesabınızla ilişkili olan bağlantıl
|
||||
continue=Devam Et
|
||||
cancel=İptal
|
||||
|
||||
lookup_avatar_by_mail=Lookup Avatar by mail
|
||||
federated_avatar_lookup=Federated Avatar Lookup
|
||||
lookup_avatar_by_mail=E-postaya göre Avatar Arama
|
||||
federated_avatar_lookup=Birleşmiş Avatar Araması
|
||||
enable_custom_avatar=Özel Avatarı Etkinleştir
|
||||
choose_new_avatar=Yeni Avatar Seç
|
||||
update_avatar=Avatar Ayarlarını Güncelle
|
||||
@@ -334,30 +334,30 @@ no_activity=Yeni aktivite yok
|
||||
key_state_desc=Bu anahtar son 7 gün içinde kullanıldı
|
||||
token_state_desc=Bu erişim anahtarı son 7 gün içinde kullanıldı
|
||||
|
||||
two_factor=Two-factor Authentication
|
||||
two_factor_status=Status:
|
||||
two_factor=İki faktörlü Kimlik doğrulama
|
||||
two_factor_status=Durum:
|
||||
two_factor_on=Açık
|
||||
two_factor_off=Kapalı
|
||||
two_factor_enable=Enable
|
||||
two_factor_disable=Disable
|
||||
two_factor_view_recovery_codes=View and save <a href="%s%s">your recovery codes</a> in a safe place. You can use them as passcode if you lose access to your authentication application.
|
||||
two_factor_http=For HTTP/HTTPS operations, you are no longer able to use plain username and password. Please create and use <a href="%[1]s%[2]s">Personal Access Token</a> as your credential, e.g. <code>%[3]s</code>.
|
||||
two_factor_enable_title=Enable Two-factor Authentication
|
||||
two_factor_scan_qr=Please use your authentication application to scan the image:
|
||||
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_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
|
||||
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_disable_title=Disable Two-factor Authentication
|
||||
two_factor_disable_desc=Your account security level will decrease after disabled two-factor authentication. Do you want to continue?
|
||||
two_factor_disable_success=Two-factor authentication has disabled successfully!
|
||||
two_factor_enable=Etkin
|
||||
two_factor_disable=Devre dışı
|
||||
two_factor_view_recovery_codes=Görüntüle ve güvenli bir yere </a> kurtarma kodlarınızı <a href="%s%s"><a href="%s%s"><a href="%s%s"> kaydedin. Eğer kimlik doğrulama uygulamanız için erişimi kaybetmişseniz bunları şifre kodu olarak kullanabilirsiniz.
|
||||
two_factor_http=HTTP/HTTPS işlemleri için , artık düz kullanıcı adı ve şifre kullanamazsınız. Lütfen oluşturun ve <a href="%[1]s%[2]s"> Kişisel Erişim Jetonu </a> kimlik belgesi olarak kullanın , örneğin <code>%[3]s</code>.
|
||||
two_factor_enable_title=İki faktörlü Kimlik doğrulamasını Etkinleştir
|
||||
two_factor_scan_qr=Lütfen resmi taramak için kimlik doğrulama uygulamanızı kullanın:
|
||||
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_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ı
|
||||
two_factor_recovery_codes_desc=Kurtarma kodları , geçici olarak kimlik doğrulama uygulamanızın erişimini kaybettiğinizde kullanıldı. Herbir kurtarma kodu sadece birkez kullanılablir,<b>lütfen bu kodları güvenli bir yere sakla</b>.
|
||||
two_factor_regenerate_recovery_codes=Kurtarma Kodlarını Yeniden oluştur
|
||||
two_factor_regenerate_recovery_codes_error=Kurtarma kodları yeniden oluşturma başarısız: %v
|
||||
two_factor_regenerate_recovery_codes_success=Yeni kurtarma kodları başarıyla oluşturuldu!
|
||||
two_factor_disable_title=İki faktörlü Kimlik doğrulama Devre dışı
|
||||
two_factor_disable_desc=Hesap güvenliği seviyeniz, devre dışı bırakılmış iki faktörlü kimlik doğrulamadan sonra azalacaktır. Devam etmek istiyor musunuz?
|
||||
two_factor_disable_success=İki faktörlü kimli doğrulama başarıyla devre dışı bırakıldı!
|
||||
|
||||
manage_access_token=Kişisel Erişim Anahtarlarını Yönet
|
||||
generate_new_token=Yeni Erişim Anahtarı Üret
|
||||
@@ -371,14 +371,14 @@ access_token_deletion=Kişisel Erişim Anahtarını Silme
|
||||
access_token_deletion_desc=Bu kişisel erişim anahtarını silerseniz uygulamanıza ilişkin tüm erişimler de kaldırılacaktır. Devam etmek istiyor musunuz?
|
||||
delete_token_success=Kişisel erişim anahtarı başarıyla kaldırıldı! Uygulamanızı güncellemeyi de unutmayın!
|
||||
|
||||
orgs.none=You are not a member of any organizations.
|
||||
orgs.leave_title=Leave organization
|
||||
orgs.leave_desc=You will lose access to all repositories and teams after you left the organization. Do you want to continue?
|
||||
orgs.none=Hiçbir organizasyonların üyesi değilsiniz.
|
||||
orgs.leave_title=Organizasyondan ayrıl
|
||||
orgs.leave_desc=Organizasyondan ayrıldıktan sonra tüm depolar ve ekiplere erişimi kaybedeceksiniz.Devam etmek istiyor musunuz?
|
||||
|
||||
repos.leave=Leave
|
||||
repos.leave_title=Leave repository
|
||||
repos.leave_desc=You will lose access to the repository after you left. Do you want to continue?
|
||||
repos.leave_success=You have left repository '%s' successfully!
|
||||
repos.leave=Ayrıl
|
||||
repos.leave_title=Depodan ayrıl
|
||||
repos.leave_desc=Çıktıktan sonra depo erişimini kaybedeceksiniz.Devam etmek istiyor musunuz?
|
||||
repos.leave_success='%s' deposundan başarıyla ayrıldınız!
|
||||
|
||||
delete_account=Hesabınızı Silin
|
||||
delete_prompt=Bu işlem hesabınızı kalıcı olarak silecektir ve <strong>GERİ ALINAMAZ</strong>!
|
||||
@@ -400,7 +400,7 @@ fork_from=Buradan Çatalla
|
||||
fork_visiblity_helper=Çatallanmış bir deponun görünürlüğünü değiştiremezsiniz.
|
||||
repo_desc=Açıklama
|
||||
repo_lang=Dil
|
||||
repo_gitignore_helper=Select .gitignore templates
|
||||
repo_gitignore_helper=.gitignore şablonlarını seç
|
||||
license=Lisans
|
||||
license_helper=Bir lisans dosyası seçin
|
||||
readme=Benioku
|
||||
@@ -413,7 +413,7 @@ mirror_prune_desc=Uzakta olmayan bütün uzaktan-izleme referanslarını sil
|
||||
mirror_interval=Yansı Aralığı (saat)
|
||||
mirror_address=Yansı Adresi
|
||||
mirror_address_desc=Lütfen gerekli kimlik bilgilerini adreste bulundurun.
|
||||
mirror_last_synced=Last Synced
|
||||
mirror_last_synced=Son Eşzamanlama
|
||||
watchers=İzleyenler
|
||||
stargazers=Yıldızlayanlar
|
||||
forks=Çatallamalar
|
||||
@@ -427,8 +427,8 @@ migrate_type=Göç Türü
|
||||
migrate_type_helper=Bu depo bir <span class="text blue">yansı</span> olacaktır
|
||||
migrate_repo=Depoyu Göç Ettir
|
||||
migrate.clone_address=Klon Adresi
|
||||
migrate.clone_address_desc=This can be a HTTP/HTTPS/GIT URL.
|
||||
migrate.clone_address_desc_import_local=You're also allowed to migrate a repository by local server path.
|
||||
migrate.clone_address_desc=Bu HTTP/HTTPS/GIT URL'si olabilir.
|
||||
migrate.clone_address_desc_import_local=Bir depoyu yerel sunucu yolu ile taşımanıza izin verilir.
|
||||
migrate.permission_denied=Yerel depoları içeri aktarma izniniz yok.
|
||||
migrate.invalid_local_path=Geçersiz yerel dizin! Böyle bir yol yok ya da bir dizin değil.
|
||||
migrate.failed=Göç başarısız: %v
|
||||
@@ -450,9 +450,9 @@ quick_guide=Hızlı Başlangıç Kılavuzu
|
||||
clone_this_repo=Bu depoyu klonla
|
||||
create_new_repo_command=Komut satırında yeni bir depo oluştur
|
||||
push_exist_repo=Var olan bir depoyu komut satırında gönder
|
||||
bare_message=This repository does not have any content yet.
|
||||
bare_message=Bu depo henüz hiçbir içeriğe sahip değil.
|
||||
|
||||
files=Files
|
||||
files=Dosyalar
|
||||
branch=Dal
|
||||
tree=Ağaç
|
||||
filter_branch_and_tag=Dal veya biçim imini filtrele
|
||||
@@ -463,62 +463,62 @@ pulls=Değişiklik İstekleri
|
||||
labels=Etiketler
|
||||
milestones=Kilometre Taşları
|
||||
commits=İşlemeler
|
||||
git_branches=Branches
|
||||
git_branches=Bölümler
|
||||
releases=Sürümler
|
||||
file_raw=Ham
|
||||
file_history=Geçmiş
|
||||
file_view_raw=Ham Görünüm
|
||||
file_permalink=Kalıcı Bağlantı
|
||||
file_too_large=Bu dosya sergilenmek için çok büyük
|
||||
video_not_supported_in_browser=Your browser doesn't support HTML5 video tag.
|
||||
video_not_supported_in_browser=Tarayıcınız HTML5 video etkiketini desteklemiyor.
|
||||
|
||||
branches.overview=Overview
|
||||
branches.active_branches=Active Branches
|
||||
branches.stale_branches=Stale Branches
|
||||
branches.all=All Branches
|
||||
branches.updated_by=Updated %[1]s by %[2]s
|
||||
branches.change_default_branch=Change Default Branch
|
||||
branches.overview=Genel görünüm
|
||||
branches.active_branches=Aktif Bölümler
|
||||
branches.stale_branches=Eskimiş Bölümler
|
||||
branches.all=Bütün Bölümler
|
||||
branches.updated_by=%[2]s tarafından %[1]s güncellendi
|
||||
branches.change_default_branch=Varsayılan Bölümü Değiştir
|
||||
|
||||
editor.new_file=New file
|
||||
editor.upload_file=Upload file
|
||||
editor.new_file=Yeni dosya
|
||||
editor.upload_file=Dosyayı yükle
|
||||
editor.edit_file=Dosya düzenle
|
||||
editor.preview_changes=Preview Changes
|
||||
editor.preview_changes=Değişiklikleri Önizle
|
||||
editor.cannot_edit_non_text_files=Metin dışı dosyalar düzenlenemez
|
||||
editor.edit_this_file=Edit this file
|
||||
editor.must_be_on_a_branch=You must be on a branch to make or propose changes to this file
|
||||
editor.fork_before_edit=You must fork this repository before editing the file
|
||||
editor.delete_this_file=Delete this file
|
||||
editor.must_have_write_access=You must have write access to make or propose changes to this file
|
||||
editor.file_delete_success=File '%s' has been deleted successfully!
|
||||
editor.name_your_file=Name your file...
|
||||
editor.filename_help=To add directory, just type it and press /. To remove a directory, go to the beginning of the field and press backspace.
|
||||
editor.or=or
|
||||
editor.edit_this_file=Bu dosyayı düzenle
|
||||
editor.must_be_on_a_branch=Bu dosyada değişiklik yapmak için bir bölümde olmalısınız.
|
||||
editor.fork_before_edit=Dosyayı düzenlemeden önce bu depoyu iki kola ayırmalısınız
|
||||
editor.delete_this_file=Bu dosyayı sil
|
||||
editor.must_have_write_access=Bu dosyada değişiklik yapmak için yazma erişiminizin olması gerekir.
|
||||
editor.file_delete_success=%s dosyası başarıyla silindi!
|
||||
editor.name_your_file=Dosyanızın adı...
|
||||
editor.filename_help=Dizin eklemek için, dizini yazın ve / tuşuna basın. Bir dizini kaldırmak için alanın başına gidin ve geri tuşuna basın.
|
||||
editor.or=veya
|
||||
editor.cancel_lower=iptal
|
||||
editor.commit_changes=Commit Changes
|
||||
editor.add_tmpl=Add '%s/<filename>'
|
||||
editor.add=Add '%s'
|
||||
editor.update=Update '%s'
|
||||
editor.delete=Delete '%s'
|
||||
editor.commit_message_desc=Add an optional extended description...
|
||||
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=New branch name...
|
||||
editor.commit_changes=Değişiklikleri İşle
|
||||
editor.add_tmpl='%s/<filename>' ekle
|
||||
editor.add='%s' ekle
|
||||
editor.update='%s' güncelle
|
||||
editor.delete='%s' sil
|
||||
editor.commit_message_desc=İsteğe bağlı genişletilmiş açıklama ekleyin ...
|
||||
editor.commit_directly_to_this_branch=Doğrudan <strong class="Branch-name">%s</strong> şubesine geçin.
|
||||
editor.create_new_branch=Bu taahhüt ve çekme isteği başlatmak için.<strong>yeni şube</strong> oluşturma.
|
||||
editor.new_branch_name_desc=Yen şube adı...
|
||||
editor.cancel=İptal
|
||||
editor.filename_cannot_be_empty=Filename cannot be empty.
|
||||
editor.branch_already_exists=Branch '%s' already exists in this repository.
|
||||
editor.directory_is_a_file=Entry '%s' in the parent path is a file not a directory in this repository.
|
||||
editor.file_is_a_symlink=The file '%s' is a symlink that cannot be modified from the web editor.
|
||||
editor.filename_is_a_directory=The filename '%s' is an existing directory in this repository.
|
||||
editor.file_editing_no_longer_exists=The file '%s' you are editing no longer exists in the repository.
|
||||
editor.file_changed_while_editing=File content has been changed since you started editing. <a target="_blank" href="%s">Click here</a> to see what have been changed or <strong>press commit again</strong> to overwrite those changes.
|
||||
editor.file_already_exists=A file with name '%s' already exists in this repository.
|
||||
editor.no_changes_to_show=There are no changes to show.
|
||||
editor.fail_to_update_file=Failed to update/create file '%s' with error: %v
|
||||
editor.add_subdir=Add subdirectory...
|
||||
editor.unable_to_upload_files=Failed to upload files to '%s' with error: %v
|
||||
editor.upload_files_to_dir=Upload files to '%s'
|
||||
editor.filename_cannot_be_empty=Dosya adı boş olmamalı.
|
||||
editor.branch_already_exists='% s ' Şubesi bu depoda zaten var.
|
||||
editor.directory_is_a_file=Üst yoldaki '% s' girişi, bu depoda bir dizini olmayan dosyadır.
|
||||
editor.file_is_a_symlink='%s' dosyası, web editöründen değiştirilemeyen bir sembolik bağ.
|
||||
editor.filename_is_a_directory=Dosya adı '%s' bu depoda mevcut bir dizindir.
|
||||
editor.file_editing_no_longer_exists=Düzenlediğiniz dosya '%s' artık depoda yok.
|
||||
editor.file_changed_while_editing=Düzenlemeye başladıktan sonra dosya içeriği değiştirildi. Ne değiştiğini görmek için<a target="_blank" href="%s">Buraya tıklayın</a>Bu değişikliklerin üzerine yazmak için.<strong>yeniden yürütmeye basın</strong>.
|
||||
editor.file_already_exists='% s ' adlı bir dosya mevcutta zaten var.
|
||||
editor.no_changes_to_show=Gösterilecek bir değişiklik mevcut değil.
|
||||
editor.fail_to_update_file='%s' dosyası güncellenemedi / oluşturulamadı : %v hatasıyla
|
||||
editor.add_subdir=Alt dizin Ekle...
|
||||
editor.unable_to_upload_files='%s' dosyası yüklenemedi : %v hatasıyla
|
||||
editor.upload_files_to_dir=Dosyaları '%s' ye yükle
|
||||
|
||||
commits.commit_history=Commit History
|
||||
commits.commit_history=Geçmişin Kaydedilmesi
|
||||
commits.commits=İşlemeler
|
||||
commits.search=İşleme Arama
|
||||
commits.find=Bul
|
||||
@@ -544,11 +544,11 @@ issues.create=Sorun Oluştur
|
||||
issues.new_label=Yeni Etiket
|
||||
issues.new_label_placeholder=Etiket adı...
|
||||
issues.create_label=Etiket Oluştur
|
||||
issues.label_templates.title=Load a predefined set of labels
|
||||
issues.label_templates.info=There aren't any labels yet. You can click on the "New Label" button above to create one or use a predefined set below.
|
||||
issues.label_templates.helper=Select a label set
|
||||
issues.label_templates.title=Önceden tanımlanmış bir etiket kümesi yükleyin
|
||||
issues.label_templates.info=Henüz etiket yok. Yeni etiket oluşturmak için aşağıdaki "Yeni Etiket" düğmesine tıklayabilir veya aşağıda önceden tanımlanmış bir kümeyi kullanabilirsiniz.
|
||||
issues.label_templates.helper=Bir etiket seti seçin
|
||||
issues.label_templates.use=Use this label set
|
||||
issues.label_templates.fail_to_load_file=Failed to load label template file '%s': %v
|
||||
issues.label_templates.fail_to_load_file=Etiket şablon dosyası '%s' yüklenemedi: %v hatasıyla
|
||||
issues.open_tab=%d açık
|
||||
issues.close_tab=%d kapanmış
|
||||
issues.filter_label=Etiket
|
||||
@@ -590,7 +590,7 @@ issues.commit_ref_at=`<a id="%[1]s" href="#%[1]s">%[2]s</a> işlemesinde bu soru
|
||||
issues.poster=Poster
|
||||
issues.collaborator=Katkıcı
|
||||
issues.owner=Sahibi
|
||||
issues.sign_in_require_desc=<a href="%s">Sign in</a> to join this conversation.
|
||||
issues.sign_in_require_desc=<a href="%s">Giriş yap</a> bu konuşmaya katılmak için.
|
||||
issues.edit=Düzenle
|
||||
issues.cancel=İptal
|
||||
issues.save=Kaydet
|
||||
@@ -605,8 +605,8 @@ issues.label_deletion=Etiket Silme
|
||||
issues.label_deletion_desc=Bu etiketi silerseniz, bu etikete iliştirilmiş sorunlardaki tüm bilgiler de silinecektir. Devam etmek istiyor musunuz?
|
||||
issues.label_deletion_success=Etiket başarıyla silindi!
|
||||
issues.num_participants=%d Katılımcı
|
||||
issues.attachment.open_tab=`Click to see "%s" in a new tab`
|
||||
issues.attachment.download=`Click to download "%s"`
|
||||
issues.attachment.open_tab=` "%s '' yi yeni bir sekmede görmek için tıklayın `
|
||||
issues.attachment.download=`"%s" yi İndirmek için tıklayın `
|
||||
|
||||
pulls.new=Yeni Değişiklik İsteği
|
||||
pulls.compare_changes=Değişiklikleri Karşılaştır
|
||||
@@ -616,7 +616,7 @@ pulls.compare_compare=karşılaştır
|
||||
pulls.filter_branch=Dal filtrele
|
||||
pulls.no_results=Sonuç bulunamadı.
|
||||
pulls.nothing_to_compare=Karşılaştırılacak hiçbir şey yok, çünkü temel ve ana dal aynı.
|
||||
pulls.nothing_merge_base=There is nothing to compare because two branches have completely different history.
|
||||
pulls.nothing_merge_base=Karşılaştırılacak bir şey yok çünkü iki şubenin tarihi tamamen farklı.
|
||||
pulls.has_pull_request=`Bu iki hedef için zaten bir değişiklik isteği var: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
|
||||
pulls.create=Değişiklik İsteği Oluştur
|
||||
pulls.title_desc=<code>%[3]s</code> içindeki <code>%[2]s</code> işlemelerini %[1]d ile birleştirmek istiyor
|
||||
@@ -632,12 +632,12 @@ pulls.is_checking=Çakışma kontrolü sürüyor. Lütfen birkaç dakika içinde
|
||||
pulls.can_auto_merge_desc=Bu değişiklik isteği otomatik olarak birleştirilebilir.
|
||||
pulls.cannot_auto_merge_desc=Çakışmalardan dolayı bu değişiklik isteği otomatik olarak birleştirilemez.
|
||||
pulls.cannot_auto_merge_helper=Çakışmaları çözmek için lütfen elle birleştirin.
|
||||
pulls.create_merge_commit=Create a merge commit
|
||||
pulls.rebase_before_merging=Rebase before merging
|
||||
pulls.create_merge_commit=Birleştirme işlemi oluşturma
|
||||
pulls.rebase_before_merging=Birleştirmeden önce yenidenreferans al
|
||||
pulls.merge_pull_request=Değişiklik İsteğini Birleştir
|
||||
pulls.open_unmerged_pull_exists=`Yeniden açma işlemini gerçekleştiremezsiniz. Çünkü zaten aynı depodan, aynı birleştirme bilgisiyle açık olan bir değişiklik isteği var (#%d) ve birleştirme bekliyor.`
|
||||
pulls.delete_branch=Delete Branch
|
||||
pulls.delete_branch_has_new_commits=Branch cannot be deleted because it has new commits after mergence.
|
||||
pulls.delete_branch=Şubeyi Sil
|
||||
pulls.delete_branch_has_new_commits=Birleşmeden sonra yeni taahhütlere sahip olduğu için şube silinemez.
|
||||
|
||||
milestones.new=Yeni Kilometre Taşı
|
||||
milestones.open_tab=%d Açık
|
||||
@@ -688,50 +688,50 @@ settings.collaboration.admin=Yönetici
|
||||
settings.collaboration.write=Yaz
|
||||
settings.collaboration.read=Oku
|
||||
settings.collaboration.undefined=Belirsiz
|
||||
settings.branches=Branches
|
||||
settings.branches_bare=You cannot manage branches for bare repository. Please push some content first.
|
||||
settings.default_branch=Default Branch
|
||||
settings.default_branch_desc=The default branch is considered the "base" branch for code commits, pull requests and online editing.
|
||||
settings.update=Update
|
||||
settings.update_default_branch_unsupported=Change default branch is not supported by the Git version on server.
|
||||
settings.update_default_branch_success=Default branch of this repository has been updated successfully!
|
||||
settings.protected_branches=Protected Branches
|
||||
settings.protected_branches_desc=Protect branches from force pushing, accidental deletion and whitelist code committers.
|
||||
settings.choose_a_branch=Choose a branch...
|
||||
settings.branch_protection=Branch Protection
|
||||
settings.branch_protection_desc=Please choose protect options for branch <b>%s</b>.
|
||||
settings.protect_this_branch=Protect this branch
|
||||
settings.protect_this_branch_desc=Disable force pushes and prevent from deletion.
|
||||
settings.protect_require_pull_request=Require pull request instead direct pushing
|
||||
settings.protect_require_pull_request_desc=Enable this option to disable direct pushing to this branch. Commits have to be pushed to another non-protected branch and merged to this branch through pull request.
|
||||
settings.protect_whitelist_committers=Whitelist who can push to this branch
|
||||
settings.protect_whitelist_committers_desc=Add people or teams to whitelist of direct push to this branch. Users in whitelist will bypass require pull request check.
|
||||
settings.protect_whitelist_users=Users who can push to this branch
|
||||
settings.protect_whitelist_search_users=Search users
|
||||
settings.protect_whitelist_teams=Teams for which members of them can push to this branch
|
||||
settings.protect_whitelist_search_teams=Search teams
|
||||
settings.update_protect_branch_success=Protect options for this branch has been updated successfully!
|
||||
settings.branches=Şubeler
|
||||
settings.branches_bare=Korunmasız depo için şubeleri yönetemezsiniz. Önce bir miktar içeriği itin.
|
||||
settings.default_branch=Varsayılan Şube
|
||||
settings.default_branch_desc=Varsayılan şube , kod taahütleri, çekme talepleri ve çevrimiçi düzenleme için "temel" şube olarak kabul edilir.
|
||||
settings.update=Güncelle
|
||||
settings.update_default_branch_unsupported=Varsayılan şubeyi değiştir , sunucu üzerindeki Git sürüm tarafından desteklenmiyor.
|
||||
settings.update_default_branch_success=Bu deponun varsayılan şubesi başarıyla güncellendi!
|
||||
settings.protected_branches=Korunan Şubeler
|
||||
settings.protected_branches_desc=Şubeleri zorla bastırma, yanlışlıkla silme ve beyaz liste kod belirleyicilerine karşı koruyun.
|
||||
settings.choose_a_branch=Şube seç...
|
||||
settings.branch_protection=Şube Koruma
|
||||
settings.branch_protection_desc=Şube için koruma seçeneklerini seçiniz <b>%s</b>.
|
||||
settings.protect_this_branch=Bu şubeyi koru
|
||||
settings.protect_this_branch_desc=Kuvveti devre dışı bırak ve silinmesini önler.
|
||||
settings.protect_require_pull_request=Doğrudan itmek yerine istek istemek gereklidir
|
||||
settings.protect_require_pull_request_desc=Bu şubeye doğrudan itmeyi devre dışı bırakmak için bu seçeneği etkinleştirin. Komiteler korunmayan bir başka şubeye ittirilmeli ve çekme talebi vasıtasıyla bu şubeye birleştirilmelidir.
|
||||
settings.protect_whitelist_committers=Beyaz liste , bu şubeye kim itebilir
|
||||
settings.protect_whitelist_committers_desc=Bu şubeye doğrudan itilen beyaz listeye kişi veya ek ekleyin. Beyaz listeden atlanılacak olan kullanıcılar çekme isteği kontrolüne ihtiyaç duyar.
|
||||
settings.protect_whitelist_users=Bu şubeye itebilecek kullanıcılar
|
||||
settings.protect_whitelist_search_users=Kullanıcıları ara
|
||||
settings.protect_whitelist_teams=Onların üyelerinin bu şubeye itebilecek takımları
|
||||
settings.protect_whitelist_search_teams=Takımları ara
|
||||
settings.update_protect_branch_success=Bu şube için koruma seçenekleri başarıyla güncellendi!
|
||||
settings.hooks=Web İstekleri
|
||||
settings.githooks=Git İstekleri
|
||||
settings.basic_settings=Temel Ayarlar
|
||||
settings.mirror_settings=Mirror Settings
|
||||
settings.sync_mirror=Sync Now
|
||||
settings.mirror_sync_in_progress=Mirror syncing is in progress, please refresh page in about a minute.
|
||||
settings.mirror_settings=Ayna Ayarları
|
||||
settings.sync_mirror=Şimdi Senkronize Et
|
||||
settings.mirror_sync_in_progress=Ayna senkronizasyonu devam ediyor, lütfen sayfayı yaklaşık bir dakika içinde yenileyin.
|
||||
settings.site=Resmi Web Sitesi
|
||||
settings.update_settings=Ayarları Güncelle
|
||||
settings.change_reponame_prompt=Bu değişiklik, bağlantıların depoyla olan ilişkisini etkileyecektir.
|
||||
settings.advanced_settings=Gelişmiş Ayarlar
|
||||
settings.wiki_desc=Viki sıstemini etkinleştir
|
||||
settings.use_internal_wiki=Use builtin wiki
|
||||
settings.allow_public_wiki_desc=Allow public access to wiki when repository is private
|
||||
settings.use_internal_wiki=Yerleşik wiki'yi kullanın
|
||||
settings.allow_public_wiki_desc=Depo özel olduğunda wiki'ye herkesin erişmesine izin ver
|
||||
settings.use_external_wiki=Harici Wiki kullan
|
||||
settings.external_wiki_url=Harici Wiki bağlantısı
|
||||
settings.external_wiki_url_desc=Ziyaretçiler, sekmeye tıkladıklarında bağlantıya yönlendirilecektir.
|
||||
settings.issues_desc=Enable issue tracker
|
||||
settings.use_internal_issue_tracker=Use builtin lightweight issue tracker
|
||||
settings.allow_public_issues_desc=Allow public access to issues when repository is private
|
||||
settings.issues_desc=Sorun izleyiciyi etkinleştir
|
||||
settings.use_internal_issue_tracker=Yerleşik hafif sorun izleyici kullanma
|
||||
settings.allow_public_issues_desc=Depo özel olduğunda toplulukların herkese açık olarak erişmesine izin ver
|
||||
settings.use_external_issue_tracker=Harici sorun takipçisi kullan
|
||||
settings.external_tracker_url=External Issue Tracker URL
|
||||
settings.external_tracker_url=Harici Konu İzleyici URL'si
|
||||
settings.external_tracker_url_desc=Visitors will be redirected to URL when they click on the tab.
|
||||
settings.tracker_url_format=Harici Sorun Takipçisi Bağlantı Formatı
|
||||
settings.tracker_issue_style=Harici Hata İzleyicisi Adlandırma Stili:
|
||||
@@ -761,7 +761,7 @@ settings.wiki_deletion_success=Deponun Wiki verisi başarıyla silindi.
|
||||
settings.delete=Bu Depoyu Sil
|
||||
settings.delete_desc=Bir depoyu bir kez sildiğiniz taktirde geri getiremezsiniz. Lütfen emin olun.
|
||||
settings.delete_notices_1=- Bu işlem geri <strong>ALINAMAZ</strong>.
|
||||
settings.delete_notices_2=- Bu işlem, bu depodaki her şeyi (Git verisini, sorunları, yorumları ve katkıcı erişimlerini) kalıcı olarak silecektir.
|
||||
settings.delete_notices_2=- This operation will permanently delete everything in this repository, including Git data, issues, comments and collaborator access.
|
||||
settings.delete_notices_fork_1=Silme işleminden sonra bütün çatallar bağımsız hale gelir.
|
||||
settings.deletion_success=Depo başarıyla silindi!
|
||||
settings.update_settings_success=Depo seçenekleri başarıyla güncellendi.
|
||||
@@ -1163,6 +1163,7 @@ config.ssh_domain=Alan Adı
|
||||
config.ssh_port=Port
|
||||
config.ssh_listen_port=Port'u Dinle
|
||||
config.ssh_root_path=Kök Yol
|
||||
config.ssh_rewrite_authorized_keys_at_start=Rewrite authorized_keys At Start
|
||||
config.ssh_key_test_path=Anahtar Test Yolu
|
||||
config.ssh_keygen_path=Keygen ('ssh-keygen') Yolu
|
||||
config.ssh_minimum_key_size_check=Minimum Anahtar Uzunluğu Kontrolü
|
||||
@@ -1210,7 +1211,7 @@ config.skip_tls_verify=TLS Doğrulamasını Atla
|
||||
config.mailer_config=Mailer Yapılandırması
|
||||
config.mailer_enabled=Aktif
|
||||
config.mailer_disable_helo=HELO'yu Devre Dışı Bırak
|
||||
config.mailer_name=İsim
|
||||
config.mailer_subject_prefix=Subject Prefix
|
||||
config.mailer_host=Sunucu
|
||||
config.mailer_user=Kullanıcı
|
||||
config.send_test_mail=Test E-Postası Gönder
|
||||
@@ -1241,20 +1242,20 @@ config.disable_gravatar=Gravatar Hizmet Dışı
|
||||
config.enable_federated_avatar=Enable Federated Avatars
|
||||
|
||||
config.git_config=Git Configuration
|
||||
config.git_disable_diff_highlight=Disable Diff Syntax Highlight
|
||||
config.git_max_diff_lines=Max Diff Lines (for a single file)
|
||||
config.git_max_diff_line_characters=Max Diff Characters (for a single line)
|
||||
config.git_max_diff_files=Max Diff Files (to be shown)
|
||||
config.git_gc_args=GC Arguments
|
||||
config.git_migrate_timeout=Migration Timeout
|
||||
config.git_mirror_timeout=Mirror Update Timeout
|
||||
config.git_clone_timeout=Clone Operation Timeout
|
||||
config.git_pull_timeout=Pull Operation Timeout
|
||||
config.git_gc_timeout=GC Operation Timeout
|
||||
config.git_disable_diff_highlight=Diff İşlemi Sözdizimini Devre Dışı Bırak
|
||||
config.git_max_diff_lines=Maksimum Ayırma Hatları (tek bir dosya için)
|
||||
config.git_max_diff_line_characters=Maksimum Ayırma Karakterleri(tek bir hat için)
|
||||
config.git_max_diff_files=Maksimum Ayırma Dosyaları(gösterilmek için)
|
||||
config.git_gc_args=GC Tartışmaları
|
||||
config.git_migrate_timeout=Geçiş Zaman Aşımı
|
||||
config.git_mirror_timeout=Yansımayı Güncelle Zaman Aşımı
|
||||
config.git_clone_timeout=Klon Çalışma Zaman Aşımı
|
||||
config.git_pull_timeout=Çekme İşlemi Zaman Aşımı
|
||||
config.git_gc_timeout=GC İşlem Zaman Aşımı
|
||||
|
||||
config.log_config=Log Yapılandırması
|
||||
config.log_mode=Mode
|
||||
config.log_options=Options
|
||||
config.log_mode=Mod
|
||||
config.log_options=Seçenekler
|
||||
|
||||
monitor.cron=Cron Görevleri
|
||||
monitor.name=İsim
|
||||
@@ -1283,7 +1284,7 @@ notices.delete_success=Sistem bildirimleri başarıyla silindi.
|
||||
|
||||
[action]
|
||||
create_repo=depo <a href="%s">%s</a> oluşturuldu
|
||||
fork_repo=forked a repository to <a href="%s">%s</a>
|
||||
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
|
||||
@@ -1296,10 +1297,10 @@ create_pull_request=`<a href="%s/pulls/%s">%s#%[2]s</a> değişiklik isteğini o
|
||||
close_pull_request=`<a href="%s/pulls/%s">%s#%[2]s</a> değişiklik isteğini kapattı`
|
||||
reopen_pull_request=`<a href="%s/pulls/%s">%s#%[2]s</a> değişiklik isteğini tekrar açtı`
|
||||
merge_pull_request=`<a href="%s/pulls/%s">%s#%[2]s</a> değişim isteğini birleştirdi`
|
||||
create_branch=created new branch <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a>
|
||||
delete_branch=deleted branch <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
|
||||
create_branch=<a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a> yeni şubesi oluşturuldu
|
||||
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=deleted tag <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
|
||||
delete_tag=<code>%[2]s</code> 'ın <a href="%[1]s">%[3]s</a> etiketi silindi
|
||||
|
||||
[tool]
|
||||
ago=önce
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
app_desc=Зручний сервіс власного Git хостінгу, написаний на Go
|
||||
app_desc=Зручний сервіс власного Git хостінгу
|
||||
|
||||
home=Головна сторінка
|
||||
dashboard=Щиток
|
||||
@@ -73,7 +73,7 @@ run_user_helper=Користувач мусить мати доступ до к
|
||||
domain=Домен
|
||||
domain_helper=Це впливає на клонування через SSH.
|
||||
ssh_port=SSH порт
|
||||
ssh_port_helper=Номер порту, який використовує SSH сервер. Для заборони опції SSH залиште його пустим.
|
||||
ssh_port_helper=Номер порту, який використовує SSH сервер. Для заборони опції SSH залиште його порожнім.
|
||||
use_builtin_ssh_server=Користуватися вбудованим SSH сервером
|
||||
use_builtin_ssh_server_popup=Запустити вбудований SSH сервер для операцій git інакший за системний SSH демон.
|
||||
http_port=Порт HTTP
|
||||
@@ -491,7 +491,7 @@ editor.delete_this_file=Видалити цей файл
|
||||
editor.must_have_write_access=Ви повинні мати доступ на запис щоб запропонувати зміни до цього файлу
|
||||
editor.file_delete_success=Файл '%s' успішно видалено!
|
||||
editor.name_your_file=Дайте назву файлу...
|
||||
editor.filename_help=Щоб додати каталог, просто наберіть його ім'я, та натисніть /. Щоб видалити каталог, перейдіь на початок поля й натисніть клавішу backspace.
|
||||
editor.filename_help=Щоб додати каталог, просто наберіть його ім'я, та натисніть /. Щоб видалити каталог, перейдіть на початок поля й натисніть клавішу backspace.
|
||||
editor.or=Або
|
||||
editor.cancel_lower=Скасувати
|
||||
editor.commit_changes=Зафіксувати зміни
|
||||
@@ -632,8 +632,8 @@ pulls.is_checking=Перевірка конфліктів продовжуєть
|
||||
pulls.can_auto_merge_desc=Цей запрос може бути влитий автоматично.
|
||||
pulls.cannot_auto_merge_desc=Цей запрос не може бути влитий автоматично, тому що він має конфлікти.
|
||||
pulls.cannot_auto_merge_helper=Будь ласка влийте вручну щоб врегулювати конфлікти.
|
||||
pulls.create_merge_commit=Create a merge commit
|
||||
pulls.rebase_before_merging=Rebase before merging
|
||||
pulls.create_merge_commit=Створити коміт на злиття
|
||||
pulls.rebase_before_merging=Перебазувати перед об'єднанням
|
||||
pulls.merge_pull_request=Влити запрос на злиття
|
||||
pulls.open_unmerged_pull_exists=`Ви не можете перевідкрити, бо вже існує запрос на злиття (#%d) з того самого репозиторію, з тією самою інформацією про злиття, та він очікує на влиття.`
|
||||
pulls.delete_branch=Видалити гілку
|
||||
@@ -660,7 +660,7 @@ milestones.cancel=Скасувати
|
||||
milestones.modify=Змінити етап
|
||||
milestones.edit_success=Зміни в етапі '%s' успішно збережені!
|
||||
milestones.deletion=Видалення етапу
|
||||
milestones.deletion_desc=Видалення цього єтапу призведе до видалення інформації, його та пов'язаних проблем. Ви справді хочете продовжити?
|
||||
milestones.deletion_desc=Видалення цього етапу призведе до видалення інформації, його та пов'язаних проблем. Ви справді хочете продовжити?
|
||||
milestones.deletion_success=Етап успішно видалено!
|
||||
|
||||
wiki=Wiki
|
||||
@@ -739,11 +739,11 @@ settings.tracker_issue_style.numeric=Цифровий
|
||||
settings.tracker_issue_style.alphanumeric=Буквено-цифровий
|
||||
settings.tracker_url_format_desc=Ви можете використовувати заповнювач <code>{user} {repo} {index}</code> для ім'я користувача, назви репозиторію на номеру проблеми.
|
||||
settings.pulls_desc=Увімкнути публічні запроси на злиття
|
||||
settings.pulls.ignore_whitespace=Ignore changes in whitespace
|
||||
settings.pulls.allow_rebase_merge=Allow use rebase to merge commits
|
||||
settings.pulls.ignore_whitespace=Ігнорувати зміни у пробільних символах
|
||||
settings.pulls.allow_rebase_merge=Дозволити перебазування для merge-комітів
|
||||
settings.danger_zone=Небезпечна зона
|
||||
settings.cannot_fork_to_same_owner=Ви не можете клонувати репозиторій його ж власнику.
|
||||
settings.new_owner_has_same_repo=Новий власник вже має репозиторій з такою назвою.
|
||||
settings.new_owner_has_same_repo=Новий власник вже має репозиторій з такою назвою. Будь ласка, виберіть іншу.
|
||||
settings.convert=Перетворити на звичайний репозиторій
|
||||
settings.convert_desc=Ви можете сконвертувати це дзеркало у звичайний репозиторій. Це не може бути повернуто.
|
||||
settings.convert_notices_1=- Ця операція перетворить дзеркало на звичайний репозиторій та не зможе бути відмінена.
|
||||
@@ -761,7 +761,7 @@ settings.wiki_deletion_success=Wiki-інформацію було вдало в
|
||||
settings.delete=Видалити цей репозиторій
|
||||
settings.delete_desc=Як тільки ви видалите репозиторій, то вже не буде шляху назад. Будь ласка, будьте певні.
|
||||
settings.delete_notices_1=- Ця операція <strong>НЕ МОЖЕ</strong> бути відмінена.
|
||||
settings.delete_notices_2=- Ця операція остаточно видалить увесь вміст репозиторію, включаючи git-дані, проблеми, коментарі та дозволи співавторів.
|
||||
settings.delete_notices_2=- This operation will permanently delete everything in this repository, including Git data, issues, comments and collaborator access.
|
||||
settings.delete_notices_fork_1=- Усі відгалудження стануть незалежними бісля видалення.
|
||||
settings.deletion_success=Репозиторій успішно видалено!
|
||||
settings.update_settings_success=Налаштування репозиторію було вдало оновлено.
|
||||
@@ -836,13 +836,13 @@ settings.hook_type=Тип хуку
|
||||
settings.add_slack_hook_desc=Додати <a href="%s">Slack</a>-інтеграцію до вашого репозиторію.
|
||||
settings.add_discord_hook_desc=Додати <a href="%s">Discord</a>-інтеграцію до репозиторію.
|
||||
settings.add_dingtalk_hook_desc=Додати інтеграцію <a href="%s">Dingtalk</a> до вашого репозиторію.
|
||||
settings.slack_token=Жетон
|
||||
settings.slack_token=Токен
|
||||
settings.slack_domain=Домен
|
||||
settings.slack_channel=Канал
|
||||
settings.deploy_keys=Ключи для розгортування
|
||||
settings.deploy_keys_helper=<b>Common Gotcha!</b> Якщо ви шукаєте куди додати персональний публічний ключ, додайте його до <a href="%s%s">налаштуань вашого аккаунту</a>.
|
||||
settings.add_deploy_key=Додати ключ для розгортування
|
||||
settings.deploy_key_desc=Ключи розгортування доступні лише для читання. Це не те саме, що персональний SSH ключ аккаунту.
|
||||
settings.deploy_key_desc=Ключі розгортування доступні лише для читання. Це не те саме, що персональний SSH ключ акаунту.
|
||||
settings.no_deploy_keys=Ви не додали жодного ключа для розгортування.
|
||||
settings.title=Заголовок
|
||||
settings.deploy_key_content=Контент
|
||||
@@ -850,7 +850,7 @@ settings.key_been_used=Вміст ключа розгортування вже
|
||||
settings.key_name_used=Ключ розгортування має ім'я яке вже використано.
|
||||
settings.add_key_success=Новий ключ розгортування '%s' успішно додано!
|
||||
settings.deploy_key_deletion=Видалити ключ для розгортування
|
||||
settings.deploy_key_deletion_desc=Видалення цього ключа для розгортування призведе о видалення усіх повїязаних прав до цього репозитрію. Ви справді бажаєти продовжити?
|
||||
settings.deploy_key_deletion_desc=Видалення цього ключа для розгортування призведе о видалення усіх пов'язаних прав до цього репозиторію. Ви справді бажаєте продовжити?
|
||||
settings.deploy_key_deletion_success=Ключі для розгортування було успішно видалено!
|
||||
|
||||
diff.browse_source=Переглянути джерело
|
||||
@@ -1100,7 +1100,7 @@ auths.domain=Домен
|
||||
auths.host=Хост
|
||||
auths.port=Порт
|
||||
auths.bind_dn=Прив'язати DN
|
||||
auths.bind_dn_helper=You can use '%s' as placeholder for username, e.g. DOM\%s
|
||||
auths.bind_dn_helper=Ви можете використовувати '%s' як шаблон для імені користувача, напр. DOM\%s
|
||||
auths.bind_password=Прив'язати пароль
|
||||
auths.bind_password_helper=Увага: Цей пароль зберігається як звичайний текст. Не використовуйте профіль з високими повноваженнями.
|
||||
auths.user_base=База пошуку користувачів
|
||||
@@ -1123,7 +1123,7 @@ auths.smtp_auth=Тип автентифікації SMTP
|
||||
auths.smtphost=SMTP хост
|
||||
auths.smtpport=SMTP порт
|
||||
auths.allowed_domains=Дозволені домени
|
||||
auths.allowed_domains_helper=Залиште пустим щоб дозволити будь-які домени. Якщо доменів декілька - розділить їх комами ','.
|
||||
auths.allowed_domains_helper=Залиште порожнім щоб дозволити будь-які домени. Якщо доменів декілька - розділить їх комами ','.
|
||||
auths.enable_tls=Увімкнути TLS-шифрування
|
||||
auths.skip_tls_verify=Пропустити перевірку TLS
|
||||
auths.pam_service_name=Ім'я служби PAM
|
||||
@@ -1141,7 +1141,7 @@ auths.still_in_used=Цю автентифікацію ще використов
|
||||
auths.deletion_success=Автентивікацію було успішно видалено!
|
||||
auths.login_source_exist=Джерело входу '%s' вже існує.
|
||||
|
||||
config.not_set=(not set)
|
||||
config.not_set=(не встановлено)
|
||||
config.server_config=Конфігурація сервера
|
||||
config.app_name=Назва програми
|
||||
config.app_ver=Версія програми
|
||||
@@ -1163,6 +1163,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_key_test_path=Шлях до тестових ключів
|
||||
config.ssh_keygen_path=Шлях до генератора ключів ('ssh-keygen')
|
||||
config.ssh_minimum_key_size_check=Мінімальний розмір ключа перевірки
|
||||
@@ -1178,8 +1179,8 @@ config.disable_http_git=Вимкнути HTTP Git
|
||||
config.enable_local_path_migration=Увімкнути міграцію з локального шляху
|
||||
config.commits_fetch_concurrency=Запросити коміти конкурентно
|
||||
|
||||
config.http_config=HTTP Configuration
|
||||
config.http_access_control_allow_origin=Access Control Allow Origin
|
||||
config.http_config=Налаштування HTTP
|
||||
config.http_access_control_allow_origin=Контроль доступу дозволяє Origin
|
||||
|
||||
config.db_config=Налаштування бази даних
|
||||
config.db_type=Тип
|
||||
@@ -1210,7 +1211,7 @@ config.skip_tls_verify=Пропустити перевірку TLS
|
||||
config.mailer_config=Налаштування пошти
|
||||
config.mailer_enabled=Увімкнено
|
||||
config.mailer_disable_helo=Вимкнути HELO
|
||||
config.mailer_name=Ім’я
|
||||
config.mailer_subject_prefix=Subject Prefix
|
||||
config.mailer_host=Хост
|
||||
config.mailer_user=Користувач
|
||||
config.send_test_mail=Відправити тестового листа
|
||||
|
||||
@@ -590,7 +590,7 @@ issues.commit_ref_at=`在代码提交 <a id="%[1]s" href="#%[1]s">%[2]s</a> 中
|
||||
issues.poster=发布者
|
||||
issues.collaborator=协作者
|
||||
issues.owner=所有者
|
||||
issues.sign_in_require_desc=<a href="%s">登陆</a> 并参与到对话中。
|
||||
issues.sign_in_require_desc=<a href="%s">登录</a> 并参与到对话中。
|
||||
issues.edit=编辑
|
||||
issues.cancel=取消
|
||||
issues.save=保存
|
||||
@@ -761,7 +761,7 @@ settings.wiki_deletion_success=仓库 Wiki 数据清除成功!
|
||||
settings.delete=删除本仓库
|
||||
settings.delete_desc=删除仓库操作不可逆转,请三思而后行。
|
||||
settings.delete_notices_1=- 此操作 <strong>不可以</strong> 被回滚。
|
||||
settings.delete_notices_2=- 此操作将永久删除该仓库,包括 Git 数据、 工单、 评论和协作者的操作权限。
|
||||
settings.delete_notices_2=- 此操作将永久删除该仓库,包括 Git 数据、工单、评论和协作者的操作权限。
|
||||
settings.delete_notices_fork_1=- 删除完成后所有的派生仓库都将转换为独立的仓库。
|
||||
settings.deletion_success=仓库删除成功!
|
||||
settings.update_settings_success=仓库设置更新成功!
|
||||
@@ -1163,6 +1163,7 @@ config.ssh_domain=域名
|
||||
config.ssh_port=端口
|
||||
config.ssh_listen_port=监听端口
|
||||
config.ssh_root_path=根目录
|
||||
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=密钥最小长度检查
|
||||
@@ -1210,7 +1211,7 @@ config.skip_tls_verify=忽略 TLS 验证
|
||||
config.mailer_config=邮件配置
|
||||
config.mailer_enabled=启用服务
|
||||
config.mailer_disable_helo=禁用 HELO 操作
|
||||
config.mailer_name=发送者名称
|
||||
config.mailer_subject_prefix=主题前缀
|
||||
config.mailer_host=邮件主机地址
|
||||
config.mailer_user=发送者帐号
|
||||
config.send_test_mail=发送测试邮件
|
||||
|
||||
@@ -207,7 +207,7 @@ CommitSummary=Commit summary
|
||||
CommitMessage=Commit message
|
||||
CommitChoice=Commit choice
|
||||
TreeName=File path
|
||||
Content=Content
|
||||
Content=內容
|
||||
|
||||
require_error=不能為空。
|
||||
alpha_dash_error=必須為英文字母、阿拉伯數字或橫線(-_)。
|
||||
@@ -262,10 +262,10 @@ form.name_pattern_not_allowed=用戶名不允許 '%s' 的格式。
|
||||
[settings]
|
||||
profile=個人信息
|
||||
password=修改密碼
|
||||
avatar=Avatar
|
||||
avatar=頭像
|
||||
ssh_keys=管理 SSH 密鑰
|
||||
security=Security
|
||||
repos=Repositories
|
||||
security=安全
|
||||
repos=倉庫
|
||||
orgs=管理組織
|
||||
applications=管理授權應用
|
||||
delete=刪除帳戶
|
||||
@@ -335,18 +335,18 @@ key_state_desc=該密鑰在 7 天內被使用過
|
||||
token_state_desc=此token在過去七天內曾經被使用過
|
||||
|
||||
two_factor=Two-factor Authentication
|
||||
two_factor_status=Status:
|
||||
two_factor_on=On
|
||||
two_factor_off=Off
|
||||
two_factor_enable=Enable
|
||||
two_factor_disable=Disable
|
||||
two_factor_status=狀態:
|
||||
two_factor_on=開啟
|
||||
two_factor_off=關閉
|
||||
two_factor_enable=啟用
|
||||
two_factor_disable=禁用
|
||||
two_factor_view_recovery_codes=View and save <a href="%s%s">your recovery codes</a> in a safe place. You can use them as passcode if you lose access to your authentication application.
|
||||
two_factor_http=For HTTP/HTTPS operations, you are no longer able to use plain username and password. Please create and use <a href="%[1]s%[2]s">Personal Access Token</a> as your credential, e.g. <code>%[3]s</code>.
|
||||
two_factor_enable_title=Enable Two-factor Authentication
|
||||
two_factor_scan_qr=Please use your authentication application to scan the image:
|
||||
two_factor_or_enter_secret=Or enter the secret:
|
||||
two_factor_then_enter_passcode=Then enter passcode:
|
||||
two_factor_verify=Verify
|
||||
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_enable_error=Enable Two-factor authentication failed: %v
|
||||
two_factor_enable_success=Two-factor authentication has enabled for your account successfully!
|
||||
@@ -761,7 +761,7 @@ settings.wiki_deletion_success=Repository wiki data have been erased successfull
|
||||
settings.delete=刪除本倉庫
|
||||
settings.delete_desc=刪除倉庫操作不可逆轉,請三思而後行。
|
||||
settings.delete_notices_1=- 此操作 <strong>不可以</strong> 被回滾。
|
||||
settings.delete_notices_2=- 此操作將永久刪除該倉庫,包括 Git 數據、 問題、 評論和協作者的操作權限。
|
||||
settings.delete_notices_2=- This operation will permanently delete everything in this repository, including Git data, issues, comments and collaborator access.
|
||||
settings.delete_notices_fork_1=- All forks will become independent after deletion.
|
||||
settings.deletion_success=倉庫刪除成功!
|
||||
settings.update_settings_success=倉庫設置更新成功!
|
||||
@@ -1163,6 +1163,7 @@ config.ssh_domain=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_key_test_path=金鑰測試路徑
|
||||
config.ssh_keygen_path=金鑰產生 (' ssh-keygen ') 路徑
|
||||
config.ssh_minimum_key_size_check=金鑰最小大小檢查
|
||||
@@ -1210,7 +1211,7 @@ config.skip_tls_verify=忽略 TLS 驗證
|
||||
config.mailer_config=郵件配置
|
||||
config.mailer_enabled=啟用服務
|
||||
config.mailer_disable_helo=禁用 HELO 操作
|
||||
config.mailer_name=發送者名稱
|
||||
config.mailer_subject_prefix=Subject Prefix
|
||||
config.mailer_host=郵件主機地址
|
||||
config.mailer_user=發送者帳號
|
||||
config.send_test_mail=發送測試郵件
|
||||
|
||||
@@ -82,7 +82,7 @@ app_url=應用程式網址
|
||||
app_url_helper=該設置影響 HTTP/HTTPS 複製地址和一些郵箱中的連結。
|
||||
log_root_path=日誌路徑
|
||||
log_root_path_helper=寫入日誌檔目錄
|
||||
enable_console_mode=Enable Console Mode
|
||||
enable_console_mode=開啟主控台模式
|
||||
enable_console_mode_popup=In addition to file mode, also print logs to console.
|
||||
|
||||
optional_title=可選設置
|
||||
@@ -119,7 +119,7 @@ sqlite3_not_available=您所使用的發行版本不支持 SQLite3,請從 %s
|
||||
invalid_db_setting=資料庫設定不正確: %v
|
||||
invalid_repo_path=倉庫根目錄設置不正確:%v
|
||||
run_user_not_match=執行系統用戶非當前用戶:%s -> %s
|
||||
smtp_host_missing_port=SMTP Host is missing port in address.
|
||||
smtp_host_missing_port=SMTP 主機缺少位址中的埠。
|
||||
invalid_smtp_from=SMTP 寄件者欄位無效﹔%v
|
||||
save_config_failed=設定儲存失敗:%v
|
||||
invalid_admin_setting=管理員帳戶設置不正確:%v
|
||||
@@ -169,13 +169,13 @@ reset_password_helper=單擊此處重置密碼
|
||||
password_too_short=密碼長度不能少於 6 位!
|
||||
non_local_account=非本地帳戶無法通過 Gogs 修改密碼。
|
||||
|
||||
login_two_factor=Two-factor Authentication
|
||||
login_two_factor_passcode=Authentication Passcode
|
||||
login_two_factor_enter_recovery_code=Enter a two-factor recovery code
|
||||
login_two_factor_recovery=Two-factor Recovery
|
||||
login_two_factor_recovery_code=Recovery Code
|
||||
login_two_factor_enter_passcode=Enter a two-factor passcode
|
||||
login_two_factor_invalid_recovery_code=Recovery code has been used or does not valid.
|
||||
login_two_factor=兩步驗證
|
||||
login_two_factor_passcode=驗證碼
|
||||
login_two_factor_enter_recovery_code=鍵入兩部驗證碼
|
||||
login_two_factor_recovery=兩步恢復
|
||||
login_two_factor_recovery_code=恢復代碼
|
||||
login_two_factor_enter_passcode=鍵入兩步驗證碼
|
||||
login_two_factor_invalid_recovery_code=恢復代碼已使用或無效。
|
||||
|
||||
[mail]
|
||||
activate_account=請激活您的帳戶
|
||||
@@ -264,8 +264,8 @@ profile=個人信息
|
||||
password=修改密碼
|
||||
avatar=頭像
|
||||
ssh_keys=管理 SSH 密鑰
|
||||
security=Security
|
||||
repos=Repositories
|
||||
security=安全
|
||||
repos=倉庫
|
||||
orgs=管理組織
|
||||
applications=管理授權應用
|
||||
delete=刪除帳戶
|
||||
@@ -318,7 +318,7 @@ manage_ssh_keys=管理 SSH 密鑰
|
||||
add_key=增加密鑰
|
||||
ssh_desc=以下是與您帳戶所關聯的 SSH 密鑰,如果您發現有陌生的密鑰,請立即刪除它!
|
||||
ssh_helper=<strong>需要幫助嗎?</strong> 請查看有關 <a href="%s"> 如何生成 SSH 密鑰</a> 的指南或 <a href="%s"> SSH 的常見問題</a> 的疑難排解。
|
||||
add_new_key=增加 SSH 密鑰
|
||||
add_new_key=增加 SSH 公鑰
|
||||
ssh_key_been_used=公共密鑰已經被使用
|
||||
ssh_key_name_used=使用相同名稱的公共密鑰已經存在!
|
||||
key_name=密鑰名稱
|
||||
@@ -334,27 +334,27 @@ no_activity=沒有最近活動
|
||||
key_state_desc=該密鑰在 7 天內被使用過
|
||||
token_state_desc=此token在過去七天內曾經被使用過
|
||||
|
||||
two_factor=Two-factor Authentication
|
||||
two_factor_status=Status:
|
||||
two_factor_on=On
|
||||
two_factor_off=Off
|
||||
two_factor_enable=Enable
|
||||
two_factor_disable=Disable
|
||||
two_factor_view_recovery_codes=View and save <a href="%s%s">your recovery codes</a> in a safe place. You can use them as passcode if you lose access to your authentication application.
|
||||
two_factor=兩步驗證
|
||||
two_factor_status=狀態:
|
||||
two_factor_on=開啟
|
||||
two_factor_off=關閉
|
||||
two_factor_enable=啟用
|
||||
two_factor_disable=禁用
|
||||
two_factor_view_recovery_codes=在安全的地方查看並保存 <a href="%s%s"> 您的恢復代碼 </a>。如果您失去對身份驗證應用程式的存取權限, 則可以將它們用作密碼。
|
||||
two_factor_http=For HTTP/HTTPS operations, you are no longer able to use plain username and password. Please create and use <a href="%[1]s%[2]s">Personal Access Token</a> as your credential, e.g. <code>%[3]s</code>.
|
||||
two_factor_enable_title=Enable Two-factor Authentication
|
||||
two_factor_scan_qr=Please use your authentication application to scan the image:
|
||||
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_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
|
||||
two_factor_scan_qr=請使用您的身份驗證應用程式掃描圖像:
|
||||
two_factor_or_enter_secret=或輸入密碼: %s
|
||||
two_factor_then_enter_passcode=然後輸入驗證碼:
|
||||
two_factor_verify=驗證
|
||||
two_factor_invalid_passcode=您輸入的密碼無效,請再試一次。
|
||||
two_factor_enable_error=啟用兩步驗證失敗: %v
|
||||
two_factor_enable_success=您帳戶的兩步驗證已成功啟用!
|
||||
two_factor_recovery_codes_title=兩步驗證恢復代碼
|
||||
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_regenerate_recovery_codes=重新生成恢復代碼
|
||||
two_factor_regenerate_recovery_codes_error=重新生成恢復代碼失敗: %v
|
||||
two_factor_regenerate_recovery_codes_success=已成功生成新的恢復代碼!
|
||||
two_factor_disable_title=Disable Two-factor Authentication
|
||||
two_factor_disable_desc=Your account security level will decrease after disabled two-factor authentication. Do you want to continue?
|
||||
two_factor_disable_success=Two-factor authentication has disabled successfully!
|
||||
@@ -632,7 +632,7 @@ pulls.is_checking=該合併請求正在進行衝突檢查,請稍後再刷新
|
||||
pulls.can_auto_merge_desc=這個拉請求可以自動合併。
|
||||
pulls.cannot_auto_merge_desc=由於存在衝突,不能自動合併這推送請求。
|
||||
pulls.cannot_auto_merge_helper=請手動合併來解決衝突。
|
||||
pulls.create_merge_commit=Create a merge commit
|
||||
pulls.create_merge_commit=創建一個合併提交
|
||||
pulls.rebase_before_merging=Rebase before merging
|
||||
pulls.merge_pull_request=合併請求
|
||||
pulls.open_unmerged_pull_exists=`由於已經存在來自相同倉庫和合併信息的未合併請求(#%d),您無法執行重新開啟操作。`
|
||||
@@ -761,7 +761,7 @@ settings.wiki_deletion_success=儲存庫 wiki 資料已成功清除。
|
||||
settings.delete=刪除本倉庫
|
||||
settings.delete_desc=刪除倉庫操作不可逆轉,請三思而後行。
|
||||
settings.delete_notices_1=- 此操作 <strong>不可以</strong> 被回滾。
|
||||
settings.delete_notices_2=- 此操作將永久刪除該倉庫,包括 Git 數據、 問題、 評論和協作者的操作權限。
|
||||
settings.delete_notices_2=- This operation will permanently delete everything in this repository, including Git data, issues, comments and collaborator access.
|
||||
settings.delete_notices_fork_1=- 刪除後所有的派生倉庫將會成為獨立倉庫
|
||||
settings.deletion_success=倉庫刪除成功!
|
||||
settings.update_settings_success=倉庫設置更新成功!
|
||||
@@ -1110,11 +1110,11 @@ auths.attribute_username_placeholder=留空表示使用用戶登錄時所使用
|
||||
auths.attribute_name=歸納名字
|
||||
auths.attribute_surname=姓氏屬性
|
||||
auths.attribute_mail=電子郵箱屬性
|
||||
auths.verify_group_membership=Verify group membership
|
||||
auths.verify_group_membership=驗證組成員身份
|
||||
auths.group_search_base_dn=Group Search Base DN
|
||||
auths.group_filter=Group Filter
|
||||
auths.group_filter=組篩選器
|
||||
auths.group_attribute_contain_user_list=Group Attribute Containing List of Users
|
||||
auths.user_attribute_listed_in_group=User Attribute Listed in Group
|
||||
auths.user_attribute_listed_in_group=組中列出的使用者屬性
|
||||
auths.attributes_in_bind=從 Bind DN 中獲取屬性信息
|
||||
auths.filter=使用者篩選器
|
||||
auths.admin_filter=管理者篩選器
|
||||
@@ -1141,7 +1141,7 @@ auths.still_in_used=一些使用者仍然使用此驗證方式,請先刪除或
|
||||
auths.deletion_success=認證源刪除成功!
|
||||
auths.login_source_exist=登錄源 '%s' 已存在。
|
||||
|
||||
config.not_set=(not set)
|
||||
config.not_set=(未設定)
|
||||
config.server_config=服務器配置
|
||||
config.app_name=應用名稱
|
||||
config.app_ver=應用版本
|
||||
@@ -1163,6 +1163,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_key_test_path=金鑰測試路徑
|
||||
config.ssh_keygen_path=金鑰產生 (' ssh-keygen ') 路徑
|
||||
config.ssh_minimum_key_size_check=金鑰最小大小檢查
|
||||
@@ -1178,7 +1179,7 @@ config.disable_http_git=停用 HTTP Git
|
||||
config.enable_local_path_migration=啟用本地路徑遷移
|
||||
config.commits_fetch_concurrency=同時Fetch Commit數量
|
||||
|
||||
config.http_config=HTTP Configuration
|
||||
config.http_config=HTTP設定
|
||||
config.http_access_control_allow_origin=Access Control Allow Origin
|
||||
|
||||
config.db_config=資料庫設定
|
||||
@@ -1210,7 +1211,7 @@ config.skip_tls_verify=忽略 TLS 驗證
|
||||
config.mailer_config=郵件配置
|
||||
config.mailer_enabled=啟用服務
|
||||
config.mailer_disable_helo=禁用 HELO 操作
|
||||
config.mailer_name=發送者名稱
|
||||
config.mailer_subject_prefix=Subject Prefix
|
||||
config.mailer_host=郵件主機地址
|
||||
config.mailer_user=發送者帳號
|
||||
config.send_test_mail=發送測試郵件
|
||||
|
||||
3
docker/aarch64/build.sh
Normal file
3
docker/aarch64/build.sh
Normal file
@@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
|
||||
go build -ldflags "-w -s" resin-xbuild.go
|
||||
BIN
docker/aarch64/qemu-aarch64-static
Executable file
BIN
docker/aarch64/qemu-aarch64-static
Executable file
Binary file not shown.
BIN
docker/aarch64/resin-xbuild
Executable file
BIN
docker/aarch64/resin-xbuild
Executable file
Binary file not shown.
66
docker/aarch64/resin-xbuild.go
Normal file
66
docker/aarch64/resin-xbuild.go
Normal file
@@ -0,0 +1,66 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"log"
|
||||
"os"
|
||||
"os/exec"
|
||||
"syscall"
|
||||
)
|
||||
|
||||
func crossBuildStart() {
|
||||
err := os.Remove("/bin/sh")
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
err = os.Link("/usr/bin/resin-xbuild", "/bin/sh")
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
func crossBuildEnd() {
|
||||
err := os.Remove("/bin/sh")
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
err = os.Link("/bin/sh.real", "/bin/sh")
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
func runShell() error {
|
||||
cmd := exec.Command("/usr/bin/qemu-aarch64-static", append([]string{"-0", "/bin/sh", "/bin/sh"}, os.Args[1:]...)...)
|
||||
cmd.Stdin = os.Stdin
|
||||
cmd.Stdout = os.Stdout
|
||||
cmd.Stderr = os.Stderr
|
||||
return cmd.Run()
|
||||
}
|
||||
|
||||
func main() {
|
||||
switch os.Args[0] {
|
||||
case "cross-build-start":
|
||||
crossBuildStart()
|
||||
case "cross-build-end":
|
||||
crossBuildEnd()
|
||||
case "/bin/sh":
|
||||
code := 0
|
||||
crossBuildEnd()
|
||||
|
||||
if err := runShell(); err != nil {
|
||||
code = 1
|
||||
if exiterr, ok := err.(*exec.ExitError); ok {
|
||||
if status, ok := exiterr.Sys().(syscall.WaitStatus); ok {
|
||||
code = status.ExitStatus()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
crossBuildStart()
|
||||
|
||||
// Hack to bypass apk issues with triggering
|
||||
code = 0
|
||||
|
||||
os.Exit(code)
|
||||
}
|
||||
}
|
||||
2
gogs.go
2
gogs.go
@@ -16,7 +16,7 @@ import (
|
||||
"github.com/gogits/gogs/pkg/setting"
|
||||
)
|
||||
|
||||
const APP_VER = "0.11.33.1119"
|
||||
const APP_VER = "0.11.43.0330"
|
||||
|
||||
func init() {
|
||||
setting.AppVer = APP_VER
|
||||
|
||||
@@ -74,7 +74,7 @@ func CreateRepositoryNotice(desc string) error {
|
||||
// creates a system notice when error occurs.
|
||||
func RemoveAllWithNotice(title, path string) {
|
||||
var err error
|
||||
// LEGACY [Go 1.7]: workaround for Go not being able to remove read-only files/folders: https://github.com/golang/go/issues/9606
|
||||
// LEGACY [Go 1.7, 0.12]: workaround for Go not being able to remove read-only files/folders: https://github.com/golang/go/issues/9606
|
||||
// this bug should be fixed on Go 1.7, so the workaround should be removed when Gogs don't support Go 1.6 anymore:
|
||||
// https://github.com/golang/go/commit/2ffb3e5d905b5622204d199128dec06cefd57790
|
||||
// Note: Windows complains when delete target does not exist, therefore we can skip deletion in such cases.
|
||||
|
||||
@@ -388,26 +388,6 @@ func (err ErrRepoFileAlreadyExist) Error() string {
|
||||
return fmt.Sprintf("repository file already exists [file_name: %s]", err.FileName)
|
||||
}
|
||||
|
||||
// __________ .__
|
||||
// \______ \____________ ____ ____ | |__
|
||||
// | | _/\_ __ \__ \ / \_/ ___\| | \
|
||||
// | | \ | | \// __ \| | \ \___| Y \
|
||||
// |______ / |__| (____ /___| /\___ >___| /
|
||||
// \/ \/ \/ \/ \/
|
||||
|
||||
type ErrBranchNotExist struct {
|
||||
Name string
|
||||
}
|
||||
|
||||
func IsErrBranchNotExist(err error) bool {
|
||||
_, ok := err.(ErrBranchNotExist)
|
||||
return ok
|
||||
}
|
||||
|
||||
func (err ErrBranchNotExist) Error() string {
|
||||
return fmt.Sprintf("branch does not exist [name: %s]", err.Name)
|
||||
}
|
||||
|
||||
// __________ .__ .__ __________ __
|
||||
// \______ \__ __| | | |\______ \ ____ ________ __ ____ _______/ |_
|
||||
// | ___/ | \ | | | | _// __ \/ ____/ | \_/ __ \ / ___/\ __\
|
||||
|
||||
@@ -72,3 +72,16 @@ func IsBranchAlreadyExists(err error) bool {
|
||||
func (err BranchAlreadyExists) Error() string {
|
||||
return fmt.Sprintf("branch already exists [name: %s]", err.Name)
|
||||
}
|
||||
|
||||
type ErrBranchNotExist struct {
|
||||
Name string
|
||||
}
|
||||
|
||||
func IsErrBranchNotExist(err error) bool {
|
||||
_, ok := err.(ErrBranchNotExist)
|
||||
return ok
|
||||
}
|
||||
|
||||
func (err ErrBranchNotExist) Error() string {
|
||||
return fmt.Sprintf("branch does not exist [name: %s]", err.Name)
|
||||
}
|
||||
|
||||
@@ -133,13 +133,6 @@ In case you're stilling getting this notice, go through instructions again until
|
||||
return nil
|
||||
}
|
||||
|
||||
func sessionRelease(sess *xorm.Session) {
|
||||
if !sess.IsCommitedOrRollbacked {
|
||||
sess.Rollback()
|
||||
}
|
||||
sess.Close()
|
||||
}
|
||||
|
||||
func generateOrgRandsAndSalt(x *xorm.Engine) (err error) {
|
||||
type User struct {
|
||||
ID int64 `xorm:"pk autoincr"`
|
||||
|
||||
@@ -134,12 +134,14 @@ func getEngine() (*xorm.Engine, error) {
|
||||
switch DbCfg.Type {
|
||||
case "mysql":
|
||||
if DbCfg.Host[0] == '/' { // looks like a unix socket
|
||||
connStr = fmt.Sprintf("%s:%s@unix(%s)/%s%scharset=utf8&parseTime=true",
|
||||
connStr = fmt.Sprintf("%s:%s@unix(%s)/%s%scharset=utf8mb4&parseTime=true",
|
||||
DbCfg.User, DbCfg.Passwd, DbCfg.Host, DbCfg.Name, Param)
|
||||
} else {
|
||||
connStr = fmt.Sprintf("%s:%s@tcp(%s)/%s%scharset=utf8&parseTime=true",
|
||||
connStr = fmt.Sprintf("%s:%s@tcp(%s)/%s%scharset=utf8mb4&parseTime=true",
|
||||
DbCfg.User, DbCfg.Passwd, DbCfg.Host, DbCfg.Name, Param)
|
||||
}
|
||||
var engineParams = map[string]string{"rowFormat": "DYNAMIC"}
|
||||
return xorm.NewEngineWithParams(DbCfg.Type, connStr, engineParams)
|
||||
case "postgres":
|
||||
host, port := parsePostgreSQLHostPort(DbCfg.Host)
|
||||
if host[0] == '/' { // looks like a unix socket
|
||||
|
||||
@@ -215,11 +215,13 @@ func (pr *PullRequest) Merge(doer *User, baseGitRepo *git.Repository, mergeStyle
|
||||
return fmt.Errorf("OpenRepository: %v", err)
|
||||
}
|
||||
|
||||
// Clone base repo.
|
||||
// Create temporary directory to store temporary copy of the base repository,
|
||||
// and clean it up when operation finished regardless of succeed or not.
|
||||
tmpBasePath := path.Join(setting.AppDataPath, "tmp/repos", com.ToStr(time.Now().Nanosecond())+".git")
|
||||
os.MkdirAll(path.Dir(tmpBasePath), os.ModePerm)
|
||||
defer os.RemoveAll(path.Dir(tmpBasePath))
|
||||
|
||||
// Clone the base repository to the defined temporary directory.
|
||||
var stderr string
|
||||
if _, stderr, err = process.ExecTimeout(5*time.Minute,
|
||||
fmt.Sprintf("PullRequest.Merge (git clone): %s", tmpBasePath),
|
||||
@@ -227,26 +229,22 @@ func (pr *PullRequest) Merge(doer *User, baseGitRepo *git.Repository, mergeStyle
|
||||
return fmt.Errorf("git clone: %s", stderr)
|
||||
}
|
||||
|
||||
// Check out base branch.
|
||||
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", stderr)
|
||||
}
|
||||
|
||||
// Add head repo remote.
|
||||
// Add remote which points to the head repository.
|
||||
if _, stderr, err = process.ExecDir(-1, tmpBasePath,
|
||||
fmt.Sprintf("PullRequest.Merge (git remote add): %s", tmpBasePath),
|
||||
"git", "remote", "add", "head_repo", headRepoPath); err != nil {
|
||||
return fmt.Errorf("git remote add [%s -> %s]: %s", headRepoPath, tmpBasePath, stderr)
|
||||
}
|
||||
|
||||
// Fetch information from head repository to the temporary copy.
|
||||
if _, stderr, err = process.ExecDir(-1, tmpBasePath,
|
||||
fmt.Sprintf("PullRequest.Merge (git fetch): %s", tmpBasePath),
|
||||
"git", "fetch", "head_repo"); err != nil {
|
||||
return fmt.Errorf("git fetch [%s -> %s]: %s", headRepoPath, tmpBasePath, stderr)
|
||||
}
|
||||
|
||||
remoteHeadBranch := "head_repo/" + pr.HeadBranch
|
||||
|
||||
// Check if merge style is allowed, reset to default style if not
|
||||
if mergeStyle == MERGE_STYLE_REBASE && !pr.BaseRepo.PullsAllowRebase {
|
||||
mergeStyle = MERGE_STYLE_REGULAR
|
||||
@@ -254,12 +252,22 @@ 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),
|
||||
"git", "merge", "--no-ff", "--no-commit", "head_repo/"+pr.HeadBranch); err != nil {
|
||||
"git", "merge", "--no-ff", "--no-commit", remoteHeadBranch); err != nil {
|
||||
return fmt.Errorf("git merge --no-ff --no-commit [%s]: %v - %s", tmpBasePath, err, stderr)
|
||||
}
|
||||
|
||||
// Create a merge commit for the base branch.
|
||||
sig := doer.NewGitSig()
|
||||
if _, stderr, err = process.ExecDir(-1, tmpBasePath,
|
||||
fmt.Sprintf("PullRequest.Merge (git merge): %s", tmpBasePath),
|
||||
@@ -269,20 +277,44 @@ func (pr *PullRequest) Merge(doer *User, baseGitRepo *git.Repository, mergeStyle
|
||||
}
|
||||
|
||||
case MERGE_STYLE_REBASE: // Rebase before merging
|
||||
|
||||
// Rebase head branch based on base branch, this creates a non-branch commit state.
|
||||
if _, stderr, err = process.ExecDir(-1, tmpBasePath,
|
||||
fmt.Sprintf("PullRequest.Merge (git rebase): %s", tmpBasePath),
|
||||
"git", "rebase", "-q", pr.BaseBranch, "head_repo/"+pr.HeadBranch); err != nil {
|
||||
return fmt.Errorf("git rebase [%s -> %s]: %s", headRepoPath, tmpBasePath, stderr)
|
||||
"git", "rebase", "--quiet", pr.BaseBranch, remoteHeadBranch); err != nil {
|
||||
return fmt.Errorf("git rebase [%s on %s]: %s", remoteHeadBranch, pr.BaseBranch, stderr)
|
||||
}
|
||||
|
||||
// Name non-branch commit state to a new temporary branch in order to save changes.
|
||||
tmpBranch := com.ToStr(time.Now().UnixNano(), 10)
|
||||
if _, stderr, err = process.ExecDir(-1, tmpBasePath,
|
||||
fmt.Sprintf("PullRequest.Merge (git checkout): %s", tmpBasePath),
|
||||
"git", "checkout", "-b", tmpBranch); err != nil {
|
||||
return fmt.Errorf("git checkout '%s': %s", tmpBranch, stderr)
|
||||
}
|
||||
|
||||
// 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 temporary branch to the base branch.
|
||||
if _, stderr, err = process.ExecDir(-1, tmpBasePath,
|
||||
fmt.Sprintf("PullRequest.Merge (git merge): %s", tmpBasePath),
|
||||
"git", "merge", tmpBranch); err != nil {
|
||||
return fmt.Errorf("git merge [%s]: %v - %s", tmpBasePath, err, stderr)
|
||||
}
|
||||
|
||||
default:
|
||||
return fmt.Errorf("unknown merge style: %s", mergeStyle)
|
||||
}
|
||||
|
||||
// Push back to upstream.
|
||||
// Push changes on base branch to upstream.
|
||||
if _, stderr, err = process.ExecDir(-1, tmpBasePath,
|
||||
fmt.Sprintf("PullRequest.Merge (git push): %s", tmpBasePath),
|
||||
"git", "push", "head_repo", "HEAD:"+pr.BaseBranch); err != nil {
|
||||
"git", "push", baseGitRepo.Path, pr.BaseBranch); err != nil {
|
||||
return fmt.Errorf("git push: %s", stderr)
|
||||
}
|
||||
|
||||
|
||||
@@ -287,7 +287,7 @@ func (repo *Repository) HTMLURL() string {
|
||||
// This method assumes following fields have been assigned with valid values:
|
||||
// Required - BaseRepo (if fork)
|
||||
// Arguments that are allowed to be nil: permission
|
||||
func (repo *Repository) APIFormat(permission *api.Permission) *api.Repository {
|
||||
func (repo *Repository) APIFormat(permission *api.Permission, user ...*User) *api.Repository {
|
||||
cloneLink := repo.CloneLink()
|
||||
apiRepo := &api.Repository{
|
||||
ID: repo.ID,
|
||||
@@ -314,8 +314,12 @@ func (repo *Repository) APIFormat(permission *api.Permission) *api.Repository {
|
||||
Permissions: permission,
|
||||
}
|
||||
if repo.IsFork {
|
||||
// FIXME: check precise permission for base repository
|
||||
apiRepo.Parent = repo.BaseRepo.APIFormat(nil)
|
||||
p := &api.Permission{Pull: true}
|
||||
if len(user) != 0 {
|
||||
p.Admin = user[0].IsAdminOfRepo(repo)
|
||||
p.Push = user[0].IsWriterOfRepo(repo)
|
||||
}
|
||||
apiRepo.Parent = repo.BaseRepo.APIFormat(p)
|
||||
}
|
||||
return apiRepo
|
||||
}
|
||||
@@ -2335,7 +2339,14 @@ func ForkRepository(doer, owner *User, baseRepo *Repository, name, desc string)
|
||||
|
||||
func (repo *Repository) GetForks() ([]*Repository, error) {
|
||||
forks := make([]*Repository, 0, repo.NumForks)
|
||||
return forks, x.Find(&forks, &Repository{ForkID: repo.ID})
|
||||
if err := x.Find(&forks, &Repository{ForkID: repo.ID}); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
for _, fork := range forks {
|
||||
fork.BaseRepo = repo
|
||||
}
|
||||
return forks, nil
|
||||
}
|
||||
|
||||
// __________ .__
|
||||
|
||||
@@ -11,6 +11,7 @@ import (
|
||||
"github.com/Unknwon/com"
|
||||
"github.com/gogits/git-module"
|
||||
|
||||
"github.com/gogits/gogs/models/errors"
|
||||
"github.com/gogits/gogs/pkg/tool"
|
||||
)
|
||||
|
||||
@@ -45,7 +46,7 @@ func GetBranchesByPath(path string) ([]*Branch, error) {
|
||||
|
||||
func (repo *Repository) GetBranch(br string) (*Branch, error) {
|
||||
if !git.IsBranchExist(repo.RepoPath(), br) {
|
||||
return nil, ErrBranchNotExist{br}
|
||||
return nil, errors.ErrBranchNotExist{br}
|
||||
}
|
||||
return &Branch{
|
||||
RepoPath: repo.RepoPath(),
|
||||
@@ -101,7 +102,7 @@ func GetProtectBranchOfRepoByName(repoID int64, name string) (*ProtectBranch, er
|
||||
if err != nil {
|
||||
return nil, err
|
||||
} else if !has {
|
||||
return nil, ErrBranchNotExist{name}
|
||||
return nil, errors.ErrBranchNotExist{name}
|
||||
}
|
||||
return protectBranch, nil
|
||||
}
|
||||
@@ -252,5 +253,5 @@ func UpdateOrgProtectBranch(repo *Repository, protectBranch *ProtectBranch, whit
|
||||
// GetProtectBranchesByRepoID returns a list of *ProtectBranch in given repostiory.
|
||||
func GetProtectBranchesByRepoID(repoID int64) ([]*ProtectBranch, error) {
|
||||
protectBranches := make([]*ProtectBranch, 0, 2)
|
||||
return protectBranches, x.Where("repo_id = ?", repoID).Asc("name").Find(&protectBranches)
|
||||
return protectBranches, x.Where("repo_id = ? and protected = ?", repoID, true).Asc("name").Find(&protectBranches)
|
||||
}
|
||||
|
||||
@@ -512,16 +512,18 @@ func DeletePublicKey(doer *User, id int64) (err error) {
|
||||
return err
|
||||
}
|
||||
|
||||
return RewriteAllPublicKeys()
|
||||
return RewriteAuthorizedKeys()
|
||||
}
|
||||
|
||||
// RewriteAllPublicKeys removes any authorized key and rewrite all keys from database again.
|
||||
// RewriteAuthorizedKeys removes any authorized key and rewrite all keys from database again.
|
||||
// Note: x.Iterate does not get latest data after insert/delete, so we have to call this function
|
||||
// outsite any session scope independently.
|
||||
func RewriteAllPublicKeys() error {
|
||||
func RewriteAuthorizedKeys() error {
|
||||
sshOpLocker.Lock()
|
||||
defer sshOpLocker.Unlock()
|
||||
|
||||
log.Trace("Doing: RewriteAuthorizedKeys")
|
||||
|
||||
os.MkdirAll(setting.SSH.RootPath, os.ModePerm)
|
||||
fpath := filepath.Join(setting.SSH.RootPath, "authorized_keys")
|
||||
tmpPath := fpath + ".tmp"
|
||||
|
||||
@@ -853,7 +853,7 @@ func DeleteUser(u *User) (err error) {
|
||||
return err
|
||||
}
|
||||
|
||||
return RewriteAllPublicKeys()
|
||||
return RewriteAuthorizedKeys()
|
||||
}
|
||||
|
||||
// DeleteInactivateUsers deletes all inactivate users and email addresses.
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -244,7 +244,7 @@ func Contexter() macaron.Handler {
|
||||
}
|
||||
|
||||
prefix := setting.AppURL + path.Join(ownerName, repoName, "src", branchName)
|
||||
c.PlainText(http.StatusOK, []byte(com.Expand(`
|
||||
c.PlainText(http.StatusOK, []byte(com.Expand(`<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta name="go-import" content="{GoGetImport} git {CloneLink}">
|
||||
|
||||
@@ -34,7 +34,7 @@ func NewMessageFrom(to []string, from, subject, htmlBody string) *Message {
|
||||
msg := gomail.NewMessage()
|
||||
msg.SetHeader("From", from)
|
||||
msg.SetHeader("To", to...)
|
||||
msg.SetHeader("Subject", subject)
|
||||
msg.SetHeader("Subject", setting.MailService.SubjectPrefix+subject)
|
||||
msg.SetDateHeader("Date", time.Now())
|
||||
|
||||
contentType := "text/html"
|
||||
|
||||
@@ -82,18 +82,19 @@ var (
|
||||
}
|
||||
|
||||
SSH struct {
|
||||
Disabled bool `ini:"DISABLE_SSH"`
|
||||
StartBuiltinServer bool `ini:"START_SSH_SERVER"`
|
||||
Domain string `ini:"SSH_DOMAIN"`
|
||||
Port int `ini:"SSH_PORT"`
|
||||
ListenHost string `ini:"SSH_LISTEN_HOST"`
|
||||
ListenPort int `ini:"SSH_LISTEN_PORT"`
|
||||
RootPath string `ini:"SSH_ROOT_PATH"`
|
||||
ServerCiphers []string `ini:"SSH_SERVER_CIPHERS"`
|
||||
KeyTestPath string `ini:"SSH_KEY_TEST_PATH"`
|
||||
KeygenPath string `ini:"SSH_KEYGEN_PATH"`
|
||||
MinimumKeySizeCheck bool `ini:"MINIMUM_KEY_SIZE_CHECK"`
|
||||
MinimumKeySizes map[string]int `ini:"-"`
|
||||
Disabled bool `ini:"DISABLE_SSH"`
|
||||
StartBuiltinServer bool `ini:"START_SSH_SERVER"`
|
||||
Domain string `ini:"SSH_DOMAIN"`
|
||||
Port int `ini:"SSH_PORT"`
|
||||
ListenHost string `ini:"SSH_LISTEN_HOST"`
|
||||
ListenPort int `ini:"SSH_LISTEN_PORT"`
|
||||
RootPath string `ini:"SSH_ROOT_PATH"`
|
||||
RewriteAuthorizedKeysAtStart bool `ini:"REWRITE_AUTHORIZED_KEYS_AT_START"`
|
||||
ServerCiphers []string `ini:"SSH_SERVER_CIPHERS"`
|
||||
KeyTestPath string `ini:"SSH_KEY_TEST_PATH"`
|
||||
KeygenPath string `ini:"SSH_KEYGEN_PATH"`
|
||||
MinimumKeySizeCheck bool `ini:"MINIMUM_KEY_SIZE_CHECK"`
|
||||
MinimumKeySizes map[string]int `ini:"-"`
|
||||
}
|
||||
|
||||
// Security settings
|
||||
@@ -486,6 +487,7 @@ func NewContext() {
|
||||
}
|
||||
|
||||
SSH.RootPath = path.Join(homeDir, ".ssh")
|
||||
SSH.RewriteAuthorizedKeysAtStart = sec.Key("REWRITE_AUTHORIZED_KEYS_AT_START").MustBool()
|
||||
SSH.ServerCiphers = sec.Key("SSH_SERVER_CIPHERS").Strings(",")
|
||||
SSH.KeyTestPath = os.TempDir()
|
||||
if err = Cfg.Section("server").MapTo(&SSH); err != nil {
|
||||
@@ -504,6 +506,10 @@ func NewContext() {
|
||||
}
|
||||
}
|
||||
|
||||
if SSH.StartBuiltinServer {
|
||||
SSH.RewriteAuthorizedKeysAtStart = false
|
||||
}
|
||||
|
||||
// Check if server is eligible for minimum key size check when user choose to enable.
|
||||
// Windows server and OpenSSH version lower than 5.1 (https://github.com/gogits/gogs/issues/4507)
|
||||
// are forced to be disabled because the "ssh-keygen" in Windows does not print key type.
|
||||
@@ -815,7 +821,7 @@ func newSessionService() {
|
||||
// Mailer represents mail service.
|
||||
type Mailer struct {
|
||||
QueueLength int
|
||||
Subject string
|
||||
SubjectPrefix string
|
||||
Host string
|
||||
From string
|
||||
FromEmail string
|
||||
@@ -842,7 +848,7 @@ func newMailService() {
|
||||
|
||||
MailService = &Mailer{
|
||||
QueueLength: sec.Key("SEND_BUFFER_LEN").MustInt(100),
|
||||
Subject: sec.Key("SUBJECT").MustString(AppName),
|
||||
SubjectPrefix: sec.Key("SUBJECT_PREFIX").MustString("[" + AppName + "] "),
|
||||
Host: sec.Key("HOST").String(),
|
||||
User: sec.Key("USER").String(),
|
||||
Passwd: sec.Key("PASSWD").String(),
|
||||
|
||||
@@ -199,7 +199,7 @@ func AvatarLink(email string) (url string) {
|
||||
}
|
||||
}
|
||||
if len(url) == 0 && !setting.DisableGravatar {
|
||||
url = setting.GravatarSource + HashEmail(email)
|
||||
url = setting.GravatarSource + HashEmail(email) + "?d=identicon"
|
||||
}
|
||||
if len(url) == 0 {
|
||||
url = setting.AppSubURL + "/img/avatar_default.png"
|
||||
|
||||
@@ -66,9 +66,9 @@
|
||||
<td><a href="https://github.com/chjj/marked/archive/v0.3.6.tar.gz">marked-0.3.6.tar.gz</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="/plugins/notebookjs-0.2.6/notebook.min.js">notebook.min.js</a></td>
|
||||
<td><a href="/plugins/notebookjs-0.3.0/notebook.min.js">notebook.min.js</a></td>
|
||||
<td><a href="https://github.com/jsvine/notebookjs/blob/master/LICENSE.txt">Expat</a></td>
|
||||
<td><a href="https://github.com/jsvine/notebookjs/archive/v0.2.6.tar.gz">notebookjs-0.2.6.tar.gz</a></td>
|
||||
<td><a href="https://github.com/jsvine/notebookjs/archive/v0.3.0.tar.gz">notebookjs-0.3.0.tar.gz</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
|
||||
@@ -108,6 +108,9 @@ code.wrap {
|
||||
.following.bar .avatar > .ui.image {
|
||||
margin-right: 0;
|
||||
}
|
||||
.following.bar .avatar .octicon-triangle-down {
|
||||
margin-top: 6.5px;
|
||||
}
|
||||
.following.bar .searchbox {
|
||||
background-color: #f4f4f4 !important;
|
||||
}
|
||||
@@ -439,6 +442,14 @@ footer .ui.language .menu {
|
||||
background: inherit !important;
|
||||
padding: 0 !important;
|
||||
}
|
||||
.ui.dropdown .menu > .item > .image,
|
||||
.ui.dropdown .menu > .item > img,
|
||||
.ui.dropdown > .text > .image,
|
||||
.ui.dropdown > .text > img {
|
||||
vertical-align: middle;
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.markdown:not(code) {
|
||||
overflow: hidden;
|
||||
font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif;
|
||||
|
||||
@@ -98,6 +98,9 @@ pre, code {
|
||||
.avatar > .ui.image {
|
||||
margin-right: 0;
|
||||
}
|
||||
.avatar .octicon-triangle-down {
|
||||
margin-top: 6.5px;
|
||||
}
|
||||
.searchbox {
|
||||
background-color: rgb(244, 244, 244) !important;
|
||||
&:focus {
|
||||
@@ -425,3 +428,13 @@ footer {
|
||||
background: inherit !important;
|
||||
padding: 0 !important;
|
||||
}
|
||||
|
||||
// Reset CSS to prevent UI breaks
|
||||
.ui.dropdown .menu>.item>.image,
|
||||
.ui.dropdown .menu>.item>img,
|
||||
.ui.dropdown>.text>.image,
|
||||
.ui.dropdown>.text>img {
|
||||
vertical-align: middle;
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
1
public/plugins/notebookjs-0.3.0/notebook.min.js
vendored
Executable file
1
public/plugins/notebookjs-0.3.0/notebook.min.js
vendored
Executable file
File diff suppressed because one or more lines are too long
@@ -151,7 +151,7 @@ func Dashboard(c *context.Context) {
|
||||
err = models.GitGcRepos()
|
||||
case SYNC_SSH_AUTHORIZED_KEY:
|
||||
success = c.Tr("admin.dashboard.resync_all_sshkeys_success")
|
||||
err = models.RewriteAllPublicKeys()
|
||||
err = models.RewriteAuthorizedKeys()
|
||||
case SYNC_REPOSITORY_HOOKS:
|
||||
success = c.Tr("admin.dashboard.resync_all_hooks_success")
|
||||
err = models.SyncRepositoryHooks()
|
||||
|
||||
@@ -7,7 +7,7 @@ package repo
|
||||
import (
|
||||
api "github.com/gogits/go-gogs-client"
|
||||
|
||||
"github.com/gogits/gogs/models"
|
||||
"github.com/gogits/gogs/models/errors"
|
||||
"github.com/gogits/gogs/pkg/context"
|
||||
"github.com/gogits/gogs/routes/api/v1/convert"
|
||||
)
|
||||
@@ -16,7 +16,7 @@ import (
|
||||
func GetBranch(c *context.APIContext) {
|
||||
branch, err := c.Repo.Repository.GetBranch(c.Params("*"))
|
||||
if err != nil {
|
||||
if models.IsErrBranchNotExist(err) {
|
||||
if errors.IsErrBranchNotExist(err) {
|
||||
c.Error(404, "GetBranch", err)
|
||||
} else {
|
||||
c.Error(500, "GetBranch", err)
|
||||
|
||||
@@ -84,11 +84,21 @@ func GlobalInit() {
|
||||
}
|
||||
checkRunMode()
|
||||
|
||||
if setting.InstallLock && setting.SSH.StartBuiltinServer {
|
||||
if !setting.InstallLock {
|
||||
return
|
||||
}
|
||||
|
||||
if setting.SSH.StartBuiltinServer {
|
||||
ssh.Listen(setting.SSH.ListenHost, setting.SSH.ListenPort, setting.SSH.ServerCiphers)
|
||||
log.Info("SSH server started on %s:%v", setting.SSH.ListenHost, setting.SSH.ListenPort)
|
||||
log.Trace("SSH server cipher list: %v", setting.SSH.ServerCiphers)
|
||||
}
|
||||
|
||||
if setting.SSH.RewriteAuthorizedKeysAtStart {
|
||||
if err := models.RewriteAuthorizedKeys(); err != nil {
|
||||
log.Warn("Failed to rewrite authorized_keys file: %v", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func InstallInit(c *context.Context) {
|
||||
|
||||
@@ -45,6 +45,7 @@ func RenderIssueLinks(oldCommits *list.List, repoLink string) *list.List {
|
||||
func renderCommits(c *context.Context, filename string) {
|
||||
c.Data["Title"] = c.Tr("repo.commits.commit_history") + " · " + c.Repo.Repository.FullName()
|
||||
c.Data["PageIsCommits"] = true
|
||||
c.Data["FileName"] = filename
|
||||
|
||||
page := c.QueryInt("page")
|
||||
if page < 1 {
|
||||
|
||||
@@ -56,6 +56,18 @@ func askCredentials(c *context.Context, status int, text string) {
|
||||
|
||||
func HTTPContexter() macaron.Handler {
|
||||
return func(c *context.Context) {
|
||||
if len(setting.HTTP.AccessControlAllowOrigin) > 0 {
|
||||
// Set CORS headers for browser-based git clients
|
||||
c.Resp.Header().Set("Access-Control-Allow-Origin", setting.HTTP.AccessControlAllowOrigin)
|
||||
c.Resp.Header().Set("Access-Control-Allow-Headers", "Content-Type, Authorization")
|
||||
|
||||
// Handle preflight OPTIONS request
|
||||
if c.Req.Method == "OPTIONS" {
|
||||
c.Status(http.StatusOK)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
ownerName := c.Params(":username")
|
||||
repoName := strings.TrimSuffix(c.Params(":reponame"), ".git")
|
||||
repoName = strings.TrimSuffix(repoName, ".wiki")
|
||||
|
||||
@@ -642,8 +642,20 @@ func viewIssue(c *context.Context, isPullList bool) {
|
||||
|
||||
if issue.IsPull && issue.PullRequest.HasMerged {
|
||||
pull := issue.PullRequest
|
||||
branchProtected := false
|
||||
protectBranch, err := models.GetProtectBranchOfRepoByName(pull.BaseRepoID, pull.HeadBranch)
|
||||
if err != nil {
|
||||
if !errors.IsErrBranchNotExist(err) {
|
||||
c.ServerError("GetProtectBranchOfRepoByName", err)
|
||||
return
|
||||
}
|
||||
} else {
|
||||
branchProtected = protectBranch.Protected
|
||||
}
|
||||
|
||||
c.Data["IsPullBranchDeletable"] = pull.BaseRepoID == pull.HeadRepoID &&
|
||||
c.Repo.IsWriter() && c.Repo.GitRepo.IsBranchExist(pull.HeadBranch)
|
||||
c.Repo.IsWriter() && c.Repo.GitRepo.IsBranchExist(pull.HeadBranch) &&
|
||||
!branchProtected
|
||||
|
||||
deleteBranchUrl := c.Repo.RepoLink + "/branches/delete/" + pull.HeadBranch
|
||||
c.Data["DeleteBranchLink"] = fmt.Sprintf("%s?commit=%s&redirect_to=%s", deleteBranchUrl, pull.MergedCommitID, c.Data["Link"])
|
||||
|
||||
@@ -433,7 +433,7 @@ func SettingsProtectedBranch(c *context.Context) {
|
||||
|
||||
protectBranch, err := models.GetProtectBranchOfRepoByName(c.Repo.Repository.ID, branch)
|
||||
if err != nil {
|
||||
if !models.IsErrBranchNotExist(err) {
|
||||
if !errors.IsErrBranchNotExist(err) {
|
||||
c.Handle(500, "GetProtectBranchOfRepoByName", err)
|
||||
return
|
||||
}
|
||||
@@ -475,7 +475,7 @@ func SettingsProtectedBranchPost(c *context.Context, f form.ProtectBranch) {
|
||||
|
||||
protectBranch, err := models.GetProtectBranchOfRepoByName(c.Repo.Repository.ID, branch)
|
||||
if err != nil {
|
||||
if !models.IsErrBranchNotExist(err) {
|
||||
if !errors.IsErrBranchNotExist(err) {
|
||||
c.Handle(500, "GetProtectBranchOfRepoByName", err)
|
||||
return
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
outPlattform=freebsd
|
||||
outArch=amd64
|
||||
outPath=./output_$outPlattform_$outArch
|
||||
outPath=./output_${outPlattform}_$outArch
|
||||
|
||||
rm -rf $outPath
|
||||
mkdir $outPath
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
outPlattform=linux
|
||||
outArch=amd64
|
||||
outPath=./output_$outPlattform_$outArch
|
||||
outPath=./output_${outPlattform}_$outArch
|
||||
|
||||
rm -rf $outPath
|
||||
mkdir $outPath
|
||||
|
||||
@@ -1,2 +1,5 @@
|
||||
SET GLOBAL innodb_file_per_table = ON,
|
||||
innodb_file_format = Barracuda,
|
||||
innodb_large_prefix = ON;
|
||||
DROP DATABASE IF EXISTS gogs;
|
||||
CREATE DATABASE IF NOT EXISTS gogs CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
@@ -1 +1 @@
|
||||
0.11.33.1119
|
||||
0.11.43.0330
|
||||
@@ -61,6 +61,8 @@
|
||||
{{if not .SSH.StartBuiltinServer}}
|
||||
<dt>{{.i18n.Tr "admin.config.ssh_root_path"}}</dt>
|
||||
<dd>{{.SSH.RootPath}}</dd>
|
||||
<dt>{{.i18n.Tr "admin.config.ssh_rewrite_authorized_keys_at_start"}}</dt>
|
||||
<dd><i class="fa fa{{if .SSH.RewriteAuthorizedKeysAtStart}}-check{{end}}-square-o"></i></dd>
|
||||
<dt>{{.i18n.Tr "admin.config.ssh_key_test_path"}}</dt>
|
||||
<dd>{{.SSH.KeyTestPath}}</dd>
|
||||
<dt>{{.i18n.Tr "admin.config.ssh_keygen_path"}}</dt>
|
||||
@@ -188,8 +190,8 @@
|
||||
<dt>{{.i18n.Tr "admin.config.mailer_enabled"}}</dt>
|
||||
<dd><i class="fa fa{{if .MailerEnabled}}-check{{end}}-square-o"></i></dd>
|
||||
{{if .MailerEnabled}}
|
||||
<dt>{{.i18n.Tr "admin.config.mailer_name"}}</dt>
|
||||
<dd>{{.Mailer.Subject}}</dd>
|
||||
<dt>{{.i18n.Tr "admin.config.mailer_subject_prefix"}}</dt>
|
||||
<dd><code>{{.Mailer.SubjectPrefix}}</code></dd>
|
||||
<dt>{{.i18n.Tr "admin.config.mailer_disable_helo"}}</dt>
|
||||
<dd><i class="fa fa{{if .Mailer.DisableHelo}}-check{{end}}-square-o"></i></dd>
|
||||
<dt>{{.i18n.Tr "admin.config.mailer_host"}}</dt>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<footer>
|
||||
<div class="ui container">
|
||||
<div class="ui left">
|
||||
© 2017 Gogs {{if (or .ShowFooterVersion .PageIsAdmin)}}{{.i18n.Tr "version"}}: {{AppVer}}{{end}} {{if ShowFooterTemplateLoadTime}}{{.i18n.Tr "page"}}: <strong>{{LoadTimes .PageStartTime}}</strong> {{.i18n.Tr "template"}}: <strong>{{call .TmplLoadTimes}}</strong>{{end}}
|
||||
© 2018 Gogs {{if (or .ShowFooterVersion .PageIsAdmin)}}{{.i18n.Tr "version"}}: {{AppVer}}{{end}} {{if ShowFooterTemplateLoadTime}}{{.i18n.Tr "page"}}: <strong>{{LoadTimes .PageStartTime}}</strong> {{.i18n.Tr "template"}}: <strong>{{call .TmplLoadTimes}}</strong>{{end}}
|
||||
</div>
|
||||
<div class="ui right links">
|
||||
{{if .ShowFooterBranding}}
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
|
||||
<!-- notebook.js for rendering ipython notebooks and marked.js for rendering markdown in notebooks -->
|
||||
{{if .IsIPythonNotebook}}
|
||||
<script src="{{AppSubURL}}/plugins/notebookjs-0.2.6/notebook.min.js"></script>
|
||||
<script src="{{AppSubURL}}/plugins/notebookjs-0.3.0/notebook.min.js"></script>
|
||||
<script src="{{AppSubURL}}/plugins/marked-0.3.6/marked.min.js"></script>
|
||||
{{end}}
|
||||
|
||||
@@ -61,6 +61,12 @@
|
||||
<!-- Stylesheet -->
|
||||
<link rel="stylesheet" href="{{AppSubURL}}/css/semantic-2.2.13.min.css">
|
||||
<link rel="stylesheet" href="{{AppSubURL}}/css/gogs.css?v={{MD5 AppVer}}">
|
||||
<noscript>
|
||||
<style>
|
||||
.dropdown:hover > .menu { display: block; }
|
||||
.ui.secondary.menu .dropdown.item > .menu { margin-top: 0; }
|
||||
</style>
|
||||
</noscript>
|
||||
|
||||
<!-- JavaScript -->
|
||||
<script src="{{AppSubURL}}/js/semantic-2.2.13.min.js"></script>
|
||||
@@ -74,7 +80,7 @@
|
||||
</head>
|
||||
<body>
|
||||
<div class="full height">
|
||||
<noscript>Please enable JavaScript in your browser!</noscript>
|
||||
<noscript>This website works better with JavaScript</noscript>
|
||||
|
||||
{{if not .PageIsInstall}}
|
||||
<div class="following bar light">
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<div class="ui grid">
|
||||
<div class="sixteen wide column content">
|
||||
{{template "base/alert" .}}
|
||||
{{if .IsRepositoryAdmin}}
|
||||
{{if .IsRepositoryWriter}}
|
||||
<h4 class="ui top attached header">
|
||||
{{.i18n.Tr "repo.quick_guide"}}
|
||||
</h4>
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
{{range .Branches}}
|
||||
<div class="item ui grid">
|
||||
<div class="ui eleven wide column">
|
||||
{{if .IsProtected}}<i class="octicon octicon-shield"></i> {{end}}<a class="markdown" href="{{$.RepoLink}}/src/{{.Name}}"><code>{{.Name}}</code></a>
|
||||
{{if .IsProtected}}<i class="octicon octicon-shield"></i> {{end}}<a class="markdown" href="{{$.RepoLink}}/src/{{EscapePound .Name}}"><code>{{.Name}}</code></a>
|
||||
{{$timeSince := TimeSince .Commit.Committer.When $.Lang}}
|
||||
<span class="ui text light grey">{{$.i18n.Tr "repo.branches.updated_by" $timeSince .Commit.Committer.Name | Safe}}</span>
|
||||
</div>
|
||||
@@ -20,7 +20,7 @@
|
||||
{{if and (and (eq $.BranchName .Name) $.IsRepositoryAdmin) (not $.Repository.IsMirror)}}
|
||||
<a class="ui basic blue button" href="{{$.RepoLink}}/settings/branches">{{$.i18n.Tr "repo.branches.change_default_branch"}}</a>
|
||||
{{else if and $.IsRepositoryWriter $.AllowPullRequest}}
|
||||
<a class="ui basic button" href="{{$.RepoLink}}/compare/{{$.BranchName}}...{{.Name}}"><i class="octicon octicon-git-pull-request"></i> {{$.i18n.Tr "repo.pulls.new"}}</a>
|
||||
<a class="ui basic button" href="{{$.RepoLink}}/compare/{{EscapePound $.BranchName}}...{{EscapePound .Name}}"><i class="octicon octicon-git-pull-request"></i> {{$.i18n.Tr "repo.pulls.new"}}</a>
|
||||
{{end}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
<div class="ui attached segment list">
|
||||
<div class="item ui grid">
|
||||
<div class="ui eleven wide column">
|
||||
{{if .DefaultBranch.IsProtected}}<i class="octicon octicon-shield"></i> {{end}}<a class="markdown" href="{{$.RepoLink}}/src/{{.DefaultBranch.Name}}"><code>{{.DefaultBranch.Name}}</code></a>
|
||||
{{if .DefaultBranch.IsProtected}}<i class="octicon octicon-shield"></i> {{end}}<a class="markdown" href="{{$.RepoLink}}/src/{{EscapePound .DefaultBranch.Name}}"><code>{{.DefaultBranch.Name}}</code></a>
|
||||
{{$timeSince := TimeSince .DefaultBranch.Commit.Committer.When $.Lang}}
|
||||
<span class="ui text light grey">{{$.i18n.Tr "repo.branches.updated_by" $timeSince .DefaultBranch.Commit.Committer.Name | Safe}}</span>
|
||||
</div>
|
||||
@@ -31,13 +31,13 @@
|
||||
{{range .ActiveBranches}}
|
||||
<div class="item ui grid">
|
||||
<div class="ui eleven wide column">
|
||||
{{if .IsProtected}}<i class="octicon octicon-shield"></i> {{end}}<a class="markdown" href="{{$.RepoLink}}/src/{{.Name}}"><code>{{.Name}}</code></a>
|
||||
{{if .IsProtected}}<i class="octicon octicon-shield"></i> {{end}}<a class="markdown" href="{{$.RepoLink}}/src/{{EscapePound .Name}}"><code>{{.Name}}</code></a>
|
||||
{{$timeSince := TimeSince .Commit.Committer.When $.Lang}}
|
||||
<span class="ui text light grey">{{$.i18n.Tr "repo.branches.updated_by" $timeSince .Commit.Committer.Name | Safe}}</span>
|
||||
</div>
|
||||
{{if and $.IsRepositoryWriter $.AllowPullRequest}}
|
||||
<div class="ui four wide column">
|
||||
<a class="ui basic button" href="{{$.RepoLink}}/compare/{{$.BranchName}}...{{.Name}}"><i class="octicon octicon-git-pull-request"></i> {{$.i18n.Tr "repo.pulls.new"}}</a>
|
||||
<a class="ui basic button" href="{{$.RepoLink}}/compare/{{EscapePound $.BranchName}}...{{EscapePound .Name}}"><i class="octicon octicon-git-pull-request"></i> {{$.i18n.Tr "repo.pulls.new"}}</a>
|
||||
</div>
|
||||
{{end}}
|
||||
</div>
|
||||
@@ -53,13 +53,13 @@
|
||||
{{range .StaleBranches}}
|
||||
<div class="item ui grid">
|
||||
<div class="ui eleven wide column">
|
||||
{{if .IsProtected}}<i class="octicon octicon-shield"></i> {{end}}<a class="markdown" href="{{$.RepoLink}}/src/{{.Name}}"><code>{{.Name}}</code></a>
|
||||
{{if .IsProtected}}<i class="octicon octicon-shield"></i> {{end}}<a class="markdown" href="{{$.RepoLink}}/src/{{EscapePound .Name}}"><code>{{.Name}}</code></a>
|
||||
{{$timeSince := TimeSince .Commit.Committer.When $.Lang}}
|
||||
<span class="ui text light grey">{{$.i18n.Tr "repo.branches.updated_by" $timeSince .Commit.Committer.Name | Safe}}</span>
|
||||
</div>
|
||||
{{if and $.IsRepositoryWriter $.AllowPullRequest}}
|
||||
<div class="ui four wide column">
|
||||
<a class="ui basic button" href="{{$.RepoLink}}/compare/{{$.BranchName}}...{{.Name}}"><i class="octicon octicon-git-pull-request"></i> {{$.i18n.Tr "repo.pulls.new"}}</a>
|
||||
<a class="ui basic button" href="{{$.RepoLink}}/compare/{{EscapePound $.BranchName}}...{{EscapePound .Name}}"><i class="octicon octicon-git-pull-request"></i> {{$.i18n.Tr "repo.pulls.new"}}</a>
|
||||
</div>
|
||||
{{end}}
|
||||
</div>
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
<i class="dropdown icon"></i>
|
||||
<div class="menu">
|
||||
{{range .Branches}}
|
||||
<div class="item" data-url="{{$.Link}}/{{.}}">{{.}}</div>
|
||||
<div class="item" data-url="{{$.Link}}/{{EscapePound .}}">{{.}}</div>
|
||||
{{end}}
|
||||
</div>
|
||||
</div>
|
||||
@@ -50,7 +50,7 @@
|
||||
<div class="ui protected-branches list">
|
||||
{{range .ProtectBranches}}
|
||||
<div class="item">
|
||||
<a href="{{$.Link}}/{{.}}"><code>{{.}}</code></a>
|
||||
<a href="{{$.Link}}/{{EscapePound .}}"><code>{{.}}</code></a>
|
||||
</div>
|
||||
{{end}}
|
||||
</div>
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
</div>
|
||||
<div class="required inline field {{if .Err_Password}}error{{end}}">
|
||||
<label for="password">{{.i18n.Tr "password"}}</label>
|
||||
<input id="password" name="password" type="password" value="{{.password}}" required>
|
||||
<input id="password" name="password" type="password" autocomplete="off" value="{{.password}}" required>
|
||||
</div>
|
||||
<div class="inline field">
|
||||
<label></label>
|
||||
|
||||
@@ -73,6 +73,14 @@
|
||||
{{if .NumComments}}
|
||||
<span class="comment ui right"><i class="octicon octicon-comment"></i> {{.NumComments}}</span>
|
||||
{{end}}
|
||||
|
||||
<div>
|
||||
<span class="ui right">
|
||||
{{range .Labels}}
|
||||
<a class="ui label" style="color: {{.ForegroundColor}}; background-color: {{.Color}}">{{.Name | Sanitize}}</a>
|
||||
{{end}}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<p class="desc">
|
||||
{{$.i18n.Tr "repo.issues.opened_by" $timeStr .Poster.HomeLink .Poster.Name | Safe}}
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
{{if not .IsPrimary}}
|
||||
<div class="ui right">
|
||||
<button class="ui red tiny basic button delete-button" data-url="{{$.Link}}/delete" data-id="{{.ID}}">
|
||||
{{$.i18n.Tr "settings.delete_key"}}
|
||||
{{$.i18n.Tr "settings.delete_email"}}
|
||||
</button>
|
||||
</div>
|
||||
{{if .IsActivated}}
|
||||
|
||||
10
vendor/github.com/go-xorm/core/cache.go
generated
vendored
10
vendor/github.com/go-xorm/core/cache.go
generated
vendored
@@ -1,11 +1,12 @@
|
||||
package core
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"time"
|
||||
"bytes"
|
||||
"encoding/gob"
|
||||
"errors"
|
||||
"fmt"
|
||||
"strings"
|
||||
"time"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -55,11 +56,10 @@ func encodeIds(ids []PK) (string, error) {
|
||||
return buf.String(), err
|
||||
}
|
||||
|
||||
|
||||
func decodeIds(s string) ([]PK, error) {
|
||||
pks := make([]PK, 0)
|
||||
|
||||
dec := gob.NewDecoder(bytes.NewBufferString(s))
|
||||
dec := gob.NewDecoder(strings.NewReader(s))
|
||||
err := dec.Decode(&pks)
|
||||
|
||||
return pks, err
|
||||
|
||||
3
vendor/github.com/go-xorm/core/circle.yml
generated
vendored
3
vendor/github.com/go-xorm/core/circle.yml
generated
vendored
@@ -11,4 +11,5 @@ database:
|
||||
test:
|
||||
override:
|
||||
# './...' is a relative pattern which means all subdirectories
|
||||
- go test -v -race
|
||||
- go test -v -race
|
||||
- go test -v -race --dbtype=sqlite3
|
||||
|
||||
19
vendor/github.com/go-xorm/core/column.go
generated
vendored
19
vendor/github.com/go-xorm/core/column.go
generated
vendored
@@ -13,12 +13,13 @@ const (
|
||||
ONLYFROMDB
|
||||
)
|
||||
|
||||
// database column
|
||||
// Column defines database column
|
||||
type Column struct {
|
||||
Name string
|
||||
TableName string
|
||||
FieldName string
|
||||
SQLType SQLType
|
||||
IsJSON bool
|
||||
Length int
|
||||
Length2 int
|
||||
Nullable bool
|
||||
@@ -78,6 +79,10 @@ func (col *Column) String(d Dialect) string {
|
||||
}
|
||||
}
|
||||
|
||||
if col.Default != "" {
|
||||
sql += "DEFAULT " + col.Default + " "
|
||||
}
|
||||
|
||||
if d.ShowCreateNull() {
|
||||
if col.Nullable {
|
||||
sql += "NULL "
|
||||
@@ -86,10 +91,6 @@ func (col *Column) String(d Dialect) string {
|
||||
}
|
||||
}
|
||||
|
||||
if col.Default != "" {
|
||||
sql += "DEFAULT " + col.Default + " "
|
||||
}
|
||||
|
||||
return sql
|
||||
}
|
||||
|
||||
@@ -98,6 +99,10 @@ func (col *Column) StringNoPk(d Dialect) string {
|
||||
|
||||
sql += d.SqlType(col) + " "
|
||||
|
||||
if col.Default != "" {
|
||||
sql += "DEFAULT " + col.Default + " "
|
||||
}
|
||||
|
||||
if d.ShowCreateNull() {
|
||||
if col.Nullable {
|
||||
sql += "NULL "
|
||||
@@ -106,10 +111,6 @@ func (col *Column) StringNoPk(d Dialect) string {
|
||||
}
|
||||
}
|
||||
|
||||
if col.Default != "" {
|
||||
sql += "DEFAULT " + col.Default + " "
|
||||
}
|
||||
|
||||
return sql
|
||||
}
|
||||
|
||||
|
||||
7
vendor/github.com/go-xorm/core/dialect.go
generated
vendored
7
vendor/github.com/go-xorm/core/dialect.go
generated
vendored
@@ -74,6 +74,7 @@ type Dialect interface {
|
||||
GetIndexes(tableName string) (map[string]*Index, error)
|
||||
|
||||
Filters() []Filter
|
||||
SetParams(params map[string]string)
|
||||
}
|
||||
|
||||
func OpenDialect(dialect Dialect) (*DB, error) {
|
||||
@@ -244,6 +245,9 @@ func (b *Base) CreateTableSql(table *Table, tableName, storeEngine, charset stri
|
||||
sql += col.StringNoPk(b.dialect)
|
||||
}
|
||||
sql = strings.TrimSpace(sql)
|
||||
if b.DriverName() == MYSQL && len(col.Comment) > 0 {
|
||||
sql += " COMMENT '" + col.Comment + "'"
|
||||
}
|
||||
sql += ", "
|
||||
}
|
||||
|
||||
@@ -286,6 +290,9 @@ func (b *Base) LogSQL(sql string, args []interface{}) {
|
||||
}
|
||||
}
|
||||
|
||||
func (b *Base) SetParams(params map[string]string) {
|
||||
}
|
||||
|
||||
var (
|
||||
dialects = map[string]func() Dialect{}
|
||||
)
|
||||
|
||||
12
vendor/github.com/go-xorm/core/rows.go
generated
vendored
12
vendor/github.com/go-xorm/core/rows.go
generated
vendored
@@ -247,6 +247,18 @@ type Row struct {
|
||||
err error // deferred error for easy chaining
|
||||
}
|
||||
|
||||
// ErrorRow return an error row
|
||||
func ErrorRow(err error) *Row {
|
||||
return &Row{
|
||||
err: err,
|
||||
}
|
||||
}
|
||||
|
||||
// NewRow from rows
|
||||
func NewRow(rows *Rows, err error) *Row {
|
||||
return &Row{rows, err}
|
||||
}
|
||||
|
||||
func (row *Row) Columns() ([]string, error) {
|
||||
if row.err != nil {
|
||||
return nil, row.err
|
||||
|
||||
3
vendor/github.com/go-xorm/core/scan.go
generated
vendored
3
vendor/github.com/go-xorm/core/scan.go
generated
vendored
@@ -44,6 +44,9 @@ func convertTime(dest *NullTime, src interface{}) error {
|
||||
}
|
||||
*dest = NullTime(t)
|
||||
return nil
|
||||
case time.Time:
|
||||
*dest = NullTime(s)
|
||||
return nil
|
||||
case nil:
|
||||
default:
|
||||
return fmt.Errorf("unsupported driver -> Scan pair: %T -> %T", src, dest)
|
||||
|
||||
41
vendor/github.com/go-xorm/core/type.go
generated
vendored
41
vendor/github.com/go-xorm/core/type.go
generated
vendored
@@ -69,15 +69,17 @@ var (
|
||||
Enum = "ENUM"
|
||||
Set = "SET"
|
||||
|
||||
Char = "CHAR"
|
||||
Varchar = "VARCHAR"
|
||||
NVarchar = "NVARCHAR"
|
||||
TinyText = "TINYTEXT"
|
||||
Text = "TEXT"
|
||||
Clob = "CLOB"
|
||||
MediumText = "MEDIUMTEXT"
|
||||
LongText = "LONGTEXT"
|
||||
Uuid = "UUID"
|
||||
Char = "CHAR"
|
||||
Varchar = "VARCHAR"
|
||||
NVarchar = "NVARCHAR"
|
||||
TinyText = "TINYTEXT"
|
||||
Text = "TEXT"
|
||||
Clob = "CLOB"
|
||||
MediumText = "MEDIUMTEXT"
|
||||
LongText = "LONGTEXT"
|
||||
Uuid = "UUID"
|
||||
UniqueIdentifier = "UNIQUEIDENTIFIER"
|
||||
SysName = "SYSNAME"
|
||||
|
||||
Date = "DATE"
|
||||
DateTime = "DATETIME"
|
||||
@@ -100,7 +102,8 @@ var (
|
||||
LongBlob = "LONGBLOB"
|
||||
Bytea = "BYTEA"
|
||||
|
||||
Bool = "BOOL"
|
||||
Bool = "BOOL"
|
||||
Boolean = "BOOLEAN"
|
||||
|
||||
Serial = "SERIAL"
|
||||
BigSerial = "BIGSERIAL"
|
||||
@@ -131,6 +134,7 @@ var (
|
||||
LongText: TEXT_TYPE,
|
||||
Uuid: TEXT_TYPE,
|
||||
Clob: TEXT_TYPE,
|
||||
SysName: TEXT_TYPE,
|
||||
|
||||
Date: TIME_TYPE,
|
||||
DateTime: TIME_TYPE,
|
||||
@@ -147,11 +151,12 @@ var (
|
||||
Binary: BLOB_TYPE,
|
||||
VarBinary: BLOB_TYPE,
|
||||
|
||||
TinyBlob: BLOB_TYPE,
|
||||
Blob: BLOB_TYPE,
|
||||
MediumBlob: BLOB_TYPE,
|
||||
LongBlob: BLOB_TYPE,
|
||||
Bytea: BLOB_TYPE,
|
||||
TinyBlob: BLOB_TYPE,
|
||||
Blob: BLOB_TYPE,
|
||||
MediumBlob: BLOB_TYPE,
|
||||
LongBlob: BLOB_TYPE,
|
||||
Bytea: BLOB_TYPE,
|
||||
UniqueIdentifier: BLOB_TYPE,
|
||||
|
||||
Bool: NUMERIC_TYPE,
|
||||
|
||||
@@ -163,7 +168,7 @@ var (
|
||||
uintTypes = sort.StringSlice{"*uint", "*uint16", "*uint32", "*uint8"}
|
||||
)
|
||||
|
||||
// !nashtsai! treat following var as interal const values, these are used for reflect.TypeOf comparision
|
||||
// !nashtsai! treat following var as interal const values, these are used for reflect.TypeOf comparison
|
||||
var (
|
||||
c_EMPTY_STRING string
|
||||
c_BOOL_DEFAULT bool
|
||||
@@ -288,9 +293,9 @@ func SQLType2Type(st SQLType) reflect.Type {
|
||||
return reflect.TypeOf(float32(1))
|
||||
case Double:
|
||||
return reflect.TypeOf(float64(1))
|
||||
case Char, Varchar, NVarchar, TinyText, Text, MediumText, LongText, Enum, Set, Uuid, Clob:
|
||||
case Char, Varchar, NVarchar, TinyText, Text, MediumText, LongText, Enum, Set, Uuid, Clob, SysName:
|
||||
return reflect.TypeOf("")
|
||||
case TinyBlob, Blob, LongBlob, Bytea, Binary, MediumBlob, VarBinary:
|
||||
case TinyBlob, Blob, LongBlob, Bytea, Binary, MediumBlob, VarBinary, UniqueIdentifier:
|
||||
return reflect.TypeOf([]byte{})
|
||||
case Bool:
|
||||
return reflect.TypeOf(true)
|
||||
|
||||
9
vendor/github.com/go-xorm/xorm/CONTRIBUTING.md
generated
vendored
9
vendor/github.com/go-xorm/xorm/CONTRIBUTING.md
generated
vendored
@@ -32,13 +32,10 @@ proposed functionality.
|
||||
We appreciate any bug reports, but especially ones with self-contained
|
||||
(doesn't depend on code outside of xorm), minimal (can't be simplified
|
||||
further) test cases. It's especially helpful if you can submit a pull
|
||||
request with just the failing test case (you'll probably want to
|
||||
pattern it after the tests in
|
||||
[base.go](https://github.com/go-xorm/tests/blob/master/base.go) AND
|
||||
[benchmark.go](https://github.com/go-xorm/tests/blob/master/benchmark.go).
|
||||
request with just the failing test case(you can find some example test file like [session_get_test.go](https://github.com/go-xorm/xorm/blob/master/session_get_test.go)).
|
||||
|
||||
If you implements a new database interface, you maybe need to add a <databasename>_test.go file.
|
||||
For example, [mysql_test.go](https://github.com/go-xorm/tests/blob/master/mysql/mysql_test.go)
|
||||
If you implements a new database interface, you maybe need to add a test_<databasename>.sh file.
|
||||
For example, [mysql_test.go](https://github.com/go-xorm/xorm/blob/master/test_mysql.sh)
|
||||
|
||||
### New functionality
|
||||
|
||||
|
||||
223
vendor/github.com/go-xorm/xorm/README.md
generated
vendored
223
vendor/github.com/go-xorm/xorm/README.md
generated
vendored
@@ -3,11 +3,8 @@
|
||||
Xorm is a simple and powerful ORM for Go.
|
||||
|
||||
[](https://circleci.com/gh/go-xorm/xorm) [](https://codecov.io/gh/go-xorm/xorm)
|
||||
[](https://goreportcard.com/report/github.com/go-xorm/xorm) [](https://gitter.im/go-xorm/xorm?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
|
||||
|
||||
# Notice
|
||||
|
||||
The last master version is not backwards compatible. You should use `engine.ShowSQL()` and `engine.Logger().SetLevel()` instead of `engine.ShowSQL = `, `engine.ShowInfo = ` and so on.
|
||||
[](https://goreportcard.com/report/github.com/go-xorm/xorm)
|
||||
[](https://discord.gg/HuR2CF3)
|
||||
|
||||
# Features
|
||||
|
||||
@@ -31,13 +28,15 @@ The last master version is not backwards compatible. You should use `engine.Show
|
||||
|
||||
* SQL Builder support via [github.com/go-xorm/builder](https://github.com/go-xorm/builder)
|
||||
|
||||
* Automatical Read/Write seperatelly
|
||||
|
||||
# Drivers Support
|
||||
|
||||
Drivers for Go's sql package which currently support database/sql includes:
|
||||
|
||||
* Mysql: [github.com/go-sql-driver/mysql](https://github.com/go-sql-driver/mysql)
|
||||
|
||||
* MyMysql: [github.com/ziutek/mymysql/godrv](https://github.com/ziutek/mymysql/godrv)
|
||||
* MyMysql: [github.com/ziutek/mymysql/godrv](https://github.com/ziutek/mymysql/tree/master/godrv)
|
||||
|
||||
* Postgres: [github.com/lib/pq](https://github.com/lib/pq)
|
||||
|
||||
@@ -51,34 +50,26 @@ Drivers for Go's sql package which currently support database/sql includes:
|
||||
|
||||
# Changelog
|
||||
|
||||
* **v0.6.4**
|
||||
* Automatical Read/Write seperatelly
|
||||
* Query/QueryString/QueryInterface and action with Where/And
|
||||
* Get support non-struct variables
|
||||
* BufferSize on Iterate
|
||||
* fix some other bugs.
|
||||
|
||||
* **v0.6.3**
|
||||
* merge tests to main project
|
||||
* add `Exist` function
|
||||
* add `SumInt` function
|
||||
* Mysql now support read and create column comment.
|
||||
* fix time related bugs.
|
||||
* fix some other bugs.
|
||||
|
||||
* **v0.6.2**
|
||||
* refactor tag parse methods
|
||||
* add Scan features to Get
|
||||
* add QueryString method
|
||||
|
||||
* **v0.6.0**
|
||||
* remove support for ql
|
||||
* add query condition builder support via [github.com/go-xorm/builder](https://github.com/go-xorm/builder), so `Where`, `And`, `Or`
|
||||
methods can use `builder.Cond` as parameter
|
||||
* add Sum, SumInt, SumInt64 and NotIn methods
|
||||
* some bugs fixed
|
||||
|
||||
* **v0.5.0**
|
||||
* logging interface changed
|
||||
* some bugs fixed
|
||||
|
||||
* **v0.4.5**
|
||||
* many bugs fixed
|
||||
* extends support unlimited deepth
|
||||
* Delete Limit support
|
||||
|
||||
* **v0.4.4**
|
||||
* ql database expriment support
|
||||
* tidb database expriment support
|
||||
* sql.NullString and etc. field support
|
||||
* select ForUpdate support
|
||||
* many bugs fixed
|
||||
|
||||
[More changes ...](https://github.com/go-xorm/manual-en-US/tree/master/chapter-16)
|
||||
|
||||
# Installation
|
||||
@@ -117,15 +108,36 @@ type User struct {
|
||||
err := engine.Sync2(new(User))
|
||||
```
|
||||
|
||||
* `Query` runs a SQL string, the returned results is `[]map[string][]byte`, `QueryString` returns `[]map[string]string`.
|
||||
* Create Engine Group
|
||||
|
||||
```Go
|
||||
dataSourceNameSlice := []string{masterDataSourceName, slave1DataSourceName, slave2DataSourceName}
|
||||
engineGroup, err := xorm.NewEngineGroup(driverName, dataSourceNameSlice)
|
||||
```
|
||||
|
||||
```Go
|
||||
masterEngine, err := xorm.NewEngine(driverName, masterDataSourceName)
|
||||
slave1Engine, err := xorm.NewEngine(driverName, slave1DataSourceName)
|
||||
slave2Engine, err := xorm.NewEngine(driverName, slave2DataSourceName)
|
||||
engineGroup, err := xorm.NewEngineGroup(masterEngine, []*Engine{slave1Engine, slave2Engine})
|
||||
```
|
||||
|
||||
Then all place where `engine` you can just use `engineGroup`.
|
||||
|
||||
* `Query` runs a SQL string, the returned results is `[]map[string][]byte`, `QueryString` returns `[]map[string]string`, `QueryInterface` returns `[]map[string]interface{}`.
|
||||
|
||||
```Go
|
||||
results, err := engine.Query("select * from user")
|
||||
results, err := engine.Where("a = 1").Query()
|
||||
|
||||
results, err := engine.QueryString("select * from user")
|
||||
results, err := engine.Where("a = 1").QueryString()
|
||||
|
||||
results, err := engine.QueryInterface("select * from user")
|
||||
results, err := engine.Where("a = 1").QueryInterface()
|
||||
```
|
||||
|
||||
* `Execute` runs a SQL string, it returns `affetcted` and `error`
|
||||
* `Exec` runs a SQL string, it returns `affected` and `error`
|
||||
|
||||
```Go
|
||||
affected, err := engine.Exec("update user set age = ? where name = ?", age, name)
|
||||
@@ -136,43 +148,76 @@ affected, err := engine.Exec("update user set age = ? where name = ?", age, name
|
||||
```Go
|
||||
affected, err := engine.Insert(&user)
|
||||
// INSERT INTO struct () values ()
|
||||
|
||||
affected, err := engine.Insert(&user1, &user2)
|
||||
// INSERT INTO struct1 () values ()
|
||||
// INSERT INTO struct2 () values ()
|
||||
|
||||
affected, err := engine.Insert(&users)
|
||||
// INSERT INTO struct () values (),(),()
|
||||
|
||||
affected, err := engine.Insert(&user1, &users)
|
||||
// INSERT INTO struct1 () values ()
|
||||
// INSERT INTO struct2 () values (),(),()
|
||||
```
|
||||
|
||||
* Query one record from database
|
||||
* `Get` query one record from database
|
||||
|
||||
```Go
|
||||
has, err := engine.Get(&user)
|
||||
// SELECT * FROM user LIMIT 1
|
||||
|
||||
has, err := engine.Where("name = ?", name).Desc("id").Get(&user)
|
||||
// SELECT * FROM user WHERE name = ? ORDER BY id DESC LIMIT 1
|
||||
|
||||
var name string
|
||||
has, err := engine.Where("id = ?", id).Cols("name").Get(&name)
|
||||
// SELECT name FROM user WHERE id = ?
|
||||
|
||||
var id int64
|
||||
has, err := engine.Where("name = ?", name).Cols("id").Get(&id)
|
||||
has, err := engine.SQL("select id from user").Get(&id)
|
||||
// SELECT id FROM user WHERE name = ?
|
||||
|
||||
var valuesMap = make(map[string]string)
|
||||
has, err := engine.Where("id = ?", id).Get(&valuesMap)
|
||||
// SELECT * FROM user WHERE id = ?
|
||||
|
||||
var valuesSlice = make([]interface{}, len(cols))
|
||||
has, err := engine.Where("id = ?", id).Cols(cols...).Get(&valuesSlice)
|
||||
// SELECT col1, col2, col3 FROM user WHERE id = ?
|
||||
```
|
||||
|
||||
* Query multiple records from database, also you can use join and extends
|
||||
* `Exist` check if one record exist on table
|
||||
|
||||
```Go
|
||||
has, err := testEngine.Exist(new(RecordExist))
|
||||
// SELECT * FROM record_exist LIMIT 1
|
||||
|
||||
has, err = testEngine.Exist(&RecordExist{
|
||||
Name: "test1",
|
||||
})
|
||||
// SELECT * FROM record_exist WHERE name = ? LIMIT 1
|
||||
|
||||
has, err = testEngine.Where("name = ?", "test1").Exist(&RecordExist{})
|
||||
// SELECT * FROM record_exist WHERE name = ? LIMIT 1
|
||||
|
||||
has, err = testEngine.SQL("select * from record_exist where name = ?", "test1").Exist()
|
||||
// select * from record_exist where name = ?
|
||||
|
||||
has, err = testEngine.Table("record_exist").Exist()
|
||||
// SELECT * FROM record_exist LIMIT 1
|
||||
|
||||
has, err = testEngine.Table("record_exist").Where("name = ?", "test1").Exist()
|
||||
// SELECT * FROM record_exist WHERE name = ? LIMIT 1
|
||||
```
|
||||
|
||||
* `Find` query multiple records from database, also you can use join and extends
|
||||
|
||||
```Go
|
||||
var users []User
|
||||
err := engine.Where("name = ?", name).And("age > 10").Limit(10, 0).Find(&users)
|
||||
// SELECT * FROM user WHERE name = ? AND age > 10 limit 0 offset 10
|
||||
// SELECT * FROM user WHERE name = ? AND age > 10 limit 10 offset 0
|
||||
|
||||
type Detail struct {
|
||||
Id int64
|
||||
@@ -185,14 +230,14 @@ type UserDetail struct {
|
||||
}
|
||||
|
||||
var users []UserDetail
|
||||
err := engine.Table("user").Select("user.*, detail.*")
|
||||
err := engine.Table("user").Select("user.*, detail.*").
|
||||
Join("INNER", "detail", "detail.user_id = user.id").
|
||||
Where("user.name = ?", name).Limit(10, 0).
|
||||
Find(&users)
|
||||
// SELECT user.*, detail.* FROM user INNER JOIN detail WHERE user.name = ? limit 0 offset 10
|
||||
// SELECT user.*, detail.* FROM user INNER JOIN detail WHERE user.name = ? limit 10 offset 0
|
||||
```
|
||||
|
||||
* Query multiple records and record by record handle, there are two methods Iterate and Rows
|
||||
* `Iterate` and `Rows` query multiple records and record by record handle, there are two methods Iterate and Rows
|
||||
|
||||
```Go
|
||||
err := engine.Iterate(&User{Name:name}, func(idx int, bean interface{}) error {
|
||||
@@ -201,6 +246,13 @@ err := engine.Iterate(&User{Name:name}, func(idx int, bean interface{}) error {
|
||||
})
|
||||
// SELECT * FROM user
|
||||
|
||||
err := engine.BufferSize(100).Iterate(&User{Name:name}, func(idx int, bean interface{}) error {
|
||||
user := bean.(*User)
|
||||
return nil
|
||||
})
|
||||
// SELECT * FROM user Limit 0, 100
|
||||
// SELECT * FROM user Limit 101, 100
|
||||
|
||||
rows, err := engine.Rows(&User{Name:name})
|
||||
// SELECT * FROM user
|
||||
defer rows.Close()
|
||||
@@ -210,10 +262,10 @@ for rows.Next() {
|
||||
}
|
||||
```
|
||||
|
||||
* Update one or more records, default will update non-empty and non-zero fields except when you use Cols, AllCols and so on.
|
||||
* `Update` update one or more records, default will update non-empty and non-zero fields except when you use Cols, AllCols and so on.
|
||||
|
||||
```Go
|
||||
affected, err := engine.Id(1).Update(&user)
|
||||
affected, err := engine.ID(1).Update(&user)
|
||||
// UPDATE user SET ... Where id = ?
|
||||
|
||||
affected, err := engine.Update(&user, &User{Name:name})
|
||||
@@ -224,32 +276,50 @@ affected, err := engine.In("id", ids).Update(&user)
|
||||
// UPDATE user SET ... Where id IN (?, ?, ?)
|
||||
|
||||
// force update indicated columns by Cols
|
||||
affected, err := engine.Id(1).Cols("age").Update(&User{Name:name, Age: 12})
|
||||
affected, err := engine.ID(1).Cols("age").Update(&User{Name:name, Age: 12})
|
||||
// UPDATE user SET age = ?, updated=? Where id = ?
|
||||
|
||||
// force NOT update indicated columns by Omit
|
||||
affected, err := engine.Id(1).Omit("name").Update(&User{Name:name, Age: 12})
|
||||
affected, err := engine.ID(1).Omit("name").Update(&User{Name:name, Age: 12})
|
||||
// UPDATE user SET age = ?, updated=? Where id = ?
|
||||
|
||||
affected, err := engine.Id(1).AllCols().Update(&user)
|
||||
affected, err := engine.ID(1).AllCols().Update(&user)
|
||||
// UPDATE user SET name=?,age=?,salt=?,passwd=?,updated=? Where id = ?
|
||||
```
|
||||
|
||||
* Delete one or more records, Delete MUST have condition
|
||||
* `Delete` delete one or more records, Delete MUST have condition
|
||||
|
||||
```Go
|
||||
affected, err := engine.Where(...).Delete(&user)
|
||||
// DELETE FROM user Where ...
|
||||
affected, err := engine.Id(2).Delete(&user)
|
||||
|
||||
affected, err := engine.ID(2).Delete(&user)
|
||||
// DELETE FROM user Where id = ?
|
||||
```
|
||||
|
||||
* Count records
|
||||
* `Count` count records
|
||||
|
||||
```Go
|
||||
counts, err := engine.Count(&user)
|
||||
// SELECT count(*) AS total FROM user
|
||||
```
|
||||
|
||||
* `Sum` sum functions
|
||||
|
||||
```Go
|
||||
agesFloat64, err := engine.Sum(&user, "age")
|
||||
// SELECT sum(age) AS total FROM user
|
||||
|
||||
agesInt64, err := engine.SumInt(&user, "age")
|
||||
// SELECT sum(age) AS total FROM user
|
||||
|
||||
sumFloat64Slice, err := engine.Sums(&user, "age", "score")
|
||||
// SELECT sum(age), sum(score) FROM user
|
||||
|
||||
sumInt64Slice, err := engine.SumsInt(&user, "age", "score")
|
||||
// SELECT sum(age), sum(score) FROM user
|
||||
```
|
||||
|
||||
* Query conditions builder
|
||||
|
||||
```Go
|
||||
@@ -257,15 +327,76 @@ err := engine.Where(builder.NotIn("a", 1, 2).And(builder.In("b", "c", "d", "e"))
|
||||
// SELECT id, name ... FROM user WHERE a NOT IN (?, ?) AND b IN (?, ?, ?)
|
||||
```
|
||||
|
||||
* Multiple operations in one go routine, no transation here but resue session memory
|
||||
|
||||
```Go
|
||||
session := engine.NewSession()
|
||||
defer session.Close()
|
||||
|
||||
user1 := Userinfo{Username: "xiaoxiao", Departname: "dev", Alias: "lunny", Created: time.Now()}
|
||||
if _, err := session.Insert(&user1); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
user2 := Userinfo{Username: "yyy"}
|
||||
if _, err := session.Where("id = ?", 2).Update(&user2); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if _, err := session.Exec("delete from userinfo where username = ?", user2.Username); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
```
|
||||
|
||||
* Transation should on one go routine. There is transaction and resue session memory
|
||||
|
||||
```Go
|
||||
session := engine.NewSession()
|
||||
defer session.Close()
|
||||
|
||||
// add Begin() before any action
|
||||
if err := session.Begin(); err != nil {
|
||||
// if returned then will rollback automatically
|
||||
return err
|
||||
}
|
||||
|
||||
user1 := Userinfo{Username: "xiaoxiao", Departname: "dev", Alias: "lunny", Created: time.Now()}
|
||||
if _, err := session.Insert(&user1); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
user2 := Userinfo{Username: "yyy"}
|
||||
if _, err := session.Where("id = ?", 2).Update(&user2); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if _, err := session.Exec("delete from userinfo where username = ?", user2.Username); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// add Commit() after all actions
|
||||
return session.Commit()
|
||||
```
|
||||
|
||||
# Cases
|
||||
|
||||
* [studygolang](http://studygolang.com/) - [github.com/studygolang/studygolang](https://github.com/studygolang/studygolang)
|
||||
|
||||
* [Gitea](http://gitea.io) - [github.com/go-gitea/gitea](http://github.com/go-gitea/gitea)
|
||||
|
||||
* [Gogs](http://try.gogits.org) - [github.com/gogits/gogs](http://github.com/gogits/gogs)
|
||||
|
||||
* [grafana](https://grafana.com/) - [github.com/grafana/grafana](http://github.com/grafana/grafana)
|
||||
|
||||
* [github.com/m3ng9i/qreader](https://github.com/m3ng9i/qreader)
|
||||
|
||||
* [Wego](http://github.com/go-tango/wego)
|
||||
|
||||
* [Docker.cn](https://docker.cn/)
|
||||
|
||||
* [Gogs](http://try.gogits.org) - [github.com/gogits/gogs](http://github.com/gogits/gogs)
|
||||
* [Xorm Adapter](https://github.com/casbin/xorm-adapter) for [Casbin](https://github.com/casbin/casbin) - [github.com/casbin/xorm-adapter](https://github.com/casbin/xorm-adapter)
|
||||
|
||||
* [Gorevel](http://gorevel.cn/) - [github.com/goofcc/gorevel](http://github.com/goofcc/gorevel)
|
||||
|
||||
|
||||
201
vendor/github.com/go-xorm/xorm/README_CN.md
generated
vendored
201
vendor/github.com/go-xorm/xorm/README_CN.md
generated
vendored
@@ -5,11 +5,8 @@
|
||||
xorm是一个简单而强大的Go语言ORM库. 通过它可以使数据库操作非常简便。
|
||||
|
||||
[](https://circleci.com/gh/go-xorm/xorm) [](https://codecov.io/gh/go-xorm/xorm)
|
||||
[](https://goreportcard.com/report/github.com/go-xorm/xorm) [](https://gitter.im/go-xorm/xorm?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
|
||||
|
||||
# 注意
|
||||
|
||||
最新的版本有不兼容的更新,您必须使用 `engine.ShowSQL()` 和 `engine.Logger().SetLevel()` 来替代 `engine.ShowSQL = `, `engine.ShowInfo = ` 等等。
|
||||
[](https://goreportcard.com/report/github.com/go-xorm/xorm)
|
||||
[](https://discord.gg/HuR2CF3)
|
||||
|
||||
## 特性
|
||||
|
||||
@@ -55,9 +52,18 @@ xorm是一个简单而强大的Go语言ORM库. 通过它可以使数据库操作
|
||||
|
||||
## 更新日志
|
||||
|
||||
* **v0.6.3**
|
||||
* 合并单元测试到主工程
|
||||
* 新增`Exist`方法
|
||||
* 新增`SumInt`方法
|
||||
* Mysql新增读取和创建字段注释支持
|
||||
* 新增`SetConnMaxLifetime`方法
|
||||
* 修正了时间相关的Bug
|
||||
* 修复了一些其它Bug
|
||||
|
||||
* **v0.6.2**
|
||||
* 重构Tag解析方式
|
||||
* Get方法新增类似Sacn的特性
|
||||
* Get方法新增类似Scan的特性
|
||||
* 新增 QueryString 方法
|
||||
|
||||
* **v0.6.0**
|
||||
@@ -71,18 +77,6 @@ xorm是一个简单而强大的Go语言ORM库. 通过它可以使数据库操作
|
||||
* logging接口进行不兼容改变
|
||||
* Bug修正
|
||||
|
||||
* **v0.4.5**
|
||||
* bug修正
|
||||
* extends 支持无限级
|
||||
* Delete Limit 支持
|
||||
|
||||
* **v0.4.4**
|
||||
* Tidb 数据库支持
|
||||
* QL 试验性支持
|
||||
* sql.NullString支持
|
||||
* ForUpdate 支持
|
||||
* bug修正
|
||||
|
||||
[更多更新日志...](https://github.com/go-xorm/manual-zh-CN/tree/master/chapter-16)
|
||||
|
||||
## 安装
|
||||
@@ -121,12 +115,33 @@ type User struct {
|
||||
err := engine.Sync2(new(User))
|
||||
```
|
||||
|
||||
* `Query` 最原始的也支持SQL语句查询,返回的结果类型为 []map[string][]byte。`QueryString` 返回 []map[string]string
|
||||
* 创建Engine组
|
||||
|
||||
```Go
|
||||
dataSourceNameSlice := []string{masterDataSourceName, slave1DataSourceName, slave2DataSourceName}
|
||||
engineGroup, err := xorm.NewEngineGroup(driverName, dataSourceNameSlice)
|
||||
```
|
||||
|
||||
```Go
|
||||
masterEngine, err := xorm.NewEngine(driverName, masterDataSourceName)
|
||||
slave1Engine, err := xorm.NewEngine(driverName, slave1DataSourceName)
|
||||
slave2Engine, err := xorm.NewEngine(driverName, slave2DataSourceName)
|
||||
engineGroup, err := xorm.NewEngineGroup(masterEngine, []*Engine{slave1Engine, slave2Engine})
|
||||
```
|
||||
|
||||
所有使用 `engine` 都可以简单的用 `engineGroup` 来替换。
|
||||
|
||||
* `Query` 最原始的也支持SQL语句查询,返回的结果类型为 []map[string][]byte。`QueryString` 返回 []map[string]string, `QueryInterface` 返回 `[]map[string]interface{}`.
|
||||
|
||||
```Go
|
||||
results, err := engine.Query("select * from user")
|
||||
results, err := engine.Where("a = 1").Query()
|
||||
|
||||
results, err := engine.QueryString("select * from user")
|
||||
results, err := engine.Where("a = 1").QueryString()
|
||||
|
||||
results, err := engine.QueryInterface("select * from user")
|
||||
results, err := engine.Where("a = 1").QueryInterface()
|
||||
```
|
||||
|
||||
* `Exec` 执行一个SQL语句
|
||||
@@ -135,48 +150,81 @@ results, err := engine.QueryString("select * from user")
|
||||
affected, err := engine.Exec("update user set age = ? where name = ?", age, name)
|
||||
```
|
||||
|
||||
* 插入一条或者多条记录
|
||||
* `Insert` 插入一条或者多条记录
|
||||
|
||||
```Go
|
||||
affected, err := engine.Insert(&user)
|
||||
// INSERT INTO struct () values ()
|
||||
|
||||
affected, err := engine.Insert(&user1, &user2)
|
||||
// INSERT INTO struct1 () values ()
|
||||
// INSERT INTO struct2 () values ()
|
||||
|
||||
affected, err := engine.Insert(&users)
|
||||
// INSERT INTO struct () values (),(),()
|
||||
|
||||
affected, err := engine.Insert(&user1, &users)
|
||||
// INSERT INTO struct1 () values ()
|
||||
// INSERT INTO struct2 () values (),(),()
|
||||
```
|
||||
|
||||
* 查询单条记录
|
||||
* `Get` 查询单条记录
|
||||
|
||||
```Go
|
||||
has, err := engine.Get(&user)
|
||||
// SELECT * FROM user LIMIT 1
|
||||
|
||||
has, err := engine.Where("name = ?", name).Desc("id").Get(&user)
|
||||
// SELECT * FROM user WHERE name = ? ORDER BY id DESC LIMIT 1
|
||||
|
||||
var name string
|
||||
has, err := engine.Where("id = ?", id).Cols("name").Get(&name)
|
||||
// SELECT name FROM user WHERE id = ?
|
||||
|
||||
var id int64
|
||||
has, err := engine.Where("name = ?", name).Cols("id").Get(&id)
|
||||
has, err := engine.SQL("select id from user").Get(&id)
|
||||
// SELECT id FROM user WHERE name = ?
|
||||
|
||||
var valuesMap = make(map[string]string)
|
||||
has, err := engine.Where("id = ?", id).Get(&valuesMap)
|
||||
// SELECT * FROM user WHERE id = ?
|
||||
|
||||
var valuesSlice = make([]interface{}, len(cols))
|
||||
has, err := engine.Where("id = ?", id).Cols(cols...).Get(&valuesSlice)
|
||||
// SELECT col1, col2, col3 FROM user WHERE id = ?
|
||||
```
|
||||
|
||||
* 查询多条记录,当然可以使用Join和extends来组合使用
|
||||
* `Exist` 检测记录是否存在
|
||||
|
||||
```Go
|
||||
has, err := testEngine.Exist(new(RecordExist))
|
||||
// SELECT * FROM record_exist LIMIT 1
|
||||
|
||||
has, err = testEngine.Exist(&RecordExist{
|
||||
Name: "test1",
|
||||
})
|
||||
// SELECT * FROM record_exist WHERE name = ? LIMIT 1
|
||||
|
||||
has, err = testEngine.Where("name = ?", "test1").Exist(&RecordExist{})
|
||||
// SELECT * FROM record_exist WHERE name = ? LIMIT 1
|
||||
|
||||
has, err = testEngine.SQL("select * from record_exist where name = ?", "test1").Exist()
|
||||
// select * from record_exist where name = ?
|
||||
|
||||
has, err = testEngine.Table("record_exist").Exist()
|
||||
// SELECT * FROM record_exist LIMIT 1
|
||||
|
||||
has, err = testEngine.Table("record_exist").Where("name = ?", "test1").Exist()
|
||||
// SELECT * FROM record_exist WHERE name = ? LIMIT 1
|
||||
```
|
||||
|
||||
* `Find` 查询多条记录,当然可以使用Join和extends来组合使用
|
||||
|
||||
```Go
|
||||
var users []User
|
||||
err := engine.Where("name = ?", name).And("age > 10").Limit(10, 0).Find(&users)
|
||||
// SELECT * FROM user WHERE name = ? AND age > 10 limit 0 offset 10
|
||||
// SELECT * FROM user WHERE name = ? AND age > 10 limit 10 offset 0
|
||||
|
||||
type Detail struct {
|
||||
Id int64
|
||||
@@ -193,10 +241,10 @@ err := engine.Table("user").Select("user.*, detail.*")
|
||||
Join("INNER", "detail", "detail.user_id = user.id").
|
||||
Where("user.name = ?", name).Limit(10, 0).
|
||||
Find(&users)
|
||||
// SELECT user.*, detail.* FROM user INNER JOIN detail WHERE user.name = ? limit 0 offset 10
|
||||
// SELECT user.*, detail.* FROM user INNER JOIN detail WHERE user.name = ? limit 10 offset 0
|
||||
```
|
||||
|
||||
* 根据条件遍历数据库,可以有两种方式: Iterate and Rows
|
||||
* `Iterate` 和 `Rows` 根据条件遍历数据库,可以有两种方式: Iterate and Rows
|
||||
|
||||
```Go
|
||||
err := engine.Iterate(&User{Name:name}, func(idx int, bean interface{}) error {
|
||||
@@ -205,6 +253,13 @@ err := engine.Iterate(&User{Name:name}, func(idx int, bean interface{}) error {
|
||||
})
|
||||
// SELECT * FROM user
|
||||
|
||||
err := engine.BufferSize(100).Iterate(&User{Name:name}, func(idx int, bean interface{}) error {
|
||||
user := bean.(*User)
|
||||
return nil
|
||||
})
|
||||
// SELECT * FROM user Limit 0, 100
|
||||
// SELECT * FROM user Limit 101, 100
|
||||
|
||||
rows, err := engine.Rows(&User{Name:name})
|
||||
// SELECT * FROM user
|
||||
defer rows.Close()
|
||||
@@ -214,10 +269,10 @@ for rows.Next() {
|
||||
}
|
||||
```
|
||||
|
||||
* 更新数据,除非使用Cols,AllCols函数指明,默认只更新非空和非0的字段
|
||||
* `Update` 更新数据,除非使用Cols,AllCols函数指明,默认只更新非空和非0的字段
|
||||
|
||||
```Go
|
||||
affected, err := engine.Id(1).Update(&user)
|
||||
affected, err := engine.ID(1).Update(&user)
|
||||
// UPDATE user SET ... Where id = ?
|
||||
|
||||
affected, err := engine.Update(&user, &User{Name:name})
|
||||
@@ -228,31 +283,50 @@ affected, err := engine.In(ids).Update(&user)
|
||||
// UPDATE user SET ... Where id IN (?, ?, ?)
|
||||
|
||||
// force update indicated columns by Cols
|
||||
affected, err := engine.Id(1).Cols("age").Update(&User{Name:name, Age: 12})
|
||||
affected, err := engine.ID(1).Cols("age").Update(&User{Name:name, Age: 12})
|
||||
// UPDATE user SET age = ?, updated=? Where id = ?
|
||||
|
||||
// force NOT update indicated columns by Omit
|
||||
affected, err := engine.Id(1).Omit("name").Update(&User{Name:name, Age: 12})
|
||||
affected, err := engine.ID(1).Omit("name").Update(&User{Name:name, Age: 12})
|
||||
// UPDATE user SET age = ?, updated=? Where id = ?
|
||||
|
||||
affected, err := engine.Id(1).AllCols().Update(&user)
|
||||
affected, err := engine.ID(1).AllCols().Update(&user)
|
||||
// UPDATE user SET name=?,age=?,salt=?,passwd=?,updated=? Where id = ?
|
||||
```
|
||||
|
||||
* 删除记录,需要注意,删除必须至少有一个条件,否则会报错。要清空数据库可以用EmptyTable
|
||||
* `Delete` 删除记录,需要注意,删除必须至少有一个条件,否则会报错。要清空数据库可以用EmptyTable
|
||||
|
||||
```Go
|
||||
affected, err := engine.Where(...).Delete(&user)
|
||||
// DELETE FROM user Where ...
|
||||
|
||||
affected, err := engine.ID(2).Delete(&user)
|
||||
// DELETE FROM user Where id = ?
|
||||
```
|
||||
|
||||
* 获取记录条数
|
||||
* `Count` 获取记录条数
|
||||
|
||||
```Go
|
||||
counts, err := engine.Count(&user)
|
||||
// SELECT count(*) AS total FROM user
|
||||
```
|
||||
|
||||
* `Sum` 求和函数
|
||||
|
||||
```Go
|
||||
agesFloat64, err := engine.Sum(&user, "age")
|
||||
// SELECT sum(age) AS total FROM user
|
||||
|
||||
agesInt64, err := engine.SumInt(&user, "age")
|
||||
// SELECT sum(age) AS total FROM user
|
||||
|
||||
sumFloat64Slice, err := engine.Sums(&user, "age", "score")
|
||||
// SELECT sum(age), sum(score) FROM user
|
||||
|
||||
sumInt64Slice, err := engine.SumsInt(&user, "age", "score")
|
||||
// SELECT sum(age), sum(score) FROM user
|
||||
```
|
||||
|
||||
* 条件编辑器
|
||||
|
||||
```Go
|
||||
@@ -260,15 +334,76 @@ err := engine.Where(builder.NotIn("a", 1, 2).And(builder.In("b", "c", "d", "e"))
|
||||
// SELECT id, name ... FROM user WHERE a NOT IN (?, ?) AND b IN (?, ?, ?)
|
||||
```
|
||||
|
||||
* 在一个Go程中多次操作数据库,但没有事务
|
||||
|
||||
```Go
|
||||
session := engine.NewSession()
|
||||
defer session.Close()
|
||||
|
||||
user1 := Userinfo{Username: "xiaoxiao", Departname: "dev", Alias: "lunny", Created: time.Now()}
|
||||
if _, err := session.Insert(&user1); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
user2 := Userinfo{Username: "yyy"}
|
||||
if _, err := session.Where("id = ?", 2).Update(&user2); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if _, err := session.Exec("delete from userinfo where username = ?", user2.Username); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
```
|
||||
|
||||
* 在一个Go程中有事务
|
||||
|
||||
```Go
|
||||
session := engine.NewSession()
|
||||
defer session.Close()
|
||||
|
||||
// add Begin() before any action
|
||||
if err := session.Begin(); err != nil {
|
||||
// if returned then will rollback automatically
|
||||
return err
|
||||
}
|
||||
|
||||
user1 := Userinfo{Username: "xiaoxiao", Departname: "dev", Alias: "lunny", Created: time.Now()}
|
||||
if _, err := session.Insert(&user1); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
user2 := Userinfo{Username: "yyy"}
|
||||
if _, err := session.Where("id = ?", 2).Update(&user2); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if _, err := session.Exec("delete from userinfo where username = ?", user2.Username); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// add Commit() after all actions
|
||||
return session.Commit()
|
||||
```
|
||||
|
||||
# 案例
|
||||
|
||||
* [Go语言中文网](http://studygolang.com/) - [github.com/studygolang/studygolang](https://github.com/studygolang/studygolang)
|
||||
|
||||
* [Gitea](http://gitea.io) - [github.com/go-gitea/gitea](http://github.com/go-gitea/gitea)
|
||||
|
||||
* [Gogs](http://try.gogits.org) - [github.com/gogits/gogs](http://github.com/gogits/gogs)
|
||||
|
||||
* [grafana](https://grafana.com/) - [github.com/grafana/grafana](http://github.com/grafana/grafana)
|
||||
|
||||
* [github.com/m3ng9i/qreader](https://github.com/m3ng9i/qreader)
|
||||
|
||||
* [Wego](http://github.com/go-tango/wego)
|
||||
|
||||
* [Docker.cn](https://docker.cn/)
|
||||
|
||||
* [Gogs](http://try.gogits.org) - [github.com/gogits/gogs](http://github.com/gogits/gogs)
|
||||
* [Xorm Adapter](https://github.com/casbin/xorm-adapter) for [Casbin](https://github.com/casbin/casbin) - [github.com/casbin/xorm-adapter](https://github.com/casbin/xorm-adapter)
|
||||
|
||||
* [Gowalker](http://gowalker.org) - [github.com/Unknwon/gowalker](http://github.com/Unknwon/gowalker)
|
||||
|
||||
|
||||
34
vendor/github.com/go-xorm/xorm/cache_lru.go
generated
vendored
34
vendor/github.com/go-xorm/xorm/cache_lru.go
generated
vendored
@@ -15,13 +15,12 @@ import (
|
||||
|
||||
// LRUCacher implments cache object facilities
|
||||
type LRUCacher struct {
|
||||
idList *list.List
|
||||
sqlList *list.List
|
||||
idIndex map[string]map[string]*list.Element
|
||||
sqlIndex map[string]map[string]*list.Element
|
||||
store core.CacheStore
|
||||
mutex sync.Mutex
|
||||
// maxSize int
|
||||
idList *list.List
|
||||
sqlList *list.List
|
||||
idIndex map[string]map[string]*list.Element
|
||||
sqlIndex map[string]map[string]*list.Element
|
||||
store core.CacheStore
|
||||
mutex sync.Mutex
|
||||
MaxElementSize int
|
||||
Expired time.Duration
|
||||
GcInterval time.Duration
|
||||
@@ -54,8 +53,6 @@ func (m *LRUCacher) RunGC() {
|
||||
|
||||
// GC check ids lit and sql list to remove all element expired
|
||||
func (m *LRUCacher) GC() {
|
||||
//fmt.Println("begin gc ...")
|
||||
//defer fmt.Println("end gc ...")
|
||||
m.mutex.Lock()
|
||||
defer m.mutex.Unlock()
|
||||
var removedNum int
|
||||
@@ -64,12 +61,10 @@ func (m *LRUCacher) GC() {
|
||||
time.Now().Sub(e.Value.(*idNode).lastVisit) > m.Expired {
|
||||
removedNum++
|
||||
next := e.Next()
|
||||
//fmt.Println("removing ...", e.Value)
|
||||
node := e.Value.(*idNode)
|
||||
m.delBean(node.tbName, node.id)
|
||||
e = next
|
||||
} else {
|
||||
//fmt.Printf("removing %d cache nodes ..., left %d\n", removedNum, m.idList.Len())
|
||||
break
|
||||
}
|
||||
}
|
||||
@@ -80,12 +75,10 @@ func (m *LRUCacher) GC() {
|
||||
time.Now().Sub(e.Value.(*sqlNode).lastVisit) > m.Expired {
|
||||
removedNum++
|
||||
next := e.Next()
|
||||
//fmt.Println("removing ...", e.Value)
|
||||
node := e.Value.(*sqlNode)
|
||||
m.delIds(node.tbName, node.sql)
|
||||
e = next
|
||||
} else {
|
||||
//fmt.Printf("removing %d cache nodes ..., left %d\n", removedNum, m.sqlList.Len())
|
||||
break
|
||||
}
|
||||
}
|
||||
@@ -116,7 +109,6 @@ func (m *LRUCacher) GetIds(tableName, sql string) interface{} {
|
||||
}
|
||||
|
||||
m.delIds(tableName, sql)
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -134,7 +126,6 @@ func (m *LRUCacher) GetBean(tableName string, id string) interface{} {
|
||||
// if expired, remove the node and return nil
|
||||
if time.Now().Sub(lastTime) > m.Expired {
|
||||
m.delBean(tableName, id)
|
||||
//m.clearIds(tableName)
|
||||
return nil
|
||||
}
|
||||
m.idList.MoveToBack(el)
|
||||
@@ -148,7 +139,6 @@ func (m *LRUCacher) GetBean(tableName string, id string) interface{} {
|
||||
|
||||
// store bean is not exist, then remove memory's index
|
||||
m.delBean(tableName, id)
|
||||
//m.clearIds(tableName)
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -166,8 +156,8 @@ func (m *LRUCacher) clearIds(tableName string) {
|
||||
// ClearIds clears all sql-ids mapping on table tableName from cache
|
||||
func (m *LRUCacher) ClearIds(tableName string) {
|
||||
m.mutex.Lock()
|
||||
defer m.mutex.Unlock()
|
||||
m.clearIds(tableName)
|
||||
m.mutex.Unlock()
|
||||
}
|
||||
|
||||
func (m *LRUCacher) clearBeans(tableName string) {
|
||||
@@ -184,14 +174,13 @@ func (m *LRUCacher) clearBeans(tableName string) {
|
||||
// ClearBeans clears all beans in some table
|
||||
func (m *LRUCacher) ClearBeans(tableName string) {
|
||||
m.mutex.Lock()
|
||||
defer m.mutex.Unlock()
|
||||
m.clearBeans(tableName)
|
||||
m.mutex.Unlock()
|
||||
}
|
||||
|
||||
// PutIds pus ids into table
|
||||
func (m *LRUCacher) PutIds(tableName, sql string, ids interface{}) {
|
||||
m.mutex.Lock()
|
||||
defer m.mutex.Unlock()
|
||||
if _, ok := m.sqlIndex[tableName]; !ok {
|
||||
m.sqlIndex[tableName] = make(map[string]*list.Element)
|
||||
}
|
||||
@@ -207,12 +196,12 @@ func (m *LRUCacher) PutIds(tableName, sql string, ids interface{}) {
|
||||
node := e.Value.(*sqlNode)
|
||||
m.delIds(node.tbName, node.sql)
|
||||
}
|
||||
m.mutex.Unlock()
|
||||
}
|
||||
|
||||
// PutBean puts beans into table
|
||||
func (m *LRUCacher) PutBean(tableName string, id string, obj interface{}) {
|
||||
m.mutex.Lock()
|
||||
defer m.mutex.Unlock()
|
||||
var el *list.Element
|
||||
var ok bool
|
||||
|
||||
@@ -229,6 +218,7 @@ func (m *LRUCacher) PutBean(tableName string, id string, obj interface{}) {
|
||||
node := e.Value.(*idNode)
|
||||
m.delBean(node.tbName, node.id)
|
||||
}
|
||||
m.mutex.Unlock()
|
||||
}
|
||||
|
||||
func (m *LRUCacher) delIds(tableName, sql string) {
|
||||
@@ -244,8 +234,8 @@ func (m *LRUCacher) delIds(tableName, sql string) {
|
||||
// DelIds deletes ids
|
||||
func (m *LRUCacher) DelIds(tableName, sql string) {
|
||||
m.mutex.Lock()
|
||||
defer m.mutex.Unlock()
|
||||
m.delIds(tableName, sql)
|
||||
m.mutex.Unlock()
|
||||
}
|
||||
|
||||
func (m *LRUCacher) delBean(tableName string, id string) {
|
||||
@@ -261,8 +251,8 @@ func (m *LRUCacher) delBean(tableName string, id string) {
|
||||
// DelBean deletes beans in some table
|
||||
func (m *LRUCacher) DelBean(tableName string, id string) {
|
||||
m.mutex.Lock()
|
||||
defer m.mutex.Unlock()
|
||||
m.delBean(tableName, id)
|
||||
m.mutex.Unlock()
|
||||
}
|
||||
|
||||
type idNode struct {
|
||||
|
||||
11
vendor/github.com/go-xorm/xorm/circle.yml
generated
vendored
11
vendor/github.com/go-xorm/xorm/circle.yml
generated
vendored
@@ -21,7 +21,16 @@ database:
|
||||
test:
|
||||
override:
|
||||
# './...' is a relative pattern which means all subdirectories
|
||||
- go test -v -race -db="sqlite3::mysql::postgres" -conn_str="./test.db::root:@/xorm_test::dbname=xorm_test sslmode=disable" -coverprofile=coverage.txt -covermode=atomic
|
||||
- go get -u github.com/wadey/gocovmerge;
|
||||
- go test -v -race -db="sqlite3" -conn_str="./test.db" -coverprofile=coverage1-1.txt -covermode=atomic
|
||||
- go test -v -race -db="sqlite3" -conn_str="./test.db" -cache=true -coverprofile=coverage1-2.txt -covermode=atomic
|
||||
- go test -v -race -db="mysql" -conn_str="root:@/xorm_test" -coverprofile=coverage2-1.txt -covermode=atomic
|
||||
- go test -v -race -db="mysql" -conn_str="root:@/xorm_test" -cache=true -coverprofile=coverage2-2.txt -covermode=atomic
|
||||
- go test -v -race -db="mymysql" -conn_str="xorm_test/root/" -coverprofile=coverage3-1.txt -covermode=atomic
|
||||
- go test -v -race -db="mymysql" -conn_str="xorm_test/root/" -cache=true -coverprofile=coverage3-2.txt -covermode=atomic
|
||||
- go test -v -race -db="postgres" -conn_str="dbname=xorm_test sslmode=disable" -coverprofile=coverage4-1.txt -covermode=atomic
|
||||
- go test -v -race -db="postgres" -conn_str="dbname=xorm_test sslmode=disable" -cache=true -coverprofile=coverage4-2.txt -covermode=atomic
|
||||
- gocovmerge coverage1-1.txt coverage1-2.txt coverage2-1.txt coverage2-2.txt coverage3-1.txt coverage3-2.txt coverage4-1.txt coverage4-2.txt > coverage.txt
|
||||
- cd /home/ubuntu/.go_workspace/src/github.com/go-xorm/tests && ./sqlite3.sh
|
||||
- cd /home/ubuntu/.go_workspace/src/github.com/go-xorm/tests && ./mysql.sh
|
||||
- cd /home/ubuntu/.go_workspace/src/github.com/go-xorm/tests && ./postgres.sh
|
||||
|
||||
26
vendor/github.com/go-xorm/xorm/context.go
generated
vendored
Normal file
26
vendor/github.com/go-xorm/xorm/context.go
generated
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
// Copyright 2017 The Xorm Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
// +build go1.8
|
||||
|
||||
package xorm
|
||||
|
||||
import "context"
|
||||
|
||||
// PingContext tests if database is alive
|
||||
func (engine *Engine) PingContext(ctx context.Context) error {
|
||||
session := engine.NewSession()
|
||||
defer session.Close()
|
||||
return session.PingContext(ctx)
|
||||
}
|
||||
|
||||
// PingContext test if database is ok
|
||||
func (session *Session) PingContext(ctx context.Context) error {
|
||||
if session.isAutoClose {
|
||||
defer session.Close()
|
||||
}
|
||||
|
||||
session.engine.logger.Infof("PING DATABASE %v", session.engine.DriverName())
|
||||
return session.DB().PingContext(ctx)
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user