forked from mirror/gitea
Compare commits
71 Commits
30a561ce56
...
934fa46f76
Author | SHA1 | Date | |
---|---|---|---|
silverwind | 934fa46f76 | ||
silverwind | ff334749f5 | ||
Yarden Shoham | 0497b2607d | ||
silverwind | 8da9130c1f | ||
Yarden Shoham | ef5892d988 | ||
silverwind | 38d56ca106 | ||
silverwind | f691721714 | ||
Yarden Shoham | f8fbaaf26f | ||
silverwind | 44dd6d6927 | ||
wxiaoguang | ab028356c7 | ||
wxiaoguang | 6d34ce25b1 | ||
KN4CK3R | 82ffd91607 | ||
GiteaBot | 7eb3ab0765 | ||
silverwind | 640850e15f | ||
Yarden Shoham | 72a5d3faa8 | ||
Yarden Shoham | 6aeff21b76 | ||
Yarden Shoham | 2b3f7d3e96 | ||
GiteaBot | bcf3be3a6c | ||
Denys Konovalov | f32ce753f6 | ||
Yarden Shoham | b535c6ca7b | ||
Yarden Shoham | 66f7d47d2c | ||
KN4CK3R | b6a3cd4b8d | ||
silverwind | f31a88d3cb | ||
Yarden Shoham | 42870cf402 | ||
Yarden Shoham | c487a32bcd | ||
Yarden Shoham | 56ac5f18e8 | ||
Yarden Shoham | 911993429f | ||
HEREYUA | c9068ef9e4 | ||
Jack Hay | 59d4aadba5 | ||
Yarden Shoham | 849eee8db7 | ||
silverwind | 8fd15990c5 | ||
Lunny Xiao | 8acc7aab4c | ||
silverwind | dd8dde2be8 | ||
sillyguodong | 62b073e6f3 | ||
yp05327 | 6103623596 | ||
Lunny Xiao | 40cdc84b36 | ||
Paweł Bogusławski | 9585e19bb4 | ||
Kemal Zebari | 242b331260 | ||
silverwind | e40fc75bac | ||
Yarden Shoham | eca4c48534 | ||
silverwind | 226a82a939 | ||
YR Chen | 7443a10fc3 | ||
delvh | 0d5abe3454 | ||
HEREYUA | 7ba485bd49 | ||
wxiaoguang | 71706126b5 | ||
silverwind | 7fda109aba | ||
silverwind | b08c7afe5f | ||
Denys Konovalov | e5160185ed | ||
silverwind | 4eb86d6823 | ||
silverwind | c85619b82d | ||
wxiaoguang | 1ad48f781e | ||
Yarden Shoham | 1551d73d3f | ||
Yarden Shoham | 1a71dbfb78 | ||
Yarden Shoham | 34acd8e376 | ||
wxiaoguang | f1707f4562 | ||
HEREYUA | 0262c66ba6 | ||
Yarden Shoham | 0922ce8191 | ||
Yarden Shoham | a190f68f1b | ||
Yarden Shoham | 4efe7884a3 | ||
silverwind | 643e6b0958 | ||
Lunny Xiao | 400bb7ced4 | ||
HEREYUA | 4640441a0e | ||
HEREYUA | 1261dd6742 | ||
yp05327 | ce3c351226 | ||
silverwind | a9e5706696 | ||
silverwind | 57539bcdc0 | ||
Lunny Xiao | 538790ad1d | ||
Yarden Shoham | f47e00d9d3 | ||
Yarden Shoham | 5687aca4fc | ||
Yarden Shoham | a1f11e2e33 | ||
Yarden Shoham | e0b018706f |
|
@ -14,7 +14,7 @@ _test
|
|||
|
||||
# MS VSCode
|
||||
.vscode
|
||||
__debug_bin
|
||||
__debug_bin*
|
||||
|
||||
# Architecture specific extensions/prefixes
|
||||
*.[568vq]
|
||||
|
@ -78,7 +78,6 @@ cpu.out
|
|||
/public/assets/css
|
||||
/public/assets/fonts
|
||||
/public/assets/img/avatar
|
||||
/public/assets/img/webpack
|
||||
/vendor
|
||||
/web_src/fomantic/node_modules
|
||||
/web_src/fomantic/build/*
|
||||
|
|
|
@ -3,6 +3,7 @@ reportUnusedDisableDirectives: true
|
|||
|
||||
ignorePatterns:
|
||||
- /web_src/js/vendor
|
||||
- /web_src/fomantic
|
||||
|
||||
parserOptions:
|
||||
sourceType: module
|
||||
|
@ -281,7 +282,7 @@ rules:
|
|||
jquery/no-ajax-events: [2]
|
||||
jquery/no-ajax: [2]
|
||||
jquery/no-animate: [2]
|
||||
jquery/no-attr: [0]
|
||||
jquery/no-attr: [2]
|
||||
jquery/no-bind: [2]
|
||||
jquery/no-class: [0]
|
||||
jquery/no-clone: [2]
|
||||
|
@ -397,7 +398,7 @@ rules:
|
|||
no-jquery/no-animate-toggle: [2]
|
||||
no-jquery/no-animate: [2]
|
||||
no-jquery/no-append-html: [2]
|
||||
no-jquery/no-attr: [0]
|
||||
no-jquery/no-attr: [2]
|
||||
no-jquery/no-bind: [2]
|
||||
no-jquery/no-box-model: [2]
|
||||
no-jquery/no-browser: [2]
|
||||
|
|
|
@ -4,13 +4,6 @@ modifies/docs:
|
|||
- "**/*.md"
|
||||
- "docs/**"
|
||||
|
||||
modifies/frontend:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- "web_src/**"
|
||||
- "tailwind.config.js"
|
||||
- "webpack.config.js"
|
||||
|
||||
modifies/templates:
|
||||
- changed-files:
|
||||
- all-globs-to-any-file:
|
||||
|
@ -53,7 +46,7 @@ modifies/internal:
|
|||
- ".gitpod.yml"
|
||||
- ".markdownlint.yaml"
|
||||
- ".spectral.yaml"
|
||||
- ".stylelintrc.yaml"
|
||||
- "stylelint.config.js"
|
||||
- ".yamllint.yaml"
|
||||
- ".github/**"
|
||||
- ".gitea/"
|
||||
|
|
|
@ -11,14 +11,19 @@ jobs:
|
|||
if: github.repository == 'go-gitea/gitea'
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: download from crowdin
|
||||
uses: docker://jonasfranz/crowdin
|
||||
- uses: crowdin/github-action@v1
|
||||
with:
|
||||
upload_sources: true
|
||||
upload_translations: false
|
||||
download_sources: false
|
||||
download_translations: true
|
||||
push_translations: false
|
||||
push_sources: false
|
||||
create_pull_request: false
|
||||
config: crowdin.yml
|
||||
env:
|
||||
CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }}
|
||||
CROWDIN_KEY: ${{ secrets.CROWDIN_KEY }}
|
||||
PLUGIN_DOWNLOAD: true
|
||||
PLUGIN_EXPORT_DIR: options/locale/
|
||||
PLUGIN_IGNORE_BRANCH: true
|
||||
PLUGIN_PROJECT_IDENTIFIER: gitea
|
||||
- name: update locales
|
||||
run: ./build/update-locales.sh
|
||||
- name: push translations to repo
|
||||
|
@ -31,19 +36,3 @@ jobs:
|
|||
commit_message: "[skip ci] Updated translations via Crowdin"
|
||||
remote: "git@github.com:go-gitea/gitea.git"
|
||||
ssh_key: ${{ secrets.DEPLOY_KEY }}
|
||||
crowdin-push:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.repository == 'go-gitea/gitea'
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: push translations to crowdin
|
||||
uses: docker://jonasfranz/crowdin
|
||||
env:
|
||||
CROWDIN_KEY: ${{ secrets.CROWDIN_KEY }}
|
||||
PLUGIN_UPLOAD: true
|
||||
PLUGIN_EXPORT_DIR: options/locale/
|
||||
PLUGIN_IGNORE_BRANCH: true
|
||||
PLUGIN_PROJECT_IDENTIFIER: gitea
|
||||
PLUGIN_FILES: |
|
||||
locale_en-US.ini: options/locale/locale_en-US.ini
|
||||
PLUGIN_BRANCH: main
|
||||
|
|
|
@ -58,7 +58,7 @@ jobs:
|
|||
- "package-lock.json"
|
||||
- "Makefile"
|
||||
- ".eslintrc.yaml"
|
||||
- ".stylelintrc.yaml"
|
||||
- "stylelint.config.js"
|
||||
- ".npmrc"
|
||||
|
||||
docs:
|
||||
|
|
|
@ -77,7 +77,6 @@ cpu.out
|
|||
/public/assets/css
|
||||
/public/assets/fonts
|
||||
/public/assets/licenses.txt
|
||||
/public/assets/img/webpack
|
||||
/vendor
|
||||
/web_src/fomantic/node_modules
|
||||
/web_src/fomantic/build/*
|
||||
|
|
4
.ignore
4
.ignore
|
@ -4,6 +4,8 @@
|
|||
/modules/options/bindata.go
|
||||
/modules/public/bindata.go
|
||||
/modules/templates/bindata.go
|
||||
/vendor
|
||||
/options/gitignore
|
||||
/options/license
|
||||
/public/assets
|
||||
/vendor
|
||||
node_modules
|
||||
|
|
|
@ -1,223 +0,0 @@
|
|||
plugins:
|
||||
- stylelint-declaration-strict-value
|
||||
- stylelint-declaration-block-no-ignored-properties
|
||||
- "@stylistic/stylelint-plugin"
|
||||
|
||||
ignoreFiles:
|
||||
- "**/*.go"
|
||||
|
||||
overrides:
|
||||
- files: ["**/chroma/*", "**/codemirror/*", "**/standalone/*", "**/console.css", "font_i18n.css"]
|
||||
rules:
|
||||
scale-unlimited/declaration-strict-value: null
|
||||
- files: ["**/chroma/*", "**/codemirror/*"]
|
||||
rules:
|
||||
block-no-empty: null
|
||||
- files: ["**/*.vue"]
|
||||
customSyntax: postcss-html
|
||||
|
||||
rules:
|
||||
"@stylistic/at-rule-name-case": null
|
||||
"@stylistic/at-rule-name-newline-after": null
|
||||
"@stylistic/at-rule-name-space-after": null
|
||||
"@stylistic/at-rule-semicolon-newline-after": null
|
||||
"@stylistic/at-rule-semicolon-space-before": null
|
||||
"@stylistic/block-closing-brace-empty-line-before": null
|
||||
"@stylistic/block-closing-brace-newline-after": null
|
||||
"@stylistic/block-closing-brace-newline-before": null
|
||||
"@stylistic/block-closing-brace-space-after": null
|
||||
"@stylistic/block-closing-brace-space-before": null
|
||||
"@stylistic/block-opening-brace-newline-after": null
|
||||
"@stylistic/block-opening-brace-newline-before": null
|
||||
"@stylistic/block-opening-brace-space-after": null
|
||||
"@stylistic/block-opening-brace-space-before": always
|
||||
"@stylistic/color-hex-case": lower
|
||||
"@stylistic/declaration-bang-space-after": never
|
||||
"@stylistic/declaration-bang-space-before": null
|
||||
"@stylistic/declaration-block-semicolon-newline-after": null
|
||||
"@stylistic/declaration-block-semicolon-newline-before": null
|
||||
"@stylistic/declaration-block-semicolon-space-after": null
|
||||
"@stylistic/declaration-block-semicolon-space-before": never
|
||||
"@stylistic/declaration-block-trailing-semicolon": null
|
||||
"@stylistic/declaration-colon-newline-after": null
|
||||
"@stylistic/declaration-colon-space-after": null
|
||||
"@stylistic/declaration-colon-space-before": never
|
||||
"@stylistic/function-comma-newline-after": null
|
||||
"@stylistic/function-comma-newline-before": null
|
||||
"@stylistic/function-comma-space-after": null
|
||||
"@stylistic/function-comma-space-before": null
|
||||
"@stylistic/function-max-empty-lines": 0
|
||||
"@stylistic/function-parentheses-newline-inside": never-multi-line
|
||||
"@stylistic/function-parentheses-space-inside": null
|
||||
"@stylistic/function-whitespace-after": null
|
||||
"@stylistic/indentation": 2
|
||||
"@stylistic/linebreaks": null
|
||||
"@stylistic/max-empty-lines": 1
|
||||
"@stylistic/max-line-length": null
|
||||
"@stylistic/media-feature-colon-space-after": null
|
||||
"@stylistic/media-feature-colon-space-before": never
|
||||
"@stylistic/media-feature-name-case": null
|
||||
"@stylistic/media-feature-parentheses-space-inside": null
|
||||
"@stylistic/media-feature-range-operator-space-after": always
|
||||
"@stylistic/media-feature-range-operator-space-before": always
|
||||
"@stylistic/media-query-list-comma-newline-after": null
|
||||
"@stylistic/media-query-list-comma-newline-before": null
|
||||
"@stylistic/media-query-list-comma-space-after": null
|
||||
"@stylistic/media-query-list-comma-space-before": null
|
||||
"@stylistic/named-grid-areas-alignment": null
|
||||
"@stylistic/no-empty-first-line": null
|
||||
"@stylistic/no-eol-whitespace": true
|
||||
"@stylistic/no-extra-semicolons": true
|
||||
"@stylistic/no-missing-end-of-source-newline": null
|
||||
"@stylistic/number-leading-zero": null
|
||||
"@stylistic/number-no-trailing-zeros": null
|
||||
"@stylistic/property-case": lower
|
||||
"@stylistic/selector-attribute-brackets-space-inside": null
|
||||
"@stylistic/selector-attribute-operator-space-after": null
|
||||
"@stylistic/selector-attribute-operator-space-before": null
|
||||
"@stylistic/selector-combinator-space-after": null
|
||||
"@stylistic/selector-combinator-space-before": null
|
||||
"@stylistic/selector-descendant-combinator-no-non-space": null
|
||||
"@stylistic/selector-list-comma-newline-after": null
|
||||
"@stylistic/selector-list-comma-newline-before": null
|
||||
"@stylistic/selector-list-comma-space-after": always-single-line
|
||||
"@stylistic/selector-list-comma-space-before": never-single-line
|
||||
"@stylistic/selector-max-empty-lines": 0
|
||||
"@stylistic/selector-pseudo-class-case": lower
|
||||
"@stylistic/selector-pseudo-class-parentheses-space-inside": never
|
||||
"@stylistic/selector-pseudo-element-case": lower
|
||||
"@stylistic/string-quotes": double
|
||||
"@stylistic/unicode-bom": null
|
||||
"@stylistic/unit-case": lower
|
||||
"@stylistic/value-list-comma-newline-after": null
|
||||
"@stylistic/value-list-comma-newline-before": null
|
||||
"@stylistic/value-list-comma-space-after": null
|
||||
"@stylistic/value-list-comma-space-before": null
|
||||
"@stylistic/value-list-max-empty-lines": 0
|
||||
alpha-value-notation: null
|
||||
annotation-no-unknown: true
|
||||
at-rule-allowed-list: null
|
||||
at-rule-disallowed-list: null
|
||||
at-rule-empty-line-before: null
|
||||
at-rule-no-unknown: [true, {ignoreAtRules: [tailwind]}]
|
||||
at-rule-no-vendor-prefix: true
|
||||
at-rule-property-required-list: null
|
||||
block-no-empty: true
|
||||
color-function-notation: null
|
||||
color-hex-alpha: null
|
||||
color-hex-length: null
|
||||
color-named: null
|
||||
color-no-hex: null
|
||||
color-no-invalid-hex: true
|
||||
comment-empty-line-before: null
|
||||
comment-no-empty: true
|
||||
comment-pattern: null
|
||||
comment-whitespace-inside: null
|
||||
comment-word-disallowed-list: null
|
||||
custom-media-pattern: null
|
||||
custom-property-empty-line-before: null
|
||||
custom-property-no-missing-var-function: true
|
||||
custom-property-pattern: null
|
||||
declaration-block-no-duplicate-custom-properties: true
|
||||
declaration-block-no-duplicate-properties: [true, {ignore: [consecutive-duplicates-with-different-values]}]
|
||||
declaration-block-no-redundant-longhand-properties: null
|
||||
declaration-block-no-shorthand-property-overrides: null
|
||||
declaration-block-single-line-max-declarations: null
|
||||
declaration-empty-line-before: null
|
||||
declaration-no-important: null
|
||||
declaration-property-max-values: null
|
||||
declaration-property-unit-allowed-list: null
|
||||
declaration-property-unit-disallowed-list: {line-height: [em]}
|
||||
declaration-property-value-allowed-list: null
|
||||
declaration-property-value-disallowed-list: null
|
||||
declaration-property-value-no-unknown: true
|
||||
font-family-name-quotes: always-where-recommended
|
||||
font-family-no-duplicate-names: true
|
||||
font-family-no-missing-generic-family-keyword: true
|
||||
font-weight-notation: null
|
||||
function-allowed-list: null
|
||||
function-calc-no-unspaced-operator: true
|
||||
function-disallowed-list: null
|
||||
function-linear-gradient-no-nonstandard-direction: true
|
||||
function-name-case: lower
|
||||
function-no-unknown: true
|
||||
function-url-no-scheme-relative: null
|
||||
function-url-quotes: always
|
||||
function-url-scheme-allowed-list: null
|
||||
function-url-scheme-disallowed-list: null
|
||||
hue-degree-notation: null
|
||||
import-notation: string
|
||||
keyframe-block-no-duplicate-selectors: true
|
||||
keyframe-declaration-no-important: true
|
||||
keyframe-selector-notation: null
|
||||
keyframes-name-pattern: null
|
||||
length-zero-no-unit: [true, ignore: [custom-properties], ignoreFunctions: [var]]
|
||||
max-nesting-depth: null
|
||||
media-feature-name-allowed-list: null
|
||||
media-feature-name-disallowed-list: null
|
||||
media-feature-name-no-unknown: true
|
||||
media-feature-name-no-vendor-prefix: true
|
||||
media-feature-name-unit-allowed-list: null
|
||||
media-feature-name-value-allowed-list: null
|
||||
media-feature-name-value-no-unknown: true
|
||||
media-feature-range-notation: null
|
||||
media-query-no-invalid: true
|
||||
named-grid-areas-no-invalid: true
|
||||
no-descending-specificity: null
|
||||
no-duplicate-at-import-rules: true
|
||||
no-duplicate-selectors: true
|
||||
no-empty-source: true
|
||||
no-invalid-double-slash-comments: true
|
||||
no-invalid-position-at-import-rule: [true, ignoreAtRules: [tailwind]]
|
||||
no-irregular-whitespace: true
|
||||
no-unknown-animations: null
|
||||
no-unknown-custom-properties: null
|
||||
number-max-precision: null
|
||||
plugin/declaration-block-no-ignored-properties: true
|
||||
property-allowed-list: null
|
||||
property-disallowed-list: null
|
||||
property-no-unknown: true
|
||||
property-no-vendor-prefix: null
|
||||
rule-empty-line-before: null
|
||||
rule-selector-property-disallowed-list: null
|
||||
scale-unlimited/declaration-strict-value: [[/color$/, font-weight], {ignoreValues: /^(inherit|transparent|unset|initial|currentcolor|none)$/, ignoreFunctions: false, disableFix: true, expandShorthand: true}]
|
||||
selector-anb-no-unmatchable: true
|
||||
selector-attribute-name-disallowed-list: null
|
||||
selector-attribute-operator-allowed-list: null
|
||||
selector-attribute-operator-disallowed-list: null
|
||||
selector-attribute-quotes: always
|
||||
selector-class-pattern: null
|
||||
selector-combinator-allowed-list: null
|
||||
selector-combinator-disallowed-list: null
|
||||
selector-disallowed-list: null
|
||||
selector-id-pattern: null
|
||||
selector-max-attribute: null
|
||||
selector-max-class: null
|
||||
selector-max-combinators: null
|
||||
selector-max-compound-selectors: null
|
||||
selector-max-id: null
|
||||
selector-max-pseudo-class: null
|
||||
selector-max-specificity: null
|
||||
selector-max-type: null
|
||||
selector-max-universal: null
|
||||
selector-nested-pattern: null
|
||||
selector-no-qualifying-type: null
|
||||
selector-no-vendor-prefix: true
|
||||
selector-not-notation: null
|
||||
selector-pseudo-class-allowed-list: null
|
||||
selector-pseudo-class-disallowed-list: null
|
||||
selector-pseudo-class-no-unknown: true
|
||||
selector-pseudo-element-allowed-list: null
|
||||
selector-pseudo-element-colon-notation: double
|
||||
selector-pseudo-element-disallowed-list: null
|
||||
selector-pseudo-element-no-unknown: true
|
||||
selector-type-case: lower
|
||||
selector-type-no-unknown: [true, {ignore: [custom-elements]}]
|
||||
shorthand-property-no-redundant-values: true
|
||||
string-no-newline: true
|
||||
time-min-milliseconds: null
|
||||
unit-allowed-list: null
|
||||
unit-disallowed-list: null
|
||||
unit-no-unknown: true
|
||||
value-keyword-case: null
|
||||
value-no-vendor-prefix: [true, {ignoreValues: [box, inline-box]}]
|
|
@ -60,3 +60,4 @@ Nanguan Lin <nanguanlin6@gmail.com> (@lng2020)
|
|||
kerwin612 <kerwin612@qq.com> (@kerwin612)
|
||||
Gary Wang <git@blumia.net> (@BLumia)
|
||||
Tim-Niclas Oelschläger <zokki.softwareschmiede@gmail.com> (@zokkis)
|
||||
Yu Liu <1240335630@qq.com> (@HEREYUA)
|
||||
|
|
4
Makefile
4
Makefile
|
@ -119,7 +119,7 @@ FOMANTIC_WORK_DIR := web_src/fomantic
|
|||
WEBPACK_SOURCES := $(shell find web_src/js web_src/css -type f)
|
||||
WEBPACK_CONFIGS := webpack.config.js tailwind.config.js
|
||||
WEBPACK_DEST := public/assets/js/index.js public/assets/css/index.css
|
||||
WEBPACK_DEST_ENTRIES := public/assets/js public/assets/css public/assets/fonts public/assets/img/webpack
|
||||
WEBPACK_DEST_ENTRIES := public/assets/js public/assets/css public/assets/fonts
|
||||
|
||||
BINDATA_DEST := modules/public/bindata.go modules/options/bindata.go modules/templates/bindata.go
|
||||
BINDATA_HASH := $(addsuffix .hash,$(BINDATA_DEST))
|
||||
|
@ -959,7 +959,7 @@ generate-gitignore:
|
|||
|
||||
.PHONY: generate-images
|
||||
generate-images: | node_modules
|
||||
npm install --no-save fabric@6.0.0-beta19 imagemin-zopfli@7
|
||||
npm install --no-save fabric@6.0.0-beta20 imagemin-zopfli@7
|
||||
node tools/generate-images.js $(TAGS)
|
||||
|
||||
.PHONY: generate-manpage
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
project_id_env: CROWDIN_PROJECT_ID
|
||||
api_token_env: CROWDIN_KEY
|
||||
base_path: "."
|
||||
base_url: "https://api.crowdin.com"
|
||||
preserve_hierarchy: true
|
||||
files:
|
||||
- source: "/options/locale/locale_en-US.ini"
|
||||
translation: "/options/locale/locale_%locale%.ini"
|
||||
type: "ini"
|
||||
skip_untranslated_strings: true
|
||||
export_only_approved: true
|
||||
update_option: "update_as_unapproved"
|
|
@ -441,7 +441,7 @@ INTERNAL_TOKEN =
|
|||
;INTERNAL_TOKEN_URI = file:/etc/gitea/internal_token
|
||||
;;
|
||||
;; How long to remember that a user is logged in before requiring relogin (in days)
|
||||
;LOGIN_REMEMBER_DAYS = 7
|
||||
;LOGIN_REMEMBER_DAYS = 31
|
||||
;;
|
||||
;; Name of the cookie used to store the current username.
|
||||
;COOKIE_USERNAME = gitea_awesome
|
||||
|
@ -1485,6 +1485,11 @@ LEVEL = Info
|
|||
;; - manage_ssh_keys: a user cannot configure ssh keys
|
||||
;; - manage_gpg_keys: a user cannot configure gpg keys
|
||||
;USER_DISABLED_FEATURES =
|
||||
;; Comma separated list of disabled features ONLY if the user has an external login type (eg. LDAP, Oauth, etc.), could be `deletion`, `manage_ssh_keys`, `manage_gpg_keys`. This setting is independent from `USER_DISABLED_FEATURES` and supplements its behavior.
|
||||
;; - deletion: a user cannot delete their own account
|
||||
;; - manage_ssh_keys: a user cannot configure ssh keys
|
||||
;; - manage_gpg_keys: a user cannot configure gpg keys
|
||||
;;EXTERNAL_USER_DISABLE_FEATURES =
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
|
|
@ -522,13 +522,17 @@ And the following unique queues:
|
|||
- `deletion`: User cannot delete their own account.
|
||||
- `manage_ssh_keys`: User cannot configure ssh keys.
|
||||
- `manage_gpg_keys`: User cannot configure gpg keys.
|
||||
- `EXTERNAL_USER_DISABLE_FEATURES`: **_empty_**: Comma separated list of disabled features ONLY if the user has an external login type (eg. LDAP, Oauth, etc.), could be `deletion`, `manage_ssh_keys`, `manage_gpg_keys`. This setting is independent from `USER_DISABLED_FEATURES` and supplements its behavior.
|
||||
- `deletion`: User cannot delete their own account.
|
||||
- `manage_ssh_keys`: User cannot configure ssh keys.
|
||||
- `manage_gpg_keys`: User cannot configure gpg keys.
|
||||
|
||||
## Security (`security`)
|
||||
|
||||
- `INSTALL_LOCK`: **false**: Controls access to the installation page. When set to "true", the installation page is not accessible.
|
||||
- `SECRET_KEY`: **\<random at every install\>**: Global secret key. This key is VERY IMPORTANT, if you lost it, the data encrypted by it (like 2FA secret) can't be decrypted anymore.
|
||||
- `SECRET_KEY_URI`: **_empty_**: Instead of defining SECRET_KEY, this option can be used to use the key stored in a file (example value: `file:/etc/gitea/secret_key`). It shouldn't be lost like SECRET_KEY.
|
||||
- `LOGIN_REMEMBER_DAYS`: **7**: Cookie lifetime, in days.
|
||||
- `LOGIN_REMEMBER_DAYS`: **31**: How long to remember that a user is logged in before requiring relogin (in days).
|
||||
- `COOKIE_REMEMBER_NAME`: **gitea\_incredible**: Name of cookie used to store authentication
|
||||
information.
|
||||
- `REVERSE_PROXY_AUTHENTICATION_USER`: **X-WEBAUTH-USER**: Header name for reverse proxy
|
||||
|
|
|
@ -507,7 +507,7 @@ Gitea 创建以下非唯一队列:
|
|||
- `INSTALL_LOCK`: **false**:控制是否能够访问安装向导页面,设置为 `true` 则禁止访问安装向导页面。
|
||||
- `SECRET_KEY`: **\<每次安装时随机生成\>**:全局服务器安全密钥。这个密钥非常重要,如果丢失将无法解密加密的数据(例如 2FA)。
|
||||
- `SECRET_KEY_URI`: **_empty_**:与定义 `SECRET_KEY` 不同,此选项可用于使用存储在文件中的密钥(示例值:`file:/etc/gitea/secret_key`)。它不应该像 `SECRET_KEY` 一样容易丢失。
|
||||
- `LOGIN_REMEMBER_DAYS`: **7**:Cookie 保存时间,单位为天。
|
||||
- `LOGIN_REMEMBER_DAYS`: **31**:在要求重新登录之前,记住用户的登录状态多长时间(以天为单位)。
|
||||
- `COOKIE_REMEMBER_NAME`: **gitea\_incredible**:保存自动登录信息的 Cookie 名称。
|
||||
- `REVERSE_PROXY_AUTHENTICATION_USER`: **X-WEBAUTH-USER**:反向代理认证的 HTTP 头部名称,用于提供用户信息。
|
||||
- `REVERSE_PROXY_AUTHENTICATION_EMAIL`: **X-WEBAUTH-EMAIL**:反向代理认证的 HTTP 头部名称,用于提供邮箱信息。
|
||||
|
|
|
@ -47,7 +47,7 @@ We recommend [Google HTML/CSS Style Guide](https://google.github.io/styleguide/h
|
|||
9. Avoid unnecessary `!important` in CSS, add comments to explain why it's necessary if it can't be avoided.
|
||||
10. Avoid mixing different events in one event listener, prefer to use individual event listeners for every event.
|
||||
11. Custom event names are recommended to use `ce-` prefix.
|
||||
12. Prefer using Tailwind CSS which is available via `tw-` prefix, e.g. `tw-relative`. Gitea's helper CSS classes use `gt-` prefix (`gt-mono`), while Gitea's own private framework-level CSS classes use `g-` prefix (`g-modal-confirm`).
|
||||
12. Prefer using Tailwind CSS which is available via `tw-` prefix, e.g. `tw-relative`. Gitea's helper CSS classes use `gt-` prefix (`gt-word-break`), while Gitea's own private framework-level CSS classes use `g-` prefix (`g-modal-confirm`).
|
||||
13. Avoid inline scripts & styles as much as possible, it's recommended to put JS code into JS files and use CSS classes. If inline scripts & styles are unavoidable, explain the reason why it can't be avoided.
|
||||
|
||||
### Accessibility / ARIA
|
||||
|
|
|
@ -47,7 +47,7 @@ HTML 页面由[Go HTML Template](https://pkg.go.dev/html/template)渲染。
|
|||
9. 避免在 CSS 中使用不必要的`!important`,如果无法避免,添加注释解释为什么需要它。
|
||||
10. 避免在一个事件监听器中混合不同的事件,优先为每个事件使用独立的事件监听器。
|
||||
11. 推荐使用自定义事件名称前缀`ce-`。
|
||||
12. 建议使用 Tailwind CSS,它可以通过 `tw-` 前缀获得,例如 `tw-relative`. Gitea 自身的助手类 CSS 使用 `gt-` 前缀(`gt-mono`),Gitea 自身的私有框架级 CSS 类使用 `g-` 前缀(`g-modal-confirm`)。
|
||||
12. 建议使用 Tailwind CSS,它可以通过 `tw-` 前缀获得,例如 `tw-relative`. Gitea 自身的助手类 CSS 使用 `gt-` 前缀(`gt-word-break`),Gitea 自身的私有框架级 CSS 类使用 `g-` 前缀(`g-modal-confirm`)。
|
||||
13. 尽量避免内联脚本和样式,建议将JS代码放入JS文件中并使用CSS类。如果内联脚本和样式不可避免,请解释无法避免的原因。
|
||||
|
||||
### 可访问性 / ARIA
|
||||
|
|
|
@ -6,13 +6,11 @@ package actions
|
|||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
"code.gitea.io/gitea/models/db"
|
||||
"code.gitea.io/gitea/modules/log"
|
||||
"code.gitea.io/gitea/modules/timeutil"
|
||||
"code.gitea.io/gitea/modules/util"
|
||||
|
||||
"xorm.io/builder"
|
||||
)
|
||||
|
@ -55,24 +53,24 @@ type FindVariablesOpts struct {
|
|||
db.ListOptions
|
||||
OwnerID int64
|
||||
RepoID int64
|
||||
Name string
|
||||
}
|
||||
|
||||
func (opts FindVariablesOpts) ToConds() builder.Cond {
|
||||
cond := builder.NewCond()
|
||||
// Since we now support instance-level variables,
|
||||
// there is no need to check for null values for `owner_id` and `repo_id`
|
||||
cond = cond.And(builder.Eq{"owner_id": opts.OwnerID})
|
||||
cond = cond.And(builder.Eq{"repo_id": opts.RepoID})
|
||||
|
||||
if opts.Name != "" {
|
||||
cond = cond.And(builder.Eq{"name": strings.ToUpper(opts.Name)})
|
||||
}
|
||||
return cond
|
||||
}
|
||||
|
||||
func GetVariableByID(ctx context.Context, variableID int64) (*ActionVariable, error) {
|
||||
var variable ActionVariable
|
||||
has, err := db.GetEngine(ctx).Where("id=?", variableID).Get(&variable)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
} else if !has {
|
||||
return nil, fmt.Errorf("variable with id %d: %w", variableID, util.ErrNotExist)
|
||||
}
|
||||
return &variable, nil
|
||||
func FindVariables(ctx context.Context, opts FindVariablesOpts) ([]*ActionVariable, error) {
|
||||
return db.Find[ActionVariable](ctx, opts)
|
||||
}
|
||||
|
||||
func UpdateVariable(ctx context.Context, variable *ActionVariable) (bool, error) {
|
||||
|
@ -84,6 +82,13 @@ func UpdateVariable(ctx context.Context, variable *ActionVariable) (bool, error)
|
|||
return count != 0, err
|
||||
}
|
||||
|
||||
func DeleteVariable(ctx context.Context, id int64) error {
|
||||
if _, err := db.DeleteByID[ActionVariable](ctx, id); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func GetVariablesOfRun(ctx context.Context, run *ActionRun) (map[string]string, error) {
|
||||
variables := map[string]string{}
|
||||
|
||||
|
|
|
@ -46,6 +46,10 @@ func VerifyGPGKey(ctx context.Context, ownerID int64, keyID, token, signature st
|
|||
return "", ErrGPGKeyNotExist{}
|
||||
}
|
||||
|
||||
if err := key.LoadSubKeys(ctx); err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
sig, err := extractSignature(signature)
|
||||
if err != nil {
|
||||
return "", ErrGPGInvalidTokenSignature{
|
||||
|
|
|
@ -45,3 +45,27 @@
|
|||
type: 2
|
||||
created_unix: 1688973000
|
||||
updated_unix: 1688973000
|
||||
|
||||
-
|
||||
id: 5
|
||||
title: project without default column
|
||||
owner_id: 2
|
||||
repo_id: 0
|
||||
is_closed: false
|
||||
creator_id: 2
|
||||
board_type: 1
|
||||
type: 2
|
||||
created_unix: 1688973000
|
||||
updated_unix: 1688973000
|
||||
|
||||
-
|
||||
id: 6
|
||||
title: project with multiple default columns
|
||||
owner_id: 2
|
||||
repo_id: 0
|
||||
is_closed: false
|
||||
creator_id: 2
|
||||
board_type: 1
|
||||
type: 2
|
||||
created_unix: 1688973000
|
||||
updated_unix: 1688973000
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
project_id: 1
|
||||
title: To Do
|
||||
creator_id: 2
|
||||
default: true
|
||||
created_unix: 1588117528
|
||||
updated_unix: 1588117528
|
||||
|
||||
|
@ -29,3 +30,48 @@
|
|||
creator_id: 2
|
||||
created_unix: 1588117528
|
||||
updated_unix: 1588117528
|
||||
|
||||
-
|
||||
id: 5
|
||||
project_id: 2
|
||||
title: Backlog
|
||||
creator_id: 2
|
||||
default: true
|
||||
created_unix: 1588117528
|
||||
updated_unix: 1588117528
|
||||
|
||||
-
|
||||
id: 6
|
||||
project_id: 4
|
||||
title: Backlog
|
||||
creator_id: 2
|
||||
default: true
|
||||
created_unix: 1588117528
|
||||
updated_unix: 1588117528
|
||||
|
||||
-
|
||||
id: 7
|
||||
project_id: 5
|
||||
title: Done
|
||||
creator_id: 2
|
||||
default: false
|
||||
created_unix: 1588117528
|
||||
updated_unix: 1588117528
|
||||
|
||||
-
|
||||
id: 8
|
||||
project_id: 6
|
||||
title: Backlog
|
||||
creator_id: 2
|
||||
default: true
|
||||
created_unix: 1588117528
|
||||
updated_unix: 1588117528
|
||||
|
||||
-
|
||||
id: 9
|
||||
project_id: 6
|
||||
title: Uncategorized
|
||||
creator_id: 2
|
||||
default: true
|
||||
created_unix: 1588117528
|
||||
updated_unix: 1588117528
|
||||
|
|
|
@ -25,6 +25,7 @@ import (
|
|||
"code.gitea.io/gitea/modules/translation"
|
||||
|
||||
"xorm.io/builder"
|
||||
"xorm.io/xorm"
|
||||
)
|
||||
|
||||
// CommitStatus holds a single Status of a single Commit
|
||||
|
@ -269,44 +270,48 @@ type CommitStatusIndex struct {
|
|||
|
||||
// GetLatestCommitStatus returns all statuses with a unique context for a given commit.
|
||||
func GetLatestCommitStatus(ctx context.Context, repoID int64, sha string, listOptions db.ListOptions) ([]*CommitStatus, int64, error) {
|
||||
ids := make([]int64, 0, 10)
|
||||
sess := db.GetEngine(ctx).Table(&CommitStatus{}).
|
||||
Where("repo_id = ?", repoID).And("sha = ?", sha).
|
||||
Select("max( id ) as id").
|
||||
GroupBy("context_hash").OrderBy("max( id ) desc")
|
||||
getBase := func() *xorm.Session {
|
||||
return db.GetEngine(ctx).Table(&CommitStatus{}).
|
||||
Where("repo_id = ?", repoID).And("sha = ?", sha)
|
||||
}
|
||||
indices := make([]int64, 0, 10)
|
||||
sess := getBase().Select("max( `index` ) as `index`").
|
||||
GroupBy("context_hash").OrderBy("max( `index` ) desc")
|
||||
if !listOptions.IsListAll() {
|
||||
sess = db.SetSessionPagination(sess, &listOptions)
|
||||
}
|
||||
count, err := sess.FindAndCount(&ids)
|
||||
count, err := sess.FindAndCount(&indices)
|
||||
if err != nil {
|
||||
return nil, count, err
|
||||
}
|
||||
statuses := make([]*CommitStatus, 0, len(ids))
|
||||
if len(ids) == 0 {
|
||||
statuses := make([]*CommitStatus, 0, len(indices))
|
||||
if len(indices) == 0 {
|
||||
return statuses, count, nil
|
||||
}
|
||||
return statuses, count, db.GetEngine(ctx).In("id", ids).Find(&statuses)
|
||||
return statuses, count, getBase().And(builder.In("`index`", indices)).Find(&statuses)
|
||||
}
|
||||
|
||||
// GetLatestCommitStatusForPairs returns all statuses with a unique context for a given list of repo-sha pairs
|
||||
func GetLatestCommitStatusForPairs(ctx context.Context, repoIDsToLatestCommitSHAs map[int64]string, listOptions db.ListOptions) (map[int64][]*CommitStatus, error) {
|
||||
type result struct {
|
||||
ID int64
|
||||
Index int64
|
||||
RepoID int64
|
||||
}
|
||||
|
||||
results := make([]result, 0, len(repoIDsToLatestCommitSHAs))
|
||||
|
||||
sess := db.GetEngine(ctx).Table(&CommitStatus{})
|
||||
getBase := func() *xorm.Session {
|
||||
return db.GetEngine(ctx).Table(&CommitStatus{})
|
||||
}
|
||||
|
||||
// Create a disjunction of conditions for each repoID and SHA pair
|
||||
conds := make([]builder.Cond, 0, len(repoIDsToLatestCommitSHAs))
|
||||
for repoID, sha := range repoIDsToLatestCommitSHAs {
|
||||
conds = append(conds, builder.Eq{"repo_id": repoID, "sha": sha})
|
||||
}
|
||||
sess = sess.Where(builder.Or(conds...)).
|
||||
Select("max( id ) as id, repo_id").
|
||||
GroupBy("context_hash, repo_id").OrderBy("max( id ) desc")
|
||||
sess := getBase().Where(builder.Or(conds...)).
|
||||
Select("max( `index` ) as `index`, repo_id").
|
||||
GroupBy("context_hash, repo_id").OrderBy("max( `index` ) desc")
|
||||
|
||||
if !listOptions.IsListAll() {
|
||||
sess = db.SetSessionPagination(sess, &listOptions)
|
||||
|
@ -317,15 +322,21 @@ func GetLatestCommitStatusForPairs(ctx context.Context, repoIDsToLatestCommitSHA
|
|||
return nil, err
|
||||
}
|
||||
|
||||
ids := make([]int64, 0, len(results))
|
||||
repoStatuses := make(map[int64][]*CommitStatus)
|
||||
for _, result := range results {
|
||||
ids = append(ids, result.ID)
|
||||
}
|
||||
|
||||
statuses := make([]*CommitStatus, 0, len(ids))
|
||||
if len(ids) > 0 {
|
||||
err = db.GetEngine(ctx).In("id", ids).Find(&statuses)
|
||||
if len(results) > 0 {
|
||||
statuses := make([]*CommitStatus, 0, len(results))
|
||||
|
||||
conds = make([]builder.Cond, 0, len(results))
|
||||
for _, result := range results {
|
||||
cond := builder.Eq{
|
||||
"`index`": result.Index,
|
||||
"repo_id": result.RepoID,
|
||||
"sha": repoIDsToLatestCommitSHAs[result.RepoID],
|
||||
}
|
||||
conds = append(conds, cond)
|
||||
}
|
||||
err = getBase().Where(builder.Or(conds...)).Find(&statuses)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
@ -342,42 +353,43 @@ func GetLatestCommitStatusForPairs(ctx context.Context, repoIDsToLatestCommitSHA
|
|||
// GetLatestCommitStatusForRepoCommitIDs returns all statuses with a unique context for a given list of repo-sha pairs
|
||||
func GetLatestCommitStatusForRepoCommitIDs(ctx context.Context, repoID int64, commitIDs []string) (map[string][]*CommitStatus, error) {
|
||||
type result struct {
|
||||
ID int64
|
||||
Sha string
|
||||
Index int64
|
||||
SHA string
|
||||
}
|
||||
|
||||
getBase := func() *xorm.Session {
|
||||
return db.GetEngine(ctx).Table(&CommitStatus{}).Where("repo_id = ?", repoID)
|
||||
}
|
||||
results := make([]result, 0, len(commitIDs))
|
||||
|
||||
sess := db.GetEngine(ctx).Table(&CommitStatus{})
|
||||
|
||||
// Create a disjunction of conditions for each repoID and SHA pair
|
||||
conds := make([]builder.Cond, 0, len(commitIDs))
|
||||
for _, sha := range commitIDs {
|
||||
conds = append(conds, builder.Eq{"sha": sha})
|
||||
}
|
||||
sess = sess.Where(builder.Eq{"repo_id": repoID}.And(builder.Or(conds...))).
|
||||
Select("max( id ) as id, sha").
|
||||
GroupBy("context_hash, sha").OrderBy("max( id ) desc")
|
||||
sess := getBase().And(builder.Or(conds...)).
|
||||
Select("max( `index` ) as `index`, sha").
|
||||
GroupBy("context_hash, sha").OrderBy("max( `index` ) desc")
|
||||
|
||||
err := sess.Find(&results)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
ids := make([]int64, 0, len(results))
|
||||
repoStatuses := make(map[string][]*CommitStatus)
|
||||
for _, result := range results {
|
||||
ids = append(ids, result.ID)
|
||||
}
|
||||
|
||||
statuses := make([]*CommitStatus, 0, len(ids))
|
||||
if len(ids) > 0 {
|
||||
err = db.GetEngine(ctx).In("id", ids).Find(&statuses)
|
||||
if len(results) > 0 {
|
||||
statuses := make([]*CommitStatus, 0, len(results))
|
||||
|
||||
conds = make([]builder.Cond, 0, len(results))
|
||||
for _, result := range results {
|
||||
conds = append(conds, builder.Eq{"`index`": result.Index, "sha": result.SHA})
|
||||
}
|
||||
err = getBase().And(builder.Or(conds...)).Find(&statuses)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// Group the statuses by repo ID
|
||||
// Group the statuses by commit
|
||||
for _, status := range statuses {
|
||||
repoStatuses[status.SHA] = append(repoStatuses[status.SHA], status)
|
||||
}
|
||||
|
@ -388,22 +400,36 @@ func GetLatestCommitStatusForRepoCommitIDs(ctx context.Context, repoID int64, co
|
|||
|
||||
// FindRepoRecentCommitStatusContexts returns repository's recent commit status contexts
|
||||
func FindRepoRecentCommitStatusContexts(ctx context.Context, repoID int64, before time.Duration) ([]string, error) {
|
||||
type result struct {
|
||||
Index int64
|
||||
SHA string
|
||||
}
|
||||
getBase := func() *xorm.Session {
|
||||
return db.GetEngine(ctx).Table(&CommitStatus{}).Where("repo_id = ?", repoID)
|
||||
}
|
||||
|
||||
start := timeutil.TimeStampNow().AddDuration(-before)
|
||||
ids := make([]int64, 0, 10)
|
||||
if err := db.GetEngine(ctx).Table("commit_status").
|
||||
Where("repo_id = ?", repoID).
|
||||
And("updated_unix >= ?", start).
|
||||
Select("max( id ) as id").
|
||||
GroupBy("context_hash").OrderBy("max( id ) desc").
|
||||
Find(&ids); err != nil {
|
||||
results := make([]result, 0, 10)
|
||||
|
||||
sess := getBase().And("updated_unix >= ?", start).
|
||||
Select("max( `index` ) as `index`, sha").
|
||||
GroupBy("context_hash, sha").OrderBy("max( `index` ) desc")
|
||||
|
||||
err := sess.Find(&results)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
contexts := make([]string, 0, len(ids))
|
||||
if len(ids) == 0 {
|
||||
contexts := make([]string, 0, len(results))
|
||||
if len(results) == 0 {
|
||||
return contexts, nil
|
||||
}
|
||||
return contexts, db.GetEngine(ctx).Select("context").Table("commit_status").In("id", ids).Find(&contexts)
|
||||
|
||||
conds := make([]builder.Cond, 0, len(results))
|
||||
for _, result := range results {
|
||||
conds = append(conds, builder.Eq{"`index`": result.Index, "sha": result.SHA})
|
||||
}
|
||||
return contexts, getBase().And(builder.Or(conds...)).Select("context").Find(&contexts)
|
||||
}
|
||||
|
||||
// NewCommitStatusOptions holds options for creating a CommitStatus
|
||||
|
|
|
@ -74,6 +74,10 @@ func findCodeComments(ctx context.Context, opts FindCommentsOptions, issue *Issu
|
|||
return nil, err
|
||||
}
|
||||
|
||||
if err := comments.LoadAttachments(ctx); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// Find all reviews by ReviewID
|
||||
reviews := make(map[int64]*Review)
|
||||
ids := make([]int64, 0, len(comments))
|
||||
|
|
|
@ -49,18 +49,13 @@ func (issue *Issue) ProjectBoardID(ctx context.Context) int64 {
|
|||
|
||||
// LoadIssuesFromBoard load issues assigned to this board
|
||||
func LoadIssuesFromBoard(ctx context.Context, b *project_model.Board) (IssueList, error) {
|
||||
issueList := make(IssueList, 0, 10)
|
||||
|
||||
if b.ID > 0 {
|
||||
issues, err := Issues(ctx, &IssuesOptions{
|
||||
ProjectBoardID: b.ID,
|
||||
ProjectID: b.ProjectID,
|
||||
SortType: "project-column-sorting",
|
||||
})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
issueList = issues
|
||||
issueList, err := Issues(ctx, &IssuesOptions{
|
||||
ProjectBoardID: b.ID,
|
||||
ProjectID: b.ProjectID,
|
||||
SortType: "project-column-sorting",
|
||||
})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if b.Default {
|
||||
|
|
|
@ -66,6 +66,23 @@ func (err ErrNotValidReviewRequest) Unwrap() error {
|
|||
return util.ErrInvalidArgument
|
||||
}
|
||||
|
||||
// ErrReviewRequestOnClosedPR represents an error when an user tries to request a re-review on a closed or merged PR.
|
||||
type ErrReviewRequestOnClosedPR struct{}
|
||||
|
||||
// IsErrReviewRequestOnClosedPR checks if an error is an ErrReviewRequestOnClosedPR.
|
||||
func IsErrReviewRequestOnClosedPR(err error) bool {
|
||||
_, ok := err.(ErrReviewRequestOnClosedPR)
|
||||
return ok
|
||||
}
|
||||
|
||||
func (err ErrReviewRequestOnClosedPR) Error() string {
|
||||
return "cannot request a re-review on a closed or merged PR"
|
||||
}
|
||||
|
||||
func (err ErrReviewRequestOnClosedPR) Unwrap() error {
|
||||
return util.ErrPermissionDenied
|
||||
}
|
||||
|
||||
// ReviewType defines the sort of feedback a review gives
|
||||
type ReviewType int
|
||||
|
||||
|
@ -618,9 +635,24 @@ func AddReviewRequest(ctx context.Context, issue *Issue, reviewer, doer *user_mo
|
|||
return nil, err
|
||||
}
|
||||
|
||||
// skip it when reviewer hase been request to review
|
||||
if review != nil && review.Type == ReviewTypeRequest {
|
||||
return nil, committer.Commit() // still commit the transaction, or committer.Close() will rollback it, even if it's a reused transaction.
|
||||
if review != nil {
|
||||
// skip it when reviewer hase been request to review
|
||||
if review.Type == ReviewTypeRequest {
|
||||
return nil, committer.Commit() // still commit the transaction, or committer.Close() will rollback it, even if it's a reused transaction.
|
||||
}
|
||||
|
||||
if issue.IsClosed {
|
||||
return nil, ErrReviewRequestOnClosedPR{}
|
||||
}
|
||||
|
||||
if issue.IsPull {
|
||||
if err := issue.LoadPullRequest(ctx); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if issue.PullRequest.HasMerged {
|
||||
return nil, ErrReviewRequestOnClosedPR{}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// if the reviewer is an official reviewer,
|
||||
|
|
|
@ -288,3 +288,33 @@ func TestDeleteDismissedReview(t *testing.T) {
|
|||
assert.NoError(t, issues_model.DeleteReview(db.DefaultContext, review))
|
||||
unittest.AssertNotExistsBean(t, &issues_model.Comment{ID: comment.ID})
|
||||
}
|
||||
|
||||
func TestAddReviewRequest(t *testing.T) {
|
||||
assert.NoError(t, unittest.PrepareTestDatabase())
|
||||
|
||||
pull := unittest.AssertExistsAndLoadBean(t, &issues_model.PullRequest{ID: 1})
|
||||
assert.NoError(t, pull.LoadIssue(db.DefaultContext))
|
||||
issue := pull.Issue
|
||||
assert.NoError(t, issue.LoadRepo(db.DefaultContext))
|
||||
reviewer := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1})
|
||||
_, err := issues_model.CreateReview(db.DefaultContext, issues_model.CreateReviewOptions{
|
||||
Issue: issue,
|
||||
Reviewer: reviewer,
|
||||
Type: issues_model.ReviewTypeReject,
|
||||
})
|
||||
|
||||
assert.NoError(t, err)
|
||||
pull.HasMerged = false
|
||||
assert.NoError(t, pull.UpdateCols(db.DefaultContext, "has_merged"))
|
||||
issue.IsClosed = true
|
||||
_, err = issues_model.AddReviewRequest(db.DefaultContext, issue, reviewer, &user_model.User{})
|
||||
assert.Error(t, err)
|
||||
assert.True(t, issues_model.IsErrReviewRequestOnClosedPR(err))
|
||||
|
||||
pull.HasMerged = true
|
||||
assert.NoError(t, pull.UpdateCols(db.DefaultContext, "has_merged"))
|
||||
issue.IsClosed = false
|
||||
_, err = issues_model.AddReviewRequest(db.DefaultContext, issue, reviewer, &user_model.User{})
|
||||
assert.Error(t, err)
|
||||
assert.True(t, issues_model.IsErrReviewRequestOnClosedPR(err))
|
||||
}
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
-
|
||||
id: 1
|
||||
title: project without default column
|
||||
owner_id: 2
|
||||
repo_id: 0
|
||||
is_closed: false
|
||||
creator_id: 2
|
||||
board_type: 1
|
||||
type: 2
|
||||
created_unix: 1688973000
|
||||
updated_unix: 1688973000
|
||||
|
||||
-
|
||||
id: 2
|
||||
title: project with multiple default columns
|
||||
owner_id: 2
|
||||
repo_id: 0
|
||||
is_closed: false
|
||||
creator_id: 2
|
||||
board_type: 1
|
||||
type: 2
|
||||
created_unix: 1688973000
|
||||
updated_unix: 1688973000
|
|
@ -0,0 +1,26 @@
|
|||
-
|
||||
id: 1
|
||||
project_id: 1
|
||||
title: Done
|
||||
creator_id: 2
|
||||
default: false
|
||||
created_unix: 1588117528
|
||||
updated_unix: 1588117528
|
||||
|
||||
-
|
||||
id: 2
|
||||
project_id: 2
|
||||
title: Backlog
|
||||
creator_id: 2
|
||||
default: true
|
||||
created_unix: 1588117528
|
||||
updated_unix: 1588117528
|
||||
|
||||
-
|
||||
id: 3
|
||||
project_id: 2
|
||||
title: Uncategorized
|
||||
creator_id: 2
|
||||
default: true
|
||||
created_unix: 1588117528
|
||||
updated_unix: 1588117528
|
|
@ -568,6 +568,10 @@ var migrations = []Migration{
|
|||
NewMigration("Add PayloadVersion to HookTask", v1_22.AddPayloadVersionToHookTaskTable),
|
||||
// v291 -> v292
|
||||
NewMigration("Add Index to attachment.comment_id", v1_22.AddCommentIDIndexofAttachment),
|
||||
// v292 -> v293
|
||||
NewMigration("Ensure every project has exactly one default column - No Op", noopMigration),
|
||||
// v293 -> v294
|
||||
NewMigration("Ensure every project has exactly one default column", v1_22.CheckProjectColumnsConsistency),
|
||||
}
|
||||
|
||||
// GetCurrentDBVersion returns the current db version
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
// Copyright 2024 The Gitea Authors. All rights reserved.
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
package v1_22 //nolint
|
||||
|
||||
// NOTE: noop the original migration has bug which some projects will be skip, so
|
||||
// these projects will have no default board.
|
||||
// So that this migration will be skipped and go to v293.go
|
||||
// This file is a placeholder so that readers can know what happened
|
|
@ -0,0 +1,108 @@
|
|||
// Copyright 2024 The Gitea Authors. All rights reserved.
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
package v1_22 //nolint
|
||||
|
||||
import (
|
||||
"code.gitea.io/gitea/modules/setting"
|
||||
"code.gitea.io/gitea/modules/timeutil"
|
||||
|
||||
"xorm.io/xorm"
|
||||
)
|
||||
|
||||
// CheckProjectColumnsConsistency ensures there is exactly one default board per project present
|
||||
func CheckProjectColumnsConsistency(x *xorm.Engine) error {
|
||||
sess := x.NewSession()
|
||||
defer sess.Close()
|
||||
|
||||
limit := setting.Database.IterateBufferSize
|
||||
if limit <= 0 {
|
||||
limit = 50
|
||||
}
|
||||
|
||||
type Project struct {
|
||||
ID int64
|
||||
CreatorID int64
|
||||
BoardID int64
|
||||
}
|
||||
|
||||
type ProjectBoard struct {
|
||||
ID int64 `xorm:"pk autoincr"`
|
||||
Title string
|
||||
Default bool `xorm:"NOT NULL DEFAULT false"` // issues not assigned to a specific board will be assigned to this board
|
||||
Sorting int8 `xorm:"NOT NULL DEFAULT 0"`
|
||||
Color string `xorm:"VARCHAR(7)"`
|
||||
|
||||
ProjectID int64 `xorm:"INDEX NOT NULL"`
|
||||
CreatorID int64 `xorm:"NOT NULL"`
|
||||
|
||||
CreatedUnix timeutil.TimeStamp `xorm:"INDEX created"`
|
||||
UpdatedUnix timeutil.TimeStamp `xorm:"INDEX updated"`
|
||||
}
|
||||
|
||||
for {
|
||||
if err := sess.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// all these projects without defaults will be fixed in the same loop, so
|
||||
// we just need to always get projects without defaults until no such project
|
||||
var projects []*Project
|
||||
if err := sess.Select("project.id as id, project.creator_id, project_board.id as board_id").
|
||||
Join("LEFT", "project_board", "project_board.project_id = project.id AND project_board.`default`=?", true).
|
||||
Where("project_board.id is NULL OR project_board.id = 0").
|
||||
Limit(limit).
|
||||
Find(&projects); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
for _, p := range projects {
|
||||
if _, err := sess.Insert(ProjectBoard{
|
||||
ProjectID: p.ID,
|
||||
Default: true,
|
||||
Title: "Uncategorized",
|
||||
CreatorID: p.CreatorID,
|
||||
}); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
if err := sess.Commit(); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if len(projects) == 0 {
|
||||
break
|
||||
}
|
||||
}
|
||||
sess.Close()
|
||||
|
||||
return removeDuplicatedBoardDefault(x)
|
||||
}
|
||||
|
||||
func removeDuplicatedBoardDefault(x *xorm.Engine) error {
|
||||
type ProjectInfo struct {
|
||||
ProjectID int64
|
||||
DefaultNum int
|
||||
}
|
||||
var projects []ProjectInfo
|
||||
if err := x.Select("project_id, count(*) AS default_num").
|
||||
Table("project_board").
|
||||
Where("`default` = ?", true).
|
||||
GroupBy("project_id").
|
||||
Having("count(*) > 1").
|
||||
Find(&projects); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
for _, project := range projects {
|
||||
if _, err := x.Where("project_id=?", project.ProjectID).
|
||||
Table("project_board").
|
||||
Limit(project.DefaultNum - 1).
|
||||
Update(map[string]bool{
|
||||
"`default`": false,
|
||||
}); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
|
@ -0,0 +1,44 @@
|
|||
// Copyright 2024 The Gitea Authors. All rights reserved.
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
package v1_22 //nolint
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"code.gitea.io/gitea/models/db"
|
||||
"code.gitea.io/gitea/models/migrations/base"
|
||||
"code.gitea.io/gitea/models/project"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func Test_CheckProjectColumnsConsistency(t *testing.T) {
|
||||
// Prepare and load the testing database
|
||||
x, deferable := base.PrepareTestEnv(t, 0, new(project.Project), new(project.Board))
|
||||
defer deferable()
|
||||
if x == nil || t.Failed() {
|
||||
return
|
||||
}
|
||||
|
||||
assert.NoError(t, CheckProjectColumnsConsistency(x))
|
||||
|
||||
// check if default board was added
|
||||
var defaultBoard project.Board
|
||||
has, err := x.Where("project_id=? AND `default` = ?", 1, true).Get(&defaultBoard)
|
||||
assert.NoError(t, err)
|
||||
assert.True(t, has)
|
||||
assert.Equal(t, int64(1), defaultBoard.ProjectID)
|
||||
assert.True(t, defaultBoard.Default)
|
||||
|
||||
// check if multiple defaults, previous were removed and last will be kept
|
||||
expectDefaultBoard, err := project.GetBoard(db.DefaultContext, 2)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, int64(2), expectDefaultBoard.ProjectID)
|
||||
assert.False(t, expectDefaultBoard.Default)
|
||||
|
||||
expectNonDefaultBoard, err := project.GetBoard(db.DefaultContext, 3)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, int64(2), expectNonDefaultBoard.ProjectID)
|
||||
assert.True(t, expectNonDefaultBoard.Default)
|
||||
}
|
|
@ -123,6 +123,17 @@ func createBoardsForProjectsType(ctx context.Context, project *Project) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
board := Board{
|
||||
CreatedUnix: timeutil.TimeStampNow(),
|
||||
CreatorID: project.CreatorID,
|
||||
Title: "Backlog",
|
||||
ProjectID: project.ID,
|
||||
Default: true,
|
||||
}
|
||||
if err := db.Insert(ctx, board); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if len(items) == 0 {
|
||||
return nil
|
||||
}
|
||||
|
@ -176,6 +187,10 @@ func deleteBoardByID(ctx context.Context, boardID int64) error {
|
|||
return err
|
||||
}
|
||||
|
||||
if board.Default {
|
||||
return fmt.Errorf("deleteBoardByID: cannot delete default board")
|
||||
}
|
||||
|
||||
if err = board.removeIssues(ctx); err != nil {
|
||||
return err
|
||||
}
|
||||
|
@ -194,7 +209,6 @@ func deleteBoardByProjectID(ctx context.Context, projectID int64) error {
|
|||
// GetBoard fetches the current board of a project
|
||||
func GetBoard(ctx context.Context, boardID int64) (*Board, error) {
|
||||
board := new(Board)
|
||||
|
||||
has, err := db.GetEngine(ctx).ID(boardID).Get(board)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
@ -228,7 +242,6 @@ func UpdateBoard(ctx context.Context, board *Board) error {
|
|||
}
|
||||
|
||||
// GetBoards fetches all boards related to a project
|
||||
// if no default board set, first board is a temporary "Uncategorized" board
|
||||
func (p *Project) GetBoards(ctx context.Context) (BoardList, error) {
|
||||
boards := make([]*Board, 0, 5)
|
||||
|
||||
|
@ -244,53 +257,64 @@ func (p *Project) GetBoards(ctx context.Context) (BoardList, error) {
|
|||
return append([]*Board{defaultB}, boards...), nil
|
||||
}
|
||||
|
||||
// getDefaultBoard return default board and create a dummy if none exist
|
||||
// getDefaultBoard return default board and ensure only one exists
|
||||
func (p *Project) getDefaultBoard(ctx context.Context) (*Board, error) {
|
||||
var board Board
|
||||
exist, err := db.GetEngine(ctx).Where("project_id=? AND `default`=?", p.ID, true).Get(&board)
|
||||
has, err := db.GetEngine(ctx).
|
||||
Where("project_id=? AND `default` = ?", p.ID, true).
|
||||
Desc("id").Get(&board)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if exist {
|
||||
|
||||
if has {
|
||||
return &board, nil
|
||||
}
|
||||
|
||||
// represents a board for issues not assigned to one
|
||||
return &Board{
|
||||
// create a default board if none is found
|
||||
board = Board{
|
||||
ProjectID: p.ID,
|
||||
Title: "Uncategorized",
|
||||
Default: true,
|
||||
}, nil
|
||||
Title: "Uncategorized",
|
||||
CreatorID: p.CreatorID,
|
||||
}
|
||||
if _, err := db.GetEngine(ctx).Insert(&board); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &board, nil
|
||||
}
|
||||
|
||||
// SetDefaultBoard represents a board for issues not assigned to one
|
||||
// if boardID is 0 unset default
|
||||
func SetDefaultBoard(ctx context.Context, projectID, boardID int64) error {
|
||||
_, err := db.GetEngine(ctx).Where(builder.Eq{
|
||||
"project_id": projectID,
|
||||
"`default`": true,
|
||||
}).Cols("`default`").Update(&Board{Default: false})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return db.WithTx(ctx, func(ctx context.Context) error {
|
||||
if _, err := GetBoard(ctx, boardID); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if boardID > 0 {
|
||||
_, err = db.GetEngine(ctx).ID(boardID).Where(builder.Eq{"project_id": projectID}).
|
||||
if _, err := db.GetEngine(ctx).Where(builder.Eq{
|
||||
"project_id": projectID,
|
||||
"`default`": true,
|
||||
}).Cols("`default`").Update(&Board{Default: false}); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
_, err := db.GetEngine(ctx).ID(boardID).
|
||||
Where(builder.Eq{"project_id": projectID}).
|
||||
Cols("`default`").Update(&Board{Default: true})
|
||||
}
|
||||
|
||||
return err
|
||||
return err
|
||||
})
|
||||
}
|
||||
|
||||
// UpdateBoardSorting update project board sorting
|
||||
func UpdateBoardSorting(ctx context.Context, bs BoardList) error {
|
||||
for i := range bs {
|
||||
_, err := db.GetEngine(ctx).ID(bs[i].ID).Cols(
|
||||
"sorting",
|
||||
).Update(bs[i])
|
||||
if err != nil {
|
||||
return err
|
||||
return db.WithTx(ctx, func(ctx context.Context) error {
|
||||
for i := range bs {
|
||||
if _, err := db.GetEngine(ctx).ID(bs[i].ID).Cols(
|
||||
"sorting",
|
||||
).Update(bs[i]); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
return nil
|
||||
})
|
||||
}
|
||||
|
|
|
@ -0,0 +1,44 @@
|
|||
// Copyright 2020 The Gitea Authors. All rights reserved.
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
package project
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"code.gitea.io/gitea/models/db"
|
||||
"code.gitea.io/gitea/models/unittest"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestGetDefaultBoard(t *testing.T) {
|
||||
assert.NoError(t, unittest.PrepareTestDatabase())
|
||||
|
||||
projectWithoutDefault, err := GetProjectByID(db.DefaultContext, 5)
|
||||
assert.NoError(t, err)
|
||||
|
||||
// check if default board was added
|
||||
board, err := projectWithoutDefault.getDefaultBoard(db.DefaultContext)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, int64(5), board.ProjectID)
|
||||
assert.Equal(t, "Uncategorized", board.Title)
|
||||
|
||||
projectWithMultipleDefaults, err := GetProjectByID(db.DefaultContext, 6)
|
||||
assert.NoError(t, err)
|
||||
|
||||
// check if multiple defaults were removed
|
||||
board, err = projectWithMultipleDefaults.getDefaultBoard(db.DefaultContext)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, int64(6), board.ProjectID)
|
||||
assert.Equal(t, int64(9), board.ID)
|
||||
|
||||
// set 8 as default board
|
||||
assert.NoError(t, SetDefaultBoard(db.DefaultContext, board.ProjectID, 8))
|
||||
|
||||
// then 9 will become a non-default board
|
||||
board, err = GetBoard(db.DefaultContext, 9)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, int64(6), board.ProjectID)
|
||||
assert.False(t, board.Default)
|
||||
}
|
|
@ -92,19 +92,19 @@ func TestProjectsSort(t *testing.T) {
|
|||
}{
|
||||
{
|
||||
sortType: "default",
|
||||
wants: []int64{1, 3, 2, 4},
|
||||
wants: []int64{1, 3, 2, 6, 5, 4},
|
||||
},
|
||||
{
|
||||
sortType: "oldest",
|
||||
wants: []int64{4, 2, 3, 1},
|
||||
wants: []int64{4, 5, 6, 2, 3, 1},
|
||||
},
|
||||
{
|
||||
sortType: "recentupdate",
|
||||
wants: []int64{1, 3, 2, 4},
|
||||
wants: []int64{1, 3, 2, 6, 5, 4},
|
||||
},
|
||||
{
|
||||
sortType: "leastupdate",
|
||||
wants: []int64{4, 2, 3, 1},
|
||||
wants: []int64{4, 5, 6, 2, 3, 1},
|
||||
},
|
||||
}
|
||||
|
||||
|
@ -113,8 +113,8 @@ func TestProjectsSort(t *testing.T) {
|
|||
OrderBy: GetSearchOrderByBySortType(tt.sortType),
|
||||
})
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, int64(4), count)
|
||||
if assert.Len(t, projects, 4) {
|
||||
assert.EqualValues(t, int64(6), count)
|
||||
if assert.Len(t, projects, 6) {
|
||||
for i := range projects {
|
||||
assert.EqualValues(t, tt.wants[i], projects[i].ID)
|
||||
}
|
||||
|
|
|
@ -178,7 +178,7 @@ type FindTopicOptions struct {
|
|||
Keyword string
|
||||
}
|
||||
|
||||
func (opts *FindTopicOptions) toConds() builder.Cond {
|
||||
func (opts *FindTopicOptions) ToConds() builder.Cond {
|
||||
cond := builder.NewCond()
|
||||
if opts.RepoID > 0 {
|
||||
cond = cond.And(builder.Eq{"repo_topic.repo_id": opts.RepoID})
|
||||
|
@ -191,29 +191,24 @@ func (opts *FindTopicOptions) toConds() builder.Cond {
|
|||
return cond
|
||||
}
|
||||
|
||||
// FindTopics retrieves the topics via FindTopicOptions
|
||||
func FindTopics(ctx context.Context, opts *FindTopicOptions) ([]*Topic, int64, error) {
|
||||
sess := db.GetEngine(ctx).Select("topic.*").Where(opts.toConds())
|
||||
func (opts *FindTopicOptions) ToOrders() string {
|
||||
orderBy := "topic.repo_count DESC"
|
||||
if opts.RepoID > 0 {
|
||||
sess.Join("INNER", "repo_topic", "repo_topic.topic_id = topic.id")
|
||||
orderBy = "topic.name" // when render topics for a repo, it's better to sort them by name, to get consistent result
|
||||
}
|
||||
if opts.PageSize != 0 && opts.Page != 0 {
|
||||
sess = db.SetSessionPagination(sess, opts)
|
||||
}
|
||||
topics := make([]*Topic, 0, 10)
|
||||
total, err := sess.OrderBy(orderBy).FindAndCount(&topics)
|
||||
return topics, total, err
|
||||
return orderBy
|
||||
}
|
||||
|
||||
// CountTopics counts the number of topics matching the FindTopicOptions
|
||||
func CountTopics(ctx context.Context, opts *FindTopicOptions) (int64, error) {
|
||||
sess := db.GetEngine(ctx).Where(opts.toConds())
|
||||
if opts.RepoID > 0 {
|
||||
sess.Join("INNER", "repo_topic", "repo_topic.topic_id = topic.id")
|
||||
func (opts *FindTopicOptions) ToJoins() []db.JoinFunc {
|
||||
if opts.RepoID <= 0 {
|
||||
return nil
|
||||
}
|
||||
return []db.JoinFunc{
|
||||
func(e db.Engine) error {
|
||||
e.Join("INNER", "repo_topic", "repo_topic.topic_id = topic.id")
|
||||
return nil
|
||||
},
|
||||
}
|
||||
return sess.Count(new(Topic))
|
||||
}
|
||||
|
||||
// GetRepoTopicByName retrieves topic from name for a repo if it exist
|
||||
|
@ -283,7 +278,7 @@ func DeleteTopic(ctx context.Context, repoID int64, topicName string) (*Topic, e
|
|||
|
||||
// SaveTopics save topics to a repository
|
||||
func SaveTopics(ctx context.Context, repoID int64, topicNames ...string) error {
|
||||
topics, _, err := FindTopics(ctx, &FindTopicOptions{
|
||||
topics, err := db.Find[Topic](ctx, &FindTopicOptions{
|
||||
RepoID: repoID,
|
||||
})
|
||||
if err != nil {
|
||||
|
|
|
@ -19,18 +19,18 @@ func TestAddTopic(t *testing.T) {
|
|||
|
||||
assert.NoError(t, unittest.PrepareTestDatabase())
|
||||
|
||||
topics, _, err := repo_model.FindTopics(db.DefaultContext, &repo_model.FindTopicOptions{})
|
||||
topics, err := db.Find[repo_model.Topic](db.DefaultContext, &repo_model.FindTopicOptions{})
|
||||
assert.NoError(t, err)
|
||||
assert.Len(t, topics, totalNrOfTopics)
|
||||
|
||||
topics, total, err := repo_model.FindTopics(db.DefaultContext, &repo_model.FindTopicOptions{
|
||||
topics, total, err := db.FindAndCount[repo_model.Topic](db.DefaultContext, &repo_model.FindTopicOptions{
|
||||
ListOptions: db.ListOptions{Page: 1, PageSize: 2},
|
||||
})
|
||||
assert.NoError(t, err)
|
||||
assert.Len(t, topics, 2)
|
||||
assert.EqualValues(t, 6, total)
|
||||
|
||||
topics, _, err = repo_model.FindTopics(db.DefaultContext, &repo_model.FindTopicOptions{
|
||||
topics, err = db.Find[repo_model.Topic](db.DefaultContext, &repo_model.FindTopicOptions{
|
||||
RepoID: 1,
|
||||
})
|
||||
assert.NoError(t, err)
|
||||
|
@ -38,11 +38,11 @@ func TestAddTopic(t *testing.T) {
|
|||
|
||||
assert.NoError(t, repo_model.SaveTopics(db.DefaultContext, 2, "golang"))
|
||||
repo2NrOfTopics := 1
|
||||
topics, _, err = repo_model.FindTopics(db.DefaultContext, &repo_model.FindTopicOptions{})
|
||||
topics, err = db.Find[repo_model.Topic](db.DefaultContext, &repo_model.FindTopicOptions{})
|
||||
assert.NoError(t, err)
|
||||
assert.Len(t, topics, totalNrOfTopics)
|
||||
|
||||
topics, _, err = repo_model.FindTopics(db.DefaultContext, &repo_model.FindTopicOptions{
|
||||
topics, err = db.Find[repo_model.Topic](db.DefaultContext, &repo_model.FindTopicOptions{
|
||||
RepoID: 2,
|
||||
})
|
||||
assert.NoError(t, err)
|
||||
|
@ -55,11 +55,11 @@ func TestAddTopic(t *testing.T) {
|
|||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 1, topic.RepoCount)
|
||||
|
||||
topics, _, err = repo_model.FindTopics(db.DefaultContext, &repo_model.FindTopicOptions{})
|
||||
topics, err = db.Find[repo_model.Topic](db.DefaultContext, &repo_model.FindTopicOptions{})
|
||||
assert.NoError(t, err)
|
||||
assert.Len(t, topics, totalNrOfTopics)
|
||||
|
||||
topics, _, err = repo_model.FindTopics(db.DefaultContext, &repo_model.FindTopicOptions{
|
||||
topics, err = db.Find[repo_model.Topic](db.DefaultContext, &repo_model.FindTopicOptions{
|
||||
RepoID: 2,
|
||||
})
|
||||
assert.NoError(t, err)
|
||||
|
|
|
@ -1232,3 +1232,21 @@ func GetOrderByName() string {
|
|||
}
|
||||
return "name"
|
||||
}
|
||||
|
||||
// IsFeatureDisabledWithLoginType checks if a user feature is disabled, taking into account the login type of the
|
||||
// user if applicable
|
||||
func IsFeatureDisabledWithLoginType(user *User, feature string) bool {
|
||||
// NOTE: in the long run it may be better to check the ExternalLoginUser table rather than user.LoginType
|
||||
return (user != nil && user.LoginType > auth.Plain && setting.Admin.ExternalUserDisableFeatures.Contains(feature)) ||
|
||||
setting.Admin.UserDisabledFeatures.Contains(feature)
|
||||
}
|
||||
|
||||
// DisabledFeaturesWithLoginType returns the set of user features disabled, taking into account the login type
|
||||
// of the user if applicable
|
||||
func DisabledFeaturesWithLoginType(user *User) *container.Set[string] {
|
||||
// NOTE: in the long run it may be better to check the ExternalLoginUser table rather than user.LoginType
|
||||
if user != nil && user.LoginType > auth.Plain {
|
||||
return &setting.Admin.ExternalUserDisableFeatures
|
||||
}
|
||||
return &setting.Admin.UserDisabledFeatures
|
||||
}
|
||||
|
|
|
@ -16,6 +16,7 @@ import (
|
|||
"code.gitea.io/gitea/models/unittest"
|
||||
user_model "code.gitea.io/gitea/models/user"
|
||||
"code.gitea.io/gitea/modules/auth/password/hash"
|
||||
"code.gitea.io/gitea/modules/container"
|
||||
"code.gitea.io/gitea/modules/optional"
|
||||
"code.gitea.io/gitea/modules/setting"
|
||||
"code.gitea.io/gitea/modules/structs"
|
||||
|
@ -526,3 +527,37 @@ func Test_NormalizeUserFromEmail(t *testing.T) {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestDisabledUserFeatures(t *testing.T) {
|
||||
assert.NoError(t, unittest.PrepareTestDatabase())
|
||||
|
||||
testValues := container.SetOf(setting.UserFeatureDeletion,
|
||||
setting.UserFeatureManageSSHKeys,
|
||||
setting.UserFeatureManageGPGKeys)
|
||||
|
||||
oldSetting := setting.Admin.ExternalUserDisableFeatures
|
||||
defer func() {
|
||||
setting.Admin.ExternalUserDisableFeatures = oldSetting
|
||||
}()
|
||||
setting.Admin.ExternalUserDisableFeatures = testValues
|
||||
|
||||
user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1})
|
||||
|
||||
assert.Len(t, setting.Admin.UserDisabledFeatures.Values(), 0)
|
||||
|
||||
// no features should be disabled with a plain login type
|
||||
assert.LessOrEqual(t, user.LoginType, auth.Plain)
|
||||
assert.Len(t, user_model.DisabledFeaturesWithLoginType(user).Values(), 0)
|
||||
for _, f := range testValues.Values() {
|
||||
assert.False(t, user_model.IsFeatureDisabledWithLoginType(user, f))
|
||||
}
|
||||
|
||||
// check disabled features with external login type
|
||||
user.LoginType = auth.OAuth2
|
||||
|
||||
// all features should be disabled
|
||||
assert.NotEmpty(t, user_model.DisabledFeaturesWithLoginType(user).Values())
|
||||
for _, f := range testValues.Values() {
|
||||
assert.True(t, user_model.IsFeatureDisabledWithLoginType(user, f))
|
||||
}
|
||||
}
|
||||
|
|
|
@ -47,6 +47,12 @@ func convertPGPSignature(c *object.Commit) *CommitGPGSignature {
|
|||
return nil
|
||||
}
|
||||
|
||||
if c.Encoding != "" && c.Encoding != "UTF-8" {
|
||||
if _, err = fmt.Fprintf(&w, "\nencoding %s\n", c.Encoding); err != nil {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
if _, err = fmt.Fprintf(&w, "\n\n%s", c.Message); err != nil {
|
||||
return nil
|
||||
}
|
||||
|
|
|
@ -84,6 +84,8 @@ readLoop:
|
|||
commit.Committer = &Signature{}
|
||||
commit.Committer.Decode(data)
|
||||
_, _ = payloadSB.Write(line)
|
||||
case "encoding":
|
||||
_, _ = payloadSB.Write(line)
|
||||
case "gpgsig":
|
||||
fallthrough
|
||||
case "gpgsig-sha256": // FIXME: no intertop, so only 1 exists at present.
|
||||
|
|
|
@ -125,6 +125,73 @@ empty commit`, commitFromReader.Signature.Payload)
|
|||
assert.EqualValues(t, commitFromReader, commitFromReader2)
|
||||
}
|
||||
|
||||
func TestCommitWithEncodingFromReader(t *testing.T) {
|
||||
commitString := `feaf4ba6bc635fec442f46ddd4512416ec43c2c2 commit 1074
|
||||
tree ca3fad42080dd1a6d291b75acdfc46e5b9b307e5
|
||||
parent 47b24e7ab977ed31c5a39989d570847d6d0052af
|
||||
author KN4CK3R <admin@oldschoolhack.me> 1711702962 +0100
|
||||
committer KN4CK3R <admin@oldschoolhack.me> 1711702962 +0100
|
||||
encoding ISO-8859-1
|
||||
gpgsig -----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQGzBAABCgAdFiEE9HRrbqvYxPT8PXbefPSEkrowAa8FAmYGg7IACgkQfPSEkrow
|
||||
Aa9olwv+P0HhtCM6CRvlUmPaqswRsDPNR4i66xyXGiSxdI9V5oJL7HLiQIM7KrFR
|
||||
gizKa2COiGtugv8fE+TKqXKaJx6uJUJEjaBd8E9Af9PrAzjWj+A84lU6/PgPS8hq
|
||||
zOfZraLOEWRH4tZcS+u2yFLu3ez2Wqh1xW5LNy7xqEedMXEFD1HwSJ0+pjacNkzr
|
||||
frp6Asyt7xRI6YmgFJZJoRsS3Ktr6rtKeRL2IErSQQyorOqj6gKrglhrhfG/114j
|
||||
FKB1v4or0WZ1DE8iP2SJZ3n+/K1IuWAINh7MVdb7PndfBPEa+IL+ucNk5uzEE8Jd
|
||||
G8smGxXUeFEt2cP1dj2W8EgAxuA9sTnH9dqI5aRqy5ifDjuya7Emm8sdOUvtGdmn
|
||||
SONRzusmu5n3DgV956REL7x62h7JuqmBz/12HZkr0z0zgXkcZ04q08pSJATX5N1F
|
||||
yN+tWxTsWg+zhDk96d5Esdo9JMjcFvPv0eioo30GAERaz1hoD7zCMT4jgUFTQwgz
|
||||
jw4YcO5u
|
||||
=r3UU
|
||||
-----END PGP SIGNATURE-----
|
||||
|
||||
ISO-8859-1`
|
||||
|
||||
sha := &Sha1Hash{0xfe, 0xaf, 0x4b, 0xa6, 0xbc, 0x63, 0x5f, 0xec, 0x44, 0x2f, 0x46, 0xdd, 0xd4, 0x51, 0x24, 0x16, 0xec, 0x43, 0xc2, 0xc2}
|
||||
gitRepo, err := openRepositoryWithDefaultContext(filepath.Join(testReposDir, "repo1_bare"))
|
||||
assert.NoError(t, err)
|
||||
assert.NotNil(t, gitRepo)
|
||||
defer gitRepo.Close()
|
||||
|
||||
commitFromReader, err := CommitFromReader(gitRepo, sha, strings.NewReader(commitString))
|
||||
assert.NoError(t, err)
|
||||
if !assert.NotNil(t, commitFromReader) {
|
||||
return
|
||||
}
|
||||
assert.EqualValues(t, sha, commitFromReader.ID)
|
||||
assert.EqualValues(t, `-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQGzBAABCgAdFiEE9HRrbqvYxPT8PXbefPSEkrowAa8FAmYGg7IACgkQfPSEkrow
|
||||
Aa9olwv+P0HhtCM6CRvlUmPaqswRsDPNR4i66xyXGiSxdI9V5oJL7HLiQIM7KrFR
|
||||
gizKa2COiGtugv8fE+TKqXKaJx6uJUJEjaBd8E9Af9PrAzjWj+A84lU6/PgPS8hq
|
||||
zOfZraLOEWRH4tZcS+u2yFLu3ez2Wqh1xW5LNy7xqEedMXEFD1HwSJ0+pjacNkzr
|
||||
frp6Asyt7xRI6YmgFJZJoRsS3Ktr6rtKeRL2IErSQQyorOqj6gKrglhrhfG/114j
|
||||
FKB1v4or0WZ1DE8iP2SJZ3n+/K1IuWAINh7MVdb7PndfBPEa+IL+ucNk5uzEE8Jd
|
||||
G8smGxXUeFEt2cP1dj2W8EgAxuA9sTnH9dqI5aRqy5ifDjuya7Emm8sdOUvtGdmn
|
||||
SONRzusmu5n3DgV956REL7x62h7JuqmBz/12HZkr0z0zgXkcZ04q08pSJATX5N1F
|
||||
yN+tWxTsWg+zhDk96d5Esdo9JMjcFvPv0eioo30GAERaz1hoD7zCMT4jgUFTQwgz
|
||||
jw4YcO5u
|
||||
=r3UU
|
||||
-----END PGP SIGNATURE-----
|
||||
`, commitFromReader.Signature.Signature)
|
||||
assert.EqualValues(t, `tree ca3fad42080dd1a6d291b75acdfc46e5b9b307e5
|
||||
parent 47b24e7ab977ed31c5a39989d570847d6d0052af
|
||||
author KN4CK3R <admin@oldschoolhack.me> 1711702962 +0100
|
||||
committer KN4CK3R <admin@oldschoolhack.me> 1711702962 +0100
|
||||
encoding ISO-8859-1
|
||||
|
||||
ISO-8859-1`, commitFromReader.Signature.Payload)
|
||||
assert.EqualValues(t, "KN4CK3R <admin@oldschoolhack.me>", commitFromReader.Author.String())
|
||||
|
||||
commitFromReader2, err := CommitFromReader(gitRepo, sha, strings.NewReader(commitString+"\n\n"))
|
||||
assert.NoError(t, err)
|
||||
commitFromReader.CommitMessage += "\n\n"
|
||||
commitFromReader.Signature.Payload += "\n\n"
|
||||
assert.EqualValues(t, commitFromReader, commitFromReader2)
|
||||
}
|
||||
|
||||
func TestHasPreviousCommit(t *testing.T) {
|
||||
bareRepo1Path := filepath.Join(testReposDir, "repo1_bare")
|
||||
|
||||
|
|
|
@ -4,19 +4,14 @@
|
|||
package markdown
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"fmt"
|
||||
"regexp"
|
||||
"strings"
|
||||
|
||||
"code.gitea.io/gitea/modules/container"
|
||||
"code.gitea.io/gitea/modules/markup"
|
||||
"code.gitea.io/gitea/modules/markup/common"
|
||||
"code.gitea.io/gitea/modules/setting"
|
||||
"code.gitea.io/gitea/modules/svg"
|
||||
giteautil "code.gitea.io/gitea/modules/util"
|
||||
|
||||
"github.com/microcosm-cc/bluemonday/css"
|
||||
"github.com/yuin/goldmark/ast"
|
||||
east "github.com/yuin/goldmark/extension/ast"
|
||||
"github.com/yuin/goldmark/parser"
|
||||
|
@ -28,12 +23,12 @@ import (
|
|||
|
||||
// ASTTransformer is a default transformer of the goldmark tree.
|
||||
type ASTTransformer struct {
|
||||
AttentionTypes container.Set[string]
|
||||
attentionTypes container.Set[string]
|
||||
}
|
||||
|
||||
func NewASTTransformer() *ASTTransformer {
|
||||
return &ASTTransformer{
|
||||
AttentionTypes: container.SetOf("note", "tip", "important", "warning", "caution"),
|
||||
attentionTypes: container.SetOf("note", "tip", "important", "warning", "caution"),
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -66,123 +61,15 @@ func (g *ASTTransformer) Transform(node *ast.Document, reader text.Reader, pc pa
|
|||
|
||||
switch v := n.(type) {
|
||||
case *ast.Heading:
|
||||
for _, attr := range v.Attributes() {
|
||||
if _, ok := attr.Value.([]byte); !ok {
|
||||
v.SetAttribute(attr.Name, []byte(fmt.Sprintf("%v", attr.Value)))
|
||||
}
|
||||
}
|
||||
txt := n.Text(reader.Source())
|
||||
header := markup.Header{
|
||||
Text: util.BytesToReadOnlyString(txt),
|
||||
Level: v.Level,
|
||||
}
|
||||
if id, found := v.AttributeString("id"); found {
|
||||
header.ID = util.BytesToReadOnlyString(id.([]byte))
|
||||
}
|
||||
tocList = append(tocList, header)
|
||||
g.applyElementDir(v)
|
||||
g.transformHeading(ctx, v, reader, &tocList)
|
||||
case *ast.Paragraph:
|
||||
g.applyElementDir(v)
|
||||
case *ast.Image:
|
||||
// Images need two things:
|
||||
//
|
||||
// 1. Their src needs to munged to be a real value
|
||||
// 2. If they're not wrapped with a link they need a link wrapper
|
||||
|
||||
// Check if the destination is a real link
|
||||
if len(v.Destination) > 0 && !markup.IsFullURLBytes(v.Destination) {
|
||||
v.Destination = []byte(giteautil.URLJoin(
|
||||
ctx.Links.ResolveMediaLink(ctx.IsWiki),
|
||||
strings.TrimLeft(string(v.Destination), "/"),
|
||||
))
|
||||
}
|
||||
|
||||
parent := n.Parent()
|
||||
// Create a link around image only if parent is not already a link
|
||||
if _, ok := parent.(*ast.Link); !ok && parent != nil {
|
||||
next := n.NextSibling()
|
||||
|
||||
// Create a link wrapper
|
||||
wrap := ast.NewLink()
|
||||
wrap.Destination = v.Destination
|
||||
wrap.Title = v.Title
|
||||
wrap.SetAttributeString("target", []byte("_blank"))
|
||||
|
||||
// Duplicate the current image node
|
||||
image := ast.NewImage(ast.NewLink())
|
||||
image.Destination = v.Destination
|
||||
image.Title = v.Title
|
||||
for _, attr := range v.Attributes() {
|
||||
image.SetAttribute(attr.Name, attr.Value)
|
||||
}
|
||||
for child := v.FirstChild(); child != nil; {
|
||||
next := child.NextSibling()
|
||||
image.AppendChild(image, child)
|
||||
child = next
|
||||
}
|
||||
|
||||
// Append our duplicate image to the wrapper link
|
||||
wrap.AppendChild(wrap, image)
|
||||
|
||||
// Wire in the next sibling
|
||||
wrap.SetNextSibling(next)
|
||||
|
||||
// Replace the current node with the wrapper link
|
||||
parent.ReplaceChild(parent, n, wrap)
|
||||
|
||||
// But most importantly ensure the next sibling is still on the old image too
|
||||
v.SetNextSibling(next)
|
||||
}
|
||||
g.transformImage(ctx, v, reader)
|
||||
case *ast.Link:
|
||||
// Links need their href to munged to be a real value
|
||||
link := v.Destination
|
||||
isAnchorFragment := len(link) > 0 && link[0] == '#'
|
||||
if !isAnchorFragment && !markup.IsFullURLBytes(link) {
|
||||
base := ctx.Links.Base
|
||||
if ctx.IsWiki {
|
||||
base = ctx.Links.WikiLink()
|
||||
} else if ctx.Links.HasBranchInfo() {
|
||||
base = ctx.Links.SrcLink()
|
||||
}
|
||||
link = []byte(giteautil.URLJoin(base, string(link)))
|
||||
}
|
||||
if isAnchorFragment {
|
||||
link = []byte("#user-content-" + string(link)[1:])
|
||||
}
|
||||
v.Destination = link
|
||||
g.transformLink(ctx, v, reader)
|
||||
case *ast.List:
|
||||
if v.HasChildren() {
|
||||
children := make([]ast.Node, 0, v.ChildCount())
|
||||
child := v.FirstChild()
|
||||
for child != nil {
|
||||
children = append(children, child)
|
||||
child = child.NextSibling()
|
||||
}
|
||||
v.RemoveChildren(v)
|
||||
|
||||
for _, child := range children {
|
||||
listItem := child.(*ast.ListItem)
|
||||
if !child.HasChildren() || !child.FirstChild().HasChildren() {
|
||||
v.AppendChild(v, child)
|
||||
continue
|
||||
}
|
||||
taskCheckBox, ok := child.FirstChild().FirstChild().(*east.TaskCheckBox)
|
||||
if !ok {
|
||||
v.AppendChild(v, child)
|
||||
continue
|
||||
}
|
||||
newChild := NewTaskCheckBoxListItem(listItem)
|
||||
newChild.IsChecked = taskCheckBox.IsChecked
|
||||
newChild.SetAttributeString("class", []byte("task-list-item"))
|
||||
segments := newChild.FirstChild().Lines()
|
||||
if segments.Len() > 0 {
|
||||
segment := segments.At(0)
|
||||
newChild.SourcePosition = rc.metaLength + segment.Start
|
||||
}
|
||||
v.AppendChild(v, newChild)
|
||||
}
|
||||
}
|
||||
g.applyElementDir(v)
|
||||
g.transformList(ctx, v, reader, rc)
|
||||
case *ast.Text:
|
||||
if v.SoftLineBreak() && !v.HardLineBreak() {
|
||||
if ctx.Metas["mode"] != "document" {
|
||||
|
@ -192,10 +79,7 @@ func (g *ASTTransformer) Transform(node *ast.Document, reader text.Reader, pc pa
|
|||
}
|
||||
}
|
||||
case *ast.CodeSpan:
|
||||
colorContent := n.Text(reader.Source())
|
||||
if css.ColorHandler(strings.ToLower(string(colorContent))) {
|
||||
v.AppendChild(v, NewColorPreview(colorContent))
|
||||
}
|
||||
g.transformCodeSpan(ctx, v, reader)
|
||||
case *ast.Blockquote:
|
||||
return g.transformBlockquote(v, reader)
|
||||
}
|
||||
|
@ -219,50 +103,6 @@ func (g *ASTTransformer) Transform(node *ast.Document, reader text.Reader, pc pa
|
|||
}
|
||||
}
|
||||
|
||||
type prefixedIDs struct {
|
||||
values container.Set[string]
|
||||
}
|
||||
|
||||
// Generate generates a new element id.
|
||||
func (p *prefixedIDs) Generate(value []byte, kind ast.NodeKind) []byte {
|
||||
dft := []byte("id")
|
||||
if kind == ast.KindHeading {
|
||||
dft = []byte("heading")
|
||||
}
|
||||
return p.GenerateWithDefault(value, dft)
|
||||
}
|
||||
|
||||
// GenerateWithDefault generates a new element id.
|
||||
func (p *prefixedIDs) GenerateWithDefault(value, dft []byte) []byte {
|
||||
result := common.CleanValue(value)
|
||||
if len(result) == 0 {
|
||||
result = dft
|
||||
}
|
||||
if !bytes.HasPrefix(result, []byte("user-content-")) {
|
||||
result = append([]byte("user-content-"), result...)
|
||||
}
|
||||
if p.values.Add(util.BytesToReadOnlyString(result)) {
|
||||
return result
|
||||
}
|
||||
for i := 1; ; i++ {
|
||||
newResult := fmt.Sprintf("%s-%d", result, i)
|
||||
if p.values.Add(newResult) {
|
||||
return []byte(newResult)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Put puts a given element id to the used ids table.
|
||||
func (p *prefixedIDs) Put(value []byte) {
|
||||
p.values.Add(util.BytesToReadOnlyString(value))
|
||||
}
|
||||
|
||||
func newPrefixedIDs() *prefixedIDs {
|
||||
return &prefixedIDs{
|
||||
values: make(container.Set[string]),
|
||||
}
|
||||
}
|
||||
|
||||
// NewHTMLRenderer creates a HTMLRenderer to render
|
||||
// in the gitea form.
|
||||
func NewHTMLRenderer(opts ...html.Option) renderer.NodeRenderer {
|
||||
|
@ -295,60 +135,6 @@ func (r *HTMLRenderer) RegisterFuncs(reg renderer.NodeRendererFuncRegisterer) {
|
|||
reg.Register(east.KindTaskCheckBox, r.renderTaskCheckBox)
|
||||
}
|
||||
|
||||
// renderCodeSpan renders CodeSpan elements (like goldmark upstream does) but also renders ColorPreview elements.
|
||||
// See #21474 for reference
|
||||
func (r *HTMLRenderer) renderCodeSpan(w util.BufWriter, source []byte, n ast.Node, entering bool) (ast.WalkStatus, error) {
|
||||
if entering {
|
||||
if n.Attributes() != nil {
|
||||
_, _ = w.WriteString("<code")
|
||||
html.RenderAttributes(w, n, html.CodeAttributeFilter)
|
||||
_ = w.WriteByte('>')
|
||||
} else {
|
||||
_, _ = w.WriteString("<code>")
|
||||
}
|
||||
for c := n.FirstChild(); c != nil; c = c.NextSibling() {
|
||||
switch v := c.(type) {
|
||||
case *ast.Text:
|
||||
segment := v.Segment
|
||||
value := segment.Value(source)
|
||||
if bytes.HasSuffix(value, []byte("\n")) {
|
||||
r.Writer.RawWrite(w, value[:len(value)-1])
|
||||
r.Writer.RawWrite(w, []byte(" "))
|
||||
} else {
|
||||
r.Writer.RawWrite(w, value)
|
||||
}
|
||||
case *ColorPreview:
|
||||
_, _ = w.WriteString(fmt.Sprintf(`<span class="color-preview" style="background-color: %v"></span>`, string(v.Color)))
|
||||
}
|
||||
}
|
||||
return ast.WalkSkipChildren, nil
|
||||
}
|
||||
_, _ = w.WriteString("</code>")
|
||||
return ast.WalkContinue, nil
|
||||
}
|
||||
|
||||
// renderAttention renders a quote marked with i.e. "> **Note**" or "> **Warning**" with a corresponding svg
|
||||
func (r *HTMLRenderer) renderAttention(w util.BufWriter, source []byte, node ast.Node, entering bool) (ast.WalkStatus, error) {
|
||||
if entering {
|
||||
n := node.(*Attention)
|
||||
var octiconName string
|
||||
switch n.AttentionType {
|
||||
case "tip":
|
||||
octiconName = "light-bulb"
|
||||
case "important":
|
||||
octiconName = "report"
|
||||
case "warning":
|
||||
octiconName = "alert"
|
||||
case "caution":
|
||||
octiconName = "stop"
|
||||
default: // including "note"
|
||||
octiconName = "info"
|
||||
}
|
||||
_, _ = w.WriteString(string(svg.RenderHTML("octicon-"+octiconName, 16, "attention-icon attention-"+n.AttentionType)))
|
||||
}
|
||||
return ast.WalkContinue, nil
|
||||
}
|
||||
|
||||
func (r *HTMLRenderer) renderDocument(w util.BufWriter, source []byte, node ast.Node, entering bool) (ast.WalkStatus, error) {
|
||||
n := node.(*ast.Document)
|
||||
|
||||
|
@ -435,38 +221,3 @@ func (r *HTMLRenderer) renderIcon(w util.BufWriter, source []byte, node ast.Node
|
|||
|
||||
return ast.WalkContinue, nil
|
||||
}
|
||||
|
||||
func (r *HTMLRenderer) renderTaskCheckBoxListItem(w util.BufWriter, source []byte, node ast.Node, entering bool) (ast.WalkStatus, error) {
|
||||
n := node.(*TaskCheckBoxListItem)
|
||||
if entering {
|
||||
if n.Attributes() != nil {
|
||||
_, _ = w.WriteString("<li")
|
||||
html.RenderAttributes(w, n, html.ListItemAttributeFilter)
|
||||
_ = w.WriteByte('>')
|
||||
} else {
|
||||
_, _ = w.WriteString("<li>")
|
||||
}
|
||||
fmt.Fprintf(w, `<input type="checkbox" disabled="" data-source-position="%d"`, n.SourcePosition)
|
||||
if n.IsChecked {
|
||||
_, _ = w.WriteString(` checked=""`)
|
||||
}
|
||||
if r.XHTML {
|
||||
_, _ = w.WriteString(` />`)
|
||||
} else {
|
||||
_ = w.WriteByte('>')
|
||||
}
|
||||
fc := n.FirstChild()
|
||||
if fc != nil {
|
||||
if _, ok := fc.(*ast.TextBlock); !ok {
|
||||
_ = w.WriteByte('\n')
|
||||
}
|
||||
}
|
||||
} else {
|
||||
_, _ = w.WriteString("</li>\n")
|
||||
}
|
||||
return ast.WalkContinue, nil
|
||||
}
|
||||
|
||||
func (r *HTMLRenderer) renderTaskCheckBox(w util.BufWriter, source []byte, node ast.Node, entering bool) (ast.WalkStatus, error) {
|
||||
return ast.WalkContinue, nil
|
||||
}
|
||||
|
|
|
@ -436,6 +436,10 @@ func TestColorPreview(t *testing.T) {
|
|||
testcase string
|
||||
expected string
|
||||
}{
|
||||
{ // do not render color names
|
||||
"The CSS class `red` is there",
|
||||
"<p>The CSS class <code>red</code> is there</p>\n",
|
||||
},
|
||||
{ // hex
|
||||
"`#FF0000`",
|
||||
`<p><code>#FF0000<span class="color-preview" style="background-color: #FF0000"></span></code></p>` + nl,
|
||||
|
@ -445,8 +449,8 @@ func TestColorPreview(t *testing.T) {
|
|||
`<p><code>rgb(16, 32, 64)<span class="color-preview" style="background-color: rgb(16, 32, 64)"></span></code></p>` + nl,
|
||||
},
|
||||
{ // short hex
|
||||
"This is the color white `#000`",
|
||||
`<p>This is the color white <code>#000<span class="color-preview" style="background-color: #000"></span></code></p>` + nl,
|
||||
"This is the color white `#0a0`",
|
||||
`<p>This is the color white <code>#0a0<span class="color-preview" style="background-color: #0a0"></span></code></p>` + nl,
|
||||
},
|
||||
{ // hsl
|
||||
"HSL stands for hue, saturation, and lightness. An example: `hsl(0, 100%, 50%)`.",
|
||||
|
|
|
@ -0,0 +1,59 @@
|
|||
// Copyright 2024 The Gitea Authors. All rights reserved.
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
package markdown
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"fmt"
|
||||
|
||||
"code.gitea.io/gitea/modules/container"
|
||||
"code.gitea.io/gitea/modules/markup/common"
|
||||
|
||||
"github.com/yuin/goldmark/ast"
|
||||
"github.com/yuin/goldmark/util"
|
||||
)
|
||||
|
||||
type prefixedIDs struct {
|
||||
values container.Set[string]
|
||||
}
|
||||
|
||||
// Generate generates a new element id.
|
||||
func (p *prefixedIDs) Generate(value []byte, kind ast.NodeKind) []byte {
|
||||
dft := []byte("id")
|
||||
if kind == ast.KindHeading {
|
||||
dft = []byte("heading")
|
||||
}
|
||||
return p.GenerateWithDefault(value, dft)
|
||||
}
|
||||
|
||||
// GenerateWithDefault generates a new element id.
|
||||
func (p *prefixedIDs) GenerateWithDefault(value, dft []byte) []byte {
|
||||
result := common.CleanValue(value)
|
||||
if len(result) == 0 {
|
||||
result = dft
|
||||
}
|
||||
if !bytes.HasPrefix(result, []byte("user-content-")) {
|
||||
result = append([]byte("user-content-"), result...)
|
||||
}
|
||||
if p.values.Add(util.BytesToReadOnlyString(result)) {
|
||||
return result
|
||||
}
|
||||
for i := 1; ; i++ {
|
||||
newResult := fmt.Sprintf("%s-%d", result, i)
|
||||
if p.values.Add(newResult) {
|
||||
return []byte(newResult)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Put puts a given element id to the used ids table.
|
||||
func (p *prefixedIDs) Put(value []byte) {
|
||||
p.values.Add(util.BytesToReadOnlyString(value))
|
||||
}
|
||||
|
||||
func newPrefixedIDs() *prefixedIDs {
|
||||
return &prefixedIDs{
|
||||
values: make(container.Set[string]),
|
||||
}
|
||||
}
|
|
@ -6,12 +6,37 @@ package markdown
|
|||
import (
|
||||
"strings"
|
||||
|
||||
"code.gitea.io/gitea/modules/svg"
|
||||
|
||||
"github.com/yuin/goldmark/ast"
|
||||
"github.com/yuin/goldmark/text"
|
||||
"github.com/yuin/goldmark/util"
|
||||
"golang.org/x/text/cases"
|
||||
"golang.org/x/text/language"
|
||||
)
|
||||
|
||||
// renderAttention renders a quote marked with i.e. "> **Note**" or "> **Warning**" with a corresponding svg
|
||||
func (r *HTMLRenderer) renderAttention(w util.BufWriter, source []byte, node ast.Node, entering bool) (ast.WalkStatus, error) {
|
||||
if entering {
|
||||
n := node.(*Attention)
|
||||
var octiconName string
|
||||
switch n.AttentionType {
|
||||
case "tip":
|
||||
octiconName = "light-bulb"
|
||||
case "important":
|
||||
octiconName = "report"
|
||||
case "warning":
|
||||
octiconName = "alert"
|
||||
case "caution":
|
||||
octiconName = "stop"
|
||||
default: // including "note"
|
||||
octiconName = "info"
|
||||
}
|
||||
_, _ = w.WriteString(string(svg.RenderHTML("octicon-"+octiconName, 16, "attention-icon attention-"+n.AttentionType)))
|
||||
}
|
||||
return ast.WalkContinue, nil
|
||||
}
|
||||
|
||||
func (g *ASTTransformer) transformBlockquote(v *ast.Blockquote, reader text.Reader) (ast.WalkStatus, error) {
|
||||
// We only want attention blockquotes when the AST looks like:
|
||||
// > Text("[") Text("!TYPE") Text("]")
|
||||
|
@ -22,10 +47,16 @@ func (g *ASTTransformer) transformBlockquote(v *ast.Blockquote, reader text.Read
|
|||
if firstParagraph.ChildCount() < 3 {
|
||||
return ast.WalkContinue, nil
|
||||
}
|
||||
node1, ok1 := firstParagraph.FirstChild().(*ast.Text)
|
||||
node2, ok2 := node1.NextSibling().(*ast.Text)
|
||||
node3, ok3 := node2.NextSibling().(*ast.Text)
|
||||
if !ok1 || !ok2 || !ok3 {
|
||||
node1, ok := firstParagraph.FirstChild().(*ast.Text)
|
||||
if !ok {
|
||||
return ast.WalkContinue, nil
|
||||
}
|
||||
node2, ok := node1.NextSibling().(*ast.Text)
|
||||
if !ok {
|
||||
return ast.WalkContinue, nil
|
||||
}
|
||||
node3, ok := node2.NextSibling().(*ast.Text)
|
||||
if !ok {
|
||||
return ast.WalkContinue, nil
|
||||
}
|
||||
val1 := string(node1.Segment.Value(reader.Source()))
|
||||
|
@ -37,7 +68,7 @@ func (g *ASTTransformer) transformBlockquote(v *ast.Blockquote, reader text.Read
|
|||
|
||||
// grab attention type from markdown source
|
||||
attentionType := strings.ToLower(val2[1:])
|
||||
if !g.AttentionTypes.Contains(attentionType) {
|
||||
if !g.attentionTypes.Contains(attentionType) {
|
||||
return ast.WalkContinue, nil
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,76 @@
|
|||
// Copyright 2024 The Gitea Authors. All rights reserved.
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
package markdown
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
"code.gitea.io/gitea/modules/markup"
|
||||
|
||||
"github.com/microcosm-cc/bluemonday/css"
|
||||
"github.com/yuin/goldmark/ast"
|
||||
"github.com/yuin/goldmark/renderer/html"
|
||||
"github.com/yuin/goldmark/text"
|
||||
"github.com/yuin/goldmark/util"
|
||||
)
|
||||
|
||||
// renderCodeSpan renders CodeSpan elements (like goldmark upstream does) but also renders ColorPreview elements.
|
||||
// See #21474 for reference
|
||||
func (r *HTMLRenderer) renderCodeSpan(w util.BufWriter, source []byte, n ast.Node, entering bool) (ast.WalkStatus, error) {
|
||||
if entering {
|
||||
if n.Attributes() != nil {
|
||||
_, _ = w.WriteString("<code")
|
||||
html.RenderAttributes(w, n, html.CodeAttributeFilter)
|
||||
_ = w.WriteByte('>')
|
||||
} else {
|
||||
_, _ = w.WriteString("<code>")
|
||||
}
|
||||
for c := n.FirstChild(); c != nil; c = c.NextSibling() {
|
||||
switch v := c.(type) {
|
||||
case *ast.Text:
|
||||
segment := v.Segment
|
||||
value := segment.Value(source)
|
||||
if bytes.HasSuffix(value, []byte("\n")) {
|
||||
r.Writer.RawWrite(w, value[:len(value)-1])
|
||||
r.Writer.RawWrite(w, []byte(" "))
|
||||
} else {
|
||||
r.Writer.RawWrite(w, value)
|
||||
}
|
||||
case *ColorPreview:
|
||||
_, _ = w.WriteString(fmt.Sprintf(`<span class="color-preview" style="background-color: %v"></span>`, string(v.Color)))
|
||||
}
|
||||
}
|
||||
return ast.WalkSkipChildren, nil
|
||||
}
|
||||
_, _ = w.WriteString("</code>")
|
||||
return ast.WalkContinue, nil
|
||||
}
|
||||
|
||||
// cssColorHandler checks if a string is a render-able CSS color value.
|
||||
// The code is from "github.com/microcosm-cc/bluemonday/css.ColorHandler", except that it doesn't handle color words like "red".
|
||||
func cssColorHandler(value string) bool {
|
||||
value = strings.ToLower(value)
|
||||
if css.HexRGB.MatchString(value) {
|
||||
return true
|
||||
}
|
||||
if css.RGB.MatchString(value) {
|
||||
return true
|
||||
}
|
||||
if css.RGBA.MatchString(value) {
|
||||
return true
|
||||
}
|
||||
if css.HSL.MatchString(value) {
|
||||
return true
|
||||
}
|
||||
return css.HSLA.MatchString(value)
|
||||
}
|
||||
|
||||
func (g *ASTTransformer) transformCodeSpan(ctx *markup.RenderContext, v *ast.CodeSpan, reader text.Reader) {
|
||||
colorContent := v.Text(reader.Source())
|
||||
if cssColorHandler(string(colorContent)) {
|
||||
v.AppendChild(v, NewColorPreview(colorContent))
|
||||
}
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
// Copyright 2024 The Gitea Authors. All rights reserved.
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
package markdown
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"code.gitea.io/gitea/modules/markup"
|
||||
|
||||
"github.com/yuin/goldmark/ast"
|
||||
"github.com/yuin/goldmark/text"
|
||||
"github.com/yuin/goldmark/util"
|
||||
)
|
||||
|
||||
func (g *ASTTransformer) transformHeading(ctx *markup.RenderContext, v *ast.Heading, reader text.Reader, tocList *[]markup.Header) {
|
||||
for _, attr := range v.Attributes() {
|
||||
if _, ok := attr.Value.([]byte); !ok {
|
||||
v.SetAttribute(attr.Name, []byte(fmt.Sprintf("%v", attr.Value)))
|
||||
}
|
||||
}
|
||||
txt := v.Text(reader.Source())
|
||||
header := markup.Header{
|
||||
Text: util.BytesToReadOnlyString(txt),
|
||||
Level: v.Level,
|
||||
}
|
||||
if id, found := v.AttributeString("id"); found {
|
||||
header.ID = util.BytesToReadOnlyString(id.([]byte))
|
||||
}
|
||||
*tocList = append(*tocList, header)
|
||||
g.applyElementDir(v)
|
||||
}
|
|
@ -0,0 +1,66 @@
|
|||
// Copyright 2024 The Gitea Authors. All rights reserved.
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
package markdown
|
||||
|
||||
import (
|
||||
"strings"
|
||||
|
||||
"code.gitea.io/gitea/modules/markup"
|
||||
giteautil "code.gitea.io/gitea/modules/util"
|
||||
|
||||
"github.com/yuin/goldmark/ast"
|
||||
"github.com/yuin/goldmark/text"
|
||||
)
|
||||
|
||||
func (g *ASTTransformer) transformImage(ctx *markup.RenderContext, v *ast.Image, reader text.Reader) {
|
||||
// Images need two things:
|
||||
//
|
||||
// 1. Their src needs to munged to be a real value
|
||||
// 2. If they're not wrapped with a link they need a link wrapper
|
||||
|
||||
// Check if the destination is a real link
|
||||
if len(v.Destination) > 0 && !markup.IsFullURLBytes(v.Destination) {
|
||||
v.Destination = []byte(giteautil.URLJoin(
|
||||
ctx.Links.ResolveMediaLink(ctx.IsWiki),
|
||||
strings.TrimLeft(string(v.Destination), "/"),
|
||||
))
|
||||
}
|
||||
|
||||
parent := v.Parent()
|
||||
// Create a link around image only if parent is not already a link
|
||||
if _, ok := parent.(*ast.Link); !ok && parent != nil {
|
||||
next := v.NextSibling()
|
||||
|
||||
// Create a link wrapper
|
||||
wrap := ast.NewLink()
|
||||
wrap.Destination = v.Destination
|
||||
wrap.Title = v.Title
|
||||
wrap.SetAttributeString("target", []byte("_blank"))
|
||||
|
||||
// Duplicate the current image node
|
||||
image := ast.NewImage(ast.NewLink())
|
||||
image.Destination = v.Destination
|
||||
image.Title = v.Title
|
||||
for _, attr := range v.Attributes() {
|
||||
image.SetAttribute(attr.Name, attr.Value)
|
||||
}
|
||||
for child := v.FirstChild(); child != nil; {
|
||||
next := child.NextSibling()
|
||||
image.AppendChild(image, child)
|
||||
child = next
|
||||
}
|
||||
|
||||
// Append our duplicate image to the wrapper link
|
||||
wrap.AppendChild(wrap, image)
|
||||
|
||||
// Wire in the next sibling
|
||||
wrap.SetNextSibling(next)
|
||||
|
||||
// Replace the current node with the wrapper link
|
||||
parent.ReplaceChild(parent, v, wrap)
|
||||
|
||||
// But most importantly ensure the next sibling is still on the old image too
|
||||
v.SetNextSibling(next)
|
||||
}
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
// Copyright 2024 The Gitea Authors. All rights reserved.
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
package markdown
|
||||
|
||||
import (
|
||||
"code.gitea.io/gitea/modules/markup"
|
||||
giteautil "code.gitea.io/gitea/modules/util"
|
||||
|
||||
"github.com/yuin/goldmark/ast"
|
||||
"github.com/yuin/goldmark/text"
|
||||
)
|
||||
|
||||
func (g *ASTTransformer) transformLink(ctx *markup.RenderContext, v *ast.Link, reader text.Reader) {
|
||||
// Links need their href to munged to be a real value
|
||||
link := v.Destination
|
||||
isAnchorFragment := len(link) > 0 && link[0] == '#'
|
||||
if !isAnchorFragment && !markup.IsFullURLBytes(link) {
|
||||
base := ctx.Links.Base
|
||||
if ctx.IsWiki {
|
||||
base = ctx.Links.WikiLink()
|
||||
} else if ctx.Links.HasBranchInfo() {
|
||||
base = ctx.Links.SrcLink()
|
||||
}
|
||||
link = []byte(giteautil.URLJoin(base, string(link)))
|
||||
}
|
||||
if isAnchorFragment {
|
||||
link = []byte("#user-content-" + string(link)[1:])
|
||||
}
|
||||
v.Destination = link
|
||||
}
|
|
@ -0,0 +1,86 @@
|
|||
// Copyright 2024 The Gitea Authors. All rights reserved.
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
package markdown
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"code.gitea.io/gitea/modules/markup"
|
||||
|
||||
"github.com/yuin/goldmark/ast"
|
||||
east "github.com/yuin/goldmark/extension/ast"
|
||||
"github.com/yuin/goldmark/renderer/html"
|
||||
"github.com/yuin/goldmark/text"
|
||||
"github.com/yuin/goldmark/util"
|
||||
)
|
||||
|
||||
func (r *HTMLRenderer) renderTaskCheckBoxListItem(w util.BufWriter, source []byte, node ast.Node, entering bool) (ast.WalkStatus, error) {
|
||||
n := node.(*TaskCheckBoxListItem)
|
||||
if entering {
|
||||
if n.Attributes() != nil {
|
||||
_, _ = w.WriteString("<li")
|
||||
html.RenderAttributes(w, n, html.ListItemAttributeFilter)
|
||||
_ = w.WriteByte('>')
|
||||
} else {
|
||||
_, _ = w.WriteString("<li>")
|
||||
}
|
||||
fmt.Fprintf(w, `<input type="checkbox" disabled="" data-source-position="%d"`, n.SourcePosition)
|
||||
if n.IsChecked {
|
||||
_, _ = w.WriteString(` checked=""`)
|
||||
}
|
||||
if r.XHTML {
|
||||
_, _ = w.WriteString(` />`)
|
||||
} else {
|
||||
_ = w.WriteByte('>')
|
||||
}
|
||||
fc := n.FirstChild()
|
||||
if fc != nil {
|
||||
if _, ok := fc.(*ast.TextBlock); !ok {
|
||||
_ = w.WriteByte('\n')
|
||||
}
|
||||
}
|
||||
} else {
|
||||
_, _ = w.WriteString("</li>\n")
|
||||
}
|
||||
return ast.WalkContinue, nil
|
||||
}
|
||||
|
||||
func (r *HTMLRenderer) renderTaskCheckBox(w util.BufWriter, source []byte, node ast.Node, entering bool) (ast.WalkStatus, error) {
|
||||
return ast.WalkContinue, nil
|
||||
}
|
||||
|
||||
func (g *ASTTransformer) transformList(ctx *markup.RenderContext, v *ast.List, reader text.Reader, rc *RenderConfig) {
|
||||
if v.HasChildren() {
|
||||
children := make([]ast.Node, 0, v.ChildCount())
|
||||
child := v.FirstChild()
|
||||
for child != nil {
|
||||
children = append(children, child)
|
||||
child = child.NextSibling()
|
||||
}
|
||||
v.RemoveChildren(v)
|
||||
|
||||
for _, child := range children {
|
||||
listItem := child.(*ast.ListItem)
|
||||
if !child.HasChildren() || !child.FirstChild().HasChildren() {
|
||||
v.AppendChild(v, child)
|
||||
continue
|
||||
}
|
||||
taskCheckBox, ok := child.FirstChild().FirstChild().(*east.TaskCheckBox)
|
||||
if !ok {
|
||||
v.AppendChild(v, child)
|
||||
continue
|
||||
}
|
||||
newChild := NewTaskCheckBoxListItem(listItem)
|
||||
newChild.IsChecked = taskCheckBox.IsChecked
|
||||
newChild.SetAttributeString("class", []byte("task-list-item"))
|
||||
segments := newChild.FirstChild().Lines()
|
||||
if segments.Len() > 0 {
|
||||
segment := segments.At(0)
|
||||
newChild.SourcePosition = rc.metaLength + segment.Start
|
||||
}
|
||||
v.AppendChild(v, newChild)
|
||||
}
|
||||
}
|
||||
g.applyElementDir(v)
|
||||
}
|
|
@ -3,13 +3,16 @@
|
|||
|
||||
package setting
|
||||
|
||||
import "code.gitea.io/gitea/modules/container"
|
||||
import (
|
||||
"code.gitea.io/gitea/modules/container"
|
||||
)
|
||||
|
||||
// Admin settings
|
||||
var Admin struct {
|
||||
DisableRegularOrgCreation bool
|
||||
DefaultEmailNotification string
|
||||
UserDisabledFeatures container.Set[string]
|
||||
DisableRegularOrgCreation bool
|
||||
DefaultEmailNotification string
|
||||
UserDisabledFeatures container.Set[string]
|
||||
ExternalUserDisableFeatures container.Set[string]
|
||||
}
|
||||
|
||||
func loadAdminFrom(rootCfg ConfigProvider) {
|
||||
|
@ -17,6 +20,7 @@ func loadAdminFrom(rootCfg ConfigProvider) {
|
|||
Admin.DisableRegularOrgCreation = sec.Key("DISABLE_REGULAR_ORG_CREATION").MustBool(false)
|
||||
Admin.DefaultEmailNotification = sec.Key("DEFAULT_EMAIL_NOTIFICATIONS").MustString("enabled")
|
||||
Admin.UserDisabledFeatures = container.SetOf(sec.Key("USER_DISABLED_FEATURES").Strings(",")...)
|
||||
Admin.ExternalUserDisableFeatures = container.SetOf(sec.Key("EXTERNAL_USER_DISABLE_FEATURES").Strings(",")...)
|
||||
}
|
||||
|
||||
const (
|
||||
|
|
|
@ -58,7 +58,7 @@ func loadIndexerFrom(rootCfg ConfigProvider) {
|
|||
if !filepath.IsAbs(Indexer.IssuePath) {
|
||||
Indexer.IssuePath = filepath.ToSlash(filepath.Join(AppWorkPath, Indexer.IssuePath))
|
||||
}
|
||||
fatalDuplicatedPath("issue_indexer", Indexer.IssuePath)
|
||||
checkOverlappedPath("indexer.ISSUE_INDEXER_PATH", Indexer.IssuePath)
|
||||
} else {
|
||||
Indexer.IssueConnStr = sec.Key("ISSUE_INDEXER_CONN_STR").MustString(Indexer.IssueConnStr)
|
||||
if Indexer.IssueType == "meilisearch" {
|
||||
|
|
|
@ -66,12 +66,8 @@ func init() {
|
|||
AppWorkPath = filepath.Dir(AppPath)
|
||||
}
|
||||
|
||||
fatalDuplicatedPath("app_work_path", AppWorkPath)
|
||||
|
||||
appWorkPathBuiltin = AppWorkPath
|
||||
customPathBuiltin = CustomPath
|
||||
|
||||
fatalDuplicatedPath("custom_path", CustomPath)
|
||||
customConfBuiltin = CustomConf
|
||||
}
|
||||
|
||||
|
|
|
@ -286,7 +286,7 @@ func loadRepositoryFrom(rootCfg ConfigProvider) {
|
|||
RepoRootPath = filepath.Clean(RepoRootPath)
|
||||
}
|
||||
|
||||
fatalDuplicatedPath("repository.ROOT", RepoRootPath)
|
||||
checkOverlappedPath("repository.ROOT", RepoRootPath)
|
||||
|
||||
defaultDetectedCharsetsOrder := make([]string, 0, len(Repository.DetectedCharsetsOrder))
|
||||
for _, charset := range Repository.DetectedCharsetsOrder {
|
||||
|
|
|
@ -103,7 +103,7 @@ func generateSaveInternalToken(rootCfg ConfigProvider) {
|
|||
func loadSecurityFrom(rootCfg ConfigProvider) {
|
||||
sec := rootCfg.Section("security")
|
||||
InstallLock = HasInstallLock(rootCfg)
|
||||
LogInRememberDays = sec.Key("LOGIN_REMEMBER_DAYS").MustInt(7)
|
||||
LogInRememberDays = sec.Key("LOGIN_REMEMBER_DAYS").MustInt(31)
|
||||
SecretKey = loadSecret(sec, "SECRET_KEY_URI", "SECRET_KEY")
|
||||
if SecretKey == "" {
|
||||
// FIXME: https://github.com/go-gitea/gitea/issues/16832
|
||||
|
|
|
@ -324,7 +324,6 @@ func loadServerFrom(rootCfg ConfigProvider) {
|
|||
if !filepath.IsAbs(AppDataPath) {
|
||||
AppDataPath = filepath.ToSlash(filepath.Join(AppWorkPath, AppDataPath))
|
||||
}
|
||||
fatalDuplicatedPath("app_data_path", AppDataPath)
|
||||
|
||||
EnableGzip = sec.Key("ENABLE_GZIP").MustBool()
|
||||
EnablePprof = sec.Key("ENABLE_PPROF").MustBool(false)
|
||||
|
@ -332,7 +331,7 @@ func loadServerFrom(rootCfg ConfigProvider) {
|
|||
if !filepath.IsAbs(PprofDataPath) {
|
||||
PprofDataPath = filepath.Join(AppWorkPath, PprofDataPath)
|
||||
}
|
||||
fatalDuplicatedPath("pprof_data_path", PprofDataPath)
|
||||
checkOverlappedPath("server.PPROF_DATA_PATH", PprofDataPath)
|
||||
|
||||
landingPage := sec.Key("LANDING_PAGE").MustString("home")
|
||||
switch landingPage {
|
||||
|
|
|
@ -46,7 +46,7 @@ func loadSessionFrom(rootCfg ConfigProvider) {
|
|||
SessionConfig.ProviderConfig = strings.Trim(sec.Key("PROVIDER_CONFIG").MustString(filepath.Join(AppDataPath, "sessions")), "\" ")
|
||||
if SessionConfig.Provider == "file" && !filepath.IsAbs(SessionConfig.ProviderConfig) {
|
||||
SessionConfig.ProviderConfig = filepath.Join(AppWorkPath, SessionConfig.ProviderConfig)
|
||||
fatalDuplicatedPath("session", SessionConfig.ProviderConfig)
|
||||
checkOverlappedPath("session.PROVIDER_CONFIG", SessionConfig.ProviderConfig)
|
||||
}
|
||||
SessionConfig.CookieName = sec.Key("COOKIE_NAME").MustString("i_like_gitea")
|
||||
SessionConfig.CookiePath = AppSubURL
|
||||
|
|
|
@ -230,11 +230,14 @@ func LoadSettingsForInstall() {
|
|||
loadMailerFrom(CfgProvider)
|
||||
}
|
||||
|
||||
var uniquePaths = make(map[string]string)
|
||||
var configuredPaths = make(map[string]string)
|
||||
|
||||
func fatalDuplicatedPath(name, p string) {
|
||||
if targetName, ok := uniquePaths[p]; ok && targetName != name {
|
||||
log.Fatal("storage path %q is being used by %q and %q and all storage paths must be unique to prevent data loss.", p, targetName, name)
|
||||
func checkOverlappedPath(name, path string) {
|
||||
// TODO: some paths shouldn't overlap (storage.xxx.path), while some could (data path is the base path for storage path)
|
||||
if targetName, ok := configuredPaths[path]; ok && targetName != name {
|
||||
msg := fmt.Sprintf("Configured path %q is used by %q and %q at the same time. The paths must be unique to prevent data loss.", path, targetName, name)
|
||||
log.Error("%s", msg)
|
||||
DeprecatedWarnings = append(DeprecatedWarnings, msg)
|
||||
}
|
||||
uniquePaths[p] = name
|
||||
configuredPaths[path] = name
|
||||
}
|
||||
|
|
|
@ -240,7 +240,7 @@ func getStorageForLocal(targetSec, overrideSec ConfigSection, tp targetSecType,
|
|||
}
|
||||
}
|
||||
|
||||
fatalDuplicatedPath("storage."+name, storage.Path)
|
||||
checkOverlappedPath("storage."+name+".PATH", storage.Path)
|
||||
|
||||
return &storage, nil
|
||||
}
|
||||
|
|
|
@ -0,0 +1,37 @@
|
|||
// Copyright 2024 The Gitea Authors. All rights reserved.
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
package structs
|
||||
|
||||
// CreateVariableOption the option when creating variable
|
||||
// swagger:model
|
||||
type CreateVariableOption struct {
|
||||
// Value of the variable to create
|
||||
//
|
||||
// required: true
|
||||
Value string `json:"value" binding:"Required"`
|
||||
}
|
||||
|
||||
// UpdateVariableOption the option when updating variable
|
||||
// swagger:model
|
||||
type UpdateVariableOption struct {
|
||||
// New name for the variable. If the field is empty, the variable name won't be updated.
|
||||
Name string `json:"name"`
|
||||
// Value of the variable to update
|
||||
//
|
||||
// required: true
|
||||
Value string `json:"value" binding:"Required"`
|
||||
}
|
||||
|
||||
// ActionVariable return value of the query API
|
||||
// swagger:model
|
||||
type ActionVariable struct {
|
||||
// the owner to which the variable belongs
|
||||
OwnerID int64 `json:"owner_id"`
|
||||
// the repository to which the variable belongs
|
||||
RepoID int64 `json:"repo_id"`
|
||||
// the name of the variable
|
||||
Name string `json:"name"`
|
||||
// the value of the variable
|
||||
Data string `json:"data"`
|
||||
}
|
|
@ -41,7 +41,7 @@ func RenderCommitMessage(ctx context.Context, msg string, metas map[string]strin
|
|||
if len(msgLines) == 0 {
|
||||
return template.HTML("")
|
||||
}
|
||||
return template.HTML(msgLines[0])
|
||||
return RenderCodeBlock(template.HTML(msgLines[0]))
|
||||
}
|
||||
|
||||
// RenderCommitMessageLinkSubject renders commit message as a XSS-safe link to
|
||||
|
@ -68,7 +68,7 @@ func RenderCommitMessageLinkSubject(ctx context.Context, msg, urlDefault string,
|
|||
log.Error("RenderCommitMessageSubject: %v", err)
|
||||
return template.HTML("")
|
||||
}
|
||||
return template.HTML(renderedMessage)
|
||||
return RenderCodeBlock(template.HTML(renderedMessage))
|
||||
}
|
||||
|
||||
// RenderCommitBody extracts the body of a commit message without its title.
|
||||
|
|
|
@ -221,3 +221,12 @@ func IfZero[T comparable](v, def T) T {
|
|||
}
|
||||
return v
|
||||
}
|
||||
|
||||
func ReserveLineBreakForTextarea(input string) string {
|
||||
// Since the content is from a form which is a textarea, the line endings are \r\n.
|
||||
// It's a standard behavior of HTML.
|
||||
// But we want to store them as \n like what GitHub does.
|
||||
// And users are unlikely to really need to keep the \r.
|
||||
// Other than this, we should respect the original content, even leading or trailing spaces.
|
||||
return strings.ReplaceAll(input, "\r\n", "\n")
|
||||
}
|
||||
|
|
|
@ -235,3 +235,8 @@ func TestToPointer(t *testing.T) {
|
|||
val123 := 123
|
||||
assert.False(t, &val123 == ToPointer(val123))
|
||||
}
|
||||
|
||||
func TestReserveLineBreakForTextarea(t *testing.T) {
|
||||
assert.Equal(t, ReserveLineBreakForTextarea("test\r\ndata"), "test\ndata")
|
||||
assert.Equal(t, ReserveLineBreakForTextarea("test\r\ndata\r\n"), "test\ndata\n")
|
||||
}
|
||||
|
|
|
@ -25,6 +25,7 @@ enable_javascript=Tato stránka vyžaduje JavaScript.
|
|||
toc=Obsah
|
||||
licenses=Licence
|
||||
return_to_gitea=Vrátit se do Gitea
|
||||
more_items=Více položek
|
||||
|
||||
username=Uživatelské jméno
|
||||
email=E-mailová adresa
|
||||
|
@ -75,7 +76,7 @@ collaborative=Spolupráce
|
|||
forks=Rozštěpení
|
||||
|
||||
activities=Aktivity
|
||||
pull_requests=Požadavky na natažení
|
||||
pull_requests=Pull requesty
|
||||
issues=Úkoly
|
||||
milestones=Milníky
|
||||
|
||||
|
@ -113,6 +114,7 @@ loading=Načítá se…
|
|||
error=Chyba
|
||||
error404=Stránka, kterou se snažíte zobrazit, buď <strong>neexistuje</strong>, nebo <strong>nemáte oprávnění</strong> ji zobrazit.
|
||||
go_back=Zpět
|
||||
invalid_data=Neplatná data: %v
|
||||
|
||||
never=Nikdy
|
||||
unknown=Neznámý
|
||||
|
@ -142,6 +144,43 @@ confirm_delete_selected=Potvrdit odstranění všech vybraných položek?
|
|||
name=Název
|
||||
value=Hodnota
|
||||
|
||||
filter=Filtr
|
||||
filter.clear=Vymazat filtr
|
||||
filter.is_archived=Archivováno
|
||||
filter.not_archived=Nearchivované
|
||||
filter.is_fork=Rozštěpený
|
||||
filter.not_fork=Není rozštěpený
|
||||
filter.is_mirror=Zrcadlen
|
||||
filter.not_mirror=Není zrcadleno
|
||||
filter.is_template=Šablona
|
||||
filter.not_template=Není šablona
|
||||
filter.public=Veřejná
|
||||
filter.private=Soukromý
|
||||
|
||||
no_results_found=Nebyly nalezeny žádné výsledky.
|
||||
|
||||
[search]
|
||||
search=Hledat...
|
||||
type_tooltip=Druh vyhledávání
|
||||
fuzzy=Fuzzy
|
||||
fuzzy_tooltip=Zahrnout výsledky, které také úzce odpovídají hledanému výrazu
|
||||
match=Shoda
|
||||
match_tooltip=Zahrnout pouze výsledky, které odpovídají přesnému hledanému výrazu
|
||||
repo_kind=Hledat repozitáře...
|
||||
user_kind=Hledat uživatele...
|
||||
org_kind=Hledat organizace...
|
||||
team_kind=Hledat týmy...
|
||||
code_kind=Hledat kód...
|
||||
code_search_unavailable=Vyhledávání kódu není momentálně dostupné. Obraťte se na správce webu.
|
||||
code_search_by_git_grep=Aktuální výsledky vyhledávání kódu jsou poskytovány pomocí „git grep“. Pokud správce webu povolí index repozitáře, mohou být výsledky lepší.
|
||||
package_kind=Hledat balíčky...
|
||||
project_kind=Hledat projekty...
|
||||
branch_kind=Hledat větve...
|
||||
commit_kind=Hledat commity...
|
||||
runner_kind=Hledat runnery...
|
||||
no_results=Nebyly nalezeny žádné odpovídající výsledky.
|
||||
keyword_search_unavailable=Hledání podle klíčového slova není momentálně dostupné. Obraťte se na správce webu.
|
||||
|
||||
[aria]
|
||||
navbar=Navigační lišta
|
||||
footer=Patička
|
||||
|
@ -247,6 +286,7 @@ email_title=Nastavení e-mailu
|
|||
smtp_addr=Server SMTP
|
||||
smtp_port=Port SMTP
|
||||
smtp_from=Odeslat e-mail jako
|
||||
smtp_from_invalid=Adresa "Odeslat e-mail jako" je neplatná
|
||||
smtp_from_helper=E-mailová adresa, kterou bude Gitea používat. Zadejte běžnou e-mailovou adresu, nebo použijte formát "Jméno"<email@example.com>.
|
||||
mailer_user=Uživatelské jméno SMTP
|
||||
mailer_password=Heslo pro SMTP
|
||||
|
@ -306,6 +346,7 @@ env_config_keys=Konfigurace prostředí
|
|||
env_config_keys_prompt=Následující proměnné prostředí budou také použity pro váš konfigurační soubor:
|
||||
|
||||
[home]
|
||||
nav_menu=Navigační menu
|
||||
uname_holder=Uživatelské jméno nebo e-mailová adresa
|
||||
password_holder=Heslo
|
||||
switch_dashboard_context=Přepnout kontext přehledu
|
||||
|
@ -315,7 +356,6 @@ collaborative_repos=Společné repozitáře
|
|||
my_orgs=Mé organizace
|
||||
my_mirrors=Má zrcadla
|
||||
view_home=Zobrazit %s
|
||||
search_repos=Nalézt repozitář…
|
||||
filter=Ostatní filtry
|
||||
filter_by_team_repositories=Filtrovat podle repozitářů týmu
|
||||
feed_of=Kanál z „%s“
|
||||
|
@ -336,20 +376,8 @@ issues.in_your_repos=Ve vašich repozitářích
|
|||
repos=Repozitáře
|
||||
users=Uživatelé
|
||||
organizations=Organizace
|
||||
search=Vyhledat
|
||||
go_to=Přejít na
|
||||
code=Kód
|
||||
search.type.tooltip=Druh vyhledávání
|
||||
search.fuzzy=Fuzzy
|
||||
search.fuzzy.tooltip=Zahrnout výsledky, které také úzce odpovídají hledanému výrazu
|
||||
search.match=Shoda
|
||||
search.match.tooltip=Zahrnout pouze výsledky, které odpovídají přesnému hledanému výrazu
|
||||
code_search_unavailable=V současné době není vyhledávání kódu dostupné. Obraťte se na správce webu.
|
||||
repo_no_results=Nebyly nalezeny žádné odpovídající repozitáře.
|
||||
user_no_results=Nebyly nalezeni žádní odpovídající uživatelé.
|
||||
org_no_results=Nebyly nalezeny žádné odpovídající organizace.
|
||||
code_no_results=Nebyl nalezen žádný zdrojový kód odpovídající hledanému výrazu.
|
||||
code_search_results=Výsledky hledání pro „%s“
|
||||
code_last_indexed_at=Naposledy indexováno %s
|
||||
relevant_repositories_tooltip=Repozitáře, které jsou rozštěpení nebo nemají žádné téma, ikonu a žádný popis jsou skryty.
|
||||
relevant_repositories=Zobrazují se pouze relevantní repositáře, <a href="%s">zobrazit nefiltrované výsledky</a>.
|
||||
|
@ -367,7 +395,7 @@ forgot_password_title=Zapomenuté heslo
|
|||
forgot_password=Zapomenuté heslo?
|
||||
sign_up_now=Potřebujete účet? Zaregistrujte se.
|
||||
sign_up_successful=Účet byl úspěšně vytvořen. Vítejte!
|
||||
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 %s, abyste dokončili proces registrace.
|
||||
confirmation_mail_sent_prompt_ex=Nový potvrzovací e-mail byl odeslán na <b>%s</b>. Zkontrolujte prosím svou doručenou poštu během následujících %s a dokončete proces registrace. Pokud je Vaše registrační e-mailová adresa nesprávná, můžete se znovu přihlásit a změnit ji.
|
||||
must_change_password=Aktualizujte své heslo
|
||||
allow_password_change=Vyžádat od uživatele změnu hesla (doporučeno)
|
||||
reset_password_mail_sent_prompt=Na adresu <b>%s</b> byl zaslán potvrzovací e-mail. Zkontrolujte prosím vaši doručenou poštu během následujících %s, abyste dokončili proces obnovení účtu.
|
||||
|
@ -377,6 +405,7 @@ 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 webu.
|
||||
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 e-mail pro potvrzení nebo potřebujete zaslat nový, klikněte prosím na tlačítku níže.
|
||||
change_unconfirmed_mail_address=Pokud je Vaše registrační e-mailová adresa nesprávná, můžete ji zde změnit a znovu odeslat nový potvrzovací e-mail.
|
||||
resend_mail=Klikněte zde pro odeslání aktivačního e-mailu
|
||||
email_not_associate=Tato e-mailová adresa není spojena s žádným účtem.
|
||||
send_reset_mail=Zaslat e-mail pro obnovení účtu
|
||||
|
@ -453,7 +482,7 @@ reset_password.text=Klikněte prosím na následující odkaz pro obnovení vaš
|
|||
|
||||
register_success=Registrace byla úspěšná
|
||||
|
||||
issue_assigned.pull=@%[1]s vás přiřadil/a k požadavku na natažení %[2]s repozitáři %[3]s.
|
||||
issue_assigned.pull=@%[1]s vás přiřadil/a k pull requestu %[2]s v repozitáři %[3]s.
|
||||
issue_assigned.issue=@%[1]s vás přiřadil/a k úkolu %[2]s repozitáři %[3]s.
|
||||
|
||||
issue.x_mentioned_you=<b>@%s</b> vás zmínil/a:
|
||||
|
@ -463,11 +492,11 @@ issue.action.push_n=<b>@%[1]s</b> nahrál/a %[3]d commity do %[2]s
|
|||
issue.action.close=<b>@%[1]s</b> uzavřel/a #%[2]d.
|
||||
issue.action.reopen=<b>@%[1]s</b> znovu otevřel/a #%[2]d.
|
||||
issue.action.merge=<b>@%[1]s</b> sloučil/a #%[2]d do %[3]s.
|
||||
issue.action.approve=<b>@%[1]s</b> schválil/a tento požadavek na natažení.
|
||||
issue.action.reject=<b>@%[1]s</b> požadoval/a změny v tomto požadavku na natažení.
|
||||
issue.action.review=<b>@%[1]s</b> okomentoval/a tento požadavek na natažení.
|
||||
issue.action.review_dismissed=<b>@%[1]s</b> odmítl/a poslední kontrolu z %[2]s pro tento požadavek na natažení.
|
||||
issue.action.ready_for_review=<b>@%[1]s</b> označil/a tento požadavek na natažení jako připravený ke kontrole.
|
||||
issue.action.approve=<b>@%[1]s</b> schválil/a tento pull request.
|
||||
issue.action.reject=<b>@%[1]s</b> požadoval/a změny v tomto pull requestu.
|
||||
issue.action.review=<b>@%[1]s</b> okomentoval/a tento pull request.
|
||||
issue.action.review_dismissed=<b>@%[1]s</b> odmítl/a poslední kontrolu z %[2]s pro tento pull request.
|
||||
issue.action.ready_for_review=<b>@%[1]s</b> označil/a tento pull request jako připravený ke kontrole.
|
||||
issue.action.new=<b>@%[1]s</b> vytvořil/a #%[2]d.
|
||||
issue.in_tree_path=V %s:
|
||||
|
||||
|
@ -557,6 +586,7 @@ team_name_been_taken=Název týmu je již použit.
|
|||
team_no_units_error=Povolit přístup alespoň do jedné sekce repozitáře.
|
||||
email_been_used=Tato e-mailová adresa je již používána.
|
||||
email_invalid=Emailová adresa je neplatná.
|
||||
email_domain_is_not_allowed=Doména uživatelského e-mailu <b>%s</b> je v rozporu s EMAIL_DOMAIN_ALLOWLIST nebo EMAIL_DOMAIN_BLOCKLIST. Ujistěte se, že je Vaše operace očekávána.
|
||||
openid_been_used=OpenID addresa „%s“ je již použita.
|
||||
username_password_incorrect=Uživatelské jméno nebo heslo není správné.
|
||||
password_complexity=Heslo nesplňuje požadavky na složitost:
|
||||
|
@ -568,6 +598,8 @@ enterred_invalid_repo_name=Zadaný název repozitáře není správný.
|
|||
enterred_invalid_org_name=Zadaný název organizace není správný.
|
||||
enterred_invalid_owner_name=Nové jméno vlastníka není správné.
|
||||
enterred_invalid_password=Zadané heslo není správné.
|
||||
unset_password=Přihlášený uživatel nenastavil heslo.
|
||||
unsupported_login_type=Typ přihlášení není podporován pro odstranění účtu.
|
||||
user_not_exist=Tento uživatel neexistuje.
|
||||
team_not_exist=Tento tým neexistuje.
|
||||
last_org_owner=Nemůžete odstranit posledního uživatele z týmu „vlastníci“. Musí existovat alespoň jeden vlastník pro organizaci.
|
||||
|
@ -617,6 +649,30 @@ form.name_reserved=Uživatelské jméno „%s“ je rezervováno.
|
|||
form.name_pattern_not_allowed=Vzor „%s“ není povolen v uživatelském jméně.
|
||||
form.name_chars_not_allowed=Uživatelské jméno „%s“ obsahuje neplatné znaky.
|
||||
|
||||
block.block=Blokovat
|
||||
block.block.user=Zablokovat Uživatele
|
||||
block.block.org=Blokovat uživatele pro organizaci
|
||||
block.block.failure=Nepodařilo se zablokovat uživatele: %s
|
||||
block.unblock=Odblokovat
|
||||
block.unblock.failure=Nepodařilo se odblokovat uživatele: %s
|
||||
block.blocked=Zablokovali jste tohoto uživatele.
|
||||
block.title=Zablokovat Uživatele
|
||||
block.info=Blokování uživatele brání v interakci s repozitáři, jako je otevírání nebo komentování pull requestů nebo úkolů. Další informace o blokování uživatele.
|
||||
block.info_1=Zablokování uživatele zabrání následujícím akcím na vašem účtu a repozirářích:
|
||||
block.info_2=sledují váš účet
|
||||
block.info_3=pošle vám oznámení pomocí @zmínění vašeho uživatelského jména
|
||||
block.info_4=pozváním vás jako spolupracovníka do jejich repozitářů
|
||||
block.info_5=oblíbení, rozštěpení nebo sledování repozitářů
|
||||
block.info_6=otevření a komentování úkolů nebo pull requestů
|
||||
block.info_7=reagovat na své komentáře v úkolech nebo pull requestů
|
||||
block.user_to_block=Uživatel k blokování
|
||||
block.note=Poznámka
|
||||
block.note.title=Volitelná poznámka:
|
||||
block.note.info=Poznámka není pro blokovaného uživatele viditelná.
|
||||
block.note.edit=Upravit poznámku
|
||||
block.list=Blokovaní uživatelé
|
||||
block.list.none=Nemáte blokované žádné uživatele.
|
||||
|
||||
[settings]
|
||||
profile=Profil
|
||||
account=Účet
|
||||
|
@ -761,7 +817,6 @@ gpg_invalid_token_signature=Zadaný GPG klíč, podpis a token se neshodují neb
|
|||
gpg_token_required=Musíte zadat podpis pro níže uvedený token
|
||||
gpg_token=Token
|
||||
gpg_token_help=Podpis můžete vygenerovat pomocí:
|
||||
gpg_token_code=echo "%s" | gpg -a --default-key %s --detach-sig
|
||||
gpg_token_signature=Zakódovaný podpis GPG
|
||||
key_signature_gpg_placeholder=Začíná s „-----BEGIN PGP SIGNATURE-----“
|
||||
verify_gpg_key_success=GPG klíč „%s“ byl ověřen.
|
||||
|
@ -833,6 +888,7 @@ select_permissions=Vyberte oprávnění
|
|||
permission_no_access=Bez přístupu
|
||||
permission_read=Přečtené
|
||||
permission_write=čtení i zápis
|
||||
access_token_desc=Vybraná oprávnění tokenu omezují autorizaci pouze na odpovídající trasy <a %s>API</a>. Přečtěte si <a %s>dokumentaci</a> pro více informací.
|
||||
at_least_one_permission=Musíte vybrat alespoň jedno oprávnění pro vytvoření tokenu
|
||||
permissions_list=Oprávnění:
|
||||
|
||||
|
@ -953,8 +1009,9 @@ fork_visibility_helper=Viditelnost rozštěpeného repozitáře nemůže být zm
|
|||
fork_branch=Větev, která má být klonována pro fork
|
||||
all_branches=Všechny větve
|
||||
fork_no_valid_owners=Tento repozitář nemůže být rozštěpen, protože neexistují žádní platní vlastníci.
|
||||
fork.blocked_user=Nelze rozštěpit repozitář, protože jste blokováni majitelem repozitáře.
|
||||
use_template=Použít tuto šablonu
|
||||
clone_in_vsc=Klonovat ve VS Code
|
||||
open_with_editor=Otevřít pomocí %s
|
||||
download_zip=Stáhnout ZIP
|
||||
download_tar=Stáhnout TAR.GZ
|
||||
download_bundle=Stáhnout BUNDLE
|
||||
|
@ -984,11 +1041,12 @@ trust_model_helper_default=Výchozí: Použít výchozí model důvěry pro tuto
|
|||
create_repo=Vytvořit repozitář
|
||||
default_branch=Výchozí větev
|
||||
default_branch_label=výchozí
|
||||
default_branch_helper=Výchozí větev je základní větev pro požadavky na natažení a commity kódu.
|
||||
default_branch_helper=Výchozí větev je základní větev pro pull requesty a commity kódu.
|
||||
mirror_prune=Vyčistit
|
||||
mirror_prune_desc=Odstranit zastaralé reference na vzdálené sledování
|
||||
mirror_interval=Interval zrcadlení (platné časové jednotky jsou „h“, „m“ a „s“). 0 zakáže periodickou synchronizaci. (Minimální interval: %s)
|
||||
mirror_interval_invalid=Interval zrcadlení není platný.
|
||||
mirror_sync=synchronizováno
|
||||
mirror_sync_on_commit=Synchronizovat při nahrávání revizí
|
||||
mirror_address=Klonovat z URL
|
||||
mirror_address_desc=Zadejte požadované přístupové údaje do sekce Ověření.
|
||||
|
@ -1019,6 +1077,7 @@ delete_preexisting=Odstranit již existující soubory
|
|||
delete_preexisting_content=Odstranit soubory v %s
|
||||
delete_preexisting_success=Smazány nepřijaté soubory v %s
|
||||
blame_prior=Zobrazit blame před touto změnou
|
||||
blame.ignore_revs=Ignorování revizí v <a href="%s">.git-blame-ignorerevs</a>. Klikněte zde <a href="%s">pro obejití</a> a zobrazení normálního pohledu blame.
|
||||
blame.ignore_revs.failed=Nepodařilo se ignorovat revize v <a href="%s">.git-blame-ignore-revs</a>.
|
||||
author_search_tooltip=Zobrazí maximálně 30 uživatelů
|
||||
|
||||
|
@ -1051,10 +1110,10 @@ template.issue_labels=Štítky úkolů
|
|||
template.one_item=Musíte vybrat alespoň jednu položku šablony
|
||||
template.invalid=Musíte vybrat repositář šablony
|
||||
|
||||
archive.title=Tento repozitář je archivovaný. Můžete prohlížet soubory, klonovat, ale nemůžete nahrávat a vytvářet nové úkoly nebo požadavky na natažení.
|
||||
archive.title_date=Tento repositář byl archivován %s. Můžete zobrazit soubory a klonovat je, ale nemůžete nahrávat ani otevírat problémy nebo požadavky na natažení.
|
||||
archive.title=Tento repozitář je archivovaný. Můžete prohlížet soubory, klonovat, ale nemůžete nahrávat a vytvářet nové úkoly nebo pull requesty.
|
||||
archive.title_date=Tento repositář byl archivován %s. Můžete zobrazit soubory a klonovat je, ale nemůžete nahrávat ani otevírat problémy nebo pull requesty.
|
||||
archive.issue.nocomment=Tento repozitář je archivovaný. Nemůžete komentovat úkoly.
|
||||
archive.pull.nocomment=Tento repozitář je archivovaný. Nemůžete komentovat požadavky na natažení.
|
||||
archive.pull.nocomment=Tento repozitář je archivovaný. Nemůžete komentovat pull requesty.
|
||||
|
||||
form.reach_limit_of_creation_1=Již jste dosáhli svůj limit %d repozitář.
|
||||
form.reach_limit_of_creation_n=Již jste dosáhli svůj limit %d repozitářů.
|
||||
|
@ -1075,7 +1134,7 @@ migrate_items_wiki=Wiki
|
|||
migrate_items_milestones=Milníky
|
||||
migrate_items_labels=Štítky
|
||||
migrate_items_issues=Úkoly
|
||||
migrate_items_pullrequests=Požadavky na natažení
|
||||
migrate_items_pullrequests=Pull requesty
|
||||
migrate_items_merge_requests=Sloučit požadavky
|
||||
migrate_items_releases=Vydání
|
||||
migrate_repo=Migrovat repozitář
|
||||
|
@ -1110,7 +1169,7 @@ migrate.migrating_milestones=Migrování milnků
|
|||
migrate.migrating_labels=Migrování štítků
|
||||
migrate.migrating_releases=Migrování vydání
|
||||
migrate.migrating_issues=Migrování úkolů
|
||||
migrate.migrating_pulls=Migrování požadavků na natažení
|
||||
migrate.migrating_pulls=Migrování pull requestů
|
||||
migrate.cancel_migrating_title=Zrušit migraci
|
||||
migrate.cancel_migrating_confirm=Chcete zrušit tuto migraci?
|
||||
|
||||
|
@ -1126,6 +1185,7 @@ watch=Sledovat
|
|||
unstar=Odoblíbit
|
||||
star=Oblíbit
|
||||
fork=Rozštěpit
|
||||
action.blocked_user=Nelze provést akci, protože jste zablokování vlastníkem repozitáře.
|
||||
download_archive=Stáhnout repozitář
|
||||
more_operations=Další operace
|
||||
|
||||
|
@ -1148,7 +1208,7 @@ find_tag=Najít značku
|
|||
branches=Větve
|
||||
tags=Značky
|
||||
issues=Úkoly
|
||||
pulls=Požadavky na natažení
|
||||
pulls=Pull requesty
|
||||
project_board=Projekty
|
||||
packages=Balíčky
|
||||
actions=Akce
|
||||
|
@ -1193,7 +1253,7 @@ vendored=Vendorováno
|
|||
generated=Generováno
|
||||
commit_graph=Graf commitů
|
||||
commit_graph.select=Vybrat větve
|
||||
commit_graph.hide_pr_refs=Skrýt požadavky na natažení
|
||||
commit_graph.hide_pr_refs=Skrýt pull requesty
|
||||
commit_graph.monochrome=Černobílé
|
||||
commit_graph.color=Barva
|
||||
commit.contained_in=Tento commit je obsažen v:
|
||||
|
@ -1237,7 +1297,7 @@ editor.new_patch=Nová záplata
|
|||
editor.commit_message_desc=Přidat volitelný rozšířený popis…
|
||||
editor.signoff_desc=Přidat Signed-off-by podpis přispěvatele na konec zprávy o commitu.
|
||||
editor.commit_directly_to_this_branch=Odevzdat přímo do větve <strong class="branch-name">%s</strong>.
|
||||
editor.create_new_branch=Vytvořit <strong>novou větev</strong> pro tento commit a spustit požadavek na natažení.
|
||||
editor.create_new_branch=Vytvořit <strong>novou větev</strong> pro tento commit a začít pull request.
|
||||
editor.create_new_branch_np=Vytvořte <strong>novou větev</strong> z tohoto commitu.
|
||||
editor.propose_file_change=Navrhnout změnu souboru
|
||||
editor.new_branch_name=Pojmenujte novou větev pro tento commit
|
||||
|
@ -1254,6 +1314,7 @@ editor.file_editing_no_longer_exists=Upravovaný soubor „%s“ již není sou
|
|||
editor.file_deleting_no_longer_exists=Odstraňovaný soubor „%s“ již není součástí tohoto repozitáře.
|
||||
editor.file_changed_while_editing=Obsah souboru byl změněn od doby, kdy jste začaly s úpravou. <a target="_blank" rel="noopener noreferrer" href="%s">Klikněte zde</a>, abyste je zobrazili, nebo <strong>potvrďte změny ještě jednou</strong> pro jejich přepsání.
|
||||
editor.file_already_exists=Soubor „%s“ již existuje v tomto repozitáři.
|
||||
editor.commit_id_not_matching=ID commitu se neshoduje s ID, když jsi začal/a s úpravami. Odevzdat do záplatové větve a poté sloučit.
|
||||
editor.commit_empty_file_header=Odevzdat prázdný soubor
|
||||
editor.commit_empty_file_text=Soubor, který se chystáte odevzdat, je prázdný. Pokračovat?
|
||||
editor.no_changes_to_show=Žádné změny k zobrazení.
|
||||
|
@ -1277,9 +1338,8 @@ commits.desc=Procházet historii změn zdrojového kódu.
|
|||
commits.commits=Commity
|
||||
commits.no_commits=Žádné společné commity. „%s“ a „%s“ mají zcela odlišnou historii.
|
||||
commits.nothing_to_compare=Tyto větve jsou stejné.
|
||||
commits.search=Hledání commitů…
|
||||
commits.search.tooltip=Můžete předřadit klíčová slova s „author:“, „committer:“, „after:“ nebo „before:“, např. „revert author:Alice before:2019-01-03“.
|
||||
commits.find=Vyhledat
|
||||
commits.search_branch=Tato větev
|
||||
commits.search_all=Všechny větve
|
||||
commits.author=Autor
|
||||
commits.message=Zpráva
|
||||
|
@ -1330,7 +1390,6 @@ projects.type.basic_kanban=Základní Kanban
|
|||
projects.type.bug_triage=Třídění chyb
|
||||
projects.template.desc=Šablona projektu
|
||||
projects.template.desc_helper=Vyberte šablonu projektu pro začátek
|
||||
projects.type.uncategorized=Nezařazené
|
||||
projects.column.edit=Upravit sloupec
|
||||
projects.column.edit_title=Název
|
||||
projects.column.new_title=Název
|
||||
|
@ -1338,10 +1397,7 @@ projects.column.new_submit=Vytvořit sloupec
|
|||
projects.column.new=Nový sloupec
|
||||
projects.column.set_default=Nastavit jako výchozí
|
||||
projects.column.set_default_desc=Nastavit tento sloupec jako výchozí pro nekategorizované úkoly a požadavky na natažení
|
||||
projects.column.unset_default=Zrušit nastavení jako výchozí
|
||||
projects.column.unset_default_desc=Zrušit nastavení tohoto sloupce jako výchozí
|
||||
projects.column.delete=Smazat sloupec
|
||||
projects.column.deletion_desc=Smazání projektového sloupce přesune všechny související problémy do kategorie „Nezařazené“. Pokračovat?
|
||||
projects.column.color=Barva
|
||||
projects.open=Otevřít
|
||||
projects.close=Zavřít
|
||||
|
@ -1376,6 +1432,8 @@ issues.new.assignees=Zpracovatelé
|
|||
issues.new.clear_assignees=Smazat zpracovatele
|
||||
issues.new.no_assignees=Bez zpracovatelů
|
||||
issues.new.no_reviewers=Žádní posuzovatelé
|
||||
issues.new.blocked_user=Nemůžete vytvořit úkol, protože jste zablokováni zadavatelem příspěvku nebo vlastníkem repozitáře.
|
||||
issues.edit.blocked_user=Nemůžete upravovat obsah, protože jste zablokováni zadavatelem příspěvku nebo vlastníkem repozitáře.
|
||||
issues.choose.get_started=Začínáme
|
||||
issues.choose.open_external_link=Otevřít
|
||||
issues.choose.blank=Výchozí
|
||||
|
@ -1453,7 +1511,6 @@ issues.filter_sort.moststars=Nejvíce hvězdiček
|
|||
issues.filter_sort.feweststars=Nejméně hvězdiček
|
||||
issues.filter_sort.mostforks=Nejvíce rozštěpení
|
||||
issues.filter_sort.fewestforks=Nejméně rozštěpení
|
||||
issues.keyword_search_unavailable=Hledání podle klíčového slova není momentálně dostupné. Obraťte se na správce webu.
|
||||
issues.action_open=Otevřít
|
||||
issues.action_close=Zavřít
|
||||
issues.action_label=Štítek
|
||||
|
@ -1491,13 +1548,14 @@ issues.close_comment_issue=Okomentovat a zavřít
|
|||
issues.reopen_issue=Znovuotevřít
|
||||
issues.reopen_comment_issue=Okomentovat a znovuotevřít
|
||||
issues.create_comment=Okomentovat
|
||||
issues.comment.blocked_user=Nemůžete vytvořit nebo upravovat komentář, protože jste zablokováni zadavatelem příspěvku nebo vlastníkem repozitáře.
|
||||
issues.closed_at=`uzavřel/a tento úkol <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.reopened_at=`znovuotevřel/a tento úkol <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.commit_ref_at=`odkázal na tento úkol z commitu <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_issue_from=`<a href="%[3]s">odkazoval/a na tento úkol %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_pull_from=`<a href="%[3]s">odkazoval/a na tento požadavek na natažení %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_closing_from=`<a href="%[3]s">odkazoval/a na požadavek na natažení %[4]s, který uzavře tento úkol</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_reopening_from=`<a href="%[3]s">odkazoval/a na požadavek na natažení %[4]s, který znovu otevře tento úkol</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_pull_from=`<a href="%[3]s">odkazoval/a na tento pull request %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_closing_from=`<a href="%[3]s">odkazoval/a na pull request %[4]s, který uzavře tento úkol</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_reopening_from=`<a href="%[3]s">odkazoval/a na pull request %[4]s, který znovu otevře tento úkol</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_closed_from=`<a href="%[3]s">uzavřel/a tento úkol %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_reopened_from=`<a href="%[3]s">znovu otevřel/a tento úkol %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_from=`z %[1]s`
|
||||
|
@ -1509,6 +1567,7 @@ issues.role.member=Člen
|
|||
issues.role.member_helper=Tento uživatel je členem organizace vlastnící tento repositář.
|
||||
issues.role.collaborator=Spolupracovník
|
||||
issues.role.collaborator_helper=Tento uživatel byl pozván ke spolupráci v repozitáři.
|
||||
issues.role.first_time_contributor=Přispěvatel, který přispívá poprvé
|
||||
issues.role.first_time_contributor_helper=Toto je první příspěvek tohoto uživatele do repozitáře.
|
||||
issues.role.contributor=Přispěvatel
|
||||
issues.role.contributor_helper=Tento uživatel již dříve přispíval do repozitáře.
|
||||
|
@ -1530,7 +1589,7 @@ issues.label_archive=Archivovat štítek
|
|||
issues.label_archived_filter=Zobrazit archivované popisky
|
||||
issues.label_archive_tooltip=Archivované štítky jsou ve výchozím nastavení vyloučeny z návrhů při hledání podle popisku.
|
||||
issues.label_exclusive_desc=Pojmenujte štítek <code>rozsah/položka</code>, aby se stal vzájemně exkluzivním s jinými štítky <code>rozsah/</code>.
|
||||
issues.label_exclusive_warning=Jakékoliv protichůdné rozsahy štítků budou odstraněny při úpravě štítků u úkolů nebo u požadavku na natažení.
|
||||
issues.label_exclusive_warning=Jakékoliv protichůdné rozsahy štítků budou odstraněny při úpravě štítků u úkolů nebo u pull requestů.
|
||||
issues.label_count=%d štítků
|
||||
issues.label_open_issues=%d otevřených úkolů
|
||||
issues.label_edit=Upravit
|
||||
|
@ -1626,27 +1685,27 @@ issues.dependency.remove=Odstranit
|
|||
issues.dependency.remove_info=Odstranit tuto závislost
|
||||
issues.dependency.added_dependency=`přidal/a novou závislost %s`
|
||||
issues.dependency.removed_dependency=`odstranil/a závislost %s`
|
||||
issues.dependency.pr_closing_blockedby=Uzavření tohoto požadavku na natažení je blokováno následujícími úkoly
|
||||
issues.dependency.pr_closing_blockedby=Uzavření tohoto pull requestu je blokováno následujícími úkoly
|
||||
issues.dependency.issue_closing_blockedby=Uzavření tohoto úkolu je blokováno následujícími úkoly
|
||||
issues.dependency.issue_close_blocks=Tento úkol blokuje uzavření následujících úkolů
|
||||
issues.dependency.pr_close_blocks=Tento požadavek na natažení blokuje uzavření následujících úkolů
|
||||
issues.dependency.pr_close_blocks=Tento pull request blokuje uzavření následujících úkolů
|
||||
issues.dependency.issue_close_blocked=Musíte zavřít všechny úkoly, které blokují tento úkol, aby jej bylo možné zavřít.
|
||||
issues.dependency.issue_batch_close_blocked=Nelze uzavřít úkoly, které jste vybrali, protože úkol #%d má stále otevřené závislosti
|
||||
issues.dependency.pr_close_blocked=Musíte zavřít všechny úkoly, které blokují tento požadavek na natažení, aby jej bylo možné sloučit.
|
||||
issues.dependency.pr_close_blocked=Musíte zavřít všechny úkoly, které blokují tento pull request, aby jej bylo možné sloučit.
|
||||
issues.dependency.blocks_short=Blokuje
|
||||
issues.dependency.blocked_by_short=Závisí na
|
||||
issues.dependency.remove_header=Odstranit závislost
|
||||
issues.dependency.issue_remove_text=Tímto krokem odeberete závislost z úkolu. Pokračovat?
|
||||
issues.dependency.pr_remove_text=Tímto krokem odeberete závislost z požadavku na natažení. Pokračovat?
|
||||
issues.dependency.setting=Povolit závislosti pro úkoly a požadavky na natažení
|
||||
issues.dependency.pr_remove_text=Tímto krokem odeberete závislost z pull requestu. Pokračovat?
|
||||
issues.dependency.setting=Povolit závislosti pro úkoly a pull requesty
|
||||
issues.dependency.add_error_same_issue=Úkol nemůže záviset sám na sobě.
|
||||
issues.dependency.add_error_dep_issue_not_exist=Související úkol neexistuje.
|
||||
issues.dependency.add_error_dep_not_exist=Závislost neexistuje.
|
||||
issues.dependency.add_error_dep_exists=Závislost již existuje.
|
||||
issues.dependency.add_error_cannot_create_circular=Nemůžete vytvořit závislost dvou úkolů, které se vzájemně blokují.
|
||||
issues.dependency.add_error_dep_not_same_repo=Oba úkoly musí být ve stejném repozitáři.
|
||||
issues.review.self.approval=Nemůžete schválit svůj požadavek na natažení.
|
||||
issues.review.self.rejection=Nemůžete požadovat změny ve svém vlastním požadavku na natažení.
|
||||
issues.review.self.approval=Nemůžete schválit svůj pull request.
|
||||
issues.review.self.rejection=Nemůžete požadovat změny ve svém vlastním pull requestu.
|
||||
issues.review.approve=schválil tyto změny %s
|
||||
issues.review.comment=posoudil %s
|
||||
issues.review.dismissed=zamítl/a posouzení od %s %s
|
||||
|
@ -1686,10 +1745,11 @@ issues.reference_link=Reference: %s
|
|||
compare.compare_base=základní
|
||||
compare.compare_head=porovnat
|
||||
|
||||
pulls.desc=Povolit požadavky na natažení a posuzování kódu.
|
||||
pulls.new=Nový požadavek na natažení
|
||||
pulls.view=Zobrazit požadavek na natažení
|
||||
pulls.compare_changes=Nový požadavek na natažení
|
||||
pulls.desc=Povolit pull requesty a posuzování kódu.
|
||||
pulls.new=Nový pull request
|
||||
pulls.new.blocked_user=Nemůžete vytvořit pull request, protože jste zablokování vlastníkem repozitáře.
|
||||
pulls.view=Zobrazit pull request
|
||||
pulls.compare_changes=Nový pull request
|
||||
pulls.allow_edits_from_maintainers=Povolit úpravy od správců
|
||||
pulls.allow_edits_from_maintainers_desc=Uživatelé s přístupem k zápisu do základní větve mohou také nahrávat do této větve
|
||||
pulls.allow_edits_from_maintainers_err=Aktualizace se nezdařila
|
||||
|
@ -1704,7 +1764,6 @@ pulls.compare_compare=natáhnout z
|
|||
pulls.switch_comparison_type=Přepnout typ porovnání
|
||||
pulls.switch_head_and_base=Prohodit hlavní a základní větev
|
||||
pulls.filter_branch=Filtrovat větev
|
||||
pulls.no_results=Nebyly nalezeny žádné výsledky.
|
||||
pulls.show_all_commits=Zobrazit všechny commity
|
||||
pulls.show_changes_since_your_last_review=Zobrazit změny od vašeho posledního posouzení
|
||||
pulls.showing_only_single_commit=Zobrazuji pouze změny commitu %[1]s
|
||||
|
@ -1712,46 +1771,46 @@ pulls.showing_specified_commit_range=Zobrazují se pouze změny mezi %[1]s..%[2]
|
|||
pulls.select_commit_hold_shift_for_range=Vyberte commit. Podržte klávesu shift + klepněte pro výběr rozsahu
|
||||
pulls.review_only_possible_for_full_diff=Posouzení je možné pouze při zobrazení plného rozlišení
|
||||
pulls.filter_changes_by_commit=Filtrovat podle commitu
|
||||
pulls.nothing_to_compare=Tyto větve jsou stejné. Není potřeba vytvářet požadavek na natažení.
|
||||
pulls.nothing_to_compare=Tyto větve jsou stejné. Není potřeba vytvářet pull request.
|
||||
pulls.nothing_to_compare_have_tag=Vybraná větev/značka je stejná.
|
||||
pulls.nothing_to_compare_and_allow_empty_pr=Tyto větve jsou stejné. Tento požadavek na natažení bude prázdný.
|
||||
pulls.has_pull_request=`Požadavek na natažení mezi těmito větvemi již existuje: <a href="%[1]s">%[2]s#%[3]d</a>`
|
||||
pulls.create=Vytvořit požadavek na natažení
|
||||
pulls.nothing_to_compare_and_allow_empty_pr=Tyto větve jsou stejné. Tento pull request bude prázdný.
|
||||
pulls.has_pull_request=`Pull request mezi těmito větvemi již existuje: <a href="%[1]s">%[2]s#%[3]d</a>`
|
||||
pulls.create=Vytvořit pull request
|
||||
pulls.title_desc=chce sloučit %[1]d commity z větve <code>%[2]s</code> do <code id="branch_target">%[3]s</code>
|
||||
pulls.merged_title_desc=sloučil %[1]d commity z větve <code>%[2]s</code> do větve <code>%[3]s</code> před %[4]s
|
||||
pulls.change_target_branch_at=`změnil/a cílovou větev z <b>%s</b> na <b>%s</b> %s`
|
||||
pulls.tab_conversation=Konverzace
|
||||
pulls.tab_commits=Commity
|
||||
pulls.tab_files=Změněné soubory
|
||||
pulls.reopen_to_merge=Prosíme, otevřete znovu tento požadavek na natažení, aby se provedlo sloučení.
|
||||
pulls.cant_reopen_deleted_branch=Tento požadavek na natažení nemůže být znovu otevřen protože větev byla smazána.
|
||||
pulls.reopen_to_merge=Prosíme, otevřete znovu tento pull request, aby se provedlo sloučení.
|
||||
pulls.cant_reopen_deleted_branch=Tento pull request nemůže být znovu otevřen protože větev byla smazána.
|
||||
pulls.merged=Sloučený
|
||||
pulls.merged_success=Požadavek na natažení byl úspěšně sloučen a uzavřen
|
||||
pulls.closed=Požadavek na natažení uzavřen
|
||||
pulls.merged_success=Pull request byl úspěšně sloučen a uzavřen
|
||||
pulls.closed=Pull request uzavřen
|
||||
pulls.manually_merged=Sloučeno ručně
|
||||
pulls.merged_info_text=Větev %s může být nyní odstraněna.
|
||||
pulls.is_closed=Požadavek na natažení byl uzavřen.
|
||||
pulls.title_wip_desc=`<a href="#">Začněte název s <strong>%s</strong></a> a zamezíte tak nechtěnému sloučení požadavku na natažení.`
|
||||
pulls.cannot_merge_work_in_progress=Tento požadavek na natažení je označen jako probíhající práce.
|
||||
pulls.is_closed=Pull request byl uzavřen.
|
||||
pulls.title_wip_desc=`<a href="#">Začněte název s <strong>%s</strong></a> a zamezíte tak nechtěnému sloučení pull requestu.`
|
||||
pulls.cannot_merge_work_in_progress=Tento pull request je označen jako probíhající práce.
|
||||
pulls.still_in_progress=Stále probíhá?
|
||||
pulls.add_prefix=Přidat prefix <strong>%s</strong>
|
||||
pulls.remove_prefix=Odstranit prefix <strong>%s</strong>
|
||||
pulls.data_broken=Tento požadavek na natažení je rozbitý kvůli chybějícím informacím o rozštěpení.
|
||||
pulls.files_conflicted=Tento požadavek na natažení obsahuje změny, které kolidují s cílovou větví.
|
||||
pulls.data_broken=Tento pull request je rozbitý kvůli chybějícím informacím o rozštěpení.
|
||||
pulls.files_conflicted=Tento pull request obsahuje změny, které kolidují s cílovou větví.
|
||||
pulls.is_checking=Právě probíhá kontrola konfliktů při sloučení. Zkuste to za chvíli.
|
||||
pulls.is_ancestor=Tato větev je již součástí cílové větve. Není co sloučit.
|
||||
pulls.is_empty=Změny na této větvi jsou již na cílové větvi. Toto bude prázdný commit.
|
||||
pulls.required_status_check_failed=Některé požadované kontroly nebyly úspěšné.
|
||||
pulls.required_status_check_missing=Některé požadované kontroly chybí.
|
||||
pulls.required_status_check_administrator=Jako administrátor stále můžete sloučit tento požadavek na natažení.
|
||||
pulls.blocked_by_approvals=Tento požadavek na natažení ještě nemá dostatek schválení. Uděleno %d z %d schválení.
|
||||
pulls.blocked_by_rejection=Tento požadavek na natažení obsahuje změny požadované oficiálním posuzovatelem.
|
||||
pulls.blocked_by_official_review_requests=Tento požadavek na natažení obsahuje oficiální žádosti o posouzení.
|
||||
pulls.blocked_by_outdated_branch=Tento požadavek na natažení je zablokován, protože je zastaralý.
|
||||
pulls.blocked_by_changed_protected_files_1=Tento požadavek na natažení je zablokován, protože mění chráněný soubor:
|
||||
pulls.blocked_by_changed_protected_files_n=Tento požadavek na natažení je zablokován, protože mění chráněné soubory:
|
||||
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í konflikty.
|
||||
pulls.required_status_check_administrator=Jako administrátor stále můžete sloučit tento pull request.
|
||||
pulls.blocked_by_approvals=Tento pull request ještě nemá dostatek schválení. Uděleno %d z %d schválení.
|
||||
pulls.blocked_by_rejection=Tento pull request obsahuje změny požadované oficiálním posuzovatelem.
|
||||
pulls.blocked_by_official_review_requests=Tento pull request obsahuje oficiální žádosti o posouzení.
|
||||
pulls.blocked_by_outdated_branch=Tento pull request je zablokován, protože je zastaralý.
|
||||
pulls.blocked_by_changed_protected_files_1=Tento pull request je zablokován, protože mění chráněný soubor:
|
||||
pulls.blocked_by_changed_protected_files_n=Tento pull request je zablokován, protože mění chráněné soubory:
|
||||
pulls.can_auto_merge_desc=Tento pull request může být automaticky sloučen.
|
||||
pulls.cannot_auto_merge_desc=Tento pull request nemůže být automaticky sloučen, neboť se v něm nachází konflikty.
|
||||
pulls.cannot_auto_merge_helper=Pro vyřešení konfliktů proveďte ruční sloučení.
|
||||
pulls.num_conflicting_files_1=%d konfliktní soubor
|
||||
pulls.num_conflicting_files_n=%d konfliktních souborů
|
||||
|
@ -1763,20 +1822,21 @@ pulls.waiting_count_1=%d čekající posouzení
|
|||
pulls.waiting_count_n=%d čekající posouzení
|
||||
pulls.wrong_commit_id=ID commitu musí být ID commitu v cílové větvi
|
||||
|
||||
pulls.no_merge_desc=Tento požadavek na natažení nemůže být sloučen, protože všechny možnosti repozitáře na sloučení jsou zakázány.
|
||||
pulls.no_merge_helper=Povolte možnosti sloučení v nastavení repozitáře nebo proveďte sloučení požadavku na natažení ručně.
|
||||
pulls.no_merge_wip=Požadavek na natažení nemůže být sloučen protože je označen jako nedokončený.
|
||||
pulls.no_merge_not_ready=Tento požadavek na natažení není připraven na sloučení, zkontrolujte stav posouzení a kontrolu stavu.
|
||||
pulls.no_merge_access=Nemáte oprávnění sloučit tento požadavek na natažení.
|
||||
pulls.no_merge_desc=Tento pull request nemůže být sloučen, protože všechny možnosti repozitáře na sloučení jsou zakázány.
|
||||
pulls.no_merge_helper=Povolte možnosti sloučení v nastavení repozitáře nebo proveďte sloučení pull requestu ručně.
|
||||
pulls.no_merge_wip=Pull request nemůže být sloučen protože je označen jako nedokončený.
|
||||
pulls.no_merge_not_ready=Tento pull request není připraven na sloučení, zkontrolujte stav posouzení a kontrolu stavu.
|
||||
pulls.no_merge_access=Nemáte oprávnění sloučit tento pull request.
|
||||
pulls.merge_pull_request=Vytvořit slučovací commit
|
||||
pulls.rebase_merge_pull_request=Rebase pak fast-forward
|
||||
pulls.rebase_merge_commit_pull_request=Rebase a poté vytvořit slučovací commit
|
||||
pulls.squash_merge_pull_request=Vytvořit squash commit
|
||||
pulls.fast_forward_only_merge_pull_request=Pouze fast-forward
|
||||
pulls.merge_manually=Sloučeno ručně
|
||||
pulls.merge_commit_id=ID slučovacího commitu
|
||||
pulls.require_signed_wont_sign=Větev vyžaduje podepsané commity, ale toto sloučení nebude podepsáno
|
||||
|
||||
pulls.invalid_merge_option=Nemůžete použít tuto možnost sloučení pro tento požadavek na natažení.
|
||||
pulls.invalid_merge_option=Nemůžete použít tuto možnost sloučení pro tento pull request.
|
||||
pulls.merge_conflict=Sloučení selhalo: Došlo ke konfliktu při sloučení. Tip: Zkuste jinou strategii
|
||||
pulls.merge_conflict_summary=Chybové hlášení
|
||||
pulls.rebase_conflict=Sloučení selhalo: Došlo ke konfliktu při rebase commitu: %[1]s. Tip: Zkuste jinou strategii
|
||||
|
@ -1784,11 +1844,11 @@ pulls.rebase_conflict_summary=Chybové hlášení
|
|||
pulls.unrelated_histories=Sloučení selhalo: Hlavní a základní revize nesdílí společnou historii. Tip: Zkuste jinou strategii
|
||||
pulls.merge_out_of_date=Sloučení selhalo: Základ byl aktualizován při generování sloučení. Tip: Zkuste to znovu.
|
||||
pulls.head_out_of_date=Sloučení selhalo: Hlavní revize byla aktualizován při generování sloučení. Tip: Zkuste to znovu.
|
||||
pulls.has_merged=Chyba: Požadavek na natažení byl sloučen, nelze znovu sloučit nebo změnit cílovou větev.
|
||||
pulls.has_merged=Chyba: Pull request byl sloučen, nelze znovu sloučit nebo změnit cílovou větev.
|
||||
pulls.push_rejected=Sloučení selhalo: Nahrání bylo zamítnuto. Zkontrolujte háčky Gitu pro tento repozitář.
|
||||
pulls.push_rejected_summary=Úplná zpráva o odmítnutí
|
||||
pulls.push_rejected_no_message=Sloučení se nezdařilo: Nahrání bylo odmítnuto, ale nebyla nalezena žádná vzdálená zpráva.<br>Zkontrolujte háčky gitu pro tento repozitář
|
||||
pulls.open_unmerged_pull_exists=`Nemůžete provést operaci znovuotevření protože je tu čekající požadavek na natažení (#%d) s identickými vlastnostmi.`
|
||||
pulls.open_unmerged_pull_exists=`Nemůžete provést operaci znovuotevření protože je tu čekající pull request (#%d) s identickými vlastnostmi.`
|
||||
pulls.status_checking=Některé kontroly jsou nedořešeny
|
||||
pulls.status_checks_success=Všechny kontroly byly úspěšné
|
||||
pulls.status_checks_warning=Některé kontroly nahlásily varování
|
||||
|
@ -1803,30 +1863,32 @@ pulls.update_branch_rebase=Aktualizovat větev pomocí rebase
|
|||
pulls.update_branch_success=Aktualizace větve byla úspěšná
|
||||
pulls.update_not_allowed=Nemáte oprávnění aktualizovat větev
|
||||
pulls.outdated_with_base_branch=Tato větev je zastaralá oproti základní větvi
|
||||
pulls.close=Zavřít požadavek na natažení
|
||||
pulls.closed_at=`uzavřel/a tento požadavek na natažení <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.reopened_at=`znovuotevřel/a tento požadavek na natažení <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.close=Zavřít pull request
|
||||
pulls.closed_at=`uzavřel/a tento pull request <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.reopened_at=`znovuotevřel/a tento pull request <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.cmd_instruction_hint=`Zobrazit <a class="show-instruction">instrukce příkazové řádky</a>.`
|
||||
pulls.cmd_instruction_checkout_desc=Z vašeho repositáře projektu se podívejte na novou větev a vyzkoušejte změny.
|
||||
pulls.cmd_instruction_merge_title=Sloučit
|
||||
pulls.cmd_instruction_merge_desc=Slučte změny a aktualizujte je na Gitea.
|
||||
pulls.clear_merge_message=Vymazat zprávu o sloučení
|
||||
pulls.clear_merge_message_hint=Vymazání zprávy o sloučení odstraní pouze obsah zprávy a ponechá generované přídavky gitu jako "Co-AuthoreBy …".
|
||||
|
||||
pulls.auto_merge_button_when_succeed=(Když kontroly uspějí)
|
||||
pulls.auto_merge_when_succeed=Automaticky sloučit, když všechny kontroly uspějí
|
||||
pulls.auto_merge_newly_scheduled=Požadavek na natažení byl naplánován na sloučení, jakmile všechny kontroly uspějí.
|
||||
pulls.auto_merge_has_pending_schedule=%[1]s naplánoval/a tento požadavek na natažení pro automatické sloučení, když všechny kontroly uspějí v %[2]s.
|
||||
pulls.auto_merge_newly_scheduled=Pull request byl naplánován na sloučení, jakmile všechny kontroly uspějí.
|
||||
pulls.auto_merge_has_pending_schedule=%[1]s naplánoval/a tento pull request pro automatické sloučení, když všechny kontroly uspějí v %[2]s.
|
||||
|
||||
pulls.auto_merge_cancel_schedule=Zrušit automatické sloučení
|
||||
pulls.auto_merge_not_scheduled=Tento požadavek na natažení není naplánován na automatické sloučení.
|
||||
pulls.auto_merge_canceled_schedule=Automatické sloučení bylo zrušeno pro tento požadavek na natažení.
|
||||
pulls.auto_merge_not_scheduled=Tento pull request není naplánován na automatické sloučení.
|
||||
pulls.auto_merge_canceled_schedule=Automatické sloučení bylo zrušeno pro tento pull request.
|
||||
|
||||
pulls.auto_merge_newly_scheduled_comment=`požadavek na automatické sloučení tohoto požadavku na natažení je naplánován, když všechny kontroly uspějí %[1]s`
|
||||
pulls.auto_merge_canceled_schedule_comment=`zrušil/a automatické sloučení tohoto požadavku na natažení, když všechny kontroly uspějí %[1]s`
|
||||
pulls.auto_merge_newly_scheduled_comment=`požadavek na automatické sloučení tohoto pull requestu je naplánován, když všechny kontroly uspějí %[1]s`
|
||||
pulls.auto_merge_canceled_schedule_comment=`zrušil/a automatické sloučení tohoto pull requestu, když všechny kontroly uspějí %[1]s`
|
||||
|
||||
pulls.delete.title=Odstranit tento požadavek na natažení?
|
||||
pulls.delete.text=Opravdu chcete tento požadavek na natažení smazat? (Tím se trvale odstraní veškerý obsah. Pokud jej hodláte archivovat, zvažte raději jeho uzavření.)
|
||||
pulls.delete.title=Odstranit tento pull request?
|
||||
pulls.delete.text=Opravdu chcete tento pull request smazat? (Tím se trvale odstraní veškerý obsah. Pokud jej hodláte archivovat, zvažte raději jeho uzavření.)
|
||||
|
||||
pulls.recently_pushed_new_branches=Nahráli jste větev <strong>%[1]s</strong> %[2]s
|
||||
|
||||
pull.deleted_branch=(odstraněno):%s
|
||||
|
||||
|
@ -1871,7 +1933,7 @@ signing.wont_sign.parentsigned=Commit nebude podepsán, protože nadřazený com
|
|||
signing.wont_sign.basesigned=Sloučení nebude podepsáno, protože základní commit není podepsaný.
|
||||
signing.wont_sign.headsigned=Sloučení nebude podepsáno, protože hlavní revize není podepsána.
|
||||
signing.wont_sign.commitssigned=Sloučení nebude podepsáno, protože všechny přidružené revize nejsou podepsány.
|
||||
signing.wont_sign.approved=Sloučení nebude podepsáno, protože požadavek na natažení není schválen.
|
||||
signing.wont_sign.approved=Sloučení nebude podepsáno, protože pull request není schválen.
|
||||
signing.wont_sign.not_signed_in=Nejste přihlášeni.
|
||||
|
||||
ext_wiki=Přístup k externí Wiki
|
||||
|
@ -1905,6 +1967,9 @@ wiki.page_name_desc=Zadejte název této Wiki stránky. Některé speciální n
|
|||
wiki.original_git_entry_tooltip=Zobrazit originální Git soubor namísto použití přátelského odkazu.
|
||||
|
||||
activity=Aktivita
|
||||
activity.navbar.code_frequency=Frekvence kódu
|
||||
activity.navbar.contributors=Přispěvatelé
|
||||
activity.navbar.recent_commits=Nedávné commity
|
||||
activity.period.filter_label=Období:
|
||||
activity.period.daily=1 den
|
||||
activity.period.halfweekly=3 dny
|
||||
|
@ -1914,16 +1979,16 @@ activity.period.quarterly=3 měsíce
|
|||
activity.period.semiyearly=6 měsíců
|
||||
activity.period.yearly=1 rok
|
||||
activity.overview=Přehled
|
||||
activity.active_prs_count_1=<strong>%d</strong> aktivní požadavek na natažení
|
||||
activity.active_prs_count_n=<strong>%d</strong> aktivní požadavky na natažení
|
||||
activity.merged_prs_count_1=Sloučený požadavek na natažení
|
||||
activity.merged_prs_count_n=Sloučené požadavky na natažení
|
||||
activity.opened_prs_count_1=Navrhovaný požadavek na natažení
|
||||
activity.opened_prs_count_n=Navrhované požadavky na natažení
|
||||
activity.active_prs_count_1=<strong>%d</strong> aktivní pull request
|
||||
activity.active_prs_count_n=<strong>%d</strong> aktivních pull requestů
|
||||
activity.merged_prs_count_1=Sloučený pull request
|
||||
activity.merged_prs_count_n=Sloučené pull requesty
|
||||
activity.opened_prs_count_1=Navrhovaný pull request
|
||||
activity.opened_prs_count_n=Navrhované pull requesty
|
||||
activity.title.user_1=%d uživatel
|
||||
activity.title.user_n=%d uživatelů
|
||||
activity.title.prs_1=%d Požadavek na natažení
|
||||
activity.title.prs_n=%d Požadavků na natažení
|
||||
activity.title.prs_1=%d pull request
|
||||
activity.title.prs_n=%d pull requestů
|
||||
activity.title.prs_merged_by=%s sloučil %s
|
||||
activity.title.prs_opened_by=%s navrhl %s
|
||||
activity.merged_prs_label=Sloučený
|
||||
|
@ -1942,7 +2007,7 @@ activity.new_issues_count_n=Nové úkoly
|
|||
activity.new_issue_label=Otevřený
|
||||
activity.title.unresolved_conv_1=%d nevyřešená konverzace
|
||||
activity.title.unresolved_conv_n=%d nevyřešených konverzací
|
||||
activity.unresolved_conv_desc=Tyto nedávno změněné úkolu a požadavky na natažení ještě nebyly vyřešeny.
|
||||
activity.unresolved_conv_desc=Tyto nedávno změněné úkolu a pull requestu ještě nebyly vyřešeny.
|
||||
activity.unresolved_conv_label=Otevřít
|
||||
activity.title.releases_1=%d Vydání
|
||||
activity.title.releases_n=%d Vydání
|
||||
|
@ -1972,17 +2037,8 @@ activity.git_stats_deletion_n=%d odebrání
|
|||
|
||||
contributors.contribution_type.filter_label=Typ příspěvku:
|
||||
contributors.contribution_type.commits=Commity
|
||||
|
||||
search=Vyhledat
|
||||
search.search_repo=Hledat repozitář
|
||||
search.type.tooltip=Druh vyhledávání
|
||||
search.fuzzy=Fuzzy
|
||||
search.fuzzy.tooltip=Zahrnout výsledky, které také úzce odpovídají hledanému výrazu
|
||||
search.match=Shoda
|
||||
search.match.tooltip=Zahrnout pouze výsledky, které odpovídají přesnému hledanému výrazu
|
||||
search.results=Výsledky hledání „%s“ v <a href="%s">%s</a>
|
||||
search.code_no_results=Nebyl nalezen žádný zdrojový kód odpovídající hledanému výrazu.
|
||||
search.code_search_unavailable=V současné době není vyhledávání kódu dostupné. Obraťte se na správce webu.
|
||||
contributors.contribution_type.additions=Přidání
|
||||
contributors.contribution_type.deletions=Odstranění
|
||||
|
||||
settings=Nastavení
|
||||
settings.desc=Nastavení je místo, kde můžete měnit nastavení repozitáře
|
||||
|
@ -2000,10 +2056,13 @@ settings.mirror_settings=Nastavení zrcadla
|
|||
settings.mirror_settings.docs=Nastavte repozitář pro automatickou synchronizaci commitů, značek a větví s jiným repozitářem.
|
||||
settings.mirror_settings.docs.disabled_pull_mirror.instructions=Nastavte váš projekt pro automatické nahrávání commitů, značek a větví do jiného repozitáře. Správce webu zakázal zrcadla pro natažení.
|
||||
settings.mirror_settings.docs.disabled_push_mirror.instructions=Nastavte svůj projekt pro automatické natažení commitů, značek a větví z jiného repozitáře.
|
||||
settings.mirror_settings.docs.disabled_push_mirror.pull_mirror_warning=Právě teď to lze provést pouze v menu "Nová migrace". Pro více informací prosím konzultujte:
|
||||
settings.mirror_settings.docs.disabled_push_mirror.info=Push zrcadla byla zakázána administrátorem vašeho webu.
|
||||
settings.mirror_settings.docs.no_new_mirrors=Váš repozitář zrcadlí změny do nebo z jiného repozitáře. Mějte prosím na paměti, že v tuto chvíli nemůžete vytvořit žádná nová zrcadla.
|
||||
settings.mirror_settings.docs.can_still_use=I když nemůžete upravit stávající zrcadla nebo vytvořit nová, stále můžete použít své stávající zrcadlo.
|
||||
settings.mirror_settings.docs.more_information_if_disabled=Více informací o zrcadlech pro nahrání a natažení naleznete zde:
|
||||
settings.mirror_settings.docs.doc_link_title=Jak mohu zrcadlit repozitáře?
|
||||
settings.mirror_settings.docs.doc_link_pull_section=sekci "stahovat ze vzdáleného úložiště" v dokumentaci.
|
||||
settings.mirror_settings.docs.pulling_remote_title=Stažení ze vzdáleného úložiště
|
||||
settings.mirror_settings.mirrored_repository=Zrcadlený repozitář
|
||||
settings.mirror_settings.direction=Směr
|
||||
|
@ -2016,6 +2075,8 @@ settings.mirror_settings.push_mirror.add=Přidat zrcadlo pro nahrání
|
|||
settings.mirror_settings.push_mirror.edit_sync_time=Upravit interval synchronizace zrcadla
|
||||
|
||||
settings.sync_mirror=Synchronizovat nyní
|
||||
settings.pull_mirror_sync_in_progress=V tuto chvíli probíhá nahrávání změn ze vzdáleného %s.
|
||||
settings.push_mirror_sync_in_progress=Probíhá nahrávání změn do vzdáleného %s.
|
||||
settings.site=Webová stránka
|
||||
settings.update_settings=Aktualizovat nastavení
|
||||
settings.update_mirror_settings=Aktualizovat nastavení zrcadla
|
||||
|
@ -2025,6 +2086,8 @@ settings.branches.add_new_rule=Přidat nové pravidlo
|
|||
settings.advanced_settings=Pokročilá nastavení
|
||||
settings.wiki_desc=Povolit Wiki repozitáře
|
||||
settings.use_internal_wiki=Používat vestavěnou Wiki
|
||||
settings.default_wiki_branch_name=Výchozí název větve Wiki
|
||||
settings.failed_to_change_default_wiki_branch=Změna výchozí větve wiki se nezdařila.
|
||||
settings.use_external_wiki=Používat externí Wiki
|
||||
settings.external_wiki_url=URL externí Wiki
|
||||
settings.external_wiki_url_error=URL externí wiki platné URL.
|
||||
|
@ -2046,15 +2109,19 @@ settings.tracker_issue_style.regexp_pattern_desc=První zachycená skupina bude
|
|||
settings.tracker_url_format_desc=Použijte zástupné symboly <code>{user}</code>, <code>{repo}</code> a <code>{index}</code> pro uživatelské jméno, jméno repozitáře a číslo úkolu.
|
||||
settings.enable_timetracker=Povolit sledování času
|
||||
settings.allow_only_contributors_to_track_time=Povolit sledování času pouze přispěvatelům
|
||||
settings.pulls_desc=Povolit požadavky na natažení
|
||||
settings.pulls_desc=Povolit pull requesty repozitáře
|
||||
settings.pulls.ignore_whitespace=Ignorovat bílé znaky při konfliktech
|
||||
settings.pulls.enable_autodetect_manual_merge=Povolit autodetekci ručních sloučení (Poznámka: V některých zvláštních případech může dojít k nesprávnému rozhodnutí)
|
||||
settings.pulls.allow_rebase_update=Povolit aktualizaci větve požadavku na natažení pomocí rebase
|
||||
settings.pulls.default_delete_branch_after_merge=Ve výchozím nastavení mazat větev požadavku na natažení po jeho sloučení
|
||||
settings.pulls.allow_rebase_update=Povolit aktualizaci větve pull requestu pomocí rebase
|
||||
settings.pulls.default_delete_branch_after_merge=Ve výchozím nastavení mazat větev pull requestu po jeho sloučení
|
||||
settings.pulls.default_allow_edits_from_maintainers=Ve výchozím nastavení povolit úpravy od správců
|
||||
settings.releases_desc=Povolit vydání v repozitáři
|
||||
settings.packages_desc=Povolit registr balíčků repozitáře
|
||||
settings.projects_desc=Povolit projekty v repozitáři
|
||||
settings.projects_mode_desc=Režim projektů (druhy projektů k zobrazení)
|
||||
settings.projects_mode_repo=Pouze projekty repozitáře
|
||||
settings.projects_mode_owner=Pouze projekty uživatele nebo organizace
|
||||
settings.projects_mode_all=Všechny projekty
|
||||
settings.actions_desc=Povolit akce repozitáře
|
||||
settings.admin_settings=Nastavení správce
|
||||
settings.admin_enable_health_check=Povolit kontrolu stavu repozitáře (git fsck)
|
||||
|
@ -2080,6 +2147,7 @@ settings.convert_fork_succeed=Rozštěpení bylo překonvertován na běžný re
|
|||
settings.transfer=Předat vlastnictví
|
||||
settings.transfer.rejected=Převod repozitáře byl zamítnut.
|
||||
settings.transfer.success=Převod repozitáře byl úspěšný.
|
||||
settings.transfer.blocked_user=Nelze převést repozitář, protože jste blokování novým vlastníkem.
|
||||
settings.transfer_abort=Zrušit převod
|
||||
settings.transfer_abort_invalid=Nemůžete zrušit neexistující převod repozitáře.
|
||||
settings.transfer_abort_success=Převod repozitáře do %s byl úspěšně zrušen.
|
||||
|
@ -2125,11 +2193,11 @@ settings.add_collaborator_success=Spolupracovník byl přidán.
|
|||
settings.add_collaborator_inactive_user=Nelze přidat neaktivního uživatele jako spolupracovníka.
|
||||
settings.add_collaborator_owner=Vlastníka nelze přidat jako spolupracovníka.
|
||||
settings.add_collaborator_duplicate=Spolupracovník je již přidán k tomuto repozitáři.
|
||||
settings.add_collaborator.blocked_user=Spolupracovník je zablokován vlastníkem repozitáře nebo naopak.
|
||||
settings.delete_collaborator=Odstranit
|
||||
settings.collaborator_deletion=Odstranit spolupracovníka
|
||||
settings.collaborator_deletion_desc=Odstranění spolupracovníka zruší jeho přístup do tohoto repozitáře. Pokračovat?
|
||||
settings.remove_collaborator_success=Spolupracovník byl smazán.
|
||||
settings.search_user_placeholder=Hledat uživatele…
|
||||
settings.org_not_allowed_to_be_collaborator=Organizace nemůže být přidána jako spolupracovník.
|
||||
settings.change_team_access_not_allowed=Změna přístupu týmu k repozitáře se omezuje na vlastníka organizace
|
||||
settings.team_not_in_organization=Tým není ve stejné organizaci jako repozitář
|
||||
|
@ -2137,7 +2205,6 @@ settings.teams=Týmy
|
|||
settings.add_team=Přidat tým
|
||||
settings.add_team_duplicate=Tým již má repozitář
|
||||
settings.add_team_success=Tým má nyní přístup k repozitáři.
|
||||
settings.search_team=Vyhledat tým…
|
||||
settings.change_team_permission_tip=Oprávnění týmu je nastaveno na stránce nastavení týmu a nelze je změnit pro každý repozitář
|
||||
settings.delete_team_tip=Tento tým má přístup ke všem repositářům a nemůže být odstraněn
|
||||
settings.remove_team_success=Přístup týmu k repozitáři byl odstraněn.
|
||||
|
@ -2203,22 +2270,25 @@ settings.event_issue_milestone=Úkolu přidán milník
|
|||
settings.event_issue_milestone_desc=Úkolu přidán nebo odebrán milník.
|
||||
settings.event_issue_comment=Komentář k úkolu
|
||||
settings.event_issue_comment_desc=Komentář úkolu přidán, upraven nebo smazán.
|
||||
settings.event_header_pull_request=Události požadavku na natažení
|
||||
settings.event_pull_request=Požadavek na stažení
|
||||
settings.event_pull_request_desc=Požadavek na natažení otevřen, uzavřen, znovu otevřen nebo upraven.
|
||||
settings.event_pull_request_assign=Požadavek na natažení přiřazen
|
||||
settings.event_pull_request_assign_desc=Požadavek na natažení přiřazen nebo nepřiřazen.
|
||||
settings.event_pull_request_label=Požadavek na natažení oštítkován
|
||||
settings.event_pull_request_label_desc=Štítky požadavku na natažení aktualizovány nebo vymazány.
|
||||
settings.event_pull_request_milestone=Požadavku na natažení přidán milník
|
||||
settings.event_pull_request_milestone_desc=Požadavku na natažení přidán nebo odebrán milník.
|
||||
settings.event_pull_request_comment=Požadavek na natažení okomentován
|
||||
settings.event_pull_request_comment_desc=Komentář požadavku na natažení vytvořen, upraven nebo odstraněn.
|
||||
settings.event_pull_request_review=Požadavek na natažení přezkoumán
|
||||
settings.event_pull_request_review_desc=Požadavek na natažení schválen, odmítnut nebo zkontrolován.
|
||||
settings.event_pull_request_sync=Požadavek na natažení synchronizován
|
||||
settings.event_pull_request_sync_desc=Požadavek na natažení synchronizován.
|
||||
settings.event_pull_request_review_request=Vyžádán požadavek na natažení
|
||||
settings.event_header_pull_request=Události pull requestu
|
||||
settings.event_pull_request=Pull request
|
||||
settings.event_pull_request_desc=Pull request otevřen, uzavřen, znovu otevřen nebo upraven.
|
||||
settings.event_pull_request_assign=Pull request přiřazen
|
||||
settings.event_pull_request_assign_desc=Pull request přiřazen nebo nepřiřazen.
|
||||
settings.event_pull_request_label=Pull request oštítkován
|
||||
settings.event_pull_request_label_desc=Štítky pull requestu aktualizovány nebo vymazány.
|
||||
settings.event_pull_request_milestone=Přidán milník pull requestu
|
||||
settings.event_pull_request_milestone_desc=Přidán nebo odebrán milník pull requestu.
|
||||
settings.event_pull_request_comment=Pull request okomentován
|
||||
settings.event_pull_request_comment_desc=Komentář pull requestu vytvořen, upraven nebo odstraněn.
|
||||
settings.event_pull_request_review=Pull request posouzen
|
||||
settings.event_pull_request_review_desc=Pull request schválen, odmítnut nebo zkontrolován.
|
||||
settings.event_pull_request_sync=Pull request synchronizován
|
||||
settings.event_pull_request_sync_desc=Pull request synchronizován.
|
||||
settings.event_pull_request_review_request=Požádáno o posouzení pull requestu
|
||||
settings.event_pull_request_review_request_desc=Přidána nebo ostraněna žádnost o kontrolu pull requestu.
|
||||
settings.event_pull_request_approvals=Schválení pull requestu
|
||||
settings.event_pull_request_merge=Sloučení pull requestu
|
||||
settings.event_package=Balíček
|
||||
settings.event_package_desc=Balíček vytvořen nebo odstraněn v repozitáři.
|
||||
settings.branch_filter=Filtr větví
|
||||
|
@ -2282,32 +2352,34 @@ settings.protect_disable_push_desc=Žádné nahrávání do této větve nebude
|
|||
settings.protect_enable_push=Povolit nahrávání
|
||||
settings.protect_enable_push_desc=Každý, kdo má přístup k zápisu, bude moci nahrávat do této větve (ale ne vynucená nahrávání).
|
||||
settings.protect_enable_merge=Povolit sloučení
|
||||
settings.protect_enable_merge_desc=Každému, kdo má přístup k zápisu, bude povoleno sloučit pull requesty do této větve.
|
||||
settings.protect_whitelist_committers=Povolit nahrání jen vyjmenovaným
|
||||
settings.protect_whitelist_committers_desc=Pouze povolení uživatelé budou moci nahrávat do této větve (ale ne vynucení nahrávání).
|
||||
settings.protect_whitelist_deploy_keys=Povolit nahrání klíčům pro nasazení s přístupem pro zápis.
|
||||
settings.protect_whitelist_users=Povolení uživatelé pro nahrávání:
|
||||
settings.protect_whitelist_search_users=Hledat uživatele…
|
||||
settings.protect_whitelist_teams=Povolené týmy pro nahrávání:
|
||||
settings.protect_whitelist_search_teams=Vyhledat týmy…
|
||||
settings.protect_merge_whitelist_committers=Povolit vyjmenovaným slučování
|
||||
settings.protect_merge_whitelist_committers_desc=Povolit pouze vyjmenovaným uživatelům nebo týmům slučovat požadavky na natažení do této větve.
|
||||
settings.protect_merge_whitelist_committers_desc=Povolit pouze vyjmenovaným uživatelům nebo týmům slučovat pull requesty do této větve.
|
||||
settings.protect_merge_whitelist_users=Povolení uživatelé pro slučování:
|
||||
settings.protect_merge_whitelist_teams=Povolené týmy pro slučování:
|
||||
settings.protect_check_status_contexts=Povolit kontrolu stavu
|
||||
settings.protect_status_check_patterns=Vzorce kontroly stavu:
|
||||
settings.protect_status_check_patterns_desc=Zadejte vzory pro určení, které kontroly stavu musí projít před sloučením větví do větve, která odpovídá tomuto pravidlu. Každý řádek určuje vzor. Vzory nemohou být prázdné.
|
||||
settings.protect_check_status_contexts_desc=Požadovat kontrolu stavu před sloučením. Vyberte, jaké kontroly stavu musí projít před tím, než je možné větev sloučit do větve, která vyhovuje tomuto pravidlu. Pokud je povoleno, revize musí být nejprve nahrány do jiné větve, projít kontrolou stavu, a následné sloučeny nebo přímo nahrány do větve, která vyhovuje tomuto pravidlu. Pokud nejsou vybrány žádné kontexty, musí být poslední potvrzení úspěšné bez ohledu na kontext.
|
||||
settings.protect_check_status_contexts_list=Kontroly stavu pro tento repozitář zjištěné během posledního týdne
|
||||
settings.protect_status_check_matched=Odpovídá
|
||||
settings.protect_invalid_status_check_pattern=Neplatný vzor kontroly stavu: „%s“.
|
||||
settings.protect_no_valid_status_check_patterns=Žádné platné vzory kontroly stavu.
|
||||
settings.protect_required_approvals=Požadovaná schválení:
|
||||
settings.protect_required_approvals_desc=Umožnit sloučení pouze požadavkům na natažení s dostatečným pozitivním hodnocením.
|
||||
settings.protect_required_approvals_desc=Umožnit sloučení pouze pull requestů s dostatečným pozitivním hodnocením.
|
||||
settings.protect_approvals_whitelist_enabled=Omezit schválení na povolené uživatele nebo týmy
|
||||
settings.protect_approvals_whitelist_enabled_desc=Do požadovaných schválení se započítají pouze posouzení od povolených uživatelů nebo týmů. Bez seznamu povolených se započítává schválení od kohokoli s právem zápisu.
|
||||
settings.protect_approvals_whitelist_users=Povolení posuzovatelé:
|
||||
settings.protect_approvals_whitelist_teams=Povolené týmy pro posuzování:
|
||||
settings.dismiss_stale_approvals=Odmítnout nekvalitní schválení
|
||||
settings.dismiss_stale_approvals_desc=Pokud budou do větve nahrány nové revize, které mění obsah tohoto požadavku na natažení, všechna stará schválení budou zamítnuta.
|
||||
settings.dismiss_stale_approvals_desc=Pokud budou do větve nahrány nové revize, které mění obsah tohoto pull requestu, všechna stará schválení budou zamítnuta.
|
||||
settings.ignore_stale_approvals=Ignorovat zastaralá schválení
|
||||
settings.ignore_stale_approvals_desc=Nezapočítávejte schválení, která byla provedena u starších commitů (zastaralých recenzí), do počtu schválení, která má PR. Pokud jsou zastaralá hodnocení již zamítnuta, je to irelevantní.
|
||||
settings.require_signed_commits=Vyžadovat podepsané revize
|
||||
settings.require_signed_commits_desc=Odmítnout nahrání do této větve pokud nejsou podepsaná nebo jsou neověřitelná.
|
||||
settings.protect_branch_name_pattern=Vzor jména chráněných větví
|
||||
|
@ -2328,9 +2400,9 @@ settings.block_rejected_reviews=Blokovat sloučení při zamítavých posouzení
|
|||
settings.block_rejected_reviews_desc=Slučování nebude možné, pokud o změny požádají oficiální posuzovatelé, i když je k dispozici dostatek schválení.
|
||||
settings.block_on_official_review_requests=Blokovat sloučení při oficiální žádosti o posouzení
|
||||
settings.block_on_official_review_requests_desc=Slučování nebude možné, pokud mají oficiální požadavek na posouzení, i když mají k dispozici dostatek schválení.
|
||||
settings.block_outdated_branch=Blokovat sloučení, pokud je požadavek na natažení zastaralý
|
||||
settings.block_outdated_branch=Blokovat sloučení, pokud je pull request zastaralý
|
||||
settings.block_outdated_branch_desc=Slučování nebude možné, pokud je hlavní větev za základní větví.
|
||||
settings.default_branch_desc=Vybrat výchozí větev repozitáře pro požadavky na natažení a revize kódu:
|
||||
settings.default_branch_desc=Vybrat výchozí větev repozitáře pro pull requesty a revize kódu:
|
||||
settings.merge_style_desc=Sloučit styly
|
||||
settings.default_merge_style_desc=Výchozí styl sloučení pro požadavky na natažení:
|
||||
settings.choose_branch=Vyberte větev…
|
||||
|
@ -2357,15 +2429,16 @@ settings.matrix.room_id=ID místnosti
|
|||
settings.matrix.message_type=Typ zprávy
|
||||
settings.archive.button=Archivovat repozitář
|
||||
settings.archive.header=Archivovat tento repozitář
|
||||
settings.archive.text=Archivace repozitáře způsobí, že bude zcela určen pouze pro čtení. Bude skryt z ovládacího panelu. Nikdo (ani vy!) nebude moci vytvářet nové revize ani otevírat nové úkoly nebo žádosti o natažení.
|
||||
settings.archive.text=Archivace repozitáře způsobí, že bude zcela určen pouze pro čtení. Bude skryt z ovládacího panelu. Nikdo (ani vy!) nebude moci vytvářet nové revize ani otevírat nové úkoly nebo pull requesty.
|
||||
settings.archive.success=Repozitář byl úspěšně archivován.
|
||||
settings.archive.error=Nastala chyba při archivování repozitáře. Prohlédněte si záznam pro více detailů.
|
||||
settings.archive.error_ismirror=Nemůžete archivovat zrcadlený repozitář.
|
||||
settings.archive.branchsettings_unavailable=Nastavení větví není dostupné, pokud je repozitář archivovaný.
|
||||
settings.archive.tagsettings_unavailable=Nastavení značek není k dispozici, pokud je repozitář archivován.
|
||||
settings.archive.mirrors_unavailable=Zrcadla nejsou k dispozici, pokud je repozitář archivován.
|
||||
settings.unarchive.button=Obnovit repozitář
|
||||
settings.unarchive.header=Obnovit tento repozitář
|
||||
settings.unarchive.text=Obnovení repozitáře vrátí možnost přijímání commitů a nahrávání. Stejně tak se obnoví i možnost zadávání nových úkolů a požadavků na natažení.
|
||||
settings.unarchive.text=Obnovení repozitáře vrátí možnost přijímání commitů a nahrávání. Stejně tak se obnoví i možnost zadávání nových úkolů a pull requestů.
|
||||
settings.unarchive.success=Repozitář byl úspěšně obnoven.
|
||||
settings.unarchive.error=Nastala chyba při obnovování repozitáře. Prohlédněte si záznam pro více detailů.
|
||||
settings.update_avatar_success=Avatar repozitáře byl aktualizován.
|
||||
|
@ -2446,9 +2519,9 @@ diff.review.header=Odeslat posouzení
|
|||
diff.review.placeholder=Posoudit komentář
|
||||
diff.review.comment=Okomentovat
|
||||
diff.review.approve=Schválit
|
||||
diff.review.self_reject=Autoři požadavků na natažení nemohou požadovat změny na svém vlastním požadavku na natažení
|
||||
diff.review.self_reject=Autoři pull requestu nemohou požadovat změny na svém vlastním pull requestu
|
||||
diff.review.reject=Požadovat změny
|
||||
diff.review.self_approve=Autoři požadavku na natažení nemohou schválit svůj vlastní požadavek na natažení
|
||||
diff.review.self_approve=Autoři pull requestu nemohou schválit svůj vlastní pull request
|
||||
diff.committed_by=odevzdal
|
||||
diff.protected=Chráněno
|
||||
diff.image.side_by_side=Vedle sebe
|
||||
|
@ -2529,7 +2602,6 @@ branch.default_deletion_failed=Větev „%s“ je výchozí větev. Nelze ji ods
|
|||
branch.restore=Obnovit větev „%s“
|
||||
branch.download=Stáhnout větev „%s“
|
||||
branch.rename=Přejmenovat větev „%s“
|
||||
branch.search=Hledat větev
|
||||
branch.included_desc=Tato větev je součástí výchozí větve
|
||||
branch.included=Zahrnuje
|
||||
branch.create_new_branch=Vytvořit větev z větve:
|
||||
|
@ -2560,13 +2632,16 @@ find_file.no_matching=Nebyl nalezen žádný odpovídající soubor
|
|||
error.csv.too_large=Tento soubor nelze vykreslit, protože je příliš velký.
|
||||
error.csv.unexpected=Tento soubor nelze vykreslit, protože obsahuje neočekávaný znak na řádku %d ve sloupci %d.
|
||||
error.csv.invalid_field_count=Soubor nelze vykreslit, protože má nesprávný počet polí na řádku %d.
|
||||
error.broken_git_hook=Git háčky tohoto repozitáře se zdají být rozbité. Postupujte prosím podle <a target="_blank" rel="noreferrer" href="%s">dokumentace</a>, abyste je opravili, a poté nahrajte nějaké commity pro obnovení stavu.
|
||||
|
||||
[graphs]
|
||||
component_loading=Načítání %s...
|
||||
component_loading_failed=Nelze načíst %s
|
||||
component_loading_info=Může to chvíli trvat…
|
||||
component_failed_to_load=Došlo k neočekávané chybě.
|
||||
code_frequency.what=frekvence kódu
|
||||
contributors.what=příspěvky
|
||||
recent_commits.what=nedávné commity
|
||||
|
||||
[org]
|
||||
org_name_holder=Název organizace
|
||||
|
@ -2672,7 +2747,6 @@ teams.write_permission_desc=Členství v tom týmu poskytuje právo <strong>záp
|
|||
teams.admin_permission_desc=Členství v tom týmu poskytuje právo <strong>správce</strong>: členové mohou číst z, nahrávat do a přidávat spolupracovníky do repozitářů týmu.
|
||||
teams.create_repo_permission_desc=Navíc tento tým uděluje oprávnění <strong>vytvořit repozitář</strong>: členové mohou vytvářet nové repozitáře v organizaci.
|
||||
teams.repositories=Repozitáře týmu
|
||||
teams.search_repo_placeholder=Hledat repozitář…
|
||||
teams.remove_all_repos_title=Odstranit všechny repozitáře týmu
|
||||
teams.remove_all_repos_desc=Tímto odeberete všechny repozitáře z týmu.
|
||||
teams.add_all_repos_title=Přidat všechny repozitáře
|
||||
|
@ -2681,6 +2755,7 @@ teams.add_nonexistent_repo=Repositář, který se snažíte přidat, neexistuje.
|
|||
teams.add_duplicate_users=Uživatel je již členem týmu.
|
||||
teams.repos.none=Tento tým nemůže přistoupit k žádným repozitářům.
|
||||
teams.members.none=Žádní členové v tomto týmu.
|
||||
teams.members.blocked_user=Nelze přidat uživatele, protože je zablokován organizací.
|
||||
teams.specific_repositories=Konkrétní repozitáře
|
||||
teams.specific_repositories_helper=Členové budou mít přístup pouze do repozitářů výslovně přidaných do týmu. Výběrem tohoto <strong>nebudou</strong> automaticky odstraněny již přidané repozitáře pomocí <i>Všechny repozitáře</i>.
|
||||
teams.all_repositories=Všechny repozitáře
|
||||
|
@ -2694,6 +2769,7 @@ teams.invite.description=Pro připojení k týmu klikněte na tlačítko níže.
|
|||
|
||||
[admin]
|
||||
dashboard=Přehled
|
||||
self_check=Samokontrola
|
||||
identity_access=Identita a přístup
|
||||
users=Uživatelské účty
|
||||
organizations=Organizace
|
||||
|
@ -2703,6 +2779,8 @@ integrations=Integrace
|
|||
authentication=Zdroje ověření
|
||||
emails=Uživatelské e-maily
|
||||
config=Nastavení
|
||||
config_summary=Souhrn
|
||||
config_settings=Nastavení
|
||||
notices=Systémová oznámení
|
||||
monitor=Sledování
|
||||
first_page=První
|
||||
|
@ -2737,6 +2815,7 @@ dashboard.delete_repo_archives.started=Spuštěna úloha smazání všech archiv
|
|||
dashboard.delete_missing_repos=Smazat všechny repozitáře, které nemají Git soubory
|
||||
dashboard.delete_missing_repos.started=Spuštěna úloha mazání všech repozitářů, které nemají Git soubory.
|
||||
dashboard.delete_generated_repository_avatars=Odstranit vygenerované avatary repozitářů
|
||||
dashboard.sync_repo_branches=Synchronizovat chybějící větve z git dat do databází
|
||||
dashboard.sync_repo_tags=Synchronizovat značky z git dat do databáze
|
||||
dashboard.update_mirrors=Aktualizovat zrcadla
|
||||
dashboard.repo_health_check=Kontrola stavu všech repozitářů
|
||||
|
@ -2752,6 +2831,7 @@ dashboard.reinit_missing_repos=Znovu inicializovat všechny chybějící repozit
|
|||
dashboard.sync_external_users=Synchronizovat externí uživatelská data
|
||||
dashboard.cleanup_hook_task_table=Vyčistit tabulku hook_task
|
||||
dashboard.cleanup_packages=Vyčistit prošlé balíčky
|
||||
dashboard.cleanup_actions=Vyčištění prošlých záznamů a artefaktů z akcí
|
||||
dashboard.server_uptime=Doba provozu serveru
|
||||
dashboard.current_goroutine=Aktuální Goroutines
|
||||
dashboard.current_memory_usage=Aktuální využití paměti
|
||||
|
@ -2877,9 +2957,6 @@ repos.unadopted.no_more=Nebyly nalezeny žádné další nepřijaté repositář
|
|||
repos.owner=Vlastník
|
||||
repos.name=Název
|
||||
repos.private=Soukromý
|
||||
repos.watches=Sledovače
|
||||
repos.stars=Oblíbení
|
||||
repos.forks=Rozštěpení
|
||||
repos.issues=Úkoly
|
||||
repos.size=Velikost
|
||||
repos.lfs_size=Velikost LFS
|
||||
|
@ -2888,6 +2965,7 @@ packages.package_manage_panel=Správa balíčků
|
|||
packages.total_size=Celková velikost: %s
|
||||
packages.unreferenced_size=Neodkazovaná velikost: %s
|
||||
packages.cleanup=Vyčistit prošlá data
|
||||
packages.cleanup.success=Úspěšné vyčištění dat, jejichž platnost vypršela
|
||||
packages.owner=Vlastník
|
||||
packages.creator=Tvůrce
|
||||
packages.name=Název
|
||||
|
@ -2898,10 +2976,12 @@ packages.size=Velikost
|
|||
packages.published=Publikováno
|
||||
|
||||
defaulthooks=Výchozí webové háčky
|
||||
defaulthooks.desc=Webové háčky automaticky vytvářejí HTTP POST dotazy na server při určitých Gitea událostech. Webové háčky definované zde jsou výchozí a budou zkopírovány do všech nových repozitářů. Přečtěte si více v <a target="_blank" rel="noopener" href="https://docs.gitea.io/en-us/webhooks/">průvodci webovými háčky</a>.
|
||||
defaulthooks.add_webhook=Přidat výchozí webový háček
|
||||
defaulthooks.update_webhook=Aktualizovat výchozí webový háček
|
||||
|
||||
systemhooks=Systémové webové háčky
|
||||
systemhooks.desc=Webové háčky automaticky vytvářejí HTTP POST dotazy na server při určitých Gitea událostech. Webové háčky definované zde budou vykonány na všech repozitářích systému, proto prosím zvažte jakékoli důsledky, které to může mít na výkon. Přečtěte si více v <a target="_blank" rel="noopener" href="https://docs.gitea.io/en-us/webhooks/">průvodci webovými háčky</a>.
|
||||
systemhooks.add_webhook=Přidat systémový webový háček
|
||||
systemhooks.update_webhook=Aktualizovat systémový webový háček
|
||||
|
||||
|
@ -2979,6 +3059,7 @@ auths.oauth2_required_claim_value_helper=Nastavte tuto hodnotu pro omezení při
|
|||
auths.oauth2_group_claim_name=Název tvrzení poskytující názvy skupin pro tento zdroj. (nepovinné)
|
||||
auths.oauth2_admin_group=Hodnota tvrzení pro skupinu uživatelů administrátorů. (Volitelné - vyžaduje název tvrzení výše)
|
||||
auths.oauth2_restricted_group=Hodnota tvrzení pro skupinu omezených uživatelů. (Volitelné - vyžaduje název tvrzení výše)
|
||||
auths.oauth2_map_group_to_team=Mapa uváděných skupin do organizačních týmů. (Volitelné - vyžaduje výše uvedené jméno)
|
||||
auths.oauth2_map_group_to_team_removal=Odebrat uživatele z synchronizovaných týmů, pokud uživatel nepatří do odpovídající skupiny.
|
||||
auths.enable_auto_register=Povolit zaregistrování se
|
||||
auths.sspi_auto_create_users=Automaticky vytvářet uživatele
|
||||
|
@ -3000,7 +3081,7 @@ auths.tip.nextcloud=Zaregistrujte nového OAuth konzumenta na vaší instanci po
|
|||
auths.tip.dropbox=Vytvořte novou aplikaci na https://www.dropbox.com/developers/apps
|
||||
auths.tip.facebook=Registrujte novou aplikaci na https://developers.facebook.com/apps a přidejte produkt „Facebook Login“
|
||||
auths.tip.github=Registrujte novou OAuth aplikaci na https://github.com/settings/applications/new
|
||||
auths.tip.gitlab=Registrujte novou aplikaci na https://gitlab.com/profile/applications
|
||||
auths.tip.gitlab_new=Zaregistrujte novou aplikaci na https://gitlab.com/-/profile/applications
|
||||
auths.tip.google_plus=Získejte klientské pověření OAuth2 z Google API konzole na https://console.developers.google.com/
|
||||
auths.tip.openid_connect=Použijte OpenID URL pro objevování spojení (<server>/.well-known/openid-configuration) k nastavení koncových bodů
|
||||
auths.tip.twitter=Jděte na https://dev.twitter.com/apps, vytvořte aplikaci a ujistěte se, že volba „Allow this application to be used to Sign in with Twitter“ je povolená
|
||||
|
@ -3136,6 +3217,7 @@ config.picture_config=Nastavení obrázku a avataru
|
|||
config.picture_service=Služba ikon uživatelů
|
||||
config.disable_gravatar=Zakázat službu Gravatar
|
||||
config.enable_federated_avatar=Povolit avatary z veřejných zdrojů
|
||||
config.open_with_editor_app_help=Editory "Otevřít" v nabídce klon. Ponecháte-li prázdné, bude použito výchozí. Pro zobrazení výchozího nastavení rozbalte.
|
||||
|
||||
config.git_config=Konfigurace Gitu
|
||||
config.git_disable_diff_highlight=Zakázat zvýraznění syntaxe v rozdílovém zobrazení
|
||||
|
@ -3150,6 +3232,7 @@ config.git_pull_timeout=Časový limit operace stažení
|
|||
config.git_gc_timeout=Časový limit operace GC
|
||||
|
||||
config.log_config=Nastavení logů
|
||||
config.logger_name_fmt=Logger: %s
|
||||
config.disabled_logger=Zakázané
|
||||
config.access_log_mode=Režim logování přístupu
|
||||
config.access_log_template=Šablona záznamu přístupu
|
||||
|
@ -3168,6 +3251,7 @@ monitor.execute_times=Vykonání
|
|||
monitor.process=Spuštěné procesy
|
||||
monitor.stacktrace=Výpisy zásobníku
|
||||
monitor.processes_count=%d procesů
|
||||
monitor.download_diagnosis_report=Stáhnout diagnosttickou zprávu
|
||||
monitor.desc=Popis
|
||||
monitor.start=Čas zahájení
|
||||
monitor.execute_time=Doba provádění
|
||||
|
@ -3187,6 +3271,7 @@ monitor.queue.maxnumberworkers=Maximální počet workerů
|
|||
monitor.queue.numberinqueue=Číslo ve frontě
|
||||
monitor.queue.review_add=Posoudit / přidat workery
|
||||
monitor.queue.settings.title=Nastavení fondu
|
||||
monitor.queue.settings.desc=Fondy se dynamicky zvětšují v závislosti na blokování jejich pracovních front.
|
||||
monitor.queue.settings.maxnumberworkers=Maximální počet workerů
|
||||
monitor.queue.settings.maxnumberworkers.placeholder=V současné době %[1]d
|
||||
monitor.queue.settings.maxnumberworkers.error=Maximální počet workerů musí být číslo
|
||||
|
@ -3224,13 +3309,13 @@ commit_repo=nahrál/a do <a href="%[2]s">%[3]s</a> v <a href="%[1]s">%[4]s</a>
|
|||
create_issue=`otevřel/a úkol <a href="%[1]s">%[3]s#%[2]s</a>`
|
||||
close_issue=`uzavřel/a úkol <a href="%[1]s">%[3]s#%[2]s</a>`
|
||||
reopen_issue=`znovuotevřel/a úkol <a href="%[1]s">%[3]s#%[2]s</a>`
|
||||
create_pull_request=`vytvořil/a požadavek na natažení <a href="%[1]s">%[3]s#%[2]s</a>`
|
||||
close_pull_request=`uzavřel/a požadavek na natažení <a href="%[1]s">%[3]s#%[2]s</a>`
|
||||
reopen_pull_request=`znovuotevřel/a požadavek na natažení <a href="%[1]s">%[3]s#%[2]s</a>`
|
||||
create_pull_request=`vytvořil/a pull request <a href="%[1]s">%[3]s#%[2]s</a>`
|
||||
close_pull_request=`uzavřel/a pull request <a href="%[1]s">%[3]s#%[2]s</a>`
|
||||
reopen_pull_request=`znovuotevřel/a pull request <a href="%[1]s">%[3]s#%[2]s</a>`
|
||||
comment_issue=`okomentoval/a problém <a href="%[1]s">%[3]s#%[2]s</a>`
|
||||
comment_pull=`okomentoval/a požadavek na natažení <a href="%[1]s">%[3]s#%[2]s</a>`
|
||||
merge_pull_request=`sloučil/a požadavek na natažení <a href="%[1]s">%[3]s#%[2]s</a>`
|
||||
auto_merge_pull_request=`automaticky sloučen požadavek na natažení <a href="%[1]s">%[3]s#%[2]s</a>`
|
||||
comment_pull=`okomentoval/a pull request <a href="%[1]s">%[3]s#%[2]s</a>`
|
||||
merge_pull_request=`sloučil/a pull request <a href="%[1]s">%[3]s#%[2]s</a>`
|
||||
auto_merge_pull_request=`automaticky sloučen pull request <a href="%[1]s">%[3]s#%[2]s</a>`
|
||||
transfer_repo=předal/a repozitář <code>%s</code> uživateli/organizaci <a href="%s">%s</a>
|
||||
push_tag=nahrál/a značku <a href="%[2]s">%[3]s</a> do <a href="%[1]s">%[4]s</a>
|
||||
delete_tag=smazal/a značku %[2]s z <a href="%[1]s">%[3]s</a>
|
||||
|
@ -3431,6 +3516,7 @@ owner.settings.cargo.initialize.description=Pro použití Cargo registru je zapo
|
|||
owner.settings.cargo.initialize.error=Nepodařilo se inicializovat Cargo index: %v
|
||||
owner.settings.cargo.initialize.success=Index Cargo byl úspěšně vytvořen.
|
||||
owner.settings.cargo.rebuild=Znovu vytvořit Index
|
||||
owner.settings.cargo.rebuild.description=Obnova může být užitečná, pokud index není synchronizován s uloženými balíčky Cargo.
|
||||
owner.settings.cargo.rebuild.error=Obnovení Cargo indexu se nezdařilo: %v
|
||||
owner.settings.cargo.rebuild.success=Cargo Index byl úspěšně obnoven.
|
||||
owner.settings.cleanuprules.title=Spravovat pravidla pro čištění
|
||||
|
@ -3523,8 +3609,10 @@ runners.reset_registration_token_success=Registrační token runneru byl úspě
|
|||
runs.all_workflows=Všechny pracovní postupy
|
||||
runs.commit=Commit
|
||||
runs.scheduled=Naplánováno
|
||||
runs.pushed_by=náhrán
|
||||
runs.invalid_workflow_helper=Konfigurační soubor pracovního postupu je neplatný. Zkontrolujte prosím konfigurační soubor: %s
|
||||
runs.no_matching_online_runner_helper=Žádný odpovídající online runner s popiskem: %s
|
||||
runs.no_job_without_needs=Pracovní postup musí obsahovat alespoň jednu úlohu bez závislostí.
|
||||
runs.actor=Aktér
|
||||
runs.status=Status
|
||||
runs.actors_no_select=Všichni aktéři
|
||||
|
@ -3542,6 +3630,7 @@ workflow.enable=Povolit pracovní postup
|
|||
workflow.enable_success=Pracovní postup „%s“ byl úspěšně aktivován.
|
||||
workflow.disabled=Pracovní postup je zakázán.
|
||||
|
||||
need_approval_desc=Potřebujete schválení pro spuštění pracovních postupů pro rozštěpený pull request.
|
||||
|
||||
variables=Proměnné
|
||||
variables.management=Správa proměnných
|
||||
|
|
|
@ -17,6 +17,7 @@ template=Template
|
|||
language=Sprache
|
||||
notifications=Benachrichtigungen
|
||||
active_stopwatch=Aktive Zeiterfassung
|
||||
tracked_time_summary=Zusammenfassung der erfassten Zeit basierend auf Filtern der Issue-Liste
|
||||
create_new=Erstellen…
|
||||
user_profile_and_more=Profil und Einstellungen…
|
||||
signed_in_as=Angemeldet als
|
||||
|
@ -24,6 +25,7 @@ enable_javascript=Diese Website benötigt JavaScript.
|
|||
toc=Inhaltsverzeichnis
|
||||
licenses=Lizenzen
|
||||
return_to_gitea=Zurück zu Gitea
|
||||
more_items=Weitere Einträge
|
||||
|
||||
username=Benutzername
|
||||
email=E-Mail-Adresse
|
||||
|
@ -90,6 +92,7 @@ remove=Löschen
|
|||
remove_all=Alle entfernen
|
||||
remove_label_str=Element "%s " entfernen
|
||||
edit=Bearbeiten
|
||||
view=Anzeigen
|
||||
|
||||
enabled=Aktiviert
|
||||
disabled=Deaktiviert
|
||||
|
@ -99,7 +102,7 @@ copy=Kopieren
|
|||
copy_url=URL kopieren
|
||||
copy_hash=Hash kopieren
|
||||
copy_content=Inhalt kopieren
|
||||
copy_branch=Branchenname kopieren
|
||||
copy_branch=Branchnamen kopieren
|
||||
copy_success=Kopiert!
|
||||
copy_error=Kopieren fehlgeschlagen
|
||||
copy_type_unsupported=Dieser Dateityp kann nicht kopiert werden
|
||||
|
@ -111,6 +114,7 @@ loading=Laden…
|
|||
error=Fehler
|
||||
error404=Die Seite, die Du versuchst aufzurufen, <strong>existiert nicht</strong> oder <strong>Du bist nicht berechtigt</strong>, diese anzusehen.
|
||||
go_back=Zurück
|
||||
invalid_data=Ungültige Daten: %v
|
||||
|
||||
never=Niemals
|
||||
unknown=Unbekannt
|
||||
|
@ -121,6 +125,7 @@ pin=Anheften
|
|||
unpin=Loslösen
|
||||
|
||||
artifacts=Artefakte
|
||||
confirm_delete_artifact=Bist du sicher, dass du das Artefakt '%s' löschen möchtest?
|
||||
|
||||
archived=Archiviert
|
||||
|
||||
|
@ -139,6 +144,43 @@ confirm_delete_selected=Alle ausgewählten Elemente löschen?
|
|||
name=Name
|
||||
value=Wert
|
||||
|
||||
filter=Filter
|
||||
filter.clear=Filter leeren
|
||||
filter.is_archived=Archiviert
|
||||
filter.not_archived=Nicht archiviert
|
||||
filter.is_fork=Fork
|
||||
filter.not_fork=Kein Fork
|
||||
filter.is_mirror=Gespiegelt
|
||||
filter.not_mirror=Nicht gespiegelt
|
||||
filter.is_template=Template
|
||||
filter.not_template=Kein Template
|
||||
filter.public=Öffentlich
|
||||
filter.private=Privat
|
||||
|
||||
no_results_found=Es wurden keine Ergebnisse gefunden.
|
||||
|
||||
[search]
|
||||
search=Suche ...
|
||||
type_tooltip=Suchmodus
|
||||
fuzzy=Ähnlich
|
||||
fuzzy_tooltip=Ergebnisse einbeziehen, die dem Suchbegriff ähnlich sind
|
||||
match=Genau
|
||||
match_tooltip=Nur genau zum Suchbegriff passende Ergebnisse einbeziehen
|
||||
repo_kind=Repositories durchsuchen ...
|
||||
user_kind=Benutzer durchsuchen ...
|
||||
org_kind=Organisationen durchsuchen ...
|
||||
team_kind=Teams durchsuchen ...
|
||||
code_kind=Code durchsuchen ...
|
||||
code_search_unavailable=Zurzeit ist die Code-Suche nicht verfügbar. Bitte wende dich an den Website-Administrator.
|
||||
code_search_by_git_grep=Aktuelle Code-Suchergebnisse werden von "git grep" bereitgestellt. Es könnte bessere Ergebnisse geben, wenn der Website-Administrator den Repository-Indexer aktiviert.
|
||||
package_kind=Pakete durchsuchen ...
|
||||
project_kind=Projekte durchsuchen ...
|
||||
branch_kind=Branches durchsuchen ...
|
||||
commit_kind=Commits durchsuchen ...
|
||||
runner_kind=Runner durchsuchen ...
|
||||
no_results=Es wurden keine passenden Ergebnisse gefunden.
|
||||
keyword_search_unavailable=Zurzeit ist die Stichwort-Suche nicht verfügbar. Bitte wende dich an den Website-Administrator.
|
||||
|
||||
[aria]
|
||||
navbar=Navigationsleiste
|
||||
footer=Fußzeile
|
||||
|
@ -244,6 +286,7 @@ email_title=E-Mail-Einstellungen
|
|||
smtp_addr=SMTP-Host
|
||||
smtp_port=SMTP-Port
|
||||
smtp_from=E-Mail senden als
|
||||
smtp_from_invalid=Die „E-Mail senden als“ Adresse ist ungültig
|
||||
smtp_from_helper=E-Mail-Adresse, die von Gitea genutzt werden soll. Bitte gib die E-Mail-Adresse im Format „"Name" <email@example.com>“ ein.
|
||||
mailer_user=SMTP-Benutzername
|
||||
mailer_password=SMTP-Passwort
|
||||
|
@ -303,6 +346,7 @@ env_config_keys=Umgebungskonfiguration
|
|||
env_config_keys_prompt=Die folgenden Umgebungsvariablen werden auch auf Ihre Konfigurationsdatei angewendet:
|
||||
|
||||
[home]
|
||||
nav_menu=Navigationsmenü
|
||||
uname_holder=E-Mail-Adresse oder Benutzername
|
||||
password_holder=Passwort
|
||||
switch_dashboard_context=Kontext der Übersichtsseite wechseln
|
||||
|
@ -312,7 +356,6 @@ collaborative_repos=Gemeinschaftliche Repositories
|
|||
my_orgs=Meine Organisationen
|
||||
my_mirrors=Meine Mirrors
|
||||
view_home=%s ansehen
|
||||
search_repos=Finde ein Repository…
|
||||
filter=Andere Filter
|
||||
filter_by_team_repositories=Nach Team-Repositories filtern
|
||||
feed_of=`Feed von "%s"`
|
||||
|
@ -333,20 +376,8 @@ issues.in_your_repos=Eigene Repositories
|
|||
repos=Repositories
|
||||
users=Benutzer
|
||||
organizations=Organisationen
|
||||
search=Suche
|
||||
go_to=Gehe zu
|
||||
code=Code
|
||||
search.type.tooltip=Suchmodus
|
||||
search.fuzzy=Ähnlich
|
||||
search.fuzzy.tooltip=Zeige auch Ergebnisse, die dem Suchbegriff ähneln
|
||||
search.match=Genau
|
||||
search.match.tooltip=Zeige nur Ergebnisse, die exakt mit dem Suchbegriff übereinstimmen
|
||||
code_search_unavailable=Derzeit ist die Code-Suche nicht verfügbar. Bitte wende dich an den Website-Administrator.
|
||||
repo_no_results=Keine passenden Repositories gefunden.
|
||||
user_no_results=Keine passenden Benutzer gefunden.
|
||||
org_no_results=Keine passenden Organisationen gefunden.
|
||||
code_no_results=Es konnte kein passender Code für deinen Suchbegriff gefunden werden.
|
||||
code_search_results=`Suchergebnisse für "%s"`
|
||||
code_last_indexed_at=Zuletzt indexiert %s
|
||||
relevant_repositories_tooltip=Repositories, die Forks sind oder die kein Thema, kein Symbol und keine Beschreibung haben, werden ausgeblendet.
|
||||
relevant_repositories=Es werden nur relevante Repositories angezeigt, <a href="%s">ungefilterte Ergebnisse anzeigen</a>.
|
||||
|
@ -359,11 +390,12 @@ disable_register_prompt=Die Registrierung ist deaktiviert. Bitte wende dich an d
|
|||
disable_register_mail=E-Mail-Bestätigung bei der Registrierung ist deaktiviert.
|
||||
manual_activation_only=Kontaktiere den Website-Administrator, um die Aktivierung abzuschließen.
|
||||
remember_me=Dieses Gerät speichern
|
||||
remember_me.compromised=Das Login-Token ist nicht mehr gültig, was auf ein kompromittiertes Konto hindeuten kann. Bitte überprüfe dein Konto auf ungewöhnliche Aktivitäten.
|
||||
forgot_password_title=Passwort vergessen
|
||||
forgot_password=Passwort vergessen?
|
||||
sign_up_now=Noch kein Konto? Jetzt registrieren.
|
||||
sign_up_successful=Konto wurde erfolgreich erstellt. Willkommen!
|
||||
confirmation_mail_sent_prompt=Eine neue Bestätigungs-E-Mail wurde an <b>%s</b> gesendet. Bitte überprüfe dein Postfach innerhalb der nächsten %s, um die Registrierung abzuschließen.
|
||||
confirmation_mail_sent_prompt_ex=Eine neue Bestätigungs-E-Mail wurde an <b>%s</b>gesendet. Bitte überprüfe deinen Posteingang innerhalb der nächsten %s, um den Registrierungsprozess abzuschließen. Wenn deine Registrierungs-E-Mail-Adresse falsch ist, kannst du dich erneut anmelden und diese ändern.
|
||||
must_change_password=Aktualisiere dein Passwort
|
||||
allow_password_change=Verlange vom Benutzer das Passwort zu ändern (empfohlen)
|
||||
reset_password_mail_sent_prompt=Eine Bestätigungs-E-Mail wurde an <b>%s</b> gesendet. Bitte überprüfe dein Postfach innerhalb von %s, um den Wiederherstellungsprozess abzuschließen.
|
||||
|
@ -373,6 +405,7 @@ prohibit_login=Anmelden verboten
|
|||
prohibit_login_desc=Die Anmeldung mit diesem Konto ist nicht gestattet. Bitte kontaktiere den Administrator.
|
||||
resent_limit_prompt=Du hast bereits eine Aktivierungs-E-Mail angefordert. Bitte warte 3 Minuten und probiere es dann nochmal.
|
||||
has_unconfirmed_mail=Hallo %s, du hast eine unbestätigte E-Mail-Adresse (<b>%s</b>). Wenn du keine Bestätigungs-E-Mail erhalten hast oder eine neue senden möchtest, klicke bitte auf den folgenden Button.
|
||||
change_unconfirmed_mail_address=Wenn deine Registrierungs-E-Mail-Adresse falsch ist, kannst du sie hier ändern und eine neue Bestätigungs-E-Mail senden.
|
||||
resend_mail=Aktivierungs-E-Mail erneut verschicken
|
||||
email_not_associate=Diese E-Mail-Adresse ist mit keinem Konto verknüpft.
|
||||
send_reset_mail=Wiederherstellungs-E-Mail senden
|
||||
|
@ -420,6 +453,7 @@ authorization_failed_desc=Die Autorisierung ist fehlgeschlagen, da wir eine ung
|
|||
sspi_auth_failed=SSPI-Authentifizierung fehlgeschlagen
|
||||
password_pwned=Das von dir gewählte Passwort befindet sich auf einer <a target="_blank" rel="noopener noreferrer" href="https://haveibeenpwned.com/Passwords">List gestohlener Passwörter</a>, die öffentlich verfügbar sind. Bitte versuche es erneut mit einem anderen Passwort und ziehe in Erwägung, auch anderswo deine Passwörter zu ändern.
|
||||
password_pwned_err=Anfrage an HaveIBeenPwned konnte nicht abgeschlossen werden
|
||||
last_admin=Du kannst den letzten Admin nicht entfernen. Es muss mindestens einen Administrator geben.
|
||||
|
||||
[mail]
|
||||
view_it_on=Auf %s ansehen
|
||||
|
@ -552,6 +586,7 @@ team_name_been_taken=Der Teamname ist bereits vergeben.
|
|||
team_no_units_error=Das Team muss auf mindestens einen Bereich Zugriff haben.
|
||||
email_been_used=Die E-Mail-Adresse wird bereits verwendet.
|
||||
email_invalid=Die E-Mail-Adresse ist ungültig.
|
||||
email_domain_is_not_allowed=Die Domain der Benutzer-E-Mail <b>%s</b> steht im Widerspruch zu EMAIL_DOMAIN_ALLOWLIST oder EMAIL_DOMAIN_BLOCKLIST. Bitte stelle sicher, dass deine Operation erwartet ist.
|
||||
openid_been_used=Die OpenID-Adresse "%s" wird bereits verwendet.
|
||||
username_password_incorrect=Benutzername oder Passwort ist falsch.
|
||||
password_complexity=Das Passwort erfüllt nicht die Komplexitätsanforderungen:
|
||||
|
@ -563,6 +598,8 @@ enterred_invalid_repo_name=Der eingegebenen Repository-Name ist falsch.
|
|||
enterred_invalid_org_name=Der eingegebene Organisation-Name ist falsch.
|
||||
enterred_invalid_owner_name=Der Name des neuen Besitzers ist ungültig.
|
||||
enterred_invalid_password=Das eingegebene Passwort ist falsch.
|
||||
unset_password=Der Login-Benutzer hat das Passwort nicht gesetzt.
|
||||
unsupported_login_type=Der Anmeldetyp wird zum Löschen des Kontos nicht unterstützt.
|
||||
user_not_exist=Dieser Benutzer ist nicht vorhanden.
|
||||
team_not_exist=Dieses Team existiert nicht.
|
||||
last_org_owner=Du kannst den letzten Benutzer nicht aus dem 'Besitzer'-Team entfernen. Es muss mindestens einen Besitzer in einer Organisation geben.
|
||||
|
@ -585,6 +622,7 @@ org_still_own_packages=Diese Organisation besitzt noch ein oder mehrere Pakete,
|
|||
|
||||
target_branch_not_exist=Der Ziel-Branch existiert nicht.
|
||||
|
||||
admin_cannot_delete_self=Du kannst dich nicht selbst löschen, wenn du ein Administrator bist. Bitte entferne zuerst deine Administratorrechte.
|
||||
|
||||
[user]
|
||||
change_avatar=Profilbild ändern…
|
||||
|
@ -611,6 +649,30 @@ form.name_reserved=Der Benutzername "%s" ist reserviert.
|
|||
form.name_pattern_not_allowed=Das Muster "%s" ist nicht in einem Benutzernamen erlaubt.
|
||||
form.name_chars_not_allowed=Benutzername "%s" enthält ungültige Zeichen.
|
||||
|
||||
block.block=Sperren
|
||||
block.block.user=Benutzer sperren
|
||||
block.block.org=Benutzer für Organisation sperren
|
||||
block.block.failure=Fehler beim Sperren des Benutzers: %s
|
||||
block.unblock=Entsperren
|
||||
block.unblock.failure=Fehler beim Entsperren des Benutzers: %s
|
||||
block.blocked=Du hast diesen Benutzer gesperrt.
|
||||
block.title=Einen Benutzer sperren
|
||||
block.info=Das Blockieren eines Benutzers hindert ihn daran, mit Repositories zu interagieren, wie zum Beispiel das Öffnen oder Kommentieren von Pull Requests oder Issues. Erfahre mehr über das Blockieren eines Benutzers.
|
||||
block.info_1=Das Blockieren eines Benutzers verhindert folgende Aktionen auf deinem Konto und deinen Repositories:
|
||||
block.info_2=deinem Konto folgen
|
||||
block.info_3=dir Benachrichtigungen durch @Erwähnung deines Benutzernamens senden
|
||||
block.info_4=dich als Mitarbeiter in deren Repositories einladen
|
||||
block.info_5=Repositories favorisieren, forken oder beobachten
|
||||
block.info_6=Issues oder Pull Requests öffnen und kommentieren
|
||||
block.info_7=auf deine Kommentare in Issues oder Pull Requests reagieren
|
||||
block.user_to_block=Zu sperrender Benutzer
|
||||
block.note=Anmerkung
|
||||
block.note.title=Optionale Anmerkung:
|
||||
block.note.info=Die Anmerkung ist für den blockierten Benutzer nicht sichtbar.
|
||||
block.note.edit=Anmerkung bearbeiten
|
||||
block.list=Gesperrte Benutzer
|
||||
block.list.none=Du hast noch keine Benutzer gesperrt.
|
||||
|
||||
[settings]
|
||||
profile=Profil
|
||||
account=Account
|
||||
|
@ -755,7 +817,6 @@ gpg_invalid_token_signature=Der GPG Key, die Signatur, und das Token stimmen nic
|
|||
gpg_token_required=Du musst eine Signatur für das folgende Token angeben
|
||||
gpg_token=Token
|
||||
gpg_token_help=Du kannst eine Signatur wie folgt generieren:
|
||||
gpg_token_code=echo "%s" | gpg -a --default-key %s --detach-sig
|
||||
gpg_token_signature=GPG Textsignatur (armored signature)
|
||||
key_signature_gpg_placeholder=Beginnt mit '-----BEGIN PGP SIGNATURE-----'
|
||||
verify_gpg_key_success=GPG-Schlüssel "%s" wurde verifiziert.
|
||||
|
@ -863,6 +924,7 @@ revoke_oauth2_grant_description=Wenn du die Autorisierung widerrufst, kann die A
|
|||
revoke_oauth2_grant_success=Zugriff erfolgreich widerrufen.
|
||||
|
||||
twofa_desc=Zwei-Faktor-Authentifizierung trägt zu einer höheren Accountsicherheit bei.
|
||||
twofa_recovery_tip=Wenn du dein Gerät verlierst, kannst du einen einmalig verwendbaren Wiederherstellungsschlüssel nutzen, um den Zugriff auf dein Konto wiederherzustellen.
|
||||
twofa_is_enrolled=Für dein Konto ist die Zwei-Faktor-Authentifizierung <strong>eingeschaltet</strong>.
|
||||
twofa_not_enrolled=Für dein Konto ist die Zwei-Faktor-Authentifizierung momentan nicht eingeschaltet.
|
||||
twofa_disable=Zwei-Faktor-Authentifizierung deaktivieren
|
||||
|
@ -885,6 +947,8 @@ webauthn_register_key=Sicherheitsschlüssel hinzufügen
|
|||
webauthn_nickname=Nickname
|
||||
webauthn_delete_key=Sicherheitsschlüssel entfernen
|
||||
webauthn_delete_key_desc=Wenn du einen Sicherheitsschlüssel entfernst, kannst du dich nicht mehr mit ihm anmelden. Fortfahren?
|
||||
webauthn_key_loss_warning=Wenn du deine Sicherheitsschlüssel verlierst, verlierst du den Zugriff auf dein Konto.
|
||||
webauthn_alternative_tip=Möglicherweise möchtest du eine zusätzliche Authentifizierungsmethode konfigurieren.
|
||||
|
||||
manage_account_links=Verknüpfte Accounts verwalten
|
||||
manage_account_links_desc=Diese externen Accounts sind mit deinem Gitea-Account verknüpft.
|
||||
|
@ -921,6 +985,7 @@ visibility.private=Privat
|
|||
visibility.private_tooltip=Sichtbar nur für Mitglieder von Organisationen, denen du beigetreten bist
|
||||
|
||||
[repo]
|
||||
new_repo_helper=Ein Repository enthält alle Projektdateien, einschließlich des Änderungsverlaufs. Schon woanders vorhanden? <a href="%s">Migration eines Repositorys.</a>
|
||||
owner=Besitzer
|
||||
owner_helper=Einige Organisationen könnten in der Dropdown-Liste nicht angezeigt werden, da die Anzahl an Repositories begrenzt ist.
|
||||
repo_name=Repository-Name
|
||||
|
@ -944,8 +1009,9 @@ fork_visibility_helper=Die Sichtbarkeit eines geforkten Repositories kann nicht
|
|||
fork_branch=Branch, der zum Fork geklont werden soll
|
||||
all_branches=Alle Branches
|
||||
fork_no_valid_owners=Dieses Repository kann nicht geforkt werden, da keine gültigen Besitzer vorhanden sind.
|
||||
fork.blocked_user=Das Repository kann nicht geforkt werden, da du vom Repository-Eigentümer blockiert wurdest.
|
||||
use_template=Dieses Template verwenden
|
||||
clone_in_vsc=In VS Code klonen
|
||||
open_with_editor=Mit %s öffnen
|
||||
download_zip=ZIP herunterladen
|
||||
download_tar=TAR.GZ herunterladen
|
||||
download_bundle=BUNDLE herunterladen
|
||||
|
@ -961,6 +1027,8 @@ issue_labels_helper=Wähle ein Issue-Label-Set.
|
|||
license=Lizenz
|
||||
license_helper=Wähle eine Lizenz aus.
|
||||
license_helper_desc=Eine Lizenz regelt, was Andere mit deinem Code (nicht) tun können. Unsicher, welches für dein Projekt die Richtige ist? Siehe <a target="_blank" rel="noopener noreferrer" href="%s">eine Lizenz wählen</a>.
|
||||
object_format=Objektformat
|
||||
object_format_helper=Objektformat des Repositories. Es kann später nicht geändert werden. SHA1 ist am meisten kompatibel.
|
||||
readme=README
|
||||
readme_helper=Wähle eine README-Vorlage aus.
|
||||
readme_helper_desc=Hier kannst du eine komplette Beschreibung für dein Projekt schreiben.
|
||||
|
@ -978,6 +1046,7 @@ mirror_prune=Entfernen
|
|||
mirror_prune_desc=Entferne veraltete remote-tracking Referenzen
|
||||
mirror_interval=Mirror-Intervall (gültige Zeiteinheiten sind 'h', 'm', 's'). 0 deaktiviert die regelmäßige Synchronisation. (Minimales Intervall: %s)
|
||||
mirror_interval_invalid=Das Spiegel-Intervall ist ungültig.
|
||||
mirror_sync=synchronisiert
|
||||
mirror_sync_on_commit=Synchronisieren, wenn Commits gepusht wurden
|
||||
mirror_address=Klonen via URL
|
||||
mirror_address_desc=Gib alle erforderlichen Anmeldedaten im Abschnitt "Authentifizierung" ein.
|
||||
|
@ -995,6 +1064,7 @@ watchers=Beobachter
|
|||
stargazers=Favorisiert von
|
||||
stars_remove_warning=Dies wird alle Sterne aus diesem Repository entfernen.
|
||||
forks=Forks
|
||||
stars=Favoriten
|
||||
reactions_more=und %d weitere
|
||||
unit_disabled=Der Administrator hat diesen Repository-Bereich deaktiviert.
|
||||
language_other=Andere
|
||||
|
@ -1028,6 +1098,7 @@ desc.public=Öffentlich
|
|||
desc.template=Template
|
||||
desc.internal=Intern
|
||||
desc.archived=Archiviert
|
||||
desc.sha256=SHA256
|
||||
|
||||
template.items=Template-Elemente
|
||||
template.git_content=Git Inhalt (Standardbranch)
|
||||
|
@ -1115,6 +1186,7 @@ watch=Beobachten
|
|||
unstar=Favorit entfernen
|
||||
star=Favorisieren
|
||||
fork=Fork
|
||||
action.blocked_user=Die Aktion kann nicht ausgeführt werden, da du vom Repository-Eigentümer blockiert wurdest.
|
||||
download_archive=Repository herunterladen
|
||||
more_operations=Weitere Operationen
|
||||
|
||||
|
@ -1178,6 +1250,8 @@ audio_not_supported_in_browser=Dein Browser unterstützt den HTML5 'audio'-Tag n
|
|||
stored_lfs=Gespeichert mit Git LFS
|
||||
symbolic_link=Softlink
|
||||
executable_file=Ausführbare Datei
|
||||
vendored=Vendor
|
||||
generated=Generiert
|
||||
commit_graph=Commit graph
|
||||
commit_graph.select=Branches auswählen
|
||||
commit_graph.hide_pr_refs=Pull-Requests ausblenden
|
||||
|
@ -1241,6 +1315,8 @@ editor.file_editing_no_longer_exists=Die bearbeitete Datei "%s" existiert nicht
|
|||
editor.file_deleting_no_longer_exists=Die zu löschende Datei "%s" existiert nicht mehr in diesem Repository.
|
||||
editor.file_changed_while_editing=Der Inhalt der Datei hat sich seit dem Beginn der Bearbeitung geändert. <a target="_blank" rel="noopener noreferrer" href="%s">Hier klicken</a>, um die Änderungen anzusehen, oder <strong>Änderungen erneut comitten</strong>, um sie zu überschreiben.
|
||||
editor.file_already_exists=Eine Datei mit dem Namen '%s' existiert bereits in diesem Repository.
|
||||
editor.commit_id_not_matching=Die Commit-ID stimmt nicht mit der ID überein, bei welcher du mit der Bearbeitung begonnen hast. Commite in einen Patch-Branch und merge daraufhin.
|
||||
editor.push_out_of_date=Der Push scheint veraltet zu sein.
|
||||
editor.commit_empty_file_header=Leere Datei committen
|
||||
editor.commit_empty_file_text=Die Datei, die du commiten willst, ist leer. Fortfahren?
|
||||
editor.no_changes_to_show=Keine Änderungen vorhanden.
|
||||
|
@ -1264,9 +1340,8 @@ commits.desc=Durchsuche die Quellcode-Änderungshistorie.
|
|||
commits.commits=Commits
|
||||
commits.no_commits=Keine gemeinsamen Commits. "%s" und "%s" haben vollständig unterschiedliche Historien.
|
||||
commits.nothing_to_compare=Diese Branches sind auf demselben Stand.
|
||||
commits.search=Commits durchsuchen…
|
||||
commits.search.tooltip=Du kannst Suchbegriffen "author:", " committer:", "after:", oder " before:" voranstellen, z.B. "revert author:Alice before:2019-04-01".
|
||||
commits.find=Suchen
|
||||
commits.search_branch=Dieser Branch
|
||||
commits.search_all=Alle Branches
|
||||
commits.author=Autor
|
||||
commits.message=Nachricht
|
||||
|
@ -1317,7 +1392,6 @@ projects.type.basic_kanban=Einfaches Kanban
|
|||
projects.type.bug_triage=Bug Triage
|
||||
projects.template.desc=Projektvorlage
|
||||
projects.template.desc_helper=Wähle eine Projektvorlage aus, um loszulegen
|
||||
projects.type.uncategorized=Nicht kategorisiert
|
||||
projects.column.edit=Spalte bearbeiten
|
||||
projects.column.edit_title=Name
|
||||
projects.column.new_title=Name
|
||||
|
@ -1325,10 +1399,8 @@ projects.column.new_submit=Spalte erstellen
|
|||
projects.column.new=Neue Spalte
|
||||
projects.column.set_default=Als Standard verwenden
|
||||
projects.column.set_default_desc=Diese Spalte als Standard für unkategorisierte Issues und Pull Requests festlegen
|
||||
projects.column.unset_default=Standard entfernen
|
||||
projects.column.unset_default_desc=Diese Spalte als Standard entfernen
|
||||
projects.column.delete=Spalte löschen
|
||||
projects.column.deletion_desc=Beim Löschen einer Projektspalte werden alle dazugehörigen Issues nach 'Nicht kategorisiert' verschoben. Fortfahren?
|
||||
projects.column.deletion_desc=Beim Löschen einer Projektspalte werden alle Einträge in die Standard-Spalte verschoben. Fortfahren?
|
||||
projects.column.color=Farbe
|
||||
projects.open=Öffnen
|
||||
projects.close=Schließen
|
||||
|
@ -1363,6 +1435,8 @@ issues.new.assignees=Zuständig
|
|||
issues.new.clear_assignees=Zuständige entfernen
|
||||
issues.new.no_assignees=Niemand zuständig
|
||||
issues.new.no_reviewers=Keine Reviewer
|
||||
issues.new.blocked_user=Das Issue kann nicht erstellt werden, da du vom Repository-Eigentümer blockiert wurdest.
|
||||
issues.edit.blocked_user=Der Inhalt kann nicht bearbeitet werden, da du vom Repository-Eigentümer blockiert wurdest.
|
||||
issues.choose.get_started=Los geht's
|
||||
issues.choose.open_external_link=Öffnen
|
||||
issues.choose.blank=Standard
|
||||
|
@ -1440,7 +1514,6 @@ issues.filter_sort.moststars=Meiste Favoriten
|
|||
issues.filter_sort.feweststars=Wenigste Favoriten
|
||||
issues.filter_sort.mostforks=Meiste Forks
|
||||
issues.filter_sort.fewestforks=Wenigste Forks
|
||||
issues.keyword_search_unavailable=Zurzeit ist die Stichwort-Suche nicht verfügbar. Bitte wende dich an den Website-Administrator.
|
||||
issues.action_open=Öffnen
|
||||
issues.action_close=Schließen
|
||||
issues.action_label=Label
|
||||
|
@ -1478,6 +1551,7 @@ issues.close_comment_issue=Kommentieren und schließen
|
|||
issues.reopen_issue=Wieder öffnen
|
||||
issues.reopen_comment_issue=Kommentieren und wieder öffnen
|
||||
issues.create_comment=Kommentieren
|
||||
issues.comment.blocked_user=Der Kommentar kann nicht erstellt oder bearbeitet werden, da du vom Repository-Eigentümer blockiert wurdest.
|
||||
issues.closed_at=`hat diesen Issue <a id="%[1]s" href="#%[1]s">%[2]s</a> geschlossen`
|
||||
issues.reopened_at=`hat diesen Issue <a id="%[1]s" href="#%[1]s">%[2]s</a> wieder geöffnet`
|
||||
issues.commit_ref_at=`hat dieses Issue <a id="%[1]s" href="#%[1]s">%[2]s</a> aus einem Commit referenziert`
|
||||
|
@ -1676,6 +1750,7 @@ compare.compare_head=vergleichen
|
|||
|
||||
pulls.desc=Pull-Requests und Code-Reviews aktivieren.
|
||||
pulls.new=Neuer Pull-Request
|
||||
pulls.new.blocked_user=Der Pull Request kann nicht erstellt werden, da du vom Repository-Eigentümer blockiert wurdest.
|
||||
pulls.view=Pull-Request ansehen
|
||||
pulls.compare_changes=Neuer Pull-Request
|
||||
pulls.allow_edits_from_maintainers=Änderungen von Maintainern erlauben
|
||||
|
@ -1692,7 +1767,6 @@ pulls.compare_compare=pullen von
|
|||
pulls.switch_comparison_type=Vergleichstyp wechseln
|
||||
pulls.switch_head_and_base=Head und Base vertauschen
|
||||
pulls.filter_branch=Branch filtern
|
||||
pulls.no_results=Keine Ergebnisse verfügbar.
|
||||
pulls.show_all_commits=Alle Commits anzeigen
|
||||
pulls.show_changes_since_your_last_review=Zeige Änderungen seit deinem letzten Review
|
||||
pulls.showing_only_single_commit=Nur Änderungen aus Commit %[1]s werden angezeigt
|
||||
|
@ -1701,6 +1775,7 @@ pulls.select_commit_hold_shift_for_range=Commit auswählen. Halte Shift + klicke
|
|||
pulls.review_only_possible_for_full_diff=Ein Review ist nur möglich, wenn das vollständige Diff angezeigt wird
|
||||
pulls.filter_changes_by_commit=Nach Commit filtern
|
||||
pulls.nothing_to_compare=Diese Branches sind identisch. Es muss kein Pull-Request erstellt werden.
|
||||
pulls.nothing_to_compare_have_tag=Der ausgewählte Branch und Tag sind gleich.
|
||||
pulls.nothing_to_compare_and_allow_empty_pr=Diese Branches sind gleich. Der Pull-Request wird leer sein.
|
||||
pulls.has_pull_request=`Es existiert bereits ein Pull-Request zwischen diesen beiden Branches: <a href="%[1]s">%[2]s#%[3]d</a>`
|
||||
pulls.create=Pull-Request erstellen
|
||||
|
@ -1759,6 +1834,7 @@ pulls.merge_pull_request=Merge Commit erstellen
|
|||
pulls.rebase_merge_pull_request=Rebasen und dann fast-forwarden
|
||||
pulls.rebase_merge_commit_pull_request=Rebasen und dann mergen
|
||||
pulls.squash_merge_pull_request=Squash Commit erstellen
|
||||
pulls.fast_forward_only_merge_pull_request=Nur Fast-forward
|
||||
pulls.merge_manually=Manuell mergen
|
||||
pulls.merge_commit_id=Der Mergecommit ID
|
||||
pulls.require_signed_wont_sign=Der Branch erfordert einen signierten Commit, aber dieser Merge wird nicht signiert
|
||||
|
@ -1783,6 +1859,8 @@ pulls.status_checks_failure=Einige Prüfungen sind fehlgeschlagen
|
|||
pulls.status_checks_error=Einige Checks meldeten Fehler
|
||||
pulls.status_checks_requested=Erforderlich
|
||||
pulls.status_checks_details=Details
|
||||
pulls.status_checks_hide_all=Alle Prüfungen ausblenden
|
||||
pulls.status_checks_show_all=Alle Prüfungen anzeigen
|
||||
pulls.update_branch=Branch durch Mergen aktualisieren
|
||||
pulls.update_branch_rebase=Branch durch Rebase aktualisieren
|
||||
pulls.update_branch_success=Branch-Aktualisierung erfolgreich
|
||||
|
@ -1791,6 +1869,11 @@ pulls.outdated_with_base_branch=Dieser Branch enthält nicht die neusten Commits
|
|||
pulls.close=Pull-Request schließen
|
||||
pulls.closed_at=`hat diesen Pull-Request <a id="%[1]s" href="#%[1]s">%[2]s</a> geschlossen`
|
||||
pulls.reopened_at=`hat diesen Pull-Request <a id="%[1]s" href="#%[1]s">%[2]s</a> wieder geöffnet`
|
||||
pulls.cmd_instruction_hint=`Zeige <a class="show-instruction">Kommandozeilenanweisungen</a>.`
|
||||
pulls.cmd_instruction_checkout_title=Checkout
|
||||
pulls.cmd_instruction_checkout_desc=Wechsle auf einen neuen Branch in deinem lokalen Repository und teste die Änderungen.
|
||||
pulls.cmd_instruction_merge_title=Mergen
|
||||
pulls.cmd_instruction_merge_desc=Die Änderungen mergen und auf Gitea aktualisieren.
|
||||
pulls.clear_merge_message=Merge-Nachricht löschen
|
||||
pulls.clear_merge_message_hint=Das Löschen der Merge-Nachricht wird nur den Inhalt der Commit-Nachricht entfernen und generierte Git-Trailer wie "Co-Authored-By …" erhalten.
|
||||
|
||||
|
@ -1888,6 +1971,10 @@ wiki.page_name_desc=Gib einen Namen für diese Wiki-Seite ein. Spezielle Namen s
|
|||
wiki.original_git_entry_tooltip=Originale Git-Datei anstatt eines benutzerfreundlichen Links anzeigen.
|
||||
|
||||
activity=Aktivität
|
||||
activity.navbar.pulse=Puls
|
||||
activity.navbar.code_frequency=Code-Frequenz
|
||||
activity.navbar.contributors=Mitwirkende
|
||||
activity.navbar.recent_commits=Neueste Commits
|
||||
activity.period.filter_label=Zeitraum:
|
||||
activity.period.daily=1 Tag
|
||||
activity.period.halfweekly=3 Tage
|
||||
|
@ -1953,18 +2040,10 @@ activity.git_stats_and_deletions=und
|
|||
activity.git_stats_deletion_1=%d Löschung
|
||||
activity.git_stats_deletion_n=%d Löschungen
|
||||
|
||||
contributors.contribution_type.filter_label=Beitragstyp:
|
||||
contributors.contribution_type.commits=Commits
|
||||
|
||||
search=Suchen
|
||||
search.search_repo=Repository durchsuchen
|
||||
search.type.tooltip=Suchmodus
|
||||
search.fuzzy=Ähnlich
|
||||
search.fuzzy.tooltip=Zeige auch Ergebnisse, die dem Suchbegriff ähneln
|
||||
search.match=Genau
|
||||
search.match.tooltip=Zeige nur Ergebnisse, die exakt mit dem Suchbegriff übereinstimmen
|
||||
search.results=Suchergebnisse für „%s“ in <a href="%s"> %s</a>
|
||||
search.code_no_results=Es konnte kein passender Code für deinen Suchbegriff gefunden werden.
|
||||
search.code_search_unavailable=Derzeit ist die Code-Suche nicht verfügbar. Bitte wende dich an den Website-Administrator.
|
||||
contributors.contribution_type.additions=Ergänzungen
|
||||
contributors.contribution_type.deletions=Löschungen
|
||||
|
||||
settings=Einstellungen
|
||||
settings.desc=In den Einstellungen kannst du die Einstellungen des Repositories anpassen
|
||||
|
@ -1992,6 +2071,7 @@ settings.mirror_settings.docs.doc_link_title=Wie spiegele ich Repositories?
|
|||
settings.mirror_settings.docs.doc_link_pull_section=den Abschnitt "Von einem entfernten Repository pullen" in der Dokumentation.
|
||||
settings.mirror_settings.docs.pulling_remote_title=Aus einem Remote-Repository pullen
|
||||
settings.mirror_settings.mirrored_repository=Gespiegeltes Repository
|
||||
settings.mirror_settings.pushed_repository=Gepushtes Repository
|
||||
settings.mirror_settings.direction=Richtung
|
||||
settings.mirror_settings.direction.pull=Pull
|
||||
settings.mirror_settings.direction.push=Push
|
||||
|
@ -2013,6 +2093,8 @@ settings.branches.add_new_rule=Neue Regel hinzufügen
|
|||
settings.advanced_settings=Erweiterte Einstellungen
|
||||
settings.wiki_desc=Repository-Wiki aktivieren
|
||||
settings.use_internal_wiki=Eingebautes Wiki verwenden
|
||||
settings.default_wiki_branch_name=Standardbezeichnung für Wiki-Branch
|
||||
settings.failed_to_change_default_wiki_branch=Das Ändern des Standard-Wiki-Branches ist fehlgeschlagen.
|
||||
settings.use_external_wiki=Externes Wiki verwenden
|
||||
settings.external_wiki_url=Externe Wiki-URL
|
||||
settings.external_wiki_url_error=Die externe Wiki-URL ist ungültig.
|
||||
|
@ -2043,6 +2125,10 @@ settings.pulls.default_allow_edits_from_maintainers=Änderungen von Maintainern
|
|||
settings.releases_desc=Repository-Releases aktivieren
|
||||
settings.packages_desc=Repository Packages Registry aktivieren
|
||||
settings.projects_desc=Repository-Projekte aktivieren
|
||||
settings.projects_mode_desc=Projekte-Modus (welche Art Projekte angezeigt werden sollen)
|
||||
settings.projects_mode_repo=Nur Repo-Projekte
|
||||
settings.projects_mode_owner=Nur Benutzer- oder Organisations-Projekte
|
||||
settings.projects_mode_all=Alle Projekte
|
||||
settings.actions_desc=Repository-Actions aktivieren
|
||||
settings.admin_settings=Administratoreinstellungen
|
||||
settings.admin_enable_health_check=Repository-Health-Checks aktivieren (git fsck)
|
||||
|
@ -2068,6 +2154,7 @@ settings.convert_fork_succeed=Der Fork wurde in ein normales Repository konverti
|
|||
settings.transfer=Besitz übertragen
|
||||
settings.transfer.rejected=Repository-Übertragung wurde abgelehnt.
|
||||
settings.transfer.success=Repository-Übertragung war erfolgreich.
|
||||
settings.transfer.blocked_user=Das Repository kann nicht übertragen werden, da du vom Repository-Eigentümer blockiert wurdest.
|
||||
settings.transfer_abort=Übertragung abbrechen
|
||||
settings.transfer_abort_invalid=Du kannst nur eingeleitete Repository-Übertragung abbrechen.
|
||||
settings.transfer_abort_success=Die Repository-Übertragung zu %s wurde abgebrochen.
|
||||
|
@ -2113,11 +2200,11 @@ settings.add_collaborator_success=Der Mitarbeiter wurde hinzugefügt.
|
|||
settings.add_collaborator_inactive_user=Inaktive Benutzer können nicht als Mitarbeiter hinzufügt werden.
|
||||
settings.add_collaborator_owner=Besitzer können nicht als Mitarbeiter hinzugefügt werden.
|
||||
settings.add_collaborator_duplicate=Der Mitarbeiter ist bereits zu diesem Repository hinzugefügt.
|
||||
settings.add_collaborator.blocked_user=Der Mitwirkende wurde vom Eigentümer des Repositories blockiert oder umgekehrt.
|
||||
settings.delete_collaborator=Entfernen
|
||||
settings.collaborator_deletion=Mitarbeiter entfernen
|
||||
settings.collaborator_deletion_desc=Nach dem Löschen wird dieser Mitarbeiter keinen Zugriff mehr auf dieses Repository haben. Fortfahren?
|
||||
settings.remove_collaborator_success=Der Mitarbeiter wurde entfernt.
|
||||
settings.search_user_placeholder=Benutzer suchen…
|
||||
settings.org_not_allowed_to_be_collaborator=Organisationen können nicht als Mitarbeiter hinzugefügt werden.
|
||||
settings.change_team_access_not_allowed=Nur der Besitzer der Organisation kann die Zugangsrechte des Teams ändern
|
||||
settings.team_not_in_organization=Das Team ist nicht in der gleichen Organisation wie das Repository
|
||||
|
@ -2125,7 +2212,6 @@ settings.teams=Teams
|
|||
settings.add_team=Team hinzufügen
|
||||
settings.add_team_duplicate=Das Team ist dem Repository schon zugeordnet
|
||||
settings.add_team_success=Das Team hat nun Zugriff auf das Repository.
|
||||
settings.search_team=Team suchen…
|
||||
settings.change_team_permission_tip=Die Team-Berechtigung ist auf der Team-Einstellungsseite festgelegt und kann nicht für ein Repository geändert werden
|
||||
settings.delete_team_tip=Dieses Team hat Zugriff auf alle Repositories und kann nicht entfernt werden
|
||||
settings.remove_team_success=Der Zugriff des Teams auf das Repository wurde zurückgezogen.
|
||||
|
@ -2278,9 +2364,7 @@ settings.protect_whitelist_committers=Schütze gewhitelistete Commiter
|
|||
settings.protect_whitelist_committers_desc=Jeder, der auf der Whitelist steht, darf in diesen Branch pushen (aber kein Force-Push).
|
||||
settings.protect_whitelist_deploy_keys=Deploy-Schlüssel mit Schreibzugriff zum Pushen whitelisten.
|
||||
settings.protect_whitelist_users=Nutzer, die pushen dürfen:
|
||||
settings.protect_whitelist_search_users=Benutzer suchen…
|
||||
settings.protect_whitelist_teams=Teams, die pushen dürfen:
|
||||
settings.protect_whitelist_search_teams=Teams suchen…
|
||||
settings.protect_merge_whitelist_committers=Merge-Whitelist aktivieren
|
||||
settings.protect_merge_whitelist_committers_desc=Erlaube Nutzern oder Teams auf der Whitelist Pull-Requests in diesen Branch zu mergen.
|
||||
settings.protect_merge_whitelist_users=Nutzer, die mergen dürfen:
|
||||
|
@ -2301,9 +2385,12 @@ settings.protect_approvals_whitelist_users=Freigeschaltete Reviewer:
|
|||
settings.protect_approvals_whitelist_teams=Freigeschaltete Teams:
|
||||
settings.dismiss_stale_approvals=Entferne alte Genehmigungen
|
||||
settings.dismiss_stale_approvals_desc=Wenn neue Commits gepusht werden, die den Inhalt des Pull-Requests ändern, werden alte Genehmigungen entfernt.
|
||||
settings.ignore_stale_approvals=Veraltete Genehmigungen ignorieren
|
||||
settings.ignore_stale_approvals_desc=Genehmigungen, die für ältere Commits erteilt wurden (veraltete Genehmigungen), nicht bei der Anzahl an Genehmigungen mitzählen. Irrelevant, falls veraltete Genehmigungen bereits verworfen wurden.
|
||||
settings.require_signed_commits=Signierte Commits erforderlich
|
||||
settings.require_signed_commits_desc=Pushes auf diesen Branch ablehnen, wenn Commits nicht signiert oder nicht überprüfbar sind.
|
||||
settings.protect_branch_name_pattern=Muster für geschützte Branchnamen
|
||||
settings.protect_branch_name_pattern_desc=Geschützte Branch-Namensmuster. Siehe <a href="https://github.com/gobwas/glob">die Dokumentation</a> für die Muster-Syntax. Beispiele: main, release/**
|
||||
settings.protect_patterns=Muster
|
||||
settings.protect_protected_file_patterns=Geschützte Dateimuster (durch Semikolon ';' getrennt):
|
||||
settings.protect_protected_file_patterns_desc=Geschützte Dateien dürfen nicht direkt geändert werden, auch wenn der Benutzer Rechte hat, Dateien in diesem Branch hinzuzufügen, zu bearbeiten oder zu löschen. Mehrere Muster können mit Semikolon (';') getrennt werden. Siehe <a href='https://pkg.go.dev/github.com/gobwas/glob#Compile'>github.com/gobwas/glob</a> Dokumentation zur Mustersyntax. Beispiele: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
|
||||
|
@ -2355,6 +2442,7 @@ settings.archive.error=Beim Versuch, das Repository zu archivieren, ist ein Fehl
|
|||
settings.archive.error_ismirror=Du kannst keinen Repo-Mirror archivieren.
|
||||
settings.archive.branchsettings_unavailable=Branch-Einstellungen sind nicht verfügbar wenn das Repo archiviert ist.
|
||||
settings.archive.tagsettings_unavailable=Tag Einstellungen sind nicht verfügbar, wenn das Repo archiviert wurde.
|
||||
settings.archive.mirrors_unavailable=Mirrors sind nicht verfügbar, wenn das Repository archiviert ist.
|
||||
settings.unarchive.button=Archivieren rückgängig machen
|
||||
settings.unarchive.header=Archivieren dieses Repositories rückgängig machen
|
||||
settings.unarchive.text=Durch das Aufheben der Archivierung kann das Repo wieder Commits und Pushes sowie neue Issues und Pull-Requests empfangen.
|
||||
|
@ -2521,7 +2609,6 @@ branch.default_deletion_failed=Branch "%s" kann nicht gelöscht werden, da diese
|
|||
branch.restore=Branch "%s" wiederherstellen
|
||||
branch.download=Branch "%s" herunterladen
|
||||
branch.rename=Branch "%s" umbenennen
|
||||
branch.search=Branch suchen
|
||||
branch.included_desc=Dieser Branch ist im Standard-Branch enthalten
|
||||
branch.included=Enthalten
|
||||
branch.create_new_branch=Branch aus Branch erstellen:
|
||||
|
@ -2552,8 +2639,16 @@ find_file.no_matching=Keine passende Datei gefunden
|
|||
error.csv.too_large=Diese Datei kann nicht gerendert werden, da sie zu groß ist.
|
||||
error.csv.unexpected=Diese Datei kann nicht gerendert werden, da sie ein unerwartetes Zeichen in Zeile %d und Spalte %d enthält.
|
||||
error.csv.invalid_field_count=Diese Datei kann nicht gerendert werden, da sie eine falsche Anzahl an Feldern in Zeile %d hat.
|
||||
error.broken_git_hook=Git-Hooks dieses Repositories scheinen defekt zu sein. Bitte folge der <a target="_blank" rel="noreferrer" href="%s">Dokumentation</a>, um dies zu beheben, pushe dann ein paar Commits und den Status zu aktualisieren.
|
||||
|
||||
[graphs]
|
||||
component_loading=%s werden geladen ...
|
||||
component_loading_failed=%s konnten nicht geladen werden
|
||||
component_loading_info=Dies kann ein wenig dauern …
|
||||
component_failed_to_load=Ein unerwarteter Fehler ist aufgetreten.
|
||||
code_frequency.what=Code-Frequenz
|
||||
contributors.what=Beiträge
|
||||
recent_commits.what=Neueste Commits
|
||||
|
||||
[org]
|
||||
org_name_holder=Name der Organisation
|
||||
|
@ -2659,7 +2754,6 @@ teams.write_permission_desc=Dieses Team hat <strong>Schreibzugriff</strong>: Mit
|
|||
teams.admin_permission_desc=Dieses Team hat <strong>Adminzugriff</strong>: Mitglieder dieses Teams können Team-Repositories ansehen, auf sie pushen und Mitarbeiter hinzufügen.
|
||||
teams.create_repo_permission_desc=Zusätzlich erteilt dieses Team die Berechtigung <strong>Repository erstellen</strong>: Mitglieder können neue Repositories in der Organisation erstellen.
|
||||
teams.repositories=Team-Repositories
|
||||
teams.search_repo_placeholder=Repository durchsuchen…
|
||||
teams.remove_all_repos_title=Alle Team-Repositories entfernen
|
||||
teams.remove_all_repos_desc=Dies entfernt alle Repositories von dem Team.
|
||||
teams.add_all_repos_title=Alle Repositories hinzufügen
|
||||
|
@ -2668,6 +2762,7 @@ teams.add_nonexistent_repo=Das Repository, das du hinzufügen möchtest, existie
|
|||
teams.add_duplicate_users=Dieser Benutzer ist bereits ein Teammitglied.
|
||||
teams.repos.none=Dieses Team hat Zugang zu keinem Repository.
|
||||
teams.members.none=Keine Mitglieder in diesem Team.
|
||||
teams.members.blocked_user=Der Benutzer kann nicht hinzugefügt werden, da er von der Organisation blockiert wurde.
|
||||
teams.specific_repositories=Bestimmte Repositories
|
||||
teams.specific_repositories_helper=Mitglieder haben nur Zugriff auf Repositories, die explizit dem Team hinzugefügt wurden. Wenn Du diese Option wählst, werden Repositories, die bereits mit <i>Alle Repositories</i> hinzugefügt wurden, <strong>nicht</strong> automatisch entfernt.
|
||||
teams.all_repositories=Alle Repositories
|
||||
|
@ -2681,6 +2776,7 @@ teams.invite.description=Bitte klicke auf die folgende Schaltfläche, um dem Tea
|
|||
|
||||
[admin]
|
||||
dashboard=Dashboard
|
||||
self_check=Selbstprüfung
|
||||
identity_access=Identität & Zugriff
|
||||
users=Benutzerkonten
|
||||
organizations=Organisationen
|
||||
|
@ -2691,6 +2787,8 @@ integrations=Integrationen
|
|||
authentication=Authentifizierungsquellen
|
||||
emails=Benutzer E-Mails
|
||||
config=Konfiguration
|
||||
config_summary=Übersicht
|
||||
config_settings=Einstellungen
|
||||
notices=Systemmitteilungen
|
||||
monitor=Monitoring
|
||||
first_page=Erste
|
||||
|
@ -2726,6 +2824,7 @@ dashboard.delete_missing_repos=Alle Repository-Datensätze mit verloren gegangen
|
|||
dashboard.delete_missing_repos.started=Alle Repositories löschen, die den Git-File-Task nicht gestartet haben.
|
||||
dashboard.delete_generated_repository_avatars=Generierte Repository-Avatare löschen
|
||||
dashboard.sync_repo_branches=Fehlende Branches aus den Git-Daten in die Datenbank synchronisieren
|
||||
dashboard.sync_repo_tags=Tags von Git-Daten in die Datenbank synchronisieren
|
||||
dashboard.update_mirrors=Mirrors aktualisieren
|
||||
dashboard.repo_health_check=Healthchecks für alle Repositories ausführen
|
||||
dashboard.check_repo_stats=Überprüfe alle Repository-Statistiken
|
||||
|
@ -2780,6 +2879,7 @@ dashboard.stop_endless_tasks=Endlose Aufgaben stoppen
|
|||
dashboard.cancel_abandoned_jobs=Aufgegebene Jobs abbrechen
|
||||
dashboard.start_schedule_tasks=Terminierte Aufgaben starten
|
||||
dashboard.sync_branch.started=Synchronisierung der Branches gestartet
|
||||
dashboard.sync_tag.started=Tag-Synchronisierung gestartet
|
||||
dashboard.rebuild_issue_indexer=Issue-Indexer neu bauen
|
||||
|
||||
users.user_manage_panel=Benutzerkontenverwaltung
|
||||
|
@ -2851,6 +2951,7 @@ emails.updated=E-Mail aktualisiert
|
|||
emails.not_updated=Fehler beim Aktualisieren der angeforderten E-Mail-Adresse: %v
|
||||
emails.duplicate_active=Diese E-Mail-Adresse wird bereits von einem Nutzer verwendet.
|
||||
emails.change_email_header=E-Mail-Eigenschaften aktualisieren
|
||||
emails.change_email_text=Bist du dir sicher, dass du diese E-Mail-Adresse aktualisieren möchtest?
|
||||
|
||||
orgs.org_manage_panel=Organisationsverwaltung
|
||||
orgs.name=Name
|
||||
|
@ -2864,9 +2965,6 @@ repos.unadopted.no_more=Keine weiteren nicht übernommenen Repositories gefunden
|
|||
repos.owner=Besitzer
|
||||
repos.name=Name
|
||||
repos.private=Privat
|
||||
repos.watches=Beobachtungen
|
||||
repos.stars=Favoriten
|
||||
repos.forks=Forks
|
||||
repos.issues=Issues
|
||||
repos.size=Größe
|
||||
repos.lfs_size=LFS-Größe
|
||||
|
@ -2875,6 +2973,7 @@ packages.package_manage_panel=Paketverwaltung
|
|||
packages.total_size=Gesamtgröße: %s
|
||||
packages.unreferenced_size=Nicht referenzierte Größe: %s
|
||||
packages.cleanup=Veraltete Daten löschen
|
||||
packages.cleanup.success=Abgelaufene Daten erfolgreich bereinigt
|
||||
packages.owner=Besitzer
|
||||
packages.creator=Ersteller
|
||||
packages.name=Name
|
||||
|
@ -2990,7 +3089,7 @@ auths.tip.nextcloud=Registriere über das "Settings -> Security -> OAuth 2.0 cli
|
|||
auths.tip.dropbox=Erstelle eine neue App auf https://www.dropbox.com/developers/apps.
|
||||
auths.tip.facebook=Erstelle eine neue Anwendung auf https://developers.facebook.com/apps und füge das Produkt „Facebook Login“ hinzu.
|
||||
auths.tip.github=Erstelle unter https://github.com/settings/applications/new eine neue OAuth-Anwendung.
|
||||
auths.tip.gitlab=Erstelle unter https://gitlab.com/profile/applications eine neue Anwendung.
|
||||
auths.tip.gitlab_new=Erstelle eine neue Anwendung unter https://gitlab.com/-/profile/applications
|
||||
auths.tip.google_plus=Du erhältst die OAuth2-Client-Zugangsdaten in der Google-API-Konsole unter https://console.developers.google.com/
|
||||
auths.tip.openid_connect=Benutze die OpenID-Connect-Discovery-URL (<server>/.well-known/openid-configuration), um die Endpunkte zu spezifizieren
|
||||
auths.tip.twitter=Gehe auf https://dev.twitter.com/apps, erstelle eine Anwendung und stelle sicher, dass die Option „Allow this application to be used to Sign in with Twitter“ aktiviert ist
|
||||
|
@ -3126,6 +3225,7 @@ config.picture_config=Bild-und-Profilbild-Konfiguration
|
|||
config.picture_service=Bilderservice
|
||||
config.disable_gravatar=Gravatar deaktivieren
|
||||
config.enable_federated_avatar=Föderierte Profilbilder einschalten
|
||||
config.open_with_editor_app_help=Die „Öffnen mit“-Editoren für das Klon-Menü. Falls leer, wird die Standardeinstellung verwendet. Erweitern, um die Standardeinstellung zu sehen.
|
||||
|
||||
config.git_config=Git-Konfiguration
|
||||
config.git_disable_diff_highlight=Diff-Syntaxhervorhebung ausschalten
|
||||
|
@ -3204,6 +3304,12 @@ notices.desc=Beschreibung
|
|||
notices.op=Aktion
|
||||
notices.delete_success=Diese Systemmeldung wurde gelöscht.
|
||||
|
||||
self_check.no_problem_found=Bisher wurde kein Problem festgestellt.
|
||||
self_check.database_collation_mismatch=Erwarte Datenbank-Kollation: %s
|
||||
self_check.database_collation_case_insensitive=Die Datenbank verwendet die Kollation %s, was eine unsensible Kollation ist. Obwohl Gitea damit arbeiten könnte, gibt es vielleicht einige seltene Fälle, die nicht wie erwartet funktionieren.
|
||||
self_check.database_inconsistent_collation_columns=Die Datenbank verwendet die Kollation %s, aber diese Spalten verwenden unzutreffende Kollationen. Dies könnte zu unerwarteten Problemen führen.
|
||||
self_check.database_fix_mysql=Für MySQL/MariaDB-Benutzer kann man den Befehl "gitea doctor convert" oder manuell auch "ALTER ... COLLATE ..."-SQLs verwenden, um die Sortierprobleme zu beheben.
|
||||
self_check.database_fix_mssql=Für MSSQL-Benutzer kann das Problem im Moment nur durch "ALTER ... COLLATE ..." SQLs manuell behoben werden.
|
||||
|
||||
[action]
|
||||
create_repo=hat das Repository <a href="%s">%s</a> erstellt
|
||||
|
@ -3391,6 +3497,7 @@ rpm.distros.suse=auf SUSE-basierten Distributionen
|
|||
rpm.install=Nutze folgenden Befehl, um das Paket zu installieren:
|
||||
rpm.repository=Repository-Informationen
|
||||
rpm.repository.architectures=Architekturen
|
||||
rpm.repository.multiple_groups=Dieses Paket ist in mehreren Gruppen verfügbar.
|
||||
rubygems.install=Um das Paket mit gem zu installieren, führe den folgenden Befehl aus:
|
||||
rubygems.install2=oder füg es zum Gemfile hinzu:
|
||||
rubygems.dependencies.runtime=Laufzeitabhängigkeiten
|
||||
|
@ -3516,12 +3623,18 @@ runs.commit=Commit
|
|||
runs.scheduled=Geplant
|
||||
runs.pushed_by=gepusht von
|
||||
runs.invalid_workflow_helper=Die Workflow-Konfigurationsdatei ist ungültig. Bitte überprüfe Deine Konfigurationsdatei: %s
|
||||
runs.no_matching_online_runner_helper=Kein passender Runner online mit Label: %s
|
||||
runs.no_job_without_needs=Der Workflow muss mindestens einen Job ohne Abhängigkeiten enthalten.
|
||||
runs.actor=Initiator
|
||||
runs.status=Status
|
||||
runs.actors_no_select=Alle Initiatoren
|
||||
runs.status_no_select=Alle Status
|
||||
runs.no_results=Keine passenden Ergebnisse gefunden.
|
||||
runs.no_workflows=Es gibt noch keine Workflows.
|
||||
runs.no_workflows.quick_start=Du weißt nicht, wie du mit Gitea Actions loslegst? Siehe <a target="_blank" rel="noopener noreferrer" href="%s">die Schnellstart-Anleitung</a>.
|
||||
runs.no_workflows.documentation=Weitere Informationen zu Gitea Actions findest du in der <a target="_blank" rel="noopener noreferrer" href="%s"> Dokumentation</a>.
|
||||
runs.no_runs=Der Workflow hat noch keine Ausführungen.
|
||||
runs.empty_commit_message=(leere Commit-Nachricht)
|
||||
|
||||
workflow.disable=Workflow deaktivieren
|
||||
workflow.disable_success=Workflow '%s' erfolgreich deaktiviert.
|
||||
|
@ -3538,6 +3651,7 @@ variables.none=Es gibt noch keine Variablen.
|
|||
variables.deletion=Variable entfernen
|
||||
variables.deletion.description=Das Entfernen einer Variable ist dauerhaft und kann nicht rückgängig gemacht werden. Fortfahren?
|
||||
variables.description=Variablen werden an bestimmte Aktionen übergeben und können nicht anderweitig gelesen werden.
|
||||
variables.id_not_exist=Eine Variable mit ID %d existiert nicht.
|
||||
variables.edit=Variable bearbeiten
|
||||
variables.deletion.failed=Fehler beim Entfernen der Variable.
|
||||
variables.deletion.success=Die Variable wurde entfernt.
|
||||
|
|
|
@ -141,6 +141,15 @@ confirm_delete_selected=Επιβεβαιώνετε τη διαγραφή όλω
|
|||
name=Όνομα
|
||||
value=Τιμή
|
||||
|
||||
filter=Φίλτρο
|
||||
filter.is_archived=Αρχειοθετήθηκε
|
||||
filter.is_template=Πρότυπο
|
||||
filter.public=Δημόσιος
|
||||
filter.private=Ιδιωτικό
|
||||
|
||||
|
||||
[search]
|
||||
|
||||
[aria]
|
||||
navbar=Γραμμή Πλοήγησης
|
||||
footer=Υποσέλιδο
|
||||
|
@ -314,7 +323,6 @@ collaborative_repos=Συνεργατικά Αποθετήρια
|
|||
my_orgs=Οι Οργανισμοί Μου
|
||||
my_mirrors=Τα Αντίγραφα Μου
|
||||
view_home=Προβολή %s
|
||||
search_repos=Βρείτε ένα αποθετήριο…
|
||||
filter=Άλλα Φίλτρα
|
||||
filter_by_team_repositories=Φιλτράρισμα ανά αποθετήρια ομάδας
|
||||
feed_of=`Τροφοδοσία του "%s"`
|
||||
|
@ -335,20 +343,8 @@ issues.in_your_repos=Στα αποθετήρια σας
|
|||
repos=Αποθετήρια
|
||||
users=Χρήστες
|
||||
organizations=Οργανισμοί
|
||||
search=Αναζήτηση
|
||||
go_to=Μετάβαση σε
|
||||
code=Κώδικας
|
||||
search.type.tooltip=Τύπος αναζήτησης
|
||||
search.fuzzy=Fuzzy
|
||||
search.fuzzy.tooltip=Συμπερίληψη και των αποτελεσμάτων που είναι πλησιέστερα με τον όρο αναζήτησης
|
||||
search.match=Ταίριασμα
|
||||
search.match.tooltip=Συμπερίληψη μόνο των αποτελεσμάτων που ταιριάζουν ακριβώς με τον όρο αναζήτησης
|
||||
code_search_unavailable=Η αναζήτηση κώδικα δεν είναι διαθέσιμη αυτή τη στιγμή. Παρακαλώ επικοινωνήστε με το διαχειριστή.
|
||||
repo_no_results=Δεν βρέθηκαν αποθετήρια που να ταιρίαζουν με τα κριτήρια.
|
||||
user_no_results=Δεν βρέθηκαν χρήστες που να ταιριάζουν με τα κριτήρια.
|
||||
org_no_results=Δεν βρέθηκαν οργανισμοί που να ταιριάζουν με τα κριτήρια.
|
||||
code_no_results=Δεν βρέθηκε πηγαίος κώδικας που να ταιριάζει με τον όρο αναζήτησης.
|
||||
code_search_results=`Αποτελέσματα αναζήτησης για "%s"`
|
||||
code_last_indexed_at=Τελευταίο δημιουργία ευρετηρίου στις %s
|
||||
relevant_repositories_tooltip=Τα αποθετήρια που είναι forks ή που δεν έχουν θέμα, εικονίδιο και περιγραφή είναι κρυμμένα.
|
||||
relevant_repositories=Εμφανίζονται μόνο τα σχετικά αποθετήρια, <a href="%s">εμφάνιση χωρίς φίλτρο</a>.
|
||||
|
@ -366,7 +362,6 @@ forgot_password_title=Ξέχασα Τον Κωδικό Πρόσβασης
|
|||
forgot_password=Ξεχάσατε τον κωδικό πρόσβασης;
|
||||
sign_up_now=Χρειάζεστε λογαριασμό; Εγγραφείτε τώρα.
|
||||
sign_up_successful=Ο λογαριασμός δημιουργήθηκε επιτυχώς. Καλώς ορίσατε!
|
||||
confirmation_mail_sent_prompt=Ένα νέο email επιβεβαίωσης έχει σταλεί στο <b>%s</b>. Παρακαλώ ελέγξτε τα εισερχόμενα σας μέσα στις επόμενες %s για να ολοκληρώσετε τη διαδικασία εγγραφής.
|
||||
must_change_password=Ενημερώστε τον κωδικό πρόσβασης σας
|
||||
allow_password_change=Απαιτείται από το χρήστη να αλλάξει τον κωδικό πρόσβασης (συνιστόμενο)
|
||||
reset_password_mail_sent_prompt=Ένα email επιβεβαίωσης έχει σταλεί στο <b>%s</b>. Παρακαλώ ελέγξτε τα εισερχόμενα σας στις επόμενες %s για να ολοκληρώσετε τη διαδικασία ανάκτησης λογαριασμού.
|
||||
|
@ -614,6 +609,7 @@ form.name_reserved=Το όνομα χρήστη "%s" είναι δεσμευμέ
|
|||
form.name_pattern_not_allowed=Το μοτίβο "%s" δεν επιτρέπεται μέσα σε ένα όνομα χρήστη.
|
||||
form.name_chars_not_allowed=Το όνομα χρήστη "%s" περιέχει μη έγκυρους χαρακτήρες.
|
||||
|
||||
|
||||
[settings]
|
||||
profile=Προφίλ
|
||||
account=Λογαριασμός
|
||||
|
@ -758,7 +754,6 @@ gpg_invalid_token_signature=Το κλειδί GPG, η υπογραφή και τ
|
|||
gpg_token_required=Πρέπει να δώσετε μια υπογραφή για το παρακάτω διακριτικό
|
||||
gpg_token=Διακριτικό
|
||||
gpg_token_help=Μπορείτε να δημιουργήσετε μια υπογραφή χρησιμοποιώντας:
|
||||
gpg_token_code=echo "%s" | gpg -a --default-key %s --detach-sig
|
||||
gpg_token_signature=Θωρακισμένη υπογραφή GPG
|
||||
key_signature_gpg_placeholder=Ξεκινά με '-----BEGIN PGP SIGNATURE-----'
|
||||
verify_gpg_key_success=Το κλειδί GPG "%s" επαληθεύτηκε.
|
||||
|
@ -952,7 +947,6 @@ fork_branch=Κλάδος που θα κλωνοποιηθεί στο fork
|
|||
all_branches=Όλοι οι κλάδοι
|
||||
fork_no_valid_owners=Αυτό το αποθετήριο δεν μπορεί να γίνει fork επειδή δεν υπάρχουν έγκυροι ιδιοκτήτες.
|
||||
use_template=Χρήση αυτού του πρότυπου
|
||||
clone_in_vsc=Κλωνοποίηση στο VS Code
|
||||
download_zip=Λήψη ZIP
|
||||
download_tar=Λήψη TAR.GZ
|
||||
download_bundle=Κατεβάστε Το ΔΕΜΑ
|
||||
|
@ -1271,9 +1265,7 @@ commits.desc=Δείτε το ιστορικό αλλαγών του πηγαίο
|
|||
commits.commits=Υποβολές
|
||||
commits.no_commits=Δεν υπάρχουν κοινές υποβολές. Τα "%s" και "%s" έχουν εντελώς διαφορετικές ιστορίες.
|
||||
commits.nothing_to_compare=Αυτοί οι κλάδοι είναι όμοιοι.
|
||||
commits.search=Αναζήτηση υποβολών…
|
||||
commits.search.tooltip=Μπορείτε να προθέτετε τις λέξεις-κλειδιά με "author:", "committer:", "after:", ή "before:", π.χ. "επαναφορά author:Alice before:2019-01-13".
|
||||
commits.find=Αναζήτηση
|
||||
commits.search_all=Όλοι Οι Κλάδοι
|
||||
commits.author=Συγγραφέας
|
||||
commits.message=Μήνυμα
|
||||
|
@ -1324,7 +1316,6 @@ projects.type.basic_kanban=Βασικό Kanban
|
|||
projects.type.bug_triage=Διαλογή Σφαλμάτων
|
||||
projects.template.desc=Πρότυπο έργου
|
||||
projects.template.desc_helper=Επιλέξτε ένα πρότυπο έργου για να ξεκινήσετε
|
||||
projects.type.uncategorized=Χωρίς Κατηγορία
|
||||
projects.column.edit=Επεξεργασία Στήλης
|
||||
projects.column.edit_title=Όνομα
|
||||
projects.column.new_title=Όνομα
|
||||
|
@ -1332,10 +1323,7 @@ projects.column.new_submit=Δημιουργία Στήλης
|
|||
projects.column.new=Νέα Στήλη
|
||||
projects.column.set_default=Ορισμός Προεπιλογής
|
||||
projects.column.set_default_desc=Ορίστε αυτή τη στήλη ως προεπιλογή για ζητήματα και pull requests χωρίς κατηγορία
|
||||
projects.column.unset_default=Αφαίρεση Προεπιλογής
|
||||
projects.column.unset_default_desc=Αφαίρεση της προεπιλογής αυτής της στήλης
|
||||
projects.column.delete=Διαγραφή Στήλης
|
||||
projects.column.deletion_desc=Η διαγραφή μιας στήλης έργου μετακινεί όλα τα συναφή ζητήματα σε 'Χωρίς Κατηγορία'. Συνέχεια;
|
||||
projects.column.color=Έγχρωμο
|
||||
projects.open=Άνοιγμα
|
||||
projects.close=Κλείσιμο
|
||||
|
@ -1447,7 +1435,6 @@ issues.filter_sort.moststars=Περισσότερα αστέρια
|
|||
issues.filter_sort.feweststars=Λιγότερα αστέρια
|
||||
issues.filter_sort.mostforks=Περισσότερα forks
|
||||
issues.filter_sort.fewestforks=Λιγότερα forks
|
||||
issues.keyword_search_unavailable=Η αναζήτηση μέσω λέξεων κλειδιών δεν είναι διαθέσιμη. Παρακαλώ επικοινωνήστε με το διαχειριστή.
|
||||
issues.action_open=Άνοιγμα
|
||||
issues.action_close=Κλείσιμο
|
||||
issues.action_label=Σήμα
|
||||
|
@ -1699,7 +1686,6 @@ pulls.compare_compare=τράβηγμα από
|
|||
pulls.switch_comparison_type=Αλλαγή τύπου σύγκρισης
|
||||
pulls.switch_head_and_base=Αλλαγή κεφαλής και βάσης
|
||||
pulls.filter_branch=Φιλτράρισμα κλάδου
|
||||
pulls.no_results=Δεν βρέθηκαν αποτελέσματα.
|
||||
pulls.show_all_commits=Εμφάνιση όλων των υποβολών
|
||||
pulls.show_changes_since_your_last_review=Εμφάνιση αλλαγών από την τελευταία αξιολόγηση
|
||||
pulls.showing_only_single_commit=Εμφάνιση μόνο αλλαγών της υποβολής %[1]s
|
||||
|
@ -1969,17 +1955,6 @@ activity.git_stats_deletion_n=%d διαγραφές
|
|||
|
||||
contributors.contribution_type.commits=Υποβολές
|
||||
|
||||
search=Αναζήτηση
|
||||
search.search_repo=Αναζήτηση αποθετηρίου
|
||||
search.type.tooltip=Τύπος αναζήτησης
|
||||
search.fuzzy=Fuzzy
|
||||
search.fuzzy.tooltip=Συμπερίληψη και των αποτελεσμάτων που είναι πλησιέστερα με τον όρο αναζήτησης
|
||||
search.match=Ταίριασμα
|
||||
search.match.tooltip=Συμπερίληψη μόνο των αποτελεσμάτων που ταιριάζουν ακριβώς με τον όρο αναζήτησης
|
||||
search.results=Αποτελέσματα αναζήτησης για "%s" σε <a href="%s">%s</a>
|
||||
search.code_no_results=Δεν βρέθηκε πηγαίος κώδικας που να ταιριάζει με τον όρο αναζήτησης.
|
||||
search.code_search_unavailable=Η αναζήτηση κώδικα δεν είναι διαθέσιμη αυτή τη στιγμή. Παρακαλώ επικοινωνήστε με το διαχειριστή.
|
||||
|
||||
settings=Ρυθμίσεις
|
||||
settings.desc=Στις Ρυθμίσεις μπορείτε να διαχειριστείτε τις ρυθμίσεις για το αποθετήριο
|
||||
settings.options=Αποθετήριο
|
||||
|
@ -2057,6 +2032,7 @@ settings.pulls.default_allow_edits_from_maintainers=Να επιτρέποντα
|
|||
settings.releases_desc=Ενεργοποίηση Κυκλοφοριών Αποθετηρίου
|
||||
settings.packages_desc=Ενεργοποίηση Μητρώου Πακέτων Αποθετηρίου
|
||||
settings.projects_desc=Ενεργοποίηση Έργων Αποθετηρίου
|
||||
settings.projects_mode_all=Όλα τα έργα
|
||||
settings.actions_desc=Ενεργοποίηση Δράσεων Αποθετηρίου
|
||||
settings.admin_settings=Ρυθμίσεις Διαχειριστή
|
||||
settings.admin_enable_health_check=Ενεργοποίηση Ελέγχων Υγείας του Αποθετηρίου (git fsck)
|
||||
|
@ -2131,7 +2107,6 @@ settings.delete_collaborator=Αφαίρεση
|
|||
settings.collaborator_deletion=Αφαίρεση Συνεργάτη
|
||||
settings.collaborator_deletion_desc=Η κατάργηση ενός συνεργάτη θα ανακαλέσει την πρόσβασή τους σε αυτό το αποθετήριο. Συνέχεια;
|
||||
settings.remove_collaborator_success=Ο συνεργάτης έχει αφαιρεθεί.
|
||||
settings.search_user_placeholder=Αναζήτηση χρήστη…
|
||||
settings.org_not_allowed_to_be_collaborator=Οι οργανισμοί δεν μπορούν να προστεθούν ως συνεργάτης.
|
||||
settings.change_team_access_not_allowed=Η αλλαγή της πρόσβασης ομάδας για το αποθετήριο έχει περιοριστεί στον ιδιοκτήτη του οργανισμού
|
||||
settings.team_not_in_organization=Η ομάδα δεν είναι στον ίδιο οργανισμό με το αποθετήριο
|
||||
|
@ -2139,7 +2114,6 @@ settings.teams=Ομάδες
|
|||
settings.add_team=Προσθήκη Ομάδας
|
||||
settings.add_team_duplicate=Η ομάδα έχει ήδη το αποθετήριο
|
||||
settings.add_team_success=Η ομάδα έχει πλέον πρόσβαση στο αποθετήριο.
|
||||
settings.search_team=Αναζήτηση Ομάδας…
|
||||
settings.change_team_permission_tip=Τα δικαιώματα της ομάδας έχουν οριστεί στη σελίδα ρυθμίσεων της ομάδας και δεν μπορούν να αλλάξουν ανά αποθετήριο
|
||||
settings.delete_team_tip=Αυτή η ομάδα έχει πρόσβαση σε όλα τα αποθετήρια και δεν μπορεί να αφαιρεθεί
|
||||
settings.remove_team_success=Έχει αφαιρεθεί η πρόσβαση της ομάδας στο αποθετήριο.
|
||||
|
@ -2292,9 +2266,7 @@ settings.protect_whitelist_committers=Περιορισμός του Push στη
|
|||
settings.protect_whitelist_committers_desc=Μόνο χρήστες ή ομάδες στη λίστα θα επιτρέπεται να κάνουν push σε αυτόν τον κλάδο (αλλά όχι να κάνουν force push).
|
||||
settings.protect_whitelist_deploy_keys=Έγκριση κλειδιών διάθεσης με πρόσβαση εγγραφής για ώθηση.
|
||||
settings.protect_whitelist_users=Λίστα χρηστών που επιτρέπεται να κάνουν push:
|
||||
settings.protect_whitelist_search_users=Αναζήτηση χρηστών…
|
||||
settings.protect_whitelist_teams=Λίστα ομάδων που επιτρέπεται να κάνουν push:
|
||||
settings.protect_whitelist_search_teams=Αναζήτηση ομάδων…
|
||||
settings.protect_merge_whitelist_committers=Ενεργοποίηση Λίστας Συγχώνευσης
|
||||
settings.protect_merge_whitelist_committers_desc=Επιτρέψτε μόνο σε χρήστες ή ομάδες στη λίστα να συγχωνεύσουν pull requests σε αυτό το κλάδο.
|
||||
settings.protect_merge_whitelist_users=Λίστα επιτρεπόμενων χρηστών για συγχώνευση:
|
||||
|
@ -2536,7 +2508,6 @@ branch.default_deletion_failed=Ο κλάδος "%s" είναι ο προεπιλ
|
|||
branch.restore=`Επαναφορά του Κλάδου "%s"`
|
||||
branch.download=`Λήψη του Κλάδου "%s"`
|
||||
branch.rename=`Μετονομασία Κλάδου "%s"`
|
||||
branch.search=Αναζήτηση Κλάδου
|
||||
branch.included_desc=Αυτός ο κλάδος είναι μέρος του προεπιλεγμένου κλάδου
|
||||
branch.included=Περιλαμβάνεται
|
||||
branch.create_new_branch=Δημιουργία κλάδου από κλάδο:
|
||||
|
@ -2674,7 +2645,6 @@ teams.write_permission_desc=Αυτή η ομάδα χορηγεί πρόσβασ
|
|||
teams.admin_permission_desc=Αυτή η ομάδα παρέχει πρόσβαση <strong>Διαχειριστή</strong>: τα μέλη μπορούν να διαβάσουν, να κάνουν push και να προσθέσουν συνεργάτες στα αποθετήρια της ομάδας.
|
||||
teams.create_repo_permission_desc=Επιπλέον, αυτή η ομάδα χορηγεί άδεια <strong>Δημιουργία αποθετηρίου</strong>: τα μέλη μπορούν να δημιουργήσουν νέα αποθετήρια στον οργανισμό.
|
||||
teams.repositories=Αποθετήρια Ομάδας
|
||||
teams.search_repo_placeholder=Αναζήτηση αποθετηρίου…
|
||||
teams.remove_all_repos_title=Αφαίρεση όλων των αποθετηρίων της ομάδας
|
||||
teams.remove_all_repos_desc=Αυτό θα αφαιρέσει όλα τα αποθετήρια από την ομάδα.
|
||||
teams.add_all_repos_title=Προσθήκη όλων των αποθετηρίων
|
||||
|
@ -2706,6 +2676,8 @@ integrations=Ενσωματώσεις
|
|||
authentication=Πηγές Ταυτοποίησης
|
||||
emails=Email Χρήστη
|
||||
config=Διαμόρφωση
|
||||
config_summary=Περίληψη
|
||||
config_settings=Ρυθμίσεις
|
||||
notices=Ειδοποιήσεις Συστήματος
|
||||
monitor=Παρακολούθηση
|
||||
first_page=Πρώτο
|
||||
|
@ -2880,9 +2852,6 @@ repos.unadopted.no_more=Δεν βρέθηκαν μη υιοθετημένα απ
|
|||
repos.owner=Ιδιοκτήτης
|
||||
repos.name=Όνομα
|
||||
repos.private=Ιδιωτικό
|
||||
repos.watches=Παρακολουθήσεις
|
||||
repos.stars=Αστέρια
|
||||
repos.forks=Forks
|
||||
repos.issues=Ζητήματα
|
||||
repos.size=Μέγεθος
|
||||
repos.lfs_size=Μέγεθος LFS
|
||||
|
@ -3007,7 +2976,6 @@ auths.tip.nextcloud=`Καταχωρήστε ένα νέο καταναλωτή O
|
|||
auths.tip.dropbox=Δημιουργήστε μια νέα εφαρμογή στο https://www.dropbox.com/developers/apps
|
||||
auths.tip.facebook=`Καταχωρήστε μια νέα εφαρμογή στο https://developers.facebook.com/apps και προσθέστε το προϊόν "Facebook Login"`
|
||||
auths.tip.github=Καταχωρήστε μια νέα εφαρμογή OAuth στο https://github.com/settings/applications/new
|
||||
auths.tip.gitlab=Καταχωρήστε μια νέα εφαρμογή στο https://gitlab.com/profile/applications
|
||||
auths.tip.google_plus=Αποκτήστε τα διαπιστευτήρια πελάτη OAuth2 από την κονσόλα API της Google στο https://console.developers.google.com/
|
||||
auths.tip.openid_connect=Χρησιμοποιήστε το OpenID Connect Discovery URL (<server>/.well known/openid-configuration) για να καθορίσετε τα τελικά σημεία
|
||||
auths.tip.twitter=Πηγαίνετε στο https://dev.twitter.com/apps, δημιουργήστε μια εφαρμογή και βεβαιωθείτε ότι η επιλογή “Allow this application to be used to Sign in with Twitter” είναι ενεργοποιημένη
|
||||
|
|
|
@ -1392,7 +1392,6 @@ projects.type.basic_kanban = "Basic Kanban"
|
|||
projects.type.bug_triage = "Bug Triage"
|
||||
projects.template.desc = "Template"
|
||||
projects.template.desc_helper = "Select a project template to get started"
|
||||
projects.type.uncategorized = Uncategorized
|
||||
projects.column.edit = "Edit Column"
|
||||
projects.column.edit_title = "Name"
|
||||
projects.column.new_title = "Name"
|
||||
|
@ -1400,10 +1399,8 @@ projects.column.new_submit = "Create Column"
|
|||
projects.column.new = "New Column"
|
||||
projects.column.set_default = "Set Default"
|
||||
projects.column.set_default_desc = "Set this column as default for uncategorized issues and pulls"
|
||||
projects.column.unset_default = "Unset Default"
|
||||
projects.column.unset_default_desc = "Unset this column as default"
|
||||
projects.column.delete = "Delete Column"
|
||||
projects.column.deletion_desc = "Deleting a project column moves all related issues to 'Uncategorized'. Continue?"
|
||||
projects.column.deletion_desc = "Deleting a project column moves all related issues to the default column. Continue?"
|
||||
projects.column.color = "Color"
|
||||
projects.open = Open
|
||||
projects.close = Close
|
||||
|
@ -2778,6 +2775,7 @@ teams.invite.by = Invited by %s
|
|||
teams.invite.description = Please click the button below to join the team.
|
||||
|
||||
[admin]
|
||||
maintenance = Maintenance
|
||||
dashboard = Dashboard
|
||||
self_check = Self Check
|
||||
identity_access = Identity & Access
|
||||
|
@ -2801,7 +2799,7 @@ settings = Admin Settings
|
|||
|
||||
dashboard.new_version_hint = Gitea %s is now available, you are running %s. Check <a target="_blank" rel="noreferrer" href="https://blog.gitea.io">the blog</a> for more details.
|
||||
dashboard.statistic = Summary
|
||||
dashboard.operations = Maintenance Operations
|
||||
dashboard.maintenance_operations = Maintenance Operations
|
||||
dashboard.system_status = System Status
|
||||
dashboard.operation_name = Operation Name
|
||||
dashboard.operation_switch = Switch
|
||||
|
@ -3308,6 +3306,7 @@ notices.op = Op.
|
|||
notices.delete_success = The system notices have been deleted.
|
||||
|
||||
self_check.no_problem_found = No problem found yet.
|
||||
self_check.startup_warnings = Startup warnings:
|
||||
self_check.database_collation_mismatch = Expect database to use collation: %s
|
||||
self_check.database_collation_case_insensitive = Database is using a collation %s, which is an insensitive collation. Although Gitea could work with it, there might be some rare cases which don't work as expected.
|
||||
self_check.database_inconsistent_collation_columns = Database is using collation %s, but these columns are using mismatched collations. It might cause some unexpected problems.
|
||||
|
|
|
@ -139,6 +139,15 @@ confirm_delete_selected=¿Borrar todos los elementos seleccionados?
|
|||
name=Nombre
|
||||
value=Valor
|
||||
|
||||
filter=Filtro
|
||||
filter.is_archived=Archivado
|
||||
filter.is_template=Plantilla
|
||||
filter.public=Público
|
||||
filter.private=Privado
|
||||
|
||||
|
||||
[search]
|
||||
|
||||
[aria]
|
||||
navbar=Barra de navegación
|
||||
footer=Pie
|
||||
|
@ -312,7 +321,6 @@ collaborative_repos=Repositorios colaborativos
|
|||
my_orgs=Mis organizaciones
|
||||
my_mirrors=Mis réplicas
|
||||
view_home=Ver %s
|
||||
search_repos=Buscar un repositorio…
|
||||
filter=Otros filtros
|
||||
filter_by_team_repositories=Filtrar por repositorios de equipo
|
||||
feed_of=`Suministro de noticias de "%s"`
|
||||
|
@ -333,20 +341,8 @@ issues.in_your_repos=En tus repositorios
|
|||
repos=Repositorios
|
||||
users=Usuarios
|
||||
organizations=Organizaciones
|
||||
search=Buscar
|
||||
go_to=Ir a
|
||||
code=Código
|
||||
search.type.tooltip=Tipo de búsqueda
|
||||
search.fuzzy=Parcial
|
||||
search.fuzzy.tooltip=Incluye los resultados que también coincidan con el término de búsqueda
|
||||
search.match=Coincidir
|
||||
search.match.tooltip=Incluye sólo los resultados que coincidan con el término de búsqueda exacto
|
||||
code_search_unavailable=Actualmente la búsqueda de código no está disponible. Póngase en contacto con el administrador de su sitio.
|
||||
repo_no_results=No se ha encontrado ningún repositorio coincidente.
|
||||
user_no_results=No se ha encontrado ningún usuario coincidente.
|
||||
org_no_results=No se ha encontrado ninguna organización coincidente.
|
||||
code_no_results=No se ha encontrado código de fuente que coincida con su término de búsqueda.
|
||||
code_search_results=Resultados de búsqueda para «%s»
|
||||
code_last_indexed_at=Indexado por última vez %s
|
||||
relevant_repositories_tooltip=Repositorios que son bifurcaciones o que no tienen ningún tema, ningún icono, y ninguna descripción están ocultos.
|
||||
relevant_repositories=Solo se muestran repositorios relevantes, <a href="%s">mostrar resultados sin filtrar</a>.
|
||||
|
@ -363,7 +359,6 @@ forgot_password_title=He olvidado mi contraseña
|
|||
forgot_password=¿Has olvidado tu contraseña?
|
||||
sign_up_now=¿Necesitas una cuenta? Regístrate ahora.
|
||||
sign_up_successful=La cuenta se ha creado correctamente. ¡Bienvenido!
|
||||
confirmation_mail_sent_prompt=Un nuevo correo de confirmación se ha enviado a <b>%s</b>. Comprueba tu bandeja de entrada en las siguientes %s para completar el registro.
|
||||
must_change_password=Actualizar su contraseña
|
||||
allow_password_change=Obligar al usuario a cambiar la contraseña (recomendado)
|
||||
reset_password_mail_sent_prompt=Un correo de confirmación se ha enviado a <b>%s</b>. Compruebe su bandeja de entrada en las siguientes %s para completar el proceso de recuperación de la cuenta.
|
||||
|
@ -611,6 +606,7 @@ form.name_reserved=El nombre de usuario "%s" está reservado.
|
|||
form.name_pattern_not_allowed=El patrón "%s" no está permitido en un nombre de usuario.
|
||||
form.name_chars_not_allowed=El nombre de usuario "%s" contiene caracteres no válidos.
|
||||
|
||||
|
||||
[settings]
|
||||
profile=Perfil
|
||||
account=Cuenta
|
||||
|
@ -755,7 +751,6 @@ gpg_invalid_token_signature=La clave GPG proporcionada, la firma y el token no c
|
|||
gpg_token_required=Debe proporcionar una firma para el token de abajo
|
||||
gpg_token=Token
|
||||
gpg_token_help=Puede generar una firma de la siguiente manera:
|
||||
gpg_token_code=echo "%s" | gpg -a --default-key %s --detach-sig
|
||||
gpg_token_signature=Firma GPG armadura
|
||||
key_signature_gpg_placeholder=Comienza con '-----BEGIN PGP SIGNATURE-----'
|
||||
verify_gpg_key_success=La clave GPG "%s" ha sido verificada.
|
||||
|
@ -945,7 +940,6 @@ fork_branch=Rama a clonar en la bifurcación
|
|||
all_branches=Todas las ramas
|
||||
fork_no_valid_owners=Este repositorio no puede ser bifurcado porque no hay propietarios válidos.
|
||||
use_template=Utilizar esta plantilla
|
||||
clone_in_vsc=Clonar en VS Code
|
||||
download_zip=Descargar ZIP
|
||||
download_tar=Descargar TAR.GZ
|
||||
download_bundle=Descargar BUNDLE
|
||||
|
@ -1264,9 +1258,7 @@ commits.desc=Ver el historial de cambios de código fuente.
|
|||
commits.commits=Commits
|
||||
commits.no_commits=No hay commits en común. "%s" y "%s" tienen historias totalmente diferentes.
|
||||
commits.nothing_to_compare=Estas ramas son iguales.
|
||||
commits.search=Buscar commits…
|
||||
commits.search.tooltip=Puede prefijar palabras clave con "author:", "committer:", "after:", o "before:", p. ej., "revertir author:Alice before:2019-01-13".
|
||||
commits.find=Buscar
|
||||
commits.search_all=Todas las Ramas
|
||||
commits.author=Autor
|
||||
commits.message=Mensaje
|
||||
|
@ -1317,7 +1309,6 @@ projects.type.basic_kanban=Kanban básico
|
|||
projects.type.bug_triage=Prueba de error
|
||||
projects.template.desc=Plantilla del proyecto
|
||||
projects.template.desc_helper=Seleccione una plantilla de proyecto para empezar
|
||||
projects.type.uncategorized=Sin categorizar
|
||||
projects.column.edit=Editar columna
|
||||
projects.column.edit_title=Nombre
|
||||
projects.column.new_title=Nombre
|
||||
|
@ -1325,10 +1316,7 @@ projects.column.new_submit=Crear columna
|
|||
projects.column.new=Nueva columna
|
||||
projects.column.set_default=Establecer como predeterminado
|
||||
projects.column.set_default_desc=Establecer esta columna como predeterminada para incidencias no categorizadas y pulls
|
||||
projects.column.unset_default=Anular valor predeterminado
|
||||
projects.column.unset_default_desc=Anular esta columna como la predeterminada
|
||||
projects.column.delete=Borrar columna
|
||||
projects.column.deletion_desc=Eliminar una columna del proyecto mueve todos los problemas relacionados a 'Sin categorizar'. ¿Continuar?
|
||||
projects.column.color=Color
|
||||
projects.open=Abrir
|
||||
projects.close=Cerrar
|
||||
|
@ -1440,7 +1428,6 @@ issues.filter_sort.moststars=Mas estrellas
|
|||
issues.filter_sort.feweststars=Menor número de estrellas
|
||||
issues.filter_sort.mostforks=La mayoría de forks
|
||||
issues.filter_sort.fewestforks=Menor número de forks
|
||||
issues.keyword_search_unavailable=La búsqueda por palabra clave no está disponible actualmente. Por favor, contacte con el administrador de su sitio.
|
||||
issues.action_open=Abrir
|
||||
issues.action_close=Cerrar
|
||||
issues.action_label=Etiqueta
|
||||
|
@ -1692,7 +1679,6 @@ pulls.compare_compare=recuperar de
|
|||
pulls.switch_comparison_type=Cambiar tipo de comparación
|
||||
pulls.switch_head_and_base=Intercambiar cabeza y base
|
||||
pulls.filter_branch=Filtrar rama
|
||||
pulls.no_results=Sin resultados.
|
||||
pulls.show_all_commits=Mostrar todos los commits
|
||||
pulls.show_changes_since_your_last_review=Mostrar cambios desde tu última revisión
|
||||
pulls.showing_only_single_commit=Mostrando solo los cambios del commit %[1]s
|
||||
|
@ -1955,17 +1941,6 @@ activity.git_stats_deletion_n=%d eliminaciones
|
|||
|
||||
contributors.contribution_type.commits=Commits
|
||||
|
||||
search=Buscar
|
||||
search.search_repo=Buscar repositorio
|
||||
search.type.tooltip=Tipo de búsqueda
|
||||
search.fuzzy=Parcial
|
||||
search.fuzzy.tooltip=Incluye los resultados que también coinciden aproximadamente con el término de búsqueda
|
||||
search.match=Coincidir
|
||||
search.match.tooltip=Incluye sólo los resultados que coincidan con el término de búsqueda exacto
|
||||
search.results=Resultados de la búsqueda para "%s" en <a href="%s">%s</a>
|
||||
search.code_no_results=No se ha encontrado código de fuente que coincida con su término de búsqueda.
|
||||
search.code_search_unavailable=Actualmente la búsqueda de código no está disponible. Póngase en contacto con el administrador de su sitio.
|
||||
|
||||
settings=Configuración
|
||||
settings.desc=La configuración es donde puede administrar la configuración del repositorio
|
||||
settings.options=Repositorio
|
||||
|
@ -2043,6 +2018,7 @@ settings.pulls.default_allow_edits_from_maintainers=Permitir ediciones de manten
|
|||
settings.releases_desc=Activar lanzamientos del repositorio
|
||||
settings.packages_desc=Habilitar registro de paquetes de repositorio
|
||||
settings.projects_desc=Activar Proyectos de Repositorio
|
||||
settings.projects_mode_all=Todos los proyectos
|
||||
settings.actions_desc=Activar Acciones del repositorio
|
||||
settings.admin_settings=Ajustes de administrador
|
||||
settings.admin_enable_health_check=Activar cheques de estado de salud del repositorio (git fsck)
|
||||
|
@ -2117,7 +2093,6 @@ settings.delete_collaborator=Eliminar
|
|||
settings.collaborator_deletion=Eliminar colaborador
|
||||
settings.collaborator_deletion_desc=Eliminar un colaborador revocará su acceso a este repositorio. ¿Continuar?
|
||||
settings.remove_collaborator_success=El colaborador ha sido eliminado.
|
||||
settings.search_user_placeholder=Buscar usuario…
|
||||
settings.org_not_allowed_to_be_collaborator=Las organizaciones no pueden ser añadidas como colaboradoras.
|
||||
settings.change_team_access_not_allowed=Cambiar el acceso del equipo al repositorio se ha restringido al propietario de la organización
|
||||
settings.team_not_in_organization=El equipo no pertenece a la misma organización que el repositorio
|
||||
|
@ -2125,7 +2100,6 @@ settings.teams=Equipos
|
|||
settings.add_team=Añadir equipo
|
||||
settings.add_team_duplicate=El equipo ya tiene acceso al repositorio
|
||||
settings.add_team_success=Ahora el equipo ya tiene acceso al repositorio.
|
||||
settings.search_team=Buscar equipos…
|
||||
settings.change_team_permission_tip=El permiso del equipo está establecido en la página de configuración del equipo y no puede ser cambiado por repositorio
|
||||
settings.delete_team_tip=Este equipo tiene acceso a todos los repositorios y no puede ser eliminado
|
||||
settings.remove_team_success=Se ha eliminado el acceso del equipo al repositorio.
|
||||
|
@ -2278,9 +2252,7 @@ settings.protect_whitelist_committers=Hacer push restringido a la lista blanca
|
|||
settings.protect_whitelist_committers_desc=Sólo se permitirá a los usuarios o equipos de la lista blanca hacer push a esta rama (pero no forzar push).
|
||||
settings.protect_whitelist_deploy_keys=Lista blanca de claves de despliegue con acceso de escritura a push.
|
||||
settings.protect_whitelist_users=Usuarios en la lista blanca para hacer push:
|
||||
settings.protect_whitelist_search_users=Buscar usuarios…
|
||||
settings.protect_whitelist_teams=Equipos en la lista blanca para hacer push:
|
||||
settings.protect_whitelist_search_teams=Buscar equipos…
|
||||
settings.protect_merge_whitelist_committers=Activar lista blanca para fusionar
|
||||
settings.protect_merge_whitelist_committers_desc=Permitir a los usuarios o equipos de la lista a fusionar peticiones pull dentro de esta rama.
|
||||
settings.protect_merge_whitelist_users=Usuarios en la lista blanca para fusionar:
|
||||
|
@ -2521,7 +2493,6 @@ branch.default_deletion_failed=La rama "%s" es la rama por defecto. No se puede
|
|||
branch.restore=`Restaurar rama "%s"`
|
||||
branch.download=`Descargar rama "%s"`
|
||||
branch.rename=`Renombrar rama "%s"`
|
||||
branch.search=Buscar rama
|
||||
branch.included_desc=Esta rama forma parte de la predeterminada
|
||||
branch.included=Incluida
|
||||
branch.create_new_branch=Crear rama desde la rama:
|
||||
|
@ -2659,7 +2630,6 @@ teams.write_permission_desc=Este equipo tiene permisos de <strong>Escritura</str
|
|||
teams.admin_permission_desc=Este equipo tiene permisos de <strong>Administración</strong>: los miembros pueden ver, hacer push y añadir colaboradores a los repositorios del equipo.
|
||||
teams.create_repo_permission_desc=Adicionalmente, este equipo concede permiso <strong>Crear repositorio</strong>: los miembros pueden crear nuevos repositorios en la organización.
|
||||
teams.repositories=Repositorios del equipo
|
||||
teams.search_repo_placeholder=Buscar repositorio…
|
||||
teams.remove_all_repos_title=Eliminar todos los repositorios del equipo
|
||||
teams.remove_all_repos_desc=Esto eliminará todos los repositorios del equipo.
|
||||
teams.add_all_repos_title=Añadir todos los repositorios
|
||||
|
@ -2691,6 +2661,8 @@ integrations=Integraciones
|
|||
authentication=Orígenes de autenticación
|
||||
emails=Correos de usuario
|
||||
config=Configuración
|
||||
config_summary=Resumen
|
||||
config_settings=Configuración
|
||||
notices=Notificaciones del sistema
|
||||
monitor=Monitorización
|
||||
first_page=Primera
|
||||
|
@ -2864,9 +2836,6 @@ repos.unadopted.no_more=No se encontraron más repositorios no adoptados
|
|||
repos.owner=Propietario
|
||||
repos.name=Nombre
|
||||
repos.private=Privado
|
||||
repos.watches=Vigilantes
|
||||
repos.stars=Estrellas
|
||||
repos.forks=Forks
|
||||
repos.issues=Incidencias
|
||||
repos.size=Tamaño
|
||||
repos.lfs_size=Tamaño LFS
|
||||
|
@ -2990,7 +2959,6 @@ auths.tip.nextcloud=`Registre un nuevo consumidor OAuth en su instancia usando e
|
|||
auths.tip.dropbox=Crear nueva aplicación en https://www.dropbox.com/developers/apps
|
||||
auths.tip.facebook=`Registre una nueva aplicación en https://developers.facebook.com/apps y agregue el producto "Facebook Login"`
|
||||
auths.tip.github=Registre una nueva aplicación OAuth en https://github.com/settings/applications/new
|
||||
auths.tip.gitlab=Registrar nueva solicitud en https://gitlab.com/profile/applications
|
||||
auths.tip.google_plus=Obtener credenciales de cliente OAuth2 desde la consola API de Google en https://console.developers.google.com/
|
||||
auths.tip.openid_connect=Use el OpenID Connect Discovery URL (<server>/.well-known/openid-configuration) para especificar los puntos finales
|
||||
auths.tip.twitter=Ir a https://dev.twitter.com/apps, crear una aplicación y asegurarse de que la opción "Permitir que esta aplicación sea usada para iniciar sesión con Twitter" está activada
|
||||
|
|
|
@ -100,6 +100,15 @@ concept_user_organization=سازمان
|
|||
|
||||
name=نام
|
||||
|
||||
filter=فیلتر
|
||||
filter.is_archived=بایگانی شده
|
||||
filter.is_template=قالب
|
||||
filter.public=عمومی
|
||||
filter.private=خصوصی
|
||||
|
||||
|
||||
[search]
|
||||
|
||||
[aria]
|
||||
|
||||
[heatmap]
|
||||
|
@ -233,7 +242,6 @@ collaborative_repos=مخازن همکاری
|
|||
my_orgs=سازمان های من
|
||||
my_mirrors=قرینههای من
|
||||
view_home=نمایش %s
|
||||
search_repos=یافتن مخزن…
|
||||
filter=فیلترهای دیگر
|
||||
filter_by_team_repositories=فیلتر کردن با مخازن تیمها
|
||||
feed_of=`خوراک از "%s"`
|
||||
|
@ -254,14 +262,7 @@ issues.in_your_repos=در مخازن شما
|
|||
repos=مخازن
|
||||
users=کاربران
|
||||
organizations=سازمان ها
|
||||
search=جستجو
|
||||
code=کد
|
||||
search.fuzzy=نادقیق
|
||||
search.match=تطابق
|
||||
repo_no_results=مخزنی مطابق با این مورد یافت نشد.
|
||||
user_no_results=کاربری مطابق با این مورد یافت نشد.
|
||||
org_no_results=سازمانی مطابق با این مورد یافت نشد.
|
||||
code_no_results=کد منبعی مطابق با جستجوی شما یافت نشد.
|
||||
code_last_indexed_at=آخرین به روزرسانی در %s
|
||||
|
||||
[auth]
|
||||
|
@ -274,7 +275,6 @@ remember_me=این دستگاه را بخاطر بسپار
|
|||
forgot_password_title=گذرواژه خود را فراموش کرده ام
|
||||
forgot_password=گذرواژه خود را فراموش کردهاید؟
|
||||
sign_up_now=نیاز به یک حساب دارید؟ هماکنون ثبت نام کنید.
|
||||
confirmation_mail_sent_prompt=ایمیل تاییدیه جدیدی به <b>%s</b> ارسال شد. لطفا صندوق ورودی خود را در %d ساعت آینده برای تکمیل فرایند ثبت نام بررسی کنید.
|
||||
must_change_password=گذرواژه خود را به روز کنید
|
||||
allow_password_change=نیاز به کاربر برای تغییرگذرواژه (توصیه می شود)
|
||||
reset_password_mail_sent_prompt=ایمیل تاییدیه جدیدی به <b>%s</b> ارسال شد. لطفا صندوق ورودی خود را در %s آینده برای فرآیند بازیابی حساب کاربری خود بررسی کنید.
|
||||
|
@ -480,6 +480,7 @@ user_bio=زندگینامه
|
|||
disabled_public_activity=این کاربر نمایش عمومی فعالیت های خود را غیرفعال کرده است.
|
||||
|
||||
|
||||
|
||||
[settings]
|
||||
profile=نمایه
|
||||
account=حساب کاربری
|
||||
|
@ -591,7 +592,6 @@ gpg_invalid_token_signature=کلید GPG ارائه شده، امضا و ژتو
|
|||
gpg_token_required=باید یک امضا برای ژتون زیر ارائه کنید
|
||||
gpg_token=توکن
|
||||
gpg_token_help=با این میتوانید یک امضاء بسازید:
|
||||
gpg_token_code=echo "%s" | gpg -a --default-key %s --detach-sig
|
||||
gpg_token_signature=امضای GPG زرهپوش
|
||||
key_signature_gpg_placeholder=با '-----BEGIN PGP SIGNATURE-----' شروع میشود
|
||||
ssh_key_verified=کلید تأیید شده
|
||||
|
@ -730,7 +730,6 @@ fork_repo=انشعاب از مخزن
|
|||
fork_from=انشعاب از
|
||||
fork_visibility_helper=نمایان بودن مخزن منشعب شده غیر قابل تغییر است.
|
||||
use_template=استفاده از این الگو
|
||||
clone_in_vsc=کلون کردن در VS Code
|
||||
download_zip=دانلود ZIP
|
||||
download_tar=دانلود TAR.GZ
|
||||
download_bundle=بارگیری باندل
|
||||
|
@ -972,8 +971,6 @@ editor.require_signed_commit=شاخه یک کامیت امضا شده لازم
|
|||
commits.desc=تاریخچه تغییرات کد منبع را مرور کنید.
|
||||
commits.commits=کامیتها
|
||||
commits.nothing_to_compare=این شاخه ها برابرند.
|
||||
commits.search=جستوجو کامیتها…
|
||||
commits.find=جستجو
|
||||
commits.search_all=همه شاخه ها
|
||||
commits.author=مولف
|
||||
commits.message=پیام
|
||||
|
@ -1010,7 +1007,6 @@ projects.type.basic_kanban=پایه بر اساس سیستم کانبان (یک
|
|||
projects.type.bug_triage=اشکال Triage
|
||||
projects.template.desc=قالب پروژه
|
||||
projects.template.desc_helper=برای شروع یک قالب پروژه را انتخاب کنید
|
||||
projects.type.uncategorized=دستهبندی نشده
|
||||
projects.column.edit_title=نام
|
||||
projects.column.new_title=نام
|
||||
projects.column.color=رنگ
|
||||
|
@ -1301,7 +1297,6 @@ pulls.compare_compare=واکشی از
|
|||
pulls.switch_comparison_type=سوئیچ نوع مقایسه
|
||||
pulls.switch_head_and_base=سر و پایه سوئیچ
|
||||
pulls.filter_branch=صافی شاخه
|
||||
pulls.no_results=هیچ نتیجهای یافت نشد.
|
||||
pulls.nothing_to_compare=این شاخهها یکی هستند. نیازی به تقاضای واکشی نیست.
|
||||
pulls.nothing_to_compare_and_allow_empty_pr=این شاخه ها برابر هستند. این PR خالی خواهد بود.
|
||||
pulls.has_pull_request=`A درخواست pull بین این شاخه ها از قبل وجود دارد: <a href="%[1]s">%[2]s#%[3]d</a>`
|
||||
|
@ -1501,13 +1496,6 @@ activity.git_stats_deletion_n=%d مذحوف
|
|||
|
||||
contributors.contribution_type.commits=کامیتها
|
||||
|
||||
search=جستجو
|
||||
search.search_repo=جستجوی مخزن
|
||||
search.fuzzy=درهم
|
||||
search.match=مطابق
|
||||
search.results=نتیجه جستجو برای "%s" در <a href="%s">%s</a>
|
||||
search.code_no_results=کد منبعی مطابق با جستجوی شما یافت نشد.
|
||||
|
||||
settings=تنظيمات
|
||||
settings.desc=تنظیمات جایی است که شما میتوانید تنظیمات مخزن خود را مدیریت کنید
|
||||
settings.options=مخزن
|
||||
|
@ -1623,7 +1611,6 @@ settings.delete_collaborator=حذف
|
|||
settings.collaborator_deletion=حذفکردن همکار
|
||||
settings.collaborator_deletion_desc=حذف یک همکار از مخزن دسترسیهای آنها را را مجدد لغو میکند. آیا ادامه میدهید؟
|
||||
settings.remove_collaborator_success=همكار حذف شد.
|
||||
settings.search_user_placeholder=جستجوی کاربر…
|
||||
settings.org_not_allowed_to_be_collaborator=سازمان ها را نمیتوان به عنوان همکار افزود.
|
||||
settings.change_team_access_not_allowed=تغییر دسترسی های تیم برای این مخزن توسط مالک ارگان محدود شده است
|
||||
settings.team_not_in_organization=تیم همانند ارگان برای این مخزن نیست
|
||||
|
@ -1631,7 +1618,6 @@ settings.teams=تیم ها
|
|||
settings.add_team=افزودن تیم
|
||||
settings.add_team_duplicate=تیم پیش از این مخزن داشته
|
||||
settings.add_team_success=تیم هماکنون به مخزن دسترسی دارد.
|
||||
settings.search_team=جستجوی تیم…
|
||||
settings.change_team_permission_tip=دسترسی تیم در صفحه تنظیمات تیم انجام شده و برای هر مخزن نمی تواند تغییر یابد
|
||||
settings.delete_team_tip=این تیم به تمامی مخازن دسترسی دارد و نمی تواند حذف شود
|
||||
settings.remove_team_success=دسترسی تیم به مخزن حذف شد.
|
||||
|
@ -1748,9 +1734,7 @@ settings.protect_whitelist_committers=لیست سفید برای درج محدو
|
|||
settings.protect_whitelist_committers_desc=فقط به کاربران یا تیمهای موجود لیست سفید برای درج در این شاخه اجازه خواهند داشت (اما نه درج اجباری).
|
||||
settings.protect_whitelist_deploy_keys=فهرست سفید کلیدهای استقرار با دسترسی نوشتن برای push کردن.
|
||||
settings.protect_whitelist_users=کاربران لیست سفید برای درج در مخزن:
|
||||
settings.protect_whitelist_search_users=جستجوی کاربر…
|
||||
settings.protect_whitelist_teams=تیمهای لیست سفید برای درج در مخزن:
|
||||
settings.protect_whitelist_search_teams=جستجوی تیم ها…
|
||||
settings.protect_merge_whitelist_committers=فعال کردن لیست سفید ادغام
|
||||
settings.protect_merge_whitelist_committers_desc=اجازه به کاربران یا تیمهای موجود لیست سفید برای تقاضا ادغام واکشی در این شاخه.
|
||||
settings.protect_merge_whitelist_users=کاربران لیست سفید برای ادغام:
|
||||
|
@ -2047,7 +2031,6 @@ teams.write_permission_desc=این تیم دسترسی <strong>نوشتن</stron
|
|||
teams.admin_permission_desc=این تیم دسترسی <strong>نوشتن</strong> خواهد داشت: اعضا خواهند توانست مخازن تیم را خوانده ، تغییراتی در آنها اعمال کرده و یا همکارانشان را به مخازن اضافه نمایند.
|
||||
teams.create_repo_permission_desc=علاوه بر این ، این تیم اجازه <strong> ساخت مخزن </strong> دسترسی : اعضا می توانند مخازن جدیدی را در سازمان ایجاد کنند.
|
||||
teams.repositories=مخازن تیم
|
||||
teams.search_repo_placeholder=جستجوی مخزن...
|
||||
teams.remove_all_repos_title=حذف تمام مخازن تیم
|
||||
teams.remove_all_repos_desc=با این کار همه مخازن از تیم حذف می شوند.
|
||||
teams.add_all_repos_title=افزودن همه مخازن
|
||||
|
@ -2072,6 +2055,8 @@ hooks=وب هوک ها
|
|||
authentication=منابع احراز هویت
|
||||
emails=ایمیل های کاربر
|
||||
config=پیکربندی
|
||||
config_summary=چکیده
|
||||
config_settings=تنظيمات
|
||||
notices=هشدارهای سامانه
|
||||
monitor=نظارت
|
||||
first_page=نخستین
|
||||
|
@ -2220,9 +2205,6 @@ repos.unadopted.no_more=هیچ مخزن تایید نشده دیگری یافت
|
|||
repos.owner=مالک
|
||||
repos.name=نام
|
||||
repos.private=خصوصی
|
||||
repos.watches=تماشا شده
|
||||
repos.stars=ستاره ها
|
||||
repos.forks=انشعابها
|
||||
repos.issues=مسائل
|
||||
repos.size=اندازه
|
||||
|
||||
|
@ -2321,7 +2303,6 @@ auths.tip.nextcloud=با استفاده از منوی زیر "تنظیمات ->
|
|||
auths.tip.dropbox=یک برنامه جدید در https://www.dropbox.com/developers/apps بسازید
|
||||
auths.tip.facebook=`یک برنامه جدید در https://developers.facebook.com/apps بسازید برای ورود از طریق فیس بوک قسمت محصولات "Facebook Login"`
|
||||
auths.tip.github=یک برنامه OAuth جدید در https://github.com/settings/applications/new ثبت کنید
|
||||
auths.tip.gitlab=ثبت یک برنامه جدید در https://gitlab.com/profile/applications
|
||||
auths.tip.google_plus=اطلاعات مربوط به مشتری OAuth2 را از کلاینت API Google در https://console.developers.google.com/
|
||||
auths.tip.openid_connect=برای مشخص کردن نقاط پایانی از آدرس OpenID Connect Discovery URL (<server> /.well-known/openid-configuration) استفاده کنید.
|
||||
auths.tip.twitter=به https://dev.twitter.com/apps بروید ، برنامه ای ایجاد کنید و اطمینان حاصل کنید که گزینه "اجازه استفاده از این برنامه برای ورود به سیستم با Twitter" را فعال کنید
|
||||
|
|
|
@ -114,6 +114,15 @@ concept_user_organization=Organisaatio
|
|||
|
||||
name=Nimi
|
||||
|
||||
filter=Suodata
|
||||
filter.is_archived=Arkistoidut
|
||||
filter.is_template=Malli
|
||||
filter.public=Julkinen
|
||||
filter.private=Yksityinen
|
||||
|
||||
|
||||
[search]
|
||||
|
||||
[aria]
|
||||
|
||||
[heatmap]
|
||||
|
@ -243,7 +252,6 @@ collaborative_repos=Yhteistyö repot
|
|||
my_orgs=Organisaationi
|
||||
my_mirrors=Peilini
|
||||
view_home=Näytä %s
|
||||
search_repos=Etsi repo…
|
||||
filter=Muut suodattimet
|
||||
filter_by_team_repositories=Suodata tiimin repojen mukaan
|
||||
feed_of=`Syöte "%s"`
|
||||
|
@ -264,13 +272,7 @@ issues.in_your_repos=Repoissasi
|
|||
repos=Repot
|
||||
users=Käyttäjät
|
||||
organizations=Organisaatiot
|
||||
search=Hae
|
||||
code=Koodi
|
||||
search.match=Osuma
|
||||
repo_no_results=Vastaavia repoja ei löydy.
|
||||
user_no_results=Vastaavia käyttäjiä ei löytynyt.
|
||||
org_no_results=Ei löytynyt vastaavia organisaatioita.
|
||||
code_no_results=Hakuehtoasi vastaavaa lähdekoodia ei löytynyt.
|
||||
code_last_indexed_at=Viimeksi indeksoitu %s
|
||||
|
||||
[auth]
|
||||
|
@ -283,7 +285,6 @@ remember_me=Muista tämä laite
|
|||
forgot_password_title=Unohtuiko salasana
|
||||
forgot_password=Unohtuiko salasana?
|
||||
sign_up_now=Tarvitsetko tilin? Rekisteröidy nyt.
|
||||
confirmation_mail_sent_prompt=Uusi varmistussähköposti on lähetetty osoitteeseen <b>%s</b>, ole hyvä ja tarkista saapuneet seuraavan %s tunnin sisällä saadaksesi rekisteröintiprosessin valmiiksi.
|
||||
must_change_password=Vaihda salasanasi
|
||||
allow_password_change=Vaadi käyttäjää vaihtamaan salasanansa (suositeltava)
|
||||
reset_password_mail_sent_prompt=Varmistussähköposti on lähetetty osoitteeseen <b>%s</b>. Tarkista saapuneet seuraavan %s tunnin sisällä saadaksesi tilin palauttamisen valmiiksi.
|
||||
|
@ -440,6 +441,7 @@ unfollow=Lopeta seuraaminen
|
|||
user_bio=Elämäkerta
|
||||
|
||||
|
||||
|
||||
[settings]
|
||||
profile=Profiili
|
||||
account=Tili
|
||||
|
@ -555,7 +557,6 @@ gpg_key_verify=Vahvista
|
|||
gpg_token_required=Sinun täytyy antaa allekirjoitus alla olevalle pääsymerkille
|
||||
gpg_token=Pääsymerkki
|
||||
gpg_token_help=Voit luoda allekirjoituksen käyttäen:
|
||||
gpg_token_code=echo "%s" | gpg -a --default-key %s --detach-sig
|
||||
gpg_token_signature=Panssaroitu GPG-allekirjoitus
|
||||
key_signature_gpg_placeholder=Alkaa sanoilla '-----BEGIN PGP SIGNATURE-----'
|
||||
ssh_key_verified=Vahvistettu avain
|
||||
|
@ -657,7 +658,6 @@ visibility_helper_forced=Sivuston ylläpitäjä pakottaa uudet repot olemaan yks
|
|||
fork_repo=Forkkaa repo
|
||||
fork_from=Forkkaa lähteestä
|
||||
fork_visibility_helper=Forkatun repon näkyvyyttä ei voi muuttaa.
|
||||
clone_in_vsc=Kloonaa VS Codessa
|
||||
download_zip=Lataa ZIP
|
||||
download_tar=Lataa TAR.GZ
|
||||
repo_desc=Kuvaus
|
||||
|
@ -779,7 +779,6 @@ editor.require_signed_commit=Haara vaatii vahvistetun commitin
|
|||
|
||||
commits.commits=Commitit
|
||||
commits.nothing_to_compare=Nämä haarat vastaavat toisiaan.
|
||||
commits.find=Haku
|
||||
commits.search_all=Kaikki haarat
|
||||
commits.author=Tekijä
|
||||
commits.message=Viesti
|
||||
|
@ -806,7 +805,6 @@ projects.edit=Muokkaa projektia
|
|||
projects.modify=Päivitä projekti
|
||||
projects.type.basic_kanban=Yksinkertainen Kanban
|
||||
projects.template.desc=Malli
|
||||
projects.type.uncategorized=Luokittelematon
|
||||
projects.column.edit_title=Nimi
|
||||
projects.column.new_title=Nimi
|
||||
projects.open=Avaa
|
||||
|
@ -983,7 +981,6 @@ pulls.has_viewed_file=Katsottu
|
|||
pulls.viewed_files_label=%[1]d / %[2]d tiedostoa katsottu
|
||||
pulls.compare_compare=vedä kohteesta
|
||||
pulls.filter_branch=Suodata branch
|
||||
pulls.no_results=Tuloksia ei löytynyt.
|
||||
pulls.nothing_to_compare=Nämä haarat vastaavat toisiaan. Ei ole tarvetta luoda vetopyyntöä.
|
||||
pulls.nothing_to_compare_and_allow_empty_pr=Nämä haarat vastaavat toisiaan. Vetopyyntö tulee olemaan tyhjä.
|
||||
pulls.has_pull_request=`Vetopyyntö haarojen välillä on jo olemassa: <a href="%[1]s">%[2]s#%[3]d</a>`
|
||||
|
@ -1077,10 +1074,6 @@ activity.git_stats_deletion_n=%d poistoa
|
|||
|
||||
contributors.contribution_type.commits=Commitit
|
||||
|
||||
search=Haku
|
||||
search.match=Osuma
|
||||
search.code_no_results=Hakuehtoasi vastaavaa lähdekoodia ei löytynyt.
|
||||
|
||||
settings=Asetukset
|
||||
settings.options=Repo
|
||||
settings.collaboration.admin=Ylläpitäjä
|
||||
|
@ -1119,7 +1112,6 @@ settings.delete_desc=Repon poistaminen on pysyvä eikä voi peruuttaa.
|
|||
settings.delete_notices_1=- Tätä toimintoa <strong>EI VOI</strong> peruuttaa myöhemmin.
|
||||
settings.update_settings_success=Repon asetukset on päivitetty.
|
||||
settings.delete_collaborator=Poista
|
||||
settings.search_user_placeholder=Etsi käyttäjä…
|
||||
settings.teams=Tiimit
|
||||
settings.add_team=Lisää tiimi
|
||||
settings.add_webhook=Lisää webkoukku
|
||||
|
@ -1203,7 +1195,6 @@ settings.branch_protection=Haaran '<b>%s</b>' suojaus
|
|||
settings.protect_this_branch=Ota haaran suojaus käyttöön
|
||||
settings.protect_whitelist_deploy_keys=Lisää julkaisuavaimet sallittujen listalle mahdollistaaksesi repohin kirjoituksen.
|
||||
settings.protect_whitelist_users=Lista käyttäjistä joilla työntö oikeus:
|
||||
settings.protect_whitelist_search_users=Etsi käyttäjiä…
|
||||
settings.protect_merge_whitelist_committers_desc=Salli vain listaan merkittyjen käyttäjien ja tiimien yhdistää vetopyynnöt tähän haaraan.
|
||||
settings.protect_merge_whitelist_users=Lista käyttäjistä joilla yhdistämis-oikeus:
|
||||
settings.protect_required_approvals=Vaadittavat hyväksynnät:
|
||||
|
@ -1407,6 +1398,8 @@ repositories=Repot
|
|||
authentication=Todennuslähteet
|
||||
emails=Käyttäjien sähköpostit
|
||||
config=Asetukset
|
||||
config_summary=Yhteenveto
|
||||
config_settings=Asetukset
|
||||
notices=Järjestelmän ilmoitukset
|
||||
monitor=Valvonta
|
||||
first_page=Ensimmäinen
|
||||
|
@ -1508,9 +1501,6 @@ repos.repo_manage_panel=Repojen hallinta
|
|||
repos.owner=Omistaja
|
||||
repos.name=Nimi
|
||||
repos.private=Yksityinen
|
||||
repos.watches=Tarkkailijat
|
||||
repos.stars=Tähdet
|
||||
repos.forks=Haarat
|
||||
repos.issues=Ongelmat
|
||||
repos.size=Koko
|
||||
|
||||
|
|
|
@ -142,6 +142,15 @@ confirm_delete_selected=Êtes-vous sûr de vouloir supprimer tous les éléments
|
|||
name=Nom
|
||||
value=Valeur
|
||||
|
||||
filter=Filtrer
|
||||
filter.is_archived=Archivé
|
||||
filter.is_template=Modèle
|
||||
filter.public=Public
|
||||
filter.private=Privé
|
||||
|
||||
|
||||
[search]
|
||||
|
||||
[aria]
|
||||
navbar=Barre de navigation
|
||||
footer=Pied de page
|
||||
|
@ -315,7 +324,6 @@ collaborative_repos=Dépôts collaboratifs
|
|||
my_orgs=Mes organisations
|
||||
my_mirrors=Mes miroirs
|
||||
view_home=Voir %s
|
||||
search_repos=Trouver un dépôt …
|
||||
filter=Autres filtres
|
||||
filter_by_team_repositories=Dépôts filtrés par équipe
|
||||
feed_of=Flux de « %s »
|
||||
|
@ -336,20 +344,8 @@ issues.in_your_repos=Dans vos dépôts
|
|||
repos=Dépôts
|
||||
users=Utilisateurs
|
||||
organizations=Organisations
|
||||
search=Rechercher
|
||||
go_to=Atteindre
|
||||
code=Code
|
||||
search.type.tooltip=Type de recherche
|
||||
search.fuzzy=Approximative
|
||||
search.fuzzy.tooltip=Inclure également les résultats proches de la recherche
|
||||
search.match=Exacte
|
||||
search.match.tooltip=Inclure uniquement les résultats exacts
|
||||
code_search_unavailable=Actuellement, la recherche de code n'est pas disponible. Veuillez contacter l'administrateur de votre site.
|
||||
repo_no_results=Aucun dépôt correspondant n'a été trouvé.
|
||||
user_no_results=Aucun utilisateur correspondant n'a été trouvé.
|
||||
org_no_results=Aucune organisation correspondante n'a été trouvée.
|
||||
code_no_results=Aucun code source correspondant à votre terme de recherche n'a été trouvé.
|
||||
code_search_results=Résultats de la recherche pour « %s »
|
||||
code_last_indexed_at=Dernière indexation %s
|
||||
relevant_repositories_tooltip=Les dépôts qui sont des forks ou qui n'ont aucun sujet, aucune icône et aucune description sont cachés.
|
||||
relevant_repositories=Seuls les dépôts pertinents sont affichés, <a href="%s">afficher les résultats non filtrés</a>.
|
||||
|
@ -367,7 +363,6 @@ forgot_password_title=Mot de passe oublié
|
|||
forgot_password=Mot de passe oublié ?
|
||||
sign_up_now=Pas de compte ? Inscrivez-vous maintenant.
|
||||
sign_up_successful=Le compte a été créé avec succès. Bienvenue !
|
||||
confirmation_mail_sent_prompt=Un nouveau mail de confirmation a été envoyé à <b>%s</b>. Veuillez vérifier votre boîte de réception dans les prochaines %s pour valider votre enregistrement.
|
||||
must_change_password=Réinitialisez votre mot de passe
|
||||
allow_password_change=Demande à l'utilisateur de changer son mot de passe (recommandé)
|
||||
reset_password_mail_sent_prompt=Un mail de confirmation a été envoyé à <b>%s</b>. Veuillez vérifier votre boîte de réception dans les prochaines %s pour terminer la procédure de récupération du compte.
|
||||
|
@ -617,6 +612,7 @@ form.name_reserved=Le nom d’utilisateur "%s" est réservé.
|
|||
form.name_pattern_not_allowed=Le motif « %s » n’est pas autorisé dans un nom de d'utilisateur.
|
||||
form.name_chars_not_allowed=Le nom d'utilisateur "%s" contient des caractères non valides.
|
||||
|
||||
|
||||
[settings]
|
||||
profile=Profil
|
||||
account=Compte
|
||||
|
@ -761,7 +757,6 @@ gpg_invalid_token_signature=La clé GPG, la signature et le jeton fournis ne cor
|
|||
gpg_token_required=Vous devez fournir une signature pour le jeton ci-dessous
|
||||
gpg_token=Jeton
|
||||
gpg_token_help=Vous pouvez générer une signature en utilisant :
|
||||
gpg_token_code=echo "%s" | gpg -a --default-key %s --detach-sig
|
||||
gpg_token_signature=Signature GPG renforcée
|
||||
key_signature_gpg_placeholder=Commence par '-----BEGIN PGP SIGNATURE-----'
|
||||
verify_gpg_key_success=La clé GPG "%s" a été vérifiée.
|
||||
|
@ -955,7 +950,6 @@ fork_branch=Branche à cloner sur la bifurcation
|
|||
all_branches=Toutes les branches
|
||||
fork_no_valid_owners=Ce dépôt ne peut pas être bifurqué car il n’a pas de propriétaire valide.
|
||||
use_template=Utiliser ce modèle
|
||||
clone_in_vsc=Cloner dans VS Code
|
||||
download_zip=Télécharger le ZIP
|
||||
download_tar=Télécharger le TAR.GZ
|
||||
download_bundle=Télécharger le BUNDLE
|
||||
|
@ -971,6 +965,8 @@ issue_labels_helper=Sélectionner un jeu de label.
|
|||
license=Licence
|
||||
license_helper=Sélectionner une licence
|
||||
license_helper_desc=Une licence réglemente ce que les autres peuvent ou ne peuvent pas faire avec votre code. Vous ne savez pas laquelle est la bonne pour votre projet ? Comment <a target="_blank" rel="noopener noreferrer" href="%s">choisir une licence</a>.
|
||||
object_format=Format d'objet
|
||||
object_format_helper=Format d’objet pour ce dépôt. Ne peut être modifié plus tard. SHA1 est le plus compatible.
|
||||
readme=LISEZMOI
|
||||
readme_helper=Choisissez un modèle de fichier LISEZMOI.
|
||||
readme_helper_desc=Le README est l'endroit idéal pour décrire votre projet et accueillir des contributeurs.
|
||||
|
@ -1278,9 +1274,7 @@ commits.desc=Naviguer dans l'historique des modifications.
|
|||
commits.commits=Révisions
|
||||
commits.no_commits=Pas de révisions en commun. "%s" et "%s" ont des historiques entièrement différents.
|
||||
commits.nothing_to_compare=Ces branches sont égales.
|
||||
commits.search=Rechercher des révisions…
|
||||
commits.search.tooltip=Vous pouvez utiliser les mots-clés "author:", "committer:", "after:", ou "before:" pour filtrer votre recherche, ex.: "revert author:Alice before:2019-01-13".
|
||||
commits.find=Chercher
|
||||
commits.search_all=Toutes les branches
|
||||
commits.author=Auteur
|
||||
commits.message=Message
|
||||
|
@ -1331,7 +1325,6 @@ projects.type.basic_kanban=Kanban basique
|
|||
projects.type.bug_triage=Bug à trier
|
||||
projects.template.desc=Modèle de projet
|
||||
projects.template.desc_helper=Sélectionnez un modèle de projet pour débuter
|
||||
projects.type.uncategorized=Non catégorisé
|
||||
projects.column.edit=Modifier la colonne
|
||||
projects.column.edit_title=Nom
|
||||
projects.column.new_title=Nom
|
||||
|
@ -1339,10 +1332,7 @@ projects.column.new_submit=Créer une colonne
|
|||
projects.column.new=Nouvelle colonne
|
||||
projects.column.set_default=Définir par défaut
|
||||
projects.column.set_default_desc=Les tickets et demandes d’ajout non-catégorisés seront placés dans cette colonne.
|
||||
projects.column.unset_default=Défaire par défaut
|
||||
projects.column.unset_default_desc=Les tickets et demandes d'ajouts non-catégorisés seront placés dans une colonne idoine.
|
||||
projects.column.delete=Supprimer la colonne
|
||||
projects.column.deletion_desc=La suppression d'une colonne de projet déplace tous les tickets liés à 'Non catégorisé'. Continuer ?
|
||||
projects.column.color=Couleur
|
||||
projects.open=Ouvrir
|
||||
projects.close=Fermer
|
||||
|
@ -1454,7 +1444,6 @@ issues.filter_sort.moststars=Favoris (décroissant)
|
|||
issues.filter_sort.feweststars=Favoris (croissant)
|
||||
issues.filter_sort.mostforks=Bifurcations (décroissant)
|
||||
issues.filter_sort.fewestforks=Bifurcations (croissant)
|
||||
issues.keyword_search_unavailable=La recherche par mot clé n'est pas disponible. Veuillez contacter l'administrateur de votre instance Gitea.
|
||||
issues.action_open=Ouvrir
|
||||
issues.action_close=Fermer
|
||||
issues.action_label=Label
|
||||
|
@ -1706,7 +1695,6 @@ pulls.compare_compare=tirer les modifications depuis
|
|||
pulls.switch_comparison_type=Changer le type de comparaison
|
||||
pulls.switch_head_and_base=Passez de head à base
|
||||
pulls.filter_branch=Filtre de branche
|
||||
pulls.no_results=Aucun résultat trouvé.
|
||||
pulls.show_all_commits=Afficher toutes les révisions
|
||||
pulls.show_changes_since_your_last_review=Affiche les modifications depuis votre dernière évaluation.
|
||||
pulls.showing_only_single_commit=Affiche uniquement les changements de la révision %[1]s
|
||||
|
@ -1982,17 +1970,6 @@ contributors.contribution_type.commits=Révisions
|
|||
contributors.contribution_type.additions=Ajouts
|
||||
contributors.contribution_type.deletions=Suppressions
|
||||
|
||||
search=Chercher
|
||||
search.search_repo=Rechercher dans le dépôt
|
||||
search.type.tooltip=Type de recherche
|
||||
search.fuzzy=Approximative
|
||||
search.fuzzy.tooltip=Inclure également les résultats proches de la recherche
|
||||
search.match=Exacte
|
||||
search.match.tooltip=Inclure uniquement les résultats exacts
|
||||
search.results=Résultats de la recherche « %s » dans <a href="%s"> %s</a>
|
||||
search.code_no_results=Aucun code source correspondant à votre terme de recherche n'a été trouvé.
|
||||
search.code_search_unavailable=Actuellement, la recherche de code n'est pas disponible. Veuillez contacter l'administrateur de votre site.
|
||||
|
||||
settings=Paramètres
|
||||
settings.desc=Les paramètres sont l'endroit où gérer les options du dépôt
|
||||
settings.options=Dépôt
|
||||
|
@ -2019,6 +1996,7 @@ settings.mirror_settings.docs.doc_link_title=Comment mettre en miroir les dépô
|
|||
settings.mirror_settings.docs.doc_link_pull_section=la section « Pulling from a remote repository » de la documentation.
|
||||
settings.mirror_settings.docs.pulling_remote_title=Tirer depuis un dépôt distant
|
||||
settings.mirror_settings.mirrored_repository=Dépôt en miroir
|
||||
settings.mirror_settings.pushed_repository=Dépôt sortant
|
||||
settings.mirror_settings.direction=Direction
|
||||
settings.mirror_settings.direction.pull=Tirer
|
||||
settings.mirror_settings.direction.push=Soumission
|
||||
|
@ -2070,6 +2048,7 @@ settings.pulls.default_allow_edits_from_maintainers=Autoriser les modifications
|
|||
settings.releases_desc=Activer les publications du dépôt
|
||||
settings.packages_desc=Activer le registre des paquets du dépôt
|
||||
settings.projects_desc=Activer les projets de dépôt
|
||||
settings.projects_mode_all=Tous les projets
|
||||
settings.actions_desc=Activer les actions du dépôt
|
||||
settings.admin_settings=Paramètres administrateur
|
||||
settings.admin_enable_health_check=Activer les vérifications de santé du dépôt (git fsck)
|
||||
|
@ -2144,7 +2123,6 @@ settings.delete_collaborator=Supprimer
|
|||
settings.collaborator_deletion=Supprimer le collaborateur
|
||||
settings.collaborator_deletion_desc=La suppression d'un collaborateur révoque son accès à ce dépôt. Continuer ?
|
||||
settings.remove_collaborator_success=Le collaborateur a été retiré.
|
||||
settings.search_user_placeholder=Rechercher un utilisateur…
|
||||
settings.org_not_allowed_to_be_collaborator=Les organisations ne peuvent être ajoutées en tant que collaborateur.
|
||||
settings.change_team_access_not_allowed=La modification de l'accès de l'équipe au dépôt a été limitée au propriétaire de l'organisation
|
||||
settings.team_not_in_organization=L'équipe n'est pas dans la même organisation que le dépôt
|
||||
|
@ -2152,7 +2130,6 @@ settings.teams=Équipes
|
|||
settings.add_team=Ajouter une équipe
|
||||
settings.add_team_duplicate=L'équipe a déjà le dépôt
|
||||
settings.add_team_success=L'équipe a maintenant accès au dépôt.
|
||||
settings.search_team=Rechercher une équipe…
|
||||
settings.change_team_permission_tip=La permission de l'équipe est définie sur la page de configuration de l'équipe et ne peut pas être modifiée par dépôt
|
||||
settings.delete_team_tip=Cette équipe a accès à tous les dépôts et ne peut pas être supprimée
|
||||
settings.remove_team_success=L'accès de l'équipe au dépôt a été supprimé.
|
||||
|
@ -2305,9 +2282,7 @@ settings.protect_whitelist_committers=Liste blanche des soumissions
|
|||
settings.protect_whitelist_committers_desc=Seuls les utilisateurs ou les équipes autorisés pourront soumettre sur cette branche (sans forcer).
|
||||
settings.protect_whitelist_deploy_keys=Mettez les clés de déploiement sur liste blanche avec accès en écriture pour soumettre.
|
||||
settings.protect_whitelist_users=Utilisateurs sur liste blanche :
|
||||
settings.protect_whitelist_search_users=Rechercher des utilisateurs…
|
||||
settings.protect_whitelist_teams=Équipes sur liste blanche :
|
||||
settings.protect_whitelist_search_teams=Rechercher des équipes…
|
||||
settings.protect_merge_whitelist_committers=Activer la liste blanche pour la fusion
|
||||
settings.protect_merge_whitelist_committers_desc=N'autoriser que les utilisateurs et les équipes en liste blanche d'appliquer les demandes de fusion sur cette branche.
|
||||
settings.protect_merge_whitelist_users=Utilisateurs en liste blanche de fusion :
|
||||
|
@ -2552,7 +2527,6 @@ branch.default_deletion_failed=La branche "%s" est la branche par défaut. Elle
|
|||
branch.restore=`Restaurer la branche "%s"`
|
||||
branch.download=`Télécharger la branche "%s"`
|
||||
branch.rename=`Renommer la branche "%s"`
|
||||
branch.search=Rechercher une branche
|
||||
branch.included_desc=Cette branche fait partie de la branche par défaut
|
||||
branch.included=Incluses
|
||||
branch.create_new_branch=Créer une branche à partir de la branche :
|
||||
|
@ -2695,7 +2669,6 @@ teams.write_permission_desc=Cette équipe permet l'accès en <strong>écriture</
|
|||
teams.admin_permission_desc=Cette équipe permet l'accès <strong>administrateur</strong> : les membres peuvent voir, participer et ajouter des collaborateurs à ses dépôts.
|
||||
teams.create_repo_permission_desc=De plus, cette équipe accorde la permission <strong>Créer un dépôt</strong> : les membres peuvent créer de nouveaux dépôts dans l'organisation.
|
||||
teams.repositories=Dépôts de l'Équipe
|
||||
teams.search_repo_placeholder=Rechercher dans le dépôt…
|
||||
teams.remove_all_repos_title=Supprimer tous les dépôts de l'équipe
|
||||
teams.remove_all_repos_desc=Ceci supprimera tous les dépôts de l'équipe.
|
||||
teams.add_all_repos_title=Ajouter tous les dépôts
|
||||
|
@ -2728,6 +2701,8 @@ integrations=Intégrations
|
|||
authentication=Sources d'authentification
|
||||
emails=Emails de l'utilisateur
|
||||
config=Configuration
|
||||
config_summary=Résumé
|
||||
config_settings=Paramètres
|
||||
notices=Informations
|
||||
monitor=Surveillance
|
||||
first_page=Première
|
||||
|
@ -2904,9 +2879,6 @@ repos.unadopted.no_more=Aucun dépôt dépossédé trouvé.
|
|||
repos.owner=Propriétaire
|
||||
repos.name=Nom
|
||||
repos.private=Privé
|
||||
repos.watches=Suivi par
|
||||
repos.stars=Votes
|
||||
repos.forks=Bifurcations
|
||||
repos.issues=Tickets
|
||||
repos.size=Taille
|
||||
repos.lfs_size=Taille LFS
|
||||
|
@ -3031,7 +3003,6 @@ auths.tip.nextcloud=`Enregistrez un nouveau consommateur OAuth sur votre instanc
|
|||
auths.tip.dropbox=Créez une nouvelle application sur https://www.dropbox.com/developers/apps
|
||||
auths.tip.facebook=`Enregistrez une nouvelle application sur https://developers.facebook.com/apps et ajoutez le produit "Facebook Login"`
|
||||
auths.tip.github=Créez une nouvelle application OAuth sur https://github.com/settings/applications/new
|
||||
auths.tip.gitlab=Créez une nouvelle application sur https://gitlab.com/profile/applications
|
||||
auths.tip.google_plus=Obtenez des identifiants OAuth2 sur la console API de Google (https://console.developers.google.com/)
|
||||
auths.tip.openid_connect=Utilisez l'URL de découvert OpenID (<server>/.well-known/openid-configuration) pour spécifier les points d'accès
|
||||
auths.tip.twitter=Rendez-vous sur https://dev.twitter.com/apps, créez une application et assurez-vous que l'option "Autoriser l'application à être utilisée avec Twitter Connect" est activée
|
||||
|
|
|
@ -90,6 +90,14 @@ concept_user_organization=Szervezet
|
|||
|
||||
name=Név
|
||||
|
||||
filter.is_archived=Archivált
|
||||
filter.is_template=Sablon
|
||||
filter.public=Nyilvános
|
||||
filter.private=Privát
|
||||
|
||||
|
||||
[search]
|
||||
|
||||
[aria]
|
||||
|
||||
[heatmap]
|
||||
|
@ -207,7 +215,6 @@ collaborative_repos=Együttműködési tárolók
|
|||
my_orgs=Szervezeteim
|
||||
my_mirrors=Tükreim
|
||||
view_home=Nézet %s
|
||||
search_repos=Tároló keresés…
|
||||
|
||||
show_archived=Archivált
|
||||
|
||||
|
@ -222,12 +229,7 @@ issues.in_your_repos=A tárolóidban
|
|||
repos=Tárolók
|
||||
users=Felhasználók
|
||||
organizations=Szervezetek
|
||||
search=Keresés
|
||||
code=Kód
|
||||
repo_no_results=Nincs ilyen tároló.
|
||||
user_no_results=Nincs ilyen felhasználó.
|
||||
org_no_results=Nincs ilyen szervezet.
|
||||
code_no_results=Nincs találat a keresési kifejezésedre.
|
||||
code_last_indexed_at=Utoljára indexelve: %s
|
||||
|
||||
[auth]
|
||||
|
@ -240,7 +242,6 @@ remember_me=Eszköz megjegyzése
|
|||
forgot_password_title=Elfelejtett jelszó
|
||||
forgot_password=Elfelejtette a jelszavát?
|
||||
sign_up_now=Szeretne bejelentkezni? Regisztráljon most.
|
||||
confirmation_mail_sent_prompt=Új megerősítő email lett küldve ide: <b>%s</b>. Ellenőrizze postafiókját az elkövetkező %s a regisztrációs folyamat befejezéséhez.
|
||||
must_change_password=Jelszó módosítása
|
||||
allow_password_change=A felhasználóknak meg kell változtatniuk a jelszavukat(ajánlott)
|
||||
reset_password_mail_sent_prompt=Megerősítő email lett küldve ide: <b>%s</b>. Ellenőrizze postafiókját az elkövetkező %s a jelszó visszaállítási folyamat befejezéséhez.
|
||||
|
@ -384,6 +385,7 @@ unfollow=Követés törlése
|
|||
user_bio=Életrajz
|
||||
|
||||
|
||||
|
||||
[settings]
|
||||
profile=Profil
|
||||
account=Fiók
|
||||
|
@ -722,8 +724,6 @@ editor.no_changes_to_show=Nincsen megjeleníthető változás.
|
|||
editor.add_subdir=Mappa hozzáadása…
|
||||
|
||||
commits.commits=Commit-ok
|
||||
commits.search=Commit-ok keresése…
|
||||
commits.find=Keresés
|
||||
commits.search_all=Minden ág
|
||||
commits.author=Szerző
|
||||
commits.message=Üzenet
|
||||
|
@ -929,7 +929,6 @@ pulls.compare_changes=Új egyesítési kérés
|
|||
pulls.compare_base=egyesítés ide
|
||||
pulls.compare_compare=egyesítés innen
|
||||
pulls.filter_branch=Ágra szűrés
|
||||
pulls.no_results=Nincs találat.
|
||||
pulls.nothing_to_compare=Ezek az ágak egyenlőek. Nincs szükség egyesítési kérésre.
|
||||
pulls.create=Egyesítési kérés létrehozása
|
||||
pulls.title_desc=egyesíteni szeretné %[1]d változás(oka)t a(z) <code>%[2]s</code>-ból <code id="branch_target">%[3]s</code>-ba
|
||||
|
@ -1056,11 +1055,6 @@ activity.git_stats_deletion_n=%d törlés
|
|||
|
||||
contributors.contribution_type.commits=Commit-ok
|
||||
|
||||
search=Keresés
|
||||
search.search_repo=Tároló keresés
|
||||
search.results=`"%s" találatok keresése itt: <a href="%s">%s</a>`
|
||||
search.code_no_results=Nincs találat a keresési kifejezésedre.
|
||||
|
||||
settings=Beállítások
|
||||
settings.options=Tároló
|
||||
settings.collaboration.read=Olvasott
|
||||
|
@ -1102,8 +1096,6 @@ settings.branches=Ágak
|
|||
settings.protected_branch=Ág védeleme
|
||||
settings.protected_branch_can_push=Push engedélyezése?
|
||||
settings.protected_branch_can_push_yes=Most már push-olhatja
|
||||
settings.protect_whitelist_search_users=Felhasználó keresése…
|
||||
settings.protect_whitelist_search_teams=Csoportok keresése…
|
||||
settings.protect_check_status_contexts=Állapotellenőrzés engedélyezése
|
||||
settings.add_protected_branch=Védelem engedélyezése
|
||||
settings.delete_protected_branch=Védelem letiltása
|
||||
|
@ -1248,7 +1240,6 @@ teams.delete_team_desc=Egy csapat törlése visszavonja a tagjai hozzáférésé
|
|||
teams.delete_team_success=A csoport törölve lett.
|
||||
teams.read_permission_desc=Ez a csoport <strong>Olvasási</strong> jogosultságot biztosít: a tagok megtekinthetik és klónozhatják a csoport tárolóit.
|
||||
teams.repositories=Csoport tárolói
|
||||
teams.search_repo_placeholder=Tároló keresése…
|
||||
teams.remove_all_repos_title=Összes csapattároló eltávolítása
|
||||
teams.remove_all_repos_desc=Ez el fogja távolítani az összes tárolót a csoportból.
|
||||
teams.add_all_repos_title=Minden tároló hozzáadása
|
||||
|
@ -1266,6 +1257,8 @@ organizations=Szervezetek
|
|||
repositories=Tárolók
|
||||
authentication=Hitelesítési források
|
||||
config=Konfiguráció
|
||||
config_summary=Összefoglaló
|
||||
config_settings=Beállítások
|
||||
notices=Rendszer-értesítések
|
||||
monitor=Figyelés
|
||||
first_page=Első
|
||||
|
@ -1352,8 +1345,6 @@ repos.repo_manage_panel=Tárolók Kezelése
|
|||
repos.owner=Tulajdonos
|
||||
repos.name=Név
|
||||
repos.private=Privát
|
||||
repos.watches=Figyelők
|
||||
repos.stars=Csillagok
|
||||
repos.issues=Hibajegyek
|
||||
repos.size=Méret
|
||||
|
||||
|
@ -1415,7 +1406,6 @@ auths.tip.bitbucket=Igényeljen egy új OAuth jogosultságot itt: https://bitbuc
|
|||
auths.tip.dropbox=Vegyen fel új alkalmazást itt: https://www.dropbox.com/developers/apps
|
||||
auths.tip.facebook=Vegyen fel új alkalmazást itt: https://developers.facebook.com/apps majd adja hozzá a "Facebook Login"-t
|
||||
auths.tip.github=Vegyen fel új OAuth alkalmazást itt: https://github.com/settings/applications/new
|
||||
auths.tip.gitlab=Vegyen fel új alkalmazást itt: https://gitlab.com/profile/applications
|
||||
auths.tip.google_plus=Szerezzen OAuth2 kliens hitelesítési adatokat a Google API konzolban (https://console.developers.google.com/)
|
||||
auths.tip.openid_connect=Használja az OpenID kapcsolódás felfedező URL-t (<kiszolgáló>/.well-known/openid-configuration) a végpontok beállításához
|
||||
auths.tip.twitter=Menyjen ide: https://dev.twitter.com/apps, hozzon létre egy alkalmazást és győződjön meg róla, hogy az “Allow this application to be used to Sign in with Twitter” opció be van kapcsolva
|
||||
|
|
|
@ -83,6 +83,12 @@ concept_code_repository=Repositori
|
|||
|
||||
name=Nama
|
||||
|
||||
filter.is_template=Contoh
|
||||
filter.private=Pribadi
|
||||
|
||||
|
||||
[search]
|
||||
|
||||
[aria]
|
||||
|
||||
[heatmap]
|
||||
|
@ -134,7 +140,6 @@ collaborative_repos=Repositori Kolaboratif
|
|||
my_orgs=Organisasi Saya
|
||||
my_mirrors=Duplikat Saya
|
||||
view_home=Lihat %s
|
||||
search_repos=Cari repositori…
|
||||
|
||||
|
||||
show_private=Pribadi
|
||||
|
@ -145,12 +150,7 @@ issues.in_your_repos=Dalam repositori anda
|
|||
repos=Repositori
|
||||
users=Pengguna
|
||||
organizations=Organisasi
|
||||
search=Cari
|
||||
code=Kode
|
||||
repo_no_results=Tidak ditemukan repositori yang cocok.
|
||||
user_no_results=Tidak ditemukan pengguna yang cocok.
|
||||
org_no_results=Tidak ada organisasi yang cocok ditemukan.
|
||||
code_no_results=Tidak ada kode sumber yang cocok dengan istilah yang anda cari.
|
||||
|
||||
[auth]
|
||||
create_new_account=Daftar Akun
|
||||
|
@ -161,7 +161,6 @@ disable_register_mail=Konfirmasi lewat email untuk pengguna baru dimatikan.
|
|||
forgot_password_title=Lupa Kata Sandi
|
||||
forgot_password=Lupa kata sandi?
|
||||
sign_up_now=Butuh akun? Daftar sekarang.
|
||||
confirmation_mail_sent_prompt=Surel konfirmasi baru telah dikirim ke <b>%s</b>. Silakan periksa kotak masuk anda dalam %s ke depan untuk menyelesaikan proses pendaftaran.
|
||||
must_change_password=Perbarui kata sandi Anda
|
||||
allow_password_change=Wajibkan pengguna untuk mengganti kata sandi (disarankan)
|
||||
reset_password_mail_sent_prompt=Surel konfirmasi berhasil dikirim ke <b>%s</b>. Silahkan cek akun email Anda dalam %s jam untuk menyelesaikan proses pemulihan akun.
|
||||
|
@ -307,6 +306,7 @@ unfollow=Berhenti Mengikuti
|
|||
user_bio=Biografi
|
||||
|
||||
|
||||
|
||||
[settings]
|
||||
profile=Profil
|
||||
account=Akun
|
||||
|
@ -631,7 +631,6 @@ editor.cancel=Membatalkan
|
|||
editor.no_changes_to_show=Tidak ada perubahan untuk ditampilkan.
|
||||
|
||||
commits.commits=Melakukan
|
||||
commits.find=Telusuri
|
||||
commits.author=Penulis
|
||||
commits.message=Pesan
|
||||
commits.date=Tanggal
|
||||
|
@ -749,7 +748,6 @@ issues.dependency.remove=Menghapus
|
|||
pulls.new=Permintaan Tarik Baru
|
||||
pulls.compare_changes=Permintaan Tarik Baru
|
||||
pulls.filter_branch=Penyaringan cabang
|
||||
pulls.no_results=Hasil tidak ditemukan.
|
||||
pulls.create=Buat Permintaan Tarik
|
||||
pulls.title_desc=ingin menggabungkan komit %[1]d dari <code>%[2]s</code> menuju <code id="branch_target">%[3]s</code>
|
||||
pulls.merged_title_desc=commit %[1]d telah digabungkan dari <code>%[2]s</code> menjadi <code>%[3]s</code> %[4]s
|
||||
|
@ -841,11 +839,6 @@ activity.published_release_label=Dikeluarkan
|
|||
|
||||
contributors.contribution_type.commits=Melakukan
|
||||
|
||||
search=Cari
|
||||
search.search_repo=Cari repositori
|
||||
search.results=Cari hasil untuk "%s" dalam <a href="%s">%s</a>
|
||||
search.code_no_results=Tidak ada kode sumber yang cocok dengan istilah yang anda cari.
|
||||
|
||||
settings=Pengaturan
|
||||
settings.desc=Pengaturan dimana anda dapat mengelola pengaturan untuk repositori
|
||||
settings.options=Repositori
|
||||
|
@ -873,7 +866,6 @@ settings.transfer_owner=Pemilik Baru
|
|||
settings.delete=Menghapus Repositori Ini
|
||||
settings.delete_notices_1=- Operasi ini <strong>TIDAK BISA</strong> dibatalkan.
|
||||
settings.delete_collaborator=Menghapus
|
||||
settings.search_user_placeholder=Cari pengguna…
|
||||
settings.teams=Tim
|
||||
settings.add_webhook=Tambahkan Webhook
|
||||
settings.webhook.test_delivery=Percobaan Pengiriman
|
||||
|
@ -1008,13 +1000,13 @@ teams.update_settings=Memperbarui pengaturan
|
|||
teams.add_team_member=Tambahkan Anggota Tim
|
||||
teams.delete_team_success=Tim sudah di hapus.
|
||||
teams.repositories=Tim repositori
|
||||
teams.search_repo_placeholder=Cari repositori…
|
||||
|
||||
[admin]
|
||||
dashboard=Dasbor
|
||||
organizations=Organisasi
|
||||
repositories=Repositori
|
||||
config=Konfigurasi
|
||||
config_settings=Pengaturan
|
||||
notices=Pemberitahuan Sistem
|
||||
monitor=Memantau
|
||||
first_page=Pertama
|
||||
|
@ -1077,8 +1069,6 @@ repos.repo_manage_panel=Manajemen Repositori
|
|||
repos.owner=Pemilik
|
||||
repos.name=Nama
|
||||
repos.private=Pribadi
|
||||
repos.watches=Jam tangan
|
||||
repos.stars=Bintang
|
||||
repos.issues=Masalah
|
||||
repos.size=Ukuran
|
||||
|
||||
|
@ -1128,7 +1118,6 @@ auths.tip.oauth2_provider=Penyediaan OAuth2
|
|||
auths.tip.dropbox=Membuat aplikasi baru di https://www.dropbox.com/developers/apps
|
||||
auths.tip.facebook=`Daftarkan sebuah aplikasi baru di https://developers.facebook.com/apps dan tambakan produk "Facebook Masuk"`
|
||||
auths.tip.github=Mendaftar aplikasi OAuth baru di https://github.com/settings/applications/new
|
||||
auths.tip.gitlab=Mendaftar aplikasi baru di https://gitlab.com/profile/applications
|
||||
auths.tip.openid_connect=Gunakan membuka ID yang terhubung ke jelajah URL (<server>/.well-known/openid-configuration) untuk menentukan titik akhir
|
||||
auths.delete=Menghapus Otentikasi Sumber
|
||||
auths.delete_auth_title=Menghapus Otentikasi Sumber
|
||||
|
|
|
@ -111,6 +111,14 @@ concept_code_repository=Hugbúnaðarsafn
|
|||
name=Heiti
|
||||
value=Gildi
|
||||
|
||||
filter=Sía
|
||||
filter.is_archived=Safnvistað
|
||||
filter.is_template=Sniðmát
|
||||
filter.public=Opinbert
|
||||
|
||||
|
||||
[search]
|
||||
|
||||
[aria]
|
||||
|
||||
[heatmap]
|
||||
|
@ -224,7 +232,6 @@ show_more_repos=Sýna fleiri hugbúnaðarsöfn…
|
|||
my_orgs=Stofnanir Mínar
|
||||
my_mirrors=Speglanir Mínar
|
||||
view_home=Skoða %s
|
||||
search_repos=Finna hugbúnaðarsafn…
|
||||
filter=Aðrar Síur
|
||||
|
||||
show_archived=Safnvistað
|
||||
|
@ -239,14 +246,7 @@ issues.in_your_repos=Í hugbúnaðarsöfnum þínum
|
|||
repos=Hugbúnaðarsöfn
|
||||
users=Notendur
|
||||
organizations=Stofnanir
|
||||
search=Leita
|
||||
code=Kóði
|
||||
search.fuzzy=Óljóst
|
||||
code_search_unavailable=Sem stendur er kóðaleit ekki í boði. Vinsamlegast hafðu samband við síðustjórann þinn.
|
||||
repo_no_results=Engin samsvarandi hugbúnaðarsöfn fundust.
|
||||
user_no_results=Engir samsvarandi notendur fundust.
|
||||
org_no_results=Engar samsvarandi stofnanir fundust.
|
||||
code_no_results=Enginn samsvarandi frumkóði fannst eftur þínum leitarorðum.
|
||||
|
||||
[auth]
|
||||
create_new_account=Skrá Notanda
|
||||
|
@ -418,6 +418,7 @@ user_bio=Lífssaga
|
|||
disabled_public_activity=Þessi notandi hefur slökkt á opinberum sýnileika virkninnar.
|
||||
|
||||
|
||||
|
||||
[settings]
|
||||
profile=Notandasíða
|
||||
account=Reikningur
|
||||
|
@ -704,7 +705,6 @@ editor.cancel=Hætta við
|
|||
editor.fail_to_update_file_summary=Villuskilaboð:
|
||||
|
||||
commits.commits=Framlög
|
||||
commits.find=Leita
|
||||
commits.author=Höfundur
|
||||
commits.message=Skilaboð
|
||||
commits.date=Dagsetning
|
||||
|
@ -728,7 +728,6 @@ projects.edit=Breyta Verkefnum
|
|||
projects.modify=Uppfæra Verkefni
|
||||
projects.type.none=Ekkert
|
||||
projects.template.desc=Sniðmát
|
||||
projects.type.uncategorized=Óflokkuð
|
||||
projects.column.edit_title=Heiti
|
||||
projects.column.new_title=Heiti
|
||||
projects.column.color=Litað
|
||||
|
@ -992,11 +991,6 @@ activity.git_stats_deletion_n=%d eyðingar
|
|||
|
||||
contributors.contribution_type.commits=Framlög
|
||||
|
||||
search=Leita
|
||||
search.fuzzy=Óljóst
|
||||
search.code_no_results=Enginn samsvarandi frumkóði fannst eftur þínum leitarorðum.
|
||||
search.code_search_unavailable=Sem stendur er kóðaleit ekki í boði. Vinsamlegast hafðu samband við síðustjórann þinn.
|
||||
|
||||
settings=Stillingar
|
||||
settings.options=Hugbúnaðarsafn
|
||||
settings.collaboration.write=Skrifa
|
||||
|
@ -1163,6 +1157,8 @@ teams.all_repositories=Öll hugbúnaðarsöfn
|
|||
[admin]
|
||||
repositories=Hugbúnaðarsöfn
|
||||
config=Stilling
|
||||
config_summary=Yfirlit
|
||||
config_settings=Stillingar
|
||||
first_page=Byrjun
|
||||
last_page=Síðasta
|
||||
total=Samtals: %d
|
||||
|
@ -1201,9 +1197,6 @@ orgs.members=Meðlimar
|
|||
|
||||
repos.owner=Eigandi
|
||||
repos.name=Heiti
|
||||
repos.watches=Fylgist með
|
||||
repos.stars=Eftirlæti
|
||||
repos.forks=Skiptingar
|
||||
repos.issues=Vandamál
|
||||
repos.size=Stærð
|
||||
|
||||
|
|
|
@ -116,6 +116,15 @@ concept_user_organization=Organizzazione
|
|||
name=Nome
|
||||
value=Valore
|
||||
|
||||
filter=Filtro
|
||||
filter.is_archived=Archiviato
|
||||
filter.is_template=Template
|
||||
filter.public=Pubblico
|
||||
filter.private=Privati
|
||||
|
||||
|
||||
[search]
|
||||
|
||||
[aria]
|
||||
|
||||
[heatmap]
|
||||
|
@ -254,7 +263,6 @@ collaborative_repos=Repository Condivisi
|
|||
my_orgs=Le mie Organizzazioni
|
||||
my_mirrors=I miei Mirror
|
||||
view_home=Vedi %s
|
||||
search_repos=Trova un repository…
|
||||
filter=Altro filtri
|
||||
filter_by_team_repositories=Filtra per repository del team
|
||||
feed_of=`Feed di "%s"`
|
||||
|
@ -275,15 +283,7 @@ issues.in_your_repos=Nei tuoi repository
|
|||
repos=Repository
|
||||
users=Utenti
|
||||
organizations=Organizzazioni
|
||||
search=Cerca
|
||||
code=Codice
|
||||
search.fuzzy=Fuzzy
|
||||
search.match=Corrispondenze
|
||||
code_search_unavailable=Attualmente la ricerca di codice non è disponibile. Contatta l'amministratore del sito.
|
||||
repo_no_results=Nessuna repository corrispondente.
|
||||
user_no_results=Nessun utente corrispondente.
|
||||
org_no_results=Nessun'organizzazione corrispondente trovata.
|
||||
code_no_results=Nessun codice sorgente corrispondente ai termini di ricerca.
|
||||
code_last_indexed_at=Ultimo indicizzato %s
|
||||
|
||||
[auth]
|
||||
|
@ -297,7 +297,6 @@ remember_me=Ricorda questo dispositivo
|
|||
forgot_password_title=Password Dimenticata
|
||||
forgot_password=Password dimenticata?
|
||||
sign_up_now=Hai bisogno di un account? Registrati adesso.
|
||||
confirmation_mail_sent_prompt=Una nuova email di conferma è stata inviata a <b>%s</b>. Per favore controlla la tua posta in arrivo nelle prossime %s per completare il processo di registrazione.
|
||||
must_change_password=Aggiorna la tua password
|
||||
allow_password_change=Richiede all'utente di cambiare la password (scelta consigliata)
|
||||
reset_password_mail_sent_prompt=Una email di conferma è stata inviata a <b>%s</b>. Per favore controlla la tua posta in arrivo nelle prossime %s per completare il processo di reset della password.
|
||||
|
@ -507,6 +506,7 @@ user_bio=Biografia
|
|||
disabled_public_activity=L'utente ha disabilitato la vista pubblica dell'attività.
|
||||
|
||||
|
||||
|
||||
[settings]
|
||||
profile=Profilo
|
||||
account=Account
|
||||
|
@ -634,7 +634,6 @@ gpg_invalid_token_signature=La chiave GPG fornita, la firma e il token non corri
|
|||
gpg_token_required=Devi fornire una firma per il token sottostante
|
||||
gpg_token=Token
|
||||
gpg_token_help=È possibile generare una firma utilizzando:
|
||||
gpg_token_code=echo "%s" | gpg -a --default-key %s --detach-sig
|
||||
gpg_token_signature=Firma GPG corazzata
|
||||
key_signature_gpg_placeholder=Comincia con '-----BEGIN PGP SIGNATURE-----'
|
||||
ssh_key_verified=Chiave Verificata
|
||||
|
@ -787,7 +786,6 @@ already_forked=Hai già fatto il fork di %s
|
|||
fork_to_different_account=Fai Fork a un account diverso
|
||||
fork_visibility_helper=La visibilità di un repository forkato non può essere modificata.
|
||||
use_template=Usa questo modello
|
||||
clone_in_vsc=Clona nel codice VS
|
||||
download_zip=Scarica ZIP
|
||||
download_tar=Scarica TAR.GZ
|
||||
download_bundle=Scarica BUNDLE
|
||||
|
@ -1051,8 +1049,6 @@ editor.revert=Ripristina %s su:
|
|||
commits.desc=Sfoglia la cronologia di modifiche del codice rogente.
|
||||
commits.commits=Commit
|
||||
commits.nothing_to_compare=Questi rami sono uguali.
|
||||
commits.search=Ricerca commits…
|
||||
commits.find=Cerca
|
||||
commits.search_all=Tutti i branch
|
||||
commits.author=Autore
|
||||
commits.message=Messaggio
|
||||
|
@ -1097,7 +1093,6 @@ projects.type.basic_kanban=Basic Kanban
|
|||
projects.type.bug_triage=Bug Triage
|
||||
projects.template.desc=Template di progetto
|
||||
projects.template.desc_helper=Seleziona un modello di progetto per iniziare
|
||||
projects.type.uncategorized=Senza categoria
|
||||
projects.column.edit_title=Nome
|
||||
projects.column.new_title=Nome
|
||||
projects.column.color=Colore
|
||||
|
@ -1409,7 +1404,6 @@ pulls.compare_compare=esegui un pull da
|
|||
pulls.switch_comparison_type=Cambia tipo di confronto
|
||||
pulls.switch_head_and_base=Testa e base di commutazione
|
||||
pulls.filter_branch=Filtra branch
|
||||
pulls.no_results=Nessun risultato trovato.
|
||||
pulls.nothing_to_compare=Questi rami sono uguali. Non c'è alcuna necessità di creare una pull request.
|
||||
pulls.nothing_to_compare_and_allow_empty_pr=Questi rami sono uguali. Questa PR sarà vuota.
|
||||
pulls.has_pull_request=`Una pull request tra questi rami esiste già: <a href="%[1]s">%[2]s#%[3]d</a>`
|
||||
|
@ -1626,14 +1620,6 @@ activity.git_stats_deletion_n=%d cancellazioni
|
|||
|
||||
contributors.contribution_type.commits=Commit
|
||||
|
||||
search=Ricerca
|
||||
search.search_repo=Ricerca repository
|
||||
search.fuzzy=Fuzzy
|
||||
search.match=Corrispondenze
|
||||
search.results=Risultati della ricerca per "%s" in <a href="%s">%s</a>
|
||||
search.code_no_results=Nessun codice sorgente corrispondente al termine di ricerca trovato.
|
||||
search.code_search_unavailable=Attualmente la ricerca di codice non è disponibile. Contatta l'amministratore del sito.
|
||||
|
||||
settings=Impostazioni
|
||||
settings.desc=Impostazioni ti permette di gestire le impostazioni del repository
|
||||
settings.options=Repository
|
||||
|
@ -1760,7 +1746,6 @@ settings.delete_collaborator=Rimuovi
|
|||
settings.collaborator_deletion=Rimuovi collaboratore
|
||||
settings.collaborator_deletion_desc=Rimuovere un collaboratore revocherà l'accesso a questo repository. Continuare?
|
||||
settings.remove_collaborator_success=Il collaboratore è stato rimosso.
|
||||
settings.search_user_placeholder=Ricerca utente…
|
||||
settings.org_not_allowed_to_be_collaborator=Le organizzazioni non possono essere aggiunte come un collaboratore.
|
||||
settings.change_team_access_not_allowed=La modifica dell'accesso al team per il repository è stato limitato al solo proprietario dell'organizzazione
|
||||
settings.team_not_in_organization=Il team non è nella stessa organizzazione del repository
|
||||
|
@ -1768,7 +1753,6 @@ settings.teams=Gruppi
|
|||
settings.add_team=Aggiungi Squadra
|
||||
settings.add_team_duplicate=Il team ha già il repository
|
||||
settings.add_team_success=Il team ha ora accesso al repository.
|
||||
settings.search_team=Cerca Squadra…
|
||||
settings.change_team_permission_tip=Il permesso del team è impostato sulla pagina delle impostazioni del team e non può essere modificato per repository
|
||||
settings.delete_team_tip=Questo team ha accesso a tutte le repository e non può essere rimosso
|
||||
settings.remove_team_success=L'accesso del team al repository è stato rimosso.
|
||||
|
@ -1907,9 +1891,7 @@ settings.protect_whitelist_committers=Lista bianch push ristretti
|
|||
settings.protect_whitelist_committers_desc=Solo gli utenti o i team nella whitelist potranno pushare su questo ramo (ma non forzare il push).
|
||||
settings.protect_whitelist_deploy_keys=Chiavi di deploy in whitelist con permessi di scrittura per il push.
|
||||
settings.protect_whitelist_users=Utenti nella whitelist per pushare:
|
||||
settings.protect_whitelist_search_users=Cerca utenti…
|
||||
settings.protect_whitelist_teams=Team nella whitelist per pushare:
|
||||
settings.protect_whitelist_search_teams=Ricerca team…
|
||||
settings.protect_merge_whitelist_committers=Attiva la whitelist per i merge
|
||||
settings.protect_merge_whitelist_committers_desc=Consentire soltanto agli utenti o ai team in whitelist il permesso di unire le pull request di questo branch.
|
||||
settings.protect_merge_whitelist_users=Utenti nella whitelist per il merging:
|
||||
|
@ -2218,7 +2200,6 @@ teams.write_permission_desc=Questo team concede l'accesso di <strong>Scrittura</
|
|||
teams.admin_permission_desc=Questo team concede l'accesso di <strong>Amministratore</strong>: i membri possono leggere da, pushare su e aggiungere collaboratori ai repository del team.
|
||||
teams.create_repo_permission_desc=Inoltre, questo team concede il permesso di <strong>Creare repository</strong>: i membri possono creare nuove repository nell'organizzazione.
|
||||
teams.repositories=Repository di Squadra
|
||||
teams.search_repo_placeholder=Ricerca repository…
|
||||
teams.remove_all_repos_title=Rimuovi tutti i repository del team
|
||||
teams.remove_all_repos_desc=Questo rimuoverà tutte le repository dal team.
|
||||
teams.add_all_repos_title=Aggiungi tutti i repository
|
||||
|
@ -2243,6 +2224,8 @@ hooks=Webhooks
|
|||
authentication=Fonti di autenticazione
|
||||
emails=Email Utente
|
||||
config=Configurazione
|
||||
config_summary=Riepilogo
|
||||
config_settings=Impostazioni
|
||||
notices=Avvisi di sistema
|
||||
monitor=Monitoraggio
|
||||
first_page=Prima
|
||||
|
@ -2397,9 +2380,6 @@ repos.unadopted.no_more=Nessun repository non adottato trovato
|
|||
repos.owner=Proprietario
|
||||
repos.name=Nome
|
||||
repos.private=Privati
|
||||
repos.watches=Segue
|
||||
repos.stars=Voti
|
||||
repos.forks=Fork
|
||||
repos.issues=Problemi
|
||||
repos.size=Dimensione
|
||||
|
||||
|
@ -2515,7 +2495,6 @@ auths.tip.nextcloud=`Registra un nuovo OAuth sulla tua istanza utilizzando il se
|
|||
auths.tip.dropbox=Crea una nuova applicazione su https://www.dropbox.com/developers/apps
|
||||
auths.tip.facebook=`Registra una nuova applicazione su https://developers.facebook.com/apps e aggiungi il prodotto "Facebook Login"`
|
||||
auths.tip.github=Registra una nuova applicazione OAuth su https://github.com/settings/applications/new
|
||||
auths.tip.gitlab=Registra una nuova applicazione su https://gitlab.com/profile/applications
|
||||
auths.tip.google_plus=Ottieni le credenziali del client OAuth2 dalla console API di Google su https://console.developers.google.com/
|
||||
auths.tip.openid_connect=Utilizza l'OpenID Connect Discovery URL (<server>/.well-known/openid-configuration) per specificare gli endpoint
|
||||
auths.tip.twitter=Vai su https://dev.twitter.com/apps, crea una applicazione e assicurati che l'opzione "Allow this application to be used to Sign In with Twitter" sia abilitata
|
||||
|
|
|
@ -142,6 +142,15 @@ confirm_delete_selected=選択したすべてのアイテムを削除してよ
|
|||
name=名称
|
||||
value=値
|
||||
|
||||
filter=フィルター
|
||||
filter.is_archived=アーカイブ
|
||||
filter.is_template=テンプレート
|
||||
filter.public=公開
|
||||
filter.private=プライベート
|
||||
|
||||
|
||||
[search]
|
||||
|
||||
[aria]
|
||||
navbar=ナビゲーションバー
|
||||
footer=フッター
|
||||
|
@ -315,7 +324,6 @@ collaborative_repos=共同リポジトリ
|
|||
my_orgs=自分の組織
|
||||
my_mirrors=自分のミラー
|
||||
view_home=%s を表示
|
||||
search_repos=リポジトリを探す…
|
||||
filter=その他のフィルター
|
||||
filter_by_team_repositories=チームリポジトリで絞り込み
|
||||
feed_of=`"%s" のフィード`
|
||||
|
@ -336,20 +344,8 @@ issues.in_your_repos=あなたのリポジトリ
|
|||
repos=リポジトリ
|
||||
users=ユーザー
|
||||
organizations=組織
|
||||
search=検索
|
||||
go_to=開く
|
||||
code=コード
|
||||
search.type.tooltip=検索タイプ
|
||||
search.fuzzy=あいまい
|
||||
search.fuzzy.tooltip=検索ワードにおおよそ一致している結果も含めます
|
||||
search.match=一致
|
||||
search.match.tooltip=検索ワードに一致する結果だけを含めます
|
||||
code_search_unavailable=現在コード検索は利用できません。 サイト管理者にお問い合わせください。
|
||||
repo_no_results=一致するリポジトリが見つかりません。
|
||||
user_no_results=一致するユーザーが見つかりません。
|
||||
org_no_results=一致する組織が見つかりません。
|
||||
code_no_results=検索ワードに一致するソースコードが見つかりません。
|
||||
code_search_results=`"%s" の検索結果`
|
||||
code_last_indexed_at=最終取得 %s
|
||||
relevant_repositories_tooltip=フォークリポジトリや、トピック、アイコン、説明のいずれも無いリポジトリは表示されません。
|
||||
relevant_repositories=妥当と思われるリポジトリのみを表示しています。 <a href="%s">フィルタリングしない結果を表示</a>。
|
||||
|
@ -367,7 +363,6 @@ forgot_password_title=パスワードを忘れた
|
|||
forgot_password=パスワードをお忘れですか?
|
||||
sign_up_now=アカウントが必要ですか? 今すぐ登録しましょう。
|
||||
sign_up_successful=アカウントは無事に作成されました。ようこそ!
|
||||
confirmation_mail_sent_prompt=<b>%s</b> に確認メールを送信しました。 %s以内に受信トレイを確認し、登録手続きを完了してください。
|
||||
must_change_password=パスワードの更新
|
||||
allow_password_change=ユーザーはパスワードの変更が必要 (推奨)
|
||||
reset_password_mail_sent_prompt=<b>%s</b> に確認メールを送信しました。 %s以内に受信トレイを確認し、アカウント回復手続きを完了してください。
|
||||
|
@ -617,6 +612,13 @@ form.name_reserved=ユーザー名 "%s" は予約されています。
|
|||
form.name_pattern_not_allowed=`"%s" の形式はユーザー名に使用できません。`
|
||||
form.name_chars_not_allowed=ユーザー名 "%s" には無効な文字が含まれています。
|
||||
|
||||
block.block=ブロック
|
||||
block.block.user=ユーザーをブロック
|
||||
block.block.org=組織向けにユーザーをブロック
|
||||
block.block.failure=ユーザーのブロックに失敗しました: %s
|
||||
block.unblock=ブロックを解除
|
||||
block.unblock.failure=ユーザーのブロック解除に失敗しました: %s
|
||||
|
||||
[settings]
|
||||
profile=プロフィール
|
||||
account=アカウント
|
||||
|
@ -761,7 +763,6 @@ gpg_invalid_token_signature=入力されたGPG鍵、署名、トークンが合
|
|||
gpg_token_required=以下のトークンの署名を入力する必要があります
|
||||
gpg_token=トークン
|
||||
gpg_token_help=署名はこの方法で生成できます:
|
||||
gpg_token_code=echo "%s" | gpg -a --default-key %s --detach-sig
|
||||
gpg_token_signature=Armor形式のGPG署名
|
||||
key_signature_gpg_placeholder=先頭は '-----BEGIN PGP SIGNATURE-----'
|
||||
verify_gpg_key_success=GPG鍵 "%s" を確認しました。
|
||||
|
@ -955,7 +956,6 @@ fork_branch=フォークにクローンされるブランチ
|
|||
all_branches=すべてのブランチ
|
||||
fork_no_valid_owners=このリポジトリには有効なオーナーがいないため、フォークできません。
|
||||
use_template=このテンプレートを使用
|
||||
clone_in_vsc=VSCodeでクローン
|
||||
download_zip=ZIPファイルをダウンロード
|
||||
download_tar=TAR.GZファイルをダウンロード
|
||||
download_bundle=バンドルをダウンロード
|
||||
|
@ -990,6 +990,7 @@ mirror_prune=Prune
|
|||
mirror_prune_desc=不要になった古いリモートトラッキング参照を削除
|
||||
mirror_interval=ミラー間隔 (有効な時間の単位は'h'、'm'、's')。 定期的な同期を無効にする場合は0。(最小間隔: %s)
|
||||
mirror_interval_invalid=ミラー間隔が不正です。
|
||||
mirror_sync=前回の同期
|
||||
mirror_sync_on_commit=コミットがプッシュされたときに同期
|
||||
mirror_address=クローンするURL
|
||||
mirror_address_desc=必要な資格情報は「認証」セクションに設定してください。
|
||||
|
@ -1191,6 +1192,8 @@ audio_not_supported_in_browser=このブラウザーはHTML5のaudioタグをサ
|
|||
stored_lfs=Git LFSで保管されています
|
||||
symbolic_link=シンボリック リンク
|
||||
executable_file=実行ファイル
|
||||
vendored=ベンダーファイル
|
||||
generated=生成ファイル
|
||||
commit_graph=コミットグラフ
|
||||
commit_graph.select=ブランチを選択
|
||||
commit_graph.hide_pr_refs=プルリクエストを非表示
|
||||
|
@ -1277,9 +1280,7 @@ commits.desc=ソースコードの変更履歴を参照します。
|
|||
commits.commits=コミット
|
||||
commits.no_commits=共通のコミットはありません。 "%s" と "%s" の履歴はすべて異なっています。
|
||||
commits.nothing_to_compare=二つのブランチは同じ内容です。
|
||||
commits.search=コミットの検索…
|
||||
commits.search.tooltip=`キーワード "author:"、"committer:"、"after:"、"before:" を付けて指定できます。 例 "revert author:Alice before:2019-01-13"`
|
||||
commits.find=検索
|
||||
commits.search_all=すべてのブランチ
|
||||
commits.author=作成者
|
||||
commits.message=メッセージ
|
||||
|
@ -1330,7 +1331,6 @@ projects.type.basic_kanban=基本的なカンバン
|
|||
projects.type.bug_triage=バグ トリアージ
|
||||
projects.template.desc=テンプレート
|
||||
projects.template.desc_helper=開始するプロジェクトテンプレートを選択
|
||||
projects.type.uncategorized=未分類
|
||||
projects.column.edit=列を編集
|
||||
projects.column.edit_title=名称
|
||||
projects.column.new_title=名称
|
||||
|
@ -1338,10 +1338,7 @@ projects.column.new_submit=列を作成
|
|||
projects.column.new=新しい列
|
||||
projects.column.set_default=デフォルトに設定
|
||||
projects.column.set_default_desc=この列を未分類のイシューやプルリクエストが入るデフォルトの列にします
|
||||
projects.column.unset_default=デフォルトを解除
|
||||
projects.column.unset_default_desc=この列からデフォルト列の設定を解除します
|
||||
projects.column.delete=列を削除
|
||||
projects.column.deletion_desc=プロジェクト列を削除すると、関連するすべてのイシューが '未分類' に移動します。 続行しますか?
|
||||
projects.column.color=カラー
|
||||
projects.open=オープン
|
||||
projects.close=クローズ
|
||||
|
@ -1453,7 +1450,6 @@ issues.filter_sort.moststars=スターが多い順
|
|||
issues.filter_sort.feweststars=スターが少ない順
|
||||
issues.filter_sort.mostforks=フォークが多い順
|
||||
issues.filter_sort.fewestforks=フォークが少ない順
|
||||
issues.keyword_search_unavailable=現在キーワード検索は利用できません。 サイト管理者にお問い合わせください。
|
||||
issues.action_open=オープン
|
||||
issues.action_close=クローズ
|
||||
issues.action_label=ラベル
|
||||
|
@ -1705,7 +1701,6 @@ pulls.compare_compare=プル元
|
|||
pulls.switch_comparison_type=比較の種類を切り替える
|
||||
pulls.switch_head_and_base=ヘッドとベースを切り替える
|
||||
pulls.filter_branch=ブランチの絞り込み
|
||||
pulls.no_results=結果が見つかりませんでした。
|
||||
pulls.show_all_commits=すべてのコミットを表示
|
||||
pulls.show_changes_since_your_last_review=前回の自分のレビューからの変更を表示
|
||||
pulls.showing_only_single_commit=コミット %[1]s の変更だけを表示しています
|
||||
|
@ -1714,6 +1709,7 @@ pulls.select_commit_hold_shift_for_range=コミットを選択。シフトを押
|
|||
pulls.review_only_possible_for_full_diff=すべての差分を表示しているときだけレビューが可能です
|
||||
pulls.filter_changes_by_commit=コミットで絞り込み
|
||||
pulls.nothing_to_compare=同じブランチ同士のため、 プルリクエストを作成する必要がありません。
|
||||
pulls.nothing_to_compare_have_tag=選択したブランチ/タグは同一のものです。
|
||||
pulls.nothing_to_compare_and_allow_empty_pr=これらのブランチは内容が同じです。 空のプルリクエストになります。
|
||||
pulls.has_pull_request=`同じブランチのプルリクエストはすでに存在します: <a href="%[1]s">%[2]s#%[3]d</a>`
|
||||
pulls.create=プルリクエストを作成
|
||||
|
@ -1772,6 +1768,7 @@ pulls.merge_pull_request=マージコミットを作成
|
|||
pulls.rebase_merge_pull_request=リベース後にファストフォワード
|
||||
pulls.rebase_merge_commit_pull_request=リベース後にマージコミット作成
|
||||
pulls.squash_merge_pull_request=スカッシュコミットを作成
|
||||
pulls.fast_forward_only_merge_pull_request=ファストフォワードのみ
|
||||
pulls.merge_manually=手動マージ済みにする
|
||||
pulls.merge_commit_id=マージコミットID
|
||||
pulls.require_signed_wont_sign=ブランチでは署名されたコミットが必須ですが、このマージでは署名がされません
|
||||
|
@ -1908,6 +1905,8 @@ wiki.page_name_desc=この Wiki ページの名前を入力してください。
|
|||
wiki.original_git_entry_tooltip=フレンドリーリンクを使用する代わりにオリジナルのGitファイルを表示します。
|
||||
|
||||
activity=アクティビティ
|
||||
activity.navbar.pulse=Pulse
|
||||
activity.navbar.contributors=貢献者
|
||||
activity.period.filter_label=期間:
|
||||
activity.period.daily=1日
|
||||
activity.period.halfweekly=3日
|
||||
|
@ -1973,18 +1972,10 @@ activity.git_stats_and_deletions=、
|
|||
activity.git_stats_deletion_1=%d行削除
|
||||
activity.git_stats_deletion_n=%d行削除
|
||||
|
||||
contributors.contribution_type.filter_label=実績タイプ:
|
||||
contributors.contribution_type.commits=コミット
|
||||
|
||||
search=検索
|
||||
search.search_repo=リポジトリを検索
|
||||
search.type.tooltip=検索タイプ
|
||||
search.fuzzy=あいまい
|
||||
search.fuzzy.tooltip=検索ワードにおおよそ一致している結果も含めます
|
||||
search.match=一致
|
||||
search.match.tooltip=検索ワードに一致する結果だけを含めます
|
||||
search.results=<a href="%[2]s">%[3]s</a> 内での "%[1]s" の検索結果
|
||||
search.code_no_results=検索ワードに一致するソースコードが見つかりません。
|
||||
search.code_search_unavailable=現在コード検索は利用できません。 サイト管理者にお問い合わせください。
|
||||
contributors.contribution_type.additions=追加
|
||||
contributors.contribution_type.deletions=削除
|
||||
|
||||
settings=設定
|
||||
settings.desc=設定では、リポジトリの設定を管理することができます。
|
||||
|
@ -2064,6 +2055,7 @@ settings.pulls.default_allow_edits_from_maintainers=デフォルトでメンテ
|
|||
settings.releases_desc=リリースを有効にする
|
||||
settings.packages_desc=リポジトリパッケージレジストリを有効にする
|
||||
settings.projects_desc=リポジトリプロジェクトを有効にする
|
||||
settings.projects_mode_all=すべてのプロジェクト
|
||||
settings.actions_desc=Actionsを有効にする
|
||||
settings.admin_settings=管理者用設定
|
||||
settings.admin_enable_health_check=リポジトリのヘルスチェックを有効にする (git fsck)
|
||||
|
@ -2138,7 +2130,6 @@ settings.delete_collaborator=削除
|
|||
settings.collaborator_deletion=共同作業者の削除
|
||||
settings.collaborator_deletion_desc=共同作業者を削除し、このリポジトリへのアクセス権を取り消します。 続行しますか?
|
||||
settings.remove_collaborator_success=共同作業者を削除しました。
|
||||
settings.search_user_placeholder=ユーザーを検索…
|
||||
settings.org_not_allowed_to_be_collaborator=組織を共同作業者として追加することはできません。
|
||||
settings.change_team_access_not_allowed=リポジトリに対するチームアクセス権の変更は、組織のオーナーのみに制限されています。
|
||||
settings.team_not_in_organization=チームがリポジトリと同じ組織に属していません。
|
||||
|
@ -2146,7 +2137,6 @@ settings.teams=チーム
|
|||
settings.add_team=チームを追加
|
||||
settings.add_team_duplicate=チームにはすでにこのリポジトリが登録されています。
|
||||
settings.add_team_success=チームがこのリポジトリにアクセスできるようになりました。
|
||||
settings.search_team=チームを検索…
|
||||
settings.change_team_permission_tip=チームの権限はチーム設定ページで設定されており、リポジトリごとに変更することはできません
|
||||
settings.delete_team_tip=このチームはすべてのリポジトリにアクセスでき、削除できません
|
||||
settings.remove_team_success=チームのこのリポジトリへのアクセス権を削除しました。
|
||||
|
@ -2299,9 +2289,7 @@ settings.protect_whitelist_committers=ホワイトリストでプッシュを制
|
|||
settings.protect_whitelist_committers_desc=ホワイトリストに登録したユーザーまたはチームにのみ、このブランチへのプッシュが許可されます。(強制プッシュ以外)
|
||||
settings.protect_whitelist_deploy_keys=プッシュ可能な書き込み権限を持つデプロイキーをホワイトリストに含める。
|
||||
settings.protect_whitelist_users=プッシュ・ホワイトリストに含むユーザー:
|
||||
settings.protect_whitelist_search_users=ユーザーを検索…
|
||||
settings.protect_whitelist_teams=プッシュ・ホワイトリストに含むチーム:
|
||||
settings.protect_whitelist_search_teams=チームを検索…
|
||||
settings.protect_merge_whitelist_committers=マージ・ホワイトリストを有効にする
|
||||
settings.protect_merge_whitelist_committers_desc=ホワイトリストに登録したユーザーまたはチームにだけ、このブランチに対するプルリクエストのマージを許可します。
|
||||
settings.protect_merge_whitelist_users=マージ・ホワイトリストに含むユーザー:
|
||||
|
@ -2322,6 +2310,8 @@ settings.protect_approvals_whitelist_users=ホワイトリストに含めるレ
|
|||
settings.protect_approvals_whitelist_teams=ホワイトリストに含めるレビューチーム:
|
||||
settings.dismiss_stale_approvals=古くなった承認を取り消す
|
||||
settings.dismiss_stale_approvals_desc=プルリクエストの内容を変える新たなコミットがブランチにプッシュされた場合、以前の承認を取り消します。
|
||||
settings.ignore_stale_approvals=古くなった承認を無視する
|
||||
settings.ignore_stale_approvals_desc=古いコミットに対して行われた承認 (古いレビュー) を、PRの承認数にカウントしません。 古いレビューが取り消される場合は関係ありません。
|
||||
settings.require_signed_commits=コミット署名必須
|
||||
settings.require_signed_commits_desc=署名されていない場合、または署名が検証できなかった場合は、このブランチへのプッシュを拒否します。
|
||||
settings.protect_branch_name_pattern=保護ブランチ名のパターン
|
||||
|
@ -2377,6 +2367,7 @@ settings.archive.error=リポジトリのアーカイブ設定でエラーが発
|
|||
settings.archive.error_ismirror=ミラーのリポジトリはアーカイブできません。
|
||||
settings.archive.branchsettings_unavailable=ブランチ設定は、アーカイブリポジトリでは使用できません。
|
||||
settings.archive.tagsettings_unavailable=タグ設定は、アーカイブリポジトリでは使用できません。
|
||||
settings.archive.mirrors_unavailable=リポジトリがアーカイブされている場合、ミラーは利用できません。
|
||||
settings.unarchive.button=アーカイブ解除
|
||||
settings.unarchive.header=このリポジトリをアーカイブ解除
|
||||
settings.unarchive.text=リポジトリのアーカイブを解除すると、コミット、プッシュ、新規のイシューやプルリクエストを受け付ける機能が復活します。
|
||||
|
@ -2543,7 +2534,6 @@ branch.default_deletion_failed=ブランチ "%s" はデフォルトブランチ
|
|||
branch.restore=ブランチ "%s" の復元
|
||||
branch.download=ブランチ "%s" をダウンロード
|
||||
branch.rename=ブランチ名 "%s" を変更
|
||||
branch.search=ブランチを検索
|
||||
branch.included_desc=このブランチはデフォルトブランチに含まれています
|
||||
branch.included=埋没
|
||||
branch.create_new_branch=このブランチをもとに作成します:
|
||||
|
@ -2576,6 +2566,11 @@ error.csv.unexpected=このファイルは %d 行目の %d 文字目に予期し
|
|||
error.csv.invalid_field_count=このファイルは %d 行目のフィールドの数が正しくないため表示できません。
|
||||
|
||||
[graphs]
|
||||
component_loading=%sを読み込み中...
|
||||
component_loading_failed=%sを読み込めませんでした
|
||||
component_loading_info=少し時間がかかるかもしれません…
|
||||
component_failed_to_load=予期しないエラーが発生しました。
|
||||
contributors.what=実績
|
||||
|
||||
[org]
|
||||
org_name_holder=組織名
|
||||
|
@ -2681,7 +2676,6 @@ teams.write_permission_desc=このチームは<strong>書き込み</strong>ア
|
|||
teams.admin_permission_desc=このチームは<strong>管理者</strong>アクセス権を持ちます: メンバーはチームリポジトリの読み取り、プッシュ、共同作業者の追加が可能です。
|
||||
teams.create_repo_permission_desc=さらに、このチームには<strong>リポジトリの作成</strong>権限が与えられています: メンバーは組織のリポジトリを新たに作成できます。
|
||||
teams.repositories=チームのリポジトリ
|
||||
teams.search_repo_placeholder=リポジトリを検索…
|
||||
teams.remove_all_repos_title=チームリポジトリをすべて除去
|
||||
teams.remove_all_repos_desc=チームからすべてのリポジトリを除去します。
|
||||
teams.add_all_repos_title=すべてのリポジトリを追加
|
||||
|
@ -2703,6 +2697,7 @@ teams.invite.description=下のボタンをクリックしてチームに参加
|
|||
|
||||
[admin]
|
||||
dashboard=ダッシュボード
|
||||
self_check=セルフチェック
|
||||
identity_access=アイデンティティとアクセス
|
||||
users=ユーザーアカウント
|
||||
organizations=組織
|
||||
|
@ -2713,6 +2708,8 @@ integrations=連携
|
|||
authentication=認証ソース
|
||||
emails=ユーザーメールアドレス
|
||||
config=設定
|
||||
config_summary=サマリー
|
||||
config_settings=設定
|
||||
notices=システム通知
|
||||
monitor=モニタリング
|
||||
first_page=最初
|
||||
|
@ -2748,6 +2745,7 @@ dashboard.delete_missing_repos=Gitファイルが存在しないリポジトリ
|
|||
dashboard.delete_missing_repos.started=Gitファイルが存在しないリポジトリをすべて削除するタスクを開始しました。
|
||||
dashboard.delete_generated_repository_avatars=自動生成したリポジトリアバターを削除
|
||||
dashboard.sync_repo_branches=Gitデータからデータベースへ不足しているブランチを同期
|
||||
dashboard.sync_repo_tags=Gitデータからデータベースへタグを同期
|
||||
dashboard.update_mirrors=ミラーの更新
|
||||
dashboard.repo_health_check=全リポジトリのヘルスチェック
|
||||
dashboard.check_repo_stats=全リポジトリの統計情報を更新
|
||||
|
@ -2802,6 +2800,7 @@ dashboard.stop_endless_tasks=終わらないタスクを停止
|
|||
dashboard.cancel_abandoned_jobs=放置されたままのジョブをキャンセル
|
||||
dashboard.start_schedule_tasks=スケジュールタスクを開始
|
||||
dashboard.sync_branch.started=ブランチの同期を開始しました
|
||||
dashboard.sync_tag.started=タグの同期を開始しました
|
||||
dashboard.rebuild_issue_indexer=イシューインデクサーの再構築
|
||||
|
||||
users.user_manage_panel=ユーザーアカウント管理
|
||||
|
@ -2887,9 +2886,6 @@ repos.unadopted.no_more=未登録のリポジトリはありません
|
|||
repos.owner=オーナー
|
||||
repos.name=名称
|
||||
repos.private=プライベート
|
||||
repos.watches=ウォッチ
|
||||
repos.stars=スター
|
||||
repos.forks=フォーク
|
||||
repos.issues=イシュー
|
||||
repos.size=サイズ
|
||||
repos.lfs_size=LFSサイズ
|
||||
|
@ -3014,7 +3010,6 @@ auths.tip.nextcloud=新しいOAuthコンシューマーを、インスタンス
|
|||
auths.tip.dropbox=新しいアプリケーションを https://www.dropbox.com/developers/apps から登録してください。
|
||||
auths.tip.facebook=新しいアプリケーションを https://developers.facebook.com/apps で登録し、"Facebook Login"を追加してください。
|
||||
auths.tip.github=新しいOAuthアプリケーションを https://github.com/settings/applications/new から登録してください。
|
||||
auths.tip.gitlab=新しいアプリケーションを https://gitlab.com/profile/applications から登録してください。
|
||||
auths.tip.google_plus=OAuth2クライアント資格情報を、Google APIコンソール https://console.developers.google.com/ から取得してください。
|
||||
auths.tip.openid_connect=OpenID Connect DiscoveryのURL (<server>/.well-known/openid-configuration) をエンドポイントとして指定してください
|
||||
auths.tip.twitter=https://dev.twitter.com/apps へアクセスしてアプリケーションを作成し、“Allow this application to be used to Sign in with Twitter”オプションを有効にしてください。
|
||||
|
@ -3228,6 +3223,12 @@ notices.desc=説明
|
|||
notices.op=操作
|
||||
notices.delete_success=システム通知を削除しました。
|
||||
|
||||
self_check.no_problem_found=今のところ問題は見つかっていません。
|
||||
self_check.database_collation_mismatch=データベースに想定される照合順序: %s
|
||||
self_check.database_collation_case_insensitive=データベースは照合順序 %s を使用しており、大文字小文字を区別しません。 Giteaはその照合順序でも動作するかもしれませんが、まれに期待どおり動作しないケースがあるかもしれません。
|
||||
self_check.database_inconsistent_collation_columns=データベースは照合順序 %s を使用していますが、以下のカラムはそれと一致しない照合順序を使用しており、予期せぬ問題を引き起こす可能性があります。
|
||||
self_check.database_fix_mysql=MySQL/MariaDBユーザーの方は、"gitea doctor convert" コマンドを使用することで、照合順序の問題を修正できます。 また、"ALTER ... COLLATE ..." のSQLを手で実行しても修正することができます。
|
||||
self_check.database_fix_mssql=MSSQLユーザーの方は、問題を修正するには今のところ "ALTER ... COLLATE ..." のSQLを手で実行するしかありません。
|
||||
|
||||
[action]
|
||||
create_repo=がリポジトリ <a href="%s">%s</a> を作成しました
|
||||
|
@ -3415,6 +3416,7 @@ rpm.distros.suse=SUSE系ディストリビューションの場合
|
|||
rpm.install=パッケージをインストールするには、次のコマンドを実行します:
|
||||
rpm.repository=リポジトリ情報
|
||||
rpm.repository.architectures=Architectures
|
||||
rpm.repository.multiple_groups=このパッケージは複数のグループで利用可能です。
|
||||
rubygems.install=gem を使用してパッケージをインストールするには、次のコマンドを実行します:
|
||||
rubygems.install2=または Gemfile に追加します:
|
||||
rubygems.dependencies.runtime=実行用依存関係
|
||||
|
@ -3567,6 +3569,7 @@ variables.none=変数はまだありません。
|
|||
variables.deletion=変数を削除
|
||||
variables.deletion.description=変数の削除は恒久的で元に戻すことはできません。 続行しますか?
|
||||
variables.description=変数は特定のActionsに渡されます。 それ以外で読み出されることはありません。
|
||||
variables.id_not_exist=IDが%dの変数は存在しません。
|
||||
variables.edit=変数の編集
|
||||
variables.deletion.failed=変数を削除できませんでした。
|
||||
variables.deletion.success=変数を削除しました。
|
||||
|
|
|
@ -84,6 +84,12 @@ concept_user_organization=조직
|
|||
|
||||
name=이름
|
||||
|
||||
filter.is_template=템플릿
|
||||
filter.private=비공개
|
||||
|
||||
|
||||
[search]
|
||||
|
||||
[aria]
|
||||
|
||||
[heatmap]
|
||||
|
@ -199,7 +205,6 @@ collaborative_repos=협업 저장소
|
|||
my_orgs=내 조직
|
||||
my_mirrors=내 미러 저장소들
|
||||
view_home=%s 보기
|
||||
search_repos=저장소 찾기..
|
||||
|
||||
|
||||
show_private=비공개
|
||||
|
@ -210,12 +215,7 @@ issues.in_your_repos=당신의 저장소에
|
|||
repos=저장소
|
||||
users=유저
|
||||
organizations=조직
|
||||
search=검색
|
||||
code=코드
|
||||
repo_no_results=일치하는 레포지토리가 없습니다.
|
||||
user_no_results=일치하는 사용자가 없습니다.
|
||||
org_no_results=일치하는 조직이 없습니다.
|
||||
code_no_results=검색어와 일치하는 소스코드가 없습니다.
|
||||
|
||||
[auth]
|
||||
create_new_account=계정 등록
|
||||
|
@ -226,7 +226,6 @@ disable_register_mail=계정 등록을 위한 이메일 검증이 비활성화
|
|||
forgot_password_title=비밀번호 찾기
|
||||
forgot_password=비밀번호를 잊으셨나요?
|
||||
sign_up_now=계정이 필요하신가요? 지금 가입하세요.
|
||||
confirmation_mail_sent_prompt=새로운 확인 메일이 <b>%s</b>로 전송되었습니다. 받은 편지함으로 도착한 메일을 %s 안에 확인해서 등록 절차를 완료하십시오.
|
||||
must_change_password=비밀번호를 변경하세요.
|
||||
allow_password_change=사용자에게 비밀번호 변경을 요청 (권장됨)
|
||||
reset_password_mail_sent_prompt=확인 메일이 <b>%s</b>로 전송되었습니다. 받은 편지함으로 도착한 메일을 %s 안에 확인해서 비밀번호 찾기 절차를 완료하십시오.
|
||||
|
@ -363,6 +362,7 @@ unfollow=추적해제
|
|||
user_bio=소개
|
||||
|
||||
|
||||
|
||||
[settings]
|
||||
profile=프로필
|
||||
account=계정
|
||||
|
@ -661,8 +661,6 @@ editor.add_subdir=경로 추가...
|
|||
|
||||
commits.desc=소스 코드 변경 내역 탐색
|
||||
commits.commits=커밋
|
||||
commits.search=커밋 찾기...
|
||||
commits.find=검색
|
||||
commits.search_all=모든 브랜치
|
||||
commits.author=작성자
|
||||
commits.message=메시지
|
||||
|
@ -844,7 +842,6 @@ pulls.compare_changes=새 풀 리퀘스트
|
|||
pulls.compare_base=병합하기
|
||||
pulls.compare_compare=다음으로부터 풀
|
||||
pulls.filter_branch=Filter Branch
|
||||
pulls.no_results=결과 없음
|
||||
pulls.create=풀 리퀘스트 생성
|
||||
pulls.title_desc="<code>%[2]s</code> 에서 <code id=\"branch_target\">%[3]s</code> 로 %[1]d commits 를 머지하려 합니다"
|
||||
pulls.merged_title_desc=<code>%[2]s</code> 에서 <code>%[3]s</code> 로 %[1]d commits 를 머지했습니다 %[4]s
|
||||
|
@ -952,11 +949,6 @@ activity.published_release_label=배포됨
|
|||
|
||||
contributors.contribution_type.commits=커밋
|
||||
|
||||
search=검색
|
||||
search.search_repo=저장소 검색
|
||||
search.results="<a href=\"%s\">%s</a> 에서 \"%s\" 에 대한 검색 결과"
|
||||
search.code_no_results=검색어와 일치하는 소스코드가 없습니다.
|
||||
|
||||
settings=설정
|
||||
settings.desc=설정은 저장소 설정을 관리할 수 있습니다.
|
||||
settings.options=저장소
|
||||
|
@ -1016,7 +1008,6 @@ settings.add_collaborator=새 공동작업자 추가
|
|||
settings.add_collaborator_success=공동작업자가 추가 되었습니다.
|
||||
settings.delete_collaborator=제거
|
||||
settings.collaborator_deletion=공동작업자 삭제
|
||||
settings.search_user_placeholder=사용자 검색...
|
||||
settings.teams=팀
|
||||
settings.add_webhook=Webhook 추가
|
||||
settings.webhook_deletion=Webhook 삭제
|
||||
|
@ -1090,8 +1081,6 @@ settings.branch_protection='<b>%s</b>' 브랜치 보호
|
|||
settings.protect_this_branch=브랜치 보호 활성화
|
||||
settings.protect_disable_push=푸시 끄기
|
||||
settings.protect_enable_push=푸시 켜기
|
||||
settings.protect_whitelist_search_users=사용자 찾기...
|
||||
settings.protect_whitelist_search_teams=팀 찾기...
|
||||
settings.protect_merge_whitelist_committers=머지 화이트리스트 활성화
|
||||
settings.protect_required_approvals=필요한 승인:
|
||||
settings.protect_approvals_whitelist_users=화이트리스트된 리뷰어:
|
||||
|
@ -1226,7 +1215,6 @@ teams.add_team_member=팀 구성원 추가
|
|||
teams.delete_team_title=팀 삭제
|
||||
teams.delete_team_success=팀이 삭제되었습니다.
|
||||
teams.repositories=팀 저장소
|
||||
teams.search_repo_placeholder=저장소 찾기...
|
||||
teams.add_duplicate_users=사용자가 이미 팀 멤버입니다.
|
||||
teams.members.none=이 팀에 멤버가 없습니다.
|
||||
|
||||
|
@ -1237,6 +1225,8 @@ organizations=조직
|
|||
repositories=저장소
|
||||
authentication=인증 소스
|
||||
config=설정
|
||||
config_summary=요약
|
||||
config_settings=설정
|
||||
notices=시스템 공지
|
||||
monitor=모니터링
|
||||
first_page=처음
|
||||
|
@ -1323,9 +1313,6 @@ repos.repo_manage_panel=저장소 관리
|
|||
repos.owner=소유자
|
||||
repos.name=이름
|
||||
repos.private=비공개
|
||||
repos.watches=지켜보기
|
||||
repos.stars=별
|
||||
repos.forks=포크
|
||||
repos.issues=이슈
|
||||
repos.size=크기
|
||||
|
||||
|
|
|
@ -141,6 +141,15 @@ confirm_delete_selected=Apstiprināt, lai izdzēstu visus atlasītos vienumus?
|
|||
name=Nosaukums
|
||||
value=Vērtība
|
||||
|
||||
filter=Filtrs
|
||||
filter.is_archived=Arhivētie
|
||||
filter.is_template=Sagatave
|
||||
filter.public=Publiska
|
||||
filter.private=Privāts
|
||||
|
||||
|
||||
[search]
|
||||
|
||||
[aria]
|
||||
navbar=Navigācijas josla
|
||||
footer=Kājene
|
||||
|
@ -314,7 +323,6 @@ collaborative_repos=Sadarbības repozitoriji
|
|||
my_orgs=Manas organizācijas
|
||||
my_mirrors=Mani spoguļi
|
||||
view_home=Skatīties %s
|
||||
search_repos=Meklēt repozitoriju…
|
||||
filter=Citi filtri
|
||||
filter_by_team_repositories=Filtrēt pēc komandas repozitorijiem
|
||||
feed_of=`"%s" plūsma`
|
||||
|
@ -335,20 +343,8 @@ issues.in_your_repos=Jūsu repozitorijos
|
|||
repos=Repozitoriji
|
||||
users=Lietotāji
|
||||
organizations=Organizācijas
|
||||
search=Meklēt
|
||||
go_to=Iet uz
|
||||
code=Kods
|
||||
search.type.tooltip=Meklēšanas veids
|
||||
search.fuzzy=Aptuveni
|
||||
search.fuzzy.tooltip=Iekļaut meklēšanas rezultātos arī aptuvenas sakritības
|
||||
search.match=Precīzi
|
||||
search.match.tooltip=Iekļaut meklēšanas rezultātos tikai precīzas sakritības
|
||||
code_search_unavailable=Pašlaik koda meklēšana nav pieejama. Sazinieties ar lapas administratoru.
|
||||
repo_no_results=Netika atrasts neviens repozitorijs, kas atbilstu kritērijiem.
|
||||
user_no_results=Netika atrasts neviens lietotājs, kas atbilstu kritērijiem.
|
||||
org_no_results=Netika atrasta neviena organizācija, kas atbilstu kritērijiem.
|
||||
code_no_results=Netika atrasts pirmkods, kas atbilstu kritērijiem.
|
||||
code_search_results=`Meklēšanas rezultāti "%s"`
|
||||
code_last_indexed_at=Pēdējo reizi indeksēts %s
|
||||
relevant_repositories_tooltip=Repozitoriju, kas ir atdalīti vai kuriem nav tēmas, ikonas un apraksta ir paslēpti.
|
||||
relevant_repositories=Tikai būtiskie repozitoriji tiek rādīti, <a href="%s">pārādīt nefiltrētus rezultātus</a>.
|
||||
|
@ -366,7 +362,6 @@ forgot_password_title=Aizmirsu paroli
|
|||
forgot_password=Aizmirsi paroli?
|
||||
sign_up_now=Nepieciešams konts? Reģistrējies tagad.
|
||||
sign_up_successful=Konts tika veiksmīgi izveidots. Laipni lūdzam!
|
||||
confirmation_mail_sent_prompt=Jauns apstiprināšanas e-pasts ir nosūtīts uz <b>%s</b>, pārbaudies savu e-pasta kontu tuvāko %s laikā, lai pabeigtu reģistrācijas procesu.
|
||||
must_change_password=Mainīt paroli
|
||||
allow_password_change=Pieprasīt lietotājam mainīt paroli (ieteicams)
|
||||
reset_password_mail_sent_prompt=Apstiprināšanas e-pasts tika nosūtīts uz <b>%s</b>. Pārbaudiet savu e-pasta kontu tuvāko %s laikā, lai pabeigtu paroles atjaunošanas procesu.
|
||||
|
@ -614,6 +609,7 @@ form.name_reserved=Lietotājvārdu "%s" nedrīkst izmantot.
|
|||
form.name_pattern_not_allowed=Lietotājvārds "%s" nav atļauts.
|
||||
form.name_chars_not_allowed=Lietotāja vārds "%s" satur neatļautus simbolus.
|
||||
|
||||
|
||||
[settings]
|
||||
profile=Profils
|
||||
account=Konts
|
||||
|
@ -758,7 +754,6 @@ gpg_invalid_token_signature=Norādītā GPG atslēga, paraksts un pilnvara neatb
|
|||
gpg_token_required=Jānorāda paraksts zemāk esošajai pilnvarai
|
||||
gpg_token=Pilnvara
|
||||
gpg_token_help=Parakstu ir iespējams uzģenerēt izmantojot komandu:
|
||||
gpg_token_code=echo "%s" | gpg -a --default-key %s --detach-sig
|
||||
gpg_token_signature=Tekstuāls GPG paraksts
|
||||
key_signature_gpg_placeholder=Sākas ar '-----BEGIN PGP SIGNATURE-----'
|
||||
verify_gpg_key_success=GPG atslēga "%s" veiksmīgi pārbaudīta.
|
||||
|
@ -952,7 +947,6 @@ fork_branch=Atzars, ko klonēt atdalītajā repozitorijā
|
|||
all_branches=Visi atzari
|
||||
fork_no_valid_owners=Šim repozitorijam nevar izveidot atdalītu repozitoriju, jo tam nav spēkā esošu īpašnieku.
|
||||
use_template=Izmantot šo sagatavi
|
||||
clone_in_vsc=Atvērt VS Code
|
||||
download_zip=Lejupielādēt ZIP
|
||||
download_tar=Lejupielādēt TAR.GZ
|
||||
download_bundle=Lejupielādēt BUNDLE
|
||||
|
@ -1272,9 +1266,7 @@ commits.desc=Pārlūkot pirmkoda izmaiņu vēsturi.
|
|||
commits.commits=Revīzijas
|
||||
commits.no_commits=Nav kopīgu revīziju. Atzariem "%s" un "%s" ir pilnībā atšķirīga izmaiņu vēsture.
|
||||
commits.nothing_to_compare=Atzari ir vienādi.
|
||||
commits.search=Meklēt revīzijas…
|
||||
commits.search.tooltip=Jūs varat izmantot atslēgas vārdus "author:", "committer:", "after:" vai "before:", piemēram, "revert author:Alice before:2019-01-13".
|
||||
commits.find=Meklēt
|
||||
commits.search_all=Visi atzari
|
||||
commits.author=Autors
|
||||
commits.message=Ziņojums
|
||||
|
@ -1325,7 +1317,6 @@ projects.type.basic_kanban=`Vienkāršots "Kanban"`
|
|||
projects.type.bug_triage=Kļūdu šķirošana
|
||||
projects.template.desc=Projekta sagatave
|
||||
projects.template.desc_helper=Izvēlieties projekta sagatavi, lai sāktu darbu
|
||||
projects.type.uncategorized=Bez kategorijas
|
||||
projects.column.edit=Rediģēt kolonnas
|
||||
projects.column.edit_title=Nosaukums
|
||||
projects.column.new_title=Nosaukums
|
||||
|
@ -1333,10 +1324,7 @@ projects.column.new_submit=Izveidot kolonnu
|
|||
projects.column.new=Jauna kolonna
|
||||
projects.column.set_default=Izvēlēties kā noklusēto
|
||||
projects.column.set_default_desc=Izvēlēties šo kolonnu kā noklusēto nekategorizētām problēmām un izmaiņu pieteikumiem
|
||||
projects.column.unset_default=Atiestatīt noklusēto
|
||||
projects.column.unset_default_desc=Noņemt šo kolonnu kā noklusēto
|
||||
projects.column.delete=Dzēst kolonnu
|
||||
projects.column.deletion_desc=Dzēšot projekta kolonnu visas tam piesaistītās problēmas tiks pārliktas kā nekategorizētas. Vai turpināt?
|
||||
projects.column.color=Krāsa
|
||||
projects.open=Aktīvie
|
||||
projects.close=Pabeigtie
|
||||
|
@ -1448,7 +1436,6 @@ issues.filter_sort.moststars=Visvairāk atzīmētie
|
|||
issues.filter_sort.feweststars=Vismazāk atzīmētie
|
||||
issues.filter_sort.mostforks=Visvairāk atdalītie
|
||||
issues.filter_sort.fewestforks=Vismazāk atdalītie
|
||||
issues.keyword_search_unavailable=Meklēšana pēc atslēgvārda pašreiz nav pieejama. Lūgums sazināties ar vietnes administratoru.
|
||||
issues.action_open=Atvērt
|
||||
issues.action_close=Aizvērt
|
||||
issues.action_label=Etiķete
|
||||
|
@ -1700,7 +1687,6 @@ pulls.compare_compare=salīdzināmais
|
|||
pulls.switch_comparison_type=Mainīt salīdzināšanas tipu
|
||||
pulls.switch_head_and_base=Mainīt galvas un pamata atzarus
|
||||
pulls.filter_branch=Filtrēt atzarus
|
||||
pulls.no_results=Nekas netika atrasts.
|
||||
pulls.show_all_commits=Rādīt visas revīzijas
|
||||
pulls.show_changes_since_your_last_review=Rādīt izmaiņas kopš Tavas pēdējās recenzijas
|
||||
pulls.showing_only_single_commit=Rāda tikai revīzijas %[1]s izmaiņas
|
||||
|
@ -1970,17 +1956,6 @@ activity.git_stats_deletion_n=%d dzēšanas
|
|||
|
||||
contributors.contribution_type.commits=Revīzijas
|
||||
|
||||
search=Meklēt
|
||||
search.search_repo=Meklēšana repozitorijā
|
||||
search.type.tooltip=Meklēšanas veids
|
||||
search.fuzzy=Aptuveni
|
||||
search.fuzzy.tooltip=Iekļaut meklēšanas rezultātos arī aptuvenas sakritības
|
||||
search.match=Precīzi
|
||||
search.match.tooltip=Iekļaut meklēšanas rezultātos tikai precīzas sakritības
|
||||
search.results=Meklēšanas rezultāti nosacījumam "%s" repozitorijā <a href="%s">%s</a>
|
||||
search.code_no_results=Netika atrasts pirmkods, kas atbilstu kritērijiem.
|
||||
search.code_search_unavailable=Pašlaik koda meklēšana nav pieejama. Sazinieties ar lapas administratoru.
|
||||
|
||||
settings=Iestatījumi
|
||||
settings.desc=Iestatījumi ir vieta, kur varat pārvaldīt repozitorija iestatījumus
|
||||
settings.options=Repozitorijs
|
||||
|
@ -2058,6 +2033,7 @@ settings.pulls.default_allow_edits_from_maintainers=Atļaut uzturētājiem labot
|
|||
settings.releases_desc=Iespējot repozitorija laidienus
|
||||
settings.packages_desc=Iespējot repozitorija pakotņu reģistru
|
||||
settings.projects_desc=Iespējot repozitorija projektus
|
||||
settings.projects_mode_all=Visi projekti
|
||||
settings.actions_desc=Iespējot repozitorija darbības
|
||||
settings.admin_settings=Administratora iestatījumi
|
||||
settings.admin_enable_health_check=Iespējot veselības pārbaudi (git fsck) šim repozitorijam
|
||||
|
@ -2132,7 +2108,6 @@ settings.delete_collaborator=Noņemt
|
|||
settings.collaborator_deletion=Noņemt līdzstrādnieku
|
||||
settings.collaborator_deletion_desc=Noņemot līdzstrādnieku, tam tiks liegta piekļuve šim repozitorijam. Vai turpināt?
|
||||
settings.remove_collaborator_success=Līdzstrādnieks tika noņemts.
|
||||
settings.search_user_placeholder=Meklēt lietotāju…
|
||||
settings.org_not_allowed_to_be_collaborator=Organizācijas nevar tikt pievienotas kā līdzstrādnieki.
|
||||
settings.change_team_access_not_allowed=Iespēja mainīt komandu piekļuvi repozitorijam ir organizācijas īpašniekam
|
||||
settings.team_not_in_organization=Komanda nav tajā pašā organizācijā kā repozitorijs
|
||||
|
@ -2140,7 +2115,6 @@ settings.teams=Komandas
|
|||
settings.add_team=Pievienot komandu
|
||||
settings.add_team_duplicate=Komandai jau ir piekļuve šim repozitorijam
|
||||
settings.add_team_success=Komandai tagad ir piekļuve šim repozitorijam.
|
||||
settings.search_team=Meklēt komandu…
|
||||
settings.change_team_permission_tip=Komandas tiesības tiek uzstādītas komandas iestatījumu lapā un nevar tikt individuāli mainītas katram repozitorijam atsevišķi
|
||||
settings.delete_team_tip=Komandai ir piekļuve visiem repozitorijiem un tā nevar tikt noņemta individuāli
|
||||
settings.remove_team_success=Komandas piekļuve šim repozitorijam ir noņemta.
|
||||
|
@ -2293,9 +2267,7 @@ settings.protect_whitelist_committers=Atļaut iesūtīt izmaiņas norādītajiem
|
|||
settings.protect_whitelist_committers_desc=Tikai norādītiem lietotāji vai komandas varēs iesūtīt izmaiņas šajā atzarā (piespiedu izmaiņu iesūtīšanas netiks atļauta).
|
||||
settings.protect_whitelist_deploy_keys=Atļaut izvietošanas atslēgām ar rakstīšanas tiesībām nosūtīt izmaiņas.
|
||||
settings.protect_whitelist_users=Lietotāji, kas var veikt izmaiņu nosūtīšanu:
|
||||
settings.protect_whitelist_search_users=Meklēt lietotājus…
|
||||
settings.protect_whitelist_teams=Komandas, kas var veikt izmaiņu nosūtīšanu:
|
||||
settings.protect_whitelist_search_teams=Meklēt komandas…
|
||||
settings.protect_merge_whitelist_committers=Iespējot sapludināšanas ierobežošanu
|
||||
settings.protect_merge_whitelist_committers_desc=Atļaut tikai noteiktiem lietotājiem vai komandām sapludināt izmaiņu pieprasījumus šajā atzarā.
|
||||
settings.protect_merge_whitelist_users=Lietotāji, kas var veikt izmaiņu sapludināšanu:
|
||||
|
@ -2537,7 +2509,6 @@ branch.default_deletion_failed=Atzars "%s" ir noklusētais atzars un to nevar dz
|
|||
branch.restore=`Atjaunot atzaru "%s"`
|
||||
branch.download=`Lejupielādēt atzaru "%s"`
|
||||
branch.rename=`Pārsaukt atzaru "%s"`
|
||||
branch.search=Meklēt atzarā
|
||||
branch.included_desc=Šis atzars ir daļa no noklusēta atzara
|
||||
branch.included=Iekļauts
|
||||
branch.create_new_branch=Izveidot jaunu atzaru no atzara:
|
||||
|
@ -2679,7 +2650,6 @@ teams.write_permission_desc=Šai komandai ir <strong>rakstīšanas</strong> ties
|
|||
teams.admin_permission_desc=Šai komandai ir <strong>administratora</strong> tiesības: dalībnieki var lasīt, rakstīt un pievienot citus dalībniekus komandas repozitorijiem.
|
||||
teams.create_repo_permission_desc=Papildus šī komanda piešķirt <strong>Veidot repozitorijus</strong> tiesības: komandas biedri var veidot jaunus repozitorijus šajā organizācijā.
|
||||
teams.repositories=Komandas repozitoriji
|
||||
teams.search_repo_placeholder=Meklēt repozitorijā…
|
||||
teams.remove_all_repos_title=Noņemt visus komandas repozitorijus
|
||||
teams.remove_all_repos_desc=Šī darbība noņems visus repozitorijus no komandas.
|
||||
teams.add_all_repos_title=Pievienot visus repozitorijus
|
||||
|
@ -2712,6 +2682,8 @@ integrations=Integrācijas
|
|||
authentication=Autentificēšanas avoti
|
||||
emails=Lietotāja e-pasts
|
||||
config=Konfigurācija
|
||||
config_summary=Kopsavilkums
|
||||
config_settings=Iestatījumi
|
||||
notices=Sistēmas paziņojumi
|
||||
monitor=Uzraudzība
|
||||
first_page=Pirmā
|
||||
|
@ -2886,9 +2858,6 @@ repos.unadopted.no_more=Netika atrasts neviens nepārņemtais repozitorijs
|
|||
repos.owner=Īpašnieks
|
||||
repos.name=Nosaukums
|
||||
repos.private=Privāts
|
||||
repos.watches=Vērošana
|
||||
repos.stars=Zvaigznes
|
||||
repos.forks=Atdalītie
|
||||
repos.issues=Problēmas
|
||||
repos.size=Izmērs
|
||||
repos.lfs_size=LFS izmērs
|
||||
|
@ -3013,7 +2982,6 @@ auths.tip.nextcloud=`Reģistrējiet jaunu OAuth klientu jūsu instances sadāļ
|
|||
auths.tip.dropbox=Izveidojiet jaunu aplikāciju adresē https://www.dropbox.com/developers/apps
|
||||
auths.tip.facebook=`Reģistrējiet jaunu aplikāciju adresē https://developers.facebook.com/apps un pievienojiet produktu "Facebook Login"`
|
||||
auths.tip.github=Reģistrējiet jaunu aplikāciju adresē https://github.com/settings/applications/new
|
||||
auths.tip.gitlab=Reģistrējiet jaunu aplikāciju adresē https://gitlab.com/profile/applications
|
||||
auths.tip.google_plus=Iegūstiet OAuth2 klienta pilnvaru no Google API konsoles adresē https://console.developers.google.com/
|
||||
auths.tip.openid_connect=Izmantojiet OpenID pieslēgšanās atklāšanas URL (<serveris>/.well-known/openid-configuration), lai norādītu galapunktus
|
||||
auths.tip.twitter=Dodieties uz adresi https://dev.twitter.com/apps, izveidojiet lietotni un pārliecinieties, ka ir atzīmēts “Allow this application to be used to Sign in with Twitter”
|
||||
|
|
|
@ -115,6 +115,15 @@ concept_user_organization=Organisatie
|
|||
|
||||
name=Naam
|
||||
|
||||
filter=Filter
|
||||
filter.is_archived=Gearchiveerd
|
||||
filter.is_template=Sjabloon
|
||||
filter.public=Publiek
|
||||
filter.private=Prive
|
||||
|
||||
|
||||
[search]
|
||||
|
||||
[aria]
|
||||
|
||||
[heatmap]
|
||||
|
@ -253,7 +262,6 @@ collaborative_repos=Gedeelde repositories
|
|||
my_orgs=Mijn organisaties
|
||||
my_mirrors=Mijn spiegels
|
||||
view_home=Bekijk %s
|
||||
search_repos=Zoek een repository…
|
||||
filter=Andere filters
|
||||
filter_by_team_repositories=Filter op team repositories
|
||||
feed_of=`Feed van "%s"`
|
||||
|
@ -274,15 +282,7 @@ issues.in_your_repos=In uw repositories
|
|||
repos=Repositories
|
||||
users=Gebruikers
|
||||
organizations=Organisaties
|
||||
search=Zoeken
|
||||
code=Code
|
||||
search.fuzzy=Vergelijkbaar
|
||||
search.match=Overeenkomst
|
||||
code_search_unavailable=Er is momenteel geen code zoekfunctie beschikbaar. Neem contact op met uw sitebeheerder.
|
||||
repo_no_results=Er zijn geen overeenkomende repositories gevonden.
|
||||
user_no_results=Er zijn geen overeenkomende gebruikers gevonden.
|
||||
org_no_results=Er zijn geen overeenkomende organisaties gevonden.
|
||||
code_no_results=Geen broncode gevonden in overeenstemming met uw zoekterm.
|
||||
code_last_indexed_at=Laatst geïndexeerd %s
|
||||
|
||||
[auth]
|
||||
|
@ -296,7 +296,6 @@ remember_me=Onthoud dit apparaat
|
|||
forgot_password_title=Wachtwoord vergeten
|
||||
forgot_password=Wachtwoord vergeten?
|
||||
sign_up_now=Een account nodig? Meld u nu aan.
|
||||
confirmation_mail_sent_prompt=Een nieuwe bevestigingsmail is gestuurd naar <b>%s</b>. De mail moet binnen %s worden bevestigd om je registratie te voltooien.
|
||||
must_change_password=Uw wachtwoord wijzigen
|
||||
allow_password_change=Verplicht de gebruiker om zijn/haar wachtwoord te wijzigen (aanbevolen)
|
||||
reset_password_mail_sent_prompt=Een bevestigingsmail is verstuurd naar <b>%s</b>. Controleer uw inbox in de volgende %s om het herstel van uw account te voltooien.
|
||||
|
@ -506,6 +505,7 @@ user_bio=Biografie
|
|||
disabled_public_activity=Deze gebruiker heeft de publieke zichtbaarheid van de activiteit uitgeschakeld.
|
||||
|
||||
|
||||
|
||||
[settings]
|
||||
profile=Profiel
|
||||
account=Account
|
||||
|
@ -633,7 +633,6 @@ gpg_invalid_token_signature=De opgegeven GPG-sleutel, handtekening en token kome
|
|||
gpg_token_required=U moet een handtekening opgeven voor de onderstaande token
|
||||
gpg_token=Token
|
||||
gpg_token_help=U kunt een handtekening genereren met:
|
||||
gpg_token_code=echo "%s" | gpg -a --default-key %s --detach-sig
|
||||
gpg_token_signature=Gepantserde GPG-handtekening
|
||||
key_signature_gpg_placeholder=Begint met '-----BEGIN PGP SIGNATURE-----'
|
||||
ssh_key_verified=Geverifieerde sleutel
|
||||
|
@ -785,7 +784,6 @@ already_forked=Je hebt %s al geforked
|
|||
fork_to_different_account=Fork naar een ander account
|
||||
fork_visibility_helper=De zichtbaarheid van een geforkte repository kan niet worden veranderd.
|
||||
use_template=Gebruik dit sjabloon
|
||||
clone_in_vsc=Kloon in VS Code
|
||||
download_zip=ZIP downloaden
|
||||
download_tar=TAR.GZ downloaden
|
||||
download_bundle=BUNDLE downloaden
|
||||
|
@ -1049,8 +1047,6 @@ editor.revert=%s ongedaan maken op:
|
|||
commits.desc=Bekijk de broncode-wijzigingsgeschiedenis.
|
||||
commits.commits=Commits
|
||||
commits.nothing_to_compare=Deze branches zijn gelijk.
|
||||
commits.search=Zoek commits…
|
||||
commits.find=Zoek
|
||||
commits.search_all=Alle branches
|
||||
commits.author=Auteur
|
||||
commits.message=Bericht
|
||||
|
@ -1095,7 +1091,6 @@ projects.type.basic_kanban=Basis Kanban
|
|||
projects.type.bug_triage=Bug Triage
|
||||
projects.template.desc=Project sjabloon
|
||||
projects.template.desc_helper=Selecteer een projecttemplate om aan de slag te gaan
|
||||
projects.type.uncategorized=Ongecategoriseerd
|
||||
projects.column.edit_title=Naam
|
||||
projects.column.new_title=Naam
|
||||
projects.column.color=Kleur
|
||||
|
@ -1406,7 +1401,6 @@ pulls.compare_compare=trekken van
|
|||
pulls.switch_comparison_type=Wissel vergelijking type
|
||||
pulls.switch_head_and_base=Verwissel hoofd en basis
|
||||
pulls.filter_branch=Filter branch
|
||||
pulls.no_results=Geen resultaten gevonden.
|
||||
pulls.nothing_to_compare=Deze branches zijn gelijk. Er is geen pull-aanvraag nodig.
|
||||
pulls.nothing_to_compare_and_allow_empty_pr=Deze branches zijn gelijk. Deze pull verzoek zal leeg zijn.
|
||||
pulls.has_pull_request=`Een pull-verzoek tussen deze branches bestaat al: <a href="%[1]s">%[2]s#%[3]d</a>`
|
||||
|
@ -1621,14 +1615,6 @@ activity.git_stats_deletion_n=%d verwijderingen
|
|||
|
||||
contributors.contribution_type.commits=Commits
|
||||
|
||||
search=Zoek
|
||||
search.search_repo=Zoek repository
|
||||
search.fuzzy=Vergelijkbaar
|
||||
search.match=Overeenkomst
|
||||
search.results=Zoek resultaat voor "%s" in <a href="%s">%s</a>
|
||||
search.code_no_results=Geen broncode gevonden die aan uw zoekterm voldoet.
|
||||
search.code_search_unavailable=Er is momenteel geen code zoekfunctie beschikbaar. Neem contact op met uw sitebeheerder.
|
||||
|
||||
settings=Instellingen
|
||||
settings.desc=In de instellingen kan je de instellingen van de repository aanpassen
|
||||
settings.options=Repository
|
||||
|
@ -1705,7 +1691,6 @@ settings.delete_collaborator=Verwijder
|
|||
settings.collaborator_deletion=Verwijder medewerker
|
||||
settings.collaborator_deletion_desc=Het verwijderen van een collaborator zal hun toegang tot deze repository intrekken. Doorgaan?
|
||||
settings.remove_collaborator_success=De medewerker is verwijderd.
|
||||
settings.search_user_placeholder=Zoek gebruiker…
|
||||
settings.org_not_allowed_to_be_collaborator=Organisaties kunnen niet worden toegevoegd als een medewerker.
|
||||
settings.change_team_access_not_allowed=Het veranderen van team toegang voor de repository is beperkt tot de organisatie eigenaar
|
||||
settings.team_not_in_organization=Het team zit niet in dezelfde organisatie als de repository
|
||||
|
@ -1713,7 +1698,6 @@ settings.teams=Teams
|
|||
settings.add_team=Team toevoegen
|
||||
settings.add_team_duplicate=Team heeft al de repository
|
||||
settings.add_team_success=Het team heeft nu toegang tot de repository.
|
||||
settings.search_team=Zoek team…
|
||||
settings.change_team_permission_tip=Teammachtiging is ingesteld op de team-instellingspagina en kan niet per repository worden gewijzigd
|
||||
settings.delete_team_tip=Dit team heeft toegang tot alle repositories en kan niet verwijderd worden
|
||||
settings.remove_team_success=De toegang van het team tot de repository is verwijderd.
|
||||
|
@ -1845,9 +1829,7 @@ settings.protect_whitelist_committers=Whitelist Beperkte Push
|
|||
settings.protect_whitelist_committers_desc=Alleen gewhiteliste gebruikers of teams mogen pushen naar deze branch (maar geen force push).
|
||||
settings.protect_whitelist_deploy_keys=Whitelist deploy sleutels met schrijftoegang om te pushen.
|
||||
settings.protect_whitelist_users=Toegestane gebruikers voor push:
|
||||
settings.protect_whitelist_search_users=Zoek gebruiker…
|
||||
settings.protect_whitelist_teams=Toegestane teams voor push:
|
||||
settings.protect_whitelist_search_teams=Zoek teams…
|
||||
settings.protect_merge_whitelist_committers=Samenvoegen whitelist inschakelen
|
||||
settings.protect_merge_whitelist_committers_desc=Sta alleen gebruikers of teams van de whitelist toe om pull requests samen te voegen met deze branch.
|
||||
settings.protect_merge_whitelist_users=Toegestane gebruikers voor samenvoegen:
|
||||
|
@ -2123,7 +2105,6 @@ teams.write_permission_desc=Dit team heeft <strong>Schrijf</strong> rechten: led
|
|||
teams.admin_permission_desc=Dit team heeft <strong>beheersrechten</strong>: leden kunnen van en naar teamrepositories pullen, pushen, en er medewerkers aan toevoegen.
|
||||
teams.create_repo_permission_desc=Daarnaast verleent dit team <strong>Maak repository</strong> permissie: leden kunnen nieuwe repositories maken in de organisatie.
|
||||
teams.repositories=Teamrepositories
|
||||
teams.search_repo_placeholder=Repository zoeken…
|
||||
teams.remove_all_repos_title=Verwijder alle team repositories
|
||||
teams.remove_all_repos_desc=Dit zal alle repositories uit het team verwijderen.
|
||||
teams.add_all_repos_title=Voeg alle repositories toe
|
||||
|
@ -2145,6 +2126,8 @@ repositories=Repositories
|
|||
authentication=Authenticatie bronnen
|
||||
emails=Gebruikeremails
|
||||
config=Configuratie
|
||||
config_summary=Overzicht
|
||||
config_settings=Instellingen
|
||||
notices=Systeem aankondigingen
|
||||
monitor=Bijhouden
|
||||
first_page=Eerste
|
||||
|
@ -2282,9 +2265,6 @@ repos.unadopted.no_more=Geen niet-geadopteerde repositories meer gevonden
|
|||
repos.owner=Eigenaar
|
||||
repos.name=Naam
|
||||
repos.private=Prive
|
||||
repos.watches=Volgers
|
||||
repos.stars=Sterren
|
||||
repos.forks=Forks
|
||||
repos.issues=Kwesties
|
||||
repos.size=Grootte
|
||||
|
||||
|
@ -2365,7 +2345,6 @@ auths.tip.nextcloud=`Registreer een nieuwe OAuth consument op je installatie met
|
|||
auths.tip.dropbox=Maak een nieuwe applicatie aan op https://www.dropbox.com/developers/apps
|
||||
auths.tip.facebook=Registreer een nieuwe applicatie op https://developers.facebook.com/apps en voeg het product "Facebook Login" toe
|
||||
auths.tip.github=Registreer een nieuwe OAuth toepassing op https://github.com/settings/applications/new
|
||||
auths.tip.gitlab=Registreer een nieuwe applicatie op https://gitlab.com/profile/applicaties
|
||||
auths.tip.google_plus=Verkrijg OAuth2 client referenties van de Google API console op https://console.developers.google.com/
|
||||
auths.tip.openid_connect=Gebruik de OpenID Connect Discovery URL (<server>/.well-known/openid-configuration) om de eindpunten op te geven
|
||||
auths.tip.yandex=`Maak een nieuwe applicatie aan op https://oauth.yandex.com/client/new. Selecteer de volgende machtigingen van de "Yandex". assport API sectie: "Toegang tot e-mailadres", "Toegang tot avatar" en "Toegang tot gebruikersnaam, voornaam en achternaam, geslacht"`
|
||||
|
|
|
@ -113,6 +113,14 @@ concept_user_organization=Organizacja
|
|||
|
||||
name=Nazwa
|
||||
|
||||
filter.is_archived=Zarchiwizowane
|
||||
filter.is_template=Szablon
|
||||
filter.public=Publiczne
|
||||
filter.private=Prywatne
|
||||
|
||||
|
||||
[search]
|
||||
|
||||
[aria]
|
||||
|
||||
[heatmap]
|
||||
|
@ -251,7 +259,6 @@ collaborative_repos=Wspólne repozytoria
|
|||
my_orgs=Moje organizacje
|
||||
my_mirrors=Moje kopie lustrzane
|
||||
view_home=Zobacz %s
|
||||
search_repos=Znajdź repozytorium…
|
||||
filter=Inne filtry
|
||||
filter_by_team_repositories=Filtruj według repozytoriów zespołu
|
||||
feed_of=`Kanał "%s"`
|
||||
|
@ -272,14 +279,7 @@ issues.in_your_repos=W Twoich repozytoriach
|
|||
repos=Repozytoria
|
||||
users=Użytkownicy
|
||||
organizations=Organizacje
|
||||
search=Szukaj
|
||||
code=Kod
|
||||
search.fuzzy=Fuzzy
|
||||
search.match=Dopasuj
|
||||
repo_no_results=Nie znaleziono pasujących repozytoriów.
|
||||
user_no_results=Nie znaleziono pasującego użytkowników.
|
||||
org_no_results=Nie znaleziono pasujących organizacji.
|
||||
code_no_results=Nie znaleziono kodu źródłowego odpowiadającego Twojej frazie wyszukiwania.
|
||||
code_last_indexed_at=Ostatnio indeksowane %s
|
||||
|
||||
[auth]
|
||||
|
@ -292,7 +292,6 @@ remember_me=Zapamiętaj to urządzenie
|
|||
forgot_password_title=Zapomniałem hasła
|
||||
forgot_password=Zapomniałeś hasła?
|
||||
sign_up_now=Potrzebujesz konta? Zarejestruj się teraz.
|
||||
confirmation_mail_sent_prompt=Nowy email aktywacyjny został wysłany na adres <b>%s</b>. Sprawdź swoją skrzynkę odbiorczą w ciągu %s aby dokończyć proces rejestracji.
|
||||
must_change_password=Zaktualizuj swoje hasło
|
||||
allow_password_change=Użytkownik musi zmienić hasło (zalecane)
|
||||
reset_password_mail_sent_prompt=E-mail potwierdzający został wysłany na adres <b>%s</b>. Sprawdź swoją skrzynkę odbiorczą w przeciągu %s, aby ukończyć proces odzyskiwania konta.
|
||||
|
@ -491,6 +490,7 @@ user_bio=Biografia
|
|||
disabled_public_activity=Ten użytkownik wyłączył publiczne wyświetlanie jego aktywności.
|
||||
|
||||
|
||||
|
||||
[settings]
|
||||
profile=Profil
|
||||
account=Konto
|
||||
|
@ -597,7 +597,6 @@ gpg_invalid_token_signature=Podany klucz GPG, podpis i token nie pasują lub tok
|
|||
gpg_token_required=Musisz podać podpis poniższego tokenu
|
||||
gpg_token=Token
|
||||
gpg_token_help=Możesz wygenerować podpis za pomocą:
|
||||
gpg_token_code=echo "%s" | gpg -a --default-key %s --detach-sig
|
||||
gpg_token_signature=Wzmocniony podpis GPG
|
||||
key_signature_gpg_placeholder=Zaczyna się od '-----BEGIN PGP SIGNATURE-----'
|
||||
ssh_key_verified=Zweryfikowany klucz
|
||||
|
@ -741,7 +740,6 @@ fork_repo=Forkuj repozytorium
|
|||
fork_from=Forkuj z
|
||||
fork_visibility_helper=Widoczność sforkowanego repozytorium nie może być zmieniona.
|
||||
use_template=Użyj tego szablonu
|
||||
clone_in_vsc=Klonuj w VS Code
|
||||
download_zip=Pobierz ZIP
|
||||
download_tar=Pobierz TAR.GZ
|
||||
download_bundle=Pobierz BUNDLE
|
||||
|
@ -974,8 +972,6 @@ editor.require_signed_commit=Gałąź wymaga podpisanych commitów
|
|||
|
||||
commits.desc=Przeglądaj historię zmian kodu źródłowego.
|
||||
commits.commits=Commity
|
||||
commits.search=Przeszukaj commity…
|
||||
commits.find=Szukaj
|
||||
commits.search_all=Wszystkie gałęzie
|
||||
commits.author=Autor
|
||||
commits.message=Wiadomość
|
||||
|
@ -1011,7 +1007,6 @@ projects.type.basic_kanban=Basic Kanban
|
|||
projects.type.bug_triage=Bug Triage
|
||||
projects.template.desc=Szablon projektu
|
||||
projects.template.desc_helper=Wybierz szablon projektu do rozpoczęcia
|
||||
projects.type.uncategorized=Bez kategorii
|
||||
projects.column.edit_title=Nazwa
|
||||
projects.column.new_title=Nazwa
|
||||
projects.column.color=Kolor
|
||||
|
@ -1280,7 +1275,6 @@ pulls.compare_changes_desc=Wybierz gałąź, do której chcesz scalić oraz gał
|
|||
pulls.compare_base=scal do
|
||||
pulls.compare_compare=ściągnij z
|
||||
pulls.filter_branch=Filtruj branch
|
||||
pulls.no_results=Nie znaleziono wyników.
|
||||
pulls.nothing_to_compare=Te gałęzie są sobie równe. Nie ma potrzeby tworzyć Pull Requesta.
|
||||
pulls.nothing_to_compare_and_allow_empty_pr=Te gałęzie są równe. Ten PR będzie pusty.
|
||||
pulls.create=Utwórz Pull Request
|
||||
|
@ -1470,13 +1464,6 @@ activity.git_stats_deletion_n=%d usunięć
|
|||
|
||||
contributors.contribution_type.commits=Commity
|
||||
|
||||
search=Szukaj
|
||||
search.search_repo=Przeszukaj repozytorium
|
||||
search.fuzzy=Fuzzy
|
||||
search.match=Dopasuj
|
||||
search.results=Wyniki wyszukiwania dla "%s" w <a href="%s">%s</a>
|
||||
search.code_no_results=Nie znaleziono kodu źródłowego odpowiadającego Twojej frazie wyszukiwania.
|
||||
|
||||
settings=Ustawienia
|
||||
settings.desc=Ustawienia to miejsce, w którym możesz zmieniać parametry repozytorium
|
||||
settings.options=Repozytorium
|
||||
|
@ -1586,7 +1573,6 @@ settings.delete_collaborator=Usuń
|
|||
settings.collaborator_deletion=Usuń współpracownika
|
||||
settings.collaborator_deletion_desc=Usunięcie współpracownika odbierze mu dostęp do tego repozytorium. Kontynuować?
|
||||
settings.remove_collaborator_success=Usunięto użytkownika.
|
||||
settings.search_user_placeholder=Szukaj użytkownika…
|
||||
settings.org_not_allowed_to_be_collaborator=Organizacji nie można dodać jako współpracownika.
|
||||
settings.change_team_access_not_allowed=Zmiana dostępu zespołu do repozytorium zostało zastrzeżone do właściciela organizacji
|
||||
settings.team_not_in_organization=Zespół nie jest w tej samej organizacji co repozytorium
|
||||
|
@ -1594,7 +1580,6 @@ settings.teams=Zespoły
|
|||
settings.add_team=Dodaj zespół
|
||||
settings.add_team_duplicate=Zespół już posiada repozytorium
|
||||
settings.add_team_success=Zespół ma teraz dostęp do repozytorium.
|
||||
settings.search_team=Szukaj zespołu…
|
||||
settings.change_team_permission_tip=Uprawnienia zespołu ustawione są konfigurowane na stronie ustawień zespołu i nie mogą być zmieniane dla pojedynczych repozytoriów
|
||||
settings.delete_team_tip=Ten zespół ma dostęp do wszystkich repozytoriów i nie może zostać usunięty
|
||||
settings.remove_team_success=Dostęp zespołu do repozytorium został usunięty.
|
||||
|
@ -1710,9 +1695,7 @@ settings.protect_whitelist_committers=Wypychanie ograniczone białą listą
|
|||
settings.protect_whitelist_committers_desc=Tylko dopuszczeni użytkownicy oraz zespoły będą miały możliwość wypychania zmian do tej gałęzi (oprócz wymuszenia wypchnięcia).
|
||||
settings.protect_whitelist_deploy_keys=Dozwolona lista kluczy wdrożeniowych z uprawnieniem zapisu do push'a.
|
||||
settings.protect_whitelist_users=Użytkownicy dopuszczeni do wypychania:
|
||||
settings.protect_whitelist_search_users=Szukaj użytkowników…
|
||||
settings.protect_whitelist_teams=Zespoły dopuszczone do wypychania:
|
||||
settings.protect_whitelist_search_teams=Szukaj zespołów…
|
||||
settings.protect_merge_whitelist_committers=Włącz dopuszczenie scalania
|
||||
settings.protect_merge_whitelist_committers_desc=Zezwól jedynie dopuszczonym użytkownikom lub zespołom na scalanie Pull Requestów w tej gałęzi.
|
||||
settings.protect_merge_whitelist_users=Użytkownicy dopuszczeni do scalania:
|
||||
|
@ -1994,7 +1977,6 @@ teams.write_permission_desc=Ten zespół udziela dostępu <strong>z zapisem</str
|
|||
teams.admin_permission_desc=Ten zespół udziela dostępu <strong>administratora</strong>: członkowie mogą wyświetlać i wypychać zmiany oraz dodawać współpracowników do repozytoriów zespołu.
|
||||
teams.create_repo_permission_desc=Dodatkowo, ten zespół otrzyma uprawnienie <strong>Tworzenie repozytoriów</strong>: jego członkowie mogą tworzyć nowe repozytoria w organizacji.
|
||||
teams.repositories=Repozytoria zespołu
|
||||
teams.search_repo_placeholder=Szukaj repozytorium…
|
||||
teams.remove_all_repos_title=Usuń wszystkie repozytoria zespołu
|
||||
teams.remove_all_repos_desc=Usunie to wszystkie repozytoria przypisane do zespołu.
|
||||
teams.add_all_repos_title=Dodaj wszystkie repozytoria
|
||||
|
@ -2019,6 +2001,8 @@ hooks=Weebhook'i
|
|||
authentication=Źródła uwierzytelniania
|
||||
emails=Emaile użytkowników
|
||||
config=Konfiguracja
|
||||
config_summary=Podsumowanie
|
||||
config_settings=Ustawienia
|
||||
notices=Powiadomienia systemu
|
||||
monitor=Monitorowanie
|
||||
first_page=Pierwsza
|
||||
|
@ -2157,9 +2141,6 @@ repos.unadopted.no_more=Nie znaleziono więcej nieprzyjętych repozytoriów
|
|||
repos.owner=Właściciel
|
||||
repos.name=Nazwa
|
||||
repos.private=Prywatne
|
||||
repos.watches=Obserwujących
|
||||
repos.stars=Polubienia
|
||||
repos.forks=Forki
|
||||
repos.issues=Zgłoszenia
|
||||
repos.size=Rozmiar
|
||||
|
||||
|
@ -2248,7 +2229,6 @@ auths.tip.nextcloud=`Zarejestruj nowego klienta OAuth w swojej instancji za pomo
|
|||
auths.tip.dropbox=Stwórz nową aplikację na https://www.dropbox.com/developers/apps
|
||||
auths.tip.facebook=`Zarejestruj nową aplikację na https://developers.facebook.com/apps i dodaj produkt "Facebook Login"`
|
||||
auths.tip.github=Zarejestruj nową aplikację OAuth na https://github.com/settings/applications/new
|
||||
auths.tip.gitlab=Zarejestruj nową aplikację na https://gitlab.com/profile/applications
|
||||
auths.tip.google_plus=Uzyskaj dane uwierzytelniające klienta OAuth2 z konsoli Google API na https://console.developers.google.com/
|
||||
auths.tip.openid_connect=Użyj adresu URL OpenID Connect Discovery (<server>/.well-known/openid-configuration), aby określić punkty końcowe
|
||||
auths.tip.twitter=Przejdź na https://dev.twitter.com/apps, stwórz aplikację i upewnij się, że opcja “Allow this application to be used to Sign in with Twitter” jest włączona
|
||||
|
|
|
@ -90,6 +90,7 @@ remove=Remover
|
|||
remove_all=Excluir todos
|
||||
remove_label_str=`Remover item "%s"`
|
||||
edit=Editar
|
||||
view=Visualizar
|
||||
|
||||
enabled=Habilitado
|
||||
disabled=Desabilitado
|
||||
|
@ -97,6 +98,7 @@ locked=Bloqueado
|
|||
|
||||
copy=Copiar
|
||||
copy_url=Copiar URL
|
||||
copy_hash=Copiar hash
|
||||
copy_content=Copiar conteúdo
|
||||
copy_branch=Copiar nome do branch
|
||||
copy_success=Copiado!
|
||||
|
@ -109,6 +111,7 @@ loading=Carregando…
|
|||
|
||||
error=Erro
|
||||
error404=A página que você está tentando acessar <strong>não existe</strong> ou <strong>você não está autorizado</strong> a visualizá-la.
|
||||
go_back=Voltar
|
||||
|
||||
never=Nunca
|
||||
unknown=Desconhecido
|
||||
|
@ -119,6 +122,7 @@ pin=Fixar
|
|||
unpin=Desfixar
|
||||
|
||||
artifacts=Artefatos
|
||||
confirm_delete_artifact=Tem certeza que deseja excluir o artefato '%s' ?
|
||||
|
||||
archived=Arquivado
|
||||
|
||||
|
@ -137,6 +141,15 @@ confirm_delete_selected=Confirma a exclusão de todos os itens selecionados?
|
|||
name=Nome
|
||||
value=Valor
|
||||
|
||||
filter=Filtro
|
||||
filter.is_archived=Arquivado
|
||||
filter.is_template=Template
|
||||
filter.public=Pública
|
||||
filter.private=Privado
|
||||
|
||||
|
||||
[search]
|
||||
|
||||
[aria]
|
||||
navbar=Barra de navegação
|
||||
footer=Rodapé
|
||||
|
@ -309,7 +322,6 @@ collaborative_repos=Repositórios colaborativos
|
|||
my_orgs=Minhas organizações
|
||||
my_mirrors=Meus espelhos
|
||||
view_home=Ver %s
|
||||
search_repos=Encontre um repositório…
|
||||
filter=Outros filtros
|
||||
filter_by_team_repositories=Filtrar por repositórios da equipe
|
||||
feed_of=`Feed de "%s"`
|
||||
|
@ -330,20 +342,8 @@ issues.in_your_repos=Em seus repositórios
|
|||
repos=Repositórios
|
||||
users=Usuários
|
||||
organizations=Organizações
|
||||
search=Pesquisar
|
||||
go_to=Ir para
|
||||
code=Código
|
||||
search.type.tooltip=Tipo de pesquisa
|
||||
search.fuzzy=Similar
|
||||
search.fuzzy.tooltip=Incluir resultados que sejam próximos ao termo de busca
|
||||
search.match=Correspondência
|
||||
search.match.tooltip=Incluir somente resultados que correspondam exatamente ao termo de busca
|
||||
code_search_unavailable=A pesquisa por código não está disponível no momento. Entre em contato com o administrador do site.
|
||||
repo_no_results=Nenhum repositório correspondente foi encontrado.
|
||||
user_no_results=Nenhum usuário correspondente foi encontrado.
|
||||
org_no_results=Nenhuma organização correspondente foi encontrada.
|
||||
code_no_results=Nenhum código-fonte correspondente ao seu termo de pesquisa foi encontrado.
|
||||
code_search_results=`Resultados da pesquisa por: "%s"`
|
||||
code_last_indexed_at=Última indexação %s
|
||||
relevant_repositories_tooltip=Repositórios que são forks ou que não possuem tópico, nem ícone e nem descrição estão ocultos.
|
||||
relevant_repositories=Apenas repositórios relevantes estão sendo mostrados, <a href="%s">mostrar resultados não filtrados</a>.
|
||||
|
@ -356,11 +356,11 @@ disable_register_prompt=Cadastro está desabilitado. Entre em contato com o admi
|
|||
disable_register_mail=E-mail de confirmação de cadastro está desabilitado.
|
||||
manual_activation_only=Entre em contato com o administrador do site para concluir a ativação.
|
||||
remember_me=Lembrar deste Dispositivo
|
||||
remember_me.compromised=O token de login não é mais válido, o que pode indicar uma conta comprometida. Por favor, verifique a sua conta por atividades incomuns.
|
||||
forgot_password_title=Esqueci minha senha
|
||||
forgot_password=Esqueceu sua senha?
|
||||
sign_up_now=Precisa de uma conta? Cadastre-se agora.
|
||||
sign_up_successful=A conta foi criada com sucesso. Bem-vindo!
|
||||
confirmation_mail_sent_prompt=Um novo e-mail de confirmação foi enviado para <b>%s</b>. Por favor, verifique sua caixa de e-mail nas próximas %s horas para finalizar o processo de cadastro.
|
||||
must_change_password=Redefina sua senha
|
||||
allow_password_change=Exigir que o usuário redefina a senha (recomendado)
|
||||
reset_password_mail_sent_prompt=Um e-mail de confirmação foi enviado para <b>%s</b>. Por favor, verifique sua caixa de entrada dentro do(s) próximo(s) %s para concluir o processo de recuperação de conta.
|
||||
|
@ -417,6 +417,7 @@ authorization_failed_desc=A autorização falhou porque detectamos uma solicita
|
|||
sspi_auth_failed=Falha de autenticação SSPI
|
||||
password_pwned=A senha que você escolheu faz parte de uma <a target="_blank" rel="noopener noreferrer" href="https://haveibeenpwned.com/Passwords">lista de senhas roubadas</a> expostas anteriormente em violações de dados. Tente novamente com uma senha diferente e considere alterar essa senha em outro lugar também.
|
||||
password_pwned_err=Não foi possível concluir a requisição ao HaveIBeenPwned
|
||||
last_admin=Você não pode remover o último administrador. Deve haver pelo menos um administrador.
|
||||
|
||||
[mail]
|
||||
view_it_on=Veja em %s
|
||||
|
@ -582,6 +583,7 @@ org_still_own_packages=Esta organização ainda possui pacotes, exclua-os primei
|
|||
|
||||
target_branch_not_exist=O branch de destino não existe.
|
||||
|
||||
admin_cannot_delete_self=Você não pode excluir você mesmo quando você é um administrador. Por favor, remova seus privilégios de administrador primeiro.
|
||||
|
||||
[user]
|
||||
change_avatar=Altere seu avatar...
|
||||
|
@ -608,6 +610,7 @@ form.name_reserved=O nome de usuário "%s" está reservado.
|
|||
form.name_pattern_not_allowed=O padrão de "%s" não é permitido em um nome de usuário.
|
||||
form.name_chars_not_allowed=Nome de usuário "%s" contém caracteres inválidos.
|
||||
|
||||
|
||||
[settings]
|
||||
profile=Perfil
|
||||
account=Conta
|
||||
|
@ -752,7 +755,6 @@ gpg_invalid_token_signature=A chave GPG fornecida, a assinatura ou o token não
|
|||
gpg_token_required=Você tem que fornecer uma assinatura para o token abaixo
|
||||
gpg_token=Token
|
||||
gpg_token_help=Você pode gerar uma assinatura usando:
|
||||
gpg_token_code=echo "%s" | gpg -a --default-key %s --detach-sig
|
||||
gpg_token_signature=Assinatura GPG blindada
|
||||
key_signature_gpg_placeholder=Começa com '-----BEGIN PGP SIGNATURE-----'
|
||||
verify_gpg_key_success=A chave GPG "%s" foi validada.
|
||||
|
@ -859,6 +861,7 @@ revoke_oauth2_grant_description=Revogando o acesso para este aplicativo de terce
|
|||
revoke_oauth2_grant_success=Acesso revogado com sucesso.
|
||||
|
||||
twofa_desc=Autenticação de dois fatores melhora a segurança de sua conta.
|
||||
twofa_recovery_tip=Se você perder o seu dispositivo, você será capaz de usar uma chave de recuperação de uso único para recuperar o acesso à sua conta.
|
||||
twofa_is_enrolled=Sua conta está atualmente <strong>habilitada</strong> com autenticação de dois fatores.
|
||||
twofa_not_enrolled=Sua conta não está atualmente inscrita para a autenticação em duas etapas.
|
||||
twofa_disable=Desabilitar a autenticação de dois fatores
|
||||
|
@ -881,6 +884,8 @@ webauthn_register_key=Adicionar chave de segurança
|
|||
webauthn_nickname=Apelido
|
||||
webauthn_delete_key=Remover chave de segurança
|
||||
webauthn_delete_key_desc=Se você remover uma chave de segurança, não poderá mais entrar com ela. Continuar?
|
||||
webauthn_key_loss_warning=Se você perder suas chaves de segurança, perderá o acesso à sua conta.
|
||||
webauthn_alternative_tip=Você pode querer configurar um método de autenticação adicional.
|
||||
|
||||
manage_account_links=Gerenciar contas vinculadas
|
||||
manage_account_links_desc=Estas contas externas estão vinculadas a sua conta de Gitea.
|
||||
|
@ -917,6 +922,7 @@ visibility.private=Privada
|
|||
visibility.private_tooltip=Visível apenas para membros das organizações às quais você se associou
|
||||
|
||||
[repo]
|
||||
new_repo_helper=Um repositório contém todos os arquivos do projeto, inclusive o histórico de revisões. Já está hospedando um em outro lugar? <a href="%s">Migre o repositório.</a>
|
||||
owner=Proprietário
|
||||
owner_helper=Algumas organizações podem não aparecer no menu devido a um limite de contagem dos repositórios.
|
||||
repo_name=Nome do repositório
|
||||
|
@ -937,9 +943,10 @@ fork_from=Fork de
|
|||
already_forked=Você já fez o fork de %s
|
||||
fork_to_different_account=Faça um fork para uma conta diferente
|
||||
fork_visibility_helper=A visibilidade do fork de um repositório não pode ser alterada.
|
||||
fork_branch=Branch a ser clonado para o fork
|
||||
all_branches=Todos os branches
|
||||
fork_no_valid_owners=Não é possível fazer um fork desse repositório porque não há proprietários validos.
|
||||
use_template=Usar este modelo
|
||||
clone_in_vsc=Clonar no VS Code
|
||||
download_zip=Baixar ZIP
|
||||
download_tar=Baixar TAR.GZ
|
||||
download_bundle=Baixar PACOTE
|
||||
|
@ -972,6 +979,7 @@ mirror_prune=Varrer
|
|||
mirror_prune_desc=Remover referências obsoletas de controle remoto
|
||||
mirror_interval=Intervalo de espelhamento (unidades válidas são 'h', 'm', ou 's'). O desabilita a sincronização automática. (Intervalo mínimo: %s)
|
||||
mirror_interval_invalid=O intervalo do espelhamento não é válido.
|
||||
mirror_sync=sincronizado
|
||||
mirror_sync_on_commit=Sincronizar quando commits forem enviados
|
||||
mirror_address=Clonar de URL
|
||||
mirror_address_desc=Coloque todas as credenciais necessárias na seção de autorização.
|
||||
|
@ -1017,6 +1025,7 @@ desc.public=Público
|
|||
desc.template=Template
|
||||
desc.internal=Interno
|
||||
desc.archived=Arquivado
|
||||
desc.sha256=SHA256
|
||||
|
||||
template.items=Itens do modelo
|
||||
template.git_content=Conteúdo Git (Branch padrão)
|
||||
|
@ -1167,6 +1176,7 @@ audio_not_supported_in_browser=Seu navegador não suporta a tag 'audio' do HTML5
|
|||
stored_lfs=Armazenado com Git LFS
|
||||
symbolic_link=Link simbólico
|
||||
executable_file=Arquivo executável
|
||||
generated=Gerado
|
||||
commit_graph=Gráfico de commits
|
||||
commit_graph.select=Selecionar branches
|
||||
commit_graph.hide_pr_refs=Esconder Pull Requests
|
||||
|
@ -1253,9 +1263,7 @@ commits.desc=Veja o histórico de alterações do código de fonte.
|
|||
commits.commits=Commits
|
||||
commits.no_commits=Nenhum commit em comum. "%s" e "%s" tem históricos completamente diferentes.
|
||||
commits.nothing_to_compare=Estes branches são iguais.
|
||||
commits.search=Pesquisar commits...
|
||||
commits.search.tooltip=Você pode prefixar as palavras-chave com "author:" (autor da mudança), "committer:" (autor do commit), "after:" (depois) ou "before:" (antes). Por exemplo: "revert author:Ana before:2019-01-13".\
|
||||
commits.find=Pesquisar
|
||||
commits.search_all=Todos os branches
|
||||
commits.author=Autor
|
||||
commits.message=Mensagem
|
||||
|
@ -1267,6 +1275,7 @@ commits.signed_by_untrusted_user=Assinado por usuário não confiável
|
|||
commits.signed_by_untrusted_user_unmatched=Assinado por usuário não confiável que não corresponde ao autor da submissão
|
||||
commits.gpg_key_id=ID da chave GPG
|
||||
commits.ssh_key_fingerprint=Impressão Digital da Chave SSH
|
||||
commits.view_path=Visualizar neste ponto do histórico
|
||||
|
||||
commit.operations=Operações
|
||||
commit.revert=Reverter
|
||||
|
@ -1305,7 +1314,6 @@ projects.type.basic_kanban=Kanban básico
|
|||
projects.type.bug_triage=Triagem de Bugs
|
||||
projects.template.desc=Modelo de projeto
|
||||
projects.template.desc_helper=Selecione um modelo de projeto para começar
|
||||
projects.type.uncategorized=Sem categoria
|
||||
projects.column.edit=Editar coluna
|
||||
projects.column.edit_title=Nome
|
||||
projects.column.new_title=Nome
|
||||
|
@ -1313,10 +1321,7 @@ projects.column.new_submit=Criar coluna
|
|||
projects.column.new=Nova Coluna
|
||||
projects.column.set_default=Atribuir como padrão
|
||||
projects.column.set_default_desc=Definir esta coluna como padrão para pull e issues sem categoria
|
||||
projects.column.unset_default=Desatribuir padrão
|
||||
projects.column.unset_default_desc=Desatribuir esta coluna como padrão
|
||||
projects.column.delete=Excluir coluna
|
||||
projects.column.deletion_desc=Excluir uma coluna do projeto move todas as issues relacionadas para 'Sem categoria'. Continuar?
|
||||
projects.column.color=Cor
|
||||
projects.open=Abrir
|
||||
projects.close=Fechar
|
||||
|
@ -1357,6 +1362,7 @@ issues.choose.blank=Padrão
|
|||
issues.choose.blank_about=Criar uma issue a partir do modelo padrão.
|
||||
issues.choose.ignore_invalid_templates=Modelos inválidos foram ignorados
|
||||
issues.choose.invalid_templates=%v modelo(s) inválido(s) encontrado(s)
|
||||
issues.choose.invalid_config=A configuração da issue contém erros:
|
||||
issues.no_ref=Nenhum branch/tag especificado
|
||||
issues.create=Criar issue
|
||||
issues.new_label=Nova etiqueta
|
||||
|
@ -1427,7 +1433,6 @@ issues.filter_sort.moststars=Mais estrelas
|
|||
issues.filter_sort.feweststars=Menos estrelas
|
||||
issues.filter_sort.mostforks=Mais forks
|
||||
issues.filter_sort.fewestforks=Menos forks
|
||||
issues.keyword_search_unavailable=A pesquisa por palavra-chave não está disponível no momento. Entre em contato com o administrador do site.
|
||||
issues.action_open=Abrir
|
||||
issues.action_close=Fechar
|
||||
issues.action_label=Etiqueta
|
||||
|
@ -1480,6 +1485,11 @@ issues.author_helper=Este usuário é o autor.
|
|||
issues.role.owner=Proprietário
|
||||
issues.role.owner_helper=Este usuário é o dono deste repositório.
|
||||
issues.role.member=Membro
|
||||
issues.role.collaborator=Colaborador
|
||||
issues.role.collaborator_helper=Este usuário foi convidado para colaborar no repositório.
|
||||
issues.role.first_time_contributor=Primeira vez contribuindo
|
||||
issues.role.first_time_contributor_helper=Esta é a primeira contribuição deste usuário para o repositório.
|
||||
issues.role.contributor=Contribuidor
|
||||
issues.re_request_review=Re-solicitar revisão
|
||||
issues.is_stale=Houve alterações nessa PR desde essa revisão
|
||||
issues.remove_request_review=Remover solicitação de revisão
|
||||
|
@ -1495,6 +1505,8 @@ issues.label_description=Descrição da etiqueta
|
|||
issues.label_color=Cor da etiqueta
|
||||
issues.label_exclusive=Exclusivo
|
||||
issues.label_archive=Arquivar etiqueta
|
||||
issues.label_archived_filter=Mostrar etiquetas arquivadas
|
||||
issues.label_archive_tooltip=Etiquetas arquivadas são excluídas, por padrão, das sugestões ao pesquisar por etiqueta.
|
||||
issues.label_exclusive_desc=Nomeie o rótulo <code>escopo/item</code> para torná-lo mutuamente exclusivo com outros rótulos do <code>escopo/</code>.
|
||||
issues.label_exclusive_warning=Quaisquer rótulos com escopo conflitantes serão removidos ao editar os rótulos de uma issue ou pull request.
|
||||
issues.label_count=%d etiquetas
|
||||
|
@ -1573,6 +1585,7 @@ issues.due_date_form=dd/mm/aaaa
|
|||
issues.due_date_form_add=Adicionar data limite
|
||||
issues.due_date_form_edit=Editar
|
||||
issues.due_date_form_remove=Remover
|
||||
issues.due_date_not_writer=Você precisa de acesso de gravação a esse repositório para atualizar a data limite de uma issue.
|
||||
issues.due_date_not_set=Data limite não informada.
|
||||
issues.due_date_added=adicionou a data limite %s %s
|
||||
issues.due_date_modified=modificou a data limite de %[2]s para %[1]s %[3]s
|
||||
|
@ -1669,7 +1682,6 @@ pulls.compare_compare=pull de
|
|||
pulls.switch_comparison_type=Mudar tipo de comparação
|
||||
pulls.switch_head_and_base=Trocar cabeça e base
|
||||
pulls.filter_branch=Filtrar branch
|
||||
pulls.no_results=Nada encontrado.
|
||||
pulls.show_all_commits=Mostrar todos os commits
|
||||
pulls.show_changes_since_your_last_review=Mostrar alterações desde sua última revisão
|
||||
pulls.showing_only_single_commit=Mostrando apenas as alterações do commit %[1]s
|
||||
|
@ -1736,6 +1748,7 @@ pulls.merge_pull_request=Criar commit de merge
|
|||
pulls.rebase_merge_pull_request=Rebase e fast-forward
|
||||
pulls.rebase_merge_commit_pull_request=Rebase e criar commit de merge
|
||||
pulls.squash_merge_pull_request=Criar commit de squash
|
||||
pulls.fast_forward_only_merge_pull_request=Apenas Fast-forward
|
||||
pulls.merge_manually=Merge feito manualmente
|
||||
pulls.merge_commit_id=A ID de merge commit
|
||||
pulls.require_signed_wont_sign=O branch requer commits assinados, mas este merge não será assinado
|
||||
|
@ -1759,6 +1772,8 @@ pulls.status_checks_failure=Algumas verificações falharam
|
|||
pulls.status_checks_error=Algumas verificações reportaram erros
|
||||
pulls.status_checks_requested=Obrigatário
|
||||
pulls.status_checks_details=Detalhes
|
||||
pulls.status_checks_hide_all=Ocultar todas as verificações
|
||||
pulls.status_checks_show_all=Mostrar todas as verificações
|
||||
pulls.update_branch=Atualizar branch por merge
|
||||
pulls.update_branch_rebase=Atualizar branch por rebase
|
||||
pulls.update_branch_success=Atualização do branch foi bem-sucedida
|
||||
|
@ -1767,6 +1782,9 @@ pulls.outdated_with_base_branch=Este branch está desatualizado com o branch bas
|
|||
pulls.close=Fechar pull request
|
||||
pulls.closed_at=`fechou este pull request <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.reopened_at=`reabriu este pull request <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.cmd_instruction_checkout_title=Checkout
|
||||
pulls.cmd_instruction_merge_title=Merge
|
||||
pulls.cmd_instruction_merge_desc=Faça merge das alterações e atualize no Gitea.
|
||||
pulls.clear_merge_message=Limpar mensagem do merge
|
||||
pulls.clear_merge_message_hint=Limpar a mensagem de merge só irá remover o conteúdo da mensagem de commit e manter trailers git gerados, como "Co-Authored-By …".
|
||||
|
||||
|
@ -1863,6 +1881,8 @@ wiki.page_name_desc=Digite um nome para esta página Wiki. Alguns nomes especiai
|
|||
wiki.original_git_entry_tooltip=Ver o arquivo Git original em vez de usar o link amigável.
|
||||
|
||||
activity=Atividade
|
||||
activity.navbar.pulse=Pulso
|
||||
activity.navbar.contributors=Contribuidores
|
||||
activity.period.filter_label=Período:
|
||||
activity.period.daily=1 dia
|
||||
activity.period.halfweekly=3 dias
|
||||
|
@ -1928,18 +1948,10 @@ activity.git_stats_and_deletions=e
|
|||
activity.git_stats_deletion_1=%d exclusão
|
||||
activity.git_stats_deletion_n=%d exclusões
|
||||
|
||||
contributors.contribution_type.filter_label=Tipo de contribuição:
|
||||
contributors.contribution_type.commits=Commits
|
||||
|
||||
search=Pesquisar
|
||||
search.search_repo=Pesquisar no repositório...
|
||||
search.type.tooltip=Tipo de pesquisa
|
||||
search.fuzzy=Aproximada
|
||||
search.fuzzy.tooltip=Incluir resultados que sejam próximos ao termo de busca
|
||||
search.match=Corresponde
|
||||
search.match.tooltip=Incluir somente resultados que correspondam exatamente ao termo de busca
|
||||
search.results=Resultados da pesquisa para "%s" em <a href="%s">%s</a>
|
||||
search.code_no_results=Nenhum código-fonte correspondente ao seu termo de pesquisa foi encontrado.
|
||||
search.code_search_unavailable=A pesquisa por código não está disponível no momento. Entre em contato com o administrador do site.
|
||||
contributors.contribution_type.additions=Adições
|
||||
contributors.contribution_type.deletions=Exclusões
|
||||
|
||||
settings=Configurações
|
||||
settings.desc=Opções é onde você pode gerenciar as configurações para o repositório
|
||||
|
@ -2008,6 +2020,7 @@ settings.pulls.default_allow_edits_from_maintainers=Permitir edições de manten
|
|||
settings.releases_desc=Habilitar versões do Repositório
|
||||
settings.packages_desc=Habilitar Registro de Pacotes de Repositório
|
||||
settings.projects_desc=Habilitar Projetos do Repositório
|
||||
settings.projects_mode_all=Todos os projetos
|
||||
settings.actions_desc=Habilitar ações do repositório
|
||||
settings.admin_settings=Configurações do administrador
|
||||
settings.admin_enable_health_check=Habilitar verificações de integridade (git fsck) no repositório
|
||||
|
@ -2079,7 +2092,6 @@ settings.delete_collaborator=Remover
|
|||
settings.collaborator_deletion=Remover colaborador
|
||||
settings.collaborator_deletion_desc=A exclusão de um colaborador irá revogar o acesso a este repositório. Continuar?
|
||||
settings.remove_collaborator_success=O colaborador foi removido.
|
||||
settings.search_user_placeholder=Pesquisar usuário...
|
||||
settings.org_not_allowed_to_be_collaborator=Organizações não podem ser adicionadas como um colaborador.
|
||||
settings.change_team_access_not_allowed=Alteração do acesso da equipe para o repositório está restrito ao proprietário da organização
|
||||
settings.team_not_in_organization=A equipe não está na mesma organização que o repositório
|
||||
|
@ -2087,7 +2099,6 @@ settings.teams=Equipes
|
|||
settings.add_team=Adicionar Equipe
|
||||
settings.add_team_duplicate=A equipe já tem o repositório
|
||||
settings.add_team_success=A equipe agora tem acesso ao repositório.
|
||||
settings.search_team=Pesquisar Equipe…
|
||||
settings.change_team_permission_tip=A permissão da equipe está definida na página de configurações da equipe e não pode ser alterada por repositório
|
||||
settings.delete_team_tip=Esta equipe tem acesso a todos os repositórios e não pode ser removida
|
||||
settings.remove_team_success=O acesso da equipe ao repositório foi removido.
|
||||
|
@ -2232,9 +2243,7 @@ settings.protect_whitelist_committers=Lista permitida para push
|
|||
settings.protect_whitelist_committers_desc=Somente usuários ou equipes da lista permitida serão autorizados realizar push neste branch (mas não forçar o push).
|
||||
settings.protect_whitelist_deploy_keys=Dar permissão às chaves de deploy com acesso de gravação para push.
|
||||
settings.protect_whitelist_users=Usuários com permissão para realizar push:
|
||||
settings.protect_whitelist_search_users=Pesquisar usuários...
|
||||
settings.protect_whitelist_teams=Equipes com permissão para realizar push:
|
||||
settings.protect_whitelist_search_teams=Pesquisar equipes...
|
||||
settings.protect_merge_whitelist_committers=Habilitar controle de permissão de merge
|
||||
settings.protect_merge_whitelist_committers_desc=Permitir que determinados usuários ou equipes possam aplicar merge de pull requests neste branch.
|
||||
settings.protect_merge_whitelist_users=Usuários com permissão para aplicar merge:
|
||||
|
@ -2301,6 +2310,9 @@ settings.archive.error=Um erro ocorreu enquanto estava sendo arquivado o reposit
|
|||
settings.archive.error_ismirror=Você não pode arquivar um repositório espelhado.
|
||||
settings.archive.branchsettings_unavailable=Configurações do branch não estão disponíveis quando o repositório está arquivado.
|
||||
settings.archive.tagsettings_unavailable=As configurações de tag não estão disponíveis se o repositório estiver arquivado.
|
||||
settings.unarchive.button=Desarquivar o repositório
|
||||
settings.unarchive.header=Desarquivar este repositório
|
||||
settings.unarchive.success=O repositório foi desarquivado com sucesso.
|
||||
settings.update_avatar_success=O avatar do repositório foi atualizado.
|
||||
settings.lfs=LFS
|
||||
settings.lfs_filelist=Arquivos LFS armazenados neste repositório
|
||||
|
@ -2423,6 +2435,7 @@ release.edit_release=Atualizar versão
|
|||
release.delete_release=Excluir versão
|
||||
release.delete_tag=Apagar Tag
|
||||
release.deletion=Excluir versão
|
||||
release.deletion_desc=A exclusão de uma versão apenas a remove do Gitea. Isso não afetará a tag do Git, o conteúdo do seu repositório ou seu histórico. Continuar?
|
||||
release.deletion_success=A versão foi excluída.
|
||||
release.deletion_tag_desc=A tag será excluída do repositório. Conteúdo do repositório e histórico permanecerão inalterados. Continuar?
|
||||
release.deletion_tag_success=A tag foi excluída.
|
||||
|
@ -2488,6 +2501,9 @@ error.csv.unexpected=Não é possível renderizar este arquivo porque ele conté
|
|||
error.csv.invalid_field_count=Não é possível renderizar este arquivo porque ele tem um número errado de campos na linha %d.
|
||||
|
||||
[graphs]
|
||||
component_loading=Carregando %s...
|
||||
component_loading_failed=Não foi possível carregar %s
|
||||
component_loading_info=Isto pode demorar um pouco…
|
||||
|
||||
[org]
|
||||
org_name_holder=Nome da organização
|
||||
|
@ -2518,6 +2534,7 @@ form.create_org_not_allowed=Você não tem permissão para criar uma organizaç
|
|||
settings=Configurações
|
||||
settings.options=Organização
|
||||
settings.full_name=Nome completo
|
||||
settings.email=E-mail de contato
|
||||
settings.website=Site
|
||||
settings.location=Localização
|
||||
settings.permission=Permissões
|
||||
|
@ -2590,7 +2607,6 @@ teams.write_permission_desc=Esta equipe concede acesso para <strong>escrita</str
|
|||
teams.admin_permission_desc=Esta equipe concede acesso de <strong>Administrador</strong>: Membros podem ler, fazer push e adicionar outros colaboradores para os repositórios da equipe.
|
||||
teams.create_repo_permission_desc=Além disso, esta equipe concede permissão de <strong>Criar repositório</strong>: membros podem criar novos repositórios na organização.
|
||||
teams.repositories=Repositórios da equipe
|
||||
teams.search_repo_placeholder=Pesquisar repositório...
|
||||
teams.remove_all_repos_title=Remover todos os repositórios da equipe
|
||||
teams.remove_all_repos_desc=Isto irá remover todos os repositórios da equipe.
|
||||
teams.add_all_repos_title=Adicionar todos os repositórios
|
||||
|
@ -2606,11 +2622,13 @@ teams.all_repositories_helper=A equipe tem acesso a todos os repositórios. Sele
|
|||
teams.all_repositories_read_permission_desc=Esta equipe concede acesso <strong>Leitura</strong> a <strong>todos os repositórios</strong>: membros podem ver e clonar repositórios.
|
||||
teams.all_repositories_write_permission_desc=Esta equipe concede acesso <strong>Escrita</strong> a <strong>todos os repositórios</strong>: os membros podem ler de e fazer push para os repositórios.
|
||||
teams.all_repositories_admin_permission_desc=Esta equipe concede acesso <strong>Administrativo</strong> a <strong>todos os repositórios</strong>: os membros podem ler, fazer push e adicionar colaboradores aos repositórios.
|
||||
teams.invite.title=Você foi convidado para fazer parte da equipe <strong>%s</strong> na organização <strong>%s</strong>.
|
||||
teams.invite.by=Convidado por %s
|
||||
teams.invite.description=Por favor, clique no botão abaixo para se juntar à equipe.
|
||||
|
||||
[admin]
|
||||
dashboard=Painel
|
||||
identity_access=Identidade e acesso
|
||||
users=Contas de usuário
|
||||
organizations=Organizações
|
||||
repositories=Repositórios
|
||||
|
@ -2619,11 +2637,14 @@ integrations=Integrações
|
|||
authentication=Fontes de autenticação
|
||||
emails=E-mails do Usuário
|
||||
config=Configuração
|
||||
config_summary=Resumo
|
||||
config_settings=Configurações
|
||||
notices=Avisos do sistema
|
||||
monitor=Monitoramento
|
||||
first_page=Primeira
|
||||
last_page=Última
|
||||
total=Total: %d
|
||||
settings=Configurações de Administrador
|
||||
|
||||
dashboard.new_version_hint=Uma nova versão está disponível: %s. Versão atual: %s. Visite <a target="_blank" rel="noreferrer" href="https://blog.gitea.io">o blog</a> para mais informações.
|
||||
dashboard.statistic=Resumo
|
||||
|
@ -2782,9 +2803,6 @@ repos.unadopted.no_more=Não foram encontrados mais repositórios não adotados
|
|||
repos.owner=Proprietário
|
||||
repos.name=Nome
|
||||
repos.private=Privado
|
||||
repos.watches=Observadores
|
||||
repos.stars=Favoritos
|
||||
repos.forks=Forks
|
||||
repos.issues=Issues
|
||||
repos.size=Tamanho
|
||||
repos.lfs_size=Tamanho do LFS
|
||||
|
@ -2906,7 +2924,6 @@ auths.tip.nextcloud=`Registre um novo consumidor OAuth em sua instância usando
|
|||
auths.tip.dropbox=Criar um novo aplicativo em https://www.dropbox.com/developers/apps
|
||||
auths.tip.facebook=`Cadastrar um novo aplicativo em https://developers.facebook.com/apps e adicionar o produto "Facebook Login"`
|
||||
auths.tip.github=Cadastrar um novo aplicativo de OAuth na https://github.com/settings/applications/new
|
||||
auths.tip.gitlab=Cadastrar um novo aplicativo em https://gitlab.com/profile/applications
|
||||
auths.tip.google_plus=Obter credenciais de cliente OAuth2 do console de API do Google em https://console.developers.google.com/
|
||||
auths.tip.openid_connect=Use o OpenID Connect Discovery URL (<servidor>/.well-known/openid-configuration) para especificar os endpoints
|
||||
auths.tip.twitter=Vá em https://dev.twitter.com/apps, crie um aplicativo e certifique-se de que está habilitada a opção “Allow this application to be used to Sign in with Twitter“
|
||||
|
@ -3414,13 +3431,20 @@ runners.status.idle=Inativo
|
|||
runners.status.active=Ativo
|
||||
runners.status.offline=Offiline
|
||||
runners.version=Versão
|
||||
runners.reset_registration_token=Redefinir token de registro
|
||||
runners.reset_registration_token_success=Token de registro de runner redefinido com sucesso
|
||||
|
||||
runs.all_workflows=Todos os Workflows
|
||||
runs.commit=Commit
|
||||
runs.scheduled=Agendado
|
||||
runs.pushed_by=push feito por
|
||||
runs.invalid_workflow_helper=O arquivo de configuração do workflow é inválido. Por favor, verifique seu arquivo de configuração: %s
|
||||
runs.actor=Ator
|
||||
runs.status=Status
|
||||
runs.actors_no_select=Todos os atores
|
||||
runs.status_no_select=Todos os Status
|
||||
runs.no_results=Não houve correspondência de resultados.
|
||||
runs.empty_commit_message=(mensagem de commit vazia)
|
||||
|
||||
|
||||
need_approval_desc=Precisa de aprovação para executar workflows para pull request do fork.
|
||||
|
@ -3433,5 +3457,9 @@ type-3.display_name=Projeto da organização
|
|||
|
||||
[git.filemode]
|
||||
; Ordered by git filemode value, ascending. E.g. directory has "040000", normal file has "100644", …
|
||||
directory=Diretório
|
||||
normal_file=Arquivo normal
|
||||
executable_file=Arquivo executável
|
||||
symbolic_link=Link simbólico
|
||||
submodule=Submódulo
|
||||
|
||||
|
|
|
@ -25,6 +25,7 @@ enable_javascript=Este sítio Web requer JavaScript.
|
|||
toc=Índice
|
||||
licenses=Licenças
|
||||
return_to_gitea=Retornar ao Gitea
|
||||
more_items=Mais itens
|
||||
|
||||
username=Nome de utilizador
|
||||
email=Endereço de email
|
||||
|
@ -113,6 +114,7 @@ loading=Carregando…
|
|||
error=Erro
|
||||
error404=A página que pretende aceder <strong>não existe</strong> ou <strong>não tem autorização</strong> para a ver.
|
||||
go_back=Voltar
|
||||
invalid_data=Dados inválidos: %v
|
||||
|
||||
never=Nunca
|
||||
unknown=Desconhecido
|
||||
|
@ -142,6 +144,43 @@ confirm_delete_selected=Confirma a exclusão de todos os itens marcados?
|
|||
name=Nome
|
||||
value=Valor
|
||||
|
||||
filter=Filtro
|
||||
filter.clear=Retirar filtro
|
||||
filter.is_archived=Arquivado
|
||||
filter.not_archived=Não arquivado
|
||||
filter.is_fork=Derivado
|
||||
filter.not_fork=Não derivado
|
||||
filter.is_mirror=Replicado
|
||||
filter.not_mirror=Não replicado
|
||||
filter.is_template=Modelo
|
||||
filter.not_template=Não é modelo
|
||||
filter.public=Público
|
||||
filter.private=Privado
|
||||
|
||||
no_results_found=Não foram encontrados quaisquer resultados.
|
||||
|
||||
[search]
|
||||
search=Pesquisar...
|
||||
type_tooltip=Tipo de pesquisa
|
||||
fuzzy=Aproximada
|
||||
fuzzy_tooltip=Incluir também os resultados que estejam próximos do termo de pesquisa
|
||||
match=Fiel
|
||||
match_tooltip=Incluir somente os resultados que correspondam rigorosamente ao termo de pesquisa
|
||||
repo_kind=Pesquisar repositórios...
|
||||
user_kind=Pesquisar utilizadores...
|
||||
org_kind=Pesquisar organizações...
|
||||
team_kind=Pesquisar equipas...
|
||||
code_kind=Pesquisar código...
|
||||
code_search_unavailable=A pesquisa de código não está disponível, neste momento. Entre em contacto com o administrador.
|
||||
code_search_by_git_grep=Os resultados da pesquisa no código-fonte neste momento são fornecidos pelo "git grep". Esses resultados podem ser melhores se o administrador habilitar o indexador do repositório.
|
||||
package_kind=Pesquisar pacotes...
|
||||
project_kind=Pesquisar planeamentos...
|
||||
branch_kind=Pesquisar ramos...
|
||||
commit_kind=Pesquisar cometimentos...
|
||||
runner_kind=Pesquisar executores...
|
||||
no_results=Não foram encontrados resultados correspondentes.
|
||||
keyword_search_unavailable=Pesquisar por palavra-chave não está disponível, neste momento. Entre em contacto com o administrador.
|
||||
|
||||
[aria]
|
||||
navbar=Barra de navegação
|
||||
footer=Rodapé
|
||||
|
@ -247,6 +286,7 @@ email_title=Configurações de email
|
|||
smtp_addr=Servidor SMTP
|
||||
smtp_port=Porto do SMTP
|
||||
smtp_from=Email do remetente
|
||||
smtp_from_invalid=O endereço para "Enviar email como" é inválido
|
||||
smtp_from_helper=Endereço de email que o Gitea vai usar. Insira um endereço de email simples ou use o formato "Nome" <email@exemplo.com>.
|
||||
mailer_user=Nome de utilizador do SMTP
|
||||
mailer_password=Senha do SMTP
|
||||
|
@ -306,6 +346,7 @@ env_config_keys=Configuração do ambiente
|
|||
env_config_keys_prompt=As seguintes variáveis de ambiente também serão aplicadas ao seu ficheiro de configuração:
|
||||
|
||||
[home]
|
||||
nav_menu=Menu de navegação
|
||||
uname_holder=Nome de utilizador ou endereço de email
|
||||
password_holder=Senha
|
||||
switch_dashboard_context=Trocar contexto do painel
|
||||
|
@ -315,7 +356,6 @@ collaborative_repos=Repositórios colaborativos
|
|||
my_orgs=As minhas organizações
|
||||
my_mirrors=As minhas réplicas
|
||||
view_home=Ver %s
|
||||
search_repos=Procurar um repositório…
|
||||
filter=Outros filtros
|
||||
filter_by_team_repositories=Filtrar por repositórios da equipa
|
||||
feed_of=`Fonte de "%s"`
|
||||
|
@ -336,20 +376,8 @@ issues.in_your_repos=Nos seus repositórios
|
|||
repos=Repositórios
|
||||
users=Utilizadores
|
||||
organizations=Organizações
|
||||
search=Procurar
|
||||
go_to=Ir para
|
||||
code=Código
|
||||
search.type.tooltip=Tipo de pesquisa
|
||||
search.fuzzy=Aproximada
|
||||
search.fuzzy.tooltip=Incluir também os resultados que estejam próximos do termo de pesquisa
|
||||
search.match=Fiel
|
||||
search.match.tooltip=Incluir somente os resultados que correspondam rigorosamente ao termo de pesquisa
|
||||
code_search_unavailable=A pesquisa por código-fonte não está disponível, neste momento. Entre em contacto com o administrador.
|
||||
repo_no_results=Não foram encontrados quaisquer repositórios correspondentes.
|
||||
user_no_results=Não foram encontrados quaisquer utilizadores correspondentes.
|
||||
org_no_results=Não foram encontradas quaisquer organizações correspondentes.
|
||||
code_no_results=Não foi encontrado qualquer código-fonte correspondente à sua pesquisa.
|
||||
code_search_results=`Resultados da pesquisa para "%s"`
|
||||
code_last_indexed_at=Última indexação %s
|
||||
relevant_repositories_tooltip=Repositórios que são derivações ou que não têm tópico, nem ícone, nem descrição, estão escondidos.
|
||||
relevant_repositories=Apenas estão a ser mostrados os repositórios relevantes. <a href="%s">Mostrar resultados não filtrados</a>.
|
||||
|
@ -367,7 +395,7 @@ forgot_password_title=Esqueci-me da senha
|
|||
forgot_password=Esqueceu a sua senha?
|
||||
sign_up_now=Precisa de uma conta? Inscreva-se agora.
|
||||
sign_up_successful=A conta foi criada com sucesso. Bem-vindo/a!
|
||||
confirmation_mail_sent_prompt=Foi enviado um novo email de confirmação para <b>%s</b>. Verifique a sua caixa de entrada dentro de %s para completar o processo de inscrição.
|
||||
confirmation_mail_sent_prompt_ex=Foi enviado um email de confirmação para <b>%s</b>. Verifique a sua caixa de entrada dentro de %s para completar o processo de registo. Se o seu endereço de email de registo estiver errado, pode iniciar a sessão novamente e mudá-lo.
|
||||
must_change_password=Mude a sua senha
|
||||
allow_password_change=Exigir que o utilizador mude a senha (recomendado)
|
||||
reset_password_mail_sent_prompt=Foi enviado um email de confirmação para <b>%s</b>. Verifique a sua caixa de entrada dentro de %s para completar o processo de recuperação.
|
||||
|
@ -377,6 +405,7 @@ prohibit_login=Início de sessão proibido
|
|||
prohibit_login_desc=A sua conta está proibida de iniciar sessão. Contacte o administrador.
|
||||
resent_limit_prompt=Já fez um pedido recentemente para enviar um email para pôr a conta em funcionamento. Espere 3 minutos e tente novamente.
|
||||
has_unconfirmed_mail=Olá %s, tem um endereço de email não confirmado (<b>%s</b>). Se não recebeu um email de confirmação ou precisa de o voltar a enviar, clique no botão abaixo.
|
||||
change_unconfirmed_mail_address=Se o seu endereço de email estiver errado, pode mudá-lo aqui e enviar um novo email de confirmação.
|
||||
resend_mail=Clique aqui para voltar a enviar um email para pôr a conta em funcionamento
|
||||
email_not_associate=O endereço de email não está associado a qualquer conta.
|
||||
send_reset_mail=Enviar email de recuperação da conta
|
||||
|
@ -557,6 +586,7 @@ team_name_been_taken=O nome da equipa já foi tomado.
|
|||
team_no_units_error=Permitir acesso a pelo menos uma secção do repositório.
|
||||
email_been_used=O endereço de email já está em uso.
|
||||
email_invalid=O endereço de email é inválido.
|
||||
email_domain_is_not_allowed=O domínio do email de utilizador <b>%s</b> entra en conflito com o EMAIL_DOMAIN_ALLOWLIST ou com o EMAIL_DOMAIN_BLOCKLIST. Verifique se a operação estava prevista.
|
||||
openid_been_used=O endereço OpenID "%s" já está em uso.
|
||||
username_password_incorrect=O nome de utilizador ou a senha estão errados.
|
||||
password_complexity=A senha não passa nos requisitos de complexidade:
|
||||
|
@ -568,6 +598,8 @@ enterred_invalid_repo_name=O nome do repositório que inseriu está errado.
|
|||
enterred_invalid_org_name=O nome da organização que inseriu está errado.
|
||||
enterred_invalid_owner_name=O novo nome de proprietário não é válido.
|
||||
enterred_invalid_password=A senha que inseriu está errada.
|
||||
unset_password=O utilizador não definiu a senha.
|
||||
unsupported_login_type=O tipo de início de sessão não é suportado para eliminar a conta.
|
||||
user_not_exist=O utilizador não existe.
|
||||
team_not_exist=A equipa não existe.
|
||||
last_org_owner=Não pode remover o último utilizador da equipa 'proprietários'. Tem que haver pelo menos um proprietário numa organização.
|
||||
|
@ -617,6 +649,30 @@ form.name_reserved=O nome de utilizador "%s" está reservado.
|
|||
form.name_pattern_not_allowed=O padrão "%s" não é permitido no nome de utilizador.
|
||||
form.name_chars_not_allowed=O nome de utilizador "%s" contém caracteres inválidos.
|
||||
|
||||
block.block=Bloquear
|
||||
block.block.user=Bloquear utilizador
|
||||
block.block.org=Bloquear utilizador para a organização
|
||||
block.block.failure=Falhou o bloqueio do utilizador: %s
|
||||
block.unblock=Desbloquear
|
||||
block.unblock.failure=Falhou o desbloqueio do utilizador: %s
|
||||
block.blocked=Bloqueou este utilizador.
|
||||
block.title=Bloquear um utilizador
|
||||
block.info=Bloquear um utilizador evita que este interaja com repositórios, tal como abrir ou comentar em pedidos de integração ou questões. Saiba mais sobre como bloquear um utilizador.
|
||||
block.info_1=Bloquear um utilizador impede as seguintes operações na sua conta e nos seus repositórios:
|
||||
block.info_2=seguir a sua conta
|
||||
block.info_3=enviar-lhe notificações ao @mencionar o seu nome de utilizador
|
||||
block.info_4=convidá-lo/a para ser colaborador/a nos repositórios dele/dela
|
||||
block.info_5=juntar aos favoritos, derivar ou vigiar repositórios
|
||||
block.info_6=abrir e comentar questões ou pedidos de integração
|
||||
block.info_7=reagir aos seus comentários em questões ou pedidos de integração
|
||||
block.user_to_block=Utilizador a bloquear
|
||||
block.note=Nota
|
||||
block.note.title=Nota opcional:
|
||||
block.note.info=A nota não é visível para o utilizador bloqueado.
|
||||
block.note.edit=Editar nota
|
||||
block.list=Utilizadores bloqueados
|
||||
block.list.none=Você ainda não bloqueou quaisquer utilizadores.
|
||||
|
||||
[settings]
|
||||
profile=Perfil
|
||||
account=Conta
|
||||
|
@ -761,7 +817,6 @@ gpg_invalid_token_signature=A chave GPG, assinatura ou código fornecidos não c
|
|||
gpg_token_required=Tem que fornecer uma assinatura para o código abaixo
|
||||
gpg_token=Código
|
||||
gpg_token_help=Pode gerar uma assinatura usando o seguinte comando:
|
||||
gpg_token_code=echo "%s" | gpg -a --default-key %s --detach-sig
|
||||
gpg_token_signature=Assinatura GPG blindada (com armadura ASCII)
|
||||
key_signature_gpg_placeholder=Começa com '-----BEGIN PGP SIGNATURE-----'
|
||||
verify_gpg_key_success=A chave GPG "%s" foi validada.
|
||||
|
@ -954,8 +1009,9 @@ fork_visibility_helper=A visibilidade de um repositório derivado não poderá s
|
|||
fork_branch=Ramo a ser clonado para a derivação
|
||||
all_branches=Todos os ramos
|
||||
fork_no_valid_owners=Não pode fazer uma derivação deste repositório porque não existem proprietários válidos.
|
||||
fork.blocked_user=Não pode derivar o repositório porque foi bloqueado/a pelo/a proprietário/a do repositório.
|
||||
use_template=Usar este modelo
|
||||
clone_in_vsc=Clonar no VS Code
|
||||
open_with_editor=Abrir com %s
|
||||
download_zip=Descarregar ZIP
|
||||
download_tar=Descarregar TAR.GZ
|
||||
download_bundle=Descarregar PACOTE
|
||||
|
@ -1008,6 +1064,7 @@ watchers=Vigilantes
|
|||
stargazers=Fãs
|
||||
stars_remove_warning=Isto irá remover todas as marcas de favoritos deste repositório.
|
||||
forks=Derivações
|
||||
stars=Favoritos
|
||||
reactions_more=e mais %d
|
||||
unit_disabled=O administrador desabilitou esta secção do repositório.
|
||||
language_other=Outros
|
||||
|
@ -1129,6 +1186,7 @@ watch=Vigiar
|
|||
unstar=Tirar dos favoritos
|
||||
star=Juntar aos favoritos
|
||||
fork=Derivar
|
||||
action.blocked_user=Não pode realizar a operação porque foi bloqueado/a pelo/a proprietário/a do repositório.
|
||||
download_archive=Descarregar repositório
|
||||
more_operations=Mais operações
|
||||
|
||||
|
@ -1257,6 +1315,8 @@ editor.file_editing_no_longer_exists=O ficheiro que está a ser editado, "%s", j
|
|||
editor.file_deleting_no_longer_exists=O ficheiro que está a ser eliminado, "%s", já não existe neste repositório.
|
||||
editor.file_changed_while_editing=O conteúdo do ficheiro mudou desde que começou a editar. <a target="_blank" rel="noopener noreferrer" href="%s">Clique aqui</a> para ver as modificações ou clique em <strong>Cometer novamente</strong> para escrever por cima.
|
||||
editor.file_already_exists=Já existe um ficheiro com o nome "%s" neste repositório.
|
||||
editor.commit_id_not_matching=O ID do cometimento não corresponde ao ID de quando começou a editar. Faça o cometimento para um ramo de remendo (patch) e depois faça a integração.
|
||||
editor.push_out_of_date=O envio parece estar obsoleto.
|
||||
editor.commit_empty_file_header=Cometer um ficheiro vazio
|
||||
editor.commit_empty_file_text=O ficheiro que está prestes a cometer está vazio. Quer continuar?
|
||||
editor.no_changes_to_show=Não existem modificações para mostrar.
|
||||
|
@ -1280,9 +1340,8 @@ commits.desc=Navegar pelo histórico de modificações no código fonte.
|
|||
commits.commits=Cometimentos
|
||||
commits.no_commits=Não há cometimentos em comum. "%s" e "%s" têm históricos completamente diferentes.
|
||||
commits.nothing_to_compare=Estes ramos são iguais.
|
||||
commits.search=Procurar cometimentos…
|
||||
commits.search.tooltip=Pode prefixar palavras-chave com "author:", "committer:", "after:", ou "before:". Por exemplo: "revert author:Alice before:2019-01-13".
|
||||
commits.find=Procurar
|
||||
commits.search_branch=Este ramo
|
||||
commits.search_all=Todos os ramos
|
||||
commits.author=Autor(a)
|
||||
commits.message=Mensagem
|
||||
|
@ -1333,7 +1392,6 @@ projects.type.basic_kanban=Kanban básico
|
|||
projects.type.bug_triage=Triagem de erros
|
||||
projects.template.desc=Modelo de planeamento
|
||||
projects.template.desc_helper=Escolha um modelo de planeamento para começar
|
||||
projects.type.uncategorized=Sem categoria
|
||||
projects.column.edit=Editar coluna
|
||||
projects.column.edit_title=Nome
|
||||
projects.column.new_title=Nome
|
||||
|
@ -1341,8 +1399,6 @@ projects.column.new_submit=Criar coluna
|
|||
projects.column.new=Nova coluna
|
||||
projects.column.set_default=Tornar predefinida
|
||||
projects.column.set_default_desc=Definir esta coluna como a predefinida para questões e pedidos de integração não categorizados
|
||||
projects.column.unset_default=Deixar de ser a predefinida
|
||||
projects.column.unset_default_desc=Faz com que esta coluna deixe de ser a predefinida
|
||||
projects.column.delete=Eliminar coluna
|
||||
projects.column.deletion_desc=Eliminar uma coluna de um planeamento faz com que todas as questões que nela constam sejam movidas para a coluna 'Sem categoria'. Continuar?
|
||||
projects.column.color=Colorido
|
||||
|
@ -1379,6 +1435,8 @@ issues.new.assignees=Encarregados
|
|||
issues.new.clear_assignees=Retirar todos os encarregados
|
||||
issues.new.no_assignees=Sem encarregados
|
||||
issues.new.no_reviewers=Sem revisores
|
||||
issues.new.blocked_user=Não pode criar a questão porque foi bloqueado/a pelo/a proprietário/a do repositório.
|
||||
issues.edit.blocked_user=Não pode editar o conteúdo porque foi bloqueado/a pelo/a remetente ou pelo/a proprietário/a do repositório.
|
||||
issues.choose.get_started=Começar
|
||||
issues.choose.open_external_link=Abrir
|
||||
issues.choose.blank=Padrão
|
||||
|
@ -1456,7 +1514,6 @@ issues.filter_sort.moststars=Favorito (decrescente)
|
|||
issues.filter_sort.feweststars=Favorito (crescente)
|
||||
issues.filter_sort.mostforks=Mais derivações
|
||||
issues.filter_sort.fewestforks=Menos derivações
|
||||
issues.keyword_search_unavailable=A pesquisa por palavra-chave não está disponível, neste momento. Entre em contacto com o administrador.
|
||||
issues.action_open=Abrir
|
||||
issues.action_close=Fechar
|
||||
issues.action_label=Rótulo
|
||||
|
@ -1494,6 +1551,7 @@ issues.close_comment_issue=Comentar e fechar
|
|||
issues.reopen_issue=Reabrir
|
||||
issues.reopen_comment_issue=Comentar e reabrir
|
||||
issues.create_comment=Comentar
|
||||
issues.comment.blocked_user=Não pode criar ou editar o comentário porque foi bloqueado/a pelo remetente ou pelo/a proprietário/a do repositório.
|
||||
issues.closed_at=`encerrou esta questão <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.reopened_at=`reabriu esta questão <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.commit_ref_at=`referenciou esta questão num cometimento <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
|
@ -1692,6 +1750,7 @@ compare.compare_head=comparar
|
|||
|
||||
pulls.desc=Habilitar pedidos de integração e revisão de código.
|
||||
pulls.new=Novo pedido de integração
|
||||
pulls.new.blocked_user=Não pode criar o pedido de integração porque foi bloqueado/a pelo/a proprietário/a do repositório.
|
||||
pulls.view=Ver pedido de integração
|
||||
pulls.compare_changes=Novo pedido de integração
|
||||
pulls.allow_edits_from_maintainers=Permitir edições por parte dos responsáveis
|
||||
|
@ -1708,7 +1767,6 @@ pulls.compare_compare=puxar de
|
|||
pulls.switch_comparison_type=Trocar o tipo de comparação
|
||||
pulls.switch_head_and_base=Trocar o topo com a base
|
||||
pulls.filter_branch=Filtrar ramo
|
||||
pulls.no_results=Não foram encontrados quaisquer resultados.
|
||||
pulls.show_all_commits=Mostrar todos os cometimentos
|
||||
pulls.show_changes_since_your_last_review=Mostrar modificações desde a sua última revisão
|
||||
pulls.showing_only_single_commit=Mostrando apenas as modificações do comentimento %[1]s
|
||||
|
@ -1914,7 +1972,9 @@ wiki.original_git_entry_tooltip=Ver o ficheiro Git original, ao invés de usar u
|
|||
|
||||
activity=Trabalho
|
||||
activity.navbar.pulse=Pulso
|
||||
activity.navbar.code_frequency=Frequência de programação
|
||||
activity.navbar.contributors=Contribuidores
|
||||
activity.navbar.recent_commits=Cometimentos recentes
|
||||
activity.period.filter_label=Período:
|
||||
activity.period.daily=1 dia
|
||||
activity.period.halfweekly=3 dias
|
||||
|
@ -1985,17 +2045,6 @@ contributors.contribution_type.commits=Cometimentos
|
|||
contributors.contribution_type.additions=Adições
|
||||
contributors.contribution_type.deletions=Eliminações
|
||||
|
||||
search=Procurar
|
||||
search.search_repo=Procurar repositório
|
||||
search.type.tooltip=Tipo de pesquisa
|
||||
search.fuzzy=Aproximada
|
||||
search.fuzzy.tooltip=Incluir também os resultados que estejam próximos do termo de pesquisa
|
||||
search.match=Fiel
|
||||
search.match.tooltip=Incluir somente os resultados que correspondam rigorosamente ao termo de pesquisa
|
||||
search.results=Resultados da procura de "%s" em <a href="%s">%s</a>
|
||||
search.code_no_results=Não foi encontrado qualquer código-fonte correspondente à sua pesquisa.
|
||||
search.code_search_unavailable=A pesquisa por código-fonte não está disponível, neste momento. Entre em contacto com o administrador.
|
||||
|
||||
settings=Configurações
|
||||
settings.desc=Configurações é onde pode gerir as configurações do repositório
|
||||
settings.options=Repositório
|
||||
|
@ -2044,6 +2093,8 @@ settings.branches.add_new_rule=Adicionar nova regra
|
|||
settings.advanced_settings=Configurações avançadas
|
||||
settings.wiki_desc=Habilitar wiki do repositório
|
||||
settings.use_internal_wiki=Usar o wiki nativo
|
||||
settings.default_wiki_branch_name=Nome do ramo predefinido do wiki
|
||||
settings.failed_to_change_default_wiki_branch=Falhou ao mudar o nome do ramo predefinido do wiki.
|
||||
settings.use_external_wiki=Usar um wiki externo
|
||||
settings.external_wiki_url=URL do wiki externo
|
||||
settings.external_wiki_url_error=O URL do wiki externo não é um URL válido.
|
||||
|
@ -2074,6 +2125,10 @@ settings.pulls.default_allow_edits_from_maintainers=Permitir, por norma, que os
|
|||
settings.releases_desc=Habilitar lançamentos no repositório
|
||||
settings.packages_desc=Habilitar o registo de pacotes do repositório
|
||||
settings.projects_desc=Habilitar planeamentos no repositório
|
||||
settings.projects_mode_desc=Modo de planeamentos (tipos de planeamentos a mostrar)
|
||||
settings.projects_mode_repo=Apenas planeamentos de repositórios
|
||||
settings.projects_mode_owner=Apenas planeamentos de utilizadores ou de organizações
|
||||
settings.projects_mode_all=Todos os planeamentos
|
||||
settings.actions_desc=Habilitar operações no repositório (Gitea Actions)
|
||||
settings.admin_settings=Configurações do administrador
|
||||
settings.admin_enable_health_check=Habilitar verificações de integridade (git fsck) no repositório
|
||||
|
@ -2099,6 +2154,7 @@ settings.convert_fork_succeed=A derivação foi convertida num repositório norm
|
|||
settings.transfer=Transferir a propriedade
|
||||
settings.transfer.rejected=A transferência do repositório foi rejeitada.
|
||||
settings.transfer.success=A transferência do repositório foi bem sucedida.
|
||||
settings.transfer.blocked_user=Não foi possível transferir o repositório porque foi bloqueado/a pelo/a novo/a proprietário/a.
|
||||
settings.transfer_abort=Cancelar a transferência
|
||||
settings.transfer_abort_invalid=Não pode cancelar a transferência de um repositório inexistente.
|
||||
settings.transfer_abort_success=A transferência de repositório para %s foi cancelada com sucesso.
|
||||
|
@ -2144,11 +2200,11 @@ settings.add_collaborator_success=O colaborador foi adicionado.
|
|||
settings.add_collaborator_inactive_user=Não é possível adicionar um utilizador desabilitado como colaborador.
|
||||
settings.add_collaborator_owner=Não é possível adicionar um proprietário como um colaborador.
|
||||
settings.add_collaborator_duplicate=O colaborador já tinha sido adicionado a este repositório.
|
||||
settings.add_collaborator.blocked_user=O/A colaborador/a foi bloqueado/a pelo/a proprietário/a do repositório ou vice-versa.
|
||||
settings.delete_collaborator=Remover
|
||||
settings.collaborator_deletion=Remover colaborador
|
||||
settings.collaborator_deletion_desc=Remover um colaborador irá revogar o seu acesso a este repositório. Quer continuar?
|
||||
settings.remove_collaborator_success=O colaborador foi removido.
|
||||
settings.search_user_placeholder=Procurar utilizador…
|
||||
settings.org_not_allowed_to_be_collaborator=As organizações não podem ser adicionadas como colaborador.
|
||||
settings.change_team_access_not_allowed=Alterar o acesso da equipa ao repositório foi restrito ao proprietário da organização
|
||||
settings.team_not_in_organization=A equipa não está na mesma organização que o repositório
|
||||
|
@ -2156,7 +2212,6 @@ settings.teams=Equipas
|
|||
settings.add_team=Adicionar equipa
|
||||
settings.add_team_duplicate=A equipa já tem o repositório
|
||||
settings.add_team_success=A equipa agora tem acesso ao repositório.
|
||||
settings.search_team=Procurar equipa…
|
||||
settings.change_team_permission_tip=A permissão da equipa é definida na página de configurações da equipa e não pode ter modificações específicas de cada repositório
|
||||
settings.delete_team_tip=Esta equipa tem acesso a todos os repositórios e não pode ser removida
|
||||
settings.remove_team_success=O acesso da equipa ao repositório foi removido.
|
||||
|
@ -2309,9 +2364,7 @@ settings.protect_whitelist_committers=Lista de permissões para restringir os en
|
|||
settings.protect_whitelist_committers_desc=Apenas os utilizadores ou equipas constantes na lista terão permissão para enviar para este ramo (mas não poderão fazer envios forçados).
|
||||
settings.protect_whitelist_deploy_keys=Dar permissão às chaves de instalação para terem acesso de escrita para enviar.
|
||||
settings.protect_whitelist_users=Utilizadores com permissão para enviar:
|
||||
settings.protect_whitelist_search_users=Procurar utilizadores…
|
||||
settings.protect_whitelist_teams=Equipas com permissão para enviar:
|
||||
settings.protect_whitelist_search_teams=Procurar equipas…
|
||||
settings.protect_merge_whitelist_committers=Habilitar lista de permissão para integrar
|
||||
settings.protect_merge_whitelist_committers_desc=Permitir que somente utilizadores ou equipas constantes na lista de permissão possam executar, neste ramo, integrações constantes em pedidos de integração.
|
||||
settings.protect_merge_whitelist_users=Utilizadores com permissão para executar integrações:
|
||||
|
@ -2556,7 +2609,6 @@ branch.default_deletion_failed=O ramo "%s" é o ramo principal, não pode ser el
|
|||
branch.restore=`Restaurar o ramo "%s"`
|
||||
branch.download=`Descarregar o ramo "%s"`
|
||||
branch.rename=`Renomear ramo "%s"`
|
||||
branch.search=Pesquisar ramo
|
||||
branch.included_desc=Este ramo faz parte do ramo principal
|
||||
branch.included=Incluído
|
||||
branch.create_new_branch=Criar ramo a partir do ramo:
|
||||
|
@ -2587,13 +2639,16 @@ find_file.no_matching=Não foi encontrado qualquer ficheiro correspondente
|
|||
error.csv.too_large=Não é possível apresentar este ficheiro por ser demasiado grande.
|
||||
error.csv.unexpected=Não é possível apresentar este ficheiro porque contém um caractere inesperado na linha %d e coluna %d.
|
||||
error.csv.invalid_field_count=Não é possível apresentar este ficheiro porque tem um número errado de campos na linha %d.
|
||||
error.broken_git_hook=Os automatismos git deste repositório parecem estar danificados. Consulte a <a target="_blank" rel="noreferrer" href="%s">documentação</a> sobre como os consertar e depois envie alguns cometimentos para refrescar o estado.
|
||||
|
||||
[graphs]
|
||||
component_loading=A carregar %s...
|
||||
component_loading_failed=Não foi possível carregar %s
|
||||
component_loading_info=Isto pode demorar um pouco…
|
||||
component_failed_to_load=Ocorreu um erro inesperado.
|
||||
code_frequency.what=frequência de programação
|
||||
contributors.what=contribuições
|
||||
recent_commits.what=cometimentos recentes
|
||||
|
||||
[org]
|
||||
org_name_holder=Nome da organização
|
||||
|
@ -2699,7 +2754,6 @@ teams.write_permission_desc=Esta equipa atribui acesso de <strong>escrita</stron
|
|||
teams.admin_permission_desc=Esta equipa atribui o acesso de <strong>administração</strong>: os seus membros podem ler de, enviar para, e adicionar colaboradores aos repositórios da equipa.
|
||||
teams.create_repo_permission_desc=Adicionalmente, esta equipa atribui a permissão de <strong>criar repositórios</strong>: os seus membros podem criar novos repositórios na organização.
|
||||
teams.repositories=Repositórios da equipa
|
||||
teams.search_repo_placeholder=Procurar repositório…
|
||||
teams.remove_all_repos_title=Remover todos os repositórios da equipa
|
||||
teams.remove_all_repos_desc=Isto irá remover todos os repositórios da equipa.
|
||||
teams.add_all_repos_title=Adicionar todos os repositórios
|
||||
|
@ -2708,6 +2762,7 @@ teams.add_nonexistent_repo=O repositório que está a tentar adicionar não exis
|
|||
teams.add_duplicate_users=O utilizador já é um membro da equipa.
|
||||
teams.repos.none=Não há repositórios que possam ser acedidos por esta equipa.
|
||||
teams.members.none=Não há membros nesta equipa.
|
||||
teams.members.blocked_user=Não foi possível adicionar o/a utilizador/a porque essa operação foi bloqueada pela organização.
|
||||
teams.specific_repositories=Repositórios específicos
|
||||
teams.specific_repositories_helper=Os membros só terão acesso a repositórios explicitamente adicionados à equipa. Escolher isto <strong>não irá</strong> remover automaticamente os repositórios já adicionados com <i>Todos os repositórios</i>.
|
||||
teams.all_repositories=Todos os repositórios
|
||||
|
@ -2732,6 +2787,8 @@ integrations=Integrações
|
|||
authentication=Fontes de autenticação
|
||||
emails=Emails do utilizador
|
||||
config=Configuração
|
||||
config_summary=Resumo
|
||||
config_settings=Configurações
|
||||
notices=Notificações do sistema
|
||||
monitor=Monitorização
|
||||
first_page=Primeira
|
||||
|
@ -2908,9 +2965,6 @@ repos.unadopted.no_more=Não foram encontrados mais repositórios não adoptados
|
|||
repos.owner=Proprietário(a)
|
||||
repos.name=Nome
|
||||
repos.private=Privado
|
||||
repos.watches=Vigilâncias
|
||||
repos.stars=Favoritos
|
||||
repos.forks=Derivações
|
||||
repos.issues=Questões
|
||||
repos.size=Tamanho
|
||||
repos.lfs_size=Tamanho do LFS
|
||||
|
@ -3035,7 +3089,7 @@ auths.tip.nextcloud=`Registe um novo consumidor OAuth na sua instância usando o
|
|||
auths.tip.dropbox=Crie uma nova aplicação em https://www.dropbox.com/developers/apps
|
||||
auths.tip.facebook=`Registe uma nova aplicação em https://developers.facebook.com/apps e adicione o produto "Facebook Login"`
|
||||
auths.tip.github=Registe uma nova aplicação OAuth em https://github.com/settings/applications/new
|
||||
auths.tip.gitlab=Registe uma nova aplicação em https://gitlab.com/profile/applications
|
||||
auths.tip.gitlab_new=Registe uma nova aplicação em https://gitlab.com/-/profile/applications
|
||||
auths.tip.google_plus=Obtenha credenciais de cliente OAuth2 a partir da consola do Google API em https://console.developers.google.com/
|
||||
auths.tip.openid_connect=Use o URL da descoberta de conexão OpenID (<server>/.well-known/openid-configuration) para especificar os extremos
|
||||
auths.tip.twitter=`Vá a https://dev.twitter.com/apps, crie uma aplicação e certifique-se de que está habilitada a opção "Allow this application to be used to Sign in with Twitter"`
|
||||
|
@ -3171,6 +3225,7 @@ config.picture_config=Configuração da imagem e do avatar
|
|||
config.picture_service=Serviço de imagem
|
||||
config.disable_gravatar=Desabilitar o Gravatar
|
||||
config.enable_federated_avatar=Habilitar avatares federados
|
||||
config.open_with_editor_app_help=Os editores de "Abrir com" do menu de clonagem. Se for deixado em branco, será usado o predefinido. Expanda para ver o predefinido.
|
||||
|
||||
config.git_config=Configuração Git
|
||||
config.git_disable_diff_highlight=Desabilitar o realce de sintaxe no diff
|
||||
|
@ -3569,6 +3624,7 @@ runs.scheduled=Agendadas
|
|||
runs.pushed_by=enviado por
|
||||
runs.invalid_workflow_helper=O ficheiro de configuração da sequência de trabalho é inválido. Verifique o seu ficheiro de configuração: %s
|
||||
runs.no_matching_online_runner_helper=Não existem executores ligados que tenham o rótulo %s
|
||||
runs.no_job_without_needs=A sequência de trabalho tem que conter pelo menos um trabalho sem dependências.
|
||||
runs.actor=Interveniente
|
||||
runs.status=Estado
|
||||
runs.actors_no_select=Todos os intervenientes
|
||||
|
|
|
@ -139,6 +139,15 @@ confirm_delete_selected=Вы уверены, что хотите удалить
|
|||
name=Название
|
||||
value=Значение
|
||||
|
||||
filter=Фильтр
|
||||
filter.is_archived=Архивировано
|
||||
filter.is_template=Шаблон
|
||||
filter.public=Публичный
|
||||
filter.private=Личный
|
||||
|
||||
|
||||
[search]
|
||||
|
||||
[aria]
|
||||
navbar=Панель навигации
|
||||
footer=Подвал
|
||||
|
@ -312,7 +321,6 @@ collaborative_repos=Совместные репозитории
|
|||
my_orgs=Мои организации
|
||||
my_mirrors=Мои зеркала
|
||||
view_home=Показать %s
|
||||
search_repos=Поиск репозитория…
|
||||
filter=Другие фильтры
|
||||
filter_by_team_repositories=Фильтровать по репозиториям команды
|
||||
feed_of=Лента «%s»
|
||||
|
@ -333,20 +341,8 @@ issues.in_your_repos=В ваших репозиториях
|
|||
repos=Репозитории
|
||||
users=Пользователи
|
||||
organizations=Организации
|
||||
search=Поиск
|
||||
go_to=Перейти к
|
||||
code=Код
|
||||
search.type.tooltip=Тип поиска
|
||||
search.fuzzy=Неточный
|
||||
search.fuzzy.tooltip=Включать результаты, которые не полностью соответствуют поисковому запросу
|
||||
search.match=Соответствие
|
||||
search.match.tooltip=Включать только результаты, которые точно соответствуют поисковому запросу
|
||||
code_search_unavailable=В настоящее время поиск по коду недоступен. Обратитесь к администратору сайта.
|
||||
repo_no_results=Подходящие репозитории не найдены.
|
||||
user_no_results=Подходящие пользователи не найдены.
|
||||
org_no_results=Подходящие организации не найдены.
|
||||
code_no_results=Соответствующий поисковому запросу исходный код не найден.
|
||||
code_search_results=Результаты поиска «%s»
|
||||
code_last_indexed_at=Последний проиндексированный %s
|
||||
relevant_repositories_tooltip=Репозитории, являющиеся ответвлениями или не имеющие ни темы, ни значка, ни описания, скрыты.
|
||||
relevant_repositories=Показаны только релевантные репозитории, <a href="%s">показать результаты без фильтрации</a>.
|
||||
|
@ -364,7 +360,6 @@ forgot_password_title=Восстановить пароль
|
|||
forgot_password=Забыли пароль?
|
||||
sign_up_now=Нужен аккаунт? Зарегистрируйтесь.
|
||||
sign_up_successful=Учётная запись успешно создана. Добро пожаловать!
|
||||
confirmation_mail_sent_prompt=Новое письмо для подтверждения направлено на <b>%s</b>. Пожалуйста, проверьте ваш почтовый ящик в течение %s для завершения регистрации.
|
||||
must_change_password=Обновить пароль
|
||||
allow_password_change=Требовать смену пароля пользователем (рекомендуется)
|
||||
reset_password_mail_sent_prompt=Письмо с подтверждением отправлено на <b>%s</b>. Пожалуйста, проверьте входящую почту в течение %s, чтобы завершить процесс восстановления аккаунта.
|
||||
|
@ -612,6 +607,7 @@ form.name_reserved=Имя пользователя «%s» зарезервиро
|
|||
form.name_pattern_not_allowed=Шаблон «%s» не допускается в имени пользователя.
|
||||
form.name_chars_not_allowed=Имя пользователя «%s» содержит недопустимые символы.
|
||||
|
||||
|
||||
[settings]
|
||||
profile=Профиль
|
||||
account=Аккаунт
|
||||
|
@ -755,7 +751,6 @@ gpg_invalid_token_signature=Предоставленный ключ GPG, под
|
|||
gpg_token_required=Вы должны предоставить подпись для токена ниже
|
||||
gpg_token=Токен
|
||||
gpg_token_help=Вы можете сгенерировать подпись с помощью:
|
||||
gpg_token_code=echo "%s" | gpg -a --default-key %s --detach-sig
|
||||
gpg_token_signature=Текстовая подпись GPG
|
||||
key_signature_gpg_placeholder=Начинается с '-----BEGIN PGP SIGNATURE-----'
|
||||
verify_gpg_key_success=Ключ GPG «%s» верифицирован.
|
||||
|
@ -942,7 +937,6 @@ fork_visibility_helper=Видимость форкнутого репозито
|
|||
fork_branch=Ветка для клонирования в форк
|
||||
all_branches=Все ветки
|
||||
use_template=Использовать этот шаблон
|
||||
clone_in_vsc=Клонировать в VS Code
|
||||
download_zip=Скачать ZIP
|
||||
download_tar=Скачать TAR.GZ
|
||||
download_bundle=Скачать BUNDLE
|
||||
|
@ -1249,9 +1243,7 @@ commits.desc=Просмотр истории изменений исходног
|
|||
commits.commits=Коммитов
|
||||
commits.no_commits=Нет общих коммитов. «%s» и «%s» имеют совершенно разные истории.
|
||||
commits.nothing_to_compare=Эти ветки одинаковы.
|
||||
commits.search=Поиск коммитов…
|
||||
commits.search.tooltip=Можно предварять ключевые слова префиксами "author:", "committer:", "after:", или "before:", например "revert author:Alice before:2019-01-13".
|
||||
commits.find=Поиск
|
||||
commits.search_all=Все ветки
|
||||
commits.author=Автор
|
||||
commits.message=Сообщение
|
||||
|
@ -1301,7 +1293,6 @@ projects.type.basic_kanban=Обычный Канбан
|
|||
projects.type.bug_triage=Планирование работы с багами
|
||||
projects.template.desc=Шаблон проекта
|
||||
projects.template.desc_helper=Выберите шаблон проекта для начала
|
||||
projects.type.uncategorized=Без категории
|
||||
projects.column.edit=Изменить столбец
|
||||
projects.column.edit_title=Название
|
||||
projects.column.new_title=Название
|
||||
|
@ -1309,10 +1300,7 @@ projects.column.new_submit=Создать столбец
|
|||
projects.column.new=Новый столбец
|
||||
projects.column.set_default=Установить по умолчанию
|
||||
projects.column.set_default_desc=Назначить этот столбец по умолчанию для неклассифицированных задач и запросов на слияние
|
||||
projects.column.unset_default=Снять установку по умолчанию
|
||||
projects.column.unset_default_desc=Снять установку этого столбца по умолчанию
|
||||
projects.column.delete=Удалить столбец
|
||||
projects.column.deletion_desc=При удалении столбца проекта все связанные задачи перемещаются в 'Без категории'. Продолжить?
|
||||
projects.column.color=Цвет
|
||||
projects.open=Открыть
|
||||
projects.close=Закрыть
|
||||
|
@ -1424,7 +1412,6 @@ issues.filter_sort.moststars=Больше звезд
|
|||
issues.filter_sort.feweststars=Меньше звезд
|
||||
issues.filter_sort.mostforks=Больше форков
|
||||
issues.filter_sort.fewestforks=Меньше форков
|
||||
issues.keyword_search_unavailable=В настоящее время поиск по ключевым словам недоступен. Обратитесь к администратору сайта.
|
||||
issues.action_open=Открыть
|
||||
issues.action_close=Закрыть
|
||||
issues.action_label=Метка
|
||||
|
@ -1673,7 +1660,6 @@ pulls.compare_compare=взять из
|
|||
pulls.switch_comparison_type=Переключить тип сравнения
|
||||
pulls.switch_head_and_base=Поменять исходную и целевую ветки местами
|
||||
pulls.filter_branch=Фильтр по ветке
|
||||
pulls.no_results=Результатов не найдено.
|
||||
pulls.show_all_commits=Показать все коммиты
|
||||
pulls.show_changes_since_your_last_review=Показать изменения с момента вашего последнего отзыва
|
||||
pulls.showing_only_single_commit=Показать только изменения коммита %[1]s
|
||||
|
@ -1929,17 +1915,6 @@ activity.git_stats_deletion_n=%d удалений
|
|||
|
||||
contributors.contribution_type.commits=коммитов
|
||||
|
||||
search=Поиск
|
||||
search.search_repo=Поиск по репозиторию
|
||||
search.type.tooltip=Тип поиска
|
||||
search.fuzzy=Неточный
|
||||
search.fuzzy.tooltip=Включать результаты, которые не полностью соответствуют поисковому запросу
|
||||
search.match=Соответствие
|
||||
search.match.tooltip=Включать только результаты, которые точно соответствуют поисковому запросу
|
||||
search.results=Результаты поиска "%s" в <a href="%s">%s</a>
|
||||
search.code_no_results=Не найдено исходного кода, соответствующего поисковому запросу.
|
||||
search.code_search_unavailable=В настоящее время поиск по коду недоступен. Обратитесь к администратору сайта.
|
||||
|
||||
settings=Настройки
|
||||
settings.desc=В настройках вы можете менять различные параметры этого репозитория
|
||||
settings.options=Репозиторий
|
||||
|
@ -2015,6 +1990,7 @@ settings.pulls.default_allow_edits_from_maintainers=По умолчанию ра
|
|||
settings.releases_desc=Включить релизы
|
||||
settings.packages_desc=Включить реестр пакетов
|
||||
settings.projects_desc=Включить проекты репозитория
|
||||
settings.projects_mode_all=Все проекты
|
||||
settings.actions_desc=Включить действия репозитория
|
||||
settings.admin_settings=Настройки администратора
|
||||
settings.admin_enable_health_check=Выполнять проверки целостности этого репозитория (git fsck)
|
||||
|
@ -2089,7 +2065,6 @@ settings.delete_collaborator=Удалить
|
|||
settings.collaborator_deletion=Удалить соавтора
|
||||
settings.collaborator_deletion_desc=Этот пользователь больше не будет иметь доступа для совместной работы в этом репозитории после удаления. Вы хотите продолжить?
|
||||
settings.remove_collaborator_success=Соавтор удалён.
|
||||
settings.search_user_placeholder=Поиск пользователя…
|
||||
settings.org_not_allowed_to_be_collaborator=Организации не могут быть добавлены как соавторы.
|
||||
settings.change_team_access_not_allowed=Доступ к репозиторию команде ограничен владельцем организации
|
||||
settings.team_not_in_organization=Команда не в той же организации, что и репозиторий
|
||||
|
@ -2097,7 +2072,6 @@ settings.teams=Команды
|
|||
settings.add_team=Добавить команду
|
||||
settings.add_team_duplicate=Команда уже имеет репозиторий
|
||||
settings.add_team_success=Команда теперь имеет доступ к репозиторию.
|
||||
settings.search_team=Поиск команды…
|
||||
settings.change_team_permission_tip=Разрешение команды установлено на странице настройки команды и не может быть изменено для каждого репозитория
|
||||
settings.delete_team_tip=Эта команда имеет доступ ко всем репозиториям и не может быть удалена
|
||||
settings.remove_team_success=Доступ команды к репозиторию удалён.
|
||||
|
@ -2248,9 +2222,7 @@ settings.protect_whitelist_committers=Ограничение отправки п
|
|||
settings.protect_whitelist_committers_desc=Только пользователям или командам из белого списка будет разрешена отправка изменений в эту ветку (но не принудительная отправка).
|
||||
settings.protect_whitelist_deploy_keys=Белый список развёртываемых ключей с доступом на запись в push.
|
||||
settings.protect_whitelist_users=Пользователи, которые могут отправлять изменения в эту ветку:
|
||||
settings.protect_whitelist_search_users=Поиск пользователей…
|
||||
settings.protect_whitelist_teams=Команды, члены которых могут отправлять изменения в эту ветку:
|
||||
settings.protect_whitelist_search_teams=Поиск команд…
|
||||
settings.protect_merge_whitelist_committers=Ограничить право на слияние белым списком
|
||||
settings.protect_merge_whitelist_committers_desc=Разрешить принимать запросы на слияние в эту ветку только пользователям и командам из «белого списка».
|
||||
settings.protect_merge_whitelist_users=Пользователи с правом на слияние:
|
||||
|
@ -2486,7 +2458,6 @@ branch.default_deletion_failed=Ветка «%s» является веткой
|
|||
branch.restore=Восстановить ветку «%s»
|
||||
branch.download=Скачать ветку «%s»
|
||||
branch.rename=Переименовать ветку «%s»
|
||||
branch.search=Поиск ветки
|
||||
branch.included_desc=Эта ветка является частью ветки по умолчанию
|
||||
branch.included=Включено
|
||||
branch.create_new_branch=Создать ветку из ветви:
|
||||
|
@ -2623,7 +2594,6 @@ teams.write_permission_desc=Эта команда предоставляет д
|
|||
teams.admin_permission_desc=Эта команда даёт <strong>административный</strong> доступ: участники могут читать, отправлять изменения и добавлять соавторов к её репозиториям.
|
||||
teams.create_repo_permission_desc=Кроме того, эта команда предоставляет право <strong>Создание репозитория</strong>: члены команды могут создавать новые репозитории в организации.
|
||||
teams.repositories=Репозитории группы разработки
|
||||
teams.search_repo_placeholder=Поиск репозитория…
|
||||
teams.remove_all_repos_title=Удалить все репозитории команды
|
||||
teams.remove_all_repos_desc=Удаляет все репозитории из команды.
|
||||
teams.add_all_repos_title=Добавить все репозитории
|
||||
|
@ -2654,6 +2624,8 @@ integrations=Интеграции
|
|||
authentication=Аутентификация
|
||||
emails=Адреса эл. почты пользователей
|
||||
config=Конфигурация
|
||||
config_summary=Статистика
|
||||
config_settings=Настройки
|
||||
notices=Системные уведомления
|
||||
monitor=Мониторинг
|
||||
first_page=Первая
|
||||
|
@ -2822,9 +2794,6 @@ repos.unadopted.no_more=Больше непринятых репозиторие
|
|||
repos.owner=Владелец
|
||||
repos.name=Название
|
||||
repos.private=Личный
|
||||
repos.watches=Следят
|
||||
repos.stars=Звезды
|
||||
repos.forks=Форки
|
||||
repos.issues=Задачи
|
||||
repos.size=Размер
|
||||
repos.lfs_size=Размер LFS
|
||||
|
@ -2946,7 +2915,6 @@ auths.tip.nextcloud=`Зарегистрируйте нового потреби
|
|||
auths.tip.dropbox=Добавьте новое приложение на https://www.dropbox.com/developers/apps
|
||||
auths.tip.facebook=Зарегистрируйте новое приложение на https://developers.facebook.com/apps и добавьте модуль «Facebook Login»
|
||||
auths.tip.github=Добавьте OAuth приложение на https://github.com/settings/applications/new
|
||||
auths.tip.gitlab=Добавьте новое приложение на https://gitlab.com/profile/applications
|
||||
auths.tip.google_plus=Получите учётные данные клиента OAuth2 в консоли Google API на странице https://console.developers.google.com/
|
||||
auths.tip.openid_connect=Используйте OpenID Connect Discovery URL (<server>/.well-known/openid-configuration) для автоматической настройки входа OAuth
|
||||
auths.tip.twitter=Перейдите на https://dev.twitter.com/apps, создайте приложение и убедитесь, что включена опция «Разрешить это приложение для входа в систему с помощью Twitter»
|
||||
|
|
|
@ -100,6 +100,15 @@ concept_user_organization=සංවිධානය
|
|||
|
||||
name=නම
|
||||
|
||||
filter=පෙරහන
|
||||
filter.is_archived=සංරක්ෂිත
|
||||
filter.is_template=සැකිලි
|
||||
filter.public=ප්රසිද්ධ
|
||||
filter.private=පෞද්ගලික
|
||||
|
||||
|
||||
[search]
|
||||
|
||||
[aria]
|
||||
|
||||
[heatmap]
|
||||
|
@ -223,7 +232,6 @@ collaborative_repos=සහයෝගී ගබඩාවලදී
|
|||
my_orgs=මාගේ සංවිධාන
|
||||
my_mirrors=මගේ දර්පණ
|
||||
view_home=%s දකින්න
|
||||
search_repos=ගබඩාවක් සොයා ගන්න…
|
||||
filter=වෙනත් පෙරහන්
|
||||
filter_by_team_repositories=කණ්ඩායම් කෝෂ්ඨ අනුව පෙරන්න
|
||||
|
||||
|
@ -243,13 +251,7 @@ issues.in_your_repos=ඔබගේ කෝෂ්ඨවල
|
|||
repos=කෝෂ්ඨ
|
||||
users=පරිශීලකයින්
|
||||
organizations=සංවිධාන
|
||||
search=සොයන්න
|
||||
code=කේතය
|
||||
search.match=තරගය
|
||||
repo_no_results=ගැලපෙන ගබඩාවක් හමු නොවීය.
|
||||
user_no_results=ගැලපෙන පරිශීලකයින් හමු නොවීය.
|
||||
org_no_results=ගැලපෙන සංවිධාන හමු නොවීය.
|
||||
code_no_results=ඔබගේ සෙවුම් පදය ගැලපෙන ප්රභව කේතයක් නොමැත.
|
||||
code_last_indexed_at=අවසන් සුචිගත %s
|
||||
|
||||
[auth]
|
||||
|
@ -262,7 +264,6 @@ remember_me=උපාංගය මතක තබාගන්න
|
|||
forgot_password_title=මුරපදය අමතක වුණා
|
||||
forgot_password=මුරපදය අමතක වුණා ද?
|
||||
sign_up_now=ගිණුමක් ඇවැසිද? දැන් ලියාපදිංචි වන්න.
|
||||
confirmation_mail_sent_prompt=නව තහවුරු කිරීමේ විද්යුත් තැපෑලක් <b>%s</b>වෙත යවා ඇත. ලියාපදිංචි කිරීමේ ක්රියාවලිය සම්පූර්ණ කිරීම සඳහා කරුණාකර ඊළඟ %s තුළ ඔබගේ එන ලිපි පරීක්ෂා කරන්න.
|
||||
must_change_password=මුරපදය යාවත්කාල කරන්න
|
||||
allow_password_change=මුරපදය වෙනස් කිරීමට පරිශීලකයාට අවශ්ය වේ (නිර්දේශිත)
|
||||
reset_password_mail_sent_prompt=තහවුරු කිරීමේ විද්යුත් තැපෑලක් <b>%s</b>වෙත යවා ඇත. ඊළඟ තුළ ඔබගේ එන ලිපි පරීක්ෂා කරන්න %s ගිණුම යථා ක්රියාවලිය සම්පූර්ණ කිරීම සඳහා.
|
||||
|
@ -467,6 +468,7 @@ user_bio=චරිතාපදානය
|
|||
disabled_public_activity=මෙම පරිශීලකයා ක්රියාකාරකම්වල මහජන දෘශ්යතාව අක්රීය කර ඇත.
|
||||
|
||||
|
||||
|
||||
[settings]
|
||||
profile=පැතිකඩ
|
||||
account=ගිණුම
|
||||
|
@ -578,7 +580,6 @@ gpg_invalid_token_signature=සපයන ලද GPG යතුර, අත්ස
|
|||
gpg_token_required=පහත ටෝකනය සඳහා ඔබ අත්සනක් ලබා දිය යුතුය
|
||||
gpg_token=ටෝකනය
|
||||
gpg_token_help=ඔබට අත්සනක් ජනනය කළ හැකිය:
|
||||
gpg_token_code=දෝංකාරය "%s" | gpg -a -පැහැර හැරීම-යතුර %s —වෙන්ච-සිග්
|
||||
gpg_token_signature=සන්නද්ධ GPG අත්සන
|
||||
key_signature_gpg_placeholder=ආරම්භ වන්නේ '—ආරම්භ කරන්න PGP සිග්නේටුර්—'
|
||||
ssh_key_verified=සත්යාපිත යතුර
|
||||
|
@ -717,7 +718,6 @@ fork_repo=දෙබලක ගබඩාව
|
|||
fork_from=සිට දෙබලක
|
||||
fork_visibility_helper=ව්යාජ ගබඩාවේ දෘශ්යතාව වෙනස් කළ නොහැක.
|
||||
use_template=මෙම අච්චුව භාවිතා කරන්න
|
||||
clone_in_vsc=VS කේතය පරිගණක ක්රිඩාවට සමාන
|
||||
download_zip=ZIP බාගන්න
|
||||
download_tar=TAR.GZ බාගන්න
|
||||
download_bundle=බණ්ඩලය බාගත කරන්න
|
||||
|
@ -943,8 +943,6 @@ editor.require_signed_commit=ශාඛාවට අත්සන් කළ කැ
|
|||
commits.desc=මූලාශ්ර කේත වෙනස් කිරීමේ ඉතිහාසය පිරික්සන්න.
|
||||
commits.commits=විවරයන්
|
||||
commits.nothing_to_compare=මෙම ශාඛා සමාන වේ.
|
||||
commits.search=සෙවුම් වාර…
|
||||
commits.find=සොයන්න
|
||||
commits.search_all=සියළුම ශාඛා
|
||||
commits.author=කතෘ
|
||||
commits.message=පණිවිඩය
|
||||
|
@ -981,7 +979,6 @@ projects.type.basic_kanban=මූලික කන්ෙවනි
|
|||
projects.type.bug_triage=දෝෂ ට්රයිජ්
|
||||
projects.template.desc=ව්යාපෘති සැකිල්ල
|
||||
projects.template.desc_helper=ආරම්භ කිරීම සඳහා ව්යාපෘති සැකිල්ලක් තෝරන්න
|
||||
projects.type.uncategorized=ප්රවර්ග ගත නැති
|
||||
projects.column.edit_title=නම
|
||||
projects.column.new_title=නම
|
||||
projects.column.color=වර්ණය
|
||||
|
@ -1263,7 +1260,6 @@ pulls.compare_compare=සිට අදින්න
|
|||
pulls.switch_comparison_type=ස්විච් සංසන්දනය වර්ගය
|
||||
pulls.switch_head_and_base=හිස සහ පාදය මාරු කරන්න
|
||||
pulls.filter_branch=ශාඛාව පෙරන්න
|
||||
pulls.no_results=ප්රතිඵල සොයාගත නොහැකි විය.
|
||||
pulls.nothing_to_compare=මෙම ශාඛා සමාන වේ. අදින්න ඉල්ලීමක් නිර්මාණය කිරීමට අවශ්ය නැත.
|
||||
pulls.nothing_to_compare_and_allow_empty_pr=මෙම ශාඛා සමාන වේ. මෙම මහජන සම්බන්ධතා හිස් වනු ඇත.
|
||||
pulls.has_pull_request=`මෙම ශාඛා අතර අදින්න ඉල්ලීම දැනටමත් පවතී: <a href="%[1]s">%[2]s #%[3]d</a>`
|
||||
|
@ -1462,13 +1458,6 @@ activity.git_stats_deletion_n=%d මකාදැමීම්
|
|||
|
||||
contributors.contribution_type.commits=විවරයන්
|
||||
|
||||
search=සොයන්න
|
||||
search.search_repo=කෝෂ්ඨය සොයන්න
|
||||
search.fuzzy=සිනිඳු
|
||||
search.match=තරගය
|
||||
search.results=<a href="%s">%s</a> හි "%s" සඳහා සෙවුම් ප්රතිඵල
|
||||
search.code_no_results=ඔබගේ සෙවුම් පදය ගැලපෙන ප්රභව කේතයක් නොමැත.
|
||||
|
||||
settings=සැකසුම්
|
||||
settings.desc=සැකසුම් යනු ගබඩාව සඳහා සැකසුම් කළමනාකරණය කළ හැකි ස්ථානයයි
|
||||
settings.options=කෝෂ්ඨය
|
||||
|
@ -1584,7 +1573,6 @@ settings.delete_collaborator=ඉවත් කරන්න
|
|||
settings.collaborator_deletion=සහයෝගිතාකරු ඉවත් කරන්න
|
||||
settings.collaborator_deletion_desc=සහයෝගිතාකරුවෙකු ඉවත් කිරීම මෙම ගබඩාවට ඔවුන්ගේ ප්රවේශය අවලංගු කරනු ඇත. දිගටම?
|
||||
settings.remove_collaborator_success=සහයෝගිතාකරු ඉවත් කර ඇත.
|
||||
settings.search_user_placeholder=පරිශීලක සොයන්න…
|
||||
settings.org_not_allowed_to_be_collaborator=සහයෝගීකයෙකු ලෙස සංවිධාන එකතු කළ නොහැක.
|
||||
settings.change_team_access_not_allowed=ගබඩාව සඳහා කණ්ඩායම් ප්රවේශය වෙනස් කිරීම සංවිධාන හිමිකරුට සීමා කර ඇත
|
||||
settings.team_not_in_organization=මෙම කණ්ඩායම ගබඩාවේ එකම සංවිධානයේ නොමැත
|
||||
|
@ -1592,7 +1580,6 @@ settings.teams=කණ්ඩායම්
|
|||
settings.add_team=කණ්ඩායම එකතු කරන්න
|
||||
settings.add_team_duplicate=කණ්ඩායම දැනටමත් ගබඩාවක් ඇත
|
||||
settings.add_team_success=කණ්ඩායමට දැන් කෝෂ්ඨයට ප්රවේශය ඇත.
|
||||
settings.search_team=කණ්ඩායම සොයන්න…
|
||||
settings.change_team_permission_tip=කණ්ඩායමේ අවසරය කණ්ඩායම් සැකසුම් පිටුවේ සකසන අතර කෝෂ්ඨය අනුව වෙනස් කළ නොහැකිය
|
||||
settings.delete_team_tip=මෙම කණ්ඩායම සියළුම කෝෂ්ඨවලට ප්රවේශය ඇති අතර ඉවත් කළ නොහැකිය
|
||||
settings.remove_team_success=කෝෂ්ඨය වෙත කණ්ඩායමේ ප්රවේශය ඉවත් කර ඇත.
|
||||
|
@ -1709,9 +1696,7 @@ settings.protect_whitelist_committers=වයිට්ලිස්ට් සී
|
|||
settings.protect_whitelist_committers_desc=මෙම ශාඛාව වෙත තල්ලු කිරීමට අවසර ඇත්තේ වයිට්ලිස්ට් පරිශීලකයින්ට හෝ කණ්ඩායම්වලට පමණි (නමුත් බල තල්ලුව නොවේ).
|
||||
settings.protect_whitelist_deploy_keys=වයිට්ලිස්ට් තල්ලු කිරීමට ලිවීමේ ප්රවේශය සහිත යතුරු යොදවන්න.
|
||||
settings.protect_whitelist_users=තල්ලු කිරීම සඳහා වයිට්ලිස්ට් පරිශීලකයින්:
|
||||
settings.protect_whitelist_search_users=පරිශීලකයින් සොයන්න…
|
||||
settings.protect_whitelist_teams=තල්ලු කිරීම සඳහා වයිට්ලිස්ට් කණ්ඩායම්:
|
||||
settings.protect_whitelist_search_teams=කණ්ඩායම් සොයන්න…
|
||||
settings.protect_merge_whitelist_committers=ඒකාබද්ධ වයිට්ලිස්ට් සක්රීය කරන්න
|
||||
settings.protect_merge_whitelist_committers_desc=මෙම ශාඛාවට ඇද ගැනීමේ ඉල්ලීම් ඒකාබද්ධ කිරීමට සුදු පැහැති පරිශීලකයින්ට හෝ කණ්ඩායම්වලට පමණක් ඉඩ දෙන්න.
|
||||
settings.protect_merge_whitelist_users=ඒකාබද්ධ කිරීම සඳහා Whitelisted පරිශීලකයන්:
|
||||
|
@ -2006,7 +1991,6 @@ teams.write_permission_desc=මෙම කණ්ඩායම ප්රදාන
|
|||
teams.admin_permission_desc=මෙම කණ්ඩායම <strong>පරිපාලක</strong> ප්රවේශය ලබා දෙයි: සාමාජිකයින්ට කියවීමට, කණ්ඩායම් ගබඩාවන්ට සහයෝගීකයින් වෙත තල්ලු කිරීමට සහ එකතු කිරීමට හැකිය.
|
||||
teams.create_repo_permission_desc=මීට අමතරව, මෙම කණ්ඩායම <strong>ලබා දෙයි ගබඩාව සාදන්න</strong> අවසරය: සාමාජිකයින්ට සංවිධානයේ නව ගබඩාවක් නිර්මාණය කළ හැකිය.
|
||||
teams.repositories=කණ්ඩායම් කෝෂ්ඨ
|
||||
teams.search_repo_placeholder=කෝෂ්ඨය සොයන්න…
|
||||
teams.remove_all_repos_title=සියළුම කණ්ඩායම් කෝෂ්ඨ ඉවත් කරන්න
|
||||
teams.remove_all_repos_desc=මෙය කණ්ඩායමෙන් සියළුම කෝෂ්ඨ ඉවත් කෙරෙනු ඇත.
|
||||
teams.add_all_repos_title=සියළුම කෝෂ්ඨ එක්කරන්න
|
||||
|
@ -2031,6 +2015,8 @@ hooks=වෙබ්කොකු
|
|||
authentication=සත්යාපන ප්රභවයන්
|
||||
emails=පරිශීලක වි-තැපැල්
|
||||
config=වින්යාසය
|
||||
config_summary=සාරාංශය
|
||||
config_settings=සැකසුම්
|
||||
notices=පද්ධතියේ දැන්වීම්
|
||||
monitor=අධීක්ෂණය
|
||||
first_page=පළමු
|
||||
|
@ -2178,9 +2164,6 @@ repos.unadopted.no_more=තවත් සම්මත නොකළ ගබඩා
|
|||
repos.owner=හිමිකරු
|
||||
repos.name=නම
|
||||
repos.private=පෞද්ගලික
|
||||
repos.watches=අත් ඔරලෝසු
|
||||
repos.stars=තරු
|
||||
repos.forks=දෙබලක
|
||||
repos.issues=ගැටළු
|
||||
repos.size=ප්රමාණය
|
||||
|
||||
|
@ -2278,7 +2261,6 @@ auths.tip.nextcloud=පහත සඳහන් මෙනුව භාවිතා
|
|||
auths.tip.dropbox=https://www.dropbox.com/developers/apps හි නව යෙදුමක් සාදන්න
|
||||
auths.tip.facebook=https://developers.facebook.com/apps හි නව යෙදුමක් ලියාපදිංචි කර නිෂ්පාදනය එකතු කරන්න “ෆේස්බුක් ලොගින් වන්න”
|
||||
auths.tip.github=https://github.com/settings/applications/new හි නව OAUTH අයදුම්පතක් ලියාපදිංචි කරන්න
|
||||
auths.tip.gitlab=https://gitlab.com/profile/applications හි නව අයදුම්පතක් ලියාපදිංචි කරන්න
|
||||
auths.tip.google_plus=ගූගල් API කොන්සෝලය වෙතින් OUT2 සේවාදායක අක්තපත්ර ලබා ගන්න https://console.developers.google.com/
|
||||
auths.tip.openid_connect=අන්ත ලක්ෂ්ය නියම කිරීම සඳහා OpenID Connect ඩිස්කවරි URL (<server>/.හොඳින් දැන /openid-වින්යාසය) භාවිතා කරන්න
|
||||
auths.tip.twitter=https://dev.twitter.com/apps වෙත යන්න, යෙදුමක් සාදන්න සහ “මෙම යෙදුම ට්විටර් සමඟ පුරනය වීමට භාවිතා කිරීමට ඉඩ දෙන්න” විකල්පය සක්රීය කර ඇති බවට සහතික වන්න
|
||||
|
|
|
@ -140,6 +140,13 @@ confirm_delete_selected=Potvrdzujete zmazanie všetkých vybraných položiek?
|
|||
name=Meno
|
||||
value=Hodnota
|
||||
|
||||
filter.is_archived=Archivované
|
||||
filter.is_template=Šablóna
|
||||
filter.private=Súkromný
|
||||
|
||||
|
||||
[search]
|
||||
|
||||
[aria]
|
||||
navbar=Navigačná lišta
|
||||
footer=Päta
|
||||
|
@ -309,7 +316,6 @@ collaborative_repos=Kolaboratívne repozitáre
|
|||
my_orgs=Moje organizácie
|
||||
my_mirrors=Moje zrkadlá
|
||||
view_home=Zobraziť %s
|
||||
search_repos=Nájsť repozitár…
|
||||
filter=Ostatné filtre
|
||||
filter_by_team_repositories=Filtrovať podľa tímových repozitárov
|
||||
feed_of=Informačný kanál „%s“
|
||||
|
@ -330,20 +336,8 @@ issues.in_your_repos=Vo vašich repozitároch
|
|||
repos=Repozitáre
|
||||
users=Používatelia
|
||||
organizations=Organizácie
|
||||
search=Hľadať
|
||||
go_to=Ísť na
|
||||
code=Zdrojový kód
|
||||
search.type.tooltip=Typ vyhľadávania
|
||||
search.fuzzy=Fuzzy
|
||||
search.fuzzy.tooltip=Zahrnúť iba výsledky, ktoré sa takmer zhodujú s hľadaným výrazom
|
||||
search.match=Zhoda
|
||||
search.match.tooltip=Zahrnúť iba výsledky, ktoré sa presne zhodujú s hľadaným výrazom
|
||||
code_search_unavailable=Vyhľadávanie kódu momentálne nie je dostupné. Kontaktujte, prosím, správcu.
|
||||
repo_no_results=Nenašli sa zodpovedajúce repozitáre.
|
||||
user_no_results=Nenašli sa zodpovedajúci používatelia.
|
||||
org_no_results=Nenašli sa zodpovedajúce organizácie.
|
||||
code_no_results=Nenašiel sa žiaden zdrojový kód zodpovedajúci hľadanému výrazu.
|
||||
code_search_results=`Výsledky hľadania pre "%s"`
|
||||
code_last_indexed_at=Naposledy indexované %s
|
||||
relevant_repositories_tooltip=Repozitáre, ktoré sú forkami alebo ktoré nemajú tému, žiadnu ikonu ani popis, sú skryté.
|
||||
relevant_repositories=Zobrazujú sa iba relevantné repozitáre, <a href="%s">zobraziť nefiltrované výsledky</a>.
|
||||
|
@ -359,7 +353,6 @@ remember_me=Zapamätať si toto zariadenie
|
|||
forgot_password_title=Zabudnuté heslo
|
||||
forgot_password=Zabudli ste heslo?
|
||||
sign_up_now=Potrebujete účet? Zaregistrujte sa teraz.
|
||||
confirmation_mail_sent_prompt=Na adresu <b>%s</b> bol odoslaný nový potvrdzovací e-mail. Skontrolujte si, prosím, vašu doručenú poštu počas najbližších %s pre dokončenie procesu registrácie.
|
||||
allow_password_change=Vyžiadať od používateľa zmenu hesla (doporučuje sa)
|
||||
reset_password_mail_sent_prompt=Na adresu <b>%s</b> bol odoslaný potvrdzovací e-mail. Skontrolujte si, prosím, vašu doručenú poštu počas najbližších %s pre dokončenie procesu obnovenia účtu.
|
||||
active_your_account=Aktivovať účet
|
||||
|
@ -582,6 +575,7 @@ user_bio=Životopis
|
|||
disabled_public_activity=Tento používateľ zákázal verejnú viditeľnosť aktivity.
|
||||
|
||||
|
||||
|
||||
[settings]
|
||||
profile=Profil
|
||||
account=Účet
|
||||
|
@ -707,7 +701,6 @@ gpg_invalid_token_signature=Zadaný GPG kľúč, podpis a token sa nezhodujú al
|
|||
gpg_token_required=Musíte zadať podpis pre nižšie uvedený token
|
||||
gpg_token=Token
|
||||
gpg_token_help=Podpis môžete vygenerovať pomocou:
|
||||
gpg_token_code=echo "%s" | gpg -a --default-key %s --detach-sig
|
||||
gpg_token_signature=Zakódovaný (ASCII) podpis GPG
|
||||
key_signature_gpg_placeholder=Začína s '-----BEGIN PGP SIGNATURE-----'
|
||||
ssh_key_verified=Overený kľúč
|
||||
|
@ -853,7 +846,6 @@ visibility_helper_forced=Váš správca vynucuje že nové repozitáre musia by
|
|||
visibility_fork_helper=(Zmena ovplyvní všetky forky.)
|
||||
clone_helper=Potrebujete pomoc s klonovaním? Navštívte <a target="_blank" rel="noopener noreferrer" href="%s">Pomocníka</a>.
|
||||
use_template=Použiť túto šablónu
|
||||
clone_in_vsc=Klonovať vo VS Code
|
||||
generate_repo=Generovať repozitár
|
||||
generate_from=Generovať z
|
||||
repo_desc=Popis
|
||||
|
@ -1037,7 +1029,6 @@ editor.no_commit_to_branch=Nedá sa odoslať priamo do vetvy, pretože:
|
|||
editor.require_signed_commit=Vetva vyžaduje podpísaný commit
|
||||
|
||||
commits.commits=Commity
|
||||
commits.find=Hľadať
|
||||
commits.search_all=Všetky vetvy
|
||||
commits.author=Autor
|
||||
commits.message=Správa
|
||||
|
@ -1147,15 +1138,6 @@ activity.git_stats_commit_n=%d commity
|
|||
|
||||
contributors.contribution_type.commits=Commitov
|
||||
|
||||
search=Hľadať
|
||||
search.type.tooltip=Typ vyhľadávania
|
||||
search.fuzzy=Fuzzy
|
||||
search.fuzzy.tooltip=Zahrnúť iba výsledky, ktoré sa takmer zhodujú s hľadaným výrazom
|
||||
search.match=Zhoda
|
||||
search.match.tooltip=Zahrnúť iba výsledky, ktoré sa presne zhodujú s hľadaným výrazom
|
||||
search.code_no_results=Nenašiel sa žiaden zdrojový kód zodpovedajúci hľadanému výrazu.
|
||||
search.code_search_unavailable=Vyhľadávanie kódu momentálne nie je dostupné. Kontaktujte, prosím, správcu.
|
||||
|
||||
settings.collaboration.owner=Vlastník
|
||||
settings.hooks=Webhooky
|
||||
settings.githooks=Git hooky
|
||||
|
@ -1287,7 +1269,6 @@ dashboard.delete_generated_repository_avatars=Odstrániť vygenerované avatary
|
|||
|
||||
repos.owner=Vlastník
|
||||
repos.private=Súkromný
|
||||
repos.forks=Forky
|
||||
|
||||
packages.owner=Vlastník
|
||||
packages.repository=Repozitár
|
||||
|
|
|
@ -91,6 +91,14 @@ concept_user_organization=Organisation
|
|||
|
||||
name=Namn
|
||||
|
||||
filter.is_archived=Arkiverade
|
||||
filter.is_template=Mall
|
||||
filter.public=Offentlig
|
||||
filter.private=Privat
|
||||
|
||||
|
||||
[search]
|
||||
|
||||
[aria]
|
||||
|
||||
[heatmap]
|
||||
|
@ -212,7 +220,6 @@ collaborative_repos=Kollaborativa Utvecklingskataloger
|
|||
my_orgs=Mina organisationer
|
||||
my_mirrors=Mina speglar
|
||||
view_home=Visa %s
|
||||
search_repos=Hitta en utvecklingskatalog…
|
||||
filter=Övriga Filter
|
||||
|
||||
show_archived=Arkiverade
|
||||
|
@ -231,12 +238,7 @@ issues.in_your_repos=I dina utvecklingskataloger
|
|||
repos=Utvecklingskataloger
|
||||
users=Användare
|
||||
organizations=Organisationer
|
||||
search=Sök
|
||||
code=Kod
|
||||
repo_no_results=Inga matchande utvecklingskataloger hittades.
|
||||
user_no_results=Inga matchande användare hittades.
|
||||
org_no_results=Inga matchande organisationer hittades.
|
||||
code_no_results=Ingen källkod hittades som matchar din sökterm.
|
||||
code_last_indexed_at=Indexerades senast %s
|
||||
|
||||
[auth]
|
||||
|
@ -249,7 +251,6 @@ remember_me=Kom ihåg denna enhet
|
|||
forgot_password_title=Glömt lösenord
|
||||
forgot_password=Glömt lösenord?
|
||||
sign_up_now=Behöver du ett konto? Registrera nu.
|
||||
confirmation_mail_sent_prompt=Ett nytt bekräftelsemail has skickats till <b>%s</b>. Vänligen kolla din inkorg inom dom kommande %s för att slutföra registreringsprocessen.
|
||||
must_change_password=Ändra ditt lösenord
|
||||
allow_password_change=Kräv att användaren byter lösenord (rekommenderas)
|
||||
reset_password_mail_sent_prompt=Ett nytt bekräftelsemail has skickats till <b>%s</b>. Vänligen kontrollera din inkorg inom de kommande %s för att slutföra återställning av ditt konto.
|
||||
|
@ -406,6 +407,7 @@ user_bio=Biografi
|
|||
disabled_public_activity=Den här användaren har inaktiverat den publika synligheten av aktiviteten.
|
||||
|
||||
|
||||
|
||||
[settings]
|
||||
profile=Profil
|
||||
account=Konto
|
||||
|
@ -798,8 +800,6 @@ editor.require_signed_commit=Branchen kräver en signerad commit
|
|||
|
||||
commits.desc=Bläddra i källkodens förändringshistorik.
|
||||
commits.commits=Incheckningar
|
||||
commits.search=Sök commits…
|
||||
commits.find=Sök
|
||||
commits.search_all=Alla brancher
|
||||
commits.author=Upphovsman
|
||||
commits.message=Meddelande
|
||||
|
@ -827,7 +827,6 @@ projects.edit=Redigera projekt
|
|||
projects.modify=Uppdatera projekt
|
||||
projects.type.none=Ingen
|
||||
projects.template.desc=Projektmall
|
||||
projects.type.uncategorized=Okatergoriserad
|
||||
projects.column.edit_title=Namn
|
||||
projects.column.new_title=Namn
|
||||
projects.open=Öppna
|
||||
|
@ -1084,7 +1083,6 @@ pulls.compare_changes_desc=Välj branchen att merga in i, och ifrån.
|
|||
pulls.compare_base=merga in i
|
||||
pulls.compare_compare=pulla från
|
||||
pulls.filter_branch=Filtrera gren
|
||||
pulls.no_results=Inga resultat hittades.
|
||||
pulls.nothing_to_compare=Dessa brancher är ekvivalenta. Det finns ingen anledning att skapa en pull-request.
|
||||
pulls.create=Skapa Pullförfrågan
|
||||
pulls.title_desc=vill sammanfoga %[1]d incheckningar från <code>s[2]s</code> in i <code id="branch_target">%[3]s</code>
|
||||
|
@ -1230,11 +1228,6 @@ activity.git_stats_deletion_n=%d borttagningar
|
|||
|
||||
contributors.contribution_type.commits=Incheckningar
|
||||
|
||||
search=Sök
|
||||
search.search_repo=Sök utvecklingskatalog
|
||||
search.results=Sökresultat för ”%s” i <a href="%s"> %s</a>
|
||||
search.code_no_results=Ingen källkod hittades som matchar din sökterm.
|
||||
|
||||
settings=Inställningar
|
||||
settings.desc=Inställningarna är där du kan hantera inställningar för utvecklingskatalogen
|
||||
settings.options=Utvecklingskatalog
|
||||
|
@ -1315,7 +1308,6 @@ settings.delete_collaborator=Ta bort
|
|||
settings.collaborator_deletion=Ta bort medarbetare
|
||||
settings.collaborator_deletion_desc=Borttagning av en medarbetare kommer att återkalla deras åtkomst till utvecklingskatalogen. Vill du fortsätta?
|
||||
settings.remove_collaborator_success=Medarbetaren har blivit borttagen.
|
||||
settings.search_user_placeholder=Sök användare…
|
||||
settings.org_not_allowed_to_be_collaborator=Organisationer kan inte läggas till som en medarbetare.
|
||||
settings.change_team_access_not_allowed=Att ändra teamåtkomst för utvecklingskatalogen har begränsats till organisationsägaren
|
||||
settings.team_not_in_organization=Teamet är inte i samma organisation som utvecklingskatalogen
|
||||
|
@ -1407,9 +1399,7 @@ settings.protect_enable_push=Aktivera Push
|
|||
settings.protect_enable_push_desc=Alla med skrivrättigheter kommer att kunna pusha till denna branch (men inte force-pusha).
|
||||
settings.protect_whitelist_deploy_keys=Vitlista deploy-nyckar med skrivåtkomst till push.
|
||||
settings.protect_whitelist_users=Vitlistade användare för pushning:
|
||||
settings.protect_whitelist_search_users=Sök användare…
|
||||
settings.protect_whitelist_teams=Vitlistade team för pushning:
|
||||
settings.protect_whitelist_search_teams=Sök team…
|
||||
settings.protect_merge_whitelist_committers=Aktivera vitlista för sammanfogning
|
||||
settings.protect_merge_whitelist_committers_desc=Tillåt endast vitlistade användare eller team att sammanfoga pull requests i denna branch.
|
||||
settings.protect_merge_whitelist_users=Vitlistade användare för sammanfogning:
|
||||
|
@ -1626,7 +1616,6 @@ teams.write_permission_desc=Medlemskap i detta team ger <strong>skrivrättighete
|
|||
teams.admin_permission_desc=Medlemskap i detta team ger <strong>administratörsrättigheter</strong>: medlemmar kan läsa, pusha och lägga till medarbetare till teamets utvecklingskataloger.
|
||||
teams.create_repo_permission_desc=Vidare så ger detta team <strong>Skapa utvecklingskatalog</strong> rättigheten: medlemmar can skapa nya utvecklingskataloger i organisationen.
|
||||
teams.repositories=Teamförråd
|
||||
teams.search_repo_placeholder=Sök utvecklingskatalog…
|
||||
teams.remove_all_repos_title=Ta bort alla utvecklingskataloger för teamet
|
||||
teams.remove_all_repos_desc=Detta kommer att ta bort alla utvecklingskataloger från teamet.
|
||||
teams.add_all_repos_title=Lägg till alla utvecklingskataloger
|
||||
|
@ -1649,6 +1638,8 @@ organizations=Organisationer
|
|||
repositories=Utvecklingskataloger
|
||||
authentication=Autentiseringskälla
|
||||
config=Konfiguration
|
||||
config_summary=Översikt
|
||||
config_settings=Inställningar
|
||||
notices=Systemaviseringar
|
||||
monitor=Övervakning
|
||||
first_page=Första
|
||||
|
@ -1750,9 +1741,6 @@ repos.repo_manage_panel=Utvecklingskatalogshantering
|
|||
repos.owner=Ägare
|
||||
repos.name=Namn
|
||||
repos.private=Privat
|
||||
repos.watches=Vakter
|
||||
repos.stars=Stjärnor
|
||||
repos.forks=Forkar
|
||||
repos.issues=Ärenden
|
||||
repos.size=Storlek
|
||||
|
||||
|
@ -1818,7 +1806,6 @@ auths.tip.bitbucket=Registrera en ny OAuth konsument på https://bitbucket.org/a
|
|||
auths.tip.dropbox=Skapa en ny applikation på https://www.dropbox.com/developers/apps
|
||||
auths.tip.facebook=Registrera en ny appliaktion på https://developers.facebook.com/apps och lägg till produkten ”Facebook-inloggning”
|
||||
auths.tip.github=Registrera en ny OAuth applikation på https://github.com/settings/applications/new
|
||||
auths.tip.gitlab=Registrera en ny applikation på https://gitlab.com/profile/applications
|
||||
auths.tip.google_plus=Erhåll inloggningsuppgifter för OAuth2 från Google API-konsolen på https://console.developers.google.com/
|
||||
auths.tip.openid_connect=Använd OpenID Connect Discovery länken (<server>/.well-known/openid-configuration) för att ange slutpunkterna
|
||||
auths.tip.twitter=Gå till https://dev.twitter.com/app, skapa en applikation och försäkra att alternativet "Allow this application to be used to Sign in with Twitter" är aktiverat
|
||||
|
|
|
@ -141,6 +141,15 @@ confirm_delete_selected=Tüm seçili öğeleri gerçekten silmek istiyor musunuz
|
|||
name=İsim
|
||||
value=Değer
|
||||
|
||||
filter=Filtre
|
||||
filter.is_archived=Arşivlenmiş
|
||||
filter.is_template=Şablon
|
||||
filter.public=Genel
|
||||
filter.private=Özel
|
||||
|
||||
|
||||
[search]
|
||||
|
||||
[aria]
|
||||
navbar=Gezinti Çubuğu
|
||||
footer=Alt Bilgi
|
||||
|
@ -314,7 +323,6 @@ collaborative_repos=Katkıya Açık Depolar
|
|||
my_orgs=Organizasyonlarım
|
||||
my_mirrors=Yansılarım
|
||||
view_home=%s Görüntüle
|
||||
search_repos=Depo bul…
|
||||
filter=Diğer Süzgeçler
|
||||
filter_by_team_repositories=Takım depolarına göre süz
|
||||
feed_of=`"%s" beslemesi`
|
||||
|
@ -335,20 +343,8 @@ issues.in_your_repos=Depolarınızda
|
|||
repos=Depolar
|
||||
users=Kullanıcılar
|
||||
organizations=Organizasyonlar
|
||||
search=Ara
|
||||
go_to=Git
|
||||
code=Kod
|
||||
search.type.tooltip=Arama türü
|
||||
search.fuzzy=Bulanık
|
||||
search.fuzzy.tooltip=Arama terimine benzeyen sonuçları da içer
|
||||
search.match=Eşleştir
|
||||
search.match.tooltip=Sadece arama terimiyle tamamen eşleşen sonuçları içer
|
||||
code_search_unavailable=Kod arama şu an mevcut değil. Lütfen site yöneticinizle bağlantıya geçin.
|
||||
repo_no_results=Eşleşen depo bulunamadı.
|
||||
user_no_results=Eşleşen kullanıcı bulunamadı.
|
||||
org_no_results=Eşleşen organizasyon bulunamadı.
|
||||
code_no_results=Arama teriminizi içeren kaynak kod bulunamadı.
|
||||
code_search_results=`"%s" için sonuçları ara`
|
||||
code_last_indexed_at=Son dizinlenen %s
|
||||
relevant_repositories_tooltip=Çatal olan veya konusu, simgesi veya açıklaması olmayan depolar gizlenmiştir.
|
||||
relevant_repositories=Sadece ilişkili depolar gösteriliyor, <a href="%s">süzülmemiş sonuçları göster</a>.
|
||||
|
@ -366,7 +362,6 @@ forgot_password_title=Şifremi unuttum
|
|||
forgot_password=Şifrenizi mi unuttunuz?
|
||||
sign_up_now=Bir hesaba mı ihtiyacınız var? Hemen kaydolun.
|
||||
sign_up_successful=Hesap başarılı bir şekilde oluşturuldu. Hoşgeldiniz!
|
||||
confirmation_mail_sent_prompt=Yeni onay e-postası <b>%s</b> adresine gönderildi. Lütfen gelen kutunuzu bir sonraki %s e kadar kontrol edip kayıt işlemini tamamlayın.
|
||||
must_change_password=Parolanızı güncelleyin
|
||||
allow_password_change=Kullanıcıyı parola değiştirmeye zorla (önerilen)
|
||||
reset_password_mail_sent_prompt=<b>%s</b> adresine bir onay e-postası gönderildi. Hesap kurtarma işlemini tamamlamak için lütfen gelen kutunuzu sonraki %s içinde kontrol edin.
|
||||
|
@ -614,6 +609,7 @@ form.name_reserved=`"%s" kullanıcı adı rezerve edilmiş.`
|
|||
form.name_pattern_not_allowed=Kullanıcı adında "%s" deseni kullanılamaz.
|
||||
form.name_chars_not_allowed=`"%s" kullanıcı adı geçersiz karakterler içeriyor.`
|
||||
|
||||
|
||||
[settings]
|
||||
profile=Profil
|
||||
account=Hesap
|
||||
|
@ -758,7 +754,6 @@ gpg_invalid_token_signature=Verilen GPG anahtarı, imza ve anahtar uyuşmuyor ve
|
|||
gpg_token_required=Aşağıdaki anahtar için bir imza sağlamalısınız
|
||||
gpg_token=Anahtar
|
||||
gpg_token_help=Şunu kullanarak bir imza oluşturabilirsiniz:
|
||||
gpg_token_code=echo "%s" | gpg -a --default-key %s --detach-sig
|
||||
gpg_token_signature=Korumalı GPG imzası
|
||||
key_signature_gpg_placeholder='-----PGP İMZA BAŞLAT -----' ile başlar
|
||||
verify_gpg_key_success=GPG anahtarı "%s" doğrulandı.
|
||||
|
@ -952,7 +947,6 @@ fork_branch=Çatala klonlanacak dal
|
|||
all_branches=Tüm dallar
|
||||
fork_no_valid_owners=Geçerli bir sahibi olmadığı için bu depo çatallanamaz.
|
||||
use_template=Bu şablonu kullan
|
||||
clone_in_vsc=VS Code'ta klonla
|
||||
download_zip=ZIP indir
|
||||
download_tar=TAR.GZ indir
|
||||
download_bundle=BUNDLE indir
|
||||
|
@ -973,9 +967,9 @@ readme_helper=Bir README dosyası şablonu seçin.
|
|||
readme_helper_desc=Projeniz için eksiksiz bir açıklama yazabileceğiniz yer burasıdır.
|
||||
auto_init=Depoyu başlat (.gitignore, Lisans ve README dosyalarını ekler)
|
||||
trust_model_helper=İmza doğrulaması için güven modelini seçin. Olası seçenekler şunlardır:
|
||||
trust_model_helper_collaborator=Ortak çalışan: Ortak çalışanların imzalarına güven
|
||||
trust_model_helper_collaborator=Katkıcı: Katkıcıların imzalarına güven
|
||||
trust_model_helper_committer=İşleyen: İşleyenlerle eşleşen imzalara güven
|
||||
trust_model_helper_collaborator_committer=Ortak çalışan+İşleyen: İşleyenle eşleşen ortak çalışanların imzalarına güven
|
||||
trust_model_helper_collaborator_committer=Katkıcı+İşleyen: İşleyenle eşleşen ortak çalışanların imzalarına güven
|
||||
trust_model_helper_default=Varsayılan: Bu kurulum için varsayılan güven modelini kullan
|
||||
create_repo=Depo Oluştur
|
||||
default_branch=Varsayılan Dal
|
||||
|
@ -1271,9 +1265,7 @@ commits.desc=Kaynak kodu değişiklik geçmişine göz atın.
|
|||
commits.commits=İşleme
|
||||
commits.no_commits=Ortak bir işleme yok. "%s" ve "%s" tamamen farklı geçmişlere sahip.
|
||||
commits.nothing_to_compare=Bu dallar eşit.
|
||||
commits.search=İşlemeleri ara…
|
||||
commits.search.tooltip=Anahtar kelimeleri "author:", "committer:", "after:" veya "before:" ile kullanabilirsiniz, örneğin "revert author:Alice before:2019-01-13".
|
||||
commits.find=Ara
|
||||
commits.search_all=Tüm Dallar
|
||||
commits.author=Yazar
|
||||
commits.message=Mesaj
|
||||
|
@ -1324,7 +1316,6 @@ projects.type.basic_kanban=Kanban Tabanı
|
|||
projects.type.bug_triage=Hata Triyajı
|
||||
projects.template.desc=Proje şablonu
|
||||
projects.template.desc_helper=Başlamak için bir proje şablonu seçin
|
||||
projects.type.uncategorized=Kategorize edilmemiş
|
||||
projects.column.edit=Sütun Düzenle
|
||||
projects.column.edit_title=İsim
|
||||
projects.column.new_title=İsim
|
||||
|
@ -1332,10 +1323,7 @@ projects.column.new_submit=Sütun Oluştur
|
|||
projects.column.new=Yeni Sütun
|
||||
projects.column.set_default=Varsayılanı Ayarla
|
||||
projects.column.set_default_desc=Bu sütunu kategorize edilmemiş konular ve değişiklik istekleri için varsayılan olarak ayarlayın
|
||||
projects.column.unset_default=Varsayılanları Geri Al
|
||||
projects.column.unset_default_desc=Bu sütunu varsayılan olarak geri al
|
||||
projects.column.delete=Sutün Sil
|
||||
projects.column.deletion_desc=Bir proje sütununun silinmesi, ilgili tüm konuları 'Kategorize edilmemiş'e taşır. Devam edilsin mi?
|
||||
projects.column.color=Renk
|
||||
projects.open=Aç
|
||||
projects.close=Kapat
|
||||
|
@ -1447,7 +1435,6 @@ issues.filter_sort.moststars=En çok yıldızlılar
|
|||
issues.filter_sort.feweststars=En az yıldızlılar
|
||||
issues.filter_sort.mostforks=En çok çatallananlar
|
||||
issues.filter_sort.fewestforks=En az çatallananlar
|
||||
issues.keyword_search_unavailable=Anahtar kelime ile arama şu an mevcut değil. Lütfen site yöneticisiyle iletişime geçin.
|
||||
issues.action_open=Açık
|
||||
issues.action_close=Kapat
|
||||
issues.action_label=Etiket
|
||||
|
@ -1699,7 +1686,6 @@ pulls.compare_compare=şuradan çek
|
|||
pulls.switch_comparison_type=Karşılaştırma türünü değiştir
|
||||
pulls.switch_head_and_base=Ana ve temeli değiştir
|
||||
pulls.filter_branch=Dal filtrele
|
||||
pulls.no_results=Sonuç bulunamadı.
|
||||
pulls.show_all_commits=Tüm işlemeleri göster
|
||||
pulls.show_changes_since_your_last_review=Son incelemenizden sonraki değişiklikleri göster
|
||||
pulls.showing_only_single_commit=Sadece %[1]s işlemesindeki değişiklikler gösteriliyor
|
||||
|
@ -1969,17 +1955,6 @@ activity.git_stats_deletion_n=%d silme oldu
|
|||
|
||||
contributors.contribution_type.commits=İşleme
|
||||
|
||||
search=Ara
|
||||
search.search_repo=Depo ara
|
||||
search.type.tooltip=Arama türü
|
||||
search.fuzzy=Belirsiz
|
||||
search.fuzzy.tooltip=Arama terimine benzeyen sonuçları da içer
|
||||
search.match=Eşleştir
|
||||
search.match.tooltip=Sadece arama terimiyle tamamen eşleşen sonuçları içer
|
||||
search.results=`"%s" için <a href="%s">%s</a> içinde sonuçları ara`
|
||||
search.code_no_results=Arama teriminizi içeren kaynak kod bulunamadı.
|
||||
search.code_search_unavailable=Kod arama şu an mevcut değil. Lütfen site yöneticinizle bağlantıya geçin.
|
||||
|
||||
settings=Ayarlar
|
||||
settings.desc=Ayarlar, deponun ayarlarını yönetebileceğiniz yerdir
|
||||
settings.options=Depo
|
||||
|
@ -2057,6 +2032,7 @@ settings.pulls.default_allow_edits_from_maintainers=Bakımcıların düzenlemele
|
|||
settings.releases_desc=Depo Sürümlerini Etkinleştir
|
||||
settings.packages_desc=Depo Paket Kütüğünü Etkinleştir
|
||||
settings.projects_desc=Depo Projelerini Etkinleştir
|
||||
settings.projects_mode_all=Tüm projeler
|
||||
settings.actions_desc=Depo İşlemlerini Etkinleştir
|
||||
settings.admin_settings=Yönetici Ayarları
|
||||
settings.admin_enable_health_check=Depo Sağlık Kontrollerini Etkinleştir (git fsck)
|
||||
|
@ -2131,7 +2107,6 @@ settings.delete_collaborator=Sil
|
|||
settings.collaborator_deletion=Katkıcıyı Sil
|
||||
settings.collaborator_deletion_desc=Bir katkıcıyı silmek, bu depoya erişimini iptal edecektir. Devam et?
|
||||
settings.remove_collaborator_success=Katkıcı silindi.
|
||||
settings.search_user_placeholder=Kullanıcı ara…
|
||||
settings.org_not_allowed_to_be_collaborator=Organizasyonlar katkıcı olarak eklenemez.
|
||||
settings.change_team_access_not_allowed=Depo için takım erişimini değiştirmek, organizasyon sahibiyle sınırlandırıldı
|
||||
settings.team_not_in_organization=Takım, depo ile aynı organizasyonda değil
|
||||
|
@ -2139,7 +2114,6 @@ settings.teams=Takımlar
|
|||
settings.add_team=Takım Ekle
|
||||
settings.add_team_duplicate=Takım zaten bu depoya sahip
|
||||
settings.add_team_success=Takım artık bu depoya erişebilir.
|
||||
settings.search_team=Takım Ara…
|
||||
settings.change_team_permission_tip=Takımın izni takım ayarı sayfasında ayarlanır ve depo başına değiştirilemez
|
||||
settings.delete_team_tip=Bu takımın tüm depolara erişimi var ve kaldırılamıyor
|
||||
settings.remove_team_success=Takımın depoya erişimi kaldırıldı.
|
||||
|
@ -2292,9 +2266,7 @@ settings.protect_whitelist_committers=Beyaz Liste Kısıtlı Gönderme
|
|||
settings.protect_whitelist_committers_desc=Sadece beyaz listeye alınmış kullanıcıların veya takımların bu dala göndermesine izin verilir (ancak zorla gönderim yapmayın).
|
||||
settings.protect_whitelist_deploy_keys=Beyaz liste göndermek için yazma erişimi olan anahtarları dağıtır.
|
||||
settings.protect_whitelist_users=İtme için beyaz listedeki kullanıcılar:
|
||||
settings.protect_whitelist_search_users=Kullanıcı ara…
|
||||
settings.protect_whitelist_teams=İtme için beyaz listedeki takımlar:
|
||||
settings.protect_whitelist_search_teams=Takımları ara…
|
||||
settings.protect_merge_whitelist_committers=Birleştirme Beyaz Listesini Etkinleştir
|
||||
settings.protect_merge_whitelist_committers_desc=Yalnızca beyaz listedeki kullanıcıların veya takımların bu daldaki değişiklik isteklerini birleştirmesine izin verin.
|
||||
settings.protect_merge_whitelist_users=Birleştirme için beyaz listedeki kullanıcılar:
|
||||
|
@ -2536,7 +2508,6 @@ branch.default_deletion_failed=`"%s" dalı varsayılan daldır. Silinemez.`
|
|||
branch.restore=`"%s" Dalını Geri Yükle`
|
||||
branch.download=`"%s" Dalını İndir`
|
||||
branch.rename=`"%s" Dalının Adını Değiştir`
|
||||
branch.search=Dal Ara
|
||||
branch.included_desc=Bu dal varsayılan dalın bir parçasıdır
|
||||
branch.included=Dahil
|
||||
branch.create_new_branch=Şu daldan dal oluştur:
|
||||
|
@ -2674,7 +2645,6 @@ teams.write_permission_desc=Bu takım <strong>Yazma</strong> erişimi veriyor.
|
|||
teams.admin_permission_desc=Bu takım <strong>Yönetici</strong> erişimi veriyor. Üyeler takım depolarını okuyabilir, itebilir ve katkıcı ekleyebilir.
|
||||
teams.create_repo_permission_desc=Ayrıca, bu takım <strong>Depo oluşturma</strong> izni verir: üyeler organizasyonda yeni depolar oluşturabilir.
|
||||
teams.repositories=Takım Depoları
|
||||
teams.search_repo_placeholder=Depo ara…
|
||||
teams.remove_all_repos_title=Tüm takım depolarını kaldır
|
||||
teams.remove_all_repos_desc=Bu, tüm depoları takımdan kaldıracaktır.
|
||||
teams.add_all_repos_title=Tüm depoları ekle
|
||||
|
@ -2706,6 +2676,8 @@ integrations=Bütünleştirmeler
|
|||
authentication=Yetkilendirme Kaynakları
|
||||
emails=Kullanıcı E-postaları
|
||||
config=Yapılandırma
|
||||
config_summary=Özet
|
||||
config_settings=Ayarlar
|
||||
notices=Sistem Bildirimler
|
||||
monitor=İzleme
|
||||
first_page=İlk
|
||||
|
@ -2880,9 +2852,6 @@ repos.unadopted.no_more=Kabul edilmemiş başka depo bulunamadı
|
|||
repos.owner=Sahibi
|
||||
repos.name=İsim
|
||||
repos.private=Özel
|
||||
repos.watches=İzlemeler
|
||||
repos.stars=Yıldızlar
|
||||
repos.forks=Çatallar
|
||||
repos.issues=Konular
|
||||
repos.size=Boyut
|
||||
repos.lfs_size=LFS Boyutu
|
||||
|
@ -3007,7 +2976,6 @@ auths.tip.nextcloud=Aşağıdaki "Ayarlar -> Güvenlik -> OAuth 2.0 istemcisi" m
|
|||
auths.tip.dropbox=https://www.dropbox.com/developers/apps adresinde yeni bir uygulama oluştur
|
||||
auths.tip.facebook=https://developers.facebook.com/apps adresinde yeni bir uygulama kaydedin ve "Facebook Giriş" ürününü ekleyin
|
||||
auths.tip.github=https://github.com/settings/applications/new adresinde yeni bir OAuth uygulaması kaydedin
|
||||
auths.tip.gitlab=https://gitlab.com/profile/applications adresinde yeni bir uygulama kaydedin
|
||||
auths.tip.google_plus=OAuth2 istemci kimlik bilgilerini https://console.developers.google.com/ adresindeki Google API konsolundan edinin
|
||||
auths.tip.openid_connect=Bitiş noktalarını belirlemek için OpenID Connect Discovery URL'sini kullanın (<server>/.well-known/openid-configuration)
|
||||
auths.tip.twitter=https://dev.twitter.com/apps adresine gidin, bir uygulama oluşturun ve “Bu uygulamanın Twitter ile oturum açmak için kullanılmasına izin ver” seçeneğinin etkin olduğundan emin olun
|
||||
|
|
|
@ -101,6 +101,15 @@ concept_user_organization=Організація
|
|||
|
||||
name=Назва
|
||||
|
||||
filter=Фільтр
|
||||
filter.is_archived=Архівовані
|
||||
filter.is_template=Шаблон
|
||||
filter.public=Публічний
|
||||
filter.private=Приватний
|
||||
|
||||
|
||||
[search]
|
||||
|
||||
[aria]
|
||||
|
||||
[heatmap]
|
||||
|
@ -236,7 +245,6 @@ collaborative_repos=Спільні репозиторії
|
|||
my_orgs=Мої організації
|
||||
my_mirrors=Мої дзеркала
|
||||
view_home=Переглянути %s
|
||||
search_repos=Шукати репозиторій…
|
||||
filter=Інші фільтри
|
||||
filter_by_team_repositories=Фільтрувати за репозиторіями команд
|
||||
feed_of=`Стрічка "%s"`
|
||||
|
@ -257,14 +265,7 @@ issues.in_your_repos=В ваших репозиторіях
|
|||
repos=Репозиторії
|
||||
users=Користувачі
|
||||
organizations=Організації
|
||||
search=Пошук
|
||||
code=Код
|
||||
search.fuzzy=Неточний
|
||||
search.match=Відповідність
|
||||
repo_no_results=Відповідних репозиторіїв не знайдено.
|
||||
user_no_results=Відповідних користувачів не знайдено.
|
||||
org_no_results=Відповідних організацій не знайдено.
|
||||
code_no_results=Відповідний пошуковому запитанню код не знайдено.
|
||||
code_last_indexed_at=Останні індексовані %s
|
||||
|
||||
[auth]
|
||||
|
@ -277,7 +278,6 @@ remember_me=Запам’ятати цей пристрій
|
|||
forgot_password_title=Забув пароль
|
||||
forgot_password=Забули пароль?
|
||||
sign_up_now=Потрібен обліковий запис? Зареєструйтеся зараз.
|
||||
confirmation_mail_sent_prompt=Новий лист для підтвердження було відправлено на <b>%s</b>, будь ласка, перевірте вашу поштову скриньку протягом %s для завершення реєстрації.
|
||||
must_change_password=Оновіть свій пароль
|
||||
allow_password_change=Вимагати в користувача змінити пароль (рекомендується)
|
||||
reset_password_mail_sent_prompt=Електронний лист із підтвердженням надіслано <b>%s</b>. Перевірте папку 'Вхідні' в межах наступних %s, щоб завершити процес відновлення облікового запису.
|
||||
|
@ -483,6 +483,7 @@ user_bio=Біографія
|
|||
disabled_public_activity=Цей користувач вимкнув публічний показ діяльності.
|
||||
|
||||
|
||||
|
||||
[settings]
|
||||
profile=Профіль
|
||||
account=Обліковий запис
|
||||
|
@ -599,7 +600,6 @@ gpg_invalid_token_signature=Наданий ключ GPG, підпис і ток
|
|||
gpg_token_required=Вам потрібно надати підпис для нижчевказаного токена
|
||||
gpg_token=Токен
|
||||
gpg_token_help=Ви можете створити підпис за допомогою:
|
||||
gpg_token_code=echo "%s" | gpg -a --default-key %s --detach-sig
|
||||
gpg_token_signature=Текстовий (armored) підпис GPG
|
||||
key_signature_gpg_placeholder=`Починається з "-----BEGIN PGP SIGNATURE-----"`
|
||||
ssh_key_verified=Перевірений ключ
|
||||
|
@ -738,7 +738,6 @@ fork_repo=Форкнути репозиторій
|
|||
fork_from=Форк з
|
||||
fork_visibility_helper=Неможливо змінити видимість форкнутого репозиторію.
|
||||
use_template=Застосувати цей шаблон
|
||||
clone_in_vsc=Клонувати у VS Code
|
||||
download_zip=Завантажити ZIP
|
||||
download_tar=Завантажити TAR.GZ
|
||||
download_bundle=Завантажити BUNDLE
|
||||
|
@ -980,8 +979,6 @@ editor.require_signed_commit=Гілка вимагає підписаного к
|
|||
commits.desc=Переглянути історію зміни коду.
|
||||
commits.commits=Коміти
|
||||
commits.nothing_to_compare=Ці гілки однакові.
|
||||
commits.search=Знайти коміт…
|
||||
commits.find=Пошук
|
||||
commits.search_all=Усі гілки
|
||||
commits.author=Автор
|
||||
commits.message=Повідомлення
|
||||
|
@ -1019,7 +1016,6 @@ projects.type.basic_kanban=Спрощений канбан
|
|||
projects.type.bug_triage=Сортування помилок
|
||||
projects.template.desc=Шаблон проєкту
|
||||
projects.template.desc_helper=Оберіть шаблон проєкту, аби почати
|
||||
projects.type.uncategorized=Без категорії
|
||||
projects.column.edit_title=Назва
|
||||
projects.column.new_title=Назва
|
||||
projects.column.color=Колір
|
||||
|
@ -1311,7 +1307,6 @@ pulls.compare_compare=pull з
|
|||
pulls.switch_comparison_type=Перемкнути вигляд порівняння
|
||||
pulls.switch_head_and_base=Поміняти місцями основну та базову гілку
|
||||
pulls.filter_branch=Фільтр по гілці
|
||||
pulls.no_results=Результатів не знайдено.
|
||||
pulls.nothing_to_compare=Ці гілки однакові. Немає необхідності створювати запитів на злиття.
|
||||
pulls.nothing_to_compare_and_allow_empty_pr=Одинакові гілки. Цей PR буде порожнім.
|
||||
pulls.has_pull_request=`Запит злиття для цих гілок вже існує: <a href="%[1]s">%[2]s#%[3]d</a>`
|
||||
|
@ -1511,13 +1506,6 @@ activity.git_stats_deletion_n=%d видалені
|
|||
|
||||
contributors.contribution_type.commits=Коміти
|
||||
|
||||
search=Пошук
|
||||
search.search_repo=Пошук репозиторію
|
||||
search.fuzzy=Неточний
|
||||
search.match=Збігається
|
||||
search.results=Результати пошуку для "%s" в <a href="%s">%s</a>
|
||||
search.code_no_results=Відповідний пошуковому запитанню код не знайдено.
|
||||
|
||||
settings=Налаштування
|
||||
settings.desc=У налаштуваннях ви можете змінювати різні параметри цього репозиторія
|
||||
settings.options=Репозиторій
|
||||
|
@ -1633,7 +1621,6 @@ settings.delete_collaborator=Видалити
|
|||
settings.collaborator_deletion=Видалити співавтора
|
||||
settings.collaborator_deletion_desc=Цей користувач більше не матиме доступу для спільної роботи в цьому репозиторії після видалення. Ви хочете продовжити?
|
||||
settings.remove_collaborator_success=Співавтор видалений.
|
||||
settings.search_user_placeholder=Пошук користувача…
|
||||
settings.org_not_allowed_to_be_collaborator=Організації не можуть бути додані як співавтори.
|
||||
settings.change_team_access_not_allowed=Зміна доступу команди до репозитарію обмежена власником організації
|
||||
settings.team_not_in_organization=Команда та репозитарій мають привязки до різних організацій
|
||||
|
@ -1641,7 +1628,6 @@ settings.teams=Команди
|
|||
settings.add_team=Додати Команду
|
||||
settings.add_team_duplicate=Команда вже має привязку до репозитарію
|
||||
settings.add_team_success=Команда отримала доступ до репозиторію.
|
||||
settings.search_team=Знайти команду…
|
||||
settings.change_team_permission_tip=Дозволи команди встановлюються на сторінці налаштувань команди та не можуть бути заданими для кожного з репозиторіїв окремо
|
||||
settings.delete_team_tip=Ця команда має доступ до всіх репозиторіїв та не може бути видалена
|
||||
settings.remove_team_success=Доступ команди до репозиторію видалений.
|
||||
|
@ -1758,9 +1744,7 @@ settings.protect_whitelist_committers=Білий список обмеження
|
|||
settings.protect_whitelist_committers_desc=Лише користувачі та команди з білого списку зможуть виконувати push в цій гілці (за виключеням force push).
|
||||
settings.protect_whitelist_deploy_keys=Білий список ключів розгортання з правом на запис.
|
||||
settings.protect_whitelist_users=Користувачі, які можуть робити push в цю гілку:
|
||||
settings.protect_whitelist_search_users=Пошук користувачів…
|
||||
settings.protect_whitelist_teams=Команди, учасники яких можуть робити push в цю гілку:
|
||||
settings.protect_whitelist_search_teams=Пошук команд…
|
||||
settings.protect_merge_whitelist_committers=Обмежити право на прийняття Pull Request'ів в цю гілку списком
|
||||
settings.protect_merge_whitelist_committers_desc=Ви можете додавати користувачів або цілі команди в 'білий' список цієї гілки. Тільки присутні в списку зможуть приймати запити на злиття. В іншому випадку будь-хто з правами запису до головного репозиторію буде володіти такою можливістю.
|
||||
settings.protect_merge_whitelist_users=Користувачі з правом на прийняття Pull Request'ів в цю гілку:
|
||||
|
@ -2057,7 +2041,6 @@ teams.write_permission_desc=Ця команда надає доступ на <st
|
|||
teams.admin_permission_desc=Ця команда надає <strong>адміністраторський</strong> доступ: учасники можуть читати, виконувати push команди та додавати співробітників до репозиторію.
|
||||
teams.create_repo_permission_desc=Крім того, ця команда надає дозвіл <strong>Створити репозиторій</strong>: учасники можуть створювати нові репозиторії в організації.
|
||||
teams.repositories=Репозиторії команди
|
||||
teams.search_repo_placeholder=Пошук репозиторію…
|
||||
teams.remove_all_repos_title=Видалити всі репозиторії команди
|
||||
teams.remove_all_repos_desc=Це видалить усі репозиторії команди.
|
||||
teams.add_all_repos_title=Додати всі репозиторії
|
||||
|
@ -2082,6 +2065,8 @@ hooks=Веб-хуки
|
|||
authentication=Джерела автентифікації
|
||||
emails=Електронні адреси Користувача
|
||||
config=Конфігурація
|
||||
config_summary=Підсумок
|
||||
config_settings=Налаштування
|
||||
notices=Сповіщення системи
|
||||
monitor=Моніторинг
|
||||
first_page=Перша
|
||||
|
@ -2230,9 +2215,6 @@ repos.unadopted.no_more=Не знайдено більше неприйняти
|
|||
repos.owner=Власник
|
||||
repos.name=Назва
|
||||
repos.private=Приватний
|
||||
repos.watches=Стежать
|
||||
repos.stars=В обраному
|
||||
repos.forks=Форки
|
||||
repos.issues=Задачі
|
||||
repos.size=Розмір
|
||||
|
||||
|
@ -2330,7 +2312,6 @@ auths.tip.nextcloud=`Зареєструйте нового споживача OA
|
|||
auths.tip.dropbox=Додайте новий додаток на https://www.dropbox.com/developers/apps
|
||||
auths.tip.facebook=`Створіть новий додаток на https://developers.facebook.com/apps і додайте модуль "Facebook Login"`
|
||||
auths.tip.github=Додайте OAuth додаток на https://github.com/settings/applications/new
|
||||
auths.tip.gitlab=Додайте новий додаток на https://gitlab.com/profile/applications
|
||||
auths.tip.google_plus=Отримайте облікові дані клієнта OAuth2 в консолі Google API на сторінці https://console.developers.google.com/
|
||||
auths.tip.openid_connect=Використовуйте OpenID Connect Discovery URL (<server>/.well-known/openid-configuration) для автоматичної настройки входу OAuth
|
||||
auths.tip.twitter=Перейдіть на https://dev.twitter.com/apps, створіть програму і переконайтеся, що включена опція «Дозволити цю програму для входу в систему за допомогою Twitter»
|
||||
|
|
|
@ -142,6 +142,15 @@ confirm_delete_selected=确认删除所有选中项目?
|
|||
name=名称
|
||||
value=值
|
||||
|
||||
filter=过滤
|
||||
filter.is_archived=已归档
|
||||
filter.is_template=模板
|
||||
filter.public=公开
|
||||
filter.private=私有库
|
||||
|
||||
|
||||
[search]
|
||||
|
||||
[aria]
|
||||
navbar=导航栏
|
||||
footer=页脚
|
||||
|
@ -315,7 +324,6 @@ collaborative_repos=参与协作的仓库
|
|||
my_orgs=我的组织
|
||||
my_mirrors=我的镜像
|
||||
view_home=访问 %s
|
||||
search_repos=查找仓库…
|
||||
filter=其他过滤器
|
||||
filter_by_team_repositories=按团队仓库筛选
|
||||
feed_of=`"%s"的源`
|
||||
|
@ -336,20 +344,8 @@ issues.in_your_repos=在您的仓库中
|
|||
repos=仓库
|
||||
users=用户
|
||||
organizations=组织
|
||||
search=搜索
|
||||
go_to=转到
|
||||
code=代码
|
||||
search.type.tooltip=搜索类型
|
||||
search.fuzzy=模糊
|
||||
search.fuzzy.tooltip=包含近似匹配搜索词的结果
|
||||
search.match=匹配
|
||||
search.match.tooltip=仅包含精确匹配搜索词的结果
|
||||
code_search_unavailable=目前代码搜索不可用。请与网站管理员联系。
|
||||
repo_no_results=未找到匹配的仓库。
|
||||
user_no_results=未找到匹配的用户。
|
||||
org_no_results=未找到匹配的组织。
|
||||
code_no_results=未找到与搜索字词匹配的源代码。
|
||||
code_search_results=“%s” 的搜索结果是
|
||||
code_last_indexed_at=最后索引于 %s
|
||||
relevant_repositories_tooltip=派生的仓库,以及缺少主题、图标和描述的仓库将被隐藏。
|
||||
relevant_repositories=只显示相关的仓库, <a href="%s">显示未过滤结果</a>。
|
||||
|
@ -367,7 +363,6 @@ forgot_password_title=忘记密码
|
|||
forgot_password=忘记密码?
|
||||
sign_up_now=还没帐户?马上注册。
|
||||
sign_up_successful=帐户创建成功。欢迎!
|
||||
confirmation_mail_sent_prompt=一封新的确认邮件已经被发送至 <b>%s</b>,请检查您的收件箱并在 %s 内完成确认注册操作。
|
||||
must_change_password=更新您的密码
|
||||
allow_password_change=要求用户更改密码(推荐)
|
||||
reset_password_mail_sent_prompt=确认电子邮件已被发送到 <b>%s</b>。请您在 %s 内检查您的收件箱 ,完成密码重置过程。
|
||||
|
@ -617,6 +612,7 @@ form.name_reserved=用户名 "%s" 被保留。
|
|||
form.name_pattern_not_allowed=用户名中不允许使用 "%s" 格式。
|
||||
form.name_chars_not_allowed=用户名 "%s" 包含无效字符。
|
||||
|
||||
|
||||
[settings]
|
||||
profile=个人信息
|
||||
account=账号
|
||||
|
@ -761,7 +757,6 @@ gpg_invalid_token_signature=提供的 GPG 密钥、签名和令牌不匹配或
|
|||
gpg_token_required=您必须为下面的令牌提供签名
|
||||
gpg_token=令牌
|
||||
gpg_token_help=您可以使用以下方式生成签名:
|
||||
gpg_token_code=echo "%s" | gpg -a --default-key %s --detach-sig
|
||||
gpg_token_signature=GPG 增强签名
|
||||
key_signature_gpg_placeholder=以 '-----BEGIN PGP PUBLIC KEY BLOCK-----' 开头
|
||||
verify_gpg_key_success=GPG 密钥 %s 已被验证。
|
||||
|
@ -955,7 +950,6 @@ fork_branch=要克隆到 Fork 的分支
|
|||
all_branches=所有分支
|
||||
fork_no_valid_owners=这个代码仓库无法被派生,因为没有有效的所有者。
|
||||
use_template=使用此模板
|
||||
clone_in_vsc=在 VS Code 中克隆
|
||||
download_zip=下载 ZIP
|
||||
download_tar=下载 TAR.GZ
|
||||
download_bundle=下载 BUNDLE
|
||||
|
@ -1280,9 +1274,7 @@ commits.desc=浏览代码修改历史
|
|||
commits.commits=次代码提交
|
||||
commits.no_commits=没有共同的提交。%s 和 %s 的历史完全不同。
|
||||
commits.nothing_to_compare=这些分支是相同的。
|
||||
commits.search=搜索提交历史
|
||||
commits.search.tooltip=`您可以在关键词前加上前缀,如"author:", "committer:", "after:", 或"before:", 例如 "retrin author:Alice before:2019-01-13"`
|
||||
commits.find=搜索
|
||||
commits.search_all=所有分支
|
||||
commits.author=作者
|
||||
commits.message=备注
|
||||
|
@ -1333,7 +1325,6 @@ projects.type.basic_kanban=基础看板
|
|||
projects.type.bug_triage=Bug分类看板
|
||||
projects.template.desc=项目模板
|
||||
projects.template.desc_helper=选择一个项目模板以开始
|
||||
projects.type.uncategorized=未分类
|
||||
projects.column.edit=编辑列
|
||||
projects.column.edit_title=名称
|
||||
projects.column.new_title=名称
|
||||
|
@ -1341,10 +1332,7 @@ projects.column.new_submit=创建列
|
|||
projects.column.new=创建列
|
||||
projects.column.set_default=设为默认
|
||||
projects.column.set_default_desc=设置此列为未分类问题和合并请求的默认值
|
||||
projects.column.unset_default=取消设为默认
|
||||
projects.column.unset_default_desc=取消此列为默认值
|
||||
projects.column.delete=删除列
|
||||
projects.column.deletion_desc=删除项目列会将所有相关问题移到“未分类”。是否继续?
|
||||
projects.column.color=彩色
|
||||
projects.open=开启
|
||||
projects.close=关闭
|
||||
|
@ -1456,7 +1444,6 @@ issues.filter_sort.moststars=点赞由多到少
|
|||
issues.filter_sort.feweststars=点赞由少到多
|
||||
issues.filter_sort.mostforks=派生由多到少
|
||||
issues.filter_sort.fewestforks=派生由少到多
|
||||
issues.keyword_search_unavailable=关键词搜索目前不可用。请联系网站管理员。
|
||||
issues.action_open=开启
|
||||
issues.action_close=关闭
|
||||
issues.action_label=标签
|
||||
|
@ -1708,7 +1695,6 @@ pulls.compare_compare=拉取从
|
|||
pulls.switch_comparison_type=切换比较类型
|
||||
pulls.switch_head_and_base=切换 head 和 base
|
||||
pulls.filter_branch=过滤分支
|
||||
pulls.no_results=未找到结果
|
||||
pulls.show_all_commits=显示所有提交
|
||||
pulls.show_changes_since_your_last_review=显示自您上次审核以来的更改
|
||||
pulls.showing_only_single_commit=仅显示提交 %[1]s 的更改
|
||||
|
@ -1983,17 +1969,6 @@ contributors.contribution_type.commits=提交
|
|||
contributors.contribution_type.additions=更多
|
||||
contributors.contribution_type.deletions=删除
|
||||
|
||||
search=搜索
|
||||
search.search_repo=搜索仓库...
|
||||
search.type.tooltip=搜索类型
|
||||
search.fuzzy=模糊
|
||||
search.fuzzy.tooltip=包含近似匹配搜索词的结果
|
||||
search.match=匹配
|
||||
search.match.tooltip=仅包含精确匹配搜索词的结果
|
||||
search.results=在 <a href="%[2]s"> %[3]s </a> 中搜索 "%[1]s" 的结果
|
||||
search.code_no_results=未找到与搜索字词匹配的源代码。
|
||||
search.code_search_unavailable=当前代码搜索不可用。请与网站管理员联系。
|
||||
|
||||
settings=设置
|
||||
settings.desc=设置是你可以管理仓库设置的地方
|
||||
settings.options=仓库
|
||||
|
@ -2072,6 +2047,7 @@ settings.pulls.default_allow_edits_from_maintainers=默认开启允许维护者
|
|||
settings.releases_desc=启用发布
|
||||
settings.packages_desc=启用仓库软件包注册中心
|
||||
settings.projects_desc=启用仓库项目
|
||||
settings.projects_mode_all=所有项目
|
||||
settings.actions_desc=启用 Actions
|
||||
settings.admin_settings=管理员设置
|
||||
settings.admin_enable_health_check=启用仓库健康检查 (git fsck)
|
||||
|
@ -2146,7 +2122,6 @@ settings.delete_collaborator=删除
|
|||
settings.collaborator_deletion=删除协作者
|
||||
settings.collaborator_deletion_desc=删除协作者后他将无法再对此仓库的访问。继续?
|
||||
settings.remove_collaborator_success=协作者删除成功!
|
||||
settings.search_user_placeholder=搜索用户...
|
||||
settings.org_not_allowed_to_be_collaborator=组织不允许被添加为仓库协作者!
|
||||
settings.change_team_access_not_allowed=更改仓库的团队访问权限仅限于组织所有者
|
||||
settings.team_not_in_organization=团队不在与仓库相同的组织中
|
||||
|
@ -2154,7 +2129,6 @@ settings.teams=团队
|
|||
settings.add_team=添加团队
|
||||
settings.add_team_duplicate=团队已经拥有仓库
|
||||
settings.add_team_success=团队现在可以访问仓库。
|
||||
settings.search_team=搜索团队...
|
||||
settings.change_team_permission_tip=团队权限设置于团队设置页面,不能根据仓库更改
|
||||
settings.delete_team_tip=该团队仍有仓库, 无法删除
|
||||
settings.remove_team_success=团队访问仓库的权限已被删除。
|
||||
|
@ -2307,9 +2281,7 @@ settings.protect_whitelist_committers=受白名单限制的推送
|
|||
settings.protect_whitelist_committers_desc=只有列入白名单的用户或团队才能被允许推送到此分支(但不能强行推送)。
|
||||
settings.protect_whitelist_deploy_keys=具有推送权限的部署密钥白名单。
|
||||
settings.protect_whitelist_users=推送白名单用户:
|
||||
settings.protect_whitelist_search_users=搜索用户...
|
||||
settings.protect_whitelist_teams=推送白名单团队:
|
||||
settings.protect_whitelist_search_teams=搜索团队...
|
||||
settings.protect_merge_whitelist_committers=启用合并白名单
|
||||
settings.protect_merge_whitelist_committers_desc=仅允许白名单用户或团队合并合并请求到此分支。
|
||||
settings.protect_merge_whitelist_users=合并白名单用户:
|
||||
|
@ -2554,7 +2526,6 @@ branch.default_deletion_failed=不能删除默认分支"%s"。
|
|||
branch.restore=`还原分支 "%s"`
|
||||
branch.download=`下载分支 "%s"`
|
||||
branch.rename=`重命名分支 "%s"`
|
||||
branch.search=搜索分支
|
||||
branch.included_desc=此分支是默认分支的一部分
|
||||
branch.included=已包含
|
||||
branch.create_new_branch=从下列分支创建分支:
|
||||
|
@ -2697,7 +2668,6 @@ teams.write_permission_desc=该团队拥有对所属仓库的 <strong>读取</st
|
|||
teams.admin_permission_desc=该团队拥有一定的 <strong>管理</strong> 权限,团队成员可以读取、克隆、推送以及添加其它仓库协作者。
|
||||
teams.create_repo_permission_desc=此外,该团队拥有了 <strong>创建仓库</strong> 的权限:成员可以在组织中创建新的仓库。
|
||||
teams.repositories=团队仓库
|
||||
teams.search_repo_placeholder=搜索仓库...
|
||||
teams.remove_all_repos_title=移除所有团队仓库
|
||||
teams.remove_all_repos_desc=这将从团队中移除所有仓库。
|
||||
teams.add_all_repos_title=添加所有仓库
|
||||
|
@ -2730,6 +2700,8 @@ integrations=集成
|
|||
authentication=认证源
|
||||
emails=用户邮件
|
||||
config=应用配置
|
||||
config_summary=摘要
|
||||
config_settings=组织设置
|
||||
notices=系统提示
|
||||
monitor=监控面板
|
||||
first_page=首页
|
||||
|
@ -2906,9 +2878,6 @@ repos.unadopted.no_more=找不到更多未被收录的仓库
|
|||
repos.owner=所有者
|
||||
repos.name=名称
|
||||
repos.private=私有库
|
||||
repos.watches=关注数
|
||||
repos.stars=点赞数
|
||||
repos.forks=派生数
|
||||
repos.issues=工单数
|
||||
repos.size=大小
|
||||
repos.lfs_size=LFS 大小
|
||||
|
@ -3033,7 +3002,6 @@ auths.tip.nextcloud=使用下面的菜单“设置(Settings) -> 安全(Sec
|
|||
auths.tip.dropbox=在 https://www.dropbox.com/developers/apps 上创建一个新的应用程序
|
||||
auths.tip.facebook=`在 https://developers.facebook.com/apps 注册一个新的应用,并添加产品"Facebook 登录"`
|
||||
auths.tip.github=在 https://github.com/settings/applications/new 注册一个 OAuth 应用程序
|
||||
auths.tip.gitlab=在 https://gitlab.com/profile/applications 上注册新应用程序
|
||||
auths.tip.google_plus=从谷歌 API 控制台 (https://console.developers.google.com/) 获得 OAuth2 客户端凭据
|
||||
auths.tip.openid_connect=使用 OpenID 连接发现 URL (<server>/.well-known/openid-configuration) 来指定终点
|
||||
auths.tip.twitter=访问 https://dev.twitter.com/apps,创建应用并确保启用了"允许此应用程序用于登录 Twitter"的选项。
|
||||
|
|
|
@ -61,6 +61,12 @@ concept_code_repository=儲存庫
|
|||
|
||||
name=組織名稱
|
||||
|
||||
filter.is_template=樣板
|
||||
filter.private=私有庫
|
||||
|
||||
|
||||
[search]
|
||||
|
||||
[aria]
|
||||
|
||||
[heatmap]
|
||||
|
@ -116,13 +122,11 @@ issues.in_your_repos=屬於該用戶儲存庫的
|
|||
repos=儲存庫
|
||||
users=使用者
|
||||
organizations=組織
|
||||
search=搜尋
|
||||
|
||||
[auth]
|
||||
register_helper_msg=已經註冊?立即登錄!
|
||||
forgot_password_title=忘記密碼
|
||||
forgot_password=忘記密碼?
|
||||
confirmation_mail_sent_prompt=一封新的確認郵件已發送至 <b>%s</b>。請檢查您的收件箱並在 %s 小時內完成確認註冊操作。
|
||||
active_your_account=啟用您的帳戶
|
||||
has_unconfirmed_mail=%s 您好,您有一封發送至( <b>%s</b>) 但未被確認的郵件。如果您未收到啟用郵件,或需要重新發送,請單擊下方的按鈕。
|
||||
resend_mail=單擊此處重新發送確認郵件
|
||||
|
@ -205,6 +209,7 @@ follow=關注
|
|||
unfollow=取消關注
|
||||
|
||||
|
||||
|
||||
[settings]
|
||||
profile=個人訊息
|
||||
password=修改密碼
|
||||
|
@ -375,7 +380,6 @@ editor.cancel=取消
|
|||
editor.no_changes_to_show=沒有可以顯示的變更。
|
||||
|
||||
commits.commits=次程式碼提交
|
||||
commits.find=搜尋
|
||||
commits.author=作者
|
||||
commits.message=備註
|
||||
commits.date=提交日期
|
||||
|
@ -481,7 +485,6 @@ issues.dependency.remove=移除成員
|
|||
pulls.new=建立合併請求
|
||||
pulls.compare_changes=建立合併請求
|
||||
pulls.filter_branch=過濾分支
|
||||
pulls.no_results=未找到結果
|
||||
pulls.create=建立合併請求
|
||||
pulls.merged_title_desc=於 %[4]s 將 %[1]d 次代碼提交從 <code>%[2]s</code>合併至 <code>%[3]s</code>
|
||||
pulls.tab_conversation=對話內容
|
||||
|
@ -540,8 +543,6 @@ activity.new_issues_count_1=建立問題
|
|||
|
||||
contributors.contribution_type.commits=提交歷史
|
||||
|
||||
search=搜尋
|
||||
|
||||
settings=儲存庫設定
|
||||
settings.desc=設定是您可以管理儲存庫設定的地方
|
||||
settings.options=儲存庫
|
||||
|
@ -698,6 +699,7 @@ dashboard=控制面版
|
|||
organizations=組織管理
|
||||
repositories=儲存庫管理
|
||||
config=應用設定管理
|
||||
config_settings=組織設定
|
||||
notices=系統提示管理
|
||||
monitor=應用監控面版
|
||||
first_page=首頁
|
||||
|
@ -760,8 +762,6 @@ repos.repo_manage_panel=儲存庫管理
|
|||
repos.owner=所有者
|
||||
repos.name=儲存庫名稱
|
||||
repos.private=私有庫
|
||||
repos.watches=關註數
|
||||
repos.stars=讚好數
|
||||
repos.issues=問題數
|
||||
repos.size=大小
|
||||
|
||||
|
@ -809,7 +809,6 @@ auths.tip.oauth2_provider=OAuth2 提供者
|
|||
auths.tip.dropbox=建立新 App 在 https://www.dropbox.com/developers/apps
|
||||
auths.tip.facebook=`在 https://developers.facebook.com/apps 註冊一個新的應用,並且新增一個產品 "Facebook Login"`
|
||||
auths.tip.github=在 https://github.com/settings/applications/new 註冊一個新的 OAuth 應用程式
|
||||
auths.tip.gitlab=在 https://gitlab.com/profile/applications 註冊一個新的應用程式
|
||||
auths.tip.openid_connect=使用 OpenID 連接探索 URL (<server>/.well-known/openid-configuration) 來指定節點
|
||||
auths.delete=刪除認證來源
|
||||
auths.delete_auth_title=刪除認證來源
|
||||
|
|
|
@ -125,6 +125,15 @@ concept_user_organization=組織
|
|||
name=名稱
|
||||
value=值
|
||||
|
||||
filter=篩選
|
||||
filter.is_archived=已封存
|
||||
filter.is_template=模板
|
||||
filter.public=公開
|
||||
filter.private=私有
|
||||
|
||||
|
||||
[search]
|
||||
|
||||
[aria]
|
||||
navbar=導航列
|
||||
footer=頁尾
|
||||
|
@ -292,7 +301,6 @@ collaborative_repos=參與協作的儲存庫
|
|||
my_orgs=我的組織
|
||||
my_mirrors=我的鏡像
|
||||
view_home=訪問 %s
|
||||
search_repos=搜尋儲存庫...
|
||||
filter=其他篩選條件
|
||||
filter_by_team_repositories=以團隊儲存庫篩選
|
||||
feed_of=「%s」的訊息來源
|
||||
|
@ -313,19 +321,7 @@ issues.in_your_repos=在您的儲存庫中
|
|||
repos=儲存庫
|
||||
users=使用者
|
||||
organizations=組織
|
||||
search=搜尋
|
||||
code=程式碼
|
||||
search.type.tooltip=搜尋類型
|
||||
search.fuzzy=模糊
|
||||
search.fuzzy.tooltip=包含近似關鍵字的結果
|
||||
search.match=符合
|
||||
search.match.tooltip=只包含完全符合關鍵字的結果
|
||||
code_search_unavailable=現在無法使用程式碼搜尋。請與網站管理員聯絡。
|
||||
repo_no_results=沒有找到符合的儲存庫。
|
||||
user_no_results=沒有找到符合的使用者。
|
||||
org_no_results=沒有找到符合的組織。
|
||||
code_no_results=找不到符合您關鍵字的原始碼。
|
||||
code_search_results=「%s」的搜尋結果
|
||||
code_last_indexed_at=最後索引 %s
|
||||
relevant_repositories_tooltip=已隱藏缺少主題、圖示、說明、Fork 的儲存庫。
|
||||
relevant_repositories=只顯示相關的儲存庫,<a href="%s">顯示未篩選的結果</a>。
|
||||
|
@ -341,7 +337,6 @@ remember_me=記得這個裝置
|
|||
forgot_password_title=忘記密碼
|
||||
forgot_password=忘記密碼?
|
||||
sign_up_now=還沒有帳戶?馬上註冊。
|
||||
confirmation_mail_sent_prompt=新的確認信已發送至 <b>%s</b>。請在 %s內檢查您的收件匣並完成註冊作業。
|
||||
must_change_password=更新您的密碼
|
||||
allow_password_change=要求使用者更改密碼 (推薦)
|
||||
reset_password_mail_sent_prompt=確認信已發送至 <b>%s</b>。請在 %s內檢查您的收件匣並完成帳戶救援作業。
|
||||
|
@ -578,6 +573,7 @@ form.name_reserved=「%s」是保留的帳號。
|
|||
form.name_pattern_not_allowed=帳號不可包含字元「%s」。
|
||||
form.name_chars_not_allowed=帳號「%s」包含無效字元。
|
||||
|
||||
|
||||
[settings]
|
||||
profile=個人資料
|
||||
account=帳戶
|
||||
|
@ -707,7 +703,6 @@ gpg_invalid_token_signature=提供的 GPG 金鑰、簽署、Token 不符合或 T
|
|||
gpg_token_required=您必須為下列的 Token 提供簽署
|
||||
gpg_token=Token
|
||||
gpg_token_help=您可以使用以下方法產生簽署:
|
||||
gpg_token_code=echo "%s" | gpg -a --default-key %s --detach-sig
|
||||
gpg_token_signature=Armored GPG 簽署
|
||||
key_signature_gpg_placeholder=以「-----BEGIN PGP SIGNATURE-----」開頭
|
||||
verify_gpg_key_success=已驗證 GPG 金鑰「%s」。
|
||||
|
@ -867,7 +862,6 @@ already_forked=您已經 fork 過 %s
|
|||
fork_to_different_account=Fork 到其他帳戶
|
||||
fork_visibility_helper=無法更改 fork 儲存庫的瀏覽權限。
|
||||
use_template=使用此範本
|
||||
clone_in_vsc=在 VS Code 中 Clone
|
||||
download_zip=下載 ZIP
|
||||
download_tar=下載 TAR.GZ
|
||||
download_bundle=下載 BUNDLE
|
||||
|
@ -1155,9 +1149,7 @@ commits.desc=瀏覽原始碼修改歷程。
|
|||
commits.commits=次程式碼提交
|
||||
commits.no_commits=沒有共同的提交。「%s」和「%s」的歷史完全不同。
|
||||
commits.nothing_to_compare=這些分支是相同的。
|
||||
commits.search=搜尋提交歷史...
|
||||
commits.search.tooltip=你可以用「author:」、「committer:」、「after:」、「before:」等作為關鍵字的前綴,例如: 「revert author:Alice before:2019-01-13」。
|
||||
commits.find=搜尋
|
||||
commits.search_all=所有分支
|
||||
commits.author=作者
|
||||
commits.message=備註
|
||||
|
@ -1207,7 +1199,6 @@ projects.type.basic_kanban=基本看板
|
|||
projects.type.bug_triage=Bug 檢傷分類
|
||||
projects.template.desc=範本
|
||||
projects.template.desc_helper=選擇專案範本以開始
|
||||
projects.type.uncategorized=未分類
|
||||
projects.column.edit=編輯欄位
|
||||
projects.column.edit_title=名稱
|
||||
projects.column.new_title=名稱
|
||||
|
@ -1216,7 +1207,6 @@ projects.column.new=新增欄位
|
|||
projects.column.set_default=設為預設
|
||||
projects.column.set_default_desc=將此欄位設定為未分類問題及合併請求的預設預設值
|
||||
projects.column.delete=刪除欄位
|
||||
projects.column.deletion_desc=刪除專案欄位會將所有相關的問題移動到「未分類」,是否繼續?
|
||||
projects.column.color=顏色
|
||||
projects.open=開啟
|
||||
projects.close=關閉
|
||||
|
@ -1552,7 +1542,6 @@ pulls.compare_compare=拉取自
|
|||
pulls.switch_comparison_type=切換比較類型
|
||||
pulls.switch_head_and_base=切換 head 和 base
|
||||
pulls.filter_branch=過濾分支
|
||||
pulls.no_results=未找到結果
|
||||
pulls.nothing_to_compare=這些分支的內容相同,無需建立合併請求。
|
||||
pulls.nothing_to_compare_and_allow_empty_pr=這些分支的內容相同,此合併請求將會是空白的。
|
||||
pulls.has_pull_request=`已有介於這些分支間的合併請求:<a href="%[1]s">%[2]s#%[3]d</a>`
|
||||
|
@ -1779,17 +1768,6 @@ activity.git_stats_deletion_n=刪除 %d 行
|
|||
|
||||
contributors.contribution_type.commits=提交歷史
|
||||
|
||||
search=搜尋
|
||||
search.search_repo=搜尋儲存庫
|
||||
search.type.tooltip=搜尋類型
|
||||
search.fuzzy=模糊
|
||||
search.fuzzy.tooltip=包含近似關鍵字的結果
|
||||
search.match=符合
|
||||
search.match.tooltip=只包含完全符合關鍵字的結果
|
||||
search.results=在 <a href="%s"> %s </a> 中搜尋 "%s" 的结果
|
||||
search.code_no_results=找不到符合您關鍵字的原始碼。
|
||||
search.code_search_unavailable=現在無法使用程式碼搜尋。請與網站管理員聯絡。
|
||||
|
||||
settings=設定
|
||||
settings.desc=設定是您可以管理儲存庫設定的地方
|
||||
settings.options=儲存庫
|
||||
|
@ -1850,6 +1828,7 @@ settings.pulls.default_allow_edits_from_maintainers=預設允許維護者進行
|
|||
settings.releases_desc=啟用儲存庫版本發佈
|
||||
settings.packages_desc=啟用儲存庫套件註冊中心
|
||||
settings.projects_desc=啟用儲存庫專案
|
||||
settings.projects_mode_all=所有專案
|
||||
settings.actions_desc=啟用儲存庫 Actions
|
||||
settings.admin_settings=管理員設定
|
||||
settings.admin_enable_health_check=啟用儲存庫的健康檢查 (git fsck)
|
||||
|
@ -1922,7 +1901,6 @@ settings.delete_collaborator=移除
|
|||
settings.collaborator_deletion=移除協作者
|
||||
settings.collaborator_deletion_desc=移除協作者將拒絕他存取此儲存庫。是否繼續?
|
||||
settings.remove_collaborator_success=已移除協作者。
|
||||
settings.search_user_placeholder=搜尋使用者...
|
||||
settings.org_not_allowed_to_be_collaborator=不可加入組織為協作者。
|
||||
settings.change_team_access_not_allowed=只有組織擁有者可修改團隊的儲存庫存取權限
|
||||
settings.team_not_in_organization=團隊和儲存庫不在相同的組織內
|
||||
|
@ -1930,7 +1908,6 @@ settings.teams=團隊
|
|||
settings.add_team=增加團隊
|
||||
settings.add_team_duplicate=團隊已擁有該儲存庫
|
||||
settings.add_team_success=團隊現在可存取該儲存庫了。
|
||||
settings.search_team=搜尋團隊...
|
||||
settings.change_team_permission_tip=團隊權限可於團隊設定頁面修改,不能針對儲存庫分別調整。
|
||||
settings.delete_team_tip=此團隊可存取所有儲存庫,無法移除
|
||||
settings.remove_team_success=已移除團隊存取儲存庫的權限。
|
||||
|
@ -2077,9 +2054,7 @@ settings.protect_whitelist_committers=使用白名單控管推送
|
|||
settings.protect_whitelist_committers_desc=僅允許白名單內的使用者或團隊推送至該分支(但不可使用force push)。
|
||||
settings.protect_whitelist_deploy_keys=將擁有寫入權限的部署金鑰加入白名單。
|
||||
settings.protect_whitelist_users=允許推送的使用者:
|
||||
settings.protect_whitelist_search_users=搜尋使用者...
|
||||
settings.protect_whitelist_teams=允許推送的團隊:
|
||||
settings.protect_whitelist_search_teams=搜尋團隊...
|
||||
settings.protect_merge_whitelist_committers=啟用合併白名單
|
||||
settings.protect_merge_whitelist_committers_desc=僅允許白名單內的使用者或團隊將合併請求合併至該分支。
|
||||
settings.protect_merge_whitelist_users=允許合併的使用者:
|
||||
|
@ -2427,7 +2402,6 @@ teams.write_permission_desc=這個團隊擁有<strong>寫入</strong> 權限:
|
|||
teams.admin_permission_desc=這個團隊擁有<strong>管理員</strong> 權限:成員可以讀取、推送和增加協作者到儲存庫。
|
||||
teams.create_repo_permission_desc=此外,這個團隊還擁有<strong>建立儲存庫</strong>的權限:成員可以在組織中新增儲存庫。
|
||||
teams.repositories=團隊儲存庫
|
||||
teams.search_repo_placeholder=搜尋儲存庫...
|
||||
teams.remove_all_repos_title=移除所有團隊儲存庫
|
||||
teams.remove_all_repos_desc=這將從團隊中移除所有儲存庫。
|
||||
teams.add_all_repos_title=增加所有儲存庫
|
||||
|
@ -2455,6 +2429,8 @@ hooks=Webhook
|
|||
authentication=認證來源
|
||||
emails=使用者電子信箱
|
||||
config=組態
|
||||
config_summary=摘要
|
||||
config_settings=設定
|
||||
notices=系統提示
|
||||
monitor=應用監控面版
|
||||
first_page=首頁
|
||||
|
@ -2616,9 +2592,6 @@ repos.unadopted.no_more=找不到其他未接管的儲存庫
|
|||
repos.owner=擁有者
|
||||
repos.name=名稱
|
||||
repos.private=私有
|
||||
repos.watches=關注數
|
||||
repos.stars=星號數
|
||||
repos.forks=Fork 數
|
||||
repos.issues=問題數
|
||||
repos.size=大小
|
||||
|
||||
|
@ -2737,7 +2710,6 @@ auths.tip.nextcloud=在您的執行個體中,於選單「設定 -> 安全性 -
|
|||
auths.tip.dropbox=建立新的 App。網址:https://www.dropbox.com/developers/apps
|
||||
auths.tip.facebook=註冊新的應用程式並新增產品「Facebook 登入」。網址:https://developers.facebook.com/apps
|
||||
auths.tip.github=註冊新的 OAuth 應用程式。網址:https://github.com/settings/applications/new
|
||||
auths.tip.gitlab=註冊新的應用程式。網址:https://gitlab.com/profile/applications
|
||||
auths.tip.google_plus=從 Google API 控制台取得 OAuth2 用戶端憑證。網址:https://console.developers.google.com/
|
||||
auths.tip.openid_connect=使用 OpenID 連接探索 URL (<server>/.well-known/openid-configuration) 來指定節點
|
||||
auths.tip.twitter=建立應用程式並確保有啟用「Allow this application to be used to Sign in with Twitter」。網址:https://dev.twitter.com/apps
|
||||
|
|
|
@ -9,11 +9,11 @@
|
|||
"@citation-js/plugin-bibtex": "0.7.9",
|
||||
"@citation-js/plugin-csl": "0.7.9",
|
||||
"@citation-js/plugin-software-formats": "0.6.1",
|
||||
"@claviska/jquery-minicolors": "2.3.6",
|
||||
"@github/markdown-toolbar-element": "2.2.3",
|
||||
"@github/relative-time-element": "4.3.1",
|
||||
"@github/relative-time-element": "4.4.0",
|
||||
"@github/text-expander-element": "2.6.1",
|
||||
"@mcaptcha/vanilla-glue": "0.1.0-alpha-3",
|
||||
"@melloware/coloris": "0.23.0",
|
||||
"@primer/octicons": "19.9.0",
|
||||
"add-asset-webpack-plugin": "2.0.1",
|
||||
"ansi_up": "6.0.2",
|
||||
|
@ -91,6 +91,7 @@
|
|||
"stylelint": "16.3.0",
|
||||
"stylelint-declaration-block-no-ignored-properties": "2.8.0",
|
||||
"stylelint-declaration-strict-value": "1.10.4",
|
||||
"stylelint-value-no-unknown-custom-properties": "6.0.1",
|
||||
"svgo": "3.2.0",
|
||||
"updates": "16.0.0",
|
||||
"vite-string-plugin": "1.1.5",
|
||||
|
@ -394,14 +395,6 @@
|
|||
"node": ">=14.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@claviska/jquery-minicolors": {
|
||||
"version": "2.3.6",
|
||||
"resolved": "https://registry.npmjs.org/@claviska/jquery-minicolors/-/jquery-minicolors-2.3.6.tgz",
|
||||
"integrity": "sha512-8Ro6D4GCrmOl41+6w4NFhEOpx8vjxwVRI69bulXsFDt49uVRKhLU5TnzEV7AmOJrylkVq+ugnYNMiGHBieeKUQ==",
|
||||
"peerDependencies": {
|
||||
"jquery": ">= 1.7.x"
|
||||
}
|
||||
},
|
||||
"node_modules/@csstools/css-parser-algorithms": {
|
||||
"version": "2.6.1",
|
||||
"resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.6.1.tgz",
|
||||
|
@ -1004,9 +997,9 @@
|
|||
"integrity": "sha512-AlquKGee+IWiAMYVB0xyHFZRMnu4n3X4HTvJHu79GiVJ1ojTukCWyxMlF5NMsecoLcBKsuBhx3QPv2vkE/zQ0A=="
|
||||
},
|
||||
"node_modules/@github/relative-time-element": {
|
||||
"version": "4.3.1",
|
||||
"resolved": "https://registry.npmjs.org/@github/relative-time-element/-/relative-time-element-4.3.1.tgz",
|
||||
"integrity": "sha512-zL79nlhZVCg7x2Pf/HT5MB0mowmErE71VXpF10/3Wy8dQwkninNO1M9aOizh2wKC5LkSpDXqNYjDZwbH0/bcSg=="
|
||||
"version": "4.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@github/relative-time-element/-/relative-time-element-4.4.0.tgz",
|
||||
"integrity": "sha512-CrI6oAecoahG7PF5dsgjdvlF5kCtusVMjg810EULD81TvnDsP+k/FRi/ClFubWLgBo4EGpr2EfvmumtqQFo7ow=="
|
||||
},
|
||||
"node_modules/@github/text-expander-element": {
|
||||
"version": "2.6.1",
|
||||
|
@ -1297,6 +1290,11 @@
|
|||
"@mcaptcha/core-glue": "^0.1.0-alpha-5"
|
||||
}
|
||||
},
|
||||
"node_modules/@melloware/coloris": {
|
||||
"version": "0.23.0",
|
||||
"resolved": "https://registry.npmjs.org/@melloware/coloris/-/coloris-0.23.0.tgz",
|
||||
"integrity": "sha512-VGIjI9+IQwg6BHjIE10yl0K2ARYz5bsjn6BgFEs1y1ErPAQymgdoxwVcSVL4Ai5t9OVs8xaCB7JKHqFu2N96Ow=="
|
||||
},
|
||||
"node_modules/@nodelib/fs.scandir": {
|
||||
"version": "2.1.5",
|
||||
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
|
||||
|
@ -10870,6 +10868,22 @@
|
|||
"stylelint": ">=7 <=16"
|
||||
}
|
||||
},
|
||||
"node_modules/stylelint-value-no-unknown-custom-properties": {
|
||||
"version": "6.0.1",
|
||||
"resolved": "https://registry.npmjs.org/stylelint-value-no-unknown-custom-properties/-/stylelint-value-no-unknown-custom-properties-6.0.1.tgz",
|
||||
"integrity": "sha512-N60PTdaTknB35j6D4FhW0GL2LlBRV++bRpXMMldWMQZ240yFQaoltzlLY4lXXs7Z0J5mNUYZQ/gjyVtU2DhCMA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"postcss-value-parser": "^4.2.0",
|
||||
"resolve": "^1.22.8"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18.12.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"stylelint": ">=16"
|
||||
}
|
||||
},
|
||||
"node_modules/stylelint/node_modules/ansi-regex": {
|
||||
"version": "6.0.1",
|
||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
|
||||
|
|
|
@ -8,11 +8,11 @@
|
|||
"@citation-js/plugin-bibtex": "0.7.9",
|
||||
"@citation-js/plugin-csl": "0.7.9",
|
||||
"@citation-js/plugin-software-formats": "0.6.1",
|
||||
"@claviska/jquery-minicolors": "2.3.6",
|
||||
"@github/markdown-toolbar-element": "2.2.3",
|
||||
"@github/relative-time-element": "4.3.1",
|
||||
"@github/relative-time-element": "4.4.0",
|
||||
"@github/text-expander-element": "2.6.1",
|
||||
"@mcaptcha/vanilla-glue": "0.1.0-alpha-3",
|
||||
"@melloware/coloris": "0.23.0",
|
||||
"@primer/octicons": "19.9.0",
|
||||
"add-asset-webpack-plugin": "2.0.1",
|
||||
"ansi_up": "6.0.2",
|
||||
|
@ -90,6 +90,7 @@
|
|||
"stylelint": "16.3.0",
|
||||
"stylelint-declaration-block-no-ignored-properties": "2.8.0",
|
||||
"stylelint-declaration-strict-value": "1.10.4",
|
||||
"stylelint-value-no-unknown-custom-properties": "6.0.1",
|
||||
"svgo": "3.2.0",
|
||||
"updates": "16.0.0",
|
||||
"vite-string-plugin": "1.1.5",
|
||||
|
|
|
@ -8,6 +8,7 @@ import (
|
|||
"net/http"
|
||||
"regexp"
|
||||
"strings"
|
||||
"unicode"
|
||||
|
||||
packages_model "code.gitea.io/gitea/models/packages"
|
||||
"code.gitea.io/gitea/modules/log"
|
||||
|
@ -18,8 +19,8 @@ import (
|
|||
)
|
||||
|
||||
var (
|
||||
packageNameRegex = regexp.MustCompile(`\A[A-Za-z0-9\.\_\-\+]+\z`)
|
||||
filenameRegex = packageNameRegex
|
||||
packageNameRegex = regexp.MustCompile(`\A[-_+.\w]+\z`)
|
||||
filenameRegex = regexp.MustCompile(`\A[-_+=:;.()\[\]{}~!@#$%^& \w]+\z`)
|
||||
)
|
||||
|
||||
func apiError(ctx *context.Context, status int, obj any) {
|
||||
|
@ -54,20 +55,38 @@ func DownloadPackageFile(ctx *context.Context) {
|
|||
helper.ServePackageFile(ctx, s, u, pf)
|
||||
}
|
||||
|
||||
func isValidPackageName(packageName string) bool {
|
||||
if len(packageName) == 1 && !unicode.IsLetter(rune(packageName[0])) && !unicode.IsNumber(rune(packageName[0])) {
|
||||
return false
|
||||
}
|
||||
return packageNameRegex.MatchString(packageName) && packageName != ".."
|
||||
}
|
||||
|
||||
func isValidFileName(filename string) bool {
|
||||
return filenameRegex.MatchString(filename) &&
|
||||
strings.TrimSpace(filename) == filename &&
|
||||
filename != "." && filename != ".."
|
||||
}
|
||||
|
||||
// UploadPackage uploads the specific generic package.
|
||||
// Duplicated packages get rejected.
|
||||
func UploadPackage(ctx *context.Context) {
|
||||
packageName := ctx.Params("packagename")
|
||||
filename := ctx.Params("filename")
|
||||
|
||||
if !packageNameRegex.MatchString(packageName) || !filenameRegex.MatchString(filename) {
|
||||
apiError(ctx, http.StatusBadRequest, errors.New("Invalid package name or filename"))
|
||||
if !isValidPackageName(packageName) {
|
||||
apiError(ctx, http.StatusBadRequest, errors.New("invalid package name"))
|
||||
return
|
||||
}
|
||||
|
||||
if !isValidFileName(filename) {
|
||||
apiError(ctx, http.StatusBadRequest, errors.New("invalid filename"))
|
||||
return
|
||||
}
|
||||
|
||||
packageVersion := ctx.Params("packageversion")
|
||||
if packageVersion != strings.TrimSpace(packageVersion) {
|
||||
apiError(ctx, http.StatusBadRequest, errors.New("Invalid package version"))
|
||||
apiError(ctx, http.StatusBadRequest, errors.New("invalid package version"))
|
||||
return
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,65 @@
|
|||
// Copyright 2024 The Gitea Authors. All rights reserved.
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
package generic
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestValidatePackageName(t *testing.T) {
|
||||
bad := []string{
|
||||
"",
|
||||
".",
|
||||
"..",
|
||||
"-",
|
||||
"a?b",
|
||||
"a b",
|
||||
"a/b",
|
||||
}
|
||||
for _, name := range bad {
|
||||
assert.False(t, isValidPackageName(name), "bad=%q", name)
|
||||
}
|
||||
|
||||
good := []string{
|
||||
"a",
|
||||
"1",
|
||||
"a-",
|
||||
"a_b",
|
||||
"c.d+",
|
||||
}
|
||||
for _, name := range good {
|
||||
assert.True(t, isValidPackageName(name), "good=%q", name)
|
||||
}
|
||||
}
|
||||
|
||||
func TestValidateFileName(t *testing.T) {
|
||||
bad := []string{
|
||||
"",
|
||||
".",
|
||||
"..",
|
||||
"a?b",
|
||||
"a/b",
|
||||
" a",
|
||||
"a ",
|
||||
}
|
||||
for _, name := range bad {
|
||||
assert.False(t, isValidFileName(name), "bad=%q", name)
|
||||
}
|
||||
|
||||
good := []string{
|
||||
"-",
|
||||
"a",
|
||||
"1",
|
||||
"a-",
|
||||
"a_b",
|
||||
"a b",
|
||||
"c.d+",
|
||||
`-_+=:;.()[]{}~!@#$%^& aA1`,
|
||||
}
|
||||
for _, name := range good {
|
||||
assert.True(t, isValidFileName(name), "good=%q", name)
|
||||
}
|
||||
}
|
|
@ -955,6 +955,15 @@ func Routes() *web.Route {
|
|||
Delete(user.DeleteSecret)
|
||||
})
|
||||
|
||||
m.Group("/variables", func() {
|
||||
m.Get("", user.ListVariables)
|
||||
m.Combo("/{variablename}").
|
||||
Get(user.GetVariable).
|
||||
Delete(user.DeleteVariable).
|
||||
Post(bind(api.CreateVariableOption{}), user.CreateVariable).
|
||||
Put(bind(api.UpdateVariableOption{}), user.UpdateVariable)
|
||||
})
|
||||
|
||||
m.Group("/runners", func() {
|
||||
m.Get("/registration-token", reqToken(), user.GetRegistrationToken)
|
||||
})
|
||||
|
@ -1073,6 +1082,15 @@ func Routes() *web.Route {
|
|||
Delete(reqToken(), reqOwner(), repo.DeleteSecret)
|
||||
})
|
||||
|
||||
m.Group("/variables", func() {
|
||||
m.Get("", reqToken(), reqOwner(), repo.ListVariables)
|
||||
m.Combo("/{variablename}").
|
||||
Get(reqToken(), reqOwner(), repo.GetVariable).
|
||||
Delete(reqToken(), reqOwner(), repo.DeleteVariable).
|
||||
Post(reqToken(), reqOwner(), bind(api.CreateVariableOption{}), repo.CreateVariable).
|
||||
Put(reqToken(), reqOwner(), bind(api.UpdateVariableOption{}), repo.UpdateVariable)
|
||||
})
|
||||
|
||||
m.Group("/runners", func() {
|
||||
m.Get("/registration-token", reqToken(), reqOwner(), repo.GetRegistrationToken)
|
||||
})
|
||||
|
@ -1452,6 +1470,15 @@ func Routes() *web.Route {
|
|||
Delete(reqToken(), reqOrgOwnership(), org.DeleteSecret)
|
||||
})
|
||||
|
||||
m.Group("/variables", func() {
|
||||
m.Get("", reqToken(), reqOrgOwnership(), org.ListVariables)
|
||||
m.Combo("/{variablename}").
|
||||
Get(reqToken(), reqOrgOwnership(), org.GetVariable).
|
||||
Delete(reqToken(), reqOrgOwnership(), org.DeleteVariable).
|
||||
Post(reqToken(), reqOrgOwnership(), bind(api.CreateVariableOption{}), org.CreateVariable).
|
||||
Put(reqToken(), reqOrgOwnership(), bind(api.UpdateVariableOption{}), org.UpdateVariable)
|
||||
})
|
||||
|
||||
m.Group("/runners", func() {
|
||||
m.Get("/registration-token", reqToken(), reqOrgOwnership(), org.GetRegistrationToken)
|
||||
})
|
||||
|
|
|
@ -0,0 +1,291 @@
|
|||
// Copyright 2024 The Gitea Authors. All rights reserved.
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
package org
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"net/http"
|
||||
|
||||
actions_model "code.gitea.io/gitea/models/actions"
|
||||
"code.gitea.io/gitea/models/db"
|
||||
api "code.gitea.io/gitea/modules/structs"
|
||||
"code.gitea.io/gitea/modules/util"
|
||||
"code.gitea.io/gitea/modules/web"
|
||||
"code.gitea.io/gitea/routers/api/v1/utils"
|
||||
actions_service "code.gitea.io/gitea/services/actions"
|
||||
"code.gitea.io/gitea/services/context"
|
||||
)
|
||||
|
||||
// ListVariables list org-level variables
|
||||
func ListVariables(ctx *context.APIContext) {
|
||||
// swagger:operation GET /orgs/{org}/actions/variables organization getOrgVariablesList
|
||||
// ---
|
||||
// summary: Get an org-level variables list
|
||||
// produces:
|
||||
// - application/json
|
||||
// parameters:
|
||||
// - name: org
|
||||
// in: path
|
||||
// description: name of the organization
|
||||
// type: string
|
||||
// required: true
|
||||
// - name: page
|
||||
// in: query
|
||||
// description: page number of results to return (1-based)
|
||||
// type: integer
|
||||
// - name: limit
|
||||
// in: query
|
||||
// description: page size of results
|
||||
// type: integer
|
||||
// responses:
|
||||
// "200":
|
||||
// "$ref": "#/responses/VariableList"
|
||||
// "400":
|
||||
// "$ref": "#/responses/error"
|
||||
// "404":
|
||||
// "$ref": "#/responses/notFound"
|
||||
|
||||
vars, count, err := db.FindAndCount[actions_model.ActionVariable](ctx, &actions_model.FindVariablesOpts{
|
||||
OwnerID: ctx.Org.Organization.ID,
|
||||
ListOptions: utils.GetListOptions(ctx),
|
||||
})
|
||||
if err != nil {
|
||||
ctx.Error(http.StatusInternalServerError, "FindVariables", err)
|
||||
return
|
||||
}
|
||||
|
||||
variables := make([]*api.ActionVariable, len(vars))
|
||||
for i, v := range vars {
|
||||
variables[i] = &api.ActionVariable{
|
||||
OwnerID: v.OwnerID,
|
||||
RepoID: v.RepoID,
|
||||
Name: v.Name,
|
||||
Data: v.Data,
|
||||
}
|
||||
}
|
||||
|
||||
ctx.SetTotalCountHeader(count)
|
||||
ctx.JSON(http.StatusOK, variables)
|
||||
}
|
||||
|
||||
// GetVariable get an org-level variable
|
||||
func GetVariable(ctx *context.APIContext) {
|
||||
// swagger:operation GET /orgs/{org}/actions/variables/{variablename} organization getOrgVariable
|
||||
// ---
|
||||
// summary: Get an org-level variable
|
||||
// produces:
|
||||
// - application/json
|
||||
// parameters:
|
||||
// - name: org
|
||||
// in: path
|
||||
// description: name of the organization
|
||||
// type: string
|
||||
// required: true
|
||||
// - name: variablename
|
||||
// in: path
|
||||
// description: name of the variable
|
||||
// type: string
|
||||
// required: true
|
||||
// responses:
|
||||
// "200":
|
||||
// "$ref": "#/responses/ActionVariable"
|
||||
// "400":
|
||||
// "$ref": "#/responses/error"
|
||||
// "404":
|
||||
// "$ref": "#/responses/notFound"
|
||||
|
||||
v, err := actions_service.GetVariable(ctx, actions_model.FindVariablesOpts{
|
||||
OwnerID: ctx.Org.Organization.ID,
|
||||
Name: ctx.Params("variablename"),
|
||||
})
|
||||
if err != nil {
|
||||
if errors.Is(err, util.ErrNotExist) {
|
||||
ctx.Error(http.StatusNotFound, "GetVariable", err)
|
||||
} else {
|
||||
ctx.Error(http.StatusInternalServerError, "GetVariable", err)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
variable := &api.ActionVariable{
|
||||
OwnerID: v.OwnerID,
|
||||
RepoID: v.RepoID,
|
||||
Name: v.Name,
|
||||
Data: v.Data,
|
||||
}
|
||||
|
||||
ctx.JSON(http.StatusOK, variable)
|
||||
}
|
||||
|
||||
// DeleteVariable delete an org-level variable
|
||||
func DeleteVariable(ctx *context.APIContext) {
|
||||
// swagger:operation DELETE /orgs/{org}/actions/variables/{variablename} organization deleteOrgVariable
|
||||
// ---
|
||||
// summary: Delete an org-level variable
|
||||
// produces:
|
||||
// - application/json
|
||||
// parameters:
|
||||
// - name: org
|
||||
// in: path
|
||||
// description: name of the organization
|
||||
// type: string
|
||||
// required: true
|
||||
// - name: variablename
|
||||
// in: path
|
||||
// description: name of the variable
|
||||
// type: string
|
||||
// required: true
|
||||
// responses:
|
||||
// "200":
|
||||
// "$ref": "#/responses/ActionVariable"
|
||||
// "201":
|
||||
// description: response when deleting a variable
|
||||
// "204":
|
||||
// description: response when deleting a variable
|
||||
// "400":
|
||||
// "$ref": "#/responses/error"
|
||||
// "404":
|
||||
// "$ref": "#/responses/notFound"
|
||||
|
||||
if err := actions_service.DeleteVariableByName(ctx, ctx.Org.Organization.ID, 0, ctx.Params("variablename")); err != nil {
|
||||
if errors.Is(err, util.ErrInvalidArgument) {
|
||||
ctx.Error(http.StatusBadRequest, "DeleteVariableByName", err)
|
||||
} else if errors.Is(err, util.ErrNotExist) {
|
||||
ctx.Error(http.StatusNotFound, "DeleteVariableByName", err)
|
||||
} else {
|
||||
ctx.Error(http.StatusInternalServerError, "DeleteVariableByName", err)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
ctx.Status(http.StatusNoContent)
|
||||
}
|
||||
|
||||
// CreateVariable create an org-level variable
|
||||
func CreateVariable(ctx *context.APIContext) {
|
||||
// swagger:operation POST /orgs/{org}/actions/variables/{variablename} organization createOrgVariable
|
||||
// ---
|
||||
// summary: Create an org-level variable
|
||||
// consumes:
|
||||
// - application/json
|
||||
// produces:
|
||||
// - application/json
|
||||
// parameters:
|
||||
// - name: org
|
||||
// in: path
|
||||
// description: name of the organization
|
||||
// type: string
|
||||
// required: true
|
||||
// - name: variablename
|
||||
// in: path
|
||||
// description: name of the variable
|
||||
// type: string
|
||||
// required: true
|
||||
// - name: body
|
||||
// in: body
|
||||
// schema:
|
||||
// "$ref": "#/definitions/CreateVariableOption"
|
||||
// responses:
|
||||
// "201":
|
||||
// description: response when creating an org-level variable
|
||||
// "204":
|
||||
// description: response when creating an org-level variable
|
||||
// "400":
|
||||
// "$ref": "#/responses/error"
|
||||
// "404":
|
||||
// "$ref": "#/responses/notFound"
|
||||
|
||||
opt := web.GetForm(ctx).(*api.CreateVariableOption)
|
||||
|
||||
ownerID := ctx.Org.Organization.ID
|
||||
variableName := ctx.Params("variablename")
|
||||
|
||||
v, err := actions_service.GetVariable(ctx, actions_model.FindVariablesOpts{
|
||||
OwnerID: ownerID,
|
||||
Name: variableName,
|
||||
})
|
||||
if err != nil && !errors.Is(err, util.ErrNotExist) {
|
||||
ctx.Error(http.StatusInternalServerError, "GetVariable", err)
|
||||
return
|
||||
}
|
||||
if v != nil && v.ID > 0 {
|
||||
ctx.Error(http.StatusConflict, "VariableNameAlreadyExists", util.NewAlreadyExistErrorf("variable name %s already exists", variableName))
|
||||
return
|
||||
}
|
||||
|
||||
if _, err := actions_service.CreateVariable(ctx, ownerID, 0, variableName, opt.Value); err != nil {
|
||||
if errors.Is(err, util.ErrInvalidArgument) {
|
||||
ctx.Error(http.StatusBadRequest, "CreateVariable", err)
|
||||
} else {
|
||||
ctx.Error(http.StatusInternalServerError, "CreateVariable", err)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
ctx.Status(http.StatusNoContent)
|
||||
}
|
||||
|
||||
// UpdateVariable update an org-level variable
|
||||
func UpdateVariable(ctx *context.APIContext) {
|
||||
// swagger:operation PUT /orgs/{org}/actions/variables/{variablename} organization updateOrgVariable
|
||||
// ---
|
||||
// summary: Update an org-level variable
|
||||
// consumes:
|
||||
// - application/json
|
||||
// produces:
|
||||
// - application/json
|
||||
// parameters:
|
||||
// - name: org
|
||||
// in: path
|
||||
// description: name of the organization
|
||||
// type: string
|
||||
// required: true
|
||||
// - name: variablename
|
||||
// in: path
|
||||
// description: name of the variable
|
||||
// type: string
|
||||
// required: true
|
||||
// - name: body
|
||||
// in: body
|
||||
// schema:
|
||||
// "$ref": "#/definitions/UpdateVariableOption"
|
||||
// responses:
|
||||
// "201":
|
||||
// description: response when updating an org-level variable
|
||||
// "204":
|
||||
// description: response when updating an org-level variable
|
||||
// "400":
|
||||
// "$ref": "#/responses/error"
|
||||
// "404":
|
||||
// "$ref": "#/responses/notFound"
|
||||
|
||||
opt := web.GetForm(ctx).(*api.UpdateVariableOption)
|
||||
|
||||
v, err := actions_service.GetVariable(ctx, actions_model.FindVariablesOpts{
|
||||
OwnerID: ctx.Org.Organization.ID,
|
||||
Name: ctx.Params("variablename"),
|
||||
})
|
||||
if err != nil {
|
||||
if errors.Is(err, util.ErrNotExist) {
|
||||
ctx.Error(http.StatusNotFound, "GetVariable", err)
|
||||
} else {
|
||||
ctx.Error(http.StatusInternalServerError, "GetVariable", err)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
if opt.Name == "" {
|
||||
opt.Name = ctx.Params("variablename")
|
||||
}
|
||||
if _, err := actions_service.UpdateVariable(ctx, v.ID, opt.Name, opt.Value); err != nil {
|
||||
if errors.Is(err, util.ErrInvalidArgument) {
|
||||
ctx.Error(http.StatusBadRequest, "UpdateVariable", err)
|
||||
} else {
|
||||
ctx.Error(http.StatusInternalServerError, "UpdateVariable", err)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
ctx.Status(http.StatusNoContent)
|
||||
}
|
|
@ -7,9 +7,13 @@ import (
|
|||
"errors"
|
||||
"net/http"
|
||||
|
||||
actions_model "code.gitea.io/gitea/models/actions"
|
||||
"code.gitea.io/gitea/models/db"
|
||||
api "code.gitea.io/gitea/modules/structs"
|
||||
"code.gitea.io/gitea/modules/util"
|
||||
"code.gitea.io/gitea/modules/web"
|
||||
"code.gitea.io/gitea/routers/api/v1/utils"
|
||||
actions_service "code.gitea.io/gitea/services/actions"
|
||||
"code.gitea.io/gitea/services/context"
|
||||
secret_service "code.gitea.io/gitea/services/secrets"
|
||||
)
|
||||
|
@ -127,3 +131,295 @@ func DeleteSecret(ctx *context.APIContext) {
|
|||
|
||||
ctx.Status(http.StatusNoContent)
|
||||
}
|
||||
|
||||
// GetVariable get a repo-level variable
|
||||
func GetVariable(ctx *context.APIContext) {
|
||||
// swagger:operation GET /repos/{owner}/{repo}/actions/variables/{variablename} repository getRepoVariable
|
||||
// ---
|
||||
// summary: Get a repo-level variable
|
||||
// produces:
|
||||
// - application/json
|
||||
// parameters:
|
||||
// - name: owner
|
||||
// in: path
|
||||
// description: name of the owner
|
||||
// type: string
|
||||
// required: true
|
||||
// - name: repo
|
||||
// in: path
|
||||
// description: name of the repository
|
||||
// type: string
|
||||
// required: true
|
||||
// - name: variablename
|
||||
// in: path
|
||||
// description: name of the variable
|
||||
// type: string
|
||||
// required: true
|
||||
// responses:
|
||||
// "200":
|
||||
// "$ref": "#/responses/ActionVariable"
|
||||
// "400":
|
||||
// "$ref": "#/responses/error"
|
||||
// "404":
|
||||
// "$ref": "#/responses/notFound"
|
||||
v, err := actions_service.GetVariable(ctx, actions_model.FindVariablesOpts{
|
||||
RepoID: ctx.Repo.Repository.ID,
|
||||
Name: ctx.Params("variablename"),
|
||||
})
|
||||
if err != nil {
|
||||
if errors.Is(err, util.ErrNotExist) {
|
||||
ctx.Error(http.StatusNotFound, "GetVariable", err)
|
||||
} else {
|
||||
ctx.Error(http.StatusInternalServerError, "GetVariable", err)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
variable := &api.ActionVariable{
|
||||
OwnerID: v.OwnerID,
|
||||
RepoID: v.RepoID,
|
||||
Name: v.Name,
|
||||
Data: v.Data,
|
||||
}
|
||||
|
||||
ctx.JSON(http.StatusOK, variable)
|
||||
}
|
||||
|
||||
// DeleteVariable delete a repo-level variable
|
||||
func DeleteVariable(ctx *context.APIContext) {
|
||||
// swagger:operation DELETE /repos/{owner}/{repo}/actions/variables/{variablename} repository deleteRepoVariable
|
||||
// ---
|
||||
// summary: Delete a repo-level variable
|
||||
// produces:
|
||||
// - application/json
|
||||
// parameters:
|
||||
// - name: owner
|
||||
// in: path
|
||||
// description: name of the owner
|
||||
// type: string
|
||||
// required: true
|
||||
// - name: repo
|
||||
// in: path
|
||||
// description: name of the repository
|
||||
// type: string
|
||||
// required: true
|
||||
// - name: variablename
|
||||
// in: path
|
||||
// description: name of the variable
|
||||
// type: string
|
||||
// required: true
|
||||
// responses:
|
||||
// "200":
|
||||
// "$ref": "#/responses/ActionVariable"
|
||||
// "201":
|
||||
// description: response when deleting a variable
|
||||
// "204":
|
||||
// description: response when deleting a variable
|
||||
// "400":
|
||||
// "$ref": "#/responses/error"
|
||||
// "404":
|
||||
// "$ref": "#/responses/notFound"
|
||||
|
||||
if err := actions_service.DeleteVariableByName(ctx, 0, ctx.Repo.Repository.ID, ctx.Params("variablename")); err != nil {
|
||||
if errors.Is(err, util.ErrInvalidArgument) {
|
||||
ctx.Error(http.StatusBadRequest, "DeleteVariableByName", err)
|
||||
} else if errors.Is(err, util.ErrNotExist) {
|
||||
ctx.Error(http.StatusNotFound, "DeleteVariableByName", err)
|
||||
} else {
|
||||
ctx.Error(http.StatusInternalServerError, "DeleteVariableByName", err)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
ctx.Status(http.StatusNoContent)
|
||||
}
|
||||
|
||||
// CreateVariable create a repo-level variable
|
||||
func CreateVariable(ctx *context.APIContext) {
|
||||
// swagger:operation POST /repos/{owner}/{repo}/actions/variables/{variablename} repository createRepoVariable
|
||||
// ---
|
||||
// summary: Create a repo-level variable
|
||||
// produces:
|
||||
// - application/json
|
||||
// parameters:
|
||||
// - name: owner
|
||||
// in: path
|
||||
// description: name of the owner
|
||||
// type: string
|
||||
// required: true
|
||||
// - name: repo
|
||||
// in: path
|
||||
// description: name of the repository
|
||||
// type: string
|
||||
// required: true
|
||||
// - name: variablename
|
||||
// in: path
|
||||
// description: name of the variable
|
||||
// type: string
|
||||
// required: true
|
||||
// - name: body
|
||||
// in: body
|
||||
// schema:
|
||||
// "$ref": "#/definitions/CreateVariableOption"
|
||||
// responses:
|
||||
// "201":
|
||||
// description: response when creating a repo-level variable
|
||||
// "204":
|
||||
// description: response when creating a repo-level variable
|
||||
// "400":
|
||||
// "$ref": "#/responses/error"
|
||||
// "404":
|
||||
// "$ref": "#/responses/notFound"
|
||||
|
||||
opt := web.GetForm(ctx).(*api.CreateVariableOption)
|
||||
|
||||
repoID := ctx.Repo.Repository.ID
|
||||
variableName := ctx.Params("variablename")
|
||||
|
||||
v, err := actions_service.GetVariable(ctx, actions_model.FindVariablesOpts{
|
||||
RepoID: repoID,
|
||||
Name: variableName,
|
||||
})
|
||||
if err != nil && !errors.Is(err, util.ErrNotExist) {
|
||||
ctx.Error(http.StatusInternalServerError, "GetVariable", err)
|
||||
return
|
||||
}
|
||||
if v != nil && v.ID > 0 {
|
||||
ctx.Error(http.StatusConflict, "VariableNameAlreadyExists", util.NewAlreadyExistErrorf("variable name %s already exists", variableName))
|
||||
return
|
||||
}
|
||||
|
||||
if _, err := actions_service.CreateVariable(ctx, 0, repoID, variableName, opt.Value); err != nil {
|
||||
if errors.Is(err, util.ErrInvalidArgument) {
|
||||
ctx.Error(http.StatusBadRequest, "CreateVariable", err)
|
||||
} else {
|
||||
ctx.Error(http.StatusInternalServerError, "CreateVariable", err)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
ctx.Status(http.StatusNoContent)
|
||||
}
|
||||
|
||||
// UpdateVariable update a repo-level variable
|
||||
func UpdateVariable(ctx *context.APIContext) {
|
||||
// swagger:operation PUT /repos/{owner}/{repo}/actions/variables/{variablename} repository updateRepoVariable
|
||||
// ---
|
||||
// summary: Update a repo-level variable
|
||||
// produces:
|
||||
// - application/json
|
||||
// parameters:
|
||||
// - name: owner
|
||||
// in: path
|
||||
// description: name of the owner
|
||||
// type: string
|
||||
// required: true
|
||||
// - name: repo
|
||||
// in: path
|
||||
// description: name of the repository
|
||||
// type: string
|
||||
// required: true
|
||||
// - name: variablename
|
||||
// in: path
|
||||
// description: name of the variable
|
||||
// type: string
|
||||
// required: true
|
||||
// - name: body
|
||||
// in: body
|
||||
// schema:
|
||||
// "$ref": "#/definitions/UpdateVariableOption"
|
||||
// responses:
|
||||
// "201":
|
||||
// description: response when updating a repo-level variable
|
||||
// "204":
|
||||
// description: response when updating a repo-level variable
|
||||
// "400":
|
||||
// "$ref": "#/responses/error"
|
||||
// "404":
|
||||
// "$ref": "#/responses/notFound"
|
||||
|
||||
opt := web.GetForm(ctx).(*api.UpdateVariableOption)
|
||||
|
||||
v, err := actions_service.GetVariable(ctx, actions_model.FindVariablesOpts{
|
||||
RepoID: ctx.Repo.Repository.ID,
|
||||
Name: ctx.Params("variablename"),
|
||||
})
|
||||
if err != nil {
|
||||
if errors.Is(err, util.ErrNotExist) {
|
||||
ctx.Error(http.StatusNotFound, "GetVariable", err)
|
||||
} else {
|
||||
ctx.Error(http.StatusInternalServerError, "GetVariable", err)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
if opt.Name == "" {
|
||||
opt.Name = ctx.Params("variablename")
|
||||
}
|
||||
if _, err := actions_service.UpdateVariable(ctx, v.ID, opt.Name, opt.Value); err != nil {
|
||||
if errors.Is(err, util.ErrInvalidArgument) {
|
||||
ctx.Error(http.StatusBadRequest, "UpdateVariable", err)
|
||||
} else {
|
||||
ctx.Error(http.StatusInternalServerError, "UpdateVariable", err)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
ctx.Status(http.StatusNoContent)
|
||||
}
|
||||
|
||||
// ListVariables list repo-level variables
|
||||
func ListVariables(ctx *context.APIContext) {
|
||||
// swagger:operation GET /repos/{owner}/{repo}/actions/variables repository getRepoVariablesList
|
||||
// ---
|
||||
// summary: Get repo-level variables list
|
||||
// produces:
|
||||
// - application/json
|
||||
// parameters:
|
||||
// - name: owner
|
||||
// in: path
|
||||
// description: name of the owner
|
||||
// type: string
|
||||
// required: true
|
||||
// - name: repo
|
||||
// in: path
|
||||
// description: name of the repository
|
||||
// type: string
|
||||
// required: true
|
||||
// - name: page
|
||||
// in: query
|
||||
// description: page number of results to return (1-based)
|
||||
// type: integer
|
||||
// - name: limit
|
||||
// in: query
|
||||
// description: page size of results
|
||||
// type: integer
|
||||
// responses:
|
||||
// "200":
|
||||
// "$ref": "#/responses/VariableList"
|
||||
// "400":
|
||||
// "$ref": "#/responses/error"
|
||||
// "404":
|
||||
// "$ref": "#/responses/notFound"
|
||||
|
||||
vars, count, err := db.FindAndCount[actions_model.ActionVariable](ctx, &actions_model.FindVariablesOpts{
|
||||
RepoID: ctx.Repo.Repository.ID,
|
||||
ListOptions: utils.GetListOptions(ctx),
|
||||
})
|
||||
if err != nil {
|
||||
ctx.Error(http.StatusInternalServerError, "FindVariables", err)
|
||||
return
|
||||
}
|
||||
|
||||
variables := make([]*api.ActionVariable, len(vars))
|
||||
for i, v := range vars {
|
||||
variables[i] = &api.ActionVariable{
|
||||
OwnerID: v.OwnerID,
|
||||
RepoID: v.RepoID,
|
||||
Name: v.Name,
|
||||
}
|
||||
}
|
||||
|
||||
ctx.SetTotalCountHeader(count)
|
||||
ctx.JSON(http.StatusOK, variables)
|
||||
}
|
||||
|
|
|
@ -640,6 +640,8 @@ func DeleteReviewRequests(ctx *context.APIContext) {
|
|||
// "$ref": "#/responses/empty"
|
||||
// "422":
|
||||
// "$ref": "#/responses/validationError"
|
||||
// "403":
|
||||
// "$ref": "#/responses/forbidden"
|
||||
// "404":
|
||||
// "$ref": "#/responses/notFound"
|
||||
opts := web.GetForm(ctx).(*api.PullReviewRequestOptions)
|
||||
|
@ -708,6 +710,10 @@ func apiReviewRequest(ctx *context.APIContext, opts api.PullReviewRequestOptions
|
|||
for _, reviewer := range reviewers {
|
||||
comment, err := issue_service.ReviewRequest(ctx, pr.Issue, ctx.Doer, reviewer, isAdd)
|
||||
if err != nil {
|
||||
if issues_model.IsErrReviewRequestOnClosedPR(err) {
|
||||
ctx.Error(http.StatusForbidden, "", err)
|
||||
return
|
||||
}
|
||||
ctx.Error(http.StatusInternalServerError, "ReviewRequest", err)
|
||||
return
|
||||
}
|
||||
|
@ -874,7 +880,7 @@ func dismissReview(ctx *context.APIContext, msg string, isDismiss, dismissPriors
|
|||
ctx.Error(http.StatusForbidden, "", "Must be repo admin")
|
||||
return
|
||||
}
|
||||
review, pr, isWrong := prepareSingleReview(ctx)
|
||||
review, _, isWrong := prepareSingleReview(ctx)
|
||||
if isWrong {
|
||||
return
|
||||
}
|
||||
|
@ -884,13 +890,12 @@ func dismissReview(ctx *context.APIContext, msg string, isDismiss, dismissPriors
|
|||
return
|
||||
}
|
||||
|
||||
if pr.Issue.IsClosed {
|
||||
ctx.Error(http.StatusForbidden, "", "not need to dismiss this review because this pr is closed")
|
||||
return
|
||||
}
|
||||
|
||||
_, err := pull_service.DismissReview(ctx, review.ID, ctx.Repo.Repository.ID, msg, ctx.Doer, isDismiss, dismissPriors)
|
||||
if err != nil {
|
||||
if pull_service.IsErrDismissRequestOnClosedPR(err) {
|
||||
ctx.Error(http.StatusForbidden, "", err)
|
||||
return
|
||||
}
|
||||
ctx.Error(http.StatusInternalServerError, "pull_service.DismissReview", err)
|
||||
return
|
||||
}
|
||||
|
|
|
@ -7,6 +7,7 @@ import (
|
|||
"net/http"
|
||||
"strings"
|
||||
|
||||
"code.gitea.io/gitea/models/db"
|
||||
repo_model "code.gitea.io/gitea/models/repo"
|
||||
"code.gitea.io/gitea/modules/log"
|
||||
api "code.gitea.io/gitea/modules/structs"
|
||||
|
@ -53,7 +54,7 @@ func ListTopics(ctx *context.APIContext) {
|
|||
RepoID: ctx.Repo.Repository.ID,
|
||||
}
|
||||
|
||||
topics, total, err := repo_model.FindTopics(ctx, opts)
|
||||
topics, total, err := db.FindAndCount[repo_model.Topic](ctx, opts)
|
||||
if err != nil {
|
||||
ctx.InternalServerError(err)
|
||||
return
|
||||
|
@ -172,7 +173,7 @@ func AddTopic(ctx *context.APIContext) {
|
|||
}
|
||||
|
||||
// Prevent adding more topics than allowed to repo
|
||||
count, err := repo_model.CountTopics(ctx, &repo_model.FindTopicOptions{
|
||||
count, err := db.Count[repo_model.Topic](ctx, &repo_model.FindTopicOptions{
|
||||
RepoID: ctx.Repo.Repository.ID,
|
||||
})
|
||||
if err != nil {
|
||||
|
@ -287,7 +288,7 @@ func TopicSearch(ctx *context.APIContext) {
|
|||
ListOptions: utils.GetListOptions(ctx),
|
||||
}
|
||||
|
||||
topics, total, err := repo_model.FindTopics(ctx, opts)
|
||||
topics, total, err := db.FindAndCount[repo_model.Topic](ctx, opts)
|
||||
if err != nil {
|
||||
ctx.InternalServerError(err)
|
||||
return
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue