mirror of
https://github.com/gogs/gogs.git
synced 2026-03-01 17:50:59 +01:00
Compare commits
123 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 | ||
|
|
b752fe6808 | ||
|
|
114677b747 | ||
|
|
9362b9fdfe | ||
|
|
f48921c256 | ||
|
|
51e0eef11e | ||
|
|
925c2a2ca2 | ||
|
|
f1465b6847 | ||
|
|
5260d70b19 | ||
|
|
339fd9c5a4 | ||
|
|
0f14b92bce | ||
|
|
43d6ad5fda | ||
|
|
667c40c3de | ||
|
|
3b8b8a2ee3 | ||
|
|
6f04ee879c | ||
|
|
e1e76d3f88 | ||
|
|
221aa8968a | ||
|
|
86931f546f | ||
|
|
ae40bb00b3 | ||
|
|
3dd93f5533 | ||
|
|
181dc5d75e | ||
|
|
ae4c4708ad | ||
|
|
34c2e52bd5 | ||
|
|
5cd1fdeb9e | ||
|
|
dbe6de313e | ||
|
|
77c77fbd42 | ||
|
|
9b4054f1fc | ||
|
|
af3911b833 | ||
|
|
4258bf3d54 | ||
|
|
4d1d66d906 | ||
|
|
b727e0be71 | ||
|
|
ea313d0c1e | ||
|
|
c1507eda45 | ||
|
|
ce7496aec9 | ||
|
|
b16c12f67b | ||
|
|
1b24e6ed76 | ||
|
|
52f3833811 | ||
|
|
b1100b5e34 | ||
|
|
ab2c6cb008 | ||
|
|
f2c3f4a944 | ||
|
|
6bc11c4450 | ||
|
|
643c85e9c8 | ||
|
|
ee9950ec2f | ||
|
|
dc10594d7b | ||
|
|
e02fac4968 | ||
|
|
5a88546a80 | ||
|
|
f67d6bbca3 | ||
|
|
c970c4ee41 | ||
|
|
3a6623104f | ||
|
|
b18a2bdcd3 | ||
|
|
d09eaef542 | ||
|
|
13cca8a66a | ||
|
|
8ed2330d6e | ||
|
|
261237745f | ||
|
|
c9d76a381b | ||
|
|
2961afe8fb | ||
|
|
ea03bee1b9 | ||
|
|
d1a96c2543 | ||
|
|
11b1498a6e | ||
|
|
f59500a90b | ||
|
|
3df25fadfa | ||
|
|
0e6a6bf880 | ||
|
|
e1f01305d8 | ||
|
|
23b83cb736 | ||
|
|
e16196124e | ||
|
|
ab2197bc75 | ||
|
|
a887e475e3 | ||
|
|
4400d2fdd9 |
@@ -8,11 +8,13 @@ watch_dirs = [
|
||||
"$WORKDIR/cmd",
|
||||
"$WORKDIR/models",
|
||||
"$WORKDIR/pkg",
|
||||
"$WORKDIR/routers"
|
||||
"$WORKDIR/routes"
|
||||
]
|
||||
watch_exts = [".go"]
|
||||
ignore_files = [".+_test.go"]
|
||||
build_delay = 1500
|
||||
interrupt_timout = 1
|
||||
graceful_kill = true
|
||||
cmds = [
|
||||
["make", "build-dev"], # TAGS=sqlite cert pam tidb
|
||||
["./gogs", "web"]
|
||||
|
||||
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:
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
language: go
|
||||
go:
|
||||
- 1.6
|
||||
- 1.7
|
||||
- 1.8
|
||||
- 1.6.x
|
||||
- 1.7.x
|
||||
- 1.8.x
|
||||
- 1.9.x
|
||||
- 1.10.x
|
||||
- master
|
||||
|
||||
before_install:
|
||||
|
||||
24
Dockerfile
24
Dockerfile
@@ -3,20 +3,34 @@ FROM alpine:3.5
|
||||
# Install system utils & Gogs runtime dependencies
|
||||
ADD https://github.com/tianon/gosu/releases/download/1.9/gosu-amd64 /usr/sbin/gosu
|
||||
RUN chmod +x /usr/sbin/gosu \
|
||||
&& apk --no-cache --no-progress add ca-certificates bash git linux-pam s6 curl openssh socat tzdata
|
||||
&& echo http://dl-2.alpinelinux.org/alpine/edge/community/ >> /etc/apk/repositories \
|
||||
&& apk --no-cache --no-progress add \
|
||||
bash \
|
||||
ca-certificates \
|
||||
curl \
|
||||
git \
|
||||
linux-pam \
|
||||
openssh \
|
||||
s6 \
|
||||
shadow \
|
||||
socat \
|
||||
tzdata
|
||||
|
||||
ENV GOGS_CUSTOM /data/gogs
|
||||
|
||||
COPY . /app/gogs/build
|
||||
# Configure LibC Name Service
|
||||
COPY docker/nsswitch.conf /etc/nsswitch.conf
|
||||
COPY docker /app/gogs/docker
|
||||
COPY templates /app/gogs/templates
|
||||
COPY public /app/gogs/public
|
||||
|
||||
WORKDIR /app/gogs/build
|
||||
COPY . .
|
||||
|
||||
RUN ./docker/build-go.sh \
|
||||
&& ./docker/build.sh \
|
||||
&& ./docker/finalize.sh
|
||||
|
||||
# Configure LibC Name Service
|
||||
COPY docker/nsswitch.conf /etc/nsswitch.conf
|
||||
|
||||
# Configure Docker Container
|
||||
VOLUME ["/data"]
|
||||
EXPOSE 22 3000
|
||||
|
||||
@@ -3,20 +3,34 @@ FROM aarch64/alpine:3.5
|
||||
# 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
|
||||
&& echo http://dl-2.alpinelinux.org/alpine/edge/community/ >> /etc/apk/repositories \
|
||||
&& apk --no-cache --no-progress add \
|
||||
bash \
|
||||
ca-certificates \
|
||||
curl \
|
||||
git \
|
||||
linux-pam \
|
||||
openssh \
|
||||
s6 \
|
||||
shadow \
|
||||
socat \
|
||||
tzdata
|
||||
|
||||
ENV GOGS_CUSTOM /data/gogs
|
||||
|
||||
COPY . /app/gogs/build
|
||||
# Configure LibC Name Service
|
||||
COPY docker/nsswitch.conf /etc/nsswitch.conf
|
||||
COPY docker /app/gogs/docker
|
||||
COPY templates /app/gogs/templates
|
||||
COPY public /app/gogs/public
|
||||
|
||||
WORKDIR /app/gogs/build
|
||||
COPY . .
|
||||
|
||||
RUN ./docker/build-go.sh \
|
||||
&& ./docker/build.sh \
|
||||
&& ./docker/finalize.sh
|
||||
|
||||
# Configure LibC Name Service
|
||||
COPY docker/nsswitch.conf /etc/nsswitch.conf
|
||||
|
||||
# Configure Docker Container
|
||||
VOLUME ["/data"]
|
||||
EXPOSE 22 3000
|
||||
|
||||
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/"]
|
||||
@@ -3,20 +3,34 @@ FROM armhf/alpine:3.5
|
||||
# Install system utils & Gogs runtime dependencies
|
||||
ADD https://github.com/tianon/gosu/releases/download/1.9/gosu-armhf /usr/sbin/gosu
|
||||
RUN chmod +x /usr/sbin/gosu \
|
||||
&& apk --no-cache --no-progress add ca-certificates bash git linux-pam s6 curl openssh socat tzdata
|
||||
&& echo http://dl-2.alpinelinux.org/alpine/edge/community/ >> /etc/apk/repositories \
|
||||
&& apk --no-cache --no-progress add \
|
||||
bash \
|
||||
ca-certificates \
|
||||
curl \
|
||||
git \
|
||||
linux-pam \
|
||||
openssh \
|
||||
s6 \
|
||||
shadow \
|
||||
socat \
|
||||
tzdata
|
||||
|
||||
ENV GOGS_CUSTOM /data/gogs
|
||||
|
||||
COPY . /app/gogs/build
|
||||
# Configure LibC Name Service
|
||||
COPY docker/nsswitch.conf /etc/nsswitch.conf
|
||||
COPY docker /app/gogs/docker
|
||||
COPY templates /app/gogs/templates
|
||||
COPY public /app/gogs/public
|
||||
|
||||
WORKDIR /app/gogs/build
|
||||
COPY . .
|
||||
|
||||
RUN ./docker/build-go.sh \
|
||||
&& ./docker/build.sh \
|
||||
&& ./docker/finalize.sh
|
||||
|
||||
# Configure LibC Name Service
|
||||
COPY docker/nsswitch.conf /etc/nsswitch.conf
|
||||
|
||||
# Configure Docker Container
|
||||
VOLUME ["/data"]
|
||||
EXPOSE 22 3000
|
||||
|
||||
58
Dockerfile.rpihub
Normal file
58
Dockerfile.rpihub
Normal file
@@ -0,0 +1,58 @@
|
||||
FROM armhf/alpine:3.5
|
||||
|
||||
ENV GOGS_CUSTOM /data/gogs
|
||||
ENV QEMU_EXECVE 1
|
||||
|
||||
# For cross compile on dockerhub
|
||||
################################
|
||||
|
||||
COPY ./docker/armhf/qemu-arm-static /usr/bin/
|
||||
COPY ./docker/armhf/resin-xbuild /usr/bin/
|
||||
|
||||
RUN [ "/usr/bin/qemu-arm-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-armhf /usr/sbin/gosu
|
||||
RUN chmod +x /usr/sbin/gosu \
|
||||
&& echo http://dl-2.alpinelinux.org/alpine/edge/community/ >> /etc/apk/repositories \
|
||||
&& apk --no-cache --no-progress add \
|
||||
bash \
|
||||
ca-certificates \
|
||||
curl \
|
||||
git \
|
||||
linux-pam \
|
||||
openssh \
|
||||
s6 \
|
||||
shadow \
|
||||
socat \
|
||||
tzdata
|
||||
|
||||
# Configure LibC Name Service
|
||||
COPY docker/nsswitch.conf /etc/nsswitch.conf
|
||||
COPY docker /app/gogs/docker
|
||||
COPY templates /app/gogs/templates
|
||||
COPY public /app/gogs/public
|
||||
|
||||
WORKDIR /app/gogs/build
|
||||
COPY . .
|
||||
|
||||
RUN ./docker/build-go.sh \
|
||||
&& ./docker/build.sh \
|
||||
&& ./docker/finalize.sh
|
||||
|
||||
# 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/"]
|
||||
4
Makefile
4
Makefile
@@ -30,7 +30,7 @@ web: build
|
||||
|
||||
govet:
|
||||
$(GOVET) gogs.go
|
||||
$(GOVET) models pkg routers
|
||||
$(GOVET) models pkg routes
|
||||
|
||||
build: $(GENERATED)
|
||||
go install $(BUILD_FLAGS) -ldflags '$(LDFLAGS)' -tags '$(TAGS)'
|
||||
@@ -80,4 +80,4 @@ todo:
|
||||
|
||||
# Legacy code should be remove by the time of release
|
||||
legacy:
|
||||
grep -rnw "LEGACY" cmd routers models pkg
|
||||
grep -rnw "LEGACY" cmd routes models pkg
|
||||
|
||||
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) [](https://sourcegraph.com/github.com/gogits/gogs?badge) [](https://gitter.im/gogits/gogs?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
||||
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 ([25 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 协议)数据库
|
||||
- 支持多语言本地化([25 种语言]([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 服务赞助。
|
||||
|
||||
## 贡献成员
|
||||
|
||||
|
||||
113
cmd/admin.go
113
cmd/admin.go
@@ -6,6 +6,8 @@ package cmd
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"reflect"
|
||||
"runtime"
|
||||
|
||||
"github.com/urfave/cli"
|
||||
|
||||
@@ -21,6 +23,13 @@ var (
|
||||
to make automatic initialization process more smoothly`,
|
||||
Subcommands: []cli.Command{
|
||||
subcmdCreateUser,
|
||||
subcmdDeleteInactivateUsers,
|
||||
subcmdDeleteRepositoryArchives,
|
||||
subcmdDeleteMissingRepositories,
|
||||
subcmdGitGcRepos,
|
||||
subcmdRewriteAuthorizedKeys,
|
||||
subcmdSyncRepositoryHooks,
|
||||
subcmdReinitMissingRepositories,
|
||||
},
|
||||
}
|
||||
|
||||
@@ -36,6 +45,90 @@ to make automatic initialization process more smoothly`,
|
||||
stringFlag("config, c", "custom/conf/app.ini", "Custom configuration file path"),
|
||||
},
|
||||
}
|
||||
|
||||
subcmdDeleteInactivateUsers = cli.Command{
|
||||
Name: "delete-inactive-users",
|
||||
Usage: "Delete all inactive accounts",
|
||||
Action: adminDashboardOperation(
|
||||
models.DeleteInactivateUsers,
|
||||
"All inactivate accounts have been deleted successfully",
|
||||
),
|
||||
Flags: []cli.Flag{
|
||||
stringFlag("config, c", "custom/conf/app.ini", "Custom configuration file path"),
|
||||
},
|
||||
}
|
||||
|
||||
subcmdDeleteRepositoryArchives = cli.Command{
|
||||
Name: "delete-repository-archives",
|
||||
Usage: "Delete all repositories archives",
|
||||
Action: adminDashboardOperation(
|
||||
models.DeleteRepositoryArchives,
|
||||
"All repositories archives have been deleted successfully",
|
||||
),
|
||||
Flags: []cli.Flag{
|
||||
stringFlag("config, c", "custom/conf/app.ini", "Custom configuration file path"),
|
||||
},
|
||||
}
|
||||
|
||||
subcmdDeleteMissingRepositories = cli.Command{
|
||||
Name: "delete-missing-repositories",
|
||||
Usage: "Delete all repository records that lost Git files",
|
||||
Action: adminDashboardOperation(
|
||||
models.DeleteMissingRepositories,
|
||||
"All repositories archives have been deleted successfully",
|
||||
),
|
||||
Flags: []cli.Flag{
|
||||
stringFlag("config, c", "custom/conf/app.ini", "Custom configuration file path"),
|
||||
},
|
||||
}
|
||||
|
||||
subcmdGitGcRepos = cli.Command{
|
||||
Name: "collect-garbage",
|
||||
Usage: "Do garbage collection on repositories",
|
||||
Action: adminDashboardOperation(
|
||||
models.GitGcRepos,
|
||||
"All repositories have done garbage collection successfully",
|
||||
),
|
||||
Flags: []cli.Flag{
|
||||
stringFlag("config, c", "custom/conf/app.ini", "Custom configuration file path"),
|
||||
},
|
||||
}
|
||||
|
||||
subcmdRewriteAuthorizedKeys = cli.Command{
|
||||
Name: "rewrite-authorized-keys",
|
||||
Usage: "Rewrite '.ssh/authorized_keys' file (caution: non-Gogs keys will be lost)",
|
||||
Action: adminDashboardOperation(
|
||||
models.RewriteAuthorizedKeys,
|
||||
"All public keys have been rewritten successfully",
|
||||
),
|
||||
Flags: []cli.Flag{
|
||||
stringFlag("config, c", "custom/conf/app.ini", "Custom configuration file path"),
|
||||
},
|
||||
}
|
||||
|
||||
subcmdSyncRepositoryHooks = cli.Command{
|
||||
Name: "resync-hooks",
|
||||
Usage: "Resync pre-receive, update and post-receive hooks",
|
||||
Action: adminDashboardOperation(
|
||||
models.SyncRepositoryHooks,
|
||||
"All repositories' pre-receive, update and post-receive hooks have been resynced successfully",
|
||||
),
|
||||
Flags: []cli.Flag{
|
||||
stringFlag("config, c", "custom/conf/app.ini", "Custom configuration file path"),
|
||||
},
|
||||
}
|
||||
|
||||
subcmdReinitMissingRepositories = cli.Command{
|
||||
Name: "reinit-missing-repositories",
|
||||
Usage: "Reinitialize all repository records that lost Git files",
|
||||
Action: adminDashboardOperation(
|
||||
models.ReinitMissingRepositories,
|
||||
"All repository records that lost Git files have been reinitialized successfully",
|
||||
),
|
||||
Flags: []cli.Flag{
|
||||
stringFlag("config, c", "custom/conf/app.ini", "Custom configuration file path"),
|
||||
},
|
||||
}
|
||||
)
|
||||
|
||||
func runCreateUser(c *cli.Context) error {
|
||||
@@ -68,3 +161,23 @@ func runCreateUser(c *cli.Context) error {
|
||||
fmt.Printf("New user '%s' has been successfully created!\n", c.String("name"))
|
||||
return nil
|
||||
}
|
||||
|
||||
func adminDashboardOperation(operation func() error, successMessage string) func(*cli.Context) error {
|
||||
return func(c *cli.Context) error {
|
||||
if c.IsSet("config") {
|
||||
setting.CustomConf = c.String("config")
|
||||
}
|
||||
|
||||
setting.NewContext()
|
||||
models.LoadConfigs()
|
||||
models.SetEngine()
|
||||
|
||||
if err := operation(); err != nil {
|
||||
functionName := runtime.FuncForPC(reflect.ValueOf(operation).Pointer()).Name()
|
||||
return fmt.Errorf("%s: %v", functionName, err)
|
||||
}
|
||||
|
||||
fmt.Printf("%s\n", successMessage)
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
38
cmd/hook.go
38
cmd/hook.go
@@ -11,6 +11,7 @@ import (
|
||||
"fmt"
|
||||
"os"
|
||||
"os/exec"
|
||||
"path"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
|
||||
@@ -21,9 +22,12 @@ 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"
|
||||
http "github.com/gogits/gogs/routers/repo"
|
||||
"github.com/gogits/gogs/pkg/template"
|
||||
http "github.com/gogits/gogs/routes/repo"
|
||||
)
|
||||
|
||||
var (
|
||||
@@ -91,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)
|
||||
@@ -124,7 +128,7 @@ func runHookPreReceive(c *cli.Context) error {
|
||||
}
|
||||
|
||||
// Check force push
|
||||
output, err := git.NewCommand("rev-list", oldCommitID, "^"+newCommitID).
|
||||
output, err := git.NewCommand("rev-list", "--max-count=1", oldCommitID, "^"+newCommitID).
|
||||
RunInDir(models.RepoPath(os.Getenv(http.ENV_REPO_OWNER_NAME), os.Getenv(http.ENV_REPO_NAME)))
|
||||
if err != nil {
|
||||
fail("Internal error", "Fail to detect force push: %v", err)
|
||||
@@ -138,7 +142,12 @@ func runHookPreReceive(c *cli.Context) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
hookCmd := exec.Command(customHooksPath)
|
||||
var hookCmd *exec.Cmd
|
||||
if setting.IsWindows {
|
||||
hookCmd = exec.Command("bash.exe", "custom_hooks/pre-receive")
|
||||
} else {
|
||||
hookCmd = exec.Command(customHooksPath)
|
||||
}
|
||||
hookCmd.Dir = models.RepoPath(os.Getenv(http.ENV_REPO_OWNER_NAME), os.Getenv(http.ENV_REPO_NAME))
|
||||
hookCmd.Stdout = os.Stdout
|
||||
hookCmd.Stdin = buf
|
||||
@@ -167,7 +176,12 @@ func runHookUpdate(c *cli.Context) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
hookCmd := exec.Command(customHooksPath, args...)
|
||||
var hookCmd *exec.Cmd
|
||||
if setting.IsWindows {
|
||||
hookCmd = exec.Command("bash.exe", append([]string{"custom_hooks/update"}, args...)...)
|
||||
} else {
|
||||
hookCmd = exec.Command(customHooksPath, args...)
|
||||
}
|
||||
hookCmd.Dir = models.RepoPath(os.Getenv(http.ENV_REPO_OWNER_NAME), os.Getenv(http.ENV_REPO_NAME))
|
||||
hookCmd.Stdout = os.Stdout
|
||||
hookCmd.Stdin = os.Stdin
|
||||
@@ -184,6 +198,13 @@ func runHookPostReceive(c *cli.Context) error {
|
||||
}
|
||||
setup(c, "hooks/post-receive.log", true)
|
||||
|
||||
// Post-receive hook does more than just gather Git information,
|
||||
// so we need to setup additional services for email notifications.
|
||||
setting.NewPostReceiveHookServices()
|
||||
mailer.NewContext()
|
||||
mailer.InitMailRender(path.Join(setting.StaticRootPath, "templates/mail"),
|
||||
path.Join(setting.CustomPath, "templates/mail"), template.NewFuncMap())
|
||||
|
||||
isWiki := strings.Contains(os.Getenv(http.ENV_REPO_CUSTOM_HOOKS_PATH), ".wiki.git/")
|
||||
|
||||
buf := bytes.NewBuffer(nil)
|
||||
@@ -240,7 +261,12 @@ func runHookPostReceive(c *cli.Context) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
hookCmd := exec.Command(customHooksPath)
|
||||
var hookCmd *exec.Cmd
|
||||
if setting.IsWindows {
|
||||
hookCmd = exec.Command("bash.exe", "custom_hooks/post-receive")
|
||||
} else {
|
||||
hookCmd = exec.Command(customHooksPath)
|
||||
}
|
||||
hookCmd.Dir = models.RepoPath(os.Getenv(http.ENV_REPO_OWNER_NAME), os.Getenv(http.ENV_REPO_NAME))
|
||||
hookCmd.Stdout = os.Stdout
|
||||
hookCmd.Stdin = buf
|
||||
|
||||
@@ -103,13 +103,19 @@ func runRestore(c *cli.Context) error {
|
||||
if !c.Bool("database-only") {
|
||||
os.MkdirAll(setting.AppDataPath, os.ModePerm)
|
||||
for _, dir := range []string{"attachments", "avatars"} {
|
||||
// Skip if backup archive does not have corresponding data
|
||||
srcPath := path.Join(archivePath, "data", dir)
|
||||
if !com.IsDir(srcPath) {
|
||||
continue
|
||||
}
|
||||
|
||||
dirPath := path.Join(setting.AppDataPath, dir)
|
||||
if com.IsExist(dirPath) {
|
||||
if err = os.Rename(dirPath, dirPath+".bak"); err != nil {
|
||||
log.Fatal(0, "Fail to backup current 'data': %v", err)
|
||||
}
|
||||
}
|
||||
if err = os.Rename(path.Join(archivePath, "data", dir), dirPath); err != nil {
|
||||
if err = os.Rename(srcPath, dirPath); err != nil {
|
||||
log.Fatal(0, "Fail to import 'data': %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ import (
|
||||
"github.com/gogits/gogs/models"
|
||||
"github.com/gogits/gogs/models/errors"
|
||||
"github.com/gogits/gogs/pkg/setting"
|
||||
http "github.com/gogits/gogs/routers/repo"
|
||||
http "github.com/gogits/gogs/routes/repo"
|
||||
)
|
||||
|
||||
const (
|
||||
|
||||
40
cmd/web.go
40
cmd/web.go
@@ -36,13 +36,13 @@ import (
|
||||
"github.com/gogits/gogs/pkg/mailer"
|
||||
"github.com/gogits/gogs/pkg/setting"
|
||||
"github.com/gogits/gogs/pkg/template"
|
||||
"github.com/gogits/gogs/routers"
|
||||
"github.com/gogits/gogs/routers/admin"
|
||||
apiv1 "github.com/gogits/gogs/routers/api/v1"
|
||||
"github.com/gogits/gogs/routers/dev"
|
||||
"github.com/gogits/gogs/routers/org"
|
||||
"github.com/gogits/gogs/routers/repo"
|
||||
"github.com/gogits/gogs/routers/user"
|
||||
"github.com/gogits/gogs/routes"
|
||||
"github.com/gogits/gogs/routes/admin"
|
||||
apiv1 "github.com/gogits/gogs/routes/api/v1"
|
||||
"github.com/gogits/gogs/routes/dev"
|
||||
"github.com/gogits/gogs/routes/org"
|
||||
"github.com/gogits/gogs/routes/repo"
|
||||
"github.com/gogits/gogs/routes/user"
|
||||
)
|
||||
|
||||
var Web = cli.Command{
|
||||
@@ -160,7 +160,7 @@ func runWeb(c *cli.Context) error {
|
||||
if c.IsSet("config") {
|
||||
setting.CustomConf = c.String("config")
|
||||
}
|
||||
routers.GlobalInit()
|
||||
routes.GlobalInit()
|
||||
checkVersion()
|
||||
|
||||
m := newMacaron()
|
||||
@@ -172,20 +172,22 @@ 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.
|
||||
m.Get("/", ignSignIn, routers.Home)
|
||||
m.Get("/", ignSignIn, routes.Home)
|
||||
m.Group("/explore", func() {
|
||||
m.Get("", func(c *context.Context) {
|
||||
c.Redirect(setting.AppSubURL + "/explore/repos")
|
||||
})
|
||||
m.Get("/repos", routers.ExploreRepos)
|
||||
m.Get("/users", routers.ExploreUsers)
|
||||
m.Get("/organizations", routers.ExploreOrganizations)
|
||||
m.Get("/repos", routes.ExploreRepos)
|
||||
m.Get("/users", routes.ExploreUsers)
|
||||
m.Get("/organizations", routes.ExploreOrganizations)
|
||||
}, ignSignIn)
|
||||
m.Combo("/install", routers.InstallInit).Get(routers.Install).
|
||||
Post(bindIgnErr(form.Install{}), routers.InstallPost)
|
||||
m.Combo("/install", routes.InstallInit).Get(routes.Install).
|
||||
Post(bindIgnErr(form.Install{}), routes.InstallPost)
|
||||
m.Get("/^:type(issues|pulls)$", reqSignIn, user.Issues)
|
||||
|
||||
// ***** START: User *****
|
||||
@@ -387,10 +389,12 @@ func runWeb(c *cli.Context) error {
|
||||
m.Post("/gogs/new", bindIgnErr(form.NewWebhook{}), repo.WebHooksNewPost)
|
||||
m.Post("/slack/new", bindIgnErr(form.NewSlackHook{}), repo.SlackHooksNewPost)
|
||||
m.Post("/discord/new", bindIgnErr(form.NewDiscordHook{}), repo.DiscordHooksNewPost)
|
||||
m.Post("/dingtalk/new", bindIgnErr(form.NewDingtalkHook{}), repo.DingtalkHooksNewPost)
|
||||
m.Get("/:id", repo.WebHooksEdit)
|
||||
m.Post("/gogs/:id", bindIgnErr(form.NewWebhook{}), repo.WebHooksEditPost)
|
||||
m.Post("/slack/:id", bindIgnErr(form.NewSlackHook{}), repo.SlackHooksEditPost)
|
||||
m.Post("/discord/:id", bindIgnErr(form.NewDiscordHook{}), repo.DiscordHooksEditPost)
|
||||
m.Post("/dingtalk/:id", bindIgnErr(form.NewDingtalkHook{}), repo.DingtalkHooksEditPost)
|
||||
})
|
||||
|
||||
m.Route("/delete", "GET,POST", org.SettingsDelete)
|
||||
@@ -439,9 +443,11 @@ func runWeb(c *cli.Context) error {
|
||||
m.Post("/gogs/new", bindIgnErr(form.NewWebhook{}), repo.WebHooksNewPost)
|
||||
m.Post("/slack/new", bindIgnErr(form.NewSlackHook{}), repo.SlackHooksNewPost)
|
||||
m.Post("/discord/new", bindIgnErr(form.NewDiscordHook{}), repo.DiscordHooksNewPost)
|
||||
m.Post("/dingtalk/new", bindIgnErr(form.NewDingtalkHook{}), repo.DingtalkHooksNewPost)
|
||||
m.Post("/gogs/:id", bindIgnErr(form.NewWebhook{}), repo.WebHooksEditPost)
|
||||
m.Post("/slack/:id", bindIgnErr(form.NewSlackHook{}), repo.SlackHooksEditPost)
|
||||
m.Post("/discord/:id", bindIgnErr(form.NewDiscordHook{}), repo.DiscordHooksEditPost)
|
||||
m.Post("/dingtalk/:id", bindIgnErr(form.NewDingtalkHook{}), repo.DingtalkHooksEditPost)
|
||||
|
||||
m.Group("/:id", func() {
|
||||
m.Get("", repo.WebHooksEdit)
|
||||
@@ -631,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 *****
|
||||
@@ -651,7 +659,7 @@ func runWeb(c *cli.Context) error {
|
||||
})
|
||||
|
||||
// Not found handler.
|
||||
m.NotFound(routers.NotFound)
|
||||
m.NotFound(routes.NotFound)
|
||||
|
||||
// Flag for port number in case first time run conflict.
|
||||
if c.IsSet("port") {
|
||||
@@ -719,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
|
||||
|
||||
21
conf/app.ini
21
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,
|
||||
@@ -209,8 +211,8 @@ ENABLE_REVERSE_PROXY_AUTO_REGISTRATION = false
|
||||
ENABLE_CAPTCHA = true
|
||||
|
||||
[webhook]
|
||||
; Types are enabled for users to use, can be "gogs", "slack", "discord"
|
||||
TYPES = gogs, slack, discord
|
||||
; Types are enabled for users to use, can be "gogs", "slack", "discord", "dingtalk"
|
||||
TYPES = gogs, slack, discord, dingtalk
|
||||
; Hook task queue length, increase if webhook shooting starts hanging
|
||||
QUEUE_LENGTH = 1000
|
||||
; Deliver timeout in seconds
|
||||
@@ -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
|
||||
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
|
||||
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>
|
||||
@@ -57,6 +58,7 @@ Marvin Menzerath <github AT marvin-menzerath DOT de>
|
||||
Michael Härtl <haertl DOT mike AT gmail DOT com>
|
||||
Miguel de la Cruz <miguel AT mcrx DOT me>
|
||||
Mikhail Burdin <xdshot9000 AT gmail DOT com>
|
||||
Mohammad Gholami <gholami DOT mohammad DOT mgh AT gmail DOT com>
|
||||
Morten Sørensen <klim8d AT gmail DOT com>
|
||||
Muhammad Fawwaz Orabi <mfawwaz93 AT gmail DOT com>
|
||||
Nakao Takamasa <at.mattenn AT gmail DOT com>
|
||||
|
||||
@@ -48,7 +48,7 @@ cancel=Отказ
|
||||
install=Инсталация
|
||||
title=Стъпки за инсталиране при първоначално стартиране
|
||||
docker_helper=Ако Gogs е стартиран в Docker контейнер, моля прочетете <a target="_blank" href="%s">нашите указания</a> внимателно, преди да правите промени по настройките на тази страница!
|
||||
requite_db_desc=Gogs requires MySQL, PostgreSQL, SQLite3, MSSQL or TiDB.
|
||||
requite_db_desc=Gogs изисква MySQL, PostgreSQL, SQLite3 или TiDB.
|
||||
db_title=Настройки на базата данни
|
||||
db_type=Тип на база данни
|
||||
host=Сървър
|
||||
@@ -58,8 +58,8 @@ db_name=Име на база данни
|
||||
db_helper=Моля, използвайте INNODB engine с utf8_general_ci кодиране на знаци за MySQL.
|
||||
ssl_mode=Режим SSL
|
||||
path=Път
|
||||
sqlite_helper=The file path of SQLite3 database. <br>Please use absolute path when you start as service.
|
||||
err_empty_db_path=SQLite3 database path cannot be empty.
|
||||
sqlite_helper=Път към файл на SQLite3 база от данни. <br>Моля използвайте абсолютен път, когато стартирате gogs като услуга.
|
||||
err_empty_db_path=Пътят към SQLite3 базата от данни не може да бъде празен.
|
||||
no_admin_and_disable_registration=Невъзможно изключване на регистрациите без предварително да е създаден поне един административен профил.
|
||||
err_empty_admin_password=Паролата на администратор не може да е празна.
|
||||
|
||||
@@ -74,16 +74,16 @@ domain=Домейн
|
||||
domain_helper=Тази настройка влияе на URL адреса за клониране чрез SSH.
|
||||
ssh_port=SSH порт
|
||||
ssh_port_helper=Номер на порт на SSH сървъра. Оставете празно за да изключите достъп през SSH.
|
||||
use_builtin_ssh_server=Use Builtin SSH Server
|
||||
use_builtin_ssh_server_popup=Start builtin SSH server for Git operations to distinguish from system SSH daemon.
|
||||
use_builtin_ssh_server=Използване на вграден SSH сървър
|
||||
use_builtin_ssh_server_popup=Стартиране на вграден SSH сървър за Git операции, различен от системния SSH демон.
|
||||
http_port=HTTP порт
|
||||
http_port_helper=Порт, на който приложението ще слуша.
|
||||
app_url=URL адрес на приложението
|
||||
app_url_helper=Този настройка променя HTTP/HTTPS адреса за клониране, а понякога и адреса на ел. поща.
|
||||
log_root_path=Път към журналите
|
||||
log_root_path_helper=Директория в която се записват журналите.
|
||||
enable_console_mode=Enable Console Mode
|
||||
enable_console_mode_popup=In addition to file mode, also print logs to console.
|
||||
enable_console_mode=Включване на конзолен режим
|
||||
enable_console_mode_popup=Изписване на логовете в конзолата, в допълнение към файловият режим.
|
||||
|
||||
optional_title=Опционални настройки
|
||||
email_title=Настройки на пощенска услуга
|
||||
@@ -119,7 +119,7 @@ sqlite3_not_available=Вашата версия не поддържа SQLite3,
|
||||
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=Невалидно поле От: %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=Двуфакторно удостоверяване
|
||||
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=Recovery code has been used or does not valid.
|
||||
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=Изтрий профил
|
||||
@@ -335,25 +335,25 @@ key_state_desc=Този ключ е използван през последни
|
||||
token_state_desc=Този API ключ е използван през последните 7 дни
|
||||
|
||||
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_invalid_passcode=The passcode you entered is not valid, please try again!
|
||||
two_factor_then_enter_passcode=След това въведете паролата:
|
||||
two_factor_verify=Потвърждаване
|
||||
two_factor_invalid_passcode=Въведената парола е невалидна! Моля опитайте отново.
|
||||
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=Ново генериране на кодове за възстановяване
|
||||
two_factor_regenerate_recovery_codes_error=Неуспешно генериране на кодове за възстановяване: %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?
|
||||
@@ -375,10 +375,10 @@ orgs.none=Не сте член на никоя организация.
|
||||
orgs.leave_title=Напусни организация
|
||||
orgs.leave_desc=Ще загубите достъп до всички хранилища и екипи, след като напуснете организацията. Желаете ли да продължите?
|
||||
|
||||
repos.leave=Leave
|
||||
repos.leave_title=Leave repository
|
||||
repos.leave=Напускане
|
||||
repos.leave_title=Напускане на хранилище
|
||||
repos.leave_desc=You will lose access to the repository after you left. Do you want to continue?
|
||||
repos.leave_success=You have left repository '%s' successfully!
|
||||
repos.leave_success=Вие успешно напуснахте хранилище "%s"!
|
||||
|
||||
delete_account=Изтриване на собствения профил
|
||||
delete_prompt=Тази операция ще изтрие Вашия профил завинаги и тя <strong>НЕ МОЖЕ</strong> да бъде отменена в последствие!
|
||||
@@ -450,7 +450,7 @@ quick_guide=Бърз справочник
|
||||
clone_this_repo=Клонирай хранилището
|
||||
create_new_repo_command=Създай ново хранилище чрез командния ред
|
||||
push_exist_repo=Предай съществуващо хранилище през командния ред
|
||||
bare_message=This repository does not have any content yet.
|
||||
bare_message=Това хранилище все още не съдържа нищо.
|
||||
|
||||
files=Файлове
|
||||
branch=Клон
|
||||
@@ -463,7 +463,7 @@ pulls=Заявки за сливане
|
||||
labels=Етикети
|
||||
milestones=Етапи
|
||||
commits=Ревизии
|
||||
git_branches=Branches
|
||||
git_branches=Клонове
|
||||
releases=Версии
|
||||
file_raw=Директен файл
|
||||
file_history=История
|
||||
@@ -472,12 +472,12 @@ file_permalink=Постоянна връзка
|
||||
file_too_large=Този файл е твърде голям за да се визуализира
|
||||
video_not_supported_in_browser=Вашият браузър не поддържа HTML5 видео тагове.
|
||||
|
||||
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=Преглед
|
||||
branches.active_branches=Активни клонове
|
||||
branches.stale_branches=Застинали клонове
|
||||
branches.all=Всички клонове
|
||||
branches.updated_by=Актуализирани %[1]s от %[2]s
|
||||
branches.change_default_branch=Промяна на клон по подразбиране
|
||||
|
||||
editor.new_file=Нов файл
|
||||
editor.upload_file=Качи файл
|
||||
@@ -616,6 +616,7 @@ pulls.compare_compare=сравни
|
||||
pulls.filter_branch=Филтър по клон
|
||||
pulls.no_results=Няма резултати.
|
||||
pulls.nothing_to_compare=Няма нищо за сравняване, защото родителският клон и върхът са еднакви.
|
||||
pulls.nothing_merge_base=Няма нищо за сравняване, защото двата клона имат напълно различна история.
|
||||
pulls.has_pull_request=`Вече има заявка за сливане между тези две цели: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
|
||||
pulls.create=Създай заявка за сливане
|
||||
pulls.title_desc=заяви обединяване на %[1]d ревизии от <code>%[2]s</code> във <code>%[3]s</code>
|
||||
@@ -631,6 +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.merge_pull_request=Обедини заявка за сливане
|
||||
pulls.open_unmerged_pull_exists=`Невъзможно повторно отваряне, защото вече съществува заявка за сливане (#%d) от същото хранилище със същата информация за обединяване, която чака да бъде извършена`
|
||||
pulls.delete_branch=Изтрий клон
|
||||
@@ -685,28 +688,28 @@ settings.collaboration.admin=За администрация
|
||||
settings.collaboration.write=За писане
|
||||
settings.collaboration.read=За четене
|
||||
settings.collaboration.undefined=Недефинирано
|
||||
settings.branches=Branches
|
||||
settings.branches=Клонове
|
||||
settings.branches_bare=You cannot manage branches for bare repository. Please push some content first.
|
||||
settings.default_branch=Default Branch
|
||||
settings.default_branch=Клон по подразбиране
|
||||
settings.default_branch_desc=The default branch is considered the "base" branch for code commits, pull requests and online editing.
|
||||
settings.update=Update
|
||||
settings.update_default_branch_unsupported=Change default branch is not supported by the Git version on server.
|
||||
settings.update_default_branch_unsupported=Промяна на клон по подразбиране не се поддържа от тази версия на Git сървъра.
|
||||
settings.update_default_branch_success=Default branch of this repository has been updated successfully!
|
||||
settings.protected_branches=Protected Branches
|
||||
settings.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.choose_a_branch=Избор на клон...
|
||||
settings.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=Списък на всички, които могат да изпращат към този клон
|
||||
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_users=Потребители, които могат да изпращат към този клон
|
||||
settings.protect_whitelist_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.protect_whitelist_search_teams=Търсене на екипи
|
||||
settings.update_protect_branch_success=Protect options for this branch has been updated successfully!
|
||||
settings.hooks=Уеб-куки
|
||||
settings.githooks=Git куки
|
||||
@@ -736,6 +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.danger_zone=Опасна зона
|
||||
settings.cannot_fork_to_same_owner=You cannot fork a repository to its original owner.
|
||||
settings.new_owner_has_same_repo=Новият притежател вече има хранилище със същото име. Изберете друго име.
|
||||
@@ -756,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=Настройките на хранилището са запазени успешно.
|
||||
@@ -806,8 +811,8 @@ settings.event_send_everything=При <strong>всички</strong> събити
|
||||
settings.event_choose=Нека избера от какво имам нужда.
|
||||
settings.event_create=Създаване
|
||||
settings.event_create_desc=Създаване на клон или маркер
|
||||
settings.event_delete=Delete
|
||||
settings.event_delete_desc=Branch or tag deleted
|
||||
settings.event_delete=Изтриване
|
||||
settings.event_delete_desc=Изтрит клон или етикет
|
||||
settings.event_fork=Fork
|
||||
settings.event_fork_desc=Repository forked
|
||||
settings.event_push=Предаване
|
||||
@@ -829,7 +834,8 @@ settings.delete_webhook=Изтрий уеб-куката
|
||||
settings.recent_deliveries=Последни изпращания
|
||||
settings.hook_type=Тип на куката
|
||||
settings.add_slack_hook_desc=Добавяне на интеграция със <a href="%s">Slack</a> във Вашето хранилище.
|
||||
settings.add_discord_hook_desc=Add <a href="%s">Discord</a> integration to your repository.
|
||||
settings.add_discord_hook_desc=Добавяне на интеграция с <a href="%s">Discord</a> към хранилището.
|
||||
settings.add_dingtalk_hook_desc=Добавяне на интеграция с <a href="%s">Dingtalk</a> към хранилището.
|
||||
settings.slack_token=API ключ
|
||||
settings.slack_domain=Домейн
|
||||
settings.slack_channel=Канал
|
||||
@@ -912,7 +918,7 @@ team_permission_desc=Какво ниво на достъп трябва да и
|
||||
|
||||
form.name_reserved=Името на организацията '%s' е запазено.
|
||||
form.name_pattern_not_allowed=Име на организацията от вида '%s' не е разрешено.
|
||||
form.team_name_reserved=Team name '%s' is reserved.
|
||||
form.team_name_reserved=Име на екип "%s" е запазено.
|
||||
|
||||
settings=Настройки
|
||||
settings.options=Опции
|
||||
@@ -1079,7 +1085,7 @@ repos.private=Частно
|
||||
repos.watches=Наблюдавания
|
||||
repos.stars=Харесвания
|
||||
repos.issues=Задачи
|
||||
repos.size=Size
|
||||
repos.size=Размер
|
||||
|
||||
auths.auth_manage_panel=Управление на удостоверявания
|
||||
auths.new=Добави нов начин на удостоверяване
|
||||
@@ -1094,6 +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_password=Парола за свръзка
|
||||
auths.bind_password_helper=Внимание: Тази парола се запазва некриптирана. Моля използвайте потребител, който няма административен достъп.
|
||||
auths.user_base=Базов OU за търсене
|
||||
@@ -1134,6 +1141,7 @@ auths.still_in_used=Това удостоверяване все още се и
|
||||
auths.deletion_success=Удостоверяването е изтрито успешно!
|
||||
auths.login_source_exist=Източник за валидация на потребители "%s" вече съществува.
|
||||
|
||||
config.not_set=(not set)
|
||||
config.server_config=Сървърни настройки
|
||||
config.app_name=Име на приложението
|
||||
config.app_ver=Версия на приложението
|
||||
@@ -1155,21 +1163,25 @@ 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=Проверка за минимален размер на ключове
|
||||
config.ssh_minimum_key_sizes=Минимален размер на ключове
|
||||
|
||||
config.repo_config=Repository Configuration
|
||||
config.repo_config=Конфигурация на хранилище
|
||||
config.repo_root_path=Основен път към хранилища
|
||||
config.script_type=Тип на скрипта
|
||||
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.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.http_config=Конфигуриране на HTTP
|
||||
config.http_access_control_allow_origin=Access Control Allow Origin
|
||||
|
||||
config.db_config=Настройки на базата данни
|
||||
config.db_type=Тип
|
||||
config.db_host=Сървър
|
||||
@@ -1199,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=Изпрати тестово писмо
|
||||
@@ -1242,8 +1254,8 @@ config.git_pull_timeout=Време за отказ при сливане
|
||||
config.git_gc_timeout=Време за отказ при GC
|
||||
|
||||
config.log_config=Конфигурация на журнал
|
||||
config.log_mode=Mode
|
||||
config.log_options=Options
|
||||
config.log_mode=Режим
|
||||
config.log_options=Настройки
|
||||
|
||||
monitor.cron=Cron задачи
|
||||
monitor.name=Име
|
||||
@@ -1285,10 +1297,10 @@ create_pull_request=`създаде заявка за сливане <a href="%s
|
||||
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=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> % <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=deleted tag <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
|
||||
delete_tag=изтри етикет <code>%[2]s</code> % <a href="%[1]s">[3]s</a>
|
||||
|
||||
[tool]
|
||||
ago=преди
|
||||
|
||||
@@ -39,7 +39,7 @@ your_profile=Váš profil
|
||||
your_settings=Vaše nastavení
|
||||
|
||||
activities=Aktivity
|
||||
pull_requests=Požadavky na natažení
|
||||
pull_requests=Pull Requesty
|
||||
issues=Úkoly
|
||||
|
||||
cancel=Zrušit
|
||||
@@ -56,7 +56,7 @@ user=Uživatel
|
||||
password=Heslo
|
||||
db_name=Název databáze
|
||||
db_helper=Prosím, pro MySQL použijte INNODB engine se znakovou sadou utf8_general_ci.
|
||||
ssl_mode=SSL Mód
|
||||
ssl_mode=SSL režim
|
||||
path=Cesta
|
||||
sqlite_helper=Cesta k SQLite3 databázi. <br>Prosím, použijte absolutní cestu, pokud startujete Gogs jako službu.
|
||||
err_empty_db_path=Cesta k SQLite3 databázi nemůže být prázdná.
|
||||
@@ -72,7 +72,7 @@ run_user=Účet pro spouštění
|
||||
run_user_helper=Tento uživatel musí mít přístup do kořenového adresáře repositářů a právo spustit Gogs.
|
||||
domain=Doména
|
||||
domain_helper=Toto ovlivňuje URL klonů skrze SSH.
|
||||
ssh_port=Port SSH
|
||||
ssh_port=SSH port
|
||||
ssh_port_helper=Číslo portu, které používá váš SSH server. Nechte jej prázdné pro vypnutí používání SSH.
|
||||
use_builtin_ssh_server=Použít vestavěný SSH server
|
||||
use_builtin_ssh_server_popup=Pro Git operace spustit vestavěný SSH server, aby byl rozpoznán od systémové SSH služby.
|
||||
@@ -149,22 +149,22 @@ search=Vyhledat
|
||||
create_new_account=Vytvořit nový účet
|
||||
register_hepler_msg=Již máte účet? Přihlašte se!
|
||||
social_register_hepler_msg=Již máte účet? Připojte se!
|
||||
disable_register_prompt=Omlouvám se, ale registrace jsou vypnuty. Prosím, spojte se správcem systému.
|
||||
disable_register_mail=Omlouvám se, e-mailové služby byly vypnuty. Prosím, spojte se správce serveru.
|
||||
disable_register_prompt=Omlouváme se, ale registrace jsou vypnuty. Kontaktujte správce systému.
|
||||
disable_register_mail=Omlouváme se, ale e-mailové služby jsou vypnuté. Kontaktujte správce systému.
|
||||
remember_me=Zapamatovat si mne
|
||||
forgot_password=Zapomenuté heslo
|
||||
forget_password=Zapomněli jste heslo?
|
||||
sign_up_now=Potřebujete účet? Zaregistrujte se.
|
||||
confirmation_mail_sent_prompt=Nový potvrzovací e-mail byl zaslán na <b>%s</b>, prosím, zkontrolujte si vaši doručenou poštu během následující %d hodin pro dokončení registračního procesu.
|
||||
confirmation_mail_sent_prompt=Na adresu <b>%s</b> byl zaslán nový potvrzovací e-mail. Zkontrolujte prosím vaši doručenou poštu během následujících %d hodin pro dokončení registračního procesu.
|
||||
active_your_account=Aktivujte si váš účet
|
||||
prohibit_login=Přihlášení zakázáno
|
||||
prohibit_login_desc=Vašemu účtu je zakázáno se přihlásit, kontaktujte prosím správce serveru.
|
||||
resent_limit_prompt=Omlouvám se, ale před chvílí jste požádal o aktivační e-mail. Prosím, počkejte 3 minuty a pak to zkuste znovu.
|
||||
resent_limit_prompt=Omlouváme se, ale před chvílí jste požádal o zaslání aktivačního e-mailu. Počkejte prosím 3 minuty a pak to zkuste znovu.
|
||||
has_unconfirmed_mail=Zdravím, %s, máte nepotvrzenou e-mailovou adresu (<b>%s</b>). Pokud jste nedostali potvrzovací e-mail nebo potřebujete zaslat nový, klikněte prosím na tlačítko níže.
|
||||
resend_mail=Klikněte zde pro odeslání aktivačního e-mailu
|
||||
send_reset_mail=Klikněte zde pro (znovu)poslání e-mailu pro změnu vašeho hesla
|
||||
resend_mail=Klikněte zde pro opakované odeslání aktivačního e-mailu
|
||||
send_reset_mail=Klikněte zde pro (opakované) odeslání e-mailu pro obnovu vašeho hesla
|
||||
reset_password=Obnova vašeho hesla
|
||||
invalid_code=Omlouvám se, ale kód potvrzení vašeho e-mailu vypršel nebo není správný.
|
||||
invalid_code=Omlouváme se, ale kód z vašeho potvrzovacího e-mailu už vypršel nebo není správný.
|
||||
reset_password_helper=Klikněte zde pro obnovu vašeho hesla
|
||||
password_too_short=Délka hesla musí být minimálně 6 znaků.
|
||||
non_local_account=Externí účty nemohou měnit hesla přes Gogs.
|
||||
@@ -175,7 +175,7 @@ login_two_factor_enter_recovery_code=Zadejte obnovovací kód dvoufaktorového o
|
||||
login_two_factor_recovery=Obnovení dvoufaktorového ověření
|
||||
login_two_factor_recovery_code=Obnovovací kód
|
||||
login_two_factor_enter_passcode=Zadejte přístupový kód dvoufaktorového ověření
|
||||
login_two_factor_invalid_recovery_code=Obnovovací kód byl již použit nebo není platný.
|
||||
login_two_factor_invalid_recovery_code=Obnovovací kód již byl použit nebo není platný.
|
||||
|
||||
[mail]
|
||||
activate_account=Prosím, aktivujte si váš účet
|
||||
@@ -195,7 +195,7 @@ RepoName=Název repositáře
|
||||
Email=E-mailová adresa
|
||||
Password=Heslo
|
||||
Retype=Zadejte znovu heslo
|
||||
SSHTitle=Název klíče SSH
|
||||
SSHTitle=Název SSH klíče
|
||||
HttpsUrl=HTTPS URL
|
||||
PayloadUrl=URL nákladu
|
||||
TeamName=Název týmu
|
||||
@@ -210,18 +210,18 @@ TreeName=Cesta k souboru
|
||||
Content=Obsah
|
||||
|
||||
require_error=` nemůže být prázdný.`
|
||||
alpha_dash_error=` musí být pouze písmena, číslice či znaky - a _ .`
|
||||
alpha_dash_dot_error=` musí být pouze písmena, číslice, tečka, čárka či znaky - a _ .`
|
||||
alpha_dash_dot_slash_error=` musí být validní písmena, čísla nebo pomlčka, podtržítko či tečka, čárka a nebo lomítka.`
|
||||
size_error=` musí být minimálně velikosti %s.`
|
||||
alpha_dash_error=` smí obsahovat pouze písmena, číslice, pomlčku a podtržítko.`
|
||||
alpha_dash_dot_error=` smí obsahovat pouze písmena, číslice, tečku, čárku, pomlčku a podtržítko.`
|
||||
alpha_dash_dot_slash_error=` smí obsahovat pouze písmena, číslice, tečku, čárku, pomlčku, podtržítko a lomítko.`
|
||||
size_error=` musí mít velikost %s.`
|
||||
min_size_error=` musí obsahovat nejméně %s znaků.`
|
||||
max_size_error=` musí obsahovat maximálně %s znaků.`
|
||||
email_error=` není správná e-mailová adresa.`
|
||||
url_error=` není správná URL.`
|
||||
email_error=` není platná e-mailová adresa.`
|
||||
url_error=` není platná URL.`
|
||||
include_error=` musí obsahovat řetězec '%s'.`
|
||||
unknown_error=Neznámá chyba:
|
||||
captcha_incorrect=Zadaná CAPTCHA se neshoduje.
|
||||
password_not_match=Heslo a heslo pro potvrzení nejsou shodné.
|
||||
password_not_match=Heslo a jeho potvrzení se neshodují.
|
||||
|
||||
username_been_taken=Uživatelské jméno je již obsazeno.
|
||||
repo_name_been_taken=Název repositáře je již obsazen.
|
||||
@@ -233,21 +233,21 @@ enterred_invalid_repo_name=Ujistěte se, prosím, že zadaný název repositář
|
||||
enterred_invalid_owner_name=Ujistěte se, prosím, že jméno vlastníka je zadáno správně.
|
||||
enterred_invalid_password=Ujistěte se, prosím, že zadané heslo je správné.
|
||||
user_not_exist=Zadaný uživatel neexistuje.
|
||||
last_org_owner=Odstranění posledního uživatele z týmu vlastníka není dovoleno, neboť vždy musí v každé organizaci existovat jeden vlastník.
|
||||
last_org_owner=Odstranění posledního uživatele z týmu vlastníků není dovoleno, protože každá organizace musí mít alespoň jednoho vlastníka.
|
||||
|
||||
invalid_ssh_key=Omlouvám se, ale není možné ověřit váš klíč SSH: %s
|
||||
unable_verify_ssh_key=Gogs nemohl ověřit váš klíč SSH, ale předpokládáme, že je platný, nicméně zkontrolujte jej prosím.
|
||||
invalid_ssh_key=Omlouváme se, ale váš SSH klíč není možné ověřit: %s
|
||||
unable_verify_ssh_key=Gogs nemohl ověřit váš SSH klíč, ale budeme předpokládat, že je platný. Přesto ho prosím zkontrolujte.
|
||||
auth_failed=Ověření selhalo: %v
|
||||
|
||||
still_own_repo=Váš účet stále vlastní minimálně jeden repositář. Musíte je nejdříve smazat nebo předat.
|
||||
still_has_org=Váš účet je stále členem minimálně jedné organizace. Je nutné ji nejdříve opustit nebo smazat vaše členství.
|
||||
still_own_repo=Váš účet stále vlastní nějaké repositáře. Nejdříve je musíte smazat nebo někomu předat.
|
||||
still_has_org=Váš účet je stále členem nějaké organizace. Je nutné ji nejdříve opustit nebo se vzdát členství.
|
||||
org_still_own_repo=Tato organizace stále vlastní repositáře, musíte je nejdříve smazat nebo předat.
|
||||
|
||||
target_branch_not_exist=Cílová větev neexistuje.
|
||||
|
||||
[user]
|
||||
change_avatar=Změnit vaši uživatelskou ikonu
|
||||
join_on=Připojil se dne
|
||||
join_on=Zaregistroval se dne
|
||||
repositories=Repositáře
|
||||
activity=Veřejná aktivita
|
||||
followers=Sledující
|
||||
@@ -263,7 +263,7 @@ form.name_pattern_not_allowed=Vzor uživatelského jména '%s' není povolen.
|
||||
profile=Profil
|
||||
password=Heslo
|
||||
avatar=Uživatelská ikona
|
||||
ssh_keys=Klíče SSH
|
||||
ssh_keys=SSH klíče
|
||||
security=Bezpečnost
|
||||
repos=Repositáře
|
||||
orgs=Organizace
|
||||
@@ -314,20 +314,20 @@ add_email=Přidat e-mailovou adresu
|
||||
add_email_confirmation_sent=Nový potvrzovací e-mail byl odeslán na adresu '%s', prosím zkontrolujte si vaši doručenou poštu během následujících %d hodin pro dokončení procesu potvrzení.
|
||||
add_email_success=Vaše nová e-mailová adresa byla přidána.
|
||||
|
||||
manage_ssh_keys=Správa klíčů SSH
|
||||
manage_ssh_keys=Správa SSH klíčů
|
||||
add_key=Přidat klíč
|
||||
ssh_desc=Toto je seznam klíčů SSH vašeho účtu. Jelikož tyto samotné klíče umožňují přístup k vašim repositářům, je velmi důležité, abyste je rozpoznal.
|
||||
ssh_helper=<strong>Nevíte jak?</strong> Podívejte se do příručky GitHubu na to <a href="%s">vytvoření vlastních klíčů SSH</a> nebo vyřešte <a href="%s">bežné problémy</a>, se kterými se můžete potkat při použití SSH.
|
||||
add_new_key=Přidat klíč SSH
|
||||
ssh_desc=Toto je seznam SSH klíčů vašeho účtu. Tyto klíče umožňují plný přístup k vašim repositářům, proto je velmi důležité, abyste jste si byli jistí, že jsou skutečně vaše.
|
||||
ssh_helper=<strong>Nevíte jak?</strong> Podívejte se do příručky GitHubu jak si <a href="%s">vytvořit vlastní SSH klíč</a>, nebo na <a href="%s">řešení častých problémů</a>, na které můžete narazit při používání SSH.
|
||||
add_new_key=Přidat SSH klíč
|
||||
ssh_key_been_used=Obsah veřejného klíče byl použit.
|
||||
ssh_key_name_used=Veřejný klíč se stejným jménem již existuje.
|
||||
key_name=Název klíče
|
||||
key_content=Obsah
|
||||
add_key_success=Nový klíč SSH '%s' byl přidán!
|
||||
add_key_success=Byl přidán nový SSH klíč '%s'!
|
||||
delete_key=Smazat
|
||||
ssh_key_deletion=Smazání klíče SSH
|
||||
ssh_key_deletion_desc=Smazání tohoto klíče SSH odstraní všechny související přístupy k vašemu účtu. Chcete pokračovat?
|
||||
ssh_key_deletion_success=Klíč SSH byl smazán!
|
||||
ssh_key_deletion=Smazání SSH klíče
|
||||
ssh_key_deletion_desc=Smazání tohoto SSH klíče odstraní všechny související přístupy k vašemu účtu. Chcete pokračovat?
|
||||
ssh_key_deletion_success=SSH klíč úspěšně odstraněn!
|
||||
add_on=Přidán dne
|
||||
last_used=Naposledy použit dne
|
||||
no_activity=Žádná aktuální aktivita
|
||||
@@ -459,7 +459,7 @@ filter_branch_and_tag=Filtr pro větev nebo značku
|
||||
branches=Větve
|
||||
tags=Značky
|
||||
issues=Úkoly
|
||||
pulls=Požadavky na natažení
|
||||
pulls=Pull Requesty
|
||||
labels=Štítky
|
||||
milestones=Milníky
|
||||
commits=Revize
|
||||
@@ -616,6 +616,7 @@ pulls.compare_compare=porovnat
|
||||
pulls.filter_branch=Filtrovat větev
|
||||
pulls.no_results=Nebyly nalezeny žádné výsledky.
|
||||
pulls.nothing_to_compare=Není co porovnávat, protože základ a hlavní větve jsou shodné.
|
||||
pulls.nothing_merge_base=There is nothing to compare because two branches have completely different history.
|
||||
pulls.has_pull_request=`Požadavek na natažení mezi těmito větvemi již existuje: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
|
||||
pulls.create=Vytvořit požadavek na natažení
|
||||
pulls.title_desc=chce sloučit %[1]d revizí z větve <code>%[2]s</code> do větve <code>%[3]s</code>
|
||||
@@ -631,6 +632,8 @@ pulls.is_checking=Kontrola rozporů stále pokračuje, prosím obnovte za někol
|
||||
pulls.can_auto_merge_desc=Tento požadavek na natažení může být automaticky sloučen.
|
||||
pulls.cannot_auto_merge_desc=Tento požadavek na natažení nemůže být automaticky sloučen, neboť se v něm nachází rozpory.
|
||||
pulls.cannot_auto_merge_helper=Prosím proveďte sloučení ručně, aby byly vyřešeny rozpory.
|
||||
pulls.create_merge_commit=Create a merge commit
|
||||
pulls.rebase_before_merging=Rebase before merging
|
||||
pulls.merge_pull_request=Sloučit požadavek na natažení
|
||||
pulls.open_unmerged_pull_exists=`Nemůžete znovuotevřít požadavek na natažení, neboť požadavek na natažení ze stejného repositáře se stejnými informacemi pro sloučení již existuje (#%d) a čeká na sloučení.`
|
||||
pulls.delete_branch=Smazat větev
|
||||
@@ -736,6 +739,8 @@ settings.tracker_issue_style.numeric=Číselný
|
||||
settings.tracker_issue_style.alphanumeric=Alfanumerický
|
||||
settings.tracker_url_format_desc=Můžete použít zástupné výrazy <code>{user} {repo} {index}</code> pro uživatelské jméno, název repositáře a číslo úkolu.
|
||||
settings.pulls_desc=Povolit požadavky na natažení, aby mohly být příspěvky veřejnosti akceptovány
|
||||
settings.pulls.ignore_whitespace=Ignore changes in whitespace
|
||||
settings.pulls.allow_rebase_merge=Allow use rebase to merge commits
|
||||
settings.danger_zone=Nebezpečná zóna
|
||||
settings.cannot_fork_to_same_owner=Nemůžete rozštěpit repositář jejímu vlastníkovi.
|
||||
settings.new_owner_has_same_repo=Nový vlastník již repositář se stejným názvem má. Vyberte, prosím, jiné jméno.
|
||||
@@ -756,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.
|
||||
@@ -830,13 +835,14 @@ settings.recent_deliveries=Nedávné dodávky
|
||||
settings.hook_type=Typ háčku
|
||||
settings.add_slack_hook_desc=Přidat integraci <a href="%s">Slacku</a> do vašeho repositáře.
|
||||
settings.add_discord_hook_desc=Přidat integraci <a href="%s">Discord</a> do vašeho repositáře.
|
||||
settings.add_dingtalk_hook_desc=Add <a href="%s">Dingtalk</a> integration to your repository.
|
||||
settings.slack_token=Poukázka
|
||||
settings.slack_domain=Doména
|
||||
settings.slack_channel=Kanál
|
||||
settings.deploy_keys=Klíče pro nasazení
|
||||
settings.deploy_keys_helper=<b>Přichycen při činu!</b> Pokud chcete přidat osobní veřejné klíče, zadejte je prosím v <a href="%s%s">nastavení vašeho účtu</a>.
|
||||
settings.add_deploy_key=Přidat klíč pro nasazení
|
||||
settings.deploy_key_desc=Klíče pro nasazení mají pouze přístup ke čtení. Nejsou stejné jako osobní klíče SSH.
|
||||
settings.deploy_key_desc=Klíče pro nasazení mají pouze přístup ke čtení. Nejsou stejné jako osobní SSH klíče.
|
||||
settings.no_deploy_keys=Žádné klíče pro nasazení nebyly ještě přidány.
|
||||
settings.title=Název
|
||||
settings.deploy_key_content=Obsah
|
||||
@@ -1094,20 +1100,21 @@ auths.domain=Doména
|
||||
auths.host=Server
|
||||
auths.port=Port
|
||||
auths.bind_dn=Připojení DN
|
||||
auths.bind_dn_helper=You can use '%s' as placeholder for username, e.g. DOM\%s
|
||||
auths.bind_password=Heslo připojení
|
||||
auths.bind_password_helper=Upozornění: Toto heslo je ukládáno nešifrované. Nepoužívejte pro správcovské účty.
|
||||
auths.user_base=Výchozí místo hledání uživatelů
|
||||
auths.user_dn=DN uživatele
|
||||
auths.attribute_username=Uživatelské jméno
|
||||
auths.attribute_username=Atribut uživatelského jména
|
||||
auths.attribute_username_placeholder=Nechte toto pole prázdné pro použití hodnoty pole uživatelského jména z přihlašovacího formuláře.
|
||||
auths.attribute_name=First Name Attribute
|
||||
auths.attribute_surname=Příjmení
|
||||
auths.attribute_mail=E-mailová adresa
|
||||
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.attribute_name=Atribut křestního jména
|
||||
auths.attribute_surname=Atribut příjmení
|
||||
auths.attribute_mail=Atribut e-mailové adresy
|
||||
auths.verify_group_membership=Ověřovat členství ve skupině
|
||||
auths.group_search_base_dn=Základní DN pro vyhledávání skupin
|
||||
auths.group_filter=Skupinový filtr
|
||||
auths.group_attribute_contain_user_list=Skupinový atribut, který obsahuje seznam uživatelů
|
||||
auths.user_attribute_listed_in_group=Atribut uživatele (ve skupině)
|
||||
auths.attributes_in_bind=Vyzvednout atributy v kontextu Bind DN
|
||||
auths.filter=Uživatelský filtr
|
||||
auths.admin_filter=Správcovský filtr
|
||||
@@ -1134,6 +1141,7 @@ auths.still_in_used=Tento způsob ověřování je stále používán některým
|
||||
auths.deletion_success=Způsob ověřování byl smazán!
|
||||
auths.login_source_exist=Zdroj přihlášení '%s' již existuje.
|
||||
|
||||
config.not_set=(not set)
|
||||
config.server_config=Nastavení serveru
|
||||
config.app_name=Název aplikace
|
||||
config.app_ver=Verze aplikace
|
||||
@@ -1155,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íčů
|
||||
@@ -1170,12 +1179,15 @@ config.disable_http_git=Vypnout HTTP Git
|
||||
config.enable_local_path_migration=Povolit migraci z místní cesty
|
||||
config.commits_fetch_concurrency=Souběžnost vyzvednutí revizí
|
||||
|
||||
config.http_config=HTTP Configuration
|
||||
config.http_access_control_allow_origin=Access Control Allow Origin
|
||||
|
||||
config.db_config=Nastavení databáze
|
||||
config.db_type=Typ
|
||||
config.db_host=Server
|
||||
config.db_name=Název
|
||||
config.db_user=Uživatel
|
||||
config.db_ssl_mode=Režim SSL
|
||||
config.db_ssl_mode=SSL režim
|
||||
config.db_ssl_mode_helper=(pouze pro 'postgres')
|
||||
config.db_path=Cesta
|
||||
config.db_path_helper=(pro "sqlite3" a "tidb")
|
||||
@@ -1199,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
|
||||
|
||||
@@ -450,7 +450,7 @@ quick_guide=Kurzanleitung
|
||||
clone_this_repo=Dieses Repository klonen
|
||||
create_new_repo_command=Erstellen Sie ein neues Repository mittels der Kommandozeile
|
||||
push_exist_repo=Bestehendes Repository von der Kommandozeile pushen
|
||||
bare_message=Dies Repository hat noch keinen Inhalt.
|
||||
bare_message=Dieses Repository hat noch keinen Inhalt.
|
||||
|
||||
files=Dateien
|
||||
branch=Branch
|
||||
@@ -616,6 +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=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
|
||||
@@ -631,6 +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=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
|
||||
@@ -641,8 +644,8 @@ milestones.open_tab=%d offen
|
||||
milestones.close_tab=%d geschlossen
|
||||
milestones.closed=Geschlossen %s
|
||||
milestones.no_due_date=Kein Fälligkeitsdatum
|
||||
milestones.open=Offen
|
||||
milestones.close=Geschlossen
|
||||
milestones.open=Öffnen
|
||||
milestones.close=Schließen
|
||||
milestones.new_subheader=Erstellen Sie Meilensteine, um ihre Issues zu organisieren.
|
||||
milestones.create=Meilenstein erstellen
|
||||
milestones.title=Titel
|
||||
@@ -736,6 +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=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.
|
||||
@@ -745,18 +750,18 @@ settings.convert_notices_1=- Dieser Vorgang wandelt das Mirror-Repository in ein
|
||||
settings.convert_confirm=Umwandlung bestätigen
|
||||
settings.convert_succeed=Das Repository wurde erfolgreich in ein normales Repository umgewandelt.
|
||||
settings.transfer=Besitz übertragen
|
||||
settings.transfer_desc=Dieses Repository auf einen anderen Benutzer bzw. eine Organisation in der Sie Admin-Rechte haben übertragen.
|
||||
settings.transfer_desc=Dieses Repository auf einen anderen Benutzer oder eine Organisation, in der Sie Admin-Rechte haben, übertragen.
|
||||
settings.transfer_notices_1=- Sie werden keinen Zugriff mehr haben, wenn der neue Besitzer ein individueller Benutzer ist.
|
||||
settings.transfer_notices_2=- Sie werden weiterhin Zugriff haben, wenn der neue Besitzer eine Organisation ist und Sie einer der Besitzer sind.
|
||||
settings.transfer_form_title=Bitte geben Sie die folgenden Informationen ein, um die Operation zu bestätigen:
|
||||
settings.wiki_delete=Wiki-Daten löschen
|
||||
settings.wiki_delete_desc=Das Löschen von Wiki Daten kann nicht rückgängig gemacht werden. Bitte seien Sie vorsichtig.
|
||||
settings.wiki_delete_desc=Das Löschen von Wiki-Daten kann nicht rückgängig gemacht werden. Bitte seien Sie vorsichtig.
|
||||
settings.wiki_delete_notices_1=- Dies löscht und deaktiviert das Wiki für %s
|
||||
settings.wiki_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.
|
||||
@@ -830,6 +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=<a href="%s">Dingtalk</a>-Integration zu deinem Repository hinzufügen.
|
||||
settings.slack_token=Token
|
||||
settings.slack_domain=Domain
|
||||
settings.slack_channel=Kanal
|
||||
@@ -1003,7 +1009,7 @@ dashboard.git_gc_repos=Garbage Collection auf Repositories ausführen
|
||||
dashboard.git_gc_repos_success=Garbage Collection wurde auf allen Repositories erfolgreich ausgeführt.
|
||||
dashboard.resync_all_sshkeys=Datei '.ssh/authorized_keys' neu anlegen (Achtung: Schlüssel, die nicht zu Gogs gehören gehen verloren)
|
||||
dashboard.resync_all_sshkeys_success=Alle öffentlichen Keys wurden erfolgreich neu geschrieben.
|
||||
dashboard.resync_all_hooks=Synchronisiere pre-receive, update und post-receive Hooks für alle Repositorien
|
||||
dashboard.resync_all_hooks=Synchronisiere pre-receive, update und post-receive Hooks für alle Repositories
|
||||
dashboard.resync_all_hooks_success=Pre-receive, update und post-receive Hooks aller Repositorien wurden erfolgreich synchronisiert.
|
||||
dashboard.reinit_missing_repos=Alle Repository-Datensätze mit verloren gegangenen Git-Dateien neu initialisieren
|
||||
dashboard.reinit_missing_repos_success=Alle Repository-Datensätze, die Git-Dateien verloren haben wurden erfolgreich neu initialisiert.
|
||||
@@ -1094,6 +1100,7 @@ auths.domain=Domain
|
||||
auths.host=Host
|
||||
auths.port=Port
|
||||
auths.bind_dn=DN binden
|
||||
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
|
||||
@@ -1134,6 +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=(nicht festgelegt)
|
||||
config.server_config=Serverkonfiguration
|
||||
config.app_name=Name der Anwendung
|
||||
config.app_ver=Anwendungsversion
|
||||
@@ -1155,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
|
||||
@@ -1170,6 +1179,9 @@ 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-Konfiguration
|
||||
config.http_access_control_allow_origin=Access Control Allow Origin
|
||||
|
||||
config.db_config=Datenbankkonfiguration
|
||||
config.db_type=Typ
|
||||
config.db_host=Host
|
||||
@@ -1199,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
|
||||
|
||||
@@ -616,6 +616,7 @@ pulls.compare_compare=compare
|
||||
pulls.filter_branch=Filter branch
|
||||
pulls.no_results=No results found.
|
||||
pulls.nothing_to_compare=There is nothing to compare because base and head branches are even.
|
||||
pulls.nothing_merge_base=There is nothing to compare because two branches have completely different history.
|
||||
pulls.has_pull_request=`There is already a pull request between these two targets: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
|
||||
pulls.create=Create Pull Request
|
||||
pulls.title_desc=wants to merge %[1]d commits from <code>%[2]s</code> into <code>%[3]s</code>
|
||||
@@ -631,6 +632,8 @@ pulls.is_checking=The conflict checking is still in progress, please refresh pag
|
||||
pulls.can_auto_merge_desc=This pull request can be merged automatically.
|
||||
pulls.cannot_auto_merge_desc=This pull request can't be merged automatically because there are conflicts.
|
||||
pulls.cannot_auto_merge_helper=Please merge manually in order to resolve the conflicts.
|
||||
pulls.create_merge_commit=Create a merge commit
|
||||
pulls.rebase_before_merging=Rebase before merging
|
||||
pulls.merge_pull_request=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.delete_branch=Delete Branch
|
||||
@@ -736,6 +739,8 @@ settings.tracker_issue_style.numeric=Numeric
|
||||
settings.tracker_issue_style.alphanumeric=Alphanumeric
|
||||
settings.tracker_url_format_desc=You can use placeholder <code>{user} {repo} {index}</code> for user name, repository name and issue index.
|
||||
settings.pulls_desc=Enable pull requests to accept public contributions
|
||||
settings.pulls.ignore_whitespace=Ignore changes in whitespace
|
||||
settings.pulls.allow_rebase_merge=Allow use rebase to merge commits
|
||||
settings.danger_zone=Danger Zone
|
||||
settings.cannot_fork_to_same_owner=You cannot fork a repository to its original owner.
|
||||
settings.new_owner_has_same_repo=The new owner already has a repository with same name. Please choose another name.
|
||||
@@ -756,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.
|
||||
@@ -830,6 +835,7 @@ settings.recent_deliveries=Recent Deliveries
|
||||
settings.hook_type=Hook Type
|
||||
settings.add_slack_hook_desc=Add <a href="%s">Slack</a> integration to your repository.
|
||||
settings.add_discord_hook_desc=Add <a href="%s">Discord</a> integration to your repository.
|
||||
settings.add_dingtalk_hook_desc=Add <a href="%s">Dingtalk</a> integration to your repository.
|
||||
settings.slack_token=Token
|
||||
settings.slack_domain=Domain
|
||||
settings.slack_channel=Channel
|
||||
@@ -1094,6 +1100,7 @@ auths.domain=Domain
|
||||
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_password=Bind Password
|
||||
auths.bind_password_helper=Warning: This password is stored in plain text. Do not use a high privileged account.
|
||||
auths.user_base=User Search Base
|
||||
@@ -1134,6 +1141,7 @@ auths.still_in_used=This authentication is still used by some users, please dele
|
||||
auths.deletion_success=Authentication has been deleted successfully!
|
||||
auths.login_source_exist=Login source '%s' already exists.
|
||||
|
||||
config.not_set=(not set)
|
||||
config.server_config=Server Configuration
|
||||
config.app_name=Application Name
|
||||
config.app_ver=Application Version
|
||||
@@ -1155,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
|
||||
@@ -1170,6 +1179,9 @@ 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_access_control_allow_origin=Access Control Allow Origin
|
||||
|
||||
config.db_config=Database Configuration
|
||||
config.db_type=Type
|
||||
config.db_host=Host
|
||||
@@ -1199,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
|
||||
|
||||
@@ -632,6 +632,8 @@ pulls.is_checking = The conflict checking is still in progress, please refresh p
|
||||
pulls.can_auto_merge_desc = This pull request can be merged automatically.
|
||||
pulls.cannot_auto_merge_desc = This pull request can't be merged automatically because there are conflicts.
|
||||
pulls.cannot_auto_merge_helper = Please merge manually in order to resolve the conflicts.
|
||||
pulls.create_merge_commit = Create a merge commit
|
||||
pulls.rebase_before_merging = Rebase before merging
|
||||
pulls.merge_pull_request = 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.delete_branch = Delete Branch
|
||||
@@ -737,6 +739,8 @@ settings.tracker_issue_style.numeric = Numeric
|
||||
settings.tracker_issue_style.alphanumeric = Alphanumeric
|
||||
settings.tracker_url_format_desc = You can use placeholder <code>{user} {repo} {index}</code> for user name, repository name and issue index.
|
||||
settings.pulls_desc = Enable pull requests to accept public contributions
|
||||
settings.pulls.ignore_whitespace = Ignore changes in whitespace
|
||||
settings.pulls.allow_rebase_merge = Allow use rebase to merge commits
|
||||
settings.danger_zone = Danger Zone
|
||||
settings.cannot_fork_to_same_owner = You cannot fork a repository to its original owner.
|
||||
settings.new_owner_has_same_repo = The new owner already has a repository with same name. Please choose another name.
|
||||
@@ -757,7 +761,7 @@ settings.wiki_deletion_success = Repository wiki data have been erased successfu
|
||||
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.
|
||||
@@ -831,6 +835,7 @@ settings.recent_deliveries = Recent Deliveries
|
||||
settings.hook_type = Hook Type
|
||||
settings.add_slack_hook_desc = Add <a href="%s">Slack</a> integration to your repository.
|
||||
settings.add_discord_hook_desc = Add <a href="%s">Discord</a> integration to your repository.
|
||||
settings.add_dingtalk_hook_desc = Add <a href="%s">Dingtalk</a> integration to your repository.
|
||||
settings.slack_token = Token
|
||||
settings.slack_domain = Domain
|
||||
settings.slack_channel = Channel
|
||||
@@ -1095,6 +1100,7 @@ auths.domain = Domain
|
||||
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_password = Bind Password
|
||||
auths.bind_password_helper = Warning: This password is stored in plain text. Do not use a high privileged account.
|
||||
auths.user_base = User Search Base
|
||||
@@ -1135,6 +1141,7 @@ auths.still_in_used = This authentication is still used by some users, please de
|
||||
auths.deletion_success = Authentication has been deleted successfully!
|
||||
auths.login_source_exist = Login source '%s' already exists.
|
||||
|
||||
config.not_set = (not set)
|
||||
config.server_config = Server Configuration
|
||||
config.app_name = Application Name
|
||||
config.app_ver = Application Version
|
||||
@@ -1156,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
|
||||
@@ -1171,6 +1179,9 @@ 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_access_control_allow_origin = Access Control Allow Origin
|
||||
|
||||
config.db_config = Database Configuration
|
||||
config.db_type = Type
|
||||
config.db_host = Host
|
||||
@@ -1200,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
|
||||
|
||||
@@ -119,7 +119,7 @@ sqlite3_not_available=Tu versión no soporta SQLite3, por favor descarga el bina
|
||||
invalid_db_setting=La configuración de la base de datos no es correcta: %v
|
||||
invalid_repo_path=La ruta de la raíz del repositorio es inválida: %v
|
||||
run_user_not_match=El usuario que está ejecutando la aplicación no es el usuario actual: %s -> %s
|
||||
smtp_host_missing_port=SMTP Host is missing port in address.
|
||||
smtp_host_missing_port=No se ha definido el puerto para el host SMTP.
|
||||
invalid_smtp_from=El campo SMTP no es válido: %v
|
||||
save_config_failed=Error al guardar la configuración: %v
|
||||
invalid_admin_setting=La configuración de la cuenta de administración es inválida: %v
|
||||
@@ -170,12 +170,12 @@ password_too_short=La longitud de la contraseña no puede ser menor a 6.
|
||||
non_local_account=Cuentas que no son locales no pueden cambiar las contraseñas a través de Gogs.
|
||||
|
||||
login_two_factor=Autenticación en dos pasos
|
||||
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_passcode=Pin de autenticación
|
||||
login_two_factor_enter_recovery_code=Introduce un código de recuperación de autenticación en dos pasos
|
||||
login_two_factor_recovery=Recuperación de autenticación en dos pasos
|
||||
login_two_factor_recovery_code=Código de recuperación
|
||||
login_two_factor_enter_passcode=Introduce un Pin de autenticación a dos pasos
|
||||
login_two_factor_invalid_recovery_code=El código de recuperación ya se ha utilizado o no es válido.
|
||||
|
||||
[mail]
|
||||
activate_account=Por favor, active su cuenta
|
||||
@@ -340,14 +340,14 @@ two_factor_on=Activado
|
||||
two_factor_off=Desactivado
|
||||
two_factor_enable=Activar
|
||||
two_factor_disable=Desactivar
|
||||
two_factor_view_recovery_codes=View and save <a href="%s%s">your recovery codes</a> in a safe place. You can use them as passcode if you lose access to your authentication application.
|
||||
two_factor_view_recovery_codes=Guarda <a href="%s%s"> tus códigos de recuperación</a> en un lugar seguro. Podrás usarlos como código de acceso si pierdes el acceso a tu aplicación de autenticación.
|
||||
two_factor_http=Para las operaciones sobre HTTP/HTTPS, no puedes usar un usuario y contraseña. Por favor, cree y utilice <a href="%[1]s%[2]s"> un token de acceso personal</a> como su credencial de acceso, por ejemplo, <code>%[3]s</code>.
|
||||
two_factor_enable_title=Habilitar autenticaciñon en dos pasos
|
||||
two_factor_scan_qr=Por favor, use su aplicación de autenticación para escanear la imagen:
|
||||
two_factor_or_enter_secret=Or enter the secret:
|
||||
two_factor_then_enter_passcode=Then enter passcode:
|
||||
two_factor_then_enter_passcode=Introduce el Pin:
|
||||
two_factor_verify=Verificar
|
||||
two_factor_invalid_passcode=The passcode you entered is not valid, please try again!
|
||||
two_factor_invalid_passcode=¡El Pin que has introducido no es válido, por favor, inténtalo de nuevo!
|
||||
two_factor_enable_error=Enable Two-factor authentication failed: %v
|
||||
two_factor_enable_success=Two-factor authentication has enabled for your account successfully!
|
||||
two_factor_recovery_codes_title=Two-factor Authentication Recovery Codes
|
||||
@@ -616,6 +616,7 @@ pulls.compare_compare=comparar con
|
||||
pulls.filter_branch=Filtrar rama
|
||||
pulls.no_results=Sin resultados.
|
||||
pulls.nothing_to_compare=Nada que comparar. Las dos ramas coinciden.
|
||||
pulls.nothing_merge_base=There is nothing to compare because two branches have completely different history.
|
||||
pulls.has_pull_request=`Ya existe un pull request entre estas dos ramas: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
|
||||
pulls.create=Crear Pull Request
|
||||
pulls.title_desc=desea fusionar %[1]d commits de <code>%[2]s</code> en <code>%[3]s</code>
|
||||
@@ -631,6 +632,8 @@ pulls.is_checking=Se está procediendo a la búsqueda de conflictos, por favor a
|
||||
pulls.can_auto_merge_desc=Este Pull Request puede ser fusionado automáticamente.
|
||||
pulls.cannot_auto_merge_desc=Este Pull Request no puede ser fusionado automáticamente porque hay conflictos.
|
||||
pulls.cannot_auto_merge_helper=Por favor, fusiona manualmente para resolver los conflictos.
|
||||
pulls.create_merge_commit=Create a merge commit
|
||||
pulls.rebase_before_merging=Rebase before merging
|
||||
pulls.merge_pull_request=Fusionar Pull Request
|
||||
pulls.open_unmerged_pull_exists=`Usted no puede realizar la operación de reapertura porque en estos momentos existe una solicitud de pull request (#%d) para el mismo repositorio con la misma información que se encuentra a la espera de aprobación`
|
||||
pulls.delete_branch=Eliminar la rama
|
||||
@@ -736,6 +739,8 @@ settings.tracker_issue_style.numeric=Numérico
|
||||
settings.tracker_issue_style.alphanumeric=Alfanumérico
|
||||
settings.tracker_url_format_desc=Puedes usar las plantillas <code>{user} {repo} {index}</code> para el nombre de usuario, nombre del repositorio e índice de la incidencia.
|
||||
settings.pulls_desc=Habilitar Pull Requests para aceptar contribuciones públicas
|
||||
settings.pulls.ignore_whitespace=Ignore changes in whitespace
|
||||
settings.pulls.allow_rebase_merge=Allow use rebase to merge commits
|
||||
settings.danger_zone=Zona de Peligro
|
||||
settings.cannot_fork_to_same_owner=You cannot fork a repository to its original owner.
|
||||
settings.new_owner_has_same_repo=El nuevo propietario tiene un repositorio con el mismo nombre.
|
||||
@@ -756,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.
|
||||
@@ -780,7 +785,7 @@ settings.webhook_deletion_success=¡Webhook eliminado con éxito!
|
||||
settings.webhook.test_delivery=Test de entrega
|
||||
settings.webhook.test_delivery_desc=Enviar un falso evento Push de entrega para probar tus ajustes de webhook
|
||||
settings.webhook.test_delivery_success=Probar que los webhook han sido añadidos a la cola de entrega. Esto puede tomar algunos segundos antes de aparecer en el historial de entregas.
|
||||
settings.webhook.redelivery=Redelivery
|
||||
settings.webhook.redelivery=Reenviar
|
||||
settings.webhook.redelivery_success=Hook task '%s' has been readded to delivery queue. It may take few seconds to update delivery status in history.
|
||||
settings.webhook.request=Petición
|
||||
settings.webhook.response=Respuesta
|
||||
@@ -830,6 +835,7 @@ settings.recent_deliveries=Envíos Recientes
|
||||
settings.hook_type=Tipo de Hook
|
||||
settings.add_slack_hook_desc=Añade integración con <a href="%s">Slack</a> a tu repositorio.
|
||||
settings.add_discord_hook_desc=Añade integración con <a href="%s">Slack</a> a tu repositorio.
|
||||
settings.add_dingtalk_hook_desc=Add <a href="%s">Dingtalk</a> integration to your repository.
|
||||
settings.slack_token=Token
|
||||
settings.slack_domain=Dominio
|
||||
settings.slack_channel=Canal
|
||||
@@ -1094,18 +1100,19 @@ auths.domain=Dominio
|
||||
auths.host=Host
|
||||
auths.port=Puerto
|
||||
auths.bind_dn=Bind DN
|
||||
auths.bind_dn_helper=You can use '%s' as placeholder for username, e.g. DOM\%s
|
||||
auths.bind_password=Contraseña Bind
|
||||
auths.bind_password_helper=Advertencia: La contraseña se almacena como texto plano. No utilice una cuenta con privilegios elevados.
|
||||
auths.user_base=Base de búsqueda de usuarios
|
||||
auths.user_dn=DN de Usuario
|
||||
auths.attribute_username=Atributo de nombre de usuario
|
||||
auths.attribute_username_placeholder=Dejar vacío para usar el campo de inicio de sesión como nombre de usuario.
|
||||
auths.attribute_name=First Name Attribute
|
||||
auths.attribute_name=Atributo nombre
|
||||
auths.attribute_surname=Atributo apellido
|
||||
auths.attribute_mail=Atributo correo electrónico
|
||||
auths.verify_group_membership=Verify group membership
|
||||
auths.verify_group_membership=Verificar pertenencia a grupo
|
||||
auths.group_search_base_dn=Group Search Base DN
|
||||
auths.group_filter=Group Filter
|
||||
auths.group_filter=Filtro de grupo
|
||||
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=Buscar atributos en el contexto del Bind DN
|
||||
@@ -1134,6 +1141,7 @@ auths.still_in_used=Este método de autentificación aún es utilizado por algun
|
||||
auths.deletion_success=¡La autenticación ha sido eliminada con éxito!
|
||||
auths.login_source_exist=El origen de autenticación '%s' ya existe.
|
||||
|
||||
config.not_set=(not set)
|
||||
config.server_config=Configuración del servidor
|
||||
config.app_name=Nombre de la Aplicación
|
||||
config.app_ver=Versión de la Aplicación
|
||||
@@ -1155,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
|
||||
@@ -1170,6 +1179,9 @@ config.disable_http_git=Desactivar HTTP Git
|
||||
config.enable_local_path_migration=Activar la migración de la ruta de acceso Local
|
||||
config.commits_fetch_concurrency=Commits Fetch Concurrency
|
||||
|
||||
config.http_config=HTTP Configuration
|
||||
config.http_access_control_allow_origin=Access Control Allow Origin
|
||||
|
||||
config.db_config=Configuración de la Base de Datos
|
||||
config.db_type=Tipo
|
||||
config.db_host=Host
|
||||
@@ -1199,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
|
||||
@@ -1272,7 +1284,7 @@ notices.delete_success=Las notificaciones del sistema han sido eliminadas satisf
|
||||
|
||||
[action]
|
||||
create_repo=creó el repositorio <a href="%s">%s</a>
|
||||
fork_repo=forked a repository to <a href="%s">%s</a>
|
||||
fork_repo=ha hecho un Fork en <a href="%s">%s</a>
|
||||
rename_repo=repositorio renombrado de <code>%[1]s</code> a <a href="%[2]s">%[3]s</a>
|
||||
commit_repo=hizo push a <a href="%[1]s/src/%[2]s">%[3]s</a> en <a href="%[1]s">%[4]s</a>
|
||||
compare_commits=Ver comparación de estos %d commits
|
||||
|
||||
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
@@ -616,6 +616,7 @@ pulls.compare_compare=vertaa
|
||||
pulls.filter_branch=Suodata branch
|
||||
pulls.no_results=Tuloksia ei löytynyt.
|
||||
pulls.nothing_to_compare=Ei ole mitään verrattavaa koska base ja head branchit ovat tasoissa.
|
||||
pulls.nothing_merge_base=There is nothing to compare because two branches have completely different history.
|
||||
pulls.has_pull_request=`On olemassa jo pull pyyntö näiden kohteiden välillä: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
|
||||
pulls.create=Luo Pull-pyyntö
|
||||
pulls.title_desc=haluaa yhdistää %[1]d committia lähteestä <code>%[2]s</code> kohteeseen <code>%[3]s</code>
|
||||
@@ -631,6 +632,8 @@ pulls.is_checking=Konfliktin tarkistus on yhä meneillään, ole hyvä ja päivi
|
||||
pulls.can_auto_merge_desc=Tämä pull-pyyntö voidaan yhdistää automaattisesti.
|
||||
pulls.cannot_auto_merge_desc=Tätä pull-pyyntöä ei voi yhdistää automaattisesti koska on konflikteja.
|
||||
pulls.cannot_auto_merge_helper=Ole hyvä ja yhdistä manuaalisesti konfliktien ratkaisemiseksi.
|
||||
pulls.create_merge_commit=Create a merge commit
|
||||
pulls.rebase_before_merging=Rebase before merging
|
||||
pulls.merge_pull_request=Yhdistä Pull-pyyntö
|
||||
pulls.open_unmerged_pull_exists=`Et voi suorittaa uudelleenavaus toimintoa koska on jo olemassa pull-pyyntö (#%d) samasta reposta samoilla yhdistämistiedoilla ja odottaa yhdistämistä.`
|
||||
pulls.delete_branch=Poista haara
|
||||
@@ -736,6 +739,8 @@ settings.tracker_issue_style.numeric=Numeerinen
|
||||
settings.tracker_issue_style.alphanumeric=Aakkosnumeerinen
|
||||
settings.tracker_url_format_desc=Voit käyttää paikkamerkkiä <code>{user} {repo} {index}</code> käyttäjänimelle, reponimelle ja vikanumerolle.
|
||||
settings.pulls_desc=Ota käyttöön pull-pyynnöt salliaksesi julkiset koodilahjoitukset
|
||||
settings.pulls.ignore_whitespace=Ignore changes in whitespace
|
||||
settings.pulls.allow_rebase_merge=Allow use rebase to merge commits
|
||||
settings.danger_zone=Vaaravyöhyke
|
||||
settings.cannot_fork_to_same_owner=Et voi forkata repoa alkuperäiselle omistajalleen.
|
||||
settings.new_owner_has_same_repo=Uudella omistajalla on jo samanniminen repo. Ole hyvä ja valitse toinen nimi.
|
||||
@@ -756,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.
|
||||
@@ -830,6 +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=Lisää <a href="%s">Dingtalk</a> integraatio repositoryysi.
|
||||
settings.slack_token=Pääsymerkki
|
||||
settings.slack_domain=Verkkotunnus
|
||||
settings.slack_channel=Kanava
|
||||
@@ -1094,6 +1100,7 @@ auths.domain=Verkkotunnus
|
||||
auths.host=Isäntä
|
||||
auths.port=Portti
|
||||
auths.bind_dn=Liitä DN
|
||||
auths.bind_dn_helper=You can use '%s' as placeholder for username, e.g. DOM\%s
|
||||
auths.bind_password=Liitä salasana
|
||||
auths.bind_password_helper=Varoitus: Tämä salasana tallennetaan tavallisena tekstinä. Älä käytä korkeasti etuoikeutetulla tilillä.
|
||||
auths.user_base=Käyttäjä hakuperuste
|
||||
@@ -1134,6 +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=(ei ole asetettu)
|
||||
config.server_config=Palvelin asetukset
|
||||
config.app_name=Sovellus nimi
|
||||
config.app_ver=Sovellus versio
|
||||
@@ -1155,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
|
||||
@@ -1170,6 +1179,9 @@ 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-asetukset
|
||||
config.http_access_control_allow_origin=Access Control Allow Origin
|
||||
|
||||
config.db_config=Tietokannan asetukset
|
||||
config.db_type=Tyyppi
|
||||
config.db_host=Isäntä
|
||||
@@ -1199,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
|
||||
|
||||
@@ -119,7 +119,7 @@ sqlite3_not_available=Votre version publiée ne prend pas en charge SQLite3. Veu
|
||||
invalid_db_setting=Paramètres de base de données incorrects : %v
|
||||
invalid_repo_path=Chemin vers la racine du dépôt invalide : %v
|
||||
run_user_not_match=L'utilisateur d'exécution saisi n'est pas l'utilisateur d'exécution actuel : %s -> %s
|
||||
smtp_host_missing_port=SMTP Host is missing port in address.
|
||||
smtp_host_missing_port=Le numéro de port est manquant dans l'adresse de l'Hôte SMTP.
|
||||
invalid_smtp_from=Le champ SMTP Provenant de n'est pas valide: %v
|
||||
save_config_failed=La sauvegarde de la configuration a échoué : %v
|
||||
invalid_admin_setting=Paramètres du compte administrateur invalides : %v
|
||||
@@ -158,7 +158,7 @@ sign_up_now=Pas de compte ? Inscrivez-vous maintenant.
|
||||
confirmation_mail_sent_prompt=Un nouveau mail de confirmation à été envoyé à <b>%s</b>. Veuillez vérifier votre boîte de réception dans un délai de %d heures pour compléter votre enregistrement.
|
||||
active_your_account=Activer votre compte
|
||||
prohibit_login=Connexion interdite
|
||||
prohibit_login_desc=Votre compte est interdit de se connecter, contactez l’administrateur du site.
|
||||
prohibit_login_desc=La connexion avec ce compte est interdite ; contactez l'administrateur du site.
|
||||
resent_limit_prompt=Désolé, vos tentatives d'activation sont trop fréquentes. Veuillez réessayer dans 3 minutes.
|
||||
has_unconfirmed_mail=Bonjour %s, votre adresse e-mail (<b>%s</b>) n'a pas été confirmée. Si vous n'avez reçu aucun mail de confirmation ou souhaitez renouveler l'envoi, cliquez sur le bouton ci-dessous.
|
||||
resend_mail=Cliquez ici pour renvoyer un mail de confirmation
|
||||
@@ -170,12 +170,12 @@ password_too_short=Le mot de passe doit contenir 6 caractères minimum.
|
||||
non_local_account=Les comptes non locaux ne peuvent pas changer leur mot de passe via Gogs.
|
||||
|
||||
login_two_factor=Authentification en deux étapes
|
||||
login_two_factor_passcode=Mot de passe d’authentification
|
||||
login_two_factor_passcode=Mot de passe d'authentification
|
||||
login_two_factor_enter_recovery_code=Entrez un code de récupération en deux étapes
|
||||
login_two_factor_recovery=Récupération en deux étapes
|
||||
login_two_factor_recovery_code=Code de récupération
|
||||
login_two_factor_enter_passcode=Entrez un code d'authentification en deux étapes
|
||||
login_two_factor_invalid_recovery_code=Code de récupération a été utilisé ou n’est pas valide.
|
||||
login_two_factor_invalid_recovery_code=Code de récupération a été utilisé ou n'est pas valide.
|
||||
|
||||
[mail]
|
||||
activate_account=Veuillez activer votre compte
|
||||
@@ -343,7 +343,7 @@ two_factor_disable=Désactiver
|
||||
two_factor_view_recovery_codes=Voir et sauvegarder <a href="%s%s">vos codes de récupération</a> dans un endroit sécurisé. Vois pouvez les utiliser comme mot de passe si vous perdez l'accès à l'application d'authentification.
|
||||
two_factor_http=Vous ne pouvez plus utiliser un nom d'utilisateur et mot de passe en clair pour les opérations en HTTP/HTTPS. Merci de créer et d'utiliser un <a href="%[1]s%[2]s">jeton d'accès personnel</a> comme moyen d'identification, par exemple <code>%[3]s</code>.
|
||||
two_factor_enable_title=Activer l'authentification en deux étapes
|
||||
two_factor_scan_qr=Veuillez utiliser votre application d’authentification pour numériser l’image :
|
||||
two_factor_scan_qr=Veuillez utiliser votre application d'authentification pour numériser l'image :
|
||||
two_factor_or_enter_secret=Ou entrez la phrase secrète :
|
||||
two_factor_then_enter_passcode=Puis entrez le mot de passe :
|
||||
two_factor_verify=Vérifier
|
||||
@@ -506,16 +506,16 @@ editor.new_branch_name_desc=Nouveau nom de la branche...
|
||||
editor.cancel=Annuler
|
||||
editor.filename_cannot_be_empty=Nom de fichier ne peut pas être vide.
|
||||
editor.branch_already_exists=La branche '%s' existe déjà dans ce dépôt.
|
||||
editor.directory_is_a_file=L'entrée '%s' dans le chemin d’accès parent est un fichier pas un répertoire dans ce dépôt.
|
||||
editor.directory_is_a_file=L'entrée '%s' dans le chemin d'accès parent est un fichier, pas un répertoire dans ce dépôt.
|
||||
editor.file_is_a_symlink=Le fichier « %s » est un lien symbolique qui ne peut être modifié depuis l'éditeur web.
|
||||
editor.filename_is_a_directory=Le nom de fichier '%s' existe déjà dans ce dépot.
|
||||
editor.file_editing_no_longer_exists=Le fichier '%s' que vous modifiez n'existe plus dans le dépôt.
|
||||
editor.file_changed_while_editing=Le contenu du fichier à changé depuis que vous avez commencé à l'éditer. <a target="_blank" href="%s">Cliquez ici</a> pour voir ce qui à été modifié ou <strong>appuyez sur commit encore une fois</strong> pour remplacer ces changements.
|
||||
editor.file_already_exists=La branche '%s' existe déjà dans ce dépôt.
|
||||
editor.no_changes_to_show=Il n’y a aucun changement à afficher.
|
||||
editor.fail_to_update_file=Échec lors de la mise à jour/création du fichier '%s' avec l’erreur : %v
|
||||
editor.fail_to_update_file=Échec lors de la mise à jour/création du fichier '%s' avec l'erreur : %v
|
||||
editor.add_subdir=Ajouter un sous-répertoire...
|
||||
editor.unable_to_upload_files=Échec lors de l'envoie du fichier '%s' avec l’erreur : %v
|
||||
editor.unable_to_upload_files=Échec lors de l'envoie du fichier '%s' avec l'erreur : %v
|
||||
editor.upload_files_to_dir=Transférer les fichiers vers '%s'
|
||||
|
||||
commits.commit_history=Historique des commits
|
||||
@@ -616,14 +616,15 @@ pulls.compare_compare=Comparer
|
||||
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.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.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 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.
|
||||
@@ -631,6 +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=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
|
||||
@@ -699,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.
|
||||
@@ -726,7 +729,7 @@ settings.external_wiki_url=URL Wiki externe
|
||||
settings.external_wiki_url_desc=Les visiteurs seront redirigés vers cette URL lorsqu'ils cliqueront sur l'onglet.
|
||||
settings.issues_desc=Activer le système de tickets
|
||||
settings.use_internal_issue_tracker=Utiliser le système simplifié de tickets interne
|
||||
settings.allow_public_issues_desc=Permettre l’accès du public aux tickets lorsque le dépôt est privé
|
||||
settings.allow_public_issues_desc=Permettre l'accès du public aux tickets lorsque le dépôt est privé
|
||||
settings.use_external_issue_tracker=Utiliser un bug-tracker externe
|
||||
settings.external_tracker_url=Adresse de l'issue tracker externe
|
||||
settings.external_tracker_url_desc=Les visiteurs seront redirigés vers cette URL lorsqu'ils cliqueront sur l'onglet.
|
||||
@@ -736,6 +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=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.
|
||||
@@ -756,8 +761,8 @@ 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_fork_1=-Tous les forks deviendront indépendants après l’effacement.
|
||||
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.
|
||||
settings.transfer_owner=Nouveau propriétaire
|
||||
@@ -817,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
|
||||
@@ -830,6 +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=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
|
||||
@@ -1094,20 +1100,21 @@ auths.domain=Domaine
|
||||
auths.host=Hôte
|
||||
auths.port=Port
|
||||
auths.bind_dn=Bind DN
|
||||
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=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.verify_group_membership=Vérifier l'appartenance à un groupe
|
||||
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=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
|
||||
@@ -1134,6 +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=(non défini)
|
||||
config.server_config=Configuration du Serveur
|
||||
config.app_name=Nom de l'application
|
||||
config.app_ver=Version de l'application
|
||||
@@ -1155,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
|
||||
@@ -1170,6 +1179,9 @@ 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=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
|
||||
config.db_host=Hôte
|
||||
@@ -1199,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
|
||||
|
||||
@@ -616,6 +616,7 @@ pulls.compare_compare=comparar con
|
||||
pulls.filter_branch=Filtrar rama
|
||||
pulls.no_results=Sen resultados.
|
||||
pulls.nothing_to_compare=Nada que comparar. As dúas ramas coinciden.
|
||||
pulls.nothing_merge_base=There is nothing to compare because two branches have completely different history.
|
||||
pulls.has_pull_request=`Xa existe un pull request entre estas dúas ramas: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
|
||||
pulls.create=Crear Pull Request
|
||||
pulls.title_desc=desexa fusionar %[1]d achegas de <code>%[2]s</code> en <code>%[3]s</code>
|
||||
@@ -631,6 +632,8 @@ pulls.is_checking=Estase procedendo á busca de conflitos, por favor, actualice
|
||||
pulls.can_auto_merge_desc=Este Pull Request pode ser fusionado automaticamente.
|
||||
pulls.cannot_auto_merge_desc=Este Pull Request non pode ser fusionado automaticamente porque hai conflitos.
|
||||
pulls.cannot_auto_merge_helper=Por favor, fusiona manualmente para resolver os conflitos.
|
||||
pulls.create_merge_commit=Create a merge commit
|
||||
pulls.rebase_before_merging=Rebase before merging
|
||||
pulls.merge_pull_request=Fusionar Pull Request
|
||||
pulls.open_unmerged_pull_exists=`Vostede non pode realizar a operación de reapertura porque nestes momentos existe unha solicitude de pull request (#%d) para o mesmo repositorio coa mesma información que se encontra á espera de aprobación`
|
||||
pulls.delete_branch=Eliminar branch
|
||||
@@ -736,6 +739,8 @@ settings.tracker_issue_style.numeric=Numérico
|
||||
settings.tracker_issue_style.alphanumeric=Alfanumérico
|
||||
settings.tracker_url_format_desc=Podes usar os modelos <code>{user} {repo} {index}</code> para o nome de usuario, nome do repositorio e índice da incidencia.
|
||||
settings.pulls_desc=Habilitar Pull Requests para aceptar contribucións públicas
|
||||
settings.pulls.ignore_whitespace=Ignore changes in whitespace
|
||||
settings.pulls.allow_rebase_merge=Allow use rebase to merge commits
|
||||
settings.danger_zone=Zona de perigo
|
||||
settings.cannot_fork_to_same_owner=You cannot fork a repository to its original owner.
|
||||
settings.new_owner_has_same_repo=O novo propietario ten un repositorio co mesmo nome.
|
||||
@@ -756,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.
|
||||
@@ -830,6 +835,7 @@ settings.recent_deliveries=Envíos recentes
|
||||
settings.hook_type=Tipo de Hook
|
||||
settings.add_slack_hook_desc=Engade integración con <a href="%s">Slack</a> ao teu repositorio.
|
||||
settings.add_discord_hook_desc=Add <a href="%s">Discord</a> integration to your repository.
|
||||
settings.add_dingtalk_hook_desc=Add <a href="%s">Dingtalk</a> integration to your repository.
|
||||
settings.slack_token=Token
|
||||
settings.slack_domain=Dominio
|
||||
settings.slack_channel=Canle
|
||||
@@ -1094,6 +1100,7 @@ auths.domain=Dominio
|
||||
auths.host=Host
|
||||
auths.port=Porto
|
||||
auths.bind_dn=Bind DN
|
||||
auths.bind_dn_helper=You can use '%s' as placeholder for username, e.g. DOM\%s
|
||||
auths.bind_password=Contrasinal Bind
|
||||
auths.bind_password_helper=Advertencia: o contrasinal almacénase como texto plano. Non empregue unha conta con privilexios elevados.
|
||||
auths.user_base=Base de busca de usuarios
|
||||
@@ -1134,6 +1141,7 @@ auths.still_in_used=Este método de autentificación aínda é utilizado por alg
|
||||
auths.deletion_success=A autenticación foi eliminada con éxito!
|
||||
auths.login_source_exist=Login source '%s' xa existe.
|
||||
|
||||
config.not_set=(not set)
|
||||
config.server_config=Configuración do servidor
|
||||
config.app_name=Nome da aplicación
|
||||
config.app_ver=Versión da aplicación
|
||||
@@ -1155,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
|
||||
@@ -1170,6 +1179,9 @@ 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_access_control_allow_origin=Access Control Allow Origin
|
||||
|
||||
config.db_config=Configuración da base de datos
|
||||
config.db_type=Tipo
|
||||
config.db_host=Host
|
||||
@@ -1199,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
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
app_desc=Fájdalommentes, saját gépre telepíthető Git szolgáltatás
|
||||
|
||||
home=Kezdőlap
|
||||
dashboard=Vezérlőpult
|
||||
dashboard=Áttekintés
|
||||
explore=Felfedezés
|
||||
help=Súgó
|
||||
sign_in=Bejelentkezés
|
||||
@@ -27,7 +27,7 @@ repository=Tároló
|
||||
organization=Szervezet
|
||||
mirror=Tükör
|
||||
new_repo=Új tároló
|
||||
new_migrate=Új költözés
|
||||
new_migrate=Új migráció
|
||||
new_mirror=Új tükör
|
||||
new_fork=Új tároló másolása
|
||||
new_org=Új szervezet
|
||||
@@ -35,8 +35,8 @@ manage_org=Szervezetek kezelése
|
||||
admin_panel=Rendszergazdai felület
|
||||
account_settings=Fiók beállításai
|
||||
settings=Beállítások
|
||||
your_profile=Profilod
|
||||
your_settings=Beállításaid
|
||||
your_profile=Profilom
|
||||
your_settings=Beállításaim
|
||||
|
||||
activities=Tevékenységek
|
||||
pull_requests=Pull request-ek
|
||||
@@ -47,7 +47,7 @@ cancel=Mégse
|
||||
[install]
|
||||
install=Telepítés
|
||||
title=Telepítés első indításkor
|
||||
docker_helper=Ha a Docker alatt futtatod a Gogs-ot, olvasd el az <a target="_blank" href="%s">irányelveket</a> figyelmesen, mielőtt bármit megváltoztatsz ezen az oldalon!
|
||||
docker_helper=Ha Docker alatt fut a Gogs, akkor kérjük, figyelmesen olvassa el az <a target="_blank" href="%s">irányelveket</a>, mielőtt bármit megváltoztat ezen az oldalon!
|
||||
requite_db_desc=A Gogs-hoz szükséges a MySQL, PostgreSQL, SQLite3, MSSQL vagy a TiDB valamelyike.
|
||||
db_title=Adatbázis beállításai
|
||||
db_type=Adatbázis-kezelő
|
||||
@@ -55,25 +55,25 @@ host=Kiszolgáló
|
||||
user=Felhasználónév
|
||||
password=Jelszó
|
||||
db_name=Adatbázis neve
|
||||
db_helper=MySQL szerveren használj INNODB motort utf8_general_ci karakterkészlettel.
|
||||
db_helper=MySQL szerveren kérjük használjon INNODB motort utf8_general_ci karakterkészlettel.
|
||||
ssl_mode=SSL mód
|
||||
path=Elérési út
|
||||
sqlite_helper=SQLite3 vagy a TiDB adatbázis fájljának elérési útvonala. <br>Kérjük használja az abszolút elérési utat, a szolgáltatás indításakor.
|
||||
err_empty_db_path=SQLite3 adatbázis elérési út nem lehet üres.
|
||||
no_admin_and_disable_registration=Nem tilthatod le a regisztrációt, amíg nem hozol létre egy rendszergazdai fiókot.
|
||||
no_admin_and_disable_registration=Nem tilthatja le a regisztrációt, amíg nem hoz létre egy rendszergazdai fiókot.
|
||||
err_empty_admin_password=Rendszergazdai jelszó nem lehet üres.
|
||||
|
||||
general_title=Alkalmazás általános beállításai
|
||||
app_name=Alkalmazás neve
|
||||
app_name_helper=Adj meg valami izgalmas nevet!
|
||||
app_name_helper=Adjon meg valami izgalmas nevet!
|
||||
repo_path=Tárolók alapkönyvtára
|
||||
repo_path_helper=Ebben a könyvtárban lesznek a Git tárolók.
|
||||
run_user=Futtató felhasználó
|
||||
run_user_helper=Ezen felhasználónak jogosultnak kell lennie a tárolók elérésére és a Gogs futtatására.
|
||||
domain=Tartomány
|
||||
domain_helper=Ez az alapja az SSH másolás URL címének.
|
||||
domain_helper=Ez befolyásolja az SSH klón URL-eket.
|
||||
ssh_port=SSH port
|
||||
ssh_port_helper=Az SSH kiszolgáló portszáma, hagyd üresen az SSH letiltásához.
|
||||
ssh_port_helper=Ezt a portot fogja használni az SSH szerver, hagyja üresen az SSH letiltásához.
|
||||
use_builtin_ssh_server=Beépített SSH szerver használata
|
||||
use_builtin_ssh_server_popup=Indítsa el a beépített SSH szervert a Git műveletekhez elkülönítve a rendszer SSH démontól.
|
||||
http_port=HTTP port
|
||||
@@ -107,7 +107,7 @@ enable_captcha=Ellenőrző kód engedélyezése
|
||||
enable_captcha_popup=Ellenőrző kódot kér a felhasználói regisztrációnál.
|
||||
require_sign_in_view=Bejelentkezés megkövetelése az oldalak megtekintéséhez
|
||||
require_sign_in_view_popup=Csak bejelentkezett felhasználók nézhetik meg az oldalakat; a látogatók csak a bejelentkező oldalt láthatják.
|
||||
admin_setting_desc=Nem szükséges beállítanod rendszergazdai fiókot, az első felhasználó (ID=1) automatikusan rendszergazdai jogokat kap.
|
||||
admin_setting_desc=Nem szükséges most beállítania rendszergazdai fiókot, mert az első felhasználó (ID=1) automatikusan rendszergazdai jogokat kap.
|
||||
admin_title=Rendszergazda fiók beállításai
|
||||
admin_name=Felhasználónév
|
||||
admin_password=Jelszó
|
||||
@@ -147,14 +147,14 @@ search=Keresés
|
||||
|
||||
[auth]
|
||||
create_new_account=Új fiók létrehozása
|
||||
register_hepler_msg=Van már felhasználói fiókod? Jelentkezz be!
|
||||
register_hepler_msg=Van már felhasználói fiókja? Jelentkezz be!
|
||||
social_register_hepler_msg=Van már fiókod? Csatold most!
|
||||
disable_register_prompt=Elnézést, a regisztrációt kikapcsolták. Kérlek szólj az oldal adminisztrátorának.
|
||||
disable_register_mail=Elnézést, az email regisztráció megerősítését kikapcsolták.
|
||||
remember_me=Emlékezz rám
|
||||
forgot_password=Elfelejtett jelszó
|
||||
forget_password=Elfelejtetted a jelszavad?
|
||||
sign_up_now=Szeretnél bejelentkezni? Regisztrálj most.
|
||||
forget_password=Elfelejtette a jelszavát?
|
||||
sign_up_now=Szeretne bejelentkezni? Regisztráljon most.
|
||||
confirmation_mail_sent_prompt=Új megerősítő emailt küldtünk <b>%s</b> címre, kérlek keresd a postafiókodban az elkövetkező %d órában, hogy befejezhesd a regisztrációs folyamatot.
|
||||
active_your_account=Aktiváld a fiókod
|
||||
prohibit_login=A bejelentkezés tiltva
|
||||
@@ -165,7 +165,7 @@ resend_mail=Kattints ide hogy újraküldd az aktiváló emailt
|
||||
send_reset_mail=Kattints ide hogy újraküldd a jelszó visszaállító emailt
|
||||
reset_password=Jelszó visszaállítása
|
||||
invalid_code=Elnézést, a megerősítő kód lejárt vagy hibás.
|
||||
reset_password_helper=Kattints ide hogy visszaállítsd a jelszavad
|
||||
reset_password_helper=A jelszó visszaállításához kattintson ide
|
||||
password_too_short=A jelszó nem lehet 6-nál rövidebb.
|
||||
non_local_account=Nem helyi felhasználó nem cserélhet jelszót a Gogsban.
|
||||
|
||||
@@ -181,7 +181,7 @@ login_two_factor_invalid_recovery_code=Helyreállító kód már felhasználásr
|
||||
activate_account=Kérlek aktiváld a fiókod
|
||||
activate_email=Ellenőrizd az email címed
|
||||
reset_password=Állítsd vissza a jelszavad
|
||||
register_success=Sikeres regisztráció, üdvözlünk
|
||||
register_success=Sikeres regisztráció, üdvözöljük
|
||||
register_notify=Üdvözlünk a fedélzeten
|
||||
|
||||
[modal]
|
||||
@@ -229,8 +229,8 @@ org_name_been_taken=A szervezet neve már foglalt.
|
||||
team_name_been_taken=Az a csapatnév már foglalt.
|
||||
email_been_used=Ezt az email címet már felhasználták.
|
||||
username_password_incorrect=Felhasználó név vagy jelszó hibás.
|
||||
enterred_invalid_repo_name=Kérlek ellenőrizd, hogy a tároló neve helyes.
|
||||
enterred_invalid_owner_name=Kérlek ellenőrizd, hogy a tulajdonos neve helyes.
|
||||
enterred_invalid_repo_name=Kérjük, ellenőrizze, hogy a tároló neve helyes.
|
||||
enterred_invalid_owner_name=Kérjük, ellenőrizze, hogy a tulajdonos neve helyes.
|
||||
enterred_invalid_password=Kérlek ellenőrizd, hogy a beírt jelszó helyes.
|
||||
user_not_exist=A megadott felhasználó nem létezik.
|
||||
last_org_owner=Az utolsó felhasználót nem lehet eltávolítani a csapatból, mert egy tulajdonos kell legyen minden szervezetben.
|
||||
@@ -241,7 +241,7 @@ auth_failed=Hitelesítési hiba: %v
|
||||
|
||||
still_own_repo=A felhasználód még legalább egy tároló tulajdonosa, először törölnöd kell őket vagy átadni másnak a tulajdonjogaikat.
|
||||
still_has_org=A fiókod még mindig tagja legalább egy szervezetnek. Először ki kell lépned vagy törölnöd kell a tagságodat.
|
||||
org_still_own_repo=Ez a szervezet még repository-k tulajdonosa. Először töröld vagy ruházd át őket.
|
||||
org_still_own_repo=Ez a szervezet továbbra is tulajdonosa tárolóknak, ezért előbb törölje vagy adja át másnak a tárolókat.
|
||||
|
||||
target_branch_not_exist=Cél branch nem létezik.
|
||||
|
||||
@@ -256,7 +256,7 @@ following=Követve
|
||||
follow=Követés
|
||||
unfollow=Követés törlése
|
||||
|
||||
form.name_reserved=Felhasználónév '%s' foglalt.
|
||||
form.name_reserved='%s' felhasználónév már foglalt.
|
||||
form.name_pattern_not_allowed=A felhasználónév ('%s') nem engedélyezett.
|
||||
|
||||
[settings]
|
||||
@@ -302,12 +302,12 @@ password_change_disabled=Csak helyi felhasználók változtathatják meg jelszav
|
||||
|
||||
emails=E-mail címek
|
||||
manage_emails=E-mail címek kezelése
|
||||
email_desc=Elsődleges e-mail címedet használjuk értesítésekre és más műveletekre.
|
||||
email_desc=Elsődleges e-mail címét használjuk értesítésekre és más műveletekre.
|
||||
primary=Elsődleges
|
||||
primary_email=Beállítás elsődlegesként
|
||||
delete_email=Törlés
|
||||
email_deletion=E-mail cím törlése
|
||||
email_deletion_desc=Az e-mail cím törlése kapcsolódó adatokat is eltávolít a fiókodból. Biztosan folytatod?
|
||||
email_deletion_desc=Az e-mail cím törlése kapcsolódó adatokat is eltávolít a fiókjából. Biztosan folytatja?
|
||||
email_deletion_success=Az e-mail címet töröltük!
|
||||
add_new_email=Új email cím felvétele
|
||||
add_email=Email felvétele
|
||||
@@ -401,11 +401,11 @@ fork_visiblity_helper=Nem módosíthatod egy fork-olt repository láthatóságá
|
||||
repo_desc=Leírás
|
||||
repo_lang=Nyelv
|
||||
repo_gitignore_helper=Válasszon .gitignore sablont
|
||||
license=Licensz
|
||||
license_helper=Licenszfájl kiválasztása
|
||||
license=Licenc
|
||||
license_helper=Licencfájl kiválasztása
|
||||
readme=Olvassel
|
||||
readme_helper=Válassz egy readme sablont
|
||||
auto_init=Repository megkezdése a kijelölt fájlokkal és sablonokkal
|
||||
auto_init=Tároló inicializálása a kiválasztott fájlokkal és sablonokkal
|
||||
create_repo=Tároló létrehozása
|
||||
default_branch=Alapértelmezett branch
|
||||
mirror_prune=Prune
|
||||
@@ -418,26 +418,26 @@ watchers=Figyelők
|
||||
stargazers=Csillagvizsgálók
|
||||
forks=Másolások
|
||||
|
||||
form.reach_limit_of_creation=A tulajdonos túllépte a maximum létrehozható repository-k számát (%d).
|
||||
form.reach_limit_of_creation=A tulajdonos túllépte a maximum létrehozható tárolók számát (%d).
|
||||
form.name_reserved=Ez a tároló név ('%s') le van foglalva.
|
||||
form.name_pattern_not_allowed=Ez a tároló név ('%s') nem megengedett.
|
||||
|
||||
need_auth=Engedély szükség
|
||||
migrate_type=Az áttelepítés-típust
|
||||
need_auth=Hitelesítés szükséges
|
||||
migrate_type=Migráció típusa
|
||||
migrate_type_helper=Ez a repository <span class="text blue">tükör</span>ként fog működni
|
||||
migrate_repo=Repository Költöztetése
|
||||
migrate_repo=Tároló migrálása
|
||||
migrate.clone_address=Klón cím
|
||||
migrate.clone_address_desc=Ez lehet egy HTTP/HTTPS/GIT URL.
|
||||
migrate.clone_address_desc_import_local=Migrálhat tárolót a helyi fájlrendszerből is az útvonal megadásával.
|
||||
migrate.permission_denied=Nem engedélyezett számodra a helyi repository-k importálása.
|
||||
migrate.permission_denied=Az Ön számára nem engedélyezett a helyi tároló importálása.
|
||||
migrate.invalid_local_path=Érvénytelen helyi elérési út; nem létezik vagy nem mappára mutat.
|
||||
migrate.failed=Költöztetés sikertelen: %s
|
||||
migrate.failed=Migráció sikertelen: %v
|
||||
|
||||
mirror_from=tükrözi:
|
||||
forked_from=másolva
|
||||
copy_link=Másolás
|
||||
copy_link_success=Másolva!
|
||||
copy_link_error=Nyomd meg a ⌘-C vagy Ctrl-C gombokat a másoláshoz
|
||||
copy_link_error=Nyomja meg a ⌘-C vagy Ctrl-C gombokat a másoláshoz
|
||||
copied=Másolás rendben
|
||||
unwatch=Figyelés törlése
|
||||
watch=Figyelés
|
||||
@@ -459,7 +459,7 @@ filter_branch_and_tag=Branch vagy tag szűrése
|
||||
branches=Branch-ok
|
||||
tags=Tag-ek
|
||||
issues=Problémák
|
||||
pulls=Pull request-ek
|
||||
pulls=Beolvasztási kérések
|
||||
labels=Címkék
|
||||
milestones=Mérföldkövek
|
||||
commits=Commit-ok
|
||||
@@ -501,7 +501,7 @@ editor.update=Frissítés "%s"
|
||||
editor.delete=Törölje a "%s"
|
||||
editor.commit_message_desc=Opcionális hosszabb leírás hozzáadása...
|
||||
editor.commit_directly_to_this_branch=Commit egyenesen a(z) <strong class="branch-name">%s</strong> ágba.
|
||||
editor.create_new_branch=<strong>Új ág</strong> létrehozása ennek a commit-nak és egyesítési kérés indítása.
|
||||
editor.create_new_branch=<strong>Új ág</strong> létrehozása ennek a véglegesítésére és beolvasztási kérés indítása.
|
||||
editor.new_branch_name_desc=Új ág neve...
|
||||
editor.cancel=Mégse
|
||||
editor.filename_cannot_be_empty=A fájlnév nem lehet üres.
|
||||
@@ -608,7 +608,7 @@ issues.num_participants=%d Résztvevő
|
||||
issues.attachment.open_tab=`Megnyitás "%s" új fülön`
|
||||
issues.attachment.download=`Letöltéshez kattints "%s"`
|
||||
|
||||
pulls.new=Új Pull Kérés
|
||||
pulls.new=Új beolvasztási kérés
|
||||
pulls.compare_changes=Összehasonlítás
|
||||
pulls.compare_changes_desc=Hasonlíts össze két branch-ot és készíts pull kérést a változtatásokkal.
|
||||
pulls.compare_base=base
|
||||
@@ -616,6 +616,7 @@ pulls.compare_compare=összehasonlítás
|
||||
pulls.filter_branch=Branch szűrése
|
||||
pulls.no_results=Nincs találat.
|
||||
pulls.nothing_to_compare=Nincs mit összehasonlítani, mert a base és a head branch egyezik.
|
||||
pulls.nothing_merge_base=Nincs mit összehasonlítani, mert két ág teljes mértékben különböző előzményekkel rendelkezik.
|
||||
pulls.has_pull_request=`Már létezik egy pull kérés a két cél között: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
|
||||
pulls.create=Pull Kérés Létrehozása
|
||||
pulls.title_desc=szeretne %[1]d commit-ot egyesíteni innen: <code>%[2]s</code> ide: <code>%[3]s</code>
|
||||
@@ -623,15 +624,17 @@ pulls.merged_title_desc=%[1]d commit egyesítve innen: <code>%[2]s</code> ide: <
|
||||
pulls.tab_conversation=Beszélgetés
|
||||
pulls.tab_commits=Commit-ok
|
||||
pulls.tab_files=Módosított fájlok
|
||||
pulls.reopen_to_merge=Kérlek, nyisd ki a pull kérést az egyesítéshez.
|
||||
pulls.reopen_to_merge=Kérjük, nyissa újra a beolvasztási kérést az egyesítés végrehajtásához.
|
||||
pulls.merged=Egyesítve
|
||||
pulls.has_merged=Ez a pull kérés sikeresen egyesítve lett!
|
||||
pulls.has_merged=Ez a beolvasztási kérés sikeresen egyesítve lett!
|
||||
pulls.data_broken=A pull kérés adatai sérültek a fork információ hiányossága miatt.
|
||||
pulls.is_checking=Az ütközés ellenőrzés még folyamatban van, frissítsd az oldalt pár másodperc múlva.
|
||||
pulls.can_auto_merge_desc=Ez a pull kérés automatikusán egyesíthető.
|
||||
pulls.cannot_auto_merge_desc=Ez a pull kérés ütközések miatt nem egyesíthető automatikusán.
|
||||
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.merge_pull_request=Pull Kérés Egyesítése
|
||||
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
|
||||
pulls.delete_branch_has_new_commits=Ág nem törölhető, mert tartalmaz olyan új változásokat melyek nem lettek még egyesítve.
|
||||
@@ -663,7 +666,7 @@ milestones.deletion_success=A mérföldkő törlése megtörtént!
|
||||
wiki=Wiki
|
||||
wiki.welcome=Üdv a Wiki-ben!
|
||||
wiki.welcome_desc=A Wiki az a hely, ahol közösen dokumentálhatod és teheted jobbá a projekted a többiekkel.
|
||||
wiki.create_first_page=Hozd létre az első oldalt
|
||||
wiki.create_first_page=Első oldal létrehozása
|
||||
wiki.page=Oldal
|
||||
wiki.filter_page=Oldal szűrése
|
||||
wiki.new_page=Új Oldal Létrehozása
|
||||
@@ -671,7 +674,7 @@ wiki.default_commit_message=Röviden foglald össze a módosításokat (nem köt
|
||||
wiki.save_page=Oldal Mentése
|
||||
wiki.last_commit_info=%s módosította ezt az oldalt ekkor: %s
|
||||
wiki.edit_page_button=Szerkeszt
|
||||
wiki.new_page_button=Új Oldal
|
||||
wiki.new_page_button=Új oldal
|
||||
wiki.delete_page_button=Oldal Törlése
|
||||
wiki.delete_page_notice_1=Ez ki fogja törölni a(z) <code>"%s"</code> oldalt. Jól gondold meg.
|
||||
wiki.page_already_exists=Már létezik ilyen nevű oldal a Wiki-n.
|
||||
@@ -699,10 +702,10 @@ settings.branch_protection=Ág védeleme
|
||||
settings.branch_protection_desc=Válassza a védett ág opciót ehhez az ághoz: <b>%s</b>.
|
||||
settings.protect_this_branch=Ezen ág védelme
|
||||
settings.protect_this_branch_desc=Letiltja az ág törlését és a force pusht.
|
||||
settings.protect_require_pull_request=Eggyesítési kérést követel meg a direkt push helyett
|
||||
settings.protect_require_pull_request_desc=Ennek az opciónak a bekapcsolásával letiltható a direkt push az ágra. A commitokat egy másik, nem védett ágra kell küldeni, majd egyesítési kérést kell nyitni.
|
||||
settings.protect_require_pull_request=Beolvasztási kérést követel meg a direkt küldés helyett
|
||||
settings.protect_require_pull_request_desc=Ennek az opciónak a bekapcsolásával letiltható a közvetlen küldés az ágra. A véglegesítéseket egy másik, nem védett ágra kell küldeni, majd beolvasztási kérést kell nyitni.
|
||||
settings.protect_whitelist_committers=Fehérlista, hogy ki push-olhat az ágra
|
||||
settings.protect_whitelist_committers_desc=Felhasználók vagy csoportok hozzáadása az ág közvetlen push fehérlistájára. A fehérlistával ki lehet kerülni a kötelező egyesítési kérést.
|
||||
settings.protect_whitelist_committers_desc=Felhasználók vagy csoportok hozzáadása az ág közvetlen beküldési fehér listájára. A fehér listával ki lehet kerülni a kötelező beolvasztási kéréseket.
|
||||
settings.protect_whitelist_users=Felhasználók, akik push-olhatnak az ágra
|
||||
settings.protect_whitelist_search_users=Felhasználók keresése
|
||||
settings.protect_whitelist_teams=Csoportok, melyeknek tagjai pusholhatnak az ágra
|
||||
@@ -714,10 +717,10 @@ settings.basic_settings=Alapbeállítások
|
||||
settings.mirror_settings=Beállítások tükrözése
|
||||
settings.sync_mirror=Szinkronizálás
|
||||
settings.mirror_sync_in_progress=A tükör szinkronozálása folyamatban van, egy perc múlva frissítse az oldalt.
|
||||
settings.site=Hivatalos Weboldal
|
||||
settings.update_settings=Beállítások Mentése
|
||||
settings.site=Hivatalos weboldal
|
||||
settings.update_settings=Beállítások mentése
|
||||
settings.change_reponame_prompt=Ez meg fogja változtatni a repository-ra mutató linkeket.
|
||||
settings.advanced_settings=Haladó Beállítások
|
||||
settings.advanced_settings=Haladó beállítások
|
||||
settings.wiki_desc=Engedélyezi a wiki rendszert
|
||||
settings.use_internal_wiki=Beépített Wiki használata
|
||||
settings.allow_public_wiki_desc=Publikus hozzáférés engedélyezése a Wikihez ha a tároló privát
|
||||
@@ -735,7 +738,9 @@ settings.tracker_issue_style=Külső hibajegykezelő elnevezési stílus:
|
||||
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=Nyilvános hozzájárulások (pull kérések) engedélyezése
|
||||
settings.pulls_desc=Beolvasztási kérések engedélyezése a nyilvános hozzájárulások végett
|
||||
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.
|
||||
@@ -745,18 +750,18 @@ settings.convert_notices_1=- Ez a művelet átalakítja ezt a tükör repository
|
||||
settings.convert_confirm=Átalakítás Megerősítése
|
||||
settings.convert_succeed=A repository típusa sikeresen egyszerűre lett módosítva.
|
||||
settings.transfer=Tulajdonjog átadása
|
||||
settings.transfer_desc=Tároló átadása másik felhasználónak vagy szervezetnek, ahol rendszergazdai jogod van.
|
||||
settings.transfer_desc=Tároló átadása másik felhasználónak vagy szervezetnek, ahol rendszergazdai jogosultsága van.
|
||||
settings.transfer_notices_1=- Ha az új tulaj egy felhasználó, elvész a hozzáférésed.
|
||||
settings.transfer_notices_2=- A hozzáférésed megmarad ha az új tulaj egy szervezet melynek tulajdonosai közt szerepelsz.
|
||||
settings.transfer_form_title=Kérlek, add meg a követező információt a művelet megerősítéséhez:
|
||||
settings.wiki_delete=Wiki Adatok Törlése
|
||||
settings.wiki_delete=Wiki adatok törlése
|
||||
settings.wiki_delete_desc=Miután kitörölted a wiki adatokat nincs visszaút. Jól gondold meg.
|
||||
settings.wiki_delete_notices_1=- Ez törli és kikapcsolja a wiki-t itt: %s
|
||||
settings.wiki_deletion_success=A repository-hoz tartozó wiki adatok törlése sikeres.
|
||||
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.
|
||||
@@ -816,8 +821,8 @@ settings.event_issues=Problémák
|
||||
settings.event_issues_desc=A probléma meg left nyitva, le left zárva, újranyitva, szerkesztve, hozzárendelve, visszarendelve, cimkézve, cimketelenítve, mérföldkövezve, vagy mérföldkőtelenítve.
|
||||
settings.event_issue_comment=Probléma hozzászólás
|
||||
settings.event_issue_comment_desc=Probléma megjegyzés létrehozva, szerkesztve vagy törölve.
|
||||
settings.event_pull_request=Pull kérések
|
||||
settings.event_pull_request_desc=Egyesítési kérés megnyitva, lezárva, újranyitva, hozzárendelve, visszarendelve, cimkézve, cimketelenítve, mérföldkövezve, mérföldkőtelenítve vagy szinkronizálva.
|
||||
settings.event_pull_request=Beolvasztási kérés
|
||||
settings.event_pull_request_desc=Beolvasztási kérés megnyitva, lezárva, újranyitva, hozzárendelve, visszarendelve, címkézve, címke eltávolítva, mérföldkövezve, mérföldkő eltávolítva vagy szinkronizálva.
|
||||
settings.event_release=Kiadás
|
||||
settings.event_release_desc=Kiadás publikálva a tárolóban.
|
||||
settings.active=Aktív
|
||||
@@ -830,6 +835,7 @@ settings.recent_deliveries=Legutóbbi Küldések
|
||||
settings.hook_type=Hook Típusa
|
||||
settings.add_slack_hook_desc=<a href="%s">Slack</a> integráció hozzáadása a repository-hoz.
|
||||
settings.add_discord_hook_desc=<a href="%s">Discord</a> integráció hozzáadva a térolóhoz.
|
||||
settings.add_dingtalk_hook_desc=<a href="%s">Dingtalk</a> integráció hozzáadása a tárolóhoz.
|
||||
settings.slack_token=Token
|
||||
settings.slack_domain=Domain
|
||||
settings.slack_channel=Csatorna
|
||||
@@ -837,7 +843,7 @@ settings.deploy_keys=Deploy kulcsok
|
||||
settings.deploy_keys_helper=<b>Hasznos tipp!</b> ha saját személyes publikus kulcsait szeretné hozzáadni, azt a <a href="%s%s">fiók beállítások</a> oldalon teheti meg.
|
||||
settings.add_deploy_key=Deploy Kulcs Hozzáadása
|
||||
settings.deploy_key_desc=A deploy kulcsok csak olvasásra jogosítanak fel, nem azonosak a személyes SSH kulcsokkal.
|
||||
settings.no_deploy_keys=Még nem adtál hozzá deploy kulcsot.
|
||||
settings.no_deploy_keys=Még nem adott hozzá deploy kulcsot.
|
||||
settings.title=Név
|
||||
settings.deploy_key_content=Tartalom
|
||||
settings.key_been_used=Deploy kulcs tartalma már fel lett használva.
|
||||
@@ -900,8 +906,8 @@ repo_updated=Frissítve
|
||||
people=Emberek
|
||||
invite_someone=Meghívás
|
||||
teams=Csapatok
|
||||
lower_members=tagok
|
||||
lower_repositories=repository-k
|
||||
lower_members=tag
|
||||
lower_repositories=tároló
|
||||
create_new_team=Új csapat létrehozása
|
||||
org_desc=Leírás
|
||||
team_name=Csapat neve
|
||||
@@ -956,9 +962,9 @@ teams.no_desc=Ennek a csapatnak nincs leírása
|
||||
teams.settings=Beállítások
|
||||
teams.owners_permission_desc=A tulajdonosoknak teljes hozzáférése van <strong>minden repository-hoz</strong> és <strong>adminisztrátori joguk</strong> van a szervezethez.
|
||||
teams.members=Csapattagok
|
||||
teams.update_settings=Beállítások Mentése
|
||||
teams.update_settings=Beállítások mentése
|
||||
teams.delete_team=Csapat Törlése
|
||||
teams.add_team_member=Csapattag Hozzáadása
|
||||
teams.add_team_member=Csapattag hozzáadása
|
||||
teams.delete_team_title=Csapat Törlése
|
||||
teams.delete_team_desc=Mivel a csapat törlésre kerül, a tagjai elveszíthetik a hozzáférésüket néhány repository-hoz. Folytatod?
|
||||
teams.delete_team_success=A csapat sikeresen törölve.
|
||||
@@ -1094,6 +1100,7 @@ auths.domain=Tartomány
|
||||
auths.host=Állomás
|
||||
auths.port=Port
|
||||
auths.bind_dn=Bind DN
|
||||
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
|
||||
@@ -1134,6 +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=(nincs beállítva)
|
||||
config.server_config=Kiszolgáló konfiguráció
|
||||
config.app_name=Alkalmazás neve
|
||||
config.app_ver=Alkalmazás verziója
|
||||
@@ -1155,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
|
||||
@@ -1170,6 +1179,9 @@ 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 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
|
||||
config.db_host=Állomás
|
||||
@@ -1199,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
|
||||
@@ -1274,40 +1286,40 @@ notices.delete_success=A rendszer értesítések sikeresen törölve.
|
||||
create_repo=létrehozott tárolót: <a href="%s"> %s</a>
|
||||
fork_repo=lemásolta a(z) <a href="%s">%s</a> tárolót
|
||||
rename_repo=átnevezte a <code>%[1]s</code> tárolót <a href="%[2]s">%[3]s</a>-ra
|
||||
commit_repo=feltöltött a <a href="%[1]s/src/%[2]s">%[3]s</a>-ba ekkor: <a href="%[1]s">%[4]s</a>
|
||||
commit_repo=feltöltött a <a href="%[1]s/src/%[2]s">%[3]s</a> ágba ide: <a href="%[1]s">%[4]s</a>
|
||||
compare_commits=%d commit összehasonlítása
|
||||
transfer_repo=áthelyezett egy tárolót innen: <code>%s</code> ide: <a href="%s">%s</a>
|
||||
create_issue=`problémát jelentett: <a href="%s/issues/%s">%s#%[2]s</a>`
|
||||
close_issue=`megoldott egy problémát: <a href="%s/issues/%s">%s#%[2]s</a>`
|
||||
reopen_issue=`újranyitott egy problémát: <a href="%s/issues/%s">%s#%[2]s</a>`
|
||||
comment_issue=`hozzászólt egy problémához: <a href="%s/issues/%s">%s#%[2]s</a>`
|
||||
create_pull_request=`létrehozott egy egyesítési kérést: <a href="%s/pulls/%s">%s#%[2]s</a>`
|
||||
close_pull_request=`lezárt egy egyesítési kérést: <a href="%s/pulls/%s">%s#%[2]s</a>`
|
||||
reopen_pull_request=`újranyitott egy egyesítési kérést: <a href="%s/pulls/%s">%s#%[2]s</a>`
|
||||
merge_pull_request=`végrehajtott egy egyesítési kérést: <a href="%s/pulls/%s">%s#%[2]s</a>`
|
||||
create_branch=létrehozott egy új ágat <a href="%[1]s/src/%[2]s">%[3]s</a> ekkor: <a href="%[1]s">%[4]s</a>
|
||||
create_pull_request=`létrehozott egy beolvasztási kérést: <a href="%s/pulls/%s">%s#%[2]s</a>`
|
||||
close_pull_request=`lezárt egy beolvasztási kérést: <a href="%s/pulls/%s">%s#%[2]s</a>`
|
||||
reopen_pull_request=`újranyitott egy beolvasztási kérést: <a href="%s/pulls/%s">%s#%[2]s</a>`
|
||||
merge_pull_request=`egyesített egy beolvasztási kérést: <a href="%s/pulls/%s">%s#%[2]s</a>`
|
||||
create_branch=létrehozott egy új <a href="%[1]s/src/%[2]s">%[3]s</a> ágat ebben: <a href="%[1]s">%[4]s</a>
|
||||
delete_branch=törölt egy ágat <code>%[2]s</code> ekkor: <a href="%[1]s">%[3]s</a>
|
||||
push_tag=feltöltött egy cimkét: <a href="%s/src/%s">%[2]s</a> ide: <a href="%[1]s">%[3]s</a>
|
||||
delete_tag=törölt egy cimkét <code>%[2]s</code> ekkor: <a href="%[1]s">%[3]s</a>
|
||||
|
||||
[tool]
|
||||
ago=óta
|
||||
ago=
|
||||
from_now=mostantól
|
||||
now=most
|
||||
1s=1 másodperc %s
|
||||
1m=1 perc %s
|
||||
1h=1 óra %s
|
||||
1d=1 nap %s
|
||||
1w=1 hét %s
|
||||
1mon=1 hónap %s
|
||||
1y=1 év %s
|
||||
seconds=%d másodperc %s
|
||||
minutes=%d perc %s
|
||||
hours=%d óra %s
|
||||
days=%d nap %s
|
||||
weeks=%d hét %s
|
||||
months=%d hónap %s
|
||||
years=%d év %s
|
||||
1s=1 másodperce %s
|
||||
1m=1 perce %s
|
||||
1h=1 órája
|
||||
1d=1 napja %s
|
||||
1w=1 hete %s
|
||||
1mon=1 hónapja %s
|
||||
1y=1 éve %s
|
||||
seconds=%d másodperce %s
|
||||
minutes=%d perce %s
|
||||
hours=%d órája
|
||||
days=%d napja %s
|
||||
weeks=%d hete %s
|
||||
months=%d hónapja %s
|
||||
years=%d éve %s
|
||||
raw_seconds=másodperc
|
||||
raw_minutes=perc
|
||||
|
||||
|
||||
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
@@ -169,11 +169,11 @@ reset_password_helper=Clicca qui per reimpostare la password
|
||||
password_too_short=La lunghezza della password non può essere meno 6 caratteri.
|
||||
non_local_account=Gli account non locali non possono modificare le password tramite Gogs.
|
||||
|
||||
login_two_factor=Two-factor Authentication
|
||||
login_two_factor=Autenticazione in Due Passaggi
|
||||
login_two_factor_passcode=Authentication Passcode
|
||||
login_two_factor_enter_recovery_code=Enter a two-factor recovery code
|
||||
login_two_factor_enter_recovery_code=Inserisci il codice di recupero dell'Autenticazione a due Fattori
|
||||
login_two_factor_recovery=Two-factor Recovery
|
||||
login_two_factor_recovery_code=Recovery Code
|
||||
login_two_factor_recovery_code=Recupera il codice
|
||||
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.
|
||||
|
||||
@@ -265,7 +265,7 @@ password=Password
|
||||
avatar=Avatar
|
||||
ssh_keys=Chiavi SSH
|
||||
security=Security
|
||||
repos=Repositories
|
||||
repos=Repository
|
||||
orgs=Organizzazioni
|
||||
applications=Applicazioni
|
||||
delete=Elimina account
|
||||
@@ -334,19 +334,19 @@ no_activity=Nessuna attività recente
|
||||
key_state_desc=Hai utilizzato questa chiave negli ultimi 7 giorni
|
||||
token_state_desc=Questo token e' satato utilizzato negli ultimi 7 giorni
|
||||
|
||||
two_factor=Two-factor Authentication
|
||||
two_factor=Autenticazione in Due Passaggi
|
||||
two_factor_status=Status:
|
||||
two_factor_on=On
|
||||
two_factor_on=Attiva
|
||||
two_factor_off=Off
|
||||
two_factor_enable=Enable
|
||||
two_factor_disable=Disable
|
||||
two_factor_disable=Disattivata
|
||||
two_factor_view_recovery_codes=View and save <a href="%s%s">your recovery codes</a> in a safe place. You can use them as passcode if you lose access to your authentication application.
|
||||
two_factor_http=For HTTP/HTTPS operations, you are no longer able to use plain username and password. Please create and use <a href="%[1]s%[2]s">Personal Access Token</a> as your credential, e.g. <code>%[3]s</code>.
|
||||
two_factor_enable_title=Enable Two-factor Authentication
|
||||
two_factor_enable_title=Abilita l'autenticazione in due passaggi
|
||||
two_factor_scan_qr=Please use your authentication application to scan the image:
|
||||
two_factor_or_enter_secret=Or enter the secret:
|
||||
two_factor_then_enter_passcode=Then enter passcode:
|
||||
two_factor_verify=Verify
|
||||
two_factor_verify=Verifica
|
||||
two_factor_invalid_passcode=The passcode you entered is not valid, please try again!
|
||||
two_factor_enable_error=Enable Two-factor authentication failed: %v
|
||||
two_factor_enable_success=Two-factor authentication has enabled for your account successfully!
|
||||
@@ -375,7 +375,7 @@ orgs.none=Non sei membro di alcuna organizzazione.
|
||||
orgs.leave_title=Abbandona una organizzazione
|
||||
orgs.leave_desc=Abbandonando l'organizzazione perderai l'accesso a tutti i repository e i gruppi. Confermi?
|
||||
|
||||
repos.leave=Leave
|
||||
repos.leave=Abbandona
|
||||
repos.leave_title=Leave repository
|
||||
repos.leave_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!
|
||||
@@ -605,8 +605,8 @@ issues.label_deletion=Elimina Etichetta
|
||||
issues.label_deletion_desc=Eliminare l'etichetta rimuovera le sue informazioni in tutti i problemi correlati. Vuoi continuare?
|
||||
issues.label_deletion_success=Etichetta eliminata con successo!
|
||||
issues.num_participants=%d Partecipanti
|
||||
issues.attachment.open_tab=`Click to see "%s" in a new tab`
|
||||
issues.attachment.download=`Click to download "%s"`
|
||||
issues.attachment.open_tab='Clicca per vedere "%s" in una nuova scheda'
|
||||
issues.attachment.download=«Clicca qui per scaricare "%s"»
|
||||
|
||||
pulls.new=Nuova Pull Request
|
||||
pulls.compare_changes=Confronta le modifiche
|
||||
@@ -616,6 +616,7 @@ pulls.compare_compare=confronta
|
||||
pulls.filter_branch=Filtra branch
|
||||
pulls.no_results=Nessun risultato trovato.
|
||||
pulls.nothing_to_compare=Non c'è niente da confrontare perchè i branch base e head uguali.
|
||||
pulls.nothing_merge_base=There is nothing to compare because two branches have completely different history.
|
||||
pulls.has_pull_request=`E' già presente una pull request tra questi due trargets: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
|
||||
pulls.create=Crea Pull Request
|
||||
pulls.title_desc=vorrebbe unire %[1]d commit da <code>%[2]s</code> a <code>%[3]s</code>
|
||||
@@ -628,9 +629,11 @@ pulls.merged=Unito
|
||||
pulls.has_merged=Questo contributo è stato incluso con successo!
|
||||
pulls.data_broken=I dati di questa pull request si sono rotti causa dell'eliminazione delle informazioni di fork.
|
||||
pulls.is_checking=Il controllo dei conflitti è ancora in corso, per favore aggiorna pagina tra qualche istante.
|
||||
pulls.can_auto_merge_desc=La pull request non può essere mergiata automaticamente.
|
||||
pulls.can_auto_merge_desc=La pull request può essere mergiata automaticamente.
|
||||
pulls.cannot_auto_merge_desc=Questa pull request non può essere mergiata automaticamente perchè ci sono dei conflitti.
|
||||
pulls.cannot_auto_merge_helper=Effettua il merge manualmente per risolvere i conflitti.
|
||||
pulls.create_merge_commit=Create a merge commit
|
||||
pulls.rebase_before_merging=Rebase before merging
|
||||
pulls.merge_pull_request=Unisci 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.delete_branch=Delete Branch
|
||||
@@ -689,10 +692,10 @@ 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=Aggiorna
|
||||
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=Branch protetti
|
||||
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
|
||||
@@ -736,6 +739,8 @@ settings.tracker_issue_style.numeric=Numeric
|
||||
settings.tracker_issue_style.alphanumeric=Alphanumeric
|
||||
settings.tracker_url_format_desc=You can use placeholder <code>{user} {repo} {index}</code> for user name, repository name and issue index.
|
||||
settings.pulls_desc=Abilita le pull requests per accettare contributi pubblici
|
||||
settings.pulls.ignore_whitespace=Ignore changes in whitespace
|
||||
settings.pulls.allow_rebase_merge=Allow use rebase to merge commits
|
||||
settings.danger_zone=Zona Pericolosa
|
||||
settings.cannot_fork_to_same_owner=You cannot fork a repository to its original owner.
|
||||
settings.new_owner_has_same_repo=Il nuovo proprietario ha già un repository con lo stesso nome. Per favore scegli un altro nome.
|
||||
@@ -756,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.
|
||||
@@ -808,8 +813,8 @@ settings.event_create=Crea
|
||||
settings.event_create_desc=Branch, o tag creato
|
||||
settings.event_delete=Delete
|
||||
settings.event_delete_desc=Branch or tag deleted
|
||||
settings.event_fork=Fork
|
||||
settings.event_fork_desc=Repository forked
|
||||
settings.event_fork=Forka
|
||||
settings.event_fork_desc=Repository Forkata
|
||||
settings.event_push=Push
|
||||
settings.event_push_desc=Git push in un repository
|
||||
settings.event_issues=Issues
|
||||
@@ -830,6 +835,7 @@ settings.recent_deliveries=Recenti Deliveries
|
||||
settings.hook_type=Tipo di Hook
|
||||
settings.add_slack_hook_desc=Aggiungi <a href="%s"> Slack</a> integrazione al tuo repository.
|
||||
settings.add_discord_hook_desc=Add <a href="%s">Discord</a> integration to your repository.
|
||||
settings.add_dingtalk_hook_desc=Add <a href="%s">Dingtalk</a> integration to your repository.
|
||||
settings.slack_token=Token
|
||||
settings.slack_domain=Dominio
|
||||
settings.slack_channel=Canale
|
||||
@@ -1094,6 +1100,7 @@ auths.domain=Dominio
|
||||
auths.host=Host
|
||||
auths.port=Porta
|
||||
auths.bind_dn=Binda DN
|
||||
auths.bind_dn_helper=You can use '%s' as placeholder for username, e.g. DOM\%s
|
||||
auths.bind_password=Binda Password
|
||||
auths.bind_password_helper=Attenzione: Questa password è salvata in chiaro. Non usare su un acount con alti privilegi.
|
||||
auths.user_base=User Search Base
|
||||
@@ -1134,6 +1141,7 @@ auths.still_in_used=Questo meccanismo di autenticazione è ancora attivo per alc
|
||||
auths.deletion_success=Il meccanismo di autenticazione è stato eliminato!
|
||||
auths.login_source_exist=La fonte di autenticazione '%s' esiste già.
|
||||
|
||||
config.not_set=(not set)
|
||||
config.server_config=Configurazione Server
|
||||
config.app_name=Nome Applicazione
|
||||
config.app_ver=Versione Applicazione
|
||||
@@ -1155,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
|
||||
@@ -1170,6 +1179,9 @@ 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_access_control_allow_origin=Access Control Allow Origin
|
||||
|
||||
config.db_config=Configurazione Database
|
||||
config.db_type=Tipo
|
||||
config.db_host=Host
|
||||
@@ -1199,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
|
||||
@@ -1242,7 +1254,7 @@ config.git_pull_timeout=Timeout per il pull
|
||||
config.git_gc_timeout=Timeout per le operazioni di GC
|
||||
|
||||
config.log_config=Configurazione Log
|
||||
config.log_mode=Mode
|
||||
config.log_mode=Modalità
|
||||
config.log_options=Options
|
||||
|
||||
monitor.cron=Incarici di cron
|
||||
|
||||
@@ -69,7 +69,7 @@ app_name_helper=素晴らしい組織名を入れてください!
|
||||
repo_path=リポジトリのルートパス
|
||||
repo_path_helper=すべての Git リモート リポジトリはこのディレクトリに保存されます。
|
||||
run_user=実行ユーザ
|
||||
run_user_helper=ユーザーはリポジトリ ルートパスへのアクセス、及びGogs を実行する権限を所有する必要があります。
|
||||
run_user_helper=ユーザーはリポジトリのルートパスへのアクセス権限、及び Gogs の実行権限を持っている必要があります。
|
||||
domain=ドメイン
|
||||
domain_helper=これはSSH用クローンURLに影響します。
|
||||
ssh_port=SSH ポート
|
||||
@@ -83,7 +83,7 @@ app_url_helper=この設定は、HTTP / HTTPSのクローンURLおよび、一
|
||||
log_root_path=ログのパス
|
||||
log_root_path_helper=ログファイルを書き込むディレクトリ。
|
||||
enable_console_mode=コンソールモードの有効化
|
||||
enable_console_mode_popup=In addition to file mode, also print logs to console.
|
||||
enable_console_mode_popup=ファイルモードに加えて、コンソールにもログを表示します。
|
||||
|
||||
optional_title=オプション設定
|
||||
email_title=メールサービス設定
|
||||
@@ -99,8 +99,8 @@ offline_mode=オフラインモードを有効にする
|
||||
offline_mode_popup=プロダクションモードでは、CDNを使用せずにローカルからリソースファイルを使用します。
|
||||
disable_gravatar=Gravatarのサービスを無効にします
|
||||
disable_gravatar_popup=Gravatarとカスタムソースを無効にして、全てのアバターをユーザーによってアップロードされたものかデフォルトなものにします。
|
||||
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=連合アバター検索を有効にする
|
||||
federated_avatar_lookup_popup=Libavatarに基づいたオープンソースサービスを使用するには、連合アバター検索を有効にします。
|
||||
disable_registration=自己登録を無効にする
|
||||
disable_registration_popup=自己登録を無効にし、管理者のみがアカウント作成できる
|
||||
enable_captcha=Captchaを有効にする
|
||||
@@ -117,9 +117,9 @@ install_gogs=Gogs をインストール
|
||||
test_git_failed='Git' コマンドテストに失敗: %v
|
||||
sqlite3_not_available=このリリース バージョンは SQLite3 をサポートしていません。gobuild バージョンではない、公式のバイナリ バージョンを %s からダウンロードしてください。
|
||||
invalid_db_setting=データベースの設定が正しくありません: %v
|
||||
invalid_repo_path=リポジトリのルート パスが無効です: %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 From フィールドの値が有効ではありません: %v
|
||||
save_config_failed=構成の保存に失敗した: %v
|
||||
invalid_admin_setting=管理者アカウントの設定が無効です: %v
|
||||
@@ -135,7 +135,7 @@ show_more_repos=リポジトリをさらに表示…
|
||||
collaborative_repos=共同リポジトリ
|
||||
my_orgs=自分の組織
|
||||
my_mirrors=自分のミラー
|
||||
view_home=ビュー %s
|
||||
view_home=%s を見る
|
||||
|
||||
issues.in_your_repos=あなたのリポジトリ
|
||||
|
||||
@@ -167,7 +167,7 @@ reset_password=パスワードリセット
|
||||
invalid_code=申し訳ありませんが、確認用コードが期限切れまたは無効です。
|
||||
reset_password_helper=パスワードをリセットするにはここをクリック
|
||||
password_too_short=6文字未満のパスワードは設定できません。
|
||||
non_local_account=Non-local accounts cannot change passwords through Gogs.
|
||||
non_local_account=非ローカルアカウントではGogs経由でのパスワード変更はできません。
|
||||
|
||||
login_two_factor=2段階認証
|
||||
login_two_factor_passcode=認証用パスコード
|
||||
@@ -231,23 +231,23 @@ 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_has_org=アカウントはまだ組織のメンバーであり、組織から退出するか削除する必要があります。
|
||||
still_own_repo=あなたのアカウントはまだ少なくとも1つのリポジトリの所有権を所持しています。まずそれらの削除または移譲を行う必要があります。
|
||||
still_has_org=あなたのアカウントは1つ以上の組織に所属しているため、先に組織を脱退するか削除する必要があります。
|
||||
org_still_own_repo=この組織はまだリポジトリの所有しています、リポジトリを削除または転送する必要があります。
|
||||
|
||||
target_branch_not_exist=ターゲットブランチが存在しない
|
||||
|
||||
[user]
|
||||
change_avatar=アバターを変更
|
||||
join_on=参加しました
|
||||
join_on=登録日
|
||||
repositories=リポジトリ
|
||||
activity=パブリック・アクティビティ
|
||||
followers=フォロワー
|
||||
@@ -256,7 +256,7 @@ following=フォロー
|
||||
follow=フォロー
|
||||
unfollow=フォロー解除
|
||||
|
||||
form.name_reserved=ユーザー名 '%s' は予約されています。
|
||||
form.name_reserved=ユーザー名 '%s' は使用されています。
|
||||
form.name_pattern_not_allowed=ユーザ名のパターン '%s' は許可されていません。
|
||||
|
||||
[settings]
|
||||
@@ -284,7 +284,7 @@ continue=続行
|
||||
cancel=キャンセル
|
||||
|
||||
lookup_avatar_by_mail=メールからアバターを取得
|
||||
federated_avatar_lookup=Federated Avatar Lookup
|
||||
federated_avatar_lookup=連合アバター検索
|
||||
enable_custom_avatar=カスタムのアバターを有効にする
|
||||
choose_new_avatar=新しいアバターを選択
|
||||
update_avatar=アバターの設定を更新
|
||||
@@ -297,7 +297,7 @@ old_password=現在のパスワード
|
||||
new_password=新しいパスワード
|
||||
retype_new_password=新しいパスワードを再入力します。
|
||||
password_incorrect=現在のパスワードが正しくありません。
|
||||
change_password_success=パスワードが正常に変更されました。今すぐ新しいパスワード経由でサインインすることができます。
|
||||
change_password_success=パスワードが正常に変更されました。今すぐ新しいパスワードを使用してサインインすることができます。
|
||||
password_change_disabled=ローカルユーザ以外はパスワードを変更できません。
|
||||
|
||||
emails=メールアドレス
|
||||
@@ -307,16 +307,16 @@ 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=メールアドレスの追加
|
||||
add_email_confirmation_sent='%s' に新しい確認メールを送信しました。%d 時間以内に受信トレイを確認し、確認プロセスを完了してください。
|
||||
add_email_success=新しいメールアドレスが追加されました。
|
||||
|
||||
manage_ssh_keys=SSH キーを管理
|
||||
add_key=キーを追加
|
||||
ssh_desc=これはあなたのアカウントに関連付けられている SSH キーの一覧です。あなたが認識していないキーを削除します。
|
||||
ssh_desc=あなたのアカウントに紐付けられているSSHキーの一覧です。SSHキーがあれば誰でもリポジトリへのアクセス権を得ることが出来ますので、見覚えのないSSHキーがないかよくご確認ください。
|
||||
ssh_helper=<strong>やり方がわかりませんか?</strong> GitHubのガイドをご覧ください。 <a href="%s"> SSHキーの作成</a> <a href="%s">SSH使用に際してよくある問題</a>
|
||||
add_new_key=SSH キーを追加
|
||||
ssh_key_been_used=公開鍵は使用されています。
|
||||
@@ -328,7 +328,7 @@ delete_key=削除
|
||||
ssh_key_deletion=SSH キーの削除
|
||||
ssh_key_deletion_desc=このSSHキーを削除すると、あなたのアカウントに関連するすべてのアクセスが削除されます。続行しますか?
|
||||
ssh_key_deletion_success=SSH キーは正常に削除されました!
|
||||
add_on=追加された
|
||||
add_on=登録日
|
||||
last_used=最終使用日
|
||||
no_activity=最近の活動なし
|
||||
key_state_desc=この鍵は7日間以内に使われています。
|
||||
@@ -343,10 +343,10 @@ two_factor_disable=無効にする
|
||||
two_factor_view_recovery_codes=<a href="%s%s">リカバリーコード</a>を確認し、安全な場所に保管してください。認証済みアプリケーションにアクセスできなくなったとき、パスコードとしてそれを使用できます。
|
||||
two_factor_http=HTTP/HTTPS 通信において、平文のユーザー名・パスワードは使用できなくなりました。個人証明には<a href="%[1]s%[2]s">パーソナル・アクセストークン</a>を作成し利用してください。例:<code>%[3]s</code>
|
||||
two_factor_enable_title=2段階認証を有効にする
|
||||
two_factor_scan_qr=Please use your authentication application to scan the image:
|
||||
two_factor_or_enter_secret=Or enter the secret:
|
||||
two_factor_scan_qr=認証アプリケーションを使用して画像をスキャンしてください :
|
||||
two_factor_or_enter_secret=またはシークレットを入力:
|
||||
two_factor_then_enter_passcode=パスコードを入力してください:
|
||||
two_factor_verify=Verify
|
||||
two_factor_verify=確認
|
||||
two_factor_invalid_passcode=入力されたパスコードは使用できません。もう一度お試しください。
|
||||
two_factor_enable_error=2段階認証の有効化に失敗しました: %v
|
||||
two_factor_enable_success=2段階認証があなたのアカウントで有効化されました!
|
||||
@@ -372,13 +372,13 @@ access_token_deletion_desc=パーソナルアクセストークンを削除す
|
||||
delete_token_success=パーソナルアクセストークンは正常に削除されました!同時にあなたのアプリケーションを更新することを忘れないでください。
|
||||
|
||||
orgs.none=あなたはどの組織のメンバーでもありません。
|
||||
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.leave_title=組織からの脱退
|
||||
orgs.leave_desc=組織から脱退すると、全てのリポジトリとチームへのアクセスができなくなります。続行しますか?
|
||||
|
||||
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=脱退
|
||||
repos.leave_title=リポジトリから脱退
|
||||
repos.leave_desc=脱退するとリポジトリへのアクセスができなくなります。よろしいですか?
|
||||
repos.leave_success=リポジトリ '%s' からの脱退が完了しました!
|
||||
|
||||
delete_account=アカウントを削除
|
||||
delete_prompt=この操作をするとアカウントが完全に削除され、<strong>二度と元に戻すことができなくなります</strong> !
|
||||
@@ -391,8 +391,8 @@ owner=オーナー
|
||||
repo_name=リポジトリ名
|
||||
repo_name_helper=短くて分かりやすく<strong>重複しない</strong>リポジトリ名を決めてください。
|
||||
visibility=公開/非公開
|
||||
visiblity_helper=このリポジトリは<span class="ui red text">プライベート</span>です。
|
||||
visiblity_helper_forced=サイト管理者は、強制的にすべての新しいリポジトリを<span class="ui red text"> プライベート</span> にしています。
|
||||
visiblity_helper=このリポジトリは<span class="ui red text">非公開</span>です
|
||||
visiblity_helper_forced=サイト管理者が、すべての新しいリポジトリを<span class="ui red text">非公開</span>にすることを強制しています
|
||||
visiblity_fork_helper=(この値の変更はすべてのフォークに適用されます)
|
||||
clone_helper=クローンに関してお困りであれば<a target="_blank"href="%s"> ヘルプ</a> を参照しましょう。
|
||||
fork_repo=リポジトリをフォーク
|
||||
@@ -400,7 +400,7 @@ fork_from=フォーク元
|
||||
fork_visiblity_helper=フォークされたリポジトリの可視状態は変更できません。
|
||||
repo_desc=説明
|
||||
repo_lang=言語
|
||||
repo_gitignore_helper=Select .gitignore templates
|
||||
repo_gitignore_helper=.gitignoreのテンプレートを選択
|
||||
license=ライセンス
|
||||
license_helper=ライセンス ファイルを選択
|
||||
readme=Readme
|
||||
@@ -409,13 +409,13 @@ auto_init=選択されたファイルおよびテンプレートでリポジト
|
||||
create_repo=リポジトリを作成
|
||||
default_branch=デフォルトのブランチ
|
||||
mirror_prune=Prune
|
||||
mirror_prune_desc=Remove any remote-tracking references that no longer exist on the remote
|
||||
mirror_prune_desc=リモートに存在しないリモート追跡参照を削除する
|
||||
mirror_interval=ミラー 間隔(時)
|
||||
mirror_address=ミラー アドレス
|
||||
mirror_address_desc=Please include necessary user credentials in the address.
|
||||
mirror_address_desc=アドレスに必要なユーザーの資格情報を入力してください。
|
||||
mirror_last_synced=最終同期
|
||||
watchers=ウォッチャー
|
||||
stargazers=Stargazers
|
||||
stargazers=スターゲイザー
|
||||
forks=フォーク
|
||||
|
||||
form.reach_limit_of_creation=リポジトリの最大作成数 %d にすでに達しています。
|
||||
@@ -428,7 +428,7 @@ migrate_type_helper=このリポジトリは、<span class="text blue"> ミラ
|
||||
migrate_repo=リポジトリを移行
|
||||
migrate.clone_address=クローンアドレス
|
||||
migrate.clone_address_desc=HTTP/HTTPS/GIT URLを設定できます。
|
||||
migrate.clone_address_desc_import_local=You're also allowed to migrate a repository by local server path.
|
||||
migrate.clone_address_desc_import_local=ローカルサーバーのパスでリポジトリを移行することもできます。
|
||||
migrate.permission_denied=ローカル リポジトリをインポートすることはできません。
|
||||
migrate.invalid_local_path=ローカルパスが無効です。存在しないかディレクトリではありません。
|
||||
migrate.failed=移行に失敗しました: %v
|
||||
@@ -450,7 +450,7 @@ quick_guide=クイック ガイド
|
||||
clone_this_repo=このリポジトリのクローンを作成
|
||||
create_new_repo_command=コマンドラインで新しいリポジトリを作成します。
|
||||
push_exist_repo=コマンド ・ ラインから既存のリポジトリをプッシュ
|
||||
bare_message=This repository does not have any content yet.
|
||||
bare_message=このリポジトリにはまだコンテンツがありません。
|
||||
|
||||
files=ファイル
|
||||
branch=ブランチ
|
||||
@@ -472,9 +472,9 @@ file_permalink=パーマリンク
|
||||
file_too_large=このファイルは大きすぎるため、表示できません。
|
||||
video_not_supported_in_browser=お使いのブラウザーは、HTML5 の video タグをサポートしていません。
|
||||
|
||||
branches.overview=Overview
|
||||
branches.active_branches=Active Branches
|
||||
branches.stale_branches=Stale Branches
|
||||
branches.overview=概要
|
||||
branches.active_branches=アクティブブランチ
|
||||
branches.stale_branches=古いブランチ
|
||||
branches.all=すべてのブランチ
|
||||
branches.updated_by=%[1]s が %[2]s によって更新されました
|
||||
branches.change_default_branch=デフォルトブランチの変更
|
||||
@@ -482,16 +482,16 @@ branches.change_default_branch=デフォルトブランチの変更
|
||||
editor.new_file=新規ファイル
|
||||
editor.upload_file=ファイルをアップロード
|
||||
editor.edit_file=ファイルを編集
|
||||
editor.preview_changes=Preview Changes
|
||||
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=You must have write access to make or propose changes to this file
|
||||
editor.must_have_write_access=このファイルへの変更を作成・提案するには、書き込み権限が必要です
|
||||
editor.file_delete_success=ファイル '%s' は正常に削除されました!
|
||||
editor.name_your_file=ファイル名を設定...
|
||||
editor.filename_help=To add directory, just type it and press /. To remove a directory, go to the beginning of the field and press backspace.
|
||||
editor.filename_help=ディレクトリを追加するには、ディレクトリ名を入力後 / を入力してください。削除するには、入力欄の先頭まで移動し backspace キーを押してください。
|
||||
editor.or=もしくは
|
||||
editor.cancel_lower=キャンセル
|
||||
editor.commit_changes=変更をコミット
|
||||
@@ -500,14 +500,14 @@ editor.add='%s' を追加
|
||||
editor.update='%s' を更新
|
||||
editor.delete='%s' を削除
|
||||
editor.commit_message_desc=詳細な説明を追加...
|
||||
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.commit_directly_to_this_branch=<strong class="branch-name">%s</strong> ブランチに直接コミットする。
|
||||
editor.create_new_branch=このコミットのために<strong>新しいブランチ</strong>を作成し、プルリクエストの作成を開始する。
|
||||
editor.new_branch_name_desc=新しいブランチ名...
|
||||
editor.cancel=キャンセル
|
||||
editor.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.branch_already_exists=ブランチ '%s' は、このリポジトリに既に存在します。
|
||||
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' は、すでにリポジトリに存在しません。
|
||||
editor.file_changed_while_editing=あなたが編集を開始してから、ファイルの内容が変更されました。<a target="_blank" href="%s">ここをクリック</a>して変更箇所を確認するか、<strong>コミットをもう一度押して</strong>変更を上書きしてください。
|
||||
@@ -563,20 +563,20 @@ issues.filter_type.assigned_to_you=担当中のリポジトリ
|
||||
issues.filter_type.created_by_you=作成したリポジトリ
|
||||
issues.filter_type.mentioning_you=あなたに伝える
|
||||
issues.filter_sort=並べ替え
|
||||
issues.filter_sort.latest=最新
|
||||
issues.filter_sort.oldest=最も古い
|
||||
issues.filter_sort.recentupdate=最近更新された
|
||||
issues.filter_sort.leastupdate=つい最近更新
|
||||
issues.filter_sort.mostcomment=一番多いコメント
|
||||
issues.filter_sort.leastcomment=一番少ないコメント
|
||||
issues.opened_by=%[1]s が <a href="%[2]s">%[3]s</a> によって開かれました
|
||||
issues.opened_by_fake=%[1]s が %[2]s によって開かれました
|
||||
issues.filter_sort.latest=作成が新しい順
|
||||
issues.filter_sort.oldest=作成が古い順
|
||||
issues.filter_sort.recentupdate=更新が新しい順
|
||||
issues.filter_sort.leastupdate=作成が古い順
|
||||
issues.filter_sort.mostcomment=コメントが多い順
|
||||
issues.filter_sort.leastcomment=コメントが少ない順
|
||||
issues.opened_by=%[1]s に <a href="%[2]s">%[3]s</a> によって開かれました
|
||||
issues.opened_by_fake=%[1]s に %[2]s によって開かれました
|
||||
issues.previous=前ページ
|
||||
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=閉じる
|
||||
@@ -584,8 +584,8 @@ issues.close_comment_issue=コメントしてクローズ
|
||||
issues.reopen_issue=Reopen
|
||||
issues.reopen_comment_issue=コメントと再開
|
||||
issues.create_comment=コメント
|
||||
issues.closed_at=`<a id="%[1]s" href="#%[1]s">%[2]s</a> が閉じられました`
|
||||
issues.reopened_at=`<a id="%[1]s" href="#%[1]s">%[2]s</a> が再び開かれました`
|
||||
issues.closed_at=`<a id="%[1]s" href="#%[1]s">%[2]s</a> に閉じられました`
|
||||
issues.reopened_at=`<a id="%[1]s" href="#%[1]s">%[2]s</a> に再び開かれました`
|
||||
issues.commit_ref_at=`この課題がコミット <a id="%[1]s" href="#%[1]s">%[2]s</a> から参照されました`
|
||||
issues.poster=ポスター
|
||||
issues.collaborator=共同編集者
|
||||
@@ -615,26 +615,29 @@ pulls.compare_base=ベース
|
||||
pulls.compare_compare=比較
|
||||
pulls.filter_branch=フィルターブランチ
|
||||
pulls.no_results=結果が見つかりませんでした。
|
||||
pulls.nothing_to_compare=There is nothing to compare because base and head branches are even.
|
||||
pulls.nothing_to_compare=ベースブランチとヘッドブランチが同一であるため、比較するものがありません。
|
||||
pulls.nothing_merge_base=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.merged_title_desc=merged %[1]d commits from <code>%[2]s</code> into <code>%[3]s</code> %[4]s
|
||||
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.reopen_to_merge=Please reopen this pull request to perform merge operation.
|
||||
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.is_checking=The conflict checking is still in progress, please refresh page in few moments.
|
||||
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=マージコミットを作成する
|
||||
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 オープン
|
||||
@@ -643,27 +646,27 @@ milestones.closed=%s を閉じました
|
||||
milestones.no_due_date=期限なし
|
||||
milestones.open=開く
|
||||
milestones.close=閉じる
|
||||
milestones.new_subheader=あなたの課題を整理するためマイルス トーンを作成します。
|
||||
milestones.create=マイルス トーンを作成
|
||||
milestones.new_subheader=あなたの課題を整理するためマイルストーンを作成します。
|
||||
milestones.create=マイルストーンを作成
|
||||
milestones.title=タイトル
|
||||
milestones.desc=説明
|
||||
milestones.due_date=期日 (オプション)
|
||||
milestones.clear=消去
|
||||
milestones.invalid_due_date_format=期限日付のフォーマットが無効、'yyyy-mm-dd' のフォーマットが必要です。
|
||||
milestones.create_success=マイルス トーン '%s' が正常に作成されました!
|
||||
milestones.edit=マイルス トーンを編集
|
||||
milestones.edit_subheader=人々を混乱させないため、マイルス トーンにより良い説明を使用します。
|
||||
milestones.invalid_due_date_format=期日のフォーマットが無効です、 'yyyy-mm-dd' の形式である必要があります。
|
||||
milestones.create_success=マイルストーン '%s' が正常に作成されました!
|
||||
milestones.edit=マイルストーンを編集
|
||||
milestones.edit_subheader=メンバーを混乱させないよう、マイルストーンの説明はわかりやすくしましょう。
|
||||
milestones.cancel=キャンセル
|
||||
milestones.modify=マイルス トーンを変更します。
|
||||
milestones.edit_success=マイルス トーン '%s' の変更が正常に保存されました。
|
||||
milestones.deletion=マイルス トーンの削除
|
||||
milestones.deletion_desc=このマイルス トーンを削除すると、関連課題に該当情報が削除されます。続行しますか。
|
||||
milestones.deletion_success=マイルス トーンは正常に削除されました。
|
||||
milestones.modify=マイルストーンを変更
|
||||
milestones.edit_success=マイルストーン '%s' の変更が正常に保存されました!
|
||||
milestones.deletion=マイルストーンの削除
|
||||
milestones.deletion_desc=マイルストーンを削除すると、課題との紐付け情報が削除されます。続行しますか?
|
||||
milestones.deletion_success=マイルストーンは正常に削除されました!
|
||||
|
||||
wiki=Wiki
|
||||
wiki.welcome=Wiki へようこそ!
|
||||
wiki.welcome_desc=Wikiとは、あなたのプロジェクトを文書化し、複数人で一緒に編集する場所です。
|
||||
wiki.create_first_page=最初のページを作成する。
|
||||
wiki.create_first_page=最初のページを作成する
|
||||
wiki.page=ページ
|
||||
wiki.filter_page=フィルターページ
|
||||
wiki.new_page=新しいページを作成
|
||||
@@ -686,11 +689,11 @@ settings.collaboration.write=書込
|
||||
settings.collaboration.read=読込
|
||||
settings.collaboration.undefined=未定義
|
||||
settings.branches=ブランチ
|
||||
settings.branches_bare=You cannot manage branches for bare repository. Please push some content first.
|
||||
settings.branches_bare=リポジトリが初期の状態ではブランチの設定はおこなえません。まずは何かプッシュしてください。
|
||||
settings.default_branch=デフォルトブランチ
|
||||
settings.default_branch_desc=The default branch is considered the "base" branch for code commits, pull requests and online editing.
|
||||
settings.default_branch_desc=デフォルトブランチは、コードのコミットやプルリクエスト、オンライン編集において「基点」となるブランチです。
|
||||
settings.update=更新
|
||||
settings.update_default_branch_unsupported=Change default branch is not supported by the Git version on server.
|
||||
settings.update_default_branch_unsupported=このサーバー上のGitバージョンではデフォルトブランチの変更がサポートされていません。
|
||||
settings.update_default_branch_success=このリポジトリのデフォルトブランチが更新されました!
|
||||
settings.protected_branches=保護されたブランチ
|
||||
settings.protected_branches_desc=force pushや偶発的な削除からの保護、コミッターのホワイトリスト設定をおこないます。
|
||||
@@ -711,53 +714,55 @@ settings.update_protect_branch_success=このブランチの保護設定が更
|
||||
settings.hooks=Webhooks
|
||||
settings.githooks=Git のフック
|
||||
settings.basic_settings=基本設定
|
||||
settings.mirror_settings=Mirror Settings
|
||||
settings.mirror_settings=ミラー設定
|
||||
settings.sync_mirror=今すぐ同期
|
||||
settings.mirror_sync_in_progress=Mirror syncing is in progress, please refresh page in about a minute.
|
||||
settings.mirror_sync_in_progress=ミラー同期中です。1分後にページを更新してください。
|
||||
settings.site=公式サイト
|
||||
settings.update_settings=設定の更新
|
||||
settings.change_reponame_prompt=この変更はリンクがリポジトリに関連付ける方法に影響します。
|
||||
settings.advanced_settings=拡張設定
|
||||
settings.wiki_desc=Enable wiki system
|
||||
settings.use_internal_wiki=Use builtin wiki
|
||||
settings.allow_public_wiki_desc=Allow public access to wiki when repository is private
|
||||
settings.use_external_wiki=外部 wiki を使用します。
|
||||
settings.wiki_desc=Wiki システムを有効にする
|
||||
settings.use_internal_wiki=内蔵 Wiki を使用する
|
||||
settings.allow_public_wiki_desc=非公開リポジトリであってもWikiへのアクセスは誰でも可能にする
|
||||
settings.use_external_wiki=外部 Wiki を使用する
|
||||
settings.external_wiki_url=外部 Wiki の URL
|
||||
settings.external_wiki_url_desc=Visitors will be redirected to URL when they click on the tab.
|
||||
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.external_wiki_url_desc=訪問者がタブをクリックしたとき、このURLにリダイレクトされます。
|
||||
settings.issues_desc=課題トラッキングツールを有効
|
||||
settings.use_internal_issue_tracker=軽量な内蔵の課題トラッキングシステムを使用
|
||||
settings.allow_public_issues_desc=非公開リポジトリであっても課題へのアクセスは誰でも可能にする
|
||||
settings.use_external_issue_tracker=外部課題トラッキングシステムを使用
|
||||
settings.external_tracker_url=External Issue Tracker URL
|
||||
settings.external_tracker_url_desc=Visitors will be redirected to URL when they click on the tab.
|
||||
settings.external_tracker_url=外部課題トラッキングツール URL
|
||||
settings.external_tracker_url_desc=訪問者がタブをクリックしたとき、このURLにリダイレクトされます。
|
||||
settings.tracker_url_format=外部課題トラッキングツール URLのフォーマット
|
||||
settings.tracker_issue_style=External Issue Tracker Naming Style:
|
||||
settings.tracker_issue_style=外部課題トラッキングシステムの命名方式:
|
||||
settings.tracker_issue_style.numeric=数値
|
||||
settings.tracker_issue_style.alphanumeric=英数字
|
||||
settings.tracker_url_format_desc=You can use placeholder <code>{user} {repo} {index}</code> for user name, repository name and issue index.
|
||||
settings.pulls_desc=Enable pull requests to accept public contributions
|
||||
settings.tracker_url_format_desc=ユーザー名、リポジトリ名、課題番号を埋め込むために <code>{user} {repo} {index}</code> が使用できます。
|
||||
settings.pulls_desc=誰でもコントリビュートできるよう、プルリクエストの受け付けを有効にします
|
||||
settings.pulls.ignore_whitespace=空白の変更を無視する
|
||||
settings.pulls.allow_rebase_merge=コミットをマージするためのリベースの使用を許可する
|
||||
settings.danger_zone=危険地帯
|
||||
settings.cannot_fork_to_same_owner=元の持ち主に向けてフォークすることは出来ません。
|
||||
settings.new_owner_has_same_repo=新しいオーナーは、既に同じ名前のリポジトリを持っています。
|
||||
settings.convert=Convert To Regular Repository
|
||||
settings.convert_desc=You can convert this mirror to a regular repository. This cannot be reversed.
|
||||
settings.convert_notices_1=- This operation will convert this repository mirror into a regular repository and cannot be undone.
|
||||
settings.convert_confirm=Confirm Conversion
|
||||
settings.convert_succeed=Repository has been converted to regular type successfully.
|
||||
settings.convert=通常リポジトリへ変更
|
||||
settings.convert_desc=ミラーリポジトリを通常のリポジトリに変更します。この操作は元に戻せません。
|
||||
settings.convert_notices_1=- この操作によりリポジトリはミラーリポジトリから通常リポジトリへと変更され、元に戻すことはできません。
|
||||
settings.convert_confirm=変更を確認
|
||||
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=新しいオーナー
|
||||
@@ -778,10 +783,10 @@ settings.webhook_deletion=Webhook を削除
|
||||
settings.webhook_deletion_desc=このwebhookを削除すると、すべての情報と配信履歴が削除されます。続行しますか?
|
||||
settings.webhook_deletion_success=Webhook が正常に削除されました。
|
||||
settings.webhook.test_delivery=テスト配信
|
||||
settings.webhook.test_delivery_desc=Send a fake push event delivery to test your webhook settings
|
||||
settings.webhook.test_delivery_success=Test webhook has been added to delivery queue. It may take few seconds before it shows up in the delivery history.
|
||||
settings.webhook.test_delivery_desc=Webhook 設定をテストするために、フェイクのpushイベントを送信します
|
||||
settings.webhook.test_delivery_success=テスト Webhook が配信キューに追加されました。配信履歴に表示されるまでにはしばらく時間がかかる場合があります。
|
||||
settings.webhook.redelivery=再送信
|
||||
settings.webhook.redelivery_success=Hook task '%s' has been readded to delivery queue. It may take few seconds to update delivery status in history.
|
||||
settings.webhook.redelivery_success=フックタスク '%s' が配信キューに再び追加されました。配信履歴に表示されるまでにはしばらく時間がかかる場合があります。
|
||||
settings.webhook.request=リクエスト
|
||||
settings.webhook.response=レスポンス
|
||||
settings.webhook.headers=ヘッダ
|
||||
@@ -796,30 +801,30 @@ 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=カラー
|
||||
settings.event_desc=どのイベントをこのWEBフックのトリガーにしますか?
|
||||
settings.event_desc=どのイベントをこの Webhook のトリガーにしますか?
|
||||
settings.event_push_only=<code>push</code> イベントのみ
|
||||
settings.event_send_everything=<strong>すべて</strong> が必要です。
|
||||
settings.event_choose=必要なものを選択しましょう。
|
||||
settings.event_create=Create
|
||||
settings.event_create_desc=ブランチ、またはタグを作成
|
||||
settings.event_send_everything=<strong>すべて</strong>のイベント
|
||||
settings.event_choose=必要なものを選択
|
||||
settings.event_create=作成
|
||||
settings.event_create_desc=ブランチやタグの作成時
|
||||
settings.event_delete=削除
|
||||
settings.event_delete_desc=Branch or tag deleted
|
||||
settings.event_delete_desc=ブランチやタグの削除時
|
||||
settings.event_fork=フォーク
|
||||
settings.event_fork_desc=Repository forked
|
||||
settings.event_fork_desc=リポジトリがフォークされた時
|
||||
settings.event_push=プッシュ
|
||||
settings.event_push_desc=Git リポジトリにプッシュ
|
||||
settings.event_push_desc=リポジトリへのプッシュがされた時
|
||||
settings.event_issues=課題
|
||||
settings.event_issues_desc=Issue opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, or demilestoned.
|
||||
settings.event_issues_desc=課題の開始・終了・再開・編集・アサイン・アサイン解除・ラベル更新・ラベル削除・マイルストーン紐付け・マイルストーン紐付け解除がされた時
|
||||
settings.event_issue_comment=課題へのコメント
|
||||
settings.event_issue_comment_desc=Issue comment created, edited, or deleted.
|
||||
settings.event_issue_comment_desc=課題へのコメントが作成・編集・削除された時
|
||||
settings.event_pull_request=プルリクエスト
|
||||
settings.event_pull_request_desc=Pull request opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, demilestoned, or synchronized.
|
||||
settings.event_pull_request_desc=プルリクエストの開始・終了・再開・編集・アサイン・アサイン解除・ラベル更新・ラベル削除・マイルストーン紐付け・マイルストーン紐付け解除・同期がされた時
|
||||
settings.event_release=リリース
|
||||
settings.event_release_desc=リポジトリでリリースが公開されました。
|
||||
settings.event_release_desc=リポジトリでリリースが公開された時
|
||||
settings.active=アクティブ
|
||||
settings.active_helper=このフックのトリガーが引かれた時に、イベントの詳細を配信します。
|
||||
settings.add_hook_success=新しい webhook が追加されました。
|
||||
@@ -828,13 +833,14 @@ settings.update_hook_success=Webhook を更新しました。
|
||||
settings.delete_webhook=Webhook を削除
|
||||
settings.recent_deliveries=最近のデリバリー
|
||||
settings.hook_type=フックタイプ
|
||||
settings.add_slack_hook_desc=リポジトリに <a href="%s"> Slack</a> 連携を追加します。
|
||||
settings.add_slack_hook_desc=リポジトリに <a href="%s">Slack</a> 連携を追加します。
|
||||
settings.add_discord_hook_desc=リポジトリに <a href="%s">Discord</a> 連携を追加します。
|
||||
settings.add_dingtalk_hook_desc=リポジトリに <a href="%s">Dingtalk</a> 連携を追加します。
|
||||
settings.slack_token=トークン
|
||||
settings.slack_domain=ドメイン
|
||||
settings.slack_channel=チャンネル
|
||||
settings.deploy_keys=デプロイキー
|
||||
settings.deploy_keys_helper=<b>Common Gotcha!</b> If you're looking for adding personal public keys, please add them in your <a href="%s%s">account settings</a>.
|
||||
settings.deploy_keys_helper=<b>お探しですか?</b> 個人公開鍵を追加する場合は、<a href="%s%s">アカウント設定</a>からおこなえます。
|
||||
settings.add_deploy_key=デプロイキーを追加
|
||||
settings.deploy_key_desc=個人アカウントのSSHキーとは異なり、デプロイキーは読み取り専用アクセスとなります。
|
||||
settings.no_deploy_keys=デプロイキーは1つも追加されていません。
|
||||
@@ -853,22 +859,22 @@ diff.commit=コミット
|
||||
diff.data_not_available=差分データは利用できません。
|
||||
diff.show_diff_stats=差分情報を表示
|
||||
diff.show_split_view=分割表示
|
||||
diff.show_unified_view=Unified View
|
||||
diff.stats_desc=共有<strong>%d 個のファイルを変更した</strong>、<strong>%d 個の追加</strong> と <strong>%d 個の削除</strong>を含む
|
||||
diff.show_unified_view=一括表示
|
||||
diff.stats_desc=<strong>%d ファイル変更</strong>、<strong>%d 行追加</strong>、<strong>%d 行削除</strong>
|
||||
diff.bin=BIN
|
||||
diff.view_file=ファイルの表示
|
||||
diff.file_suppressed=File diff suppressed because it is too large
|
||||
diff.too_many_files=Some files were not shown because too many files changed in this diff
|
||||
diff.file_suppressed=ファイルの差分が大きいため隠しています
|
||||
diff.too_many_files=この差分においてかなりの量のファイルが変更されているため、一部のファイルを表示していません
|
||||
|
||||
release.releases=リリース
|
||||
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=既存のタグを選択するか、新しいタグを作成し発行します。
|
||||
@@ -889,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=組織名
|
||||
@@ -897,7 +903,7 @@ org_full_name_holder=組織のフルネーム
|
||||
org_name_helper=偉大な組織の名は短く覚えやすいです。
|
||||
create_org=組織を作成
|
||||
repo_updated=最終更新
|
||||
people=人々
|
||||
people=メンバー
|
||||
invite_someone=誰かを招待
|
||||
teams=チーム
|
||||
lower_members=メンバー
|
||||
@@ -921,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=この組織を削除
|
||||
@@ -931,21 +937,21 @@ settings.delete_org_title=組織の削除
|
||||
settings.delete_org_desc=この組織は完全に削除されます。よろしいですか?
|
||||
settings.hooks_desc=この組織のもとで <strong>すべてのリポジトリ</strong> に対してトリガーされる webhook を追加します。
|
||||
|
||||
members.membership_visibility=Membership Visibility:
|
||||
members.membership_visibility=所属状況を公開:
|
||||
members.public=パブリック
|
||||
members.public_helper=プライベートにする
|
||||
members.private=プライベート
|
||||
members.public_helper=非公開にする
|
||||
members.private=非公開
|
||||
members.private_helper=公開する
|
||||
members.member_role=メンバーの役割:
|
||||
members.owner=オーナー
|
||||
members.member=メンバー
|
||||
members.remove=削除
|
||||
members.leave=退出
|
||||
members.leave=脱退
|
||||
members.invite_desc=%s に新しいメンバーを追加
|
||||
members.invite_now=今すぐ招待
|
||||
|
||||
teams.join=参加
|
||||
teams.leave=退出
|
||||
teams.leave=脱退
|
||||
teams.read_access=読み取りアクセス権
|
||||
teams.read_access_helper=このチームはリポジトリの閲覧とクローンをすることができます。
|
||||
teams.write_access=書き込みアクセス権
|
||||
@@ -998,15 +1004,15 @@ dashboard.delete_inactivate_accounts_success=すべての非アクティブア
|
||||
dashboard.delete_repo_archives=リポジトリのすべてのアーカイブを削除
|
||||
dashboard.delete_repo_archives_success=リポジトリのすべてのアーカイブが正常に削除されました。
|
||||
dashboard.delete_missing_repos=Gitファイルが失われたリポジトリのすべてのレコードを削除
|
||||
dashboard.delete_missing_repos_success=All repository records that lost Git files have been deleted successfully.
|
||||
dashboard.delete_missing_repos_success=すべてのGitファイルを失ったレポジトリレコードが正常に削除されました。
|
||||
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
|
||||
@@ -1041,8 +1047,8 @@ dashboard.gc_times=GC実行回数
|
||||
users.user_manage_panel=ユーザー管理パネル
|
||||
users.new_account=新規アカウントを作成
|
||||
users.name=名前
|
||||
users.activated=アクティブ化
|
||||
users.admin=アドミン
|
||||
users.activated=有効
|
||||
users.admin=管理者
|
||||
users.repos=リポジトリ
|
||||
users.created=作成日時
|
||||
users.send_register_notify=登録通知をユーザーに送信
|
||||
@@ -1051,8 +1057,8 @@ users.edit=編集
|
||||
users.auth_source=認証ソース
|
||||
users.local=ローカル
|
||||
users.auth_login_name=認証ログイン名
|
||||
users.password_helper=それをそのまま空のままにします。
|
||||
users.update_profile_success=アカウントのプロファイルが更新されました。
|
||||
users.password_helper=変更しない場合は空白のままにしてください。
|
||||
users.update_profile_success=アカウント情報が更新されました。
|
||||
users.edit_account=アカウントの編集
|
||||
users.max_repo_creation=最大リポジトリ作成数
|
||||
users.max_repo_creation_desc=(デフォルトの設定を使用する場合は -1 を設定してください)
|
||||
@@ -1061,10 +1067,10 @@ users.prohibit_login=ログイン禁止のアカウント
|
||||
users.is_admin=管理者権限を持つアカウント
|
||||
users.allow_git_hook=Git フックの作成権限を持つアカウント
|
||||
users.allow_import_local=ローカルリポジトリをインポートする権限を持つアカウント
|
||||
users.update_profile=アカウント ・ プロファイルを更新
|
||||
users.update_profile=アカウント情報を更新
|
||||
users.delete_account=このアカウントを削除
|
||||
users.still_own_repo=アカウント所有のリポジトリがあり、リポジトリの削除または所有者の移譲が必要です。
|
||||
users.still_has_org=アカウントはまだ組織のメンバーであり、組織から退出するか削除する必要があります。
|
||||
users.still_has_org=このアカウントは1つ以上の組織に所属しているため、先に組織を脱退させるか組織を削除する必要があります。
|
||||
users.deletion_success=アカウントが正常に削除されました。
|
||||
|
||||
orgs.org_manage_panel=組織の管理パネル
|
||||
@@ -1075,7 +1081,7 @@ orgs.members=メンバー
|
||||
repos.repo_manage_panel=リポジトリの管理パネル
|
||||
repos.owner=オーナー
|
||||
repos.name=名前
|
||||
repos.private=プライベート
|
||||
repos.private=非公開
|
||||
repos.watches=Watches
|
||||
repos.stars=Stars
|
||||
repos.issues=課題
|
||||
@@ -1085,7 +1091,7 @@ auths.auth_manage_panel=認証管理パネル
|
||||
auths.new=新しいソースを追加
|
||||
auths.name=名前
|
||||
auths.type=タイプ
|
||||
auths.enabled=Enabled
|
||||
auths.enabled=有効
|
||||
auths.updated=更新しました
|
||||
auths.auth_type=認証タイプ
|
||||
auths.auth_name=認証名
|
||||
@@ -1094,21 +1100,22 @@ auths.domain=ドメイン
|
||||
auths.host=ホスト
|
||||
auths.port=ポート
|
||||
auths.bind_dn=バインド DN
|
||||
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=Username Attribute
|
||||
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=ユーザー名属性
|
||||
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
|
||||
@@ -1116,7 +1123,7 @@ auths.smtp_auth=SMTP 認証の種類
|
||||
auths.smtphost=SMTP ホスト
|
||||
auths.smtpport=SMTP ポート
|
||||
auths.allowed_domains=許可されているドメイン
|
||||
auths.allowed_domains_helper=Leave it empty to not restrict any domains. Multiple domains should be separated by comma ','.
|
||||
auths.allowed_domains_helper=ドメイン制限をおこなわない場合は空のままにしてください。複数のドメインを記入する場合は、カンマ ',' で区切ってください。
|
||||
auths.enable_tls=TLS 暗号化を有効にする
|
||||
auths.skip_tls_verify=TLSベリファイを省略
|
||||
auths.pam_service_name=PAMサービス名
|
||||
@@ -1130,10 +1137,11 @@ auths.update=認証設定を更新
|
||||
auths.delete=この認証を削除
|
||||
auths.delete_auth_title=認証削除
|
||||
auths.delete_auth_desc=認証を削除します、継続しますか?
|
||||
auths.still_in_used=This authentication is still used by some users, please delete or convert these users to another login type first.
|
||||
auths.still_in_used=この認証を使用しているユーザーがいます。ユーザーを削除するか、別のログイン方法に割り当ててください。
|
||||
auths.deletion_success=認証が正常に削除されました。
|
||||
auths.login_source_exist=Login source '%s' already exists.
|
||||
auths.login_source_exist=ログイン ソース '%s' は既に存在します。
|
||||
|
||||
config.not_set=(未設定)
|
||||
config.server_config=サーバーの構成
|
||||
config.app_name=アプリケーション名
|
||||
config.app_ver=アプリケーションのバージョン
|
||||
@@ -1145,7 +1153,7 @@ config.run_user=実行ユーザ
|
||||
config.run_mode=実行モード
|
||||
config.git_version=Git バージョン
|
||||
config.static_file_root_path=静的ファイルのルートパス
|
||||
config.log_file_root_path=ログ ファイルのルート パス
|
||||
config.log_file_root_path=ログファイルのルートパス
|
||||
config.reverse_auth_user=リバース認証ユーザ
|
||||
|
||||
config.ssh_config=SSH設定
|
||||
@@ -1155,22 +1163,26 @@ config.ssh_domain=ドメイン
|
||||
config.ssh_port=ポート
|
||||
config.ssh_listen_port=リッスンポート
|
||||
config.ssh_root_path=ルートパス
|
||||
config.ssh_key_test_path=Key Test 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=最小キーサイズチェック
|
||||
config.ssh_minimum_key_sizes=最小キーサイズ
|
||||
|
||||
config.repo_config=Repository Configuration
|
||||
config.repo_config=リポジトリの設定
|
||||
config.repo_root_path=リポジトリのルートパス
|
||||
config.script_type=スクリプトの種類
|
||||
config.repo_force_private=Force Private
|
||||
config.repo_force_private=非公開リポジトリの強制
|
||||
config.max_creation_limit=最大作成数
|
||||
config.preferred_licenses=Preferred Licenses
|
||||
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.db_config=データベースの構成
|
||||
config.http_config=HTTP の設定
|
||||
config.http_access_control_allow_origin=Access Control Allow Origin
|
||||
|
||||
config.db_config=データベース設定
|
||||
config.db_type=タイプ
|
||||
config.db_host=ホスト
|
||||
config.db_name=名前
|
||||
@@ -1180,10 +1192,10 @@ config.db_ssl_mode_helper=(「postgres」のみ)
|
||||
config.db_path=パス
|
||||
config.db_path_helper=("sqlite3" および "tidb" の場合)
|
||||
|
||||
config.service_config=サービスの構成
|
||||
config.service_config=サービスの設定
|
||||
config.register_email_confirm=電子メールの確認を必要
|
||||
config.disable_register=登録を無効にする
|
||||
config.show_registration_button=登録ボタンを表示します。
|
||||
config.show_registration_button=登録ボタンを表示
|
||||
config.require_sign_in_view=サインインを要求
|
||||
config.mail_notify=メール通知
|
||||
config.disable_key_size_check=最小キーサイズチェックを無効にする
|
||||
@@ -1196,10 +1208,10 @@ config.queue_length=キューの長さ
|
||||
config.deliver_timeout=送信タイムアウト
|
||||
config.skip_tls_verify=TLSの確認を省略
|
||||
|
||||
config.mailer_config=メーラーの構成
|
||||
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=テストメールの送信
|
||||
@@ -1207,14 +1219,14 @@ config.test_mail_failed='%s' 宛のテストメールの送信に失敗しまし
|
||||
config.test_mail_sent=テストメールが '%s' に送信されました。
|
||||
|
||||
config.oauth_config=OAuth 構成
|
||||
config.oauth_enabled=Enabled
|
||||
config.oauth_enabled=有効
|
||||
|
||||
config.cache_config=キャッシュの構成
|
||||
config.cache_config=キャッシュの設定
|
||||
config.cache_adapter=キャッシュ アダプター
|
||||
config.cache_interval=キャッシュ間隔
|
||||
config.cache_conn=キャッシュ接続
|
||||
|
||||
config.session_config=セッションの構成
|
||||
config.session_config=セッションの設定
|
||||
config.session_provider=セッション プロバイダー
|
||||
config.provider_config=プロバイダーの構成
|
||||
config.cookie_name=クッキーの名前
|
||||
@@ -1224,10 +1236,10 @@ config.session_life_time=セッションのライフタイム
|
||||
config.https_only=HTTPS のみ
|
||||
config.cookie_life_time=クッキーのライフタイム
|
||||
|
||||
config.picture_config=画像構成
|
||||
config.picture_config=画像の設定
|
||||
config.picture_service=画像サービス
|
||||
config.disable_gravatar=Gravatarを無効にする
|
||||
config.enable_federated_avatar=Enable Federated Avatars
|
||||
config.enable_federated_avatar=連合アバターを有効にする
|
||||
|
||||
config.git_config=Git 設定
|
||||
config.git_disable_diff_highlight=Diff のシンタックスハイライトを無効にする
|
||||
@@ -1235,13 +1247,13 @@ config.git_max_diff_lines=Diff の最大行数(1ファイルあたり)
|
||||
config.git_max_diff_line_characters=Diff の最大文字数(1行あたり)
|
||||
config.git_max_diff_files=Diff の最大ファイル数(表示)
|
||||
config.git_gc_args=GC の引数
|
||||
config.git_migrate_timeout=Migration Timeout
|
||||
config.git_mirror_timeout=Mirror Update Timeout
|
||||
config.git_migrate_timeout=移行タイムアウト
|
||||
config.git_mirror_timeout=ミラー更新タイムアウト
|
||||
config.git_clone_timeout=Clone 操作のタイムアウト
|
||||
config.git_pull_timeout=Pull 操作のタイムアウト
|
||||
config.git_gc_timeout=GC 操作のタイムアウト
|
||||
|
||||
config.log_config=ログの構成
|
||||
config.log_config=ログの設定
|
||||
config.log_mode=モード
|
||||
config.log_options=オプション
|
||||
|
||||
@@ -1273,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]
|
||||
|
||||
@@ -119,7 +119,7 @@ sqlite3_not_available=설치하신 버전은 SQLite3을 지원하지 않으므
|
||||
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
|
||||
@@ -340,24 +340,24 @@ 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_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_view_recovery_codes=<a href="%s%s">복구 코드</a>를 안전한 장소에 저장해 두십시오. 인증 애플리케이션에 접근할 수 없을때 사용할 수 있습니다.
|
||||
two_factor_http=HTTP/HTTPS 작업에 더이상 평문 사용자명과 비밀번호를 사용할 수 없습니다. <a href="%[1]s%[2]s">개인 액세스 토큰</a>을 생성후 사용해 주세요. 예. <code>%[3]s</code>.
|
||||
two_factor_enable_title=2단계 인증 활성화
|
||||
two_factor_scan_qr=인증 애플리케이션으로 이 이미지를 스캔하세요:
|
||||
two_factor_or_enter_secret=또는 이 비밀키를 입력하세요:
|
||||
two_factor_then_enter_passcode=그리고 코드를 입력하세요:
|
||||
two_factor_verify=확인
|
||||
two_factor_invalid_passcode=입력한 코드가 올바르지 않습니다. 다시 시도해 주세요!
|
||||
two_factor_enable_error=2단계 인증 활성화 실패: %v
|
||||
two_factor_enable_success=2단계 인증이 성공적으로 활성화되었습니다!
|
||||
two_factor_recovery_codes_title=Two-factor Authentication Recovery Codes
|
||||
two_factor_recovery_codes_desc=Recovery codes are used when you temporarily lose access to your authentication application. Each recovery code can only be used once, <b>please keep these codes in a safe place</b>.
|
||||
two_factor_regenerate_recovery_codes=Regenerate Recovery Codes
|
||||
two_factor_regenerate_recovery_codes_error=Regenerate recovery codes failed: %v
|
||||
two_factor_regenerate_recovery_codes_success=New recovery codes has been generated successfully!
|
||||
two_factor_disable_title=Disable Two-factor Authentication
|
||||
two_factor_disable_title=2단계 인증 비활성화
|
||||
two_factor_disable_desc=Your account security level will decrease after disabled two-factor authentication. Do you want to continue?
|
||||
two_factor_disable_success=Two-factor authentication has disabled successfully!
|
||||
two_factor_disable_success=2단계 인증이 성공적으로 비활성화되었습니다!
|
||||
|
||||
manage_access_token=개인 액세스 토큰 관리
|
||||
generate_new_token=새 토큰을 생성
|
||||
@@ -450,7 +450,7 @@ quick_guide=퀵 가이드
|
||||
clone_this_repo=이 저장소 복제
|
||||
create_new_repo_command=커맨드 라인에서 새 저장소 만들기
|
||||
push_exist_repo=커맨드 라인에서 기존 저장소 푸시하기
|
||||
bare_message=This repository does not have any content yet.
|
||||
bare_message=이 저장소에는 아직 내용이 없습니다.
|
||||
|
||||
files=파일
|
||||
branch=브렌치
|
||||
@@ -463,7 +463,7 @@ pulls=풀 리퀘스트
|
||||
labels=레이블
|
||||
milestones=마일스톤
|
||||
commits=커밋
|
||||
git_branches=Branches
|
||||
git_branches=브랜치
|
||||
releases=릴리즈
|
||||
file_raw=Raw
|
||||
file_history=히스토리
|
||||
@@ -473,11 +473,11 @@ file_too_large=이 파일은 표시하기엔 너무 큽니다.
|
||||
video_not_supported_in_browser=이 브라우저는 HTML5 비디오 태그를 지원하지 않습니다.
|
||||
|
||||
branches.overview=Overview
|
||||
branches.active_branches=Active Branches
|
||||
branches.stale_branches=Stale Branches
|
||||
branches.all=All Branches
|
||||
branches.active_branches=활성 브랜치
|
||||
branches.stale_branches=오래된 브랜치
|
||||
branches.all=모든 브랜치
|
||||
branches.updated_by=Updated %[1]s by %[2]s
|
||||
branches.change_default_branch=Change Default Branch
|
||||
branches.change_default_branch=기본 브랜치 변경
|
||||
|
||||
editor.new_file=파일 생성
|
||||
editor.upload_file=파일 업로드
|
||||
@@ -616,6 +616,7 @@ pulls.compare_compare=비교
|
||||
pulls.filter_branch=Filter Branch
|
||||
pulls.no_results=결과 없음
|
||||
pulls.nothing_to_compare=Base 와 head 브랜치가 동일해서 비교할 게 없습니다.
|
||||
pulls.nothing_merge_base=There is nothing to compare because two branches have completely different history.
|
||||
pulls.has_pull_request=`이 두 타겟 사이엔 이미 풀 리퀘스트가 있습니다:<a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
|
||||
pulls.create=풀 리퀘스트 생성
|
||||
pulls.title_desc=<code>%[2]s</code> 에서 <code>%[3]s</code> 로 %[1]d commits 를 머지하려 합니다
|
||||
@@ -632,6 +633,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.merge_pull_request=풀리퀘스트 머지
|
||||
pulls.open_unmerged_pull_exists=`같은 리파지토리에서 같은 머지 정보로 만들어진 풀리퀘스트 (#%d) 가 이미 오픈 상태이고 머지를 기다리고 있기 때문에 다시 열기 작업을 할 수 없습니다.`
|
||||
pulls.delete_branch=브랜치 삭제
|
||||
@@ -737,8 +740,10 @@ 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.danger_zone=위험 설정
|
||||
settings.cannot_fork_to_same_owner=You cannot fork a repository to its original owner.
|
||||
settings.cannot_fork_to_same_owner=본인 소유의 저장소를 본인 명의로 포크할 수 없습니다.
|
||||
settings.new_owner_has_same_repo=새로운 소유자가 같은 이름의 저장소를 이미 가지고 있습니다. 다른 이름을 선택해주세요.
|
||||
settings.convert=일반 리파지토리로 변환
|
||||
settings.convert_desc=이 미러를 일반 리파지토리로 변환할 수 없습니다. 반대로는 할 수 없습니다.
|
||||
@@ -757,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=저장소 옵션이 성공적으로 업데이트 되었습니다.
|
||||
@@ -807,13 +812,13 @@ settings.event_send_everything=<strong>모든 것</strong>이 필요합니다.
|
||||
settings.event_choose=필요한 것을 선택해주세요.
|
||||
settings.event_create=생성
|
||||
settings.event_create_desc=브랜치 또는 태그를 생성합니다.
|
||||
settings.event_delete=Delete
|
||||
settings.event_delete_desc=Branch or tag deleted
|
||||
settings.event_fork=Fork
|
||||
settings.event_delete=삭제
|
||||
settings.event_delete_desc=브랜치나 태그 삭제됨
|
||||
settings.event_fork=포크
|
||||
settings.event_fork_desc=Repository forked
|
||||
settings.event_push=푸시
|
||||
settings.event_push_desc=깃 저장소로 푸시
|
||||
settings.event_issues=Issues
|
||||
settings.event_issues=이슈
|
||||
settings.event_issues_desc=Issue opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, or demilestoned.
|
||||
settings.event_issue_comment=Issue Comment
|
||||
settings.event_issue_comment_desc=Issue comment created, edited, or deleted.
|
||||
@@ -831,6 +836,7 @@ settings.recent_deliveries=최근의 Deliveries
|
||||
settings.hook_type=훅 타입
|
||||
settings.add_slack_hook_desc=저장소에 <a href="%s">슬랙</a>연동을 추가
|
||||
settings.add_discord_hook_desc=Add <a href="%s">Discord</a> integration to your repository.
|
||||
settings.add_dingtalk_hook_desc=Add <a href="%s">Dingtalk</a> integration to your repository.
|
||||
settings.slack_token=토큰
|
||||
settings.slack_domain=도메인
|
||||
settings.slack_channel=채널
|
||||
@@ -1095,6 +1101,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_password=비밀번호 연결
|
||||
auths.bind_password_helper=경고: 이 암호는 일반 텍스트로 저장됩니다. 높은 권한의 계정을 사용하지 마십시오.
|
||||
auths.user_base=사용자 검색 기준
|
||||
@@ -1135,6 +1142,7 @@ auths.still_in_used=이 인증은 아직 몇몇 사용자들이 사용하고 있
|
||||
auths.deletion_success=인증이 성공적으로 삭제 되었습니다!
|
||||
auths.login_source_exist=로그인 소스 '%s'는 이미 존재합니다.
|
||||
|
||||
config.not_set=(not set)
|
||||
config.server_config=서버 설정
|
||||
config.app_name=애플리케이션 이름
|
||||
config.app_ver=응용 프로그램 버전
|
||||
@@ -1156,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=최소 키 사이즈 검사
|
||||
@@ -1171,6 +1180,9 @@ 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 설정
|
||||
config.http_access_control_allow_origin=Access Control Allow Origin
|
||||
|
||||
config.db_config=데이터베이스 설정
|
||||
config.db_type=유형
|
||||
config.db_host=호스트
|
||||
@@ -1200,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=테스트 이메일 보내기
|
||||
|
||||
@@ -616,6 +616,7 @@ pulls.compare_compare=salīdzināmais
|
||||
pulls.filter_branch=Filtrēt atzarus
|
||||
pulls.no_results=Nekas netika atrasts.
|
||||
pulls.nothing_to_compare=Nav ko salīdzināt, jo bāzes un salīdzināmie atzari ir vienādi.
|
||||
pulls.nothing_merge_base=There is nothing to compare because two branches have completely different history.
|
||||
pulls.has_pull_request=`Jau eksistē izmaiņu pieprasījums starp šiem diviem atzariem: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
|
||||
pulls.create=Izveidot izmaiņu pieprasījumu
|
||||
pulls.title_desc=vēlas sapludināt %[1]d revīzijas no <code>%[2]s</code> uz <code>%[3]s</code>
|
||||
@@ -631,6 +632,8 @@ pulls.is_checking=Notiek konfliktu pārbaude, mirkli uzgaidiet un atjaunojiet la
|
||||
pulls.can_auto_merge_desc=Šo izmaiņu pieprasījumu var automātiski saplūdināt.
|
||||
pulls.cannot_auto_merge_desc=Šis izmaiņu pieprasījums nevar tikt automātiski saplūdināts konfliktu dēļ.
|
||||
pulls.cannot_auto_merge_helper=Lūdzu sapludiniet manuāli, lai atrisinātu konfliktus.
|
||||
pulls.create_merge_commit=Create a merge commit
|
||||
pulls.rebase_before_merging=Rebase before merging
|
||||
pulls.merge_pull_request=Izmaiņu pieprasījuma sapludināšana
|
||||
pulls.open_unmerged_pull_exists=`Jūs nevarat veikt atkārtotas atvēršanas darbību, jo jau eksistē izmaiņu pieprasījums (#%d) no šī repozitorija ar tādu pašu sapludināšanas informāciju un gaida sapludināšanu.`
|
||||
pulls.delete_branch=Dzēst atzaru
|
||||
@@ -736,6 +739,8 @@ settings.tracker_issue_style.numeric=Cipari
|
||||
settings.tracker_issue_style.alphanumeric=Burti un cipari
|
||||
settings.tracker_url_format_desc=Jūs varat izmantot <code>{user}{repo}{index}</code> lietotājvārdam, repozitorija nosaukumam un problēmas identifikātoram.
|
||||
settings.pulls_desc=Iespējot izmaiņu pieprasījumus lai saņemtu publiskus ieguldījumus
|
||||
settings.pulls.ignore_whitespace=Ignore changes in whitespace
|
||||
settings.pulls.allow_rebase_merge=Allow use rebase to merge commits
|
||||
settings.danger_zone=Bīstamā zona
|
||||
settings.cannot_fork_to_same_owner=You cannot fork a repository to its original owner.
|
||||
settings.new_owner_has_same_repo=Jaunajam īpašniekam jau ir repozitorijs ar šādu nosaukumu.
|
||||
@@ -756,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.
|
||||
@@ -830,6 +835,7 @@ settings.recent_deliveries=Pēdējās piegādes
|
||||
settings.hook_type=Āķa veids
|
||||
settings.add_slack_hook_desc=PIevienot <a href="%s">Slack</a> integrāciju Jūsu repozitorijā.
|
||||
settings.add_discord_hook_desc=Add <a href="%s">Discord</a> integration to your repository.
|
||||
settings.add_dingtalk_hook_desc=Add <a href="%s">Dingtalk</a> integration to your repository.
|
||||
settings.slack_token=Talons
|
||||
settings.slack_domain=Domēns
|
||||
settings.slack_channel=Kanāls
|
||||
@@ -1094,6 +1100,7 @@ auths.domain=Domēns
|
||||
auths.host=Resursdators
|
||||
auths.port=Ports
|
||||
auths.bind_dn=Saistīšanas DN
|
||||
auths.bind_dn_helper=You can use '%s' as placeholder for username, e.g. DOM\%s
|
||||
auths.bind_password=Saistīšanas parole
|
||||
auths.bind_password_helper=Brīdinājums: Šī parole tiks saglabāta nešifrētā veidā. Neizmantojiet kontu ar augstām privilēģijām.
|
||||
auths.user_base=Lietotāja pamatnosacījumi
|
||||
@@ -1134,6 +1141,7 @@ auths.still_in_used=Daži lietotāji joprojām izmanto šo autentifikācijas vei
|
||||
auths.deletion_success=Autentifikācija tika veiksmīgi izdzēsta!
|
||||
auths.login_source_exist=Pieteikšanās avots '%s' jau eksistē.
|
||||
|
||||
config.not_set=(not set)
|
||||
config.server_config=Servera konfigurācija
|
||||
config.app_name=Lietotnes nosaukums
|
||||
config.app_ver=Lietotnes versija
|
||||
@@ -1155,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
|
||||
@@ -1170,6 +1179,9 @@ config.disable_http_git=Atspējot HTTP Git
|
||||
config.enable_local_path_migration=Atļaut migrāciju no lokāla ceļa
|
||||
config.commits_fetch_concurrency=Commits Fetch Concurrency
|
||||
|
||||
config.http_config=HTTP Configuration
|
||||
config.http_access_control_allow_origin=Access Control Allow Origin
|
||||
|
||||
config.db_config=Datu bāzes konfigurācija
|
||||
config.db_type=Veids
|
||||
config.db_host=Resursdators
|
||||
@@ -1199,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
|
||||
|
||||
@@ -205,7 +205,7 @@ AdminEmail=E-mail beheerder
|
||||
NewBranchName=Nieuwe branch naam
|
||||
CommitSummary=Commit samenvatting
|
||||
CommitMessage=Commit bericht
|
||||
CommitChoice=Commit choice
|
||||
CommitChoice=Keuze toepassen
|
||||
TreeName=Bestandspad
|
||||
Content=Inhoud
|
||||
|
||||
@@ -264,7 +264,7 @@ profile=Profiel
|
||||
password=Wachtwoord
|
||||
avatar=Profielfoto
|
||||
ssh_keys=SSH-sleutels
|
||||
security=Security
|
||||
security=Beveiliging
|
||||
repos=Repositories
|
||||
orgs=Organisaties
|
||||
applications=Toepassingen
|
||||
@@ -336,17 +336,17 @@ token_state_desc=Deze token is de laatste 7 dagen gebruikt
|
||||
|
||||
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_on=Aan
|
||||
two_factor_off=Uit
|
||||
two_factor_enable=Inschakelen
|
||||
two_factor_disable=Uitschakelen
|
||||
two_factor_view_recovery_codes=View and save <a href="%s%s">your recovery codes</a> in a safe place. You can use them as passcode if you lose access to your authentication application.
|
||||
two_factor_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_verify=Verifiëren
|
||||
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!
|
||||
@@ -375,8 +375,8 @@ orgs.none=U bent geen lid van een organisatie.
|
||||
orgs.leave_title=Een organisatie verlaten
|
||||
orgs.leave_desc=U verliest toegang tot alle repositories en teams nadat u de organisatie verlaten hebt. Wilt u doorgaan?
|
||||
|
||||
repos.leave=Leave
|
||||
repos.leave_title=Leave repository
|
||||
repos.leave=Verlaat
|
||||
repos.leave_title=Verlaat repository
|
||||
repos.leave_desc=You will lose access to the repository after you left. Do you want to continue?
|
||||
repos.leave_success=You have left repository '%s' successfully!
|
||||
|
||||
@@ -472,7 +472,7 @@ file_permalink=Permalink
|
||||
file_too_large=Dit bestand is te groot om te worden getoond
|
||||
video_not_supported_in_browser=Uw browser ondersteunt geen HTML5 video label.
|
||||
|
||||
branches.overview=Overview
|
||||
branches.overview=Overzicht
|
||||
branches.active_branches=Active Branches
|
||||
branches.stale_branches=Stale Branches
|
||||
branches.all=All Branches
|
||||
@@ -494,7 +494,7 @@ editor.name_your_file=Bestandsnaam...
|
||||
editor.filename_help=To add directory, just type it and press /. To remove a directory, go to the beginning of the field and press backspace.
|
||||
editor.or=of
|
||||
editor.cancel_lower=annuleren
|
||||
editor.commit_changes=Commit Changes
|
||||
editor.commit_changes=Wijzigingen toepassen
|
||||
editor.add_tmpl='%s/<filename>' toevoegen
|
||||
editor.add='%s' toevoegen
|
||||
editor.update='%s' updaten
|
||||
@@ -509,7 +509,7 @@ editor.branch_already_exists=Aftakking '%s' bestaat al in deze repository.
|
||||
editor.directory_is_a_file=Entry '%s' in the parent path is a file not a directory in this repository.
|
||||
editor.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_editing_no_longer_exists=Het bestand '%s' die u aan het bewerken bent bestaat niet meer in deze repository.
|
||||
editor.file_changed_while_editing=File content has been changed since you started editing. <a target="_blank" href="%s">Click here</a> to see what have been changed or <strong>press commit again</strong> to overwrite those changes.
|
||||
editor.file_already_exists=A file with name '%s' already exists in this repository.
|
||||
editor.no_changes_to_show=Er zijn geen wijzigingen om weer te geven.
|
||||
@@ -616,6 +616,7 @@ pulls.compare_compare=vergelijk
|
||||
pulls.filter_branch=Filter branch
|
||||
pulls.no_results=Geen resultaten gevonden.
|
||||
pulls.nothing_to_compare=Er is niets te vergelijken omdat base en head branches dezelfde zijn.
|
||||
pulls.nothing_merge_base=There is nothing to compare because two branches have completely different history.
|
||||
pulls.has_pull_request=' Er is al een pull-aanvraag tussen deze twee targets: <a href="%[1]s/pulls/%[3]d"> %[2]s #% [3]d</a>'
|
||||
pulls.create=Pull verzoek aanmaken
|
||||
pulls.title_desc=wil %[1]d commits van <code>%[2]s</code> samenvoegen met <code>%[3]s</code>
|
||||
@@ -631,6 +632,8 @@ pulls.is_checking=Controle van conflicten is nog bezig, ververs deze pagina in e
|
||||
pulls.can_auto_merge_desc=Dit pull-request kan automatisch samengevoegd worden.
|
||||
pulls.cannot_auto_merge_desc=Dit pull-request kan niet worden gemerged omdat er conflicten zijn.
|
||||
pulls.cannot_auto_merge_helper=Gelieve beide versies manueel samen te voegen om de conflicten op te lossen.
|
||||
pulls.create_merge_commit=Create a merge commit
|
||||
pulls.rebase_before_merging=Rebase before merging
|
||||
pulls.merge_pull_request=Samenvoegen van pull verzoek
|
||||
pulls.open_unmerged_pull_exists=U kan de bewerking 'heropenen' niet uitvoeren omdat er al een pull-aanvraag (#%d) is van dezelfde repository met dezelfde informatie. Voeg deze eerst samen.
|
||||
pulls.delete_branch=Aftakking verwijderen
|
||||
@@ -689,7 +692,7 @@ 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=Bijwerken
|
||||
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
|
||||
@@ -704,7 +707,7 @@ settings.protect_require_pull_request_desc=Enable this option to disable direct
|
||||
settings.protect_whitelist_committers=Whitelist who can push to this branch
|
||||
settings.protect_whitelist_committers_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_search_users=Doorzoek gebruikers
|
||||
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!
|
||||
@@ -736,6 +739,8 @@ settings.tracker_issue_style.numeric=Nummeriek
|
||||
settings.tracker_issue_style.alphanumeric=Alfanummeriek
|
||||
settings.tracker_url_format_desc=U kan de aanduidingen <code>{user} {repo} {index}</code> gebruiken voor de gebruikersnaam, de naam van de repository en de lijst van open tickets.
|
||||
settings.pulls_desc=Schakel 'pull request' in om publieke bijdragen te mogelijk te maken
|
||||
settings.pulls.ignore_whitespace=Ignore changes in whitespace
|
||||
settings.pulls.allow_rebase_merge=Allow use rebase to merge commits
|
||||
settings.danger_zone=Gevaren zone
|
||||
settings.cannot_fork_to_same_owner=You cannot fork a repository to its original owner.
|
||||
settings.new_owner_has_same_repo=De nieuwe eigenaar heeft al een repositorie met deze naam
|
||||
@@ -756,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.
|
||||
@@ -806,7 +811,7 @@ settings.event_send_everything=Ik moet <strong>alles</strong> hebben.
|
||||
settings.event_choose=Laat me kiezen wat ik nodig heb.
|
||||
settings.event_create=Creëer
|
||||
settings.event_create_desc=Branch, of tag aangemaakt
|
||||
settings.event_delete=Delete
|
||||
settings.event_delete=Verwijderen
|
||||
settings.event_delete_desc=Branch or tag deleted
|
||||
settings.event_fork=Fork
|
||||
settings.event_fork_desc=Repository forked
|
||||
@@ -830,6 +835,7 @@ settings.recent_deliveries=Recente bezorgingen
|
||||
settings.hook_type=Type hook
|
||||
settings.add_slack_hook_desc=<a href="%s"> toegestane vertraging</a> integratie toevoegen aan uw repository.
|
||||
settings.add_discord_hook_desc=Add <a href="%s">Discord</a> integration to your repository.
|
||||
settings.add_dingtalk_hook_desc=Add <a href="%s">Dingtalk</a> integration to your repository.
|
||||
settings.slack_token=Slack token
|
||||
settings.slack_domain=Slack domein
|
||||
settings.slack_channel=Slack kanaal
|
||||
@@ -1094,6 +1100,7 @@ auths.domain=Domein
|
||||
auths.host=Host
|
||||
auths.port=Poort
|
||||
auths.bind_dn=Binden DN
|
||||
auths.bind_dn_helper=You can use '%s' as placeholder for username, e.g. DOM\%s
|
||||
auths.bind_password=Bind wachtwoord
|
||||
auths.bind_password_helper=Opgelet: Dit wachtwoord wordt opgeslagen als leesbare tekst. Gebruik geen account met verhoogde rechten.
|
||||
auths.user_base=User Search Base
|
||||
@@ -1134,6 +1141,7 @@ auths.still_in_used=This authentication is still used by some users, please dele
|
||||
auths.deletion_success=Authenticatie is met succes verwijderd!
|
||||
auths.login_source_exist=Login source '%s' already exists.
|
||||
|
||||
config.not_set=(not set)
|
||||
config.server_config=Serverconfiguratie
|
||||
config.app_name=Applicatienaam
|
||||
config.app_ver=Applicatieversie
|
||||
@@ -1155,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
|
||||
@@ -1170,6 +1179,9 @@ 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_access_control_allow_origin=Access Control Allow Origin
|
||||
|
||||
config.db_config=Databaseconfiguratie
|
||||
config.db_type=Type
|
||||
config.db_host=Host
|
||||
@@ -1199,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
|
||||
|
||||
@@ -616,6 +616,7 @@ pulls.compare_compare=porównaj
|
||||
pulls.filter_branch=Filtruj branch
|
||||
pulls.no_results=Nie znaleziono wyników.
|
||||
pulls.nothing_to_compare=Nie ma nic do porównania, ponieważ gałęzie bazy i head są identyczne.
|
||||
pulls.nothing_merge_base=Nie ma nic do porównania, ponieważ dwie gałęzie mają zupełnie inną historię.
|
||||
pulls.has_pull_request=`Istnieje już pull request dla tych dwóch celów: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
|
||||
pulls.create=Utwórz Pull Request
|
||||
pulls.title_desc=chce scalić %[1]d commity/ów z <code>%[2]s</code> do <code>%[3]s</code>
|
||||
@@ -631,6 +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=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łąź
|
||||
@@ -736,6 +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=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.
|
||||
@@ -756,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.
|
||||
@@ -830,6 +835,7 @@ settings.recent_deliveries=Ostatnie wywołania
|
||||
settings.hook_type=Typ hooka
|
||||
settings.add_slack_hook_desc=Dodaj integrację ze <a href="%s">Slackiem</a> do Twojego repozytorium.
|
||||
settings.add_discord_hook_desc=Dodaj integrację <a href="%s">Discord</a> do Twojego repozytorium.
|
||||
settings.add_dingtalk_hook_desc=Dodaj integrację <a href="%s">Dingtalk</a> do Twojego repozytorium.
|
||||
settings.slack_token=Token
|
||||
settings.slack_domain=Domena
|
||||
settings.slack_channel=Kanał
|
||||
@@ -1094,6 +1100,7 @@ auths.domain=Domena
|
||||
auths.host=Host
|
||||
auths.port=Port
|
||||
auths.bind_dn=Bind DN
|
||||
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
|
||||
@@ -1134,6 +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=(nie ustawiono)
|
||||
config.server_config=Konfiguracja serwera
|
||||
config.app_name=Nazwa aplikacji
|
||||
config.app_ver=Wersja aplikacji
|
||||
@@ -1155,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
|
||||
@@ -1170,6 +1179,9 @@ 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=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
|
||||
config.db_host=Host
|
||||
@@ -1199,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
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
app_desc=Um serviço de Git hospedável e amigável escrito em Go
|
||||
app_desc=Um serviço de Git auto-hospedado e amigável escrito em Go
|
||||
|
||||
home=Página inicial
|
||||
dashboard=Página Inicial
|
||||
dashboard=Painel de controle
|
||||
explore=Explorar
|
||||
help=Ajuda
|
||||
sign_in=Entrar
|
||||
@@ -11,11 +11,11 @@ register=Registrar
|
||||
website=Site
|
||||
version=Versão
|
||||
page=Página
|
||||
template=Template
|
||||
template=Modelo
|
||||
language=Idioma
|
||||
create_new=Criar...
|
||||
user_profile_and_more=Perfil do usuário e configurações
|
||||
signed_in_as=Logado como
|
||||
user_profile_and_more=Perfil do usuário e mais
|
||||
signed_in_as=Entrou como
|
||||
|
||||
username=Usuário
|
||||
email=E-mail
|
||||
@@ -48,7 +48,7 @@ cancel=Cancelar
|
||||
install=Instalação
|
||||
title=Etapas de instalação para primeira execução
|
||||
docker_helper=Se você está rodando o Gogs dentro do Docker, por favor leia os <a target="_blank" href="%s">Guias</a> cuidadosamente antes de mudar qualquer coisa nesta página!
|
||||
requite_db_desc=Gogs requires MySQL, PostgreSQL, SQLite3, MSSQL or TiDB.
|
||||
requite_db_desc=O Gogs requer MySQL, PostgreSQL, SQLite3, MSSQL ou TiDB.
|
||||
db_title=Configurações de banco de dados
|
||||
db_type=Tipo de banco de dados
|
||||
host=Host
|
||||
@@ -58,8 +58,8 @@ db_name=Nome do banco de dados
|
||||
db_helper=Por favor, use o mecanismo INNODB com o conjunto de caracteres utf8_general_ci para MySQL.
|
||||
ssl_mode=Modo SSL
|
||||
path=Caminho
|
||||
sqlite_helper=The file path of SQLite3 database. <br>Please use absolute path when you start as service.
|
||||
err_empty_db_path=SQLite3 database path cannot be empty.
|
||||
sqlite_helper=Caminho para o arquivo de banco de dados SQLite3. <br>Use o caminho absoluto ao iniciar como serviço.
|
||||
err_empty_db_path=Deve haver um caminho para o banco de dados SQLite3.
|
||||
no_admin_and_disable_registration=Você não pode desabilitar o registro sem criar uma conta de administrador.
|
||||
err_empty_admin_password=A senha de administrador não pode ser vazia.
|
||||
|
||||
@@ -74,16 +74,16 @@ domain=Domínio
|
||||
domain_helper=Isto afeta URLs para o clone via SSH.
|
||||
ssh_port=Porta SSH
|
||||
ssh_port_helper=Número da porta que seu servidor SSH está usando, deixe vazio para desativar o recurso SSH.
|
||||
use_builtin_ssh_server=Use Builtin SSH Server
|
||||
use_builtin_ssh_server_popup=Start builtin SSH server for Git operations to distinguish from system SSH daemon.
|
||||
use_builtin_ssh_server=Usar o servidor SSH embutido
|
||||
use_builtin_ssh_server_popup=Iniciar o servidor SSH embutido para operações Git, para diferenciar do serviço SSH do sistema.
|
||||
http_port=Porta HTTP
|
||||
http_port_helper=Número da porta em que a aplicação irá executar.
|
||||
app_url=URL do aplicativo
|
||||
app_url_helper=Isto afeta a URL de clone via HTTP/HTTPs e também o e-mail.
|
||||
log_root_path=Caminho do log
|
||||
log_root_path_helper=Pasta dos arquivos de log.
|
||||
enable_console_mode=Enable Console Mode
|
||||
enable_console_mode_popup=In addition to file mode, also print logs to console.
|
||||
enable_console_mode=Ativar o modo de console
|
||||
enable_console_mode_popup=Além do modo de arquivo, exibir registros (log) no console.
|
||||
|
||||
optional_title=Configurações opcionais
|
||||
email_title=Configurações do serviço de e-mail
|
||||
@@ -119,7 +119,7 @@ sqlite3_not_available=Sua versão não suporta SQLite3, por favor faça o downlo
|
||||
invalid_db_setting=Configuração do banco de dados não está correta: %v
|
||||
invalid_repo_path=A raiz do repositório é inválida: %v
|
||||
run_user_not_match=O usuário da execução não é o usuário atual: %s -> %s
|
||||
smtp_host_missing_port=SMTP Host is missing port in address.
|
||||
smtp_host_missing_port=O endereço do host SMTP não possui porta.
|
||||
invalid_smtp_from=O SMTP do campo não é válido: %v
|
||||
save_config_failed=Falha ao salvar a configuração: %v
|
||||
invalid_admin_setting=Configuração da conta de administrador está inválida: %v
|
||||
@@ -169,13 +169,13 @@ reset_password_helper=Clique aqui para redefinir sua senha
|
||||
password_too_short=O comprimento da senha não pode ser menor que 6.
|
||||
non_local_account=Não é possível mudar a senha de contas remotas pelo 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=Autenticação de dois fatores
|
||||
login_two_factor_passcode=Senha de Autenticação
|
||||
login_two_factor_enter_recovery_code=Insira um código de recuperação
|
||||
login_two_factor_recovery=Recuperação de autenticação
|
||||
login_two_factor_recovery_code=Código de Recuperação
|
||||
login_two_factor_enter_passcode=Insira uma senha p/ autenticação
|
||||
login_two_factor_invalid_recovery_code=O código de recuperação já foi usado ou é inválido.
|
||||
|
||||
[mail]
|
||||
activate_account=Por favor, ative sua conta
|
||||
@@ -212,7 +212,7 @@ Content=Conteúdo
|
||||
require_error=` não pode estar vazio.`
|
||||
alpha_dash_error=` devem ser caracteres alfanuméricos, hífen (-) ou sublinhado (_).`
|
||||
alpha_dash_dot_error=` devem ser caracteres alfanuméricos ou hífen (-) ou sublinhado (_).`
|
||||
alpha_dash_dot_slash_error=` must be valid alpha or numeric or dash(-_) or dot characters or slashes.`
|
||||
alpha_dash_dot_slash_error=` apenas alfanuméricos e pontuações (hifens, pontos e barras).`
|
||||
size_error=`deve ser do tamanho %s.`
|
||||
min_size_error=` deve conter pelo menos %s caracteres.`
|
||||
max_size_error=` deve conter no máximo %s caracteres.`
|
||||
@@ -264,8 +264,8 @@ profile=Perfil
|
||||
password=Senha
|
||||
avatar=Avatar
|
||||
ssh_keys=Chaves SSH
|
||||
security=Security
|
||||
repos=Repositories
|
||||
security=Segurança
|
||||
repos=Repositórios
|
||||
orgs=Organizações
|
||||
applications=Aplicativos
|
||||
delete=Deletar conta
|
||||
@@ -334,30 +334,30 @@ no_activity=Nenhuma atividade recente
|
||||
key_state_desc=Usada a pelo menos 7 dias
|
||||
token_state_desc=Este token é usado em pelo menos 7 dias
|
||||
|
||||
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_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=Autenticação de dois fatores
|
||||
two_factor_status=Estado:
|
||||
two_factor_on=Ativado
|
||||
two_factor_off=Desativado
|
||||
two_factor_enable=Ativar
|
||||
two_factor_disable=Desativar
|
||||
two_factor_view_recovery_codes=Consulte e salve <a href="%s%s">seus códigos de recuperação</a> num local seguro. Você poderá usá-los como senha se perder acesso ao seu aplicativo de autenticação.
|
||||
two_factor_http=Para operações em HTTP/HTTPS, você não poderá mais usar seu nome de usuário e senha. Crie e use um <a href="%[1]s%[2]s">Token de Acesso Pessoal</a> como credencial (p. ex.: <code>%[3]%</code>).
|
||||
two_factor_enable_title=Ativar autenticação de dois fatores
|
||||
two_factor_scan_qr=Use o seu aplicativo de autenticação para escanear a imagem:
|
||||
two_factor_or_enter_secret=Ou informe o segredo:
|
||||
two_factor_then_enter_passcode=Em seguida digite a senha:
|
||||
two_factor_verify=Verificar
|
||||
two_factor_invalid_passcode=A senha inserida é inválida. Tente novamente!
|
||||
two_factor_enable_error=Falha ao ativar a autenticação de dois fatores: %v
|
||||
two_factor_enable_success=A autenticação de dois fatores foi ativada para a sua conta com sucesso!
|
||||
two_factor_recovery_codes_title=Códigos de recup. p/ autenticação de dois fatores
|
||||
two_factor_recovery_codes_desc=Os códigos de recuperação são usados se você perder acesso ao seu aplicativo de autenticação. Cada código pode ser usado apenas uma vez. <b>Salve-os num lugar seguro.</b>
|
||||
two_factor_regenerate_recovery_codes=Gerar códigos de recuperação
|
||||
two_factor_regenerate_recovery_codes_error=Falha ao gerar códigos de recuperação: %v
|
||||
two_factor_regenerate_recovery_codes_success=Novos códigos de recuperação gerados com sucesso!
|
||||
two_factor_disable_title=Desativar a autenticação de dois fatores
|
||||
two_factor_disable_desc=O nível de segurança da sua conta diminuirá após desativar a autenticação de dois fatores. Deseja mesmo continuar?
|
||||
two_factor_disable_success=A autenticação de dois fatores foi desativada com sucesso!
|
||||
|
||||
manage_access_token=Gerenciar tokens de acesso pessoal
|
||||
generate_new_token=Gerar novo token
|
||||
@@ -375,10 +375,10 @@ orgs.none=Você não é participante de nenhuma organização.
|
||||
orgs.leave_title=Deixar uma organização
|
||||
orgs.leave_desc=Você perderá acesso a todos os repositórios e equipes após deixar a organização. Deseja continuar?
|
||||
|
||||
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=Sair
|
||||
repos.leave_title=Sair do repositório
|
||||
repos.leave_desc=Você irá perder acesso ao repositório após sair. Deseja continuar?
|
||||
repos.leave_success=Você saiu do repositório “%s” com sucesso!
|
||||
|
||||
delete_account=Deletar sua conta
|
||||
delete_prompt=A operação deletará sua conta permanentemente, e <strong>NÃO PODERÁ</strong> ser desfeita!
|
||||
@@ -450,7 +450,7 @@ quick_guide=Guia rápido
|
||||
clone_this_repo=Clonar este repositório
|
||||
create_new_repo_command=Criar um novo repositório na linha de comando
|
||||
push_exist_repo=Push um repositório existente na linha de comando
|
||||
bare_message=This repository does not have any content yet.
|
||||
bare_message=Este repositório ainda não possui conteúdo.
|
||||
|
||||
files=Arquivos
|
||||
branch=Branch
|
||||
@@ -472,12 +472,12 @@ file_permalink=Link permanente
|
||||
file_too_large=Este arquivo é muito grande para ser exibido
|
||||
video_not_supported_in_browser=Seu navegador não suporta a tag de vídeo do HTML5.
|
||||
|
||||
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=Visão geral
|
||||
branches.active_branches=Branches ativos
|
||||
branches.stale_branches=Branches obsoletos
|
||||
branches.all=Todos os branches
|
||||
branches.updated_by=Atualizado %[1]s por %[2]s
|
||||
branches.change_default_branch=Modificar branch padrão
|
||||
|
||||
editor.new_file=Novo arquivo
|
||||
editor.upload_file=Enviar arquivo
|
||||
@@ -518,7 +518,7 @@ editor.add_subdir=Adicionar o subdiretório...
|
||||
editor.unable_to_upload_files=Houve erro ao fazer upload de arquivos para '%s': %v
|
||||
editor.upload_files_to_dir=Enviar arquivos para '%s'
|
||||
|
||||
commits.commit_history=Commit History
|
||||
commits.commit_history=Histórico de commits
|
||||
commits.commits=Commits
|
||||
commits.search=Pesquisar commits
|
||||
commits.find=Buscar
|
||||
@@ -616,6 +616,7 @@ pulls.compare_compare=comparar
|
||||
pulls.filter_branch=Filtrar branch
|
||||
pulls.no_results=Nada encontrado.
|
||||
pulls.nothing_to_compare=Não há nada para comparar porque o branch base e o head estão iguais.
|
||||
pulls.nothing_merge_base=Não há o que comparar pois os dois branches possuem históricos completamente diferentes.
|
||||
pulls.has_pull_request=`Já existem pull requests entre esses dois alvos: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
|
||||
pulls.create=Criar Pull Request
|
||||
pulls.title_desc=quer mesclar %[1]d commits de <code>%[2]s</code> em <code>%[3]s</code>
|
||||
@@ -631,6 +632,8 @@ 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=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.`
|
||||
pulls.delete_branch=Excluir Branch
|
||||
@@ -686,28 +689,28 @@ settings.collaboration.write=Escrita
|
||||
settings.collaboration.read=Leitura
|
||||
settings.collaboration.undefined=Indefinido
|
||||
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.branches_bare=Não é possível gerenciar branches num repositório vazio. Adicione conteúdo primeiro.
|
||||
settings.default_branch=Branch padrão
|
||||
settings.default_branch_desc=O branch padrão é considerado branch "base" para commits, pull requests e edição on-line.
|
||||
settings.update=Atualizar
|
||||
settings.update_default_branch_unsupported=Mudar o branch padrão não é suportado pela versão do Git no servidor.
|
||||
settings.update_default_branch_success=O branch padrão deste repositório foi atualizado com sucesso!
|
||||
settings.protected_branches=Branches protegidos
|
||||
settings.protected_branches_desc=Proteger branches de push forçado, remoção acidental e committers da lista branca.
|
||||
settings.choose_a_branch=Selecione um branch...
|
||||
settings.branch_protection=Proteção de Branch
|
||||
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.branch_protection_desc=Escolha opções de proteção para o branch <b>%s</b>.
|
||||
settings.protect_this_branch=Proteger este branch
|
||||
settings.protect_this_branch_desc=Desabilita pushes forçados e previne remoção.
|
||||
settings.protect_require_pull_request=Requer pull request ao invés de push direto
|
||||
settings.protect_require_pull_request_desc=Habilite esta opção para desabilitar push direto para este branch. Os commits precisam sofrer um push para outro branch não protegido e merge para este branch por meio de um pull request.
|
||||
settings.protect_whitelist_committers=Incluir na lista branca quem pode fazer push para este branch
|
||||
settings.protect_whitelist_committers_desc=Adicionar pessoas ou equipes para a lista branca de push direto para este branch. Usuários na lista branca contornarão a verificação de necessidade de pull request.
|
||||
settings.protect_whitelist_users=Usuários que podem realizar push para este branch
|
||||
settings.protect_whitelist_search_users=Pesquisar usuários
|
||||
settings.protect_whitelist_teams=Equipes cujos membros podem realizar push para este branch
|
||||
settings.protect_whitelist_search_teams=Buscar times
|
||||
settings.update_protect_branch_success=As opções de proteção deste branch foram atualizadas com sucesso!
|
||||
settings.hooks=Webhooks
|
||||
settings.githooks=Hooks do Git
|
||||
settings.basic_settings=Configurações básicas
|
||||
@@ -720,13 +723,13 @@ settings.change_reponame_prompt=Esta mudança irá afetar os links para este rep
|
||||
settings.advanced_settings=Configurações avançadas
|
||||
settings.wiki_desc=Habilitar sistema de wiki
|
||||
settings.use_internal_wiki=Usar wiki nativa
|
||||
settings.allow_public_wiki_desc=Allow public access to wiki when repository is private
|
||||
settings.allow_public_wiki_desc=Permitir acesso público à wiki quando o repositório for privado
|
||||
settings.use_external_wiki=Usar wiki externa
|
||||
settings.external_wiki_url=URL externa da wiki
|
||||
settings.external_wiki_url_desc=Os visitantes serão redirecionados para a URL ao clicar na aba.
|
||||
settings.issues_desc=Habilitar issue tracker
|
||||
settings.use_internal_issue_tracker=Usar o issue tracker nativo
|
||||
settings.allow_public_issues_desc=Allow public access to issues when repository is private
|
||||
settings.allow_public_issues_desc=Permitir acesso público a problemas quando o repositório for privado
|
||||
settings.use_external_issue_tracker=Usar issue tracker externo
|
||||
settings.external_tracker_url=URL do Issue Tracker Externo
|
||||
settings.external_tracker_url_desc=Visitantes serão redirecionados ao URL quando clicarem na aba.
|
||||
@@ -736,8 +739,10 @@ 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=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=You cannot fork a repository to its original owner.
|
||||
settings.cannot_fork_to_same_owner=Não se pode realizar fork de um repositório para seu dono original.
|
||||
settings.new_owner_has_same_repo=O novo dono já tem um repositório com o mesmo nome. Por favor, escolha outro nome.
|
||||
settings.convert=Converter para repositório tradicional
|
||||
settings.convert_desc=Você pode converter este espelho em um repositório tradicional. Esta ação não pode ser revertida.
|
||||
@@ -756,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.
|
||||
@@ -780,8 +785,8 @@ settings.webhook_deletion_success=Webhook deletado com sucesso!
|
||||
settings.webhook.test_delivery=Entrega de teste
|
||||
settings.webhook.test_delivery_desc=Enviar uma entrega de evento de Push falso para testar suas configurações de webhook
|
||||
settings.webhook.test_delivery_success=O Webhook de teste foi adicionado para a fila de entrega. Pode demorar alguns segundos antes de ser exibido no histórico de entrega.
|
||||
settings.webhook.redelivery=Redelivery
|
||||
settings.webhook.redelivery_success=Hook task '%s' has been readded to delivery queue. It may take few seconds to update delivery status in history.
|
||||
settings.webhook.redelivery=Re-entrega
|
||||
settings.webhook.redelivery_success=A tarefa hook '%s' foi readicionada à fila de entrega. Pode demorar alguns segundos para a situação da entrega no histórico ser atualizada.
|
||||
settings.webhook.request=Solicitação
|
||||
settings.webhook.response=Resposta
|
||||
settings.webhook.headers=Cabeçalhos
|
||||
@@ -796,7 +801,7 @@ settings.add_webhook_desc=Enviaremos uma solicitação <code>POST</code> para o
|
||||
settings.payload_url=URL de Payload
|
||||
settings.content_type=Tipo de conteúdo
|
||||
settings.secret=Secreto
|
||||
settings.secret_desc=Secret will be sent as SHA256 HMAC hex digest of payload via <code>X-Gogs-Signature</code> header.
|
||||
settings.secret_desc=O segredo será enviado como digest hexadecimal SHA256 HMAC do payload via cabeçalho <code>X-Gogs-Signature</code>.
|
||||
settings.slack_username=Nome de usuário
|
||||
settings.slack_icon_url=URL do ícone
|
||||
settings.slack_color=Cor
|
||||
@@ -806,20 +811,20 @@ settings.event_send_everything=Preciso de <strong>tudo</strong>.
|
||||
settings.event_choose=Deixe-me escolher o que eu preciso.
|
||||
settings.event_create=Criar
|
||||
settings.event_create_desc=Branch ou Tag criado
|
||||
settings.event_delete=Delete
|
||||
settings.event_delete_desc=Branch or tag deleted
|
||||
settings.event_delete=Apagar
|
||||
settings.event_delete_desc=Branch ou tag excluído
|
||||
settings.event_fork=Fork
|
||||
settings.event_fork_desc=Repository forked
|
||||
settings.event_fork_desc=Feito fork do repositório
|
||||
settings.event_push=Push
|
||||
settings.event_push_desc=Git push para o repositório
|
||||
settings.event_issues=Issues
|
||||
settings.event_issues_desc=Issue opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, or demilestoned.
|
||||
settings.event_issue_comment=Issue Comment
|
||||
settings.event_issue_comment_desc=Issue comment created, edited, or deleted.
|
||||
settings.event_issues=Problemas
|
||||
settings.event_issues_desc=Problema aberto, fechado, reaberto, editado, atribuído, desatribuído, etiqueta atualizada, etiqueta limpa, milestone definido ou milestone indefinido.
|
||||
settings.event_issue_comment=Comentário do Problema
|
||||
settings.event_issue_comment_desc=Comentário do problema criado, editado ou excluído.
|
||||
settings.event_pull_request=Pull Request
|
||||
settings.event_pull_request_desc=Pull request opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, demilestoned, or synchronized.
|
||||
settings.event_release=Release
|
||||
settings.event_release_desc=Release published in a repository.
|
||||
settings.event_pull_request_desc=Pull request aberto, fechado, reaberto, editado, atribuído, desatribuído, etiqueta atualizada, etiqueta limpa, milestone definido, milestone indefinido ou sincronizado.
|
||||
settings.event_release=Lançamento
|
||||
settings.event_release_desc=Lançamento publicado em um repositório.
|
||||
settings.active=Ativo
|
||||
settings.active_helper=Enviaremos detalhes do evento quando este hook for acionado.
|
||||
settings.add_hook_success=Novos hooks de web foram adicionados.
|
||||
@@ -829,12 +834,13 @@ settings.delete_webhook=Excluir Webhook
|
||||
settings.recent_deliveries=Entregas Recentes
|
||||
settings.hook_type=Tipo de Hook
|
||||
settings.add_slack_hook_desc=Adicionar <a href="%s">Slack</a> de integração para o seu repositório.
|
||||
settings.add_discord_hook_desc=Add <a href="%s">Discord</a> integration to your repository.
|
||||
settings.add_discord_hook_desc=Adicionar integração do <a href="%s">Discord</a> ao seu repositório.
|
||||
settings.add_dingtalk_hook_desc=Adicionar integração do <a href="%s">Dingtalk</a> ao seu repositório.
|
||||
settings.slack_token=Token
|
||||
settings.slack_domain=Domínio
|
||||
settings.slack_channel=Canal
|
||||
settings.deploy_keys=Chaves de Deploy
|
||||
settings.deploy_keys_helper=<b>Common Gotcha!</b> If you're looking for adding personal public keys, please add them in your <a href="%s%s">account settings</a>.
|
||||
settings.deploy_keys_helper=<b>Pegadinha Comum!</b> Se estiver buscando adicionar chaves públicas pessoais, faça isto nas suas <a href="%s%s">configurações da conta</a>.
|
||||
settings.add_deploy_key=Nova chave
|
||||
settings.deploy_key_desc=Chave de Deploy só tem acesso somente leitura. Não é igual as chaves SSH de conta pessoal.
|
||||
settings.no_deploy_keys=Você ainda não adicionou nenhuma chave de Deploy.
|
||||
@@ -912,7 +918,7 @@ team_permission_desc=Que nível de permissão esta equipe deve ter?
|
||||
|
||||
form.name_reserved=O nome de organização '%s' não pode ser usado.
|
||||
form.name_pattern_not_allowed=Não é permitido usar o padrão '%s' para o nome de organização.
|
||||
form.team_name_reserved=Team name '%s' is reserved.
|
||||
form.team_name_reserved=O nome nome de equipe '%s' está reservado.
|
||||
|
||||
settings=Configurações
|
||||
settings.options=Opções
|
||||
@@ -1003,8 +1009,8 @@ dashboard.git_gc_repos=Fazer coleta de lixo nos repositórios
|
||||
dashboard.git_gc_repos_success=Em todos repositórios, a coleta de lixo foi realizada com sucesso.
|
||||
dashboard.resync_all_sshkeys=Reescrever o arquivo '.ssh/authorized_keys' (atenção: chaves que não sejam do Gogs serão perdidas)
|
||||
dashboard.resync_all_sshkeys_success=Todas as chaves públicas foram reescritas com sucesso.
|
||||
dashboard.resync_all_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.resync_all_hooks=Ressincronizar hooks pre-receive, update e post-receive de todos os repositórios
|
||||
dashboard.resync_all_hooks_success=Os hooks pre-receive, update e post-receive de todos os repositórios foram ressincronizados com sucesso.
|
||||
dashboard.reinit_missing_repos=Reinicializar todos os registros de repositório que perderam os arquivos do Git
|
||||
dashboard.reinit_missing_repos_success=Todos os repositórios que perderam arquivos do Git foram reinicializados com sucesso.
|
||||
|
||||
@@ -1079,7 +1085,7 @@ repos.private=Privado
|
||||
repos.watches=Observadores
|
||||
repos.stars=Favoritos
|
||||
repos.issues=Issues
|
||||
repos.size=Size
|
||||
repos.size=Tamanho
|
||||
|
||||
auths.auth_manage_panel=Painel de gerenciamento da autenticação
|
||||
auths.new=Adicionar nova fonte
|
||||
@@ -1094,20 +1100,21 @@ auths.domain=Domínio
|
||||
auths.host=Host
|
||||
auths.port=Porta
|
||||
auths.bind_dn=Vincular DN
|
||||
auths.bind_dn_helper=You can use '%s' as placeholder for username, e.g. DOM\%s
|
||||
auths.bind_password=Vincular senha
|
||||
auths.bind_password_helper=Atenção: Esta senha é armazenada em texto plano. Não use uma conta com muitos privilégios.
|
||||
auths.user_base=Base de pesquisa do usuário
|
||||
auths.user_dn=Usuário do DN
|
||||
auths.attribute_username=Atributo nome de usuário
|
||||
auths.attribute_username_placeholder=Deixe vazio para usar o valor do campo de formulário de entrada de nome de usuário.
|
||||
auths.attribute_name=First Name Attribute
|
||||
auths.attribute_name=Atributo do Nome
|
||||
auths.attribute_surname=Atributo sobrenome
|
||||
auths.attribute_mail=Atributo e-mail
|
||||
auths.verify_group_membership=Verify group membership
|
||||
auths.verify_group_membership=Verificar associação a grupo
|
||||
auths.group_search_base_dn=Group Search Base DN
|
||||
auths.group_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.group_filter=Filtro de Grupo
|
||||
auths.group_attribute_contain_user_list=Atributo do grupo contendo a lista de usuários
|
||||
auths.user_attribute_listed_in_group=Atributo do usuário listado no grupo
|
||||
auths.attributes_in_bind=Buscar os atributos no contexto de Bind DN
|
||||
auths.filter=Filtro de usuário
|
||||
auths.admin_filter=Filtro de administrador
|
||||
@@ -1134,6 +1141,7 @@ auths.still_in_used=Esta autenticação ainda é usada por alguns usuários. Por
|
||||
auths.deletion_success=Autenticação excluída com sucesso!
|
||||
auths.login_source_exist=A fonte de login '%s" já existe.
|
||||
|
||||
config.not_set=(not set)
|
||||
config.server_config=Configuração do servidor
|
||||
config.app_name=Nome do aplicativo
|
||||
config.app_ver=Versão do aplicativo
|
||||
@@ -1155,21 +1163,25 @@ 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
|
||||
config.ssh_minimum_key_sizes=Tamanhos mínimos da chave
|
||||
|
||||
config.repo_config=Repository Configuration
|
||||
config.repo_config=Configuração do Repositório
|
||||
config.repo_root_path=Caminho raiz do repositório
|
||||
config.script_type=Tipo de script
|
||||
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.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=Permitir a migração de caminho local
|
||||
config.commits_fetch_concurrency=Commits Fetch Concurrency
|
||||
|
||||
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
|
||||
config.db_type=Tipo
|
||||
config.db_host=Host
|
||||
@@ -1199,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
|
||||
@@ -1242,8 +1254,8 @@ config.git_pull_timeout=Timeout para operação de pull
|
||||
config.git_gc_timeout=Timeout para execução do GC
|
||||
|
||||
config.log_config=Configuração de log
|
||||
config.log_mode=Mode
|
||||
config.log_options=Options
|
||||
config.log_mode=Modo
|
||||
config.log_options=Opções
|
||||
|
||||
monitor.cron=Tarefas cron
|
||||
monitor.name=Nome
|
||||
@@ -1272,7 +1284,7 @@ notices.delete_success=Avisos do sistema foram excluídos com sucesso.
|
||||
|
||||
[action]
|
||||
create_repo=repositório criado <a href="%s"> %s</a>
|
||||
fork_repo=forked a repository to <a href="%s">%s</a>
|
||||
fork_repo=repositório criado <a href="%s"> %s</a>
|
||||
rename_repo=renomeou o o repositório <code>%[1]s</code> para <a href="%[2]s">%[3]s</a>
|
||||
commit_repo=pushed para <a href="%[1]s/src/%[2]s">%[3]s</a> em <a href="%[1]s">%[4]s</a>
|
||||
compare_commits=Ver comparação entre esses %d commits
|
||||
@@ -1285,8 +1297,8 @@ create_pull_request=`criou o pull request <a href="%s/pulls/%s">%s#%[2]s</a>`
|
||||
close_pull_request=`fechou o pull request <a href="%s/pulls/%s">%s#%[2]s</a>`
|
||||
reopen_pull_request=`reabriu o pull request <a href="%s/pulls/%s">%s#%[2]s</a>`
|
||||
merge_pull_request=`mesclou o pull request <a href="%s/pulls/%s">%s#%[2]s</a>`
|
||||
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=criado novo branch <a href="%[1]s/src/%[2]s">%[3]s</a> em <a href="%[1]s">%[4]s</a>
|
||||
delete_branch=excluído branch <code>%[2]s</code> em <a href="%[1]s">%[3]s</a>
|
||||
push_tag=Foi feito push na tag <a href="%s/src/%s">%[2]s</a> para <a href="%[1]s">%[3]s</a>
|
||||
delete_tag=deleted tag <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
|
||||
|
||||
|
||||
@@ -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=Отключить самостоятельную регистрацию
|
||||
@@ -119,7 +119,7 @@ sqlite3_not_available=Ваша версия не поддерживает SQLite
|
||||
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 From неправильное: %v
|
||||
save_config_failed=Не удалось сохранить конфигурацию: %v
|
||||
invalid_admin_setting=Указан недопустимый параметр учетной записи администратора: %v
|
||||
@@ -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,6 +616,7 @@ pulls.compare_compare=сравнить
|
||||
pulls.filter_branch=Фильтр по ветке
|
||||
pulls.no_results=Результатов не найдено.
|
||||
pulls.nothing_to_compare=Нечего сравнивать, родительская и текущая ветка одинаковые.
|
||||
pulls.nothing_merge_base=Нечего сравнивать, так так история обеих веток полностью отличается.
|
||||
pulls.has_pull_request=`Уже существует запрос на слияние между двумя целями: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
|
||||
pulls.create=Создать запрос на слияние
|
||||
pulls.title_desc=хочет смерджить %[1]d коммит(ов) из <code>%[2]s</code> в <code>%[3]s</code>
|
||||
@@ -631,6 +632,8 @@ pulls.is_checking=Продолжается проверка конфликтов
|
||||
pulls.can_auto_merge_desc=Этот запрос на слияние может быть объединён автоматически.
|
||||
pulls.cannot_auto_merge_desc=Этот запрос на слияние не может быть объединён автоматически.
|
||||
pulls.cannot_auto_merge_helper=Пожалуйста, совершите слияние вручную для урегулирования конфликтов.
|
||||
pulls.create_merge_commit=Создать коммит на слияние
|
||||
pulls.rebase_before_merging=Выполнить rebase перед слиянием
|
||||
pulls.merge_pull_request=Слить пулл-реквест
|
||||
pulls.open_unmerged_pull_exists=`Вы не можете снова открыть, поскольку уже существует запрос на слияние (#%d) из того же репозитория с той же информацией о слиянии и ожидающий слияния. `
|
||||
pulls.delete_branch=Удалить ветку
|
||||
@@ -736,6 +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=Игнорировать изменения в пробельных символах
|
||||
settings.pulls.allow_rebase_merge=Разрешить rebase-слияние
|
||||
settings.danger_zone=Опасная зона
|
||||
settings.cannot_fork_to_same_owner=Вы не можете ответвить репозиторий его же владельцу.
|
||||
settings.new_owner_has_same_repo=У нового владельца уже есть хранилище с таким названием.
|
||||
@@ -756,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=Настройки репозитория обновлены успешно.
|
||||
@@ -830,11 +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=Добавить интеграцию с <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=Вы не добавляли ключи развертывания.
|
||||
@@ -902,7 +908,7 @@ invite_someone=Пригласить кого-нибудь
|
||||
teams=Команды
|
||||
lower_members=Участники
|
||||
lower_repositories=Репозитории
|
||||
create_new_team=Создать Новую Команду
|
||||
create_new_team=Создать новую команду
|
||||
org_desc=Описание
|
||||
team_name=Название команды
|
||||
team_desc=Описание
|
||||
@@ -1009,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=Памяти использовано
|
||||
@@ -1094,20 +1100,21 @@ auths.domain=Домен
|
||||
auths.host=Хост
|
||||
auths.port=Порт
|
||||
auths.bind_dn=Привязать DN
|
||||
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.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.verify_group_membership=Верифицировать членство в группе
|
||||
auths.group_search_base_dn=Base DN для поиска группы
|
||||
auths.group_filter=Групповой фильтр
|
||||
auths.group_attribute_contain_user_list=Атрибут группы, содержащий список пользователей
|
||||
auths.user_attribute_listed_in_group=Пользовательский атрибут, перечисленный в группе
|
||||
auths.attributes_in_bind=Извлечение атрибутов в виде Bind DN
|
||||
auths.filter=Фильтр пользователя
|
||||
auths.admin_filter=Фильтр администратора
|
||||
@@ -1134,6 +1141,7 @@ auths.still_in_used=Эта проверка подлинности до сих
|
||||
auths.deletion_success=Канал аутентификации успешно удален!
|
||||
auths.login_source_exist=Источник входа '%s' уже существует.
|
||||
|
||||
config.not_set=(не задано)
|
||||
config.server_config=Конфигурация сервера
|
||||
config.app_name=Имя приложения
|
||||
config.app_ver=Версия приложения
|
||||
@@ -1155,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=Минимальный размер ключа проверки
|
||||
@@ -1170,6 +1179,9 @@ config.disable_http_git=Выключить HTTP Git
|
||||
config.enable_local_path_migration=Включить миграцию с локального пути
|
||||
config.commits_fetch_concurrency=Параллельность получения коммитов
|
||||
|
||||
config.http_config=Конфигурация HTTP
|
||||
config.http_access_control_allow_origin=Содержимое заголовка Access Control Allow Origin
|
||||
|
||||
config.db_config=Конфигурация базы данных
|
||||
config.db_type=Тип
|
||||
config.db_host=Хост
|
||||
@@ -1191,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=Отправить тестовое письмо
|
||||
@@ -1236,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=Конфигурация журнала
|
||||
@@ -1285,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>
|
||||
|
||||
@@ -1295,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=минут
|
||||
|
||||
|
||||
1331
conf/locale/locale_sk-SK.ini
Normal file
1331
conf/locale/locale_sk-SK.ini
Normal file
File diff suppressed because it is too large
Load Diff
@@ -4,7 +4,7 @@ home=Почетна
|
||||
dashboard=Контролни панел
|
||||
explore=Преглед
|
||||
help=Помоћ
|
||||
sign_in=Пријавите Се
|
||||
sign_in=Пријавите се
|
||||
sign_out=Одјава
|
||||
sign_up=Регистрација
|
||||
register=Регистрација
|
||||
@@ -51,10 +51,10 @@ docker_helper=Ако покрећете Gogs унутар Docker, молимо
|
||||
requite_db_desc=Gogs захтева MySQL, PostgreSQL, SQLite3, MSSQL или TiDB.
|
||||
db_title=Подешавања базе
|
||||
db_type=Тип базе података
|
||||
host=Хост
|
||||
host=Власник
|
||||
user=Корисник
|
||||
password=Лозинка
|
||||
db_name=Име базе података
|
||||
db_name=Назив базе података
|
||||
db_helper=За MySQL користите тип табела InnoDB са кодирањем utf8_general_ci.
|
||||
ssl_mode=Режим SSL
|
||||
path=Пут
|
||||
@@ -196,7 +196,7 @@ Email=Адреса ел. поште
|
||||
Password=Лозинка
|
||||
Retype=Поновите лозинку
|
||||
SSHTitle=Име SSH кључа
|
||||
HttpsUrl=HTTPS URL адреса
|
||||
HttpsUrl=HTTPS URL
|
||||
PayloadUrl=URL адреса за слање
|
||||
TeamName=Име тима
|
||||
AuthName=Ауторизацијско име
|
||||
@@ -268,12 +268,12 @@ security=Безбедност
|
||||
repos=Спремишта
|
||||
orgs=Организације
|
||||
applications=Апликације
|
||||
delete=Уклоните налог
|
||||
delete=Уклоните Hалог
|
||||
|
||||
public_profile=Јавни профил
|
||||
profile_desc=Ваша адреса е-поште је јавна и коришће се за све обавести везане са налогом, као и друге операције почињене кроз Gogs.
|
||||
password_username_disabled=Нелокални корисници не могу да промене своје кориничко име.
|
||||
full_name=Име и презиме
|
||||
full_name=Пуно Име
|
||||
website=Веб страница
|
||||
location=Локација
|
||||
update_profile=Ажурирај профил
|
||||
@@ -300,7 +300,7 @@ password_incorrect=Тренутна лозинка је нетачна.
|
||||
change_password_success=Лозинка је успешно промењена. Можете се пријавити са новом лозинком.
|
||||
password_change_disabled=Нелокални корисници не могу да промене своје лозинке.
|
||||
|
||||
emails=Адреса ел. поште
|
||||
emails=Адреса е-поште
|
||||
manage_emails=Управљање адресама е-поште
|
||||
email_desc=Ваша главна адреса ће се користити за обавештења и других операција.
|
||||
primary=Главно
|
||||
@@ -521,7 +521,7 @@ editor.upload_files_to_dir=Пошаљи датотеке на '%s'
|
||||
commits.commit_history=Историја ревизија
|
||||
commits.commits=Комити
|
||||
commits.search=Претражи комите
|
||||
commits.find=Претражи
|
||||
commits.find=Пронађи
|
||||
commits.author=Аутор
|
||||
commits.message=Порука
|
||||
commits.date=Датум
|
||||
@@ -616,6 +616,7 @@ pulls.compare_compare=упореди
|
||||
pulls.filter_branch=Филтер по грани
|
||||
pulls.no_results=Нема резултата.
|
||||
pulls.nothing_to_compare=Нема шта да се упореди, гране су исте.
|
||||
pulls.nothing_merge_base=Немогуће је упоредити јер двије гране имају потпуно другачију историју.
|
||||
pulls.has_pull_request=`Већ постоји захтев за спајање између ове две гране: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
|
||||
pulls.create=Поднеси захтев за спајање
|
||||
pulls.title_desc=жели да споји %[1]d комит(е) из <code>%[2]s</code> у <code>%[3]s</code>
|
||||
@@ -631,6 +632,8 @@ pulls.is_checking=Провера још увек у току, молимо ва
|
||||
pulls.can_auto_merge_desc=Овај захтев за спајање може бити обављен аутоматски.
|
||||
pulls.cannot_auto_merge_desc=Овај захтев за спајање не може бити обављен аутоматски због сукоба.
|
||||
pulls.cannot_auto_merge_helper=Молимо вас, обавите спајање ручно да би сте разрешили сукобе.
|
||||
pulls.create_merge_commit=Направите спајање
|
||||
pulls.rebase_before_merging=Поврат пре обједињавања
|
||||
pulls.merge_pull_request=Обави спајање
|
||||
pulls.open_unmerged_pull_exists=`Неможете поново отворити јер већ постоји захтев за спајање (#%d) из истог спремишта са истим информацијама о спајању и чека спајање.`
|
||||
pulls.delete_branch=Избришите грану
|
||||
@@ -693,21 +696,21 @@ settings.update=Ажурирање
|
||||
settings.update_default_branch_unsupported=Промена подразумеване гране није подржавана од стране Git верзија сервера.
|
||||
settings.update_default_branch_success=Подразумевана грана овог спремишта је била успешно ажурирана!
|
||||
settings.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.protected_branches_desc=Заштита гранe од додира, случајног брисања и команди листе кода.
|
||||
settings.choose_a_branch=Изаберите Филијалy...
|
||||
settings.branch_protection=Заштита Филијала
|
||||
settings.branch_protection_desc=Молимо изаберите заштитне опције за грану <b>%s</b>.
|
||||
settings.protect_this_branch=Заштити ову филијалy
|
||||
settings.protect_this_branch_desc=Онемогућите притисак и заштититy од брисања.
|
||||
settings.protect_require_pull_request=Захтев за повлачењем уместо директног додира
|
||||
settings.protect_require_pull_request_desc=Омогућите ову опцију да бисте спречили директан додир на ову грану. Обавезно мора бити покренуто у незаштићеној грани затим објединти на ову грану кao захтев за спајање.
|
||||
settings.protect_whitelist_committers=Whitelist који може да додирне ову грану
|
||||
settings.protect_whitelist_committers_desc=Додајте људе или тимовe у листу белих исправа за директан приступ овој теми. Корисници из беле листе ће заобићи захтев за повлачење захтева.
|
||||
settings.protect_whitelist_users=Корисници који могу да додирнy ову грану
|
||||
settings.protect_whitelist_search_users=Тражи кориснике
|
||||
settings.protect_whitelist_teams=Тимови кao и њихови чланови могу потакнути овy грану
|
||||
settings.protect_whitelist_search_teams=Тимови за претрагу
|
||||
settings.update_protect_branch_success=Заштитна опција за ову грану је успешно ажурирана!
|
||||
settings.hooks=Webhooks
|
||||
settings.githooks=Git хуки
|
||||
settings.basic_settings=Основна подешавања
|
||||
@@ -720,24 +723,26 @@ settings.change_reponame_prompt=Ова промена ће утицати на
|
||||
settings.advanced_settings=Напредна подешавања
|
||||
settings.wiki_desc=Омогући систем вики
|
||||
settings.use_internal_wiki=Користи уграђен вики
|
||||
settings.allow_public_wiki_desc=Allow public access to wiki when repository is private
|
||||
settings.allow_public_wiki_desc=Дозволите приступ wiki када је трговина приватна
|
||||
settings.use_external_wiki=Користи спољни Вики
|
||||
settings.external_wiki_url=URL адреса спољног Вики
|
||||
settings.external_wiki_url_desc=Посетиоци ће бити преусмерени URL адреси након што кликну на картицу.
|
||||
settings.issues_desc=Омогући систем праћења грешака
|
||||
settings.use_internal_issue_tracker=Користи уграђен систем праћења грешака
|
||||
settings.allow_public_issues_desc=Allow public access to issues when repository is private
|
||||
settings.allow_public_issues_desc=Дозволите приступ проблемима када је трговина приватна
|
||||
settings.use_external_issue_tracker=Користи спољни систем праћења грешака
|
||||
settings.external_tracker_url=External Issue Tracker URL
|
||||
settings.external_tracker_url_desc=Visitors will be redirected to URL when they click on the tab.
|
||||
settings.external_tracker_url=Екстерни проблем Tracker URL
|
||||
settings.external_tracker_url_desc=Посетиоци ће бити преусмерени на URL када кликну на картицу.
|
||||
settings.tracker_url_format=Спољни формат везе система за праћење грешака
|
||||
settings.tracker_issue_style=Стил именовања на спољном систему:
|
||||
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=Занемарите промене у размаку
|
||||
settings.pulls.allow_rebase_merge=Дозволи употребу поврата да обједините обавезе
|
||||
settings.danger_zone=Опасна зона
|
||||
settings.cannot_fork_to_same_owner=You cannot fork a repository to its original owner.
|
||||
settings.cannot_fork_to_same_owner=Не можете поделити спремиште власнику.
|
||||
settings.new_owner_has_same_repo=Нови власник већ има спремиште по истим називом. Молимо вас изаберите друго име.
|
||||
settings.convert=Претворити у обично спремиште
|
||||
settings.convert_desc=Можете претворити огледало у обично спремиште, али та операција не може се укинути.
|
||||
@@ -756,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=Подешавања спремишта су успешно ажурирани.
|
||||
@@ -781,7 +786,7 @@ settings.webhook.test_delivery=Провери испоруку
|
||||
settings.webhook.test_delivery_desc=Пошаљи push за тестирање подешавања webhook
|
||||
settings.webhook.test_delivery_success=Тест webhook је додат у месту испоруке. Процес може да потраје неколико секунди пре него што ће показати у историји испоруке.
|
||||
settings.webhook.redelivery=Redelivery
|
||||
settings.webhook.redelivery_success=Hook task '%s' has been readded to delivery queue. It may take few seconds to update delivery status in history.
|
||||
settings.webhook.redelivery_success=Hook задатак '%s' је прочитан редоследом испоруке. Може потрајати неколико секунди да ce ажурира статус испоруке у историји.
|
||||
settings.webhook.request=Захтев
|
||||
settings.webhook.response=Одговор
|
||||
settings.webhook.headers=Наслови
|
||||
@@ -796,7 +801,7 @@ settings.add_webhook_desc=Послаћемо захтев <code>POST</code> на
|
||||
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=Тајна ће бити послата као SHA256 HMAC hex digest корисног оптерећења преко <code>X-Gogs-Signature</code> заглавља.
|
||||
settings.slack_username=Корисничко име
|
||||
settings.slack_icon_url=URL адреса иконице
|
||||
settings.slack_color=Боја
|
||||
@@ -806,14 +811,14 @@ settings.event_send_everything=У <strong>свим</strong> догађајима
|
||||
settings.event_choose=Изабраћу шта ми је потребно.
|
||||
settings.event_create=Креирај
|
||||
settings.event_create_desc=Створена грана или ознака
|
||||
settings.event_delete=Delete
|
||||
settings.event_delete_desc=Branch or tag deleted
|
||||
settings.event_fork=Fork
|
||||
settings.event_fork_desc=Repository forked
|
||||
settings.event_delete=Обриши
|
||||
settings.event_delete_desc=Oбрисана грана или ознака
|
||||
settings.event_fork=Креирај огранак
|
||||
settings.event_fork_desc=Спремиште је допуштено
|
||||
settings.event_push=Push
|
||||
settings.event_push_desc=Git push у спремиште
|
||||
settings.event_issues=Issues
|
||||
settings.event_issues_desc=Issue opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, or demilestoned.
|
||||
settings.event_issues=Задаци
|
||||
settings.event_issues_desc=Проблем је отворен, затворен, поново отворен, уређен, додељен, не додељен, етикета је ажурирана, етикета је очишћена, помјерена или демилестирана.
|
||||
settings.event_issue_comment=Коментар проблема
|
||||
settings.event_issue_comment_desc=Коментар проблема креиран, уређиван или избришен.
|
||||
settings.event_pull_request=Захтев за спајање
|
||||
@@ -830,6 +835,7 @@ settings.recent_deliveries=Недавне испоруке
|
||||
settings.hook_type=Тип Hook-а
|
||||
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_domain=Домен
|
||||
settings.slack_channel=Канал
|
||||
@@ -1003,8 +1009,8 @@ dashboard.git_gc_repos=Изврши cакупљање смећа на спрем
|
||||
dashboard.git_gc_repos_success=Сва спремишта су успешно извршили cакупљање смећа.
|
||||
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.resync_all_hooks=Поново синхронизујте купљенe pre-receive, ажурирањa и post-receive у свим репозиторијумима
|
||||
dashboard.resync_all_hooks_success=Све спремишта pre-receive, ажурирања и post-receive успешно су ресинкронизованa.
|
||||
dashboard.reinit_missing_repos=Поново постави све податке са изгубљеним Git датотекама
|
||||
dashboard.reinit_missing_repos_success=Сви подаци са изгубљеним Git датотекама су успешно поново постављени.
|
||||
|
||||
@@ -1079,7 +1085,7 @@ repos.private=Приватно
|
||||
repos.watches=Watches
|
||||
repos.stars=Фаворити
|
||||
repos.issues=Задаци
|
||||
repos.size=Size
|
||||
repos.size=Величина
|
||||
|
||||
auths.auth_manage_panel=Контролна панела аутентикације
|
||||
auths.new=Додај нови извор
|
||||
@@ -1094,20 +1100,21 @@ auths.domain=Домен
|
||||
auths.host=Хост
|
||||
auths.port=Порт
|
||||
auths.bind_dn=Bind DN
|
||||
auths.bind_dn_helper=Можете користити „%s” као место за корисничко име, e.g. DOM\%s
|
||||
auths.bind_password=Bind лозинкa
|
||||
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=Првo име атрибута
|
||||
auths.attribute_surname=Презиме атрибута
|
||||
auths.attribute_mail=Е-маил адреса
|
||||
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.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=Екстракција атрибута у облику Bind DN
|
||||
auths.filter=Филтер корисника
|
||||
auths.admin_filter=Филтер администратора
|
||||
@@ -1132,8 +1139,9 @@ auths.delete_auth_title=Брисање канала аутентикације
|
||||
auths.delete_auth_desc=Овај канал аутентикације ће бити избрисан. Да ли желите да наставите?
|
||||
auths.still_in_used=Овај канал аутентикације још увек се користи од стране неких корисника, уклоните или пребаци ове кориснике у друг врсту аутентикације.
|
||||
auths.deletion_success=Канал аутентикације успешно избрисан!
|
||||
auths.login_source_exist=Login source '%s' already exists.
|
||||
auths.login_source_exist=Улазни извор '%s' већ постоји.
|
||||
|
||||
config.not_set=(није подешено)
|
||||
config.server_config=Конфигурација сервера
|
||||
config.app_name=Име апликације
|
||||
config.app_ver=Верзија апликације
|
||||
@@ -1155,20 +1163,24 @@ 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=Минимална величина провера кључа
|
||||
config.ssh_minimum_key_sizes=Минимална величина кључева
|
||||
|
||||
config.repo_config=Repository Configuration
|
||||
config.repo_config=Конфигурација спремишта
|
||||
config.repo_root_path=Пут до корена спремишта
|
||||
config.script_type=Врста скрипта
|
||||
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.max_creation_limit=Ограничење максималне креације
|
||||
config.preferred_licenses=Преференцијалне лиценце
|
||||
config.disable_http_git=Онемогући HTTP Git
|
||||
config.enable_local_path_migration=Омогући миграцију локалнe путањe
|
||||
config.commits_fetch_concurrency=Предузеће Fetch Concurrency
|
||||
|
||||
config.http_config=HTTP Конфигурација
|
||||
config.http_access_control_allow_origin=Контрола приступа дозвољава порекло
|
||||
|
||||
config.db_config=Конфигурација базе података
|
||||
config.db_type=Тип
|
||||
@@ -1199,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=Пошаљи тест поруку
|
||||
@@ -1242,8 +1254,8 @@ config.git_pull_timeout=Време до отказивања pull операци
|
||||
config.git_gc_timeout=Време до отказивања cакупљање смећа
|
||||
|
||||
config.log_config=Kонфигурација журнала
|
||||
config.log_mode=Mode
|
||||
config.log_options=Options
|
||||
config.log_mode=Режим
|
||||
config.log_options=Опције
|
||||
|
||||
monitor.cron=Cron задаци
|
||||
monitor.name=Име
|
||||
@@ -1272,7 +1284,7 @@ notices.delete_success=Системска обавештавања су успе
|
||||
|
||||
[action]
|
||||
create_repo=креира спремиште <a href="%s">%s</a>
|
||||
fork_repo=forked a repository to <a href="%s">%s</a>
|
||||
fork_repo=отворио спремиште <a href="%s">%s</a>
|
||||
rename_repo=преимензје спремиште од <code>%[1]s</code> на <a href="%[2]s">%[3]s</a>
|
||||
commit_repo=извршује push на <a href="%[1]s/src/%[2]s">%[3]s</a> у <a href="%[1]s">%[4]s</a>
|
||||
compare_commits=Поређење ових %d комита
|
||||
@@ -1285,10 +1297,10 @@ create_pull_request=`шаље захтев за спајање <a href="%s/pulls
|
||||
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=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=створи нову филијалy <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a>
|
||||
delete_branch=избрисана филијалa <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
|
||||
push_tag=извршује push са ознаком <a href="%s/src/%s">%[2]s</a> на <a href="%[1]s">%[3]s</a>
|
||||
delete_tag=deleted tag <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
|
||||
delete_tag=избрисана ознака <code>%[2]s</code> at <a href="%[1]s">%[3]s</a>
|
||||
|
||||
[tool]
|
||||
ago=пре
|
||||
|
||||
@@ -48,7 +48,7 @@ cancel=Avbryt
|
||||
install=Installation
|
||||
title=Steg för att installera för första gången
|
||||
docker_helper=Om du kör Gogs inuti Docker, vänligen läs <a target="_blank" href="%s">Riktninjerna</a> nogrant innan du ändrar någonting på denna sida!
|
||||
requite_db_desc=Gogs requires MySQL, PostgreSQL, SQLite3, MSSQL or TiDB.
|
||||
requite_db_desc=Gogs kräver MySQL, PostgreSQL, SQLite3, MSSQL eller TiDB.
|
||||
db_title=Databasinställningar
|
||||
db_type=Databastyp
|
||||
host=Server
|
||||
@@ -58,8 +58,8 @@ db_name=Databasens namn
|
||||
db_helper=Se till att i MySQL använda INNODB med teckenuppsättningen utf8_general_ci.
|
||||
ssl_mode=SSL-läge
|
||||
path=Filväg
|
||||
sqlite_helper=The file path of SQLite3 database. <br>Please use absolute path when you start as service.
|
||||
err_empty_db_path=SQLite3 database path cannot be empty.
|
||||
sqlite_helper=Sökvägen för SQLite3 databas. <br>Vänligen använd den absoluta sökvägen när du kör som en tjänst.
|
||||
err_empty_db_path=Sökvägen till SQLite3 databasen får inte vara tom.
|
||||
no_admin_and_disable_registration=Du kan inte inaktivera registrering utan att skapa ett administratörskonto.
|
||||
err_empty_admin_password=Administratörslösenordet får ej vara tomt.
|
||||
|
||||
@@ -74,7 +74,7 @@ domain=Domän
|
||||
domain_helper=Detta påverkar SSH klonings webbadresser.
|
||||
ssh_port=SSH-port
|
||||
ssh_port_helper=Portnumret som din SSH-server brukar, lämna tomt för att inaktivera SSH-funktionaliteten.
|
||||
use_builtin_ssh_server=Use Builtin SSH Server
|
||||
use_builtin_ssh_server=Använd inbyggd SSH Server
|
||||
use_builtin_ssh_server_popup=Start builtin SSH server for Git operations to distinguish from system SSH daemon.
|
||||
http_port=HTTP Port
|
||||
http_port_helper=Portnumret vilket applikationen kommer lyssnar på.
|
||||
@@ -82,8 +82,8 @@ app_url=Applikationsadressen
|
||||
app_url_helper=Detta påverkar HTTP/HTTPS kloningsadressen och på platser i e-post.
|
||||
log_root_path=Loggsökväg
|
||||
log_root_path_helper=Katalog till vilken loggfiler skrivs.
|
||||
enable_console_mode=Enable Console Mode
|
||||
enable_console_mode_popup=In addition to file mode, also print logs to console.
|
||||
enable_console_mode=Aktivera Konsolläge
|
||||
enable_console_mode_popup=Utöver fil-läge, skriver även ut loggar till konsol.
|
||||
|
||||
optional_title=Övriga inställningar
|
||||
email_title=E-post tjänstens inställningar
|
||||
@@ -119,8 +119,8 @@ sqlite3_not_available=Din release stödjer ej SQLite3, ladda vänligen ner den o
|
||||
invalid_db_setting=Databas inställningen är inkorrekt: %v
|
||||
invalid_repo_path=Utvecklingskatalogens rotsökväg är ogiltig: %v
|
||||
run_user_not_match=Köranvändaren är inte aktuell användare: %s -> %s
|
||||
smtp_host_missing_port=SMTP Host is missing port in address.
|
||||
invalid_smtp_from=SMTP From field is not valid: %v
|
||||
smtp_host_missing_port=SMTP-värden saknar port i adressen.
|
||||
invalid_smtp_from=SMTP från fält är inte giltigt: %v
|
||||
save_config_failed=Konfigurationssparningen misslyckades: %v
|
||||
invalid_admin_setting=Inställningarna för administratörskontot är felaktiga: %v
|
||||
install_success=Välkommen! Vi är glada att du väljer Gogs, ha kul och ta hand om dig.
|
||||
@@ -169,13 +169,13 @@ reset_password_helper=Klicka här för att återställa ditt lösenord
|
||||
password_too_short=Lösenordet får ej vara kortare än 6 tecken.
|
||||
non_local_account=Icke-lokala konton får inte ändra lösenord genom 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=Tvåfaktorsautentisering
|
||||
login_two_factor_passcode=Autentiseringskod
|
||||
login_two_factor_enter_recovery_code=Ange en tvåfaktorsautentisering återställningskod
|
||||
login_two_factor_recovery=Tvåfaktorsautentisering Återställning
|
||||
login_two_factor_recovery_code=Återställningskod
|
||||
login_two_factor_enter_passcode=Ange en tvåfaktorsautentiserings kod
|
||||
login_two_factor_invalid_recovery_code=Återställningskoden har använts eller är inte giltig.
|
||||
|
||||
[mail]
|
||||
activate_account=Vänligen aktivera ditt konto
|
||||
@@ -212,7 +212,7 @@ Content=Innehåll
|
||||
require_error=får inte vara tomt
|
||||
alpha_dash_error=` får bara innehålla bokstäver, nummer och bindestreck (-_).`
|
||||
alpha_dash_dot_error=` får bara innehålla bokstäver, nummer, bindestreck (-_) och punkt`
|
||||
alpha_dash_dot_slash_error=` must be valid alpha or numeric or dash(-_) or dot characters or slashes.`
|
||||
alpha_dash_dot_slash_error=` får bara innehålla bokstäver, nummer, bindestreck (-_), punkt eller snedstreck`
|
||||
size_error=` måste vara av storleken %s`
|
||||
min_size_error=` måste innehålla minst %s tecken.`
|
||||
max_size_error=` får inte innehålla mer än %s tecken.`
|
||||
@@ -264,8 +264,8 @@ profile=Profil
|
||||
password=Lösenord
|
||||
avatar=Avatar
|
||||
ssh_keys=SSH-nycklar
|
||||
security=Security
|
||||
repos=Repositories
|
||||
security=Säkerhet
|
||||
repos=Utvecklingskataloger
|
||||
orgs=Organisationer
|
||||
applications=Applikationer
|
||||
delete=Radera konto
|
||||
@@ -334,19 +334,19 @@ no_activity=Ingen nylig aktivitet
|
||||
key_state_desc=Denna nyckel har använts inom dom senaste 7 dagarna
|
||||
token_state_desc=Denna token har används inom dom senaste 7 dagarna
|
||||
|
||||
two_factor=Two-factor Authentication
|
||||
two_factor=Tvåfaktorsautentisering
|
||||
two_factor_status=Status:
|
||||
two_factor_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_on=På
|
||||
two_factor_off=Av
|
||||
two_factor_enable=Aktivera
|
||||
two_factor_disable=Inaktivera
|
||||
two_factor_view_recovery_codes=Visa och spara <a href="%s%s">dina återställningskoder</a> på ett säkert ställe. Du kan använda dem som kod om du förlorar åtkomsten till din autentisering applikation.
|
||||
two_factor_http=For HTTP/HTTPS operations, you are no longer able to use plain username and password. Please create and use <a href="%[1]s%[2]s">Personal Access Token</a> as your credential, e.g. <code>%[3]s</code>.
|
||||
two_factor_enable_title=Enable Two-factor Authentication
|
||||
two_factor_enable_title=Avaktivera Tvåfaktorsautentisering
|
||||
two_factor_scan_qr=Please use your authentication application to scan the image:
|
||||
two_factor_or_enter_secret=Or enter the secret:
|
||||
two_factor_then_enter_passcode=Then enter passcode:
|
||||
two_factor_verify=Verify
|
||||
two_factor_then_enter_passcode=Ange sedan lösenordet:
|
||||
two_factor_verify=Verifiera
|
||||
two_factor_invalid_passcode=The passcode you entered is not valid, please try again!
|
||||
two_factor_enable_error=Enable Two-factor authentication failed: %v
|
||||
two_factor_enable_success=Two-factor authentication has enabled for your account successfully!
|
||||
@@ -616,6 +616,7 @@ pulls.compare_compare=jämför
|
||||
pulls.filter_branch=Filtrera gren
|
||||
pulls.no_results=Inga resultat hittades.
|
||||
pulls.nothing_to_compare=Det finns inget att jämföra eftersom bas och huvudgrenar är lika.
|
||||
pulls.nothing_merge_base=There is nothing to compare because two branches have completely different history.
|
||||
pulls.has_pull_request=`Det finns redan en pullförfrågan mellan detta två mål: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]s</a>^
|
||||
pulls.create=Skapa Pullförfrågan
|
||||
pulls.title_desc=vill sammanfoga %[1]d incheckningar från <code>s[2]s</code> in i <code>%[3]s</code>
|
||||
@@ -631,6 +632,8 @@ pulls.is_checking=Konfliktkontroll är fortfarande pågågående, vänligen uppd
|
||||
pulls.can_auto_merge_desc=Denna pull-förfrågan kan sammanfogas automatiskt.
|
||||
pulls.cannot_auto_merge_desc=Denna pull-förfrågan kan inte sammanfogas automatiskt eftersom det finns konflikter.
|
||||
pulls.cannot_auto_merge_helper=Vänligen sammanfoga manuellt för att lösa konflikter.
|
||||
pulls.create_merge_commit=Create a merge commit
|
||||
pulls.rebase_before_merging=Rebase before merging
|
||||
pulls.merge_pull_request=Sammanfoga Pull-förfrågan
|
||||
pulls.open_unmerged_pull_exists=`Du kan inte utföra återöppningsoperationen eftersom det finns redan en öppen pull-förfrågan (#%d) från samma repo med samma sammanfogningsinformation som väntar på sammanfogning.`
|
||||
pulls.delete_branch=Ta bort gren
|
||||
@@ -736,6 +739,8 @@ settings.tracker_issue_style.numeric=Numerisk
|
||||
settings.tracker_issue_style.alphanumeric=Alfanumerisk
|
||||
settings.tracker_url_format_desc=Du kan använda platshållaren <code>{user} {repo} {index}</code> för användarnamn, reponamn, och ärendenummer.
|
||||
settings.pulls_desc=Aktivera pullförfrågningar för att ta emot publika bidrag
|
||||
settings.pulls.ignore_whitespace=Ignore changes in whitespace
|
||||
settings.pulls.allow_rebase_merge=Allow use rebase to merge commits
|
||||
settings.danger_zone=Högrisksområde
|
||||
settings.cannot_fork_to_same_owner=You cannot fork a repository to its original owner.
|
||||
settings.new_owner_has_same_repo=Den nya ägaren har redan ett repo med det namnet. Vänligen välj ett annat namn.
|
||||
@@ -756,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.
|
||||
@@ -830,6 +835,7 @@ settings.recent_deliveries=Färska leveranser
|
||||
settings.hook_type=Kroktyp
|
||||
settings.add_slack_hook_desc=Lägg till <a href="%s">Slack</a>-integration till ditt förråd.
|
||||
settings.add_discord_hook_desc=Add <a href="%s">Discord</a> integration to your repository.
|
||||
settings.add_dingtalk_hook_desc=Add <a href="%s">Dingtalk</a> integration to your repository.
|
||||
settings.slack_token=Pollett
|
||||
settings.slack_domain=Domän
|
||||
settings.slack_channel=Kanal
|
||||
@@ -1094,6 +1100,7 @@ auths.domain=Domän
|
||||
auths.host=Värd
|
||||
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_password=Bind lösenord
|
||||
auths.bind_password_helper=Warning: This password is stored in plain text. Do not use a high privileged account.
|
||||
auths.user_base=User Search Base
|
||||
@@ -1134,6 +1141,7 @@ auths.still_in_used=This authentication is still used by some users, please dele
|
||||
auths.deletion_success=Authentication has been deleted successfully!
|
||||
auths.login_source_exist=Login source '%s' already exists.
|
||||
|
||||
config.not_set=(not set)
|
||||
config.server_config=Server-konfiguration
|
||||
config.app_name=Applikationsnamn
|
||||
config.app_ver=Applikationsversion
|
||||
@@ -1155,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
|
||||
@@ -1170,6 +1179,9 @@ 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_access_control_allow_origin=Access Control Allow Origin
|
||||
|
||||
config.db_config=Databaskonfiguration
|
||||
config.db_type=Typ
|
||||
config.db_host=Värd
|
||||
@@ -1199,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,6 +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=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
|
||||
@@ -631,10 +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=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
|
||||
@@ -685,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:
|
||||
@@ -736,6 +739,8 @@ settings.tracker_issue_style.numeric=Sayısal
|
||||
settings.tracker_issue_style.alphanumeric=Alfanumerik
|
||||
settings.tracker_url_format_desc=Kullanıcı adı, depo ismi ve hata indeksi için <code>{kullanıcı} {depo} {indeks}</code> tutucusunu kullanabilirsiniz.
|
||||
settings.pulls_desc=Herkese açık katkıları kabul etmek için değişiklik isteklerini etkinleştirin
|
||||
settings.pulls.ignore_whitespace=Ignore changes in whitespace
|
||||
settings.pulls.allow_rebase_merge=Allow use rebase to merge commits
|
||||
settings.danger_zone=Tehlike Alanı
|
||||
settings.cannot_fork_to_same_owner=You cannot fork a repository to its original owner.
|
||||
settings.new_owner_has_same_repo=Yeni sahibin aynı isimde başka bir deposu var. Lütfen farklı bir isim seçin.
|
||||
@@ -756,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.
|
||||
@@ -830,6 +835,7 @@ settings.recent_deliveries=Son Dağıtımlar
|
||||
settings.hook_type=İstek Türü
|
||||
settings.add_slack_hook_desc=Deponuza <a href="%s">Slack</a> entegrasyonunu ekleyin.
|
||||
settings.add_discord_hook_desc=Add <a href="%s">Discord</a> integration to your repository.
|
||||
settings.add_dingtalk_hook_desc=Add <a href="%s">Dingtalk</a> integration to your repository.
|
||||
settings.slack_token=Erişim Anahtarı
|
||||
settings.slack_domain=Alan Adı
|
||||
settings.slack_channel=Kanal
|
||||
@@ -1094,6 +1100,7 @@ auths.domain=Alan Adı
|
||||
auths.host=Sunucu
|
||||
auths.port=Port
|
||||
auths.bind_dn=Bağlama DN'i
|
||||
auths.bind_dn_helper=You can use '%s' as placeholder for username, e.g. DOM\%s
|
||||
auths.bind_password=Bağlama Parolası
|
||||
auths.bind_password_helper=Uyarı: Bu parola, ham halde bir metin dosyası içerisinde saklanacaktır. Yüksek izinli bir hesap kullanmayın.
|
||||
auths.user_base=Kullanıcı Arama Tabanı
|
||||
@@ -1134,6 +1141,7 @@ auths.still_in_used=Bu yetkilendirme hala bazı kullanıcılar tarafından kulla
|
||||
auths.deletion_success=Yetkilendirme başarıyla silindi!
|
||||
auths.login_source_exist=Login source '%s' already exists.
|
||||
|
||||
config.not_set=(not set)
|
||||
config.server_config=Sunucu Yapılandırması
|
||||
config.app_name=Uygulama Adı
|
||||
config.app_ver=Uygulama Sürümü
|
||||
@@ -1155,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ü
|
||||
@@ -1170,6 +1179,9 @@ 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_access_control_allow_origin=Access Control Allow Origin
|
||||
|
||||
config.db_config=Veritabanı Yapılandırması
|
||||
config.db_type=Türü
|
||||
config.db_host=Sunucu
|
||||
@@ -1199,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
|
||||
@@ -1230,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
|
||||
@@ -1272,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
|
||||
@@ -1285,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=Зафіксувати зміни
|
||||
@@ -616,6 +616,7 @@ pulls.compare_compare=compare
|
||||
pulls.filter_branch=Фільтрувати гілку
|
||||
pulls.no_results=Результатів не знайдено.
|
||||
pulls.nothing_to_compare=Нічого порівнювати, бо base та head гілки однакові.
|
||||
pulls.nothing_merge_base=Нічого порівнювати, бо обидві гілки мають повністю різну історію.
|
||||
pulls.has_pull_request=`Вже є pull request між ціми двома цілями: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
|
||||
pulls.create=Створити pull request
|
||||
pulls.title_desc=хоче злити %[1]d комітів з <code>%[2]s</code> до <code>%[3]s</code>
|
||||
@@ -631,6 +632,8 @@ pulls.is_checking=Перевірка конфліктів продовжуєть
|
||||
pulls.can_auto_merge_desc=Цей запрос може бути влитий автоматично.
|
||||
pulls.cannot_auto_merge_desc=Цей запрос не може бути влитий автоматично, тому що він має конфлікти.
|
||||
pulls.cannot_auto_merge_helper=Будь ласка влийте вручну щоб врегулювати конфлікти.
|
||||
pulls.create_merge_commit=Створити коміт на злиття
|
||||
pulls.rebase_before_merging=Перебазувати перед об'єднанням
|
||||
pulls.merge_pull_request=Влити запрос на злиття
|
||||
pulls.open_unmerged_pull_exists=`Ви не можете перевідкрити, бо вже існує запрос на злиття (#%d) з того самого репозиторію, з тією самою інформацією про злиття, та він очікує на влиття.`
|
||||
pulls.delete_branch=Видалити гілку
|
||||
@@ -657,7 +660,7 @@ milestones.cancel=Скасувати
|
||||
milestones.modify=Змінити етап
|
||||
milestones.edit_success=Зміни в етапі '%s' успішно збережені!
|
||||
milestones.deletion=Видалення етапу
|
||||
milestones.deletion_desc=Видалення цього єтапу призведе до видалення інформації, його та пов'язаних проблем. Ви справді хочете продовжити?
|
||||
milestones.deletion_desc=Видалення цього етапу призведе до видалення інформації, його та пов'язаних проблем. Ви справді хочете продовжити?
|
||||
milestones.deletion_success=Етап успішно видалено!
|
||||
|
||||
wiki=Wiki
|
||||
@@ -736,9 +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=Ігнорувати зміни у пробільних символах
|
||||
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=- Ця операція перетворить дзеркало на звичайний репозиторій та не зможе бути відмінена.
|
||||
@@ -756,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=Налаштування репозиторію було вдало оновлено.
|
||||
@@ -830,13 +835,14 @@ 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.slack_token=Жетон
|
||||
settings.add_dingtalk_hook_desc=Додати інтеграцію <a href="%s">Dingtalk</a> до вашого репозиторію.
|
||||
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=Контент
|
||||
@@ -844,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=Переглянути джерело
|
||||
@@ -1094,6 +1100,7 @@ auths.domain=Домен
|
||||
auths.host=Хост
|
||||
auths.port=Порт
|
||||
auths.bind_dn=Прив'язати DN
|
||||
auths.bind_dn_helper=Ви можете використовувати '%s' як шаблон для імені користувача, напр. DOM\%s
|
||||
auths.bind_password=Прив'язати пароль
|
||||
auths.bind_password_helper=Увага: Цей пароль зберігається як звичайний текст. Не використовуйте профіль з високими повноваженнями.
|
||||
auths.user_base=База пошуку користувачів
|
||||
@@ -1116,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
|
||||
@@ -1134,6 +1141,7 @@ auths.still_in_used=Цю автентифікацію ще використов
|
||||
auths.deletion_success=Автентивікацію було успішно видалено!
|
||||
auths.login_source_exist=Джерело входу '%s' вже існує.
|
||||
|
||||
config.not_set=(не встановлено)
|
||||
config.server_config=Конфігурація сервера
|
||||
config.app_name=Назва програми
|
||||
config.app_ver=Версія програми
|
||||
@@ -1155,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=Мінімальний розмір ключа перевірки
|
||||
@@ -1170,6 +1179,9 @@ config.disable_http_git=Вимкнути HTTP Git
|
||||
config.enable_local_path_migration=Увімкнути міграцію з локального шляху
|
||||
config.commits_fetch_concurrency=Запросити коміти конкурентно
|
||||
|
||||
config.http_config=Налаштування HTTP
|
||||
config.http_access_control_allow_origin=Контроль доступу дозволяє Origin
|
||||
|
||||
config.db_config=Налаштування бази даних
|
||||
config.db_type=Тип
|
||||
config.db_host=Хост
|
||||
@@ -1199,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=Відправити тестового листа
|
||||
|
||||
@@ -2,7 +2,7 @@ app_desc=一款极易搭建的自助 Git 服务
|
||||
|
||||
home=首页
|
||||
dashboard=控制面板
|
||||
explore=探索
|
||||
explore=发现
|
||||
help=帮助
|
||||
sign_in=登录
|
||||
sign_out=退出
|
||||
@@ -569,7 +569,7 @@ issues.filter_sort.recentupdate=最近更新
|
||||
issues.filter_sort.leastupdate=最少更新
|
||||
issues.filter_sort.mostcomment=最多评论
|
||||
issues.filter_sort.leastcomment=最少评论
|
||||
issues.opened_by=由 <a href="%[2]s">%[3]s</a> 与 %[1]s创建
|
||||
issues.opened_by=由 <a href="%[2]s">%[3]s</a> 于 %[1]s创建
|
||||
issues.opened_by_fake=由 %[2]s 于 %[1]s创建
|
||||
issues.previous=上一页
|
||||
issues.next=下一页
|
||||
@@ -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=保存
|
||||
@@ -616,6 +616,7 @@ pulls.compare_compare=对比分支
|
||||
pulls.filter_branch=过滤分支
|
||||
pulls.no_results=未找到结果
|
||||
pulls.nothing_to_compare=基准和对比分支代码已经同步,无需进行对比。
|
||||
pulls.nothing_merge_base=由于两个分支各自拥有完全不同的提交历史,因此无法进行比较。
|
||||
pulls.has_pull_request=`已经存在目标分支的合并请求:<a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
|
||||
pulls.create=创建合并请求
|
||||
pulls.title_desc=请求将 %[1]d 次代码提交从 <code>%[2]s</code> 合并至 <code>%[3]s</code>
|
||||
@@ -631,6 +632,8 @@ pulls.is_checking=该合并请求正在进行冲突检查,请稍后再刷新
|
||||
pulls.can_auto_merge_desc=该合并请求可以进行自动合并操作。
|
||||
pulls.cannot_auto_merge_desc=该合并请求存在冲突,无法进行自动合并操作。
|
||||
pulls.cannot_auto_merge_helper=请手动拉取代码变更以解决冲突。
|
||||
pulls.create_merge_commit=创建一个新的合并提交
|
||||
pulls.rebase_before_merging=合并前先进行衍合
|
||||
pulls.merge_pull_request=合并请求
|
||||
pulls.open_unmerged_pull_exists=`由于已经存在来自相同仓库和合并信息的未合并请求(#%d),您无法执行重新开启操作。`
|
||||
pulls.delete_branch=删除分支
|
||||
@@ -736,6 +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=忽略空白符号的更改
|
||||
settings.pulls.allow_rebase_merge=允许在合并提交时使用衍合
|
||||
settings.danger_zone=危险操作区
|
||||
settings.cannot_fork_to_same_owner=您不能派生仓库到其当前的所有者。
|
||||
settings.new_owner_has_same_repo=新的仓库拥有者已经存在同名仓库!
|
||||
@@ -756,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=仓库设置更新成功!
|
||||
@@ -830,6 +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=为您的仓库增加 <a href="%s">钉钉</a> 集成。
|
||||
settings.slack_token=令牌
|
||||
settings.slack_domain=域名
|
||||
settings.slack_channel=频道
|
||||
@@ -1094,6 +1100,7 @@ auths.domain=域名
|
||||
auths.host=主机地址
|
||||
auths.port=主机端口
|
||||
auths.bind_dn=绑定 DN
|
||||
auths.bind_dn_helper=可以使用 '%s' 作为用户名的占位符,例如:DOM\%s
|
||||
auths.bind_password=绑定密码
|
||||
auths.bind_password_helper=警告:该密码将会以明文的形式保存在数据库中。请不要使用拥有高权限的帐户!
|
||||
auths.user_base=用户搜索基准
|
||||
@@ -1134,6 +1141,7 @@ auths.still_in_used=此认证仍旧与一些用户有关联,请先删除或者
|
||||
auths.deletion_success=授权源删除成功!
|
||||
auths.login_source_exist=登录源 '%s' 已存在。
|
||||
|
||||
config.not_set=(未设置)
|
||||
config.server_config=服务器配置
|
||||
config.app_name=应用名称
|
||||
config.app_ver=应用版本
|
||||
@@ -1155,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=密钥最小长度检查
|
||||
@@ -1170,6 +1179,9 @@ config.disable_http_git=禁用 HTTP Git 操作
|
||||
config.enable_local_path_migration=启用本地路径迁移
|
||||
config.commits_fetch_concurrency=代码提交拉取并发量
|
||||
|
||||
config.http_config=HTTP 配置
|
||||
config.http_access_control_allow_origin=Access Control Allow Origin
|
||||
|
||||
config.db_config=数据库配置
|
||||
config.db_type=数据库类型
|
||||
config.db_host=主机地址
|
||||
@@ -1199,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!
|
||||
@@ -616,6 +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.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>
|
||||
@@ -631,6 +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.merge_pull_request=合併請求
|
||||
pulls.open_unmerged_pull_exists=`由於已經存在來自相同倉庫和合併信息的未合併請求(#%d),您無法執行重新開啟操作。`
|
||||
pulls.delete_branch=Delete Branch
|
||||
@@ -736,6 +739,8 @@ settings.tracker_issue_style.numeric=Numeric
|
||||
settings.tracker_issue_style.alphanumeric=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.danger_zone=危險操作區
|
||||
settings.cannot_fork_to_same_owner=You cannot fork a repository to its original owner.
|
||||
settings.new_owner_has_same_repo=新的倉庫擁有者已經存在同名倉庫!
|
||||
@@ -756,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=倉庫設置更新成功!
|
||||
@@ -830,6 +835,7 @@ settings.recent_deliveries=最近推送記錄
|
||||
settings.hook_type=鉤子類型
|
||||
settings.add_slack_hook_desc=為您的倉庫增加 <a href="%s">Slack</a> 集成。
|
||||
settings.add_discord_hook_desc=Add <a href="%s">Discord</a> integration to your repository.
|
||||
settings.add_dingtalk_hook_desc=Add <a href="%s">Dingtalk</a> integration to your repository.
|
||||
settings.slack_token=令牌
|
||||
settings.slack_domain=域名
|
||||
settings.slack_channel=頻道
|
||||
@@ -1094,6 +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_password=綁定密碼
|
||||
auths.bind_password_helper=警告:該密碼將會以明文的形式保存在數據庫中。請不要使用擁有高權限的帳戶!
|
||||
auths.user_base=用戶搜索基準
|
||||
@@ -1134,6 +1141,7 @@ auths.still_in_used=This authentication is still used by some users, please dele
|
||||
auths.deletion_success=認證源刪除成功!
|
||||
auths.login_source_exist=Login source '%s' already exists.
|
||||
|
||||
config.not_set=(not set)
|
||||
config.server_config=服務器配置
|
||||
config.app_name=應用名稱
|
||||
config.app_ver=應用版本
|
||||
@@ -1155,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=金鑰最小大小檢查
|
||||
@@ -1170,6 +1179,9 @@ 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_access_control_allow_origin=Access Control Allow Origin
|
||||
|
||||
config.db_config=數據庫配置
|
||||
config.db_type=數據庫類型
|
||||
config.db_host=主機地址
|
||||
@@ -1199,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!
|
||||
@@ -375,9 +375,9 @@ orgs.none=您現在還不是任何組織的成員。
|
||||
orgs.leave_title=離開組織
|
||||
orgs.leave_desc=離開組織後,所有與組織相關的倉庫和團隊權限將被取消。是否繼續?
|
||||
|
||||
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=離開
|
||||
repos.leave_title=離開存儲庫
|
||||
repos.leave_desc=在你離開後,您將無法進入到存儲庫。你想要繼續嗎?
|
||||
repos.leave_success=You have left repository '%s' successfully!
|
||||
|
||||
delete_account=刪除當前帳戶
|
||||
@@ -616,6 +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.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>
|
||||
@@ -631,6 +632,8 @@ pulls.is_checking=該合併請求正在進行衝突檢查,請稍後再刷新
|
||||
pulls.can_auto_merge_desc=這個拉請求可以自動合併。
|
||||
pulls.cannot_auto_merge_desc=由於存在衝突,不能自動合併這推送請求。
|
||||
pulls.cannot_auto_merge_helper=請手動合併來解決衝突。
|
||||
pulls.create_merge_commit=創建一個合併提交
|
||||
pulls.rebase_before_merging=Rebase before merging
|
||||
pulls.merge_pull_request=合併請求
|
||||
pulls.open_unmerged_pull_exists=`由於已經存在來自相同倉庫和合併信息的未合併請求(#%d),您無法執行重新開啟操作。`
|
||||
pulls.delete_branch=刪除分支
|
||||
@@ -736,6 +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.danger_zone=危險操作區
|
||||
settings.cannot_fork_to_same_owner=你不可以 fork 一個 repository 到它的擁有者。
|
||||
settings.new_owner_has_same_repo=新的倉庫擁有者已經存在同名倉庫!
|
||||
@@ -756,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=倉庫設置更新成功!
|
||||
@@ -780,7 +785,7 @@ settings.webhook_deletion_success=Web 鉤子刪除成功!
|
||||
settings.webhook.test_delivery=測試推送
|
||||
settings.webhook.test_delivery_desc=生成並推送一個模擬的 Push 事件
|
||||
settings.webhook.test_delivery_success=測試推送已經加入到隊列,請耐心等待數秒再刷新推送記錄。
|
||||
settings.webhook.redelivery=Redelivery
|
||||
settings.webhook.redelivery=重新傳送
|
||||
settings.webhook.redelivery_success=Hook task '%s' has been readded to delivery queue. It may take few seconds to update delivery status in history.
|
||||
settings.webhook.request=請求內容
|
||||
settings.webhook.response=響應內容
|
||||
@@ -830,6 +835,7 @@ settings.recent_deliveries=最近推送記錄
|
||||
settings.hook_type=鉤子類型
|
||||
settings.add_slack_hook_desc=為您的倉庫增加 <a href="%s">Slack</a> 集成。
|
||||
settings.add_discord_hook_desc=Hook <a href="%s">Discord</a> 到你的 repository。
|
||||
settings.add_dingtalk_hook_desc=Add <a href="%s">Dingtalk</a> integration to your repository.
|
||||
settings.slack_token=令牌
|
||||
settings.slack_domain=域名
|
||||
settings.slack_channel=頻道
|
||||
@@ -1094,20 +1100,21 @@ 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_password=綁定密碼
|
||||
auths.bind_password_helper=警告:該密碼將會以明文的形式保存在數據庫中。請不要使用擁有高權限的帳戶!
|
||||
auths.user_base=用戶搜索基準
|
||||
auths.user_dn=User DN
|
||||
auths.attribute_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=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=管理者篩選器
|
||||
@@ -1134,6 +1141,7 @@ auths.still_in_used=一些使用者仍然使用此驗證方式,請先刪除或
|
||||
auths.deletion_success=認證源刪除成功!
|
||||
auths.login_source_exist=登錄源 '%s' 已存在。
|
||||
|
||||
config.not_set=(未設定)
|
||||
config.server_config=服務器配置
|
||||
config.app_name=應用名稱
|
||||
config.app_ver=應用版本
|
||||
@@ -1155,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=金鑰最小大小檢查
|
||||
@@ -1170,6 +1179,9 @@ config.disable_http_git=停用 HTTP Git
|
||||
config.enable_local_path_migration=啟用本地路徑遷移
|
||||
config.commits_fetch_concurrency=同時Fetch Commit數量
|
||||
|
||||
config.http_config=HTTP設定
|
||||
config.http_access_control_allow_origin=Access Control Allow Origin
|
||||
|
||||
config.db_config=資料庫設定
|
||||
config.db_type=數據庫類型
|
||||
config.db_host=主機地址
|
||||
@@ -1199,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)
|
||||
}
|
||||
}
|
||||
3
docker/armhf/build.sh
Normal file
3
docker/armhf/build.sh
Normal file
@@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
|
||||
go build -ldflags "-w -s" resin-xbuild.go
|
||||
BIN
docker/armhf/qemu-arm-static
Executable file
BIN
docker/armhf/qemu-arm-static
Executable file
Binary file not shown.
BIN
docker/armhf/resin-xbuild
Executable file
BIN
docker/armhf/resin-xbuild
Executable file
Binary file not shown.
66
docker/armhf/resin-xbuild.go
Normal file
66
docker/armhf/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-arm-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)
|
||||
}
|
||||
}
|
||||
@@ -25,5 +25,6 @@ rm -r $GOPATH
|
||||
apk --no-progress del build-deps
|
||||
|
||||
# Create git user for Gogs
|
||||
adduser -H -D -g 'Gogs Git User' git -h /data/git -s /bin/bash && passwd -u git
|
||||
addgroup -S git
|
||||
adduser -G git -H -D -g 'Gogs Git User' git -h /data/git -s /bin/bash && usermod -p '*' git && passwd -u git
|
||||
echo "export GOGS_CUSTOM=${GOGS_CUSTOM}" >> /etc/profile
|
||||
|
||||
@@ -6,9 +6,6 @@ set -e
|
||||
|
||||
# Move to final place
|
||||
mv /app/gogs/build/gogs /app/gogs/
|
||||
mv /app/gogs/build/templates /app/gogs/
|
||||
mv /app/gogs/build/public /app/gogs/
|
||||
mv /app/gogs/build/docker /app/gogs/
|
||||
|
||||
# Final cleaning
|
||||
rm -rf /app/gogs/build
|
||||
@@ -19,4 +16,4 @@ rm /app/gogs/docker/nsswitch.conf
|
||||
rm /app/gogs/docker/README.md
|
||||
|
||||
rm -rf /tmp/go
|
||||
rm -rf /usr/local/go
|
||||
rm -rf /usr/local/go
|
||||
|
||||
@@ -13,11 +13,11 @@ fi
|
||||
cd /app/gogs
|
||||
|
||||
# Link volumed data with app data
|
||||
ln -sf /data/gogs/log ./log
|
||||
ln -sf /data/gogs/data ./data
|
||||
ln -sfn /data/gogs/log ./log
|
||||
ln -sfn /data/gogs/data ./data
|
||||
|
||||
# Backward Compatibility with Gogs Container v0.6.15
|
||||
ln -sf /data/git /home/git
|
||||
ln -sfn /data/git /home/git
|
||||
|
||||
chown -R git:git /data /app/gogs ~git/
|
||||
chmod 0755 /data /data/gogs ~git/
|
||||
|
||||
@@ -38,6 +38,14 @@ create_volume_subfolder() {
|
||||
done
|
||||
}
|
||||
|
||||
setids() {
|
||||
PUID=${PUID:-1000}
|
||||
PGID=${PGID:-1000}
|
||||
groupmod -o -g "$PGID" git
|
||||
usermod -o -u "$PUID" git
|
||||
}
|
||||
|
||||
setids
|
||||
cleanup
|
||||
create_volume_subfolder
|
||||
|
||||
|
||||
2
gogs.go
2
gogs.go
@@ -16,7 +16,7 @@ import (
|
||||
"github.com/gogits/gogs/pkg/setting"
|
||||
)
|
||||
|
||||
const APP_VER = "0.11.19.0609"
|
||||
const APP_VER = "0.11.43.0330"
|
||||
|
||||
func init() {
|
||||
setting.AppVer = APP_VER
|
||||
|
||||
@@ -112,14 +112,12 @@ func (u *User) GetRepositoryAccesses() (map[*Repository]AccessMode, error) {
|
||||
repo, err := GetRepositoryByID(access.RepoID)
|
||||
if err != nil {
|
||||
if errors.IsRepoNotExist(err) {
|
||||
log.Error(4, "GetRepositoryByID: %v", err)
|
||||
log.Error(2, "GetRepositoryByID: %v", err)
|
||||
continue
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
if err = repo.GetOwner(); err != nil {
|
||||
return nil, err
|
||||
} else if repo.OwnerID == u.ID {
|
||||
if repo.OwnerID == u.ID {
|
||||
continue
|
||||
}
|
||||
repos[repo] = access.Mode
|
||||
|
||||
@@ -21,8 +21,8 @@ import (
|
||||
api "github.com/gogits/go-gogs-client"
|
||||
|
||||
"github.com/gogits/gogs/models/errors"
|
||||
"github.com/gogits/gogs/pkg/tool"
|
||||
"github.com/gogits/gogs/pkg/setting"
|
||||
"github.com/gogits/gogs/pkg/tool"
|
||||
)
|
||||
|
||||
type ActionType int
|
||||
@@ -73,12 +73,12 @@ func init() {
|
||||
// it implemented interface base.Actioner so that can be used in template render.
|
||||
type Action struct {
|
||||
ID int64
|
||||
UserID int64 // Receiver user id.
|
||||
UserID int64 // Receiver user ID
|
||||
OpType ActionType
|
||||
ActUserID int64 // Action user id.
|
||||
ActUserName string // Action user name.
|
||||
ActUserID int64 // Doer user ID
|
||||
ActUserName string // Doer user name
|
||||
ActAvatar string `xorm:"-"`
|
||||
RepoID int64
|
||||
RepoID int64 `xorm:"INDEX"`
|
||||
RepoUserName string
|
||||
RepoName string
|
||||
RefName string
|
||||
@@ -379,8 +379,7 @@ func UpdateIssuesCommit(doer *User, repo *Repository, commits []*PushCommit) err
|
||||
if ref[0] == '#' {
|
||||
ref = fmt.Sprintf("%s%s", repo.FullName(), ref)
|
||||
} else if !strings.Contains(ref, "/") {
|
||||
// We don't support User#ID syntax yet
|
||||
// return ErrNotImplemented
|
||||
// FIXME: We don't support User#ID syntax yet
|
||||
continue
|
||||
}
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -110,6 +110,12 @@ func (c *Comment) loadAttributes(e Engine) (err error) {
|
||||
if err != nil {
|
||||
return fmt.Errorf("getIssueByID [%d]: %v", c.IssueID, err)
|
||||
}
|
||||
if c.Issue.Repo == nil {
|
||||
c.Issue.Repo, err = getRepositoryByID(e, c.Issue.RepoID)
|
||||
if err != nil {
|
||||
return fmt.Errorf("getRepositoryByID [%d]: %v", c.Issue.RepoID, err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if c.Attachments == nil {
|
||||
@@ -182,7 +188,7 @@ func (cmt *Comment) mailParticipants(e Engine, opType ActionType, issue *Issue)
|
||||
issue.Content = fmt.Sprintf("Reopened #%d", issue.Index)
|
||||
}
|
||||
if err = mailIssueCommentToParticipants(issue, cmt.Poster, mentions); err != nil {
|
||||
log.Error(4, "mailIssueCommentToParticipants: %v", err)
|
||||
log.Error(2, "mailIssueCommentToParticipants: %v", err)
|
||||
}
|
||||
|
||||
return nil
|
||||
@@ -284,10 +290,10 @@ func createComment(e *xorm.Session, opts *CreateCommentOptions) (_ *Comment, err
|
||||
// Notify watchers for whatever action comes in, ignore if no action type.
|
||||
if act.OpType > 0 {
|
||||
if err = notifyWatchers(e, act); err != nil {
|
||||
log.Error(4, "notifyWatchers: %v", err)
|
||||
log.Error(2, "notifyWatchers: %v", err)
|
||||
}
|
||||
if err = comment.mailParticipants(e, act.OpType, opts.Issue); err != nil {
|
||||
log.Error(4, "MailParticipants: %v", err)
|
||||
log.Error(2, "MailParticipants: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -323,7 +329,7 @@ type CreateCommentOptions struct {
|
||||
// CreateComment creates comment of issue or commit.
|
||||
func CreateComment(opts *CreateCommentOptions) (comment *Comment, err error) {
|
||||
sess := x.NewSession()
|
||||
defer sessionRelease(sess)
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -431,9 +437,9 @@ func getCommentsByIssueIDSince(e Engine, issueID, since int64) ([]*Comment, erro
|
||||
|
||||
func getCommentsByRepoIDSince(e Engine, repoID, since int64) ([]*Comment, error) {
|
||||
comments := make([]*Comment, 0, 10)
|
||||
sess := e.Where("issue.repo_id = ?", repoID).Join("INNER", "issue", "issue.id = comment.issue_id", repoID).Asc("created_unix")
|
||||
sess := e.Where("issue.repo_id = ?", repoID).Join("INNER", "issue", "issue.id = comment.issue_id").Asc("comment.created_unix")
|
||||
if since > 0 {
|
||||
sess.And("updated_unix >= ?", since)
|
||||
sess.And("comment.updated_unix >= ?", since)
|
||||
}
|
||||
if err := sess.Find(&comments); err != nil {
|
||||
return nil, err
|
||||
@@ -497,7 +503,7 @@ func DeleteCommentByID(doer *User, id int64) error {
|
||||
}
|
||||
|
||||
sess := x.NewSession()
|
||||
defer sessionRelease(sess)
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
// __________ .__ .__ __________ __
|
||||
// \______ \__ __| | | |\______ \ ____ ________ __ ____ _______/ |_
|
||||
// | ___/ | \ | | | | _// __ \/ ____/ | \_/ __ \ / ___/\ __\
|
||||
|
||||
@@ -59,3 +59,29 @@ func IsMirrorNotExist(err error) bool {
|
||||
func (err MirrorNotExist) Error() string {
|
||||
return fmt.Sprintf("mirror does not exist [repo_id: %d]", err.RepoID)
|
||||
}
|
||||
|
||||
type BranchAlreadyExists struct {
|
||||
Name string
|
||||
}
|
||||
|
||||
func IsBranchAlreadyExists(err error) bool {
|
||||
_, ok := err.(BranchAlreadyExists)
|
||||
return ok
|
||||
}
|
||||
|
||||
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)
|
||||
}
|
||||
|
||||
@@ -325,7 +325,7 @@ func (issue *Issue) clearLabels(e *xorm.Session) (err error) {
|
||||
|
||||
func (issue *Issue) ClearLabels(doer *User) (err error) {
|
||||
sess := x.NewSession()
|
||||
defer sessionRelease(sess)
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -370,7 +370,7 @@ func (issue *Issue) ClearLabels(doer *User) (err error) {
|
||||
// ReplaceLabels removes all current labels and add new labels to the issue.
|
||||
func (issue *Issue) ReplaceLabels(labels []*Label) (err error) {
|
||||
sess := x.NewSession()
|
||||
defer sessionRelease(sess)
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -455,7 +455,7 @@ func (i *Issue) changeStatus(e *xorm.Session, doer *User, repo *Repository, isCl
|
||||
// ChangeStatus changes issue status to open or closed.
|
||||
func (issue *Issue) ChangeStatus(doer *User, repo *Repository, isClosed bool) (err error) {
|
||||
sess := x.NewSession()
|
||||
defer sessionRelease(sess)
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -744,7 +744,7 @@ func newIssue(e *xorm.Session, opts NewIssueOptions) (err error) {
|
||||
// NewIssue creates new issue with labels and attachments for repository.
|
||||
func NewIssue(repo *Repository, issue *Issue, labelIDs []int64, uuids []string) (err error) {
|
||||
sess := x.NewSession()
|
||||
defer sessionRelease(sess)
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -1062,7 +1062,7 @@ func newIssueUsers(e *xorm.Session, repo *Repository, issue *Issue) error {
|
||||
// NewIssueUsers adds new issue-user relations for new issue of repository.
|
||||
func NewIssueUsers(repo *Repository, issue *Issue) (err error) {
|
||||
sess := x.NewSession()
|
||||
defer sessionRelease(sess)
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -1391,7 +1391,7 @@ func updateIssueUserByAssignee(e *xorm.Session, issue *Issue) (err error) {
|
||||
// UpdateIssueUserByAssignee updates issue-user relation for assignee.
|
||||
func UpdateIssueUserByAssignee(issue *Issue) (err error) {
|
||||
sess := x.NewSession()
|
||||
defer sessionRelease(sess)
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -216,7 +216,7 @@ func DeleteLabel(repoID, labelID int64) error {
|
||||
}
|
||||
|
||||
sess := x.NewSession()
|
||||
defer sessionRelease(sess)
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -282,7 +282,7 @@ func NewIssueLabel(issue *Issue, label *Label) (err error) {
|
||||
}
|
||||
|
||||
sess := x.NewSession()
|
||||
defer sessionRelease(sess)
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -311,7 +311,7 @@ func newIssueLabels(e *xorm.Session, issue *Issue, labels []*Label) (err error)
|
||||
// NewIssueLabels creates a list of issue-label relations.
|
||||
func NewIssueLabels(issue *Issue, labels []*Label) (err error) {
|
||||
sess := x.NewSession()
|
||||
defer sessionRelease(sess)
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -361,7 +361,7 @@ func deleteIssueLabel(e *xorm.Session, issue *Issue, label *Label) (err error) {
|
||||
// DeleteIssueLabel deletes issue-label relation.
|
||||
func DeleteIssueLabel(issue *Issue, label *Label) (err error) {
|
||||
sess := x.NewSession()
|
||||
defer sessionRelease(sess)
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -155,7 +155,6 @@ func mailIssueCommentToParticipants(issue *Issue, doer *User, mentions []string)
|
||||
tos = append(tos, mentions[i])
|
||||
}
|
||||
mailer.SendIssueMentionMail(NewMailerIssue(issue), NewMailerRepo(issue.Repo), NewMailerUser(doer), GetUserEmailsByNames(tos))
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -168,7 +167,7 @@ func (issue *Issue) MailParticipants() (err error) {
|
||||
}
|
||||
|
||||
if err = mailIssueCommentToParticipants(issue, issue.Poster, mentions); err != nil {
|
||||
log.Error(4, "mailIssueCommentToParticipants: %v", err)
|
||||
log.Error(2, "mailIssueCommentToParticipants: %v", err)
|
||||
}
|
||||
|
||||
return nil
|
||||
|
||||
@@ -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"`
|
||||
@@ -153,7 +146,7 @@ func generateOrgRandsAndSalt(x *xorm.Engine) (err error) {
|
||||
}
|
||||
|
||||
sess := x.NewSession()
|
||||
defer sessionRelease(sess)
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@ func ldapUseSSLToSecurityProtocol(x *xorm.Engine) error {
|
||||
}
|
||||
|
||||
sess := x.NewSession()
|
||||
defer sessionRelease(sess)
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -67,6 +67,8 @@ func generateAndMigrateGitHooks(x *xorm.Engine) (err error) {
|
||||
wikiPath := repoBase + ".wiki.git"
|
||||
log.Trace("[%04d]: %s", idx, repoPath)
|
||||
|
||||
// Note: we should not create hookDir here because update hook file should already exists inside this direcotry,
|
||||
// if this directory does not exist, the current setup is not correct anyway.
|
||||
hookDir := filepath.Join(repoPath, "hooks")
|
||||
customHookDir := filepath.Join(repoPath, "custom_hooks")
|
||||
wikiHookDir := filepath.Join(wikiPath, "hooks")
|
||||
|
||||
@@ -115,7 +115,7 @@ func (m *Milestone) CountIssues(isClosed, includePulls bool) int64 {
|
||||
// NewMilestone creates new milestone of repository.
|
||||
func NewMilestone(m *Milestone) (err error) {
|
||||
sess := x.NewSession()
|
||||
defer sessionRelease(sess)
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -211,7 +211,7 @@ func ChangeMilestoneStatus(m *Milestone, isClosed bool) (err error) {
|
||||
}
|
||||
|
||||
sess := x.NewSession()
|
||||
defer sessionRelease(sess)
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -254,7 +254,7 @@ func changeMilestoneIssueStats(e *xorm.Session, issue *Issue) error {
|
||||
// for the milestone associated with the given issue.
|
||||
func ChangeMilestoneIssueStats(issue *Issue) (err error) {
|
||||
sess := x.NewSession()
|
||||
defer sessionRelease(sess)
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -378,7 +378,7 @@ func DeleteMilestoneOfRepoByID(repoID, id int64) error {
|
||||
}
|
||||
|
||||
sess := x.NewSession()
|
||||
defer sessionRelease(sess)
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -43,13 +43,6 @@ type Engine interface {
|
||||
Where(interface{}, ...interface{}) *xorm.Session
|
||||
}
|
||||
|
||||
func sessionRelease(sess *xorm.Session) {
|
||||
if !sess.IsCommitedOrRollbacked {
|
||||
sess.Rollback()
|
||||
}
|
||||
sess.Close()
|
||||
}
|
||||
|
||||
var (
|
||||
x *xorm.Engine
|
||||
tables []interface{}
|
||||
@@ -141,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
|
||||
|
||||
@@ -124,7 +124,7 @@ func CreateOrganization(org, owner *User) (err error) {
|
||||
org.NumMembers = 1
|
||||
|
||||
sess := x.NewSession()
|
||||
defer sessionRelease(sess)
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -208,7 +208,7 @@ func DeleteOrganization(org *User) (err error) {
|
||||
}
|
||||
|
||||
sess := x.NewSession()
|
||||
defer sessionRelease(sess)
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -405,7 +405,7 @@ func RemoveOrgUser(orgID, userID int64) error {
|
||||
}
|
||||
|
||||
sess := x.NewSession()
|
||||
defer sessionRelease(sess)
|
||||
defer sess.Close()
|
||||
if err := sess.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -139,7 +139,7 @@ func (t *Team) AddRepository(repo *Repository) (err error) {
|
||||
}
|
||||
|
||||
sess := x.NewSession()
|
||||
defer sessionRelease(sess)
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -199,7 +199,7 @@ func (t *Team) RemoveRepository(repoID int64) error {
|
||||
}
|
||||
|
||||
sess := x.NewSession()
|
||||
defer sessionRelease(sess)
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -321,7 +321,7 @@ func UpdateTeam(t *Team, authChanged bool) (err error) {
|
||||
}
|
||||
|
||||
sess := x.NewSession()
|
||||
defer sessionRelease(sess)
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -368,7 +368,7 @@ func DeleteTeam(t *Team) error {
|
||||
}
|
||||
|
||||
sess := x.NewSession()
|
||||
defer sessionRelease(sess)
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -488,7 +488,7 @@ func AddTeamMember(orgID, teamID, userID int64) error {
|
||||
}
|
||||
|
||||
sess := x.NewSession()
|
||||
defer sessionRelease(sess)
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -592,7 +592,7 @@ func removeTeamMember(e Engine, orgID, teamID, uid int64) error {
|
||||
// RemoveTeamMember removes member from given team of given organization.
|
||||
func RemoveTeamMember(orgID, teamID, uid int64) error {
|
||||
sess := x.NewSession()
|
||||
defer sessionRelease(sess)
|
||||
defer sess.Close()
|
||||
if err := sess.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
120
models/pull.go
120
models/pull.go
@@ -183,16 +183,24 @@ func (pr *PullRequest) CanAutoMerge() bool {
|
||||
return pr.Status == PULL_REQUEST_STATUS_MERGEABLE
|
||||
}
|
||||
|
||||
// MergeStyle represents the approach to merge commits into base branch.
|
||||
type MergeStyle string
|
||||
|
||||
const (
|
||||
MERGE_STYLE_REGULAR MergeStyle = "create_merge_commit"
|
||||
MERGE_STYLE_REBASE MergeStyle = "rebase_before_merging"
|
||||
)
|
||||
|
||||
// Merge merges pull request to base repository.
|
||||
// FIXME: add repoWorkingPull make sure two merges does not happen at same time.
|
||||
func (pr *PullRequest) Merge(doer *User, baseGitRepo *git.Repository) (err error) {
|
||||
func (pr *PullRequest) Merge(doer *User, baseGitRepo *git.Repository, mergeStyle MergeStyle) (err error) {
|
||||
defer func() {
|
||||
go HookQueue.Add(pr.BaseRepo.ID)
|
||||
go AddTestPullRequestTask(doer, pr.BaseRepo.ID, pr.BaseBranch, false)
|
||||
}()
|
||||
|
||||
sess := x.NewSession()
|
||||
defer sessionRelease(sess)
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -207,11 +215,13 @@ func (pr *PullRequest) Merge(doer *User, baseGitRepo *git.Repository) (err error
|
||||
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),
|
||||
@@ -219,42 +229,89 @@ func (pr *PullRequest) Merge(doer *User, baseGitRepo *git.Repository) (err error
|
||||
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)
|
||||
}
|
||||
|
||||
// Merge commits.
|
||||
// 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)
|
||||
}
|
||||
|
||||
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 {
|
||||
return fmt.Errorf("git merge --no-ff --no-commit [%s]: %v - %s", tmpBasePath, err, 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
|
||||
}
|
||||
|
||||
sig := doer.NewGitSig()
|
||||
if _, stderr, err = process.ExecDir(-1, tmpBasePath,
|
||||
fmt.Sprintf("PullRequest.Merge (git merge): %s", tmpBasePath),
|
||||
"git", "commit", fmt.Sprintf("--author='%s <%s>'", sig.Name, sig.Email),
|
||||
"-m", fmt.Sprintf("Merge branch '%s' of %s/%s into %s", pr.HeadBranch, pr.HeadUserName, pr.HeadRepo.Name, pr.BaseBranch)); err != nil {
|
||||
return fmt.Errorf("git commit [%s]: %v - %s", tmpBasePath, err, stderr)
|
||||
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", 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),
|
||||
"git", "commit", fmt.Sprintf("--author='%s <%s>'", sig.Name, sig.Email),
|
||||
"-m", fmt.Sprintf("Merge branch '%s' of %s/%s into %s", pr.HeadBranch, pr.HeadUserName, pr.HeadRepo.Name, pr.BaseBranch)); err != nil {
|
||||
return fmt.Errorf("git commit [%s]: %v - %s", tmpBasePath, err, stderr)
|
||||
}
|
||||
|
||||
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", "--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", baseGitRepo.Path, pr.BaseBranch); err != nil {
|
||||
@@ -303,7 +360,6 @@ func (pr *PullRequest) Merge(doer *User, baseGitRepo *git.Repository) (err error
|
||||
return nil
|
||||
}
|
||||
|
||||
// TODO: when squash commits, no need to append merge commit.
|
||||
// It is possible that head branch is not fully sync with base branch for merge commits,
|
||||
// so we need to get latest head commit and append merge commit manully
|
||||
// to avoid strange diff commits produced.
|
||||
@@ -312,7 +368,9 @@ func (pr *PullRequest) Merge(doer *User, baseGitRepo *git.Repository) (err error
|
||||
log.Error(2, "GetBranchCommit: %v", err)
|
||||
return nil
|
||||
}
|
||||
l.PushFront(mergeCommit)
|
||||
if mergeStyle == MERGE_STYLE_REGULAR {
|
||||
l.PushFront(mergeCommit)
|
||||
}
|
||||
|
||||
commits, err := ListToPushCommits(l).ToApiPayloadCommits(pr.BaseRepo.RepoPath(), pr.BaseRepo.HTMLURL())
|
||||
if err != nil {
|
||||
@@ -323,7 +381,7 @@ func (pr *PullRequest) Merge(doer *User, baseGitRepo *git.Repository) (err error
|
||||
p := &api.PushPayload{
|
||||
Ref: git.BRANCH_PREFIX + pr.BaseBranch,
|
||||
Before: pr.MergeBase,
|
||||
After: pr.MergedCommitID,
|
||||
After: mergeCommit.ID.String(),
|
||||
CompareURL: setting.AppURL + pr.BaseRepo.ComposeCompareURL(pr.MergeBase, pr.MergedCommitID),
|
||||
Commits: commits,
|
||||
Repo: pr.BaseRepo.APIFormat(nil),
|
||||
@@ -367,10 +425,16 @@ func (pr *PullRequest) testPatch() (err error) {
|
||||
return fmt.Errorf("UpdateLocalCopy [%d]: %v", pr.BaseRepoID, err)
|
||||
}
|
||||
|
||||
args := []string{"apply", "--check"}
|
||||
if pr.BaseRepo.PullsIgnoreWhitespace {
|
||||
args = append(args, "--ignore-whitespace")
|
||||
}
|
||||
args = append(args, patchPath)
|
||||
|
||||
pr.Status = PULL_REQUEST_STATUS_CHECKING
|
||||
_, stderr, err := process.ExecDir(-1, pr.BaseRepo.LocalCopyPath(),
|
||||
fmt.Sprintf("testPatch (git apply --check): %d", pr.BaseRepo.ID),
|
||||
"git", "apply", "--check", patchPath)
|
||||
"git", args...)
|
||||
if err != nil {
|
||||
log.Trace("PullRequest[%d].testPatch (apply): has conflit\n%s", pr.ID, stderr)
|
||||
pr.Status = PULL_REQUEST_STATUS_CONFLICT
|
||||
@@ -382,7 +446,7 @@ func (pr *PullRequest) testPatch() (err error) {
|
||||
// NewPullRequest creates new pull request with labels for repository.
|
||||
func NewPullRequest(repo *Repository, pull *Issue, labelIDs []int64, uuids []string, pr *PullRequest, patch []byte) (err error) {
|
||||
sess := x.NewSession()
|
||||
defer sessionRelease(sess)
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -175,7 +175,7 @@ func NewRelease(gitRepo *git.Repository, r *Release, uuids []string) error {
|
||||
r.LowerTagName = strings.ToLower(r.TagName)
|
||||
|
||||
sess := x.NewSession()
|
||||
defer sessionRelease(sess)
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -289,7 +289,7 @@ func UpdateRelease(doer *User, gitRepo *git.Repository, r *Release, isPublish bo
|
||||
r.PublisherID = doer.ID
|
||||
|
||||
sess := x.NewSession()
|
||||
defer sessionRelease(sess)
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -184,6 +184,8 @@ type Repository struct {
|
||||
ExternalTrackerStyle string
|
||||
ExternalMetas map[string]string `xorm:"-"`
|
||||
EnablePulls bool `xorm:"NOT NULL DEFAULT true"`
|
||||
PullsIgnoreWhitespace bool `xorm:"NOT NULL DEFAULT false"`
|
||||
PullsAllowRebase bool `xorm:"NOT NULL DEFAULT false"`
|
||||
|
||||
IsFork bool `xorm:"NOT NULL DEFAULT false"`
|
||||
ForkID int64
|
||||
@@ -282,8 +284,10 @@ func (repo *Repository) HTMLURL() string {
|
||||
return setting.AppURL + repo.FullName()
|
||||
}
|
||||
|
||||
// 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,
|
||||
@@ -310,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
|
||||
}
|
||||
@@ -1043,7 +1051,7 @@ func CreateRepository(doer, owner *User, opts CreateRepoOptions) (_ *Repository,
|
||||
}
|
||||
|
||||
sess := x.NewSession()
|
||||
defer sessionRelease(sess)
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -1172,7 +1180,7 @@ func TransferOwnership(doer *User, newOwnerName string, repo *Repository) error
|
||||
}
|
||||
|
||||
sess := x.NewSession()
|
||||
defer sessionRelease(sess)
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return fmt.Errorf("sess.Begin: %v", err)
|
||||
}
|
||||
@@ -1339,14 +1347,14 @@ func updateRepository(e Engine, repo *Repository, visibilityChanged bool) (err e
|
||||
return fmt.Errorf("getOwner: %v", err)
|
||||
}
|
||||
if repo.Owner.IsOrganization() {
|
||||
// Organization repository need to recalculate access table when visivility is changed.
|
||||
// Organization repository need to recalculate access table when visivility is changed
|
||||
if err = repo.recalculateTeamAccesses(e, 0); err != nil {
|
||||
return fmt.Errorf("recalculateTeamAccesses: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
// Create/Remove git-daemon-export-ok for git-daemon...
|
||||
daemonExportFile := path.Join(repo.RepoPath(), `git-daemon-export-ok`)
|
||||
// Create/Remove git-daemon-export-ok for git-daemon
|
||||
daemonExportFile := path.Join(repo.RepoPath(), "git-daemon-export-ok")
|
||||
if repo.IsPrivate && com.IsExist(daemonExportFile) {
|
||||
if err = os.Remove(daemonExportFile); err != nil {
|
||||
log.Error(4, "Failed to remove %s: %v", daemonExportFile, err)
|
||||
@@ -1369,6 +1377,11 @@ func updateRepository(e Engine, repo *Repository, visibilityChanged bool) (err e
|
||||
return fmt.Errorf("updateRepository[%d]: %v", forkRepos[i].ID, err)
|
||||
}
|
||||
}
|
||||
|
||||
// Change visibility of generated actions
|
||||
if _, err = e.Where("repo_id = ?", repo.ID).Cols("is_private").Update(&Action{IsPrivate: repo.IsPrivate}); err != nil {
|
||||
return fmt.Errorf("change action visibility of repository: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
@@ -1376,7 +1389,7 @@ func updateRepository(e Engine, repo *Repository, visibilityChanged bool) (err e
|
||||
|
||||
func UpdateRepository(repo *Repository, visibilityChanged bool) (err error) {
|
||||
sess := x.NewSession()
|
||||
defer sessionRelease(sess)
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -1410,7 +1423,7 @@ func DeleteRepository(uid, repoID int64) error {
|
||||
}
|
||||
|
||||
sess := x.NewSession()
|
||||
defer sessionRelease(sess)
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -1627,7 +1640,7 @@ type SearchRepoOptions struct {
|
||||
|
||||
// SearchRepositoryByName takes keyword and part of repository name to search,
|
||||
// it returns results in given range and number of total results.
|
||||
func SearchRepositoryByName(opts *SearchRepoOptions) (repos []*Repository, _ int64, _ error) {
|
||||
func SearchRepositoryByName(opts *SearchRepoOptions) (repos []*Repository, count int64, err error) {
|
||||
if opts.Page <= 0 {
|
||||
opts.Page = 1
|
||||
}
|
||||
@@ -1652,9 +1665,8 @@ func SearchRepositoryByName(opts *SearchRepoOptions) (repos []*Repository, _ int
|
||||
sess.And("repo.owner_id = ?", opts.OwnerID)
|
||||
}
|
||||
|
||||
var countSess xorm.Session
|
||||
countSess = *sess
|
||||
count, err := countSess.Count(new(Repository))
|
||||
// We need all fields (repo.*) in final list but only ID (repo.id) is good enough for counting.
|
||||
count, err = sess.Clone().Distinct("repo.id").Count(new(Repository))
|
||||
if err != nil {
|
||||
return nil, 0, fmt.Errorf("Count: %v", err)
|
||||
}
|
||||
@@ -2250,10 +2262,15 @@ func (repo *Repository) GetStargazers(page int) ([]*User, error) {
|
||||
|
||||
// HasForkedRepo checks if given user has already forked a repository.
|
||||
// When user has already forked, it returns true along with the repository.
|
||||
func HasForkedRepo(ownerID, repoID int64) (*Repository, bool) {
|
||||
func HasForkedRepo(ownerID, repoID int64) (*Repository, bool, error) {
|
||||
repo := new(Repository)
|
||||
has, _ := x.Where("owner_id = ? AND fork_id = ?", ownerID, repoID).Get(repo)
|
||||
return repo, has
|
||||
has, err := x.Where("owner_id = ? AND fork_id = ?", ownerID, repoID).Get(repo)
|
||||
if err != nil {
|
||||
return nil, false, err
|
||||
} else if !has {
|
||||
return nil, false, nil
|
||||
}
|
||||
return repo, true, repo.LoadAttributes()
|
||||
}
|
||||
|
||||
// ForkRepository creates a fork of target repository under another user domain.
|
||||
@@ -2271,7 +2288,7 @@ func ForkRepository(doer, owner *User, baseRepo *Repository, name, desc string)
|
||||
}
|
||||
|
||||
sess := x.NewSession()
|
||||
defer sessionRelease(sess)
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -2322,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
|
||||
}
|
||||
@@ -119,7 +120,7 @@ func IsBranchOfRepoRequirePullRequest(repoID int64, name string) bool {
|
||||
// If ID is 0, it creates a new record. Otherwise, updates existing record.
|
||||
func UpdateProtectBranch(protectBranch *ProtectBranch) (err error) {
|
||||
sess := x.NewSession()
|
||||
defer sessionRelease(sess)
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -228,7 +229,7 @@ func UpdateOrgProtectBranch(repo *Repository, protectBranch *ProtectBranch, whit
|
||||
}
|
||||
|
||||
sess := x.NewSession()
|
||||
defer sessionRelease(sess)
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -67,7 +67,7 @@ func (repo *Repository) AddCollaborator(u *User) error {
|
||||
collaboration.Mode = ACCESS_MODE_WRITE
|
||||
|
||||
sess := x.NewSession()
|
||||
defer sessionRelease(sess)
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -165,7 +165,7 @@ func (repo *Repository) ChangeCollaborationAccessMode(userID int64, mode AccessM
|
||||
}
|
||||
|
||||
sess := x.NewSession()
|
||||
defer sessionRelease(sess)
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -207,7 +207,7 @@ func DeleteCollaboration(repo *Repository, userID int64) (err error) {
|
||||
}
|
||||
|
||||
sess := x.NewSession()
|
||||
defer sessionRelease(sess)
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -21,6 +21,7 @@ import (
|
||||
|
||||
git "github.com/gogits/git-module"
|
||||
|
||||
"github.com/gogits/gogs/models/errors"
|
||||
"github.com/gogits/gogs/pkg/process"
|
||||
"github.com/gogits/gogs/pkg/setting"
|
||||
)
|
||||
@@ -92,13 +93,29 @@ func (repo *Repository) UpdateRepoFile(doer *User, opts UpdateRepoFileOptions) (
|
||||
return fmt.Errorf("UpdateLocalCopyBranch [branch: %s]: %v", opts.OldBranch, err)
|
||||
}
|
||||
|
||||
repoPath := repo.RepoPath()
|
||||
localPath := repo.LocalCopyPath()
|
||||
|
||||
if opts.OldBranch != opts.NewBranch {
|
||||
// Directly return error if new branch already exists in the server
|
||||
if git.IsBranchExist(repoPath, opts.NewBranch) {
|
||||
return errors.BranchAlreadyExists{opts.NewBranch}
|
||||
}
|
||||
|
||||
// Otherwise, delete branch from local copy in case out of sync
|
||||
if git.IsBranchExist(localPath, opts.NewBranch) {
|
||||
if err = git.DeleteBranch(localPath, opts.NewBranch, git.DeleteBranchOptions{
|
||||
Force: true,
|
||||
}); err != nil {
|
||||
return fmt.Errorf("DeleteBranch [name: %s]: %v", opts.NewBranch, err)
|
||||
}
|
||||
}
|
||||
|
||||
if err := repo.CheckoutNewBranch(opts.OldBranch, opts.NewBranch); err != nil {
|
||||
return fmt.Errorf("CheckoutNewBranch [old_branch: %s, new_branch: %s]: %v", opts.OldBranch, opts.NewBranch, err)
|
||||
}
|
||||
}
|
||||
|
||||
localPath := repo.LocalCopyPath()
|
||||
oldFilePath := path.Join(localPath, opts.OldTreeName)
|
||||
filePath := path.Join(localPath, opts.NewTreeName)
|
||||
os.MkdirAll(path.Dir(filePath), os.ModePerm)
|
||||
@@ -380,7 +397,7 @@ func DeleteUploads(uploads ...*Upload) (err error) {
|
||||
}
|
||||
|
||||
sess := x.NewSession()
|
||||
defer sessionRelease(sess)
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -194,11 +194,6 @@ func writeTmpKeyFile(content string) (string, error) {
|
||||
|
||||
// SSHKeyGenParsePublicKey extracts key type and length using ssh-keygen.
|
||||
func SSHKeyGenParsePublicKey(key string) (string, int, error) {
|
||||
// The ssh-keygen in Windows does not print key type, so no need go further.
|
||||
if setting.IsWindows {
|
||||
return "", 0, nil
|
||||
}
|
||||
|
||||
tmpName, err := writeTmpKeyFile(key)
|
||||
if err != nil {
|
||||
return "", 0, fmt.Errorf("writeTmpKeyFile: %v", err)
|
||||
@@ -294,7 +289,7 @@ func CheckPublicKeyString(content string) (_ string, err error) {
|
||||
return "", errors.New("only a single line with a single key please")
|
||||
}
|
||||
|
||||
// remove any unnecessary whitespace now
|
||||
// Remove any unnecessary whitespace
|
||||
content = strings.TrimSpace(content)
|
||||
|
||||
if !setting.SSH.MinimumKeySizeCheck {
|
||||
@@ -422,7 +417,7 @@ func AddPublicKey(ownerID int64, name, content string) (*PublicKey, error) {
|
||||
}
|
||||
|
||||
sess := x.NewSession()
|
||||
defer sessionRelease(sess)
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -504,7 +499,7 @@ func DeletePublicKey(doer *User, id int64) (err error) {
|
||||
}
|
||||
|
||||
sess := x.NewSession()
|
||||
defer sessionRelease(sess)
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -517,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"
|
||||
@@ -668,7 +665,7 @@ func AddDeployKey(repoID int64, name, content string) (*DeployKey, error) {
|
||||
}
|
||||
|
||||
sess := x.NewSession()
|
||||
defer sessionRelease(sess)
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -746,7 +743,7 @@ func DeleteDeployKey(doer *User, id int64) error {
|
||||
}
|
||||
|
||||
sess := x.NewSession()
|
||||
defer sessionRelease(sess)
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -137,7 +137,7 @@ func (u *User) IsLocal() bool {
|
||||
|
||||
// HasForkedRepo checks if user has already forked a repository with given ID.
|
||||
func (u *User) HasForkedRepo(repoID int64) bool {
|
||||
_, has := HasForkedRepo(u.ID, repoID)
|
||||
_, has, _ := HasForkedRepo(u.ID, repoID)
|
||||
return has
|
||||
}
|
||||
|
||||
@@ -335,7 +335,7 @@ func (u *User) UploadAvatar(data []byte) error {
|
||||
m := resize.Resize(avatar.AVATAR_SIZE, avatar.AVATAR_SIZE, img, resize.NearestNeighbor)
|
||||
|
||||
sess := x.NewSession()
|
||||
defer sessionRelease(sess)
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -492,7 +492,7 @@ func GetUserSalt() (string, error) {
|
||||
return tool.RandomString(10)
|
||||
}
|
||||
|
||||
// NewGhostUser creates and returns a fake user for someone has deleted his/her account.
|
||||
// NewGhostUser creates and returns a fake user for someone who has deleted his/her account.
|
||||
func NewGhostUser() *User {
|
||||
return &User{
|
||||
ID: -1,
|
||||
@@ -502,7 +502,7 @@ func NewGhostUser() *User {
|
||||
}
|
||||
|
||||
var (
|
||||
reservedUsernames = []string{"assets", "css", "img", "js", "less", "plugins", "debug", "raw", "install", "api", "avatar", "user", "org", "help", "stars", "issues", "pulls", "commits", "repo", "template", "admin", "new", ".", ".."}
|
||||
reservedUsernames = []string{"explore", "create", "assets", "css", "img", "js", "less", "plugins", "debug", "raw", "install", "api", "avatar", "user", "org", "help", "stars", "issues", "pulls", "commits", "repo", "template", "admin", "new", ".", ".."}
|
||||
reservedUserPatterns = []string{"*.keys"}
|
||||
)
|
||||
|
||||
@@ -569,7 +569,7 @@ func CreateUser(u *User) (err error) {
|
||||
u.MaxRepoCreation = -1
|
||||
|
||||
sess := x.NewSession()
|
||||
defer sessionRelease(sess)
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -839,7 +839,7 @@ func deleteUser(e *xorm.Session, u *User) error {
|
||||
// but issues/comments/pulls will be kept and shown as someone has been deleted.
|
||||
func DeleteUser(u *User) (err error) {
|
||||
sess := x.NewSession()
|
||||
defer sessionRelease(sess)
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -853,7 +853,7 @@ func DeleteUser(u *User) (err error) {
|
||||
return err
|
||||
}
|
||||
|
||||
return RewriteAllPublicKeys()
|
||||
return RewriteAuthorizedKeys()
|
||||
}
|
||||
|
||||
// DeleteInactivateUsers deletes all inactivate users and email addresses.
|
||||
@@ -1104,7 +1104,7 @@ func FollowUser(userID, followID int64) (err error) {
|
||||
}
|
||||
|
||||
sess := x.NewSession()
|
||||
defer sessionRelease(sess)
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -1130,7 +1130,7 @@ func UnfollowUser(userID, followID int64) (err error) {
|
||||
}
|
||||
|
||||
sess := x.NewSession()
|
||||
defer sessionRelease(sess)
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -126,7 +126,7 @@ func (email *EmailAddress) Activate() error {
|
||||
}
|
||||
|
||||
sess := x.NewSession()
|
||||
defer sessionRelease(sess)
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -188,7 +188,7 @@ func MakeEmailPrimary(email *EmailAddress) error {
|
||||
}
|
||||
|
||||
sess := x.NewSession()
|
||||
defer sessionRelease(sess)
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -294,7 +294,7 @@ func UpdateWebhook(w *Webhook) error {
|
||||
// ID must be specified and do not assign unnecessary fields.
|
||||
func deleteWebhook(bean *Webhook) (err error) {
|
||||
sess := x.NewSession()
|
||||
defer sessionRelease(sess)
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -349,12 +349,14 @@ const (
|
||||
GOGS HookTaskType = iota + 1
|
||||
SLACK
|
||||
DISCORD
|
||||
DINGTALK
|
||||
)
|
||||
|
||||
var hookTaskTypes = map[string]HookTaskType{
|
||||
"gogs": GOGS,
|
||||
"slack": SLACK,
|
||||
"discord": DISCORD,
|
||||
"gogs": GOGS,
|
||||
"slack": SLACK,
|
||||
"discord": DISCORD,
|
||||
"dingtalk": DINGTALK,
|
||||
}
|
||||
|
||||
// ToHookTaskType returns HookTaskType by given name.
|
||||
@@ -370,6 +372,8 @@ func (t HookTaskType) Name() string {
|
||||
return "slack"
|
||||
case DISCORD:
|
||||
return "discord"
|
||||
case DINGTALK:
|
||||
return "dingtalk"
|
||||
}
|
||||
return ""
|
||||
}
|
||||
@@ -571,6 +575,11 @@ func prepareHookTasks(e Engine, repo *Repository, event HookEventType, p api.Pay
|
||||
if err != nil {
|
||||
return fmt.Errorf("GetDiscordPayload: %v", err)
|
||||
}
|
||||
case DINGTALK:
|
||||
payloader, err = GetDingtalkPayload(p, event)
|
||||
if err != nil {
|
||||
return fmt.Errorf("GetDingtalkPayload: %v", err)
|
||||
}
|
||||
default:
|
||||
payloader = p
|
||||
}
|
||||
|
||||
260
models/webhook_dingtalk.go
Normal file
260
models/webhook_dingtalk.go
Normal file
@@ -0,0 +1,260 @@
|
||||
// Copyright 2017 The Gogs Authors. All rights reserved.
|
||||
// Use of this source code is governed by a MIT-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
package models
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
"github.com/gogits/git-module"
|
||||
api "github.com/gogits/go-gogs-client"
|
||||
)
|
||||
|
||||
const (
|
||||
DingtalkNotificationTitle = "Gogs Notification"
|
||||
)
|
||||
|
||||
//Refer: https://open-doc.dingtalk.com/docs/doc.htm?treeId=257&articleId=105735&docType=1
|
||||
type DingtalkActionCard struct {
|
||||
Title string `json:"title"`
|
||||
Text string `json:"text"`
|
||||
HideAvatar string `json:"hideAvatar"`
|
||||
BtnOrientation string `json:"btnOrientation"`
|
||||
SingleTitle string `json:"singleTitle"`
|
||||
SingleURL string `json:"singleURL"`
|
||||
}
|
||||
|
||||
//Refer: https://open-doc.dingtalk.com/docs/doc.htm?treeId=257&articleId=105735&docType=1
|
||||
type DingtalkAtObject struct {
|
||||
AtMobiles []string `json:"atMobiles"`
|
||||
IsAtAll bool `json:"isAtAll"`
|
||||
}
|
||||
|
||||
//Refer: https://open-doc.dingtalk.com/docs/doc.htm?treeId=257&articleId=105735&docType=1
|
||||
type DingtalkPayload struct {
|
||||
MsgType string `json:"msgtype"`
|
||||
At DingtalkAtObject `json:"at"`
|
||||
ActionCard DingtalkActionCard `json:"actionCard"`
|
||||
}
|
||||
|
||||
func (p *DingtalkPayload) JSONPayload() ([]byte, error) {
|
||||
data, err := json.MarshalIndent(p, "", " ")
|
||||
if err != nil {
|
||||
return []byte{}, err
|
||||
}
|
||||
return data, nil
|
||||
}
|
||||
|
||||
func NewDingtalkActionCard(singleTitle, singleURL string) DingtalkActionCard {
|
||||
return DingtalkActionCard{
|
||||
Title: DingtalkNotificationTitle,
|
||||
SingleURL: singleURL,
|
||||
SingleTitle: singleTitle,
|
||||
}
|
||||
}
|
||||
|
||||
//TODO: add content
|
||||
func GetDingtalkPayload(p api.Payloader, event HookEventType) (payload *DingtalkPayload, err error) {
|
||||
switch event {
|
||||
case HOOK_EVENT_CREATE:
|
||||
payload, err = getDingtalkCreatePayload(p.(*api.CreatePayload))
|
||||
case HOOK_EVENT_DELETE:
|
||||
payload, err = getDingtalkDeletePayload(p.(*api.DeletePayload))
|
||||
case HOOK_EVENT_FORK:
|
||||
payload, err = getDingtalkForkPayload(p.(*api.ForkPayload))
|
||||
case HOOK_EVENT_PUSH:
|
||||
payload, err = getDingtalkPushPayload(p.(*api.PushPayload))
|
||||
case HOOK_EVENT_ISSUES:
|
||||
payload, err = getDingtalkIssuesPayload(p.(*api.IssuesPayload))
|
||||
case HOOK_EVENT_ISSUE_COMMENT:
|
||||
payload, err = getDingtalkIssueCommentPayload(p.(*api.IssueCommentPayload))
|
||||
case HOOK_EVENT_PULL_REQUEST:
|
||||
payload, err = getDingtalkPullRequestPayload(p.(*api.PullRequestPayload))
|
||||
case HOOK_EVENT_RELEASE:
|
||||
payload, err = getDingtalkReleasePayload(p.(*api.ReleasePayload))
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("event '%s': %v", event, err)
|
||||
}
|
||||
|
||||
return payload, nil
|
||||
}
|
||||
|
||||
func getDingtalkCreatePayload(p *api.CreatePayload) (*DingtalkPayload, error) {
|
||||
refName := git.RefEndName(p.Ref)
|
||||
refType := strings.Title(p.RefType)
|
||||
|
||||
actionCard := NewDingtalkActionCard("View "+refType, p.Repo.HTMLURL+"/src/"+refName)
|
||||
|
||||
actionCard.Text += "# New " + refType + " Create Event"
|
||||
actionCard.Text += "\n- Repo: **" + MarkdownLinkFormatter(p.Repo.HTMLURL, p.Repo.Name) + "**"
|
||||
actionCard.Text += "\n- New " + refType + ": **" + MarkdownLinkFormatter(p.Repo.HTMLURL+"/src/"+refName, refName) + "**"
|
||||
|
||||
return &DingtalkPayload{MsgType: "actionCard", ActionCard: actionCard}, nil
|
||||
}
|
||||
|
||||
func getDingtalkDeletePayload(p *api.DeletePayload) (*DingtalkPayload, error) {
|
||||
refName := git.RefEndName(p.Ref)
|
||||
refType := strings.Title(p.RefType)
|
||||
|
||||
actionCard := NewDingtalkActionCard("View Repo", p.Repo.HTMLURL)
|
||||
|
||||
actionCard.Text += "# " + refType + " Delete Event"
|
||||
actionCard.Text += "\n- Repo: **" + MarkdownLinkFormatter(p.Repo.HTMLURL, p.Repo.Name) + "**"
|
||||
actionCard.Text += "\n- " + refType + ": **" + refName + "**"
|
||||
|
||||
return &DingtalkPayload{MsgType: "actionCard", ActionCard: actionCard}, nil
|
||||
}
|
||||
|
||||
func getDingtalkForkPayload(p *api.ForkPayload) (*DingtalkPayload, error) {
|
||||
actionCard := NewDingtalkActionCard("View Forkee", p.Forkee.HTMLURL)
|
||||
|
||||
actionCard.Text += "# Repo Fork Event"
|
||||
actionCard.Text += "\n- From Repo: **" + MarkdownLinkFormatter(p.Repo.HTMLURL, p.Repo.Name) + "**"
|
||||
actionCard.Text += "\n- To Repo: **" + MarkdownLinkFormatter(p.Forkee.HTMLURL, p.Forkee.FullName) + "**"
|
||||
|
||||
return &DingtalkPayload{MsgType: "actionCard", ActionCard: actionCard}, nil
|
||||
}
|
||||
|
||||
func getDingtalkPushPayload(p *api.PushPayload) (*DingtalkPayload, error) {
|
||||
refName := git.RefEndName(p.Ref)
|
||||
|
||||
pusher := p.Pusher.FullName
|
||||
if pusher == "" {
|
||||
pusher = p.Pusher.UserName
|
||||
}
|
||||
|
||||
var detail string
|
||||
for i, commit := range p.Commits {
|
||||
msg := strings.Split(commit.Message, "\n")[0]
|
||||
commitLink := MarkdownLinkFormatter(commit.URL, commit.ID[:7])
|
||||
detail += fmt.Sprintf("> %d. %s %s - %s\n", i, commitLink, commit.Author.Name, msg)
|
||||
}
|
||||
|
||||
actionCard := NewDingtalkActionCard("View Changes", p.CompareURL)
|
||||
|
||||
actionCard.Text += "# Repo Push Event"
|
||||
actionCard.Text += "\n- Repo: **" + MarkdownLinkFormatter(p.Repo.HTMLURL, p.Repo.Name) + "**"
|
||||
actionCard.Text += "\n- Ref: **" + MarkdownLinkFormatter(p.Repo.HTMLURL+"/src/"+refName, refName) + "**"
|
||||
actionCard.Text += "\n- Pusher: **" + pusher + "**"
|
||||
actionCard.Text += "\n## " + fmt.Sprintf("Total %d commits(s)", len(p.Commits))
|
||||
actionCard.Text += "\n" + detail
|
||||
|
||||
return &DingtalkPayload{MsgType: "actionCard", ActionCard: actionCard}, nil
|
||||
}
|
||||
|
||||
func getDingtalkIssuesPayload(p *api.IssuesPayload) (*DingtalkPayload, error) {
|
||||
issueName := fmt.Sprintf("#%d %s", p.Index, p.Issue.Title)
|
||||
issueURL := fmt.Sprintf("%s/issues/%d", p.Repository.HTMLURL, p.Index)
|
||||
|
||||
actionCard := NewDingtalkActionCard("View Issue", issueURL)
|
||||
|
||||
actionCard.Text += "# Issue Event " + strings.Title(string(p.Action))
|
||||
actionCard.Text += "\n- Issue: **" + MarkdownLinkFormatter(issueURL, issueName) + "**"
|
||||
|
||||
if p.Action == api.HOOK_ISSUE_ASSIGNED {
|
||||
actionCard.Text += "\n- New Assignee: **" + p.Issue.Assignee.UserName + "**"
|
||||
} else if p.Action == api.HOOK_ISSUE_MILESTONED {
|
||||
actionCard.Text += "\n- New Milestone: **" + p.Issue.Milestone.Title + "**"
|
||||
} else if p.Action == api.HOOK_ISSUE_LABEL_UPDATED {
|
||||
if len(p.Issue.Labels) > 0 {
|
||||
labels := make([]string, len(p.Issue.Labels))
|
||||
for i, label := range p.Issue.Labels {
|
||||
labels[i] = "**" + label.Name + "**"
|
||||
}
|
||||
actionCard.Text += "\n- Labels: " + strings.Join(labels, ",")
|
||||
} else {
|
||||
actionCard.Text += "\n- Labels: **empty**"
|
||||
}
|
||||
}
|
||||
|
||||
if p.Issue.Body != "" {
|
||||
actionCard.Text += "\n> " + p.Issue.Body
|
||||
}
|
||||
|
||||
return &DingtalkPayload{MsgType: "actionCard", ActionCard: actionCard}, nil
|
||||
}
|
||||
|
||||
func getDingtalkIssueCommentPayload(p *api.IssueCommentPayload) (*DingtalkPayload, error) {
|
||||
issueName := fmt.Sprintf("#%d %s", p.Issue.Index, p.Issue.Title)
|
||||
commentURL := fmt.Sprintf("%s/issues/%d", p.Repository.HTMLURL, p.Issue.Index)
|
||||
if p.Action != api.HOOK_ISSUE_COMMENT_DELETED {
|
||||
commentURL += "#" + CommentHashTag(p.Comment.ID)
|
||||
}
|
||||
|
||||
issueURL := fmt.Sprintf("%s/issues/%d", p.Repository.HTMLURL, p.Issue.Index)
|
||||
|
||||
actionCard := NewDingtalkActionCard("View Issue Comment", commentURL)
|
||||
|
||||
actionCard.Text += "# Issue Comment " + strings.Title(string(p.Action))
|
||||
actionCard.Text += "\n- Issue: " + MarkdownLinkFormatter(issueURL, issueName)
|
||||
actionCard.Text += "\n- Comment content: "
|
||||
actionCard.Text += "\n> " + p.Comment.Body
|
||||
|
||||
return &DingtalkPayload{MsgType: "actionCard", ActionCard: actionCard}, nil
|
||||
}
|
||||
|
||||
func getDingtalkPullRequestPayload(p *api.PullRequestPayload) (*DingtalkPayload, error) {
|
||||
title := "# Pull Request " + strings.Title(string(p.Action))
|
||||
if p.Action == api.HOOK_ISSUE_CLOSED && p.PullRequest.HasMerged {
|
||||
title = "# Pull Request Merged"
|
||||
}
|
||||
|
||||
pullRequestURL := fmt.Sprintf("%s/pulls/%d", p.Repository.HTMLURL, p.Index)
|
||||
|
||||
content := "- PR: " + MarkdownLinkFormatter(pullRequestURL, fmt.Sprintf("#%d %s", p.Index, p.PullRequest.Title))
|
||||
if p.Action == api.HOOK_ISSUE_ASSIGNED {
|
||||
content += "\n- New Assignee: **" + p.PullRequest.Assignee.UserName + "**"
|
||||
} else if p.Action == api.HOOK_ISSUE_MILESTONED {
|
||||
content += "\n- New Milestone: *" + p.PullRequest.Milestone.Title + "*"
|
||||
} else if p.Action == api.HOOK_ISSUE_LABEL_UPDATED {
|
||||
labels := make([]string, len(p.PullRequest.Labels))
|
||||
for i, label := range p.PullRequest.Labels {
|
||||
labels[i] = "**" + label.Name + "**"
|
||||
}
|
||||
content += "\n- New Labels: " + strings.Join(labels, ",")
|
||||
}
|
||||
|
||||
actionCard := NewDingtalkActionCard("View Pull Request", pullRequestURL)
|
||||
actionCard.Text += title + "\n" + content
|
||||
|
||||
if p.Action == api.HOOK_ISSUE_OPENED || p.Action == api.HOOK_ISSUE_EDITED {
|
||||
actionCard.Text += "\n> " + p.PullRequest.Body
|
||||
}
|
||||
|
||||
return &DingtalkPayload{MsgType: "actionCard", ActionCard: actionCard}, nil
|
||||
}
|
||||
|
||||
func getDingtalkReleasePayload(p *api.ReleasePayload) (*DingtalkPayload, error) {
|
||||
releaseURL := p.Repository.HTMLURL + "/src/" + p.Release.TagName
|
||||
|
||||
author := p.Release.Author.FullName
|
||||
if author == "" {
|
||||
author = p.Release.Author.UserName
|
||||
}
|
||||
|
||||
actionCard := NewDingtalkActionCard("View Release", releaseURL)
|
||||
|
||||
actionCard.Text += "# New Release Published"
|
||||
actionCard.Text += "\n- Repo: " + MarkdownLinkFormatter(p.Repository.HTMLURL, p.Repository.Name)
|
||||
actionCard.Text += "\n- Tag: " + MarkdownLinkFormatter(releaseURL, p.Release.TagName)
|
||||
actionCard.Text += "\n- Author: " + author
|
||||
actionCard.Text += fmt.Sprintf("\n- Draft?: %t", p.Release.Draft)
|
||||
actionCard.Text += fmt.Sprintf("\n- Pre Release?: %t", p.Release.Prerelease)
|
||||
actionCard.Text += "\n- Title: " + p.Release.Name
|
||||
|
||||
if p.Release.Body != "" {
|
||||
actionCard.Text += "\n- Note: " + p.Release.Body
|
||||
}
|
||||
|
||||
return &DingtalkPayload{MsgType: "actionCard", ActionCard: actionCard}, nil
|
||||
}
|
||||
|
||||
//Format link addr and title into markdown style
|
||||
func MarkdownLinkFormatter(link, text string) string {
|
||||
return "[" + text + "](" + link + ")"
|
||||
}
|
||||
@@ -96,13 +96,15 @@ func (ls *Source) sanitizedGroupDN(groupDn string) (string, bool) {
|
||||
|
||||
func (ls *Source) findUserDN(l *ldap.Conn, name string) (string, bool) {
|
||||
log.Trace("Search for LDAP user: %s", name)
|
||||
if ls.BindDN != "" && ls.BindPassword != "" {
|
||||
err := l.Bind(ls.BindDN, ls.BindPassword)
|
||||
if len(ls.BindDN) > 0 && len(ls.BindPassword) > 0 {
|
||||
// Replace placeholders with username
|
||||
bindDN := strings.Replace(ls.BindDN, "%s", name, -1)
|
||||
err := l.Bind(bindDN, ls.BindPassword)
|
||||
if err != nil {
|
||||
log.Trace("LDAP: Failed to bind as BindDN '%s': %v", ls.BindDN, err)
|
||||
log.Trace("LDAP: Failed to bind as BindDN '%s': %v", bindDN, err)
|
||||
return "", false
|
||||
}
|
||||
log.Trace("LDAP: Bound as BindDN: %s", ls.BindDN)
|
||||
log.Trace("LDAP: Bound as BindDN: %s", bindDN)
|
||||
} else {
|
||||
log.Trace("LDAP: Proceeding with anonymous LDAP search")
|
||||
}
|
||||
|
||||
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}">
|
||||
@@ -255,7 +255,7 @@ func Contexter() macaron.Handler {
|
||||
</body>
|
||||
</html>
|
||||
`, map[string]string{
|
||||
"GoGetImport": path.Join(setting.Domain, setting.AppSubURL, c.Link),
|
||||
"GoGetImport": path.Join(setting.Domain, setting.AppSubURL, repo.FullName()),
|
||||
"CloneLink": models.ComposeHTTPSCloneURL(ownerName, repoName),
|
||||
"GoDocDirectory": prefix + "{/dir}",
|
||||
"GoDocFile": prefix + "{/dir}/{file}#L{line}",
|
||||
|
||||
@@ -102,6 +102,8 @@ type RepoSetting struct {
|
||||
TrackerURLFormat string
|
||||
TrackerIssueStyle string
|
||||
EnablePulls bool
|
||||
PullsIgnoreWhitespace bool
|
||||
PullsAllowRebase bool
|
||||
}
|
||||
|
||||
func (f *RepoSetting) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
||||
@@ -195,6 +197,15 @@ func (f *NewDiscordHook) Validate(ctx *macaron.Context, errs binding.Errors) bin
|
||||
return validate(errs, ctx.Data, f, ctx.Locale)
|
||||
}
|
||||
|
||||
type NewDingtalkHook struct {
|
||||
PayloadURL string `binding:"Required;Url"`
|
||||
Webhook
|
||||
}
|
||||
|
||||
func (f *NewDingtalkHook) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
||||
return validate(errs, ctx.Data, f, ctx.Locale)
|
||||
}
|
||||
|
||||
// .___
|
||||
// | | ______ ________ __ ____
|
||||
// | |/ ___// ___/ | \_/ __ \
|
||||
|
||||
@@ -94,7 +94,7 @@ func SendUserMail(c *macaron.Context, u User, tpl, code, subject, info string) {
|
||||
msg := NewMessage([]string{u.Email()}, subject, body)
|
||||
msg.Info = fmt.Sprintf("UID: %d, %s", u.ID(), info)
|
||||
|
||||
SendAsync(msg)
|
||||
Send(msg)
|
||||
}
|
||||
|
||||
func SendActivateAccountMail(c *macaron.Context, u User) {
|
||||
@@ -122,7 +122,7 @@ func SendActivateEmailMail(c *macaron.Context, u User, email string) {
|
||||
msg := NewMessage([]string{email}, c.Tr("mail.activate_email"), body)
|
||||
msg.Info = fmt.Sprintf("UID: %d, activate email", u.ID())
|
||||
|
||||
SendAsync(msg)
|
||||
Send(msg)
|
||||
}
|
||||
|
||||
// SendRegisterNotifyMail triggers a notify e-mail by admin created a account.
|
||||
@@ -139,7 +139,7 @@ func SendRegisterNotifyMail(c *macaron.Context, u User) {
|
||||
msg := NewMessage([]string{u.Email()}, c.Tr("mail.register_notify"), body)
|
||||
msg.Info = fmt.Sprintf("UID: %d, registration notify", u.ID())
|
||||
|
||||
SendAsync(msg)
|
||||
Send(msg)
|
||||
}
|
||||
|
||||
// SendCollaboratorMail sends mail notification to new collaborator.
|
||||
@@ -160,7 +160,7 @@ func SendCollaboratorMail(u, doer User, repo Repository) {
|
||||
msg := NewMessage([]string{u.Email()}, subject, body)
|
||||
msg.Info = fmt.Sprintf("UID: %d, add collaborator", u.ID())
|
||||
|
||||
SendAsync(msg)
|
||||
Send(msg)
|
||||
}
|
||||
|
||||
func composeTplData(subject, body, link string) map[string]interface{} {
|
||||
@@ -192,7 +192,7 @@ func SendIssueCommentMail(issue Issue, repo Repository, doer User, tos []string)
|
||||
return
|
||||
}
|
||||
|
||||
SendAsync(composeIssueMessage(issue, repo, doer, MAIL_ISSUE_COMMENT, tos, "issue comment"))
|
||||
Send(composeIssueMessage(issue, repo, doer, MAIL_ISSUE_COMMENT, tos, "issue comment"))
|
||||
}
|
||||
|
||||
// SendIssueMentionMail composes and sends issue mention emails to target receivers.
|
||||
@@ -200,5 +200,5 @@ func SendIssueMentionMail(issue Issue, repo Repository, doer User, tos []string)
|
||||
if len(tos) == 0 {
|
||||
return
|
||||
}
|
||||
SendAsync(composeIssueMessage(issue, repo, doer, MAIL_ISSUE_MENTION, tos, "issue mention"))
|
||||
Send(composeIssueMessage(issue, repo, doer, MAIL_ISSUE_MENTION, tos, "issue mention"))
|
||||
}
|
||||
|
||||
@@ -24,6 +24,7 @@ import (
|
||||
type Message struct {
|
||||
Info string // Message information for log purpose.
|
||||
*gomail.Message
|
||||
confirmChan chan struct{}
|
||||
}
|
||||
|
||||
// NewMessageFrom creates new mail message object with custom From header.
|
||||
@@ -33,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"
|
||||
@@ -48,9 +49,9 @@ func NewMessageFrom(to []string, from, subject, htmlBody string) *Message {
|
||||
}
|
||||
}
|
||||
msg.SetBody(contentType, body)
|
||||
|
||||
return &Message{
|
||||
Message: msg,
|
||||
Message: msg,
|
||||
confirmChan: make(chan struct{}),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -204,12 +205,14 @@ func processMailQueue() {
|
||||
} else {
|
||||
log.Trace("E-mails sent %s: %s", msg.GetHeader("To"), msg.Info)
|
||||
}
|
||||
msg.confirmChan <- struct{}{}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var mailQueue chan *Message
|
||||
|
||||
// NewContext initializes settings for mailer.
|
||||
func NewContext() {
|
||||
// Need to check if mailQueue is nil because in during reinstall (user had installed
|
||||
// before but swithed install lock off), this function will be called again
|
||||
@@ -222,8 +225,18 @@ func NewContext() {
|
||||
go processMailQueue()
|
||||
}
|
||||
|
||||
func SendAsync(msg *Message) {
|
||||
// Send puts new message object into mail queue.
|
||||
// It returns without confirmation (mail processed asynchronously) in normal cases,
|
||||
// but waits/blocks under hook mode to make sure mail has been sent.
|
||||
func Send(msg *Message) {
|
||||
mailQueue <- msg
|
||||
|
||||
if setting.HookMode {
|
||||
<-msg.confirmChan
|
||||
return
|
||||
}
|
||||
|
||||
go func() {
|
||||
mailQueue <- msg
|
||||
<-msg.confirmChan
|
||||
}()
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@ import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"os/exec"
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
log "gopkg.in/clog.v1"
|
||||
@@ -18,43 +19,65 @@ var (
|
||||
ErrExecTimeout = errors.New("Process execution timeout")
|
||||
)
|
||||
|
||||
// Common timeout.
|
||||
var (
|
||||
// NOTE: could be custom in config file for default.
|
||||
DEFAULT = 60 * time.Second
|
||||
)
|
||||
const DEFAULT_TIMEOUT = 60 * time.Second
|
||||
|
||||
// Process represents a working process inherit from Gogs.
|
||||
// Process represents a running process calls shell command.
|
||||
type Process struct {
|
||||
Pid int64 // Process ID, not system one.
|
||||
PID int64
|
||||
Description string
|
||||
Start time.Time
|
||||
Cmd *exec.Cmd
|
||||
}
|
||||
|
||||
// List of existing processes.
|
||||
var (
|
||||
curPid int64 = 1
|
||||
Processes []*Process
|
||||
)
|
||||
type pidCounter struct {
|
||||
sync.Mutex
|
||||
|
||||
// Add adds a existing process and returns its PID.
|
||||
// The current number of pid, initial is 0, and increase 1 every time it's been used.
|
||||
pid int64
|
||||
}
|
||||
|
||||
func (c *pidCounter) PID() int64 {
|
||||
c.pid++
|
||||
return c.pid
|
||||
}
|
||||
|
||||
var counter = new(pidCounter)
|
||||
var Processes []*Process
|
||||
|
||||
// Add adds a process to global list and returns its PID.
|
||||
func Add(desc string, cmd *exec.Cmd) int64 {
|
||||
pid := curPid
|
||||
counter.Lock()
|
||||
defer counter.Unlock()
|
||||
|
||||
pid := counter.PID()
|
||||
Processes = append(Processes, &Process{
|
||||
Pid: pid,
|
||||
PID: pid,
|
||||
Description: desc,
|
||||
Start: time.Now(),
|
||||
Cmd: cmd,
|
||||
})
|
||||
curPid++
|
||||
return pid
|
||||
}
|
||||
|
||||
// Exec starts executing a command in given path, it records its process and timeout.
|
||||
// Remove removes a process from global list.
|
||||
// It returns true if the process is found and removed by given pid.
|
||||
func Remove(pid int64) bool {
|
||||
counter.Lock()
|
||||
defer counter.Unlock()
|
||||
|
||||
for i := range Processes {
|
||||
if Processes[i].PID == pid {
|
||||
Processes = append(Processes[:i], Processes[i+1:]...)
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
// Exec starts executing a shell command in given path, it tracks corresponding process and timeout.
|
||||
func ExecDir(timeout time.Duration, dir, desc, cmdName string, args ...string) (string, string, error) {
|
||||
if timeout == -1 {
|
||||
timeout = DEFAULT
|
||||
timeout = DEFAULT_TIMEOUT
|
||||
}
|
||||
|
||||
bufOut := new(bytes.Buffer)
|
||||
@@ -78,7 +101,7 @@ func ExecDir(timeout time.Duration, dir, desc, cmdName string, args ...string) (
|
||||
select {
|
||||
case <-time.After(timeout):
|
||||
if errKill := Kill(pid); errKill != nil {
|
||||
log.Error(4, "Exec(%d:%s): %v", pid, desc, errKill)
|
||||
log.Error(2, "Fail to kill timeout process [pid: %d, desc: %s]: %v", pid, desc, errKill)
|
||||
}
|
||||
<-done
|
||||
return "", ErrExecTimeout.Error(), ErrExecTimeout
|
||||
@@ -89,37 +112,27 @@ func ExecDir(timeout time.Duration, dir, desc, cmdName string, args ...string) (
|
||||
return bufOut.String(), bufErr.String(), err
|
||||
}
|
||||
|
||||
// Exec starts executing a command, it records its process and timeout.
|
||||
// Exec starts executing a shell command, it tracks corresponding process and timeout.
|
||||
func ExecTimeout(timeout time.Duration, desc, cmdName string, args ...string) (string, string, error) {
|
||||
return ExecDir(timeout, "", desc, cmdName, args...)
|
||||
}
|
||||
|
||||
// Exec starts executing a command, it records its process and has default timeout.
|
||||
// Exec starts executing a shell command, it tracks corresponding its process and use default timeout.
|
||||
func Exec(desc, cmdName string, args ...string) (string, string, error) {
|
||||
return ExecDir(-1, "", desc, cmdName, args...)
|
||||
}
|
||||
|
||||
// Remove removes a process from list.
|
||||
func Remove(pid int64) {
|
||||
for i, proc := range Processes {
|
||||
if proc.Pid == pid {
|
||||
Processes = append(Processes[:i], Processes[i+1:]...)
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Kill kills and removes a process from list.
|
||||
// Kill kills and removes a process from global list.
|
||||
func Kill(pid int64) error {
|
||||
for i, proc := range Processes {
|
||||
if proc.Pid == pid {
|
||||
for _, proc := range Processes {
|
||||
if proc.PID == pid {
|
||||
if proc.Cmd != nil && proc.Cmd.Process != nil &&
|
||||
proc.Cmd.ProcessState != nil && !proc.Cmd.ProcessState.Exited() {
|
||||
if err := proc.Cmd.Process.Kill(); err != nil {
|
||||
return fmt.Errorf("fail to kill process(%d/%s): %v", proc.Pid, proc.Description, err)
|
||||
return fmt.Errorf("fail to kill process [pid: %d, desc: %s]: %v", proc.PID, proc.Description, err)
|
||||
}
|
||||
}
|
||||
Processes = append(Processes[:i], Processes[i+1:]...)
|
||||
Remove(pid)
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,12 +21,14 @@ import (
|
||||
_ "github.com/go-macaron/cache/redis"
|
||||
"github.com/go-macaron/session"
|
||||
_ "github.com/go-macaron/session/redis"
|
||||
"github.com/mcuadros/go-version"
|
||||
log "gopkg.in/clog.v1"
|
||||
"gopkg.in/ini.v1"
|
||||
|
||||
"github.com/gogits/go-libravatar"
|
||||
|
||||
"github.com/gogits/gogs/pkg/bindata"
|
||||
"github.com/gogits/gogs/pkg/process"
|
||||
"github.com/gogits/gogs/pkg/user"
|
||||
)
|
||||
|
||||
@@ -80,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:"-"`
|
||||
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
|
||||
@@ -377,6 +380,21 @@ func IsRunUserMatchCurrentUser(runUser string) (string, bool) {
|
||||
return currentUser, runUser == currentUser
|
||||
}
|
||||
|
||||
// getOpenSSHVersion parses and returns string representation of OpenSSH version
|
||||
// returned by command "ssh -V".
|
||||
func getOpenSSHVersion() string {
|
||||
// Note: somehow version is printed to stderr
|
||||
_, stderr, err := process.Exec("getOpenSSHVersion", "ssh", "-V")
|
||||
if err != nil {
|
||||
log.Fatal(2, "Fail to get OpenSSH version: %v - %s", err, stderr)
|
||||
}
|
||||
|
||||
// Trim unused information: https://github.com/gogits/gogs/issues/4507#issuecomment-305150441
|
||||
version := strings.TrimRight(strings.Fields(stderr)[0], ",1234567890")
|
||||
version = strings.TrimSuffix(strings.TrimPrefix(version, "OpenSSH_"), "p")
|
||||
return version
|
||||
}
|
||||
|
||||
// NewContext initializes configuration context.
|
||||
// NOTE: do not print any log except error.
|
||||
func NewContext() {
|
||||
@@ -469,14 +487,15 @@ 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 {
|
||||
log.Fatal(2, "Fail to map SSH settings: %v", err)
|
||||
}
|
||||
// When disable SSH, start builtin server value is ignored.
|
||||
if SSH.Disabled {
|
||||
SSH.StartBuiltinServer = false
|
||||
SSH.MinimumKeySizeCheck = false
|
||||
}
|
||||
|
||||
if !SSH.Disabled && !SSH.StartBuiltinServer {
|
||||
@@ -487,12 +506,27 @@ func NewContext() {
|
||||
}
|
||||
}
|
||||
|
||||
SSH.MinimumKeySizeCheck = sec.Key("MINIMUM_KEY_SIZE_CHECK").MustBool()
|
||||
SSH.MinimumKeySizes = map[string]int{}
|
||||
minimumKeySizes := Cfg.Section("ssh.minimum_key_sizes").Keys()
|
||||
for _, key := range minimumKeySizes {
|
||||
if key.MustInt() != -1 {
|
||||
SSH.MinimumKeySizes[strings.ToLower(key.Name())] = key.MustInt()
|
||||
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.
|
||||
if SSH.MinimumKeySizeCheck &&
|
||||
(IsWindows || version.Compare(getOpenSSHVersion(), "5.1", "<")) {
|
||||
SSH.MinimumKeySizeCheck = false
|
||||
log.Warn(`SSH minimum key size check is forced to be disabled because server is not eligible:
|
||||
1. Windows server
|
||||
2. OpenSSH version is lower than 5.1`)
|
||||
}
|
||||
|
||||
if SSH.MinimumKeySizeCheck {
|
||||
SSH.MinimumKeySizes = map[string]int{}
|
||||
for _, key := range Cfg.Section("ssh.minimum_key_sizes").Keys() {
|
||||
if key.MustInt() != -1 {
|
||||
SSH.MinimumKeySizes[strings.ToLower(key.Name())] = key.MustInt()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -787,7 +821,7 @@ func newSessionService() {
|
||||
// Mailer represents mail service.
|
||||
type Mailer struct {
|
||||
QueueLength int
|
||||
Subject string
|
||||
SubjectPrefix string
|
||||
Host string
|
||||
From string
|
||||
FromEmail string
|
||||
@@ -804,16 +838,17 @@ var (
|
||||
MailService *Mailer
|
||||
)
|
||||
|
||||
// newMailService initializes mail service options from configuration.
|
||||
// No non-error log will be printed in hook mode.
|
||||
func newMailService() {
|
||||
sec := Cfg.Section("mailer")
|
||||
// Check mailer setting.
|
||||
if !sec.Key("ENABLED").MustBool() {
|
||||
return
|
||||
}
|
||||
|
||||
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(),
|
||||
@@ -835,6 +870,9 @@ func newMailService() {
|
||||
MailService.FromEmail = parsed.Address
|
||||
}
|
||||
|
||||
if HookMode {
|
||||
return
|
||||
}
|
||||
log.Info("Mail Service Enabled")
|
||||
}
|
||||
|
||||
@@ -849,6 +887,8 @@ func newRegisterMailService() {
|
||||
log.Info("Register Mail Service Enabled")
|
||||
}
|
||||
|
||||
// newNotifyMailService initializes notification email service options from configuration.
|
||||
// No non-error log will be printed in hook mode.
|
||||
func newNotifyMailService() {
|
||||
if !Cfg.Section("service").Key("ENABLE_NOTIFY_MAIL").MustBool() {
|
||||
return
|
||||
@@ -857,6 +897,10 @@ func newNotifyMailService() {
|
||||
return
|
||||
}
|
||||
Service.EnableNotifyMail = true
|
||||
|
||||
if HookMode {
|
||||
return
|
||||
}
|
||||
log.Info("Notify Mail Service Enabled")
|
||||
}
|
||||
|
||||
@@ -873,3 +917,15 @@ func NewServices() {
|
||||
newRegisterMailService()
|
||||
newNotifyMailService()
|
||||
}
|
||||
|
||||
// HookMode indicates whether program starts as Git server-side hook callback.
|
||||
var HookMode bool
|
||||
|
||||
// NewPostReceiveHookServices initializes all services that are needed by
|
||||
// Git server-side post-receive hook callback.
|
||||
func NewPostReceiveHookServices() {
|
||||
HookMode = true
|
||||
newService()
|
||||
newMailService()
|
||||
newNotifyMailService()
|
||||
}
|
||||
|
||||
@@ -22,11 +22,12 @@ import (
|
||||
"gopkg.in/editorconfig/editorconfig-core-go.v1"
|
||||
|
||||
"github.com/gogits/gogs/models"
|
||||
"github.com/gogits/gogs/pkg/tool"
|
||||
"github.com/gogits/gogs/pkg/markup"
|
||||
"github.com/gogits/gogs/pkg/setting"
|
||||
"github.com/gogits/gogs/pkg/tool"
|
||||
)
|
||||
|
||||
// TODO: only initialize map once and save to a local variable to reduce copies.
|
||||
func NewFuncMap() []template.FuncMap {
|
||||
return []template.FuncMap{map[string]interface{}{
|
||||
"GoVer": func() string {
|
||||
@@ -91,13 +92,13 @@ func NewFuncMap() []template.FuncMap {
|
||||
}
|
||||
return str[start:end]
|
||||
},
|
||||
"Join": strings.Join,
|
||||
"EllipsisString": tool.EllipsisString,
|
||||
"DiffTypeToStr": DiffTypeToStr,
|
||||
"DiffLineTypeToStr": DiffLineTypeToStr,
|
||||
"Sha1": Sha1,
|
||||
"ShortSHA1": tool.ShortSHA1,
|
||||
"MD5": tool.MD5,
|
||||
"Join": strings.Join,
|
||||
"EllipsisString": tool.EllipsisString,
|
||||
"DiffTypeToStr": DiffTypeToStr,
|
||||
"DiffLineTypeToStr": DiffLineTypeToStr,
|
||||
"Sha1": Sha1,
|
||||
"ShortSHA1": tool.ShortSHA1,
|
||||
"MD5": tool.MD5,
|
||||
"ActionContent2Commits": ActionContent2Commits,
|
||||
"EscapePound": EscapePound,
|
||||
"RenderCommitMessage": RenderCommitMessage,
|
||||
|
||||
@@ -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>
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user