From 58bf120ebaad4b1ffc3d839d8e4073d6858becf4 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 2 May 2024 00:05:56 +0000 Subject: [PATCH 01/15] Update module gitea.com/go-chi/binding to v0.0.0-20240430071103-39a851e106ed --- go.mod | 2 +- go.sum | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/go.mod b/go.mod index 9dc8ae3f5b..73e2d2e7ed 100644 --- a/go.mod +++ b/go.mod @@ -8,7 +8,7 @@ require ( code.gitea.io/sdk/gitea v0.17.1 codeberg.org/gusted/mcaptcha v0.0.0-20220723083913-4f3072e1d570 connectrpc.com/connect v1.16.1 - gitea.com/go-chi/binding v0.0.0-20230415142243-04b515c6d669 + gitea.com/go-chi/binding v0.0.0-20240430071103-39a851e106ed gitea.com/go-chi/cache v0.2.0 gitea.com/go-chi/captcha v0.0.0-20240315150714-fb487f629098 gitea.com/go-chi/session v0.0.0-20240316035857-16768d98ec96 diff --git a/go.sum b/go.sum index a42bce3812..c43731aaac 100644 --- a/go.sum +++ b/go.sum @@ -54,8 +54,8 @@ git.sr.ht/~mariusor/go-xsd-duration v0.0.0-20220703122237-02e73435a078 h1:cliQ4H git.sr.ht/~mariusor/go-xsd-duration v0.0.0-20220703122237-02e73435a078/go.mod h1:g/V2Hjas6Z1UHUp4yIx6bATpNzJ7DYtD0FG3+xARWxs= gitea.com/gitea/act v0.261.1 h1:iACWLc/k8wct9fCF2WdYKqn2Hxx6NjW9zbOP79HF4H4= gitea.com/gitea/act v0.261.1/go.mod h1:Pg5C9kQY1CEA3QjthjhlrqOC/QOT5NyWNjOjRHw23Ok= -gitea.com/go-chi/binding v0.0.0-20230415142243-04b515c6d669 h1:RUBX+MK/TsDxpHmymaOaydfigEbbzqUnG1OTZU/HAeo= -gitea.com/go-chi/binding v0.0.0-20230415142243-04b515c6d669/go.mod h1:77TZu701zMXWJFvB8gvTbQ92zQ3DQq/H7l5wAEjQRKc= +gitea.com/go-chi/binding v0.0.0-20240430071103-39a851e106ed h1:EZZBtilMLSZNWtHHcgq2mt6NSGhJSZBuduAlinMEmso= +gitea.com/go-chi/binding v0.0.0-20240430071103-39a851e106ed/go.mod h1:E3i3cgB04dDx0v3CytCgRTTn9Z/9x891aet3r456RVw= gitea.com/go-chi/cache v0.2.0 h1:E0npuTfDW6CT1yD8NMDVc1SK6IeRjfmRL2zlEsCEd7w= gitea.com/go-chi/cache v0.2.0/go.mod h1:iQlVK2aKTZ/rE9UcHyz9pQWGvdP9i1eI2spOpzgCrtE= gitea.com/go-chi/captcha v0.0.0-20240315150714-fb487f629098 h1:p2ki+WK0cIeNQuqjR98IP2KZQKRzJJiV7aTeMAFwaWo= @@ -283,7 +283,6 @@ github.com/go-ap/jsonld v0.0.0-20221030091449-f2a191312c73/go.mod h1:jyveZeGw5La github.com/go-asn1-ber/asn1-ber v1.5.5 h1:MNHlNMBDgEKD4TcKr36vQN68BA00aDfjIt3/bD50WnA= github.com/go-asn1-ber/asn1-ber v1.5.5/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0= github.com/go-chi/chi/v5 v5.0.1/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8= -github.com/go-chi/chi/v5 v5.0.4/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8= github.com/go-chi/chi/v5 v5.0.11 h1:BnpYbFZ3T3S1WMpD79r7R5ThWX40TaFB7L31Y8xqSwA= github.com/go-chi/chi/v5 v5.0.11/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8= github.com/go-chi/cors v1.2.1 h1:xEC8UT3Rlp2QuWNEr4Fs/c2EAGVKBwy/1vHx3bppil4= @@ -358,7 +357,6 @@ github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJA github.com/gobwas/httphead v0.1.0/go.mod h1:O/RXo79gxV8G+RqlR/otEwx4Q36zl9rqC5u12GKvMCM= github.com/gobwas/pool v0.2.1/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= github.com/gobwas/ws v1.2.1/go.mod h1:hRKAFb8wOxFROYNsT1bqfWnhX+b5MFeJM9r2ZSwg/KY= -github.com/goccy/go-json v0.9.5/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/goccy/go-json v0.9.6/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= From 3e3f7c3f4772a296155991687c4d4437f2f18f6b Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 2 May 2024 02:04:31 +0000 Subject: [PATCH 02/15] Update dependency @stylistic/eslint-plugin-js to v1.8.0 --- package-lock.json | 16 ++++++++-------- package.json | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8988034ad6..3518268ced 100644 --- a/package-lock.json +++ b/package-lock.json @@ -67,7 +67,7 @@ "@eslint-community/eslint-plugin-eslint-comments": "4.3.0", "@playwright/test": "1.43.0", "@stoplight/spectral-cli": "6.11.1", - "@stylistic/eslint-plugin-js": "1.7.2", + "@stylistic/eslint-plugin-js": "1.8.0", "@stylistic/stylelint-plugin": "2.1.2", "@vitejs/plugin-vue": "5.0.4", "@vue/test-utils": "2.4.5", @@ -2126,12 +2126,12 @@ } }, "node_modules/@stylistic/eslint-plugin-js": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin-js/-/eslint-plugin-js-1.7.2.tgz", - "integrity": "sha512-ZYX7C5p7zlHbACwFLU+lISVh6tdcRP/++PWegh2Sy0UgMT5kU0XkPa2tKWEtJYzZmPhJxu9LxbnWcnE/tTwSDQ==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin-js/-/eslint-plugin-js-1.8.0.tgz", + "integrity": "sha512-jdvnzt+pZPg8TfclZlTZPiUbbima93ylvQ+wNgHLNmup3obY6heQvgewSu9i2CfS61BnRByv+F9fxQLPoNeHag==", "dev": true, "dependencies": { - "@types/eslint": "^8.56.8", + "@types/eslint": "^8.56.10", "acorn": "^8.11.3", "escape-string-regexp": "^4.0.0", "eslint-visitor-keys": "^3.4.3", @@ -2224,9 +2224,9 @@ } }, "node_modules/@types/eslint": { - "version": "8.56.9", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.9.tgz", - "integrity": "sha512-W4W3KcqzjJ0sHg2vAq9vfml6OhsJ53TcUjUqfzzZf/EChUtwspszj/S0pzMxnfRcO55/iGq47dscXw71Fxc4Zg==", + "version": "8.56.10", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.10.tgz", + "integrity": "sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==", "dependencies": { "@types/estree": "*", "@types/json-schema": "*" diff --git a/package.json b/package.json index 2eb9e2da6d..44397206c0 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "@eslint-community/eslint-plugin-eslint-comments": "4.3.0", "@playwright/test": "1.43.0", "@stoplight/spectral-cli": "6.11.1", - "@stylistic/eslint-plugin-js": "1.7.2", + "@stylistic/eslint-plugin-js": "1.8.0", "@stylistic/stylelint-plugin": "2.1.2", "@vitejs/plugin-vue": "5.0.4", "@vue/test-utils": "2.4.5", From 47ea0f5f98beddb9935d54774c93aa765e31dc75 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 2 May 2024 02:04:58 +0000 Subject: [PATCH 03/15] Update dependency markdownlint-cli to v0.40.0 --- package-lock.json | 62 ++++++++++++++++++++++++++--------------------- package.json | 2 +- 2 files changed, 36 insertions(+), 28 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8988034ad6..b620bcee25 100644 --- a/package-lock.json +++ b/package-lock.json @@ -87,7 +87,7 @@ "eslint-plugin-vue-scoped-css": "2.8.0", "eslint-plugin-wc": "2.1.0", "happy-dom": "14.7.1", - "markdownlint-cli": "0.39.0", + "markdownlint-cli": "0.40.0", "postcss-html": "1.6.0", "stylelint": "16.4.0", "stylelint-declaration-block-no-ignored-properties": "2.8.0", @@ -8212,9 +8212,9 @@ } }, "node_modules/markdown-it": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.0.0.tgz", - "integrity": "sha512-seFjF0FIcPt4P9U39Bq1JYblX0KZCjDLFFQPHpL5AzHpqPEKtosxmdq/LTVZnjfH7tjt9BxStm+wXcDBNuYmzw==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz", + "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==", "dev": true, "dependencies": { "argparse": "^2.0.1", @@ -8222,20 +8222,20 @@ "linkify-it": "^5.0.0", "mdurl": "^2.0.0", "punycode.js": "^2.3.1", - "uc.micro": "^2.0.0" + "uc.micro": "^2.1.0" }, "bin": { "markdown-it": "bin/markdown-it.mjs" } }, "node_modules/markdownlint": { - "version": "0.33.0", - "resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.33.0.tgz", - "integrity": "sha512-4lbtT14A3m0LPX1WS/3d1m7Blg+ZwiLq36WvjQqFGsX3Gik99NV+VXp/PW3n+Q62xyPdbvGOCfjPqjW+/SKMig==", + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.34.0.tgz", + "integrity": "sha512-qwGyuyKwjkEMOJ10XN6OTKNOVYvOIi35RNvDLNxTof5s8UmyGHlCdpngRHoRGNvQVGuxO3BJ7uNSgdeX166WXw==", "dev": true, "dependencies": { - "markdown-it": "14.0.0", - "markdownlint-micromark": "0.1.8" + "markdown-it": "14.1.0", + "markdownlint-micromark": "0.1.9" }, "engines": { "node": ">=18" @@ -8245,20 +8245,22 @@ } }, "node_modules/markdownlint-cli": { - "version": "0.39.0", - "resolved": "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.39.0.tgz", - "integrity": "sha512-ZuFN7Xpsbn1Nbp0YYkeLOfXOMOfLQBik2lKRy8pVI/llmKQ2uW7x+8k5OMgF6o7XCsTDSYC/OOmeJ+3qplvnJQ==", + "version": "0.40.0", + "resolved": "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.40.0.tgz", + "integrity": "sha512-JXhI3dRQcaqwiFYpPz6VJ7aKYheD53GmTz9y4D/d0F1MbZDGOp9pqKlbOfUX/pHP/iAoeiE4wYRmk8/kjLakxA==", "dev": true, "dependencies": { - "commander": "~11.1.0", + "commander": "~12.0.0", "get-stdin": "~9.0.0", - "glob": "~10.3.10", - "ignore": "~5.3.0", + "glob": "~10.3.12", + "ignore": "~5.3.1", "js-yaml": "^4.1.0", "jsonc-parser": "~3.2.1", - "markdownlint": "~0.33.0", - "minimatch": "~9.0.3", - "run-con": "~1.3.2" + "jsonpointer": "5.0.1", + "markdownlint": "~0.34.0", + "minimatch": "~9.0.4", + "run-con": "~1.3.2", + "toml": "~3.0.0" }, "bin": { "markdownlint": "markdownlint.js" @@ -8268,12 +8270,12 @@ } }, "node_modules/markdownlint-cli/node_modules/commander": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", - "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-12.0.0.tgz", + "integrity": "sha512-MwVNWlYjDTtOjX5PiD7o5pK0UrFU/OYgcJfjjK4RaHZETNtjJqrZa9Y9ds88+A+f+d5lv+561eZ+yCKoS3gbAA==", "dev": true, "engines": { - "node": ">=16" + "node": ">=18" } }, "node_modules/markdownlint-cli/node_modules/glob": { @@ -8305,12 +8307,12 @@ "dev": true }, "node_modules/markdownlint-micromark": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/markdownlint-micromark/-/markdownlint-micromark-0.1.8.tgz", - "integrity": "sha512-1ouYkMRo9/6gou9gObuMDnvZM8jC/ly3QCFQyoSPCS2XV1ZClU0xpKbL1Ar3bWWRT1RnBZkWUEiNKrI2CwiBQA==", + "version": "0.1.9", + "resolved": "https://registry.npmjs.org/markdownlint-micromark/-/markdownlint-micromark-0.1.9.tgz", + "integrity": "sha512-5hVs/DzAFa8XqYosbEAEg6ok6MF2smDj89ztn9pKkCtdKHVdPQuGMH7frFfYL9mLkvfFe4pTyAMffLbjf3/EyA==", "dev": true, "engines": { - "node": ">=16" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/DavidAnson" @@ -11831,6 +11833,12 @@ "resolved": "https://registry.npmjs.org/toastify-js/-/toastify-js-1.12.0.tgz", "integrity": "sha512-HeMHCO9yLPvP9k0apGSdPUWrUbLnxUKNFzgUoZp1PHCLploIX/4DSQ7V8H25ef+h4iO9n0he7ImfcndnN6nDrQ==" }, + "node_modules/toml": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/toml/-/toml-3.0.0.tgz", + "integrity": "sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==", + "dev": true + }, "node_modules/tr46": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", diff --git a/package.json b/package.json index 2eb9e2da6d..28f8832e23 100644 --- a/package.json +++ b/package.json @@ -86,7 +86,7 @@ "eslint-plugin-vue-scoped-css": "2.8.0", "eslint-plugin-wc": "2.1.0", "happy-dom": "14.7.1", - "markdownlint-cli": "0.39.0", + "markdownlint-cli": "0.40.0", "postcss-html": "1.6.0", "stylelint": "16.4.0", "stylelint-declaration-block-no-ignored-properties": "2.8.0", From 82f7308e1b37b5be311d86bb763de8c43b7d20fa Mon Sep 17 00:00:00 2001 From: 0ko <0ko@noreply.codeberg.org> Date: Thu, 2 May 2024 23:09:45 +0500 Subject: [PATCH 04/15] [I18N] Improve repo filter names --- options/locale/locale_en-US.ini | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini index 9148d57a27..164a93e4ae 100644 --- a/options/locale/locale_en-US.ini +++ b/options/locale/locale_en-US.ini @@ -149,12 +149,12 @@ filter = Filter filter.clear = Clear filters filter.is_archived = Archived filter.not_archived = Not archived -filter.is_fork = Forked -filter.not_fork = Not forked -filter.is_mirror = Mirrored -filter.not_mirror = Not mirrored -filter.is_template = Template -filter.not_template = Not template +filter.is_fork = Forks +filter.not_fork = Not forks +filter.is_mirror = Mirrors +filter.not_mirror = Not mirrors +filter.is_template = Templates +filter.not_template = Not templates filter.public = Public filter.private = Private From ab23f5e6cd13702b2b78a04f4cc101535bccf8ce Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 3 May 2024 06:03:34 +0000 Subject: [PATCH 05/15] Update dependency clippie to v4.1.1 --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8988034ad6..4c3e75f8ea 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20,7 +20,7 @@ "chart.js": "4.4.2", "chartjs-adapter-dayjs-4": "1.0.4", "chartjs-plugin-zoom": "2.0.1", - "clippie": "4.0.7", + "clippie": "4.1.1", "css-loader": "7.0.0", "dayjs": "1.11.11", "dropzone": "6.0.0-beta.2", @@ -3779,9 +3779,9 @@ } }, "node_modules/clippie": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/clippie/-/clippie-4.0.7.tgz", - "integrity": "sha512-xmIARCRFQUoCR0kNNu4uIv5f/IFqM1fUts0vQwt1hQEdCPEqs3/dTaG38WenlWOgs3Fcn73PBYXbPIVSlOgFRw==" + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/clippie/-/clippie-4.1.1.tgz", + "integrity": "sha512-D9OOW77Kkj9YEiDXTQjZJZLvTjJPEmK2IBx8JbGJIZaqVd8RvSvxwIN4KVSEFQfu9Jh0z5FL6Pdc4SIknllFFA==" }, "node_modules/cliui": { "version": "7.0.4", diff --git a/package.json b/package.json index 2eb9e2da6d..472af79b3a 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,7 @@ "chart.js": "4.4.2", "chartjs-adapter-dayjs-4": "1.0.4", "chartjs-plugin-zoom": "2.0.1", - "clippie": "4.0.7", + "clippie": "4.1.1", "css-loader": "7.0.0", "dayjs": "1.11.11", "dropzone": "6.0.0-beta.2", From baa7c8f9756c6cc7b8012ade496e0bf3703a885d Mon Sep 17 00:00:00 2001 From: Michael Kriese Date: Fri, 3 May 2024 09:08:03 +0200 Subject: [PATCH 06/15] chore(renovate): reconfigure node versioning --- renovate.json | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/renovate.json b/renovate.json index 89025178c3..76e47f44e3 100644 --- a/renovate.json +++ b/renovate.json @@ -60,7 +60,9 @@ { "description": "Group nodejs packages", "matchDepNames": ["node", "docker.io/node", "docker.io/library/node"], - "groupName": "nodejs packages" + "groupName": "nodejs packages", + "versionCompatibility": "^(?[^-]+)(?-.*)?$", + "versioning": "node" }, { "description": "Automerge renovate updates", @@ -71,20 +73,12 @@ }, { "description": "Split minor and patch updates", - "matchDepNames": [ - "vue", - "github.com/urfave/cli/v2", - "swagger-ui-dist" - ], + "matchDepNames": ["vue", "github.com/urfave/cli/v2", "swagger-ui-dist"], "separateMinorPatch": true }, { "description": "Automerge patch updates", - "matchDepNames": [ - "vue", - "github.com/urfave/cli/v2", - "swagger-ui-dist" - ], + "matchDepNames": ["vue", "github.com/urfave/cli/v2", "swagger-ui-dist"], "matchUpdateTypes": ["patch"], "automerge": true }, @@ -127,8 +121,7 @@ "customType": "regex", "fileMatch": ["^.forgejo/workflows/.+\\.yml$"], "matchStrings": ["\\s+node-version: ['\"]?(?.+?)['\"]?\\s"], - "depNameTemplate": "node", - "datasourceTemplate": "node-version" + "depNameTemplate": "node" }, { "description": "Update deps inside Makefile", From 28d186a13d25e53554e2da36e69e79478dab7a05 Mon Sep 17 00:00:00 2001 From: Michael Kriese Date: Fri, 3 May 2024 14:00:29 +0200 Subject: [PATCH 07/15] chore(renovate): fix config --- renovate.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/renovate.json b/renovate.json index 76e47f44e3..0b499da675 100644 --- a/renovate.json +++ b/renovate.json @@ -121,7 +121,8 @@ "customType": "regex", "fileMatch": ["^.forgejo/workflows/.+\\.yml$"], "matchStrings": ["\\s+node-version: ['\"]?(?.+?)['\"]?\\s"], - "depNameTemplate": "node" + "depNameTemplate": "node", + "datasourceTemplate": "node-version" }, { "description": "Update deps inside Makefile", From 6631f56ebfa95fc6b90c575eeb024c64d63f24a6 Mon Sep 17 00:00:00 2001 From: Jade Lovelace Date: Thu, 2 May 2024 17:51:26 -0700 Subject: [PATCH 08/15] Add an immutable tarball link to archive download headers for Nix MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This allows `nix flake metadata` and nix in general to lock a *branch* tarball link in a manner that causes it to fetch the correct commit even if the branch is updated with a newer version. For further context, Nix flakes are a feature that, among other things, allows for "inputs" that are "github:someuser/somerepo", "https://some-tarball-service/some-tarball.tar.gz", "sourcehut:~meow/nya" or similar. This feature allows our users to fetch tarballs of git-based inputs to their builds rather than using git to fetch them, saving significant download time. There is presently no gitea or forgejo specific fetcher in Nix, and we don't particularly wish to have one. Ideally (as a developer on a Nix implementation myself) we could just use the generic tarball fetcher and not add specific forgejo support, but to do so, we need additional metadata to know which commit a given *branch* tarball represents, which is the purpose of the Link header added here. The result of this patch is that a Nix user can specify `inputs.something.url = "https://forgejo-host/some/project/archive/main.tar.gz"` in flake.nix and get a link to some concrete tarball for the actual commit in the lock file, then when they run `nix flake update` in the future, they will get the latest commit in that branch. Example of it working locally: » nix flake metadata --refresh 'http://localhost:3000/api/v1/repos/jade/cats/archive/main.tar.gz?dir=configs/nix' Resolved URL: http://localhost:3000/api/v1/repos/jade/cats/archive/main.tar.gz?dir=configs/nix Locked URL: http://localhost:3000/api/v1/repos/jade/cats/archive/804ede182b6b66469b23ea4d21eece52766b7a06.tar.gz?dir=configs /nix&narHash=sha256-yP7KkDVfuixZzs0fsqhSETXFC0y8m6nmPLw2GrAMxKQ%3D Description: Computers with the nixos Path: /nix/store/s856c6yqghyan4v0zy6jj19ksv0q22nx-source Revision: 804ede182b6b66469b23ea4d21eece52766b7a06 Last modified: 2024-05-02 00:48:32 For details on the header value, see: https://github.com/nixos/nix/blob/56763ff918eb308db23080e560ed2ea3e00c80a7/doc/manual/src/protocols/tarball-fetcher.md --- release-notes/8.0.0/feat/3615.md | 5 +++++ routers/api/v1/repo/file.go | 6 ++++++ routers/web/repo/repo.go | 6 ++++++ tests/integration/api_repo_archive_test.go | 11 +++++++++++ 4 files changed, 28 insertions(+) create mode 100644 release-notes/8.0.0/feat/3615.md diff --git a/release-notes/8.0.0/feat/3615.md b/release-notes/8.0.0/feat/3615.md new file mode 100644 index 0000000000..f2dd891c95 --- /dev/null +++ b/release-notes/8.0.0/feat/3615.md @@ -0,0 +1,5 @@ +Support the [Nix tarball fetcher immutable link protocol](https://github.com/nixos/nix/blob/56763ff918eb308db23080e560ed2ea3e00c80a7/doc/manual/src/protocols/tarball-fetcher.md) on archive URLs, so Forgejo-generated tarballs for branches will go into Nix's `flake.lock` as their respective commit URLs and `nix flake update` will just work. This allows natively fetching Forgejo repositories for Nix flake inputs as tarballs rather than as Git repositories, significantly improving fetch times and avoiding depending on Git at runtime. + +Concretely, Forgejo now returns a header of the following format from its archive URLs: `Link: rel="immutable"`. + +Example usage: `inputs.meow.url = "https://my-forgejo/someuser/somerepo/archive/main.tar.gz";` in `flake.nix`. For a private repository, configure `netrc-file` in `nix.conf` and use `https://my-forgejo/api/v1/repos/someuser/somerepo/archive/main.tar.gz` as a URL instead, since the normal archive endpoint doesn't support tokens. diff --git a/routers/api/v1/repo/file.go b/routers/api/v1/repo/file.go index 70eb3fbc25..34ccc929a5 100644 --- a/routers/api/v1/repo/file.go +++ b/routers/api/v1/repo/file.go @@ -326,6 +326,12 @@ func archiveDownload(ctx *context.APIContext) { func download(ctx *context.APIContext, archiveName string, archiver *repo_model.RepoArchiver) { downloadName := ctx.Repo.Repository.Name + "-" + archiveName + // Add nix format link header so tarballs lock correctly: + // https://github.com/nixos/nix/blob/56763ff918eb308db23080e560ed2ea3e00c80a7/doc/manual/src/protocols/tarball-fetcher.md + ctx.Resp.Header().Add("Link", fmt.Sprintf("<%s/archive/%s.tar.gz?rev=%s>; rel=\"immutable\"", + ctx.Repo.Repository.APIURL(), + archiver.CommitID, archiver.CommitID)) + rPath := archiver.RelativePath() if setting.RepoArchive.Storage.MinioConfig.ServeDirect { // If we have a signed url (S3, object storage), redirect to this directly. diff --git a/routers/web/repo/repo.go b/routers/web/repo/repo.go index a5f6c02c7a..abd68630a4 100644 --- a/routers/web/repo/repo.go +++ b/routers/web/repo/repo.go @@ -480,6 +480,12 @@ func Download(ctx *context.Context) { func download(ctx *context.Context, archiveName string, archiver *repo_model.RepoArchiver) { downloadName := ctx.Repo.Repository.Name + "-" + archiveName + // Add nix format link header so tarballs lock correctly: + // https://github.com/nixos/nix/blob/56763ff918eb308db23080e560ed2ea3e00c80a7/doc/manual/src/protocols/tarball-fetcher.md + ctx.Resp.Header().Add("Link", fmt.Sprintf("<%s/archive/%s.tar.gz?rev=%s>; rel=\"immutable\"", + ctx.Repo.Repository.APIURL(), + archiver.CommitID, archiver.CommitID)) + rPath := archiver.RelativePath() if setting.RepoArchive.Storage.MinioConfig.ServeDirect { // If we have a signed url (S3, object storage), redirect to this directly. diff --git a/tests/integration/api_repo_archive_test.go b/tests/integration/api_repo_archive_test.go index c574d49450..a4ae599615 100644 --- a/tests/integration/api_repo_archive_test.go +++ b/tests/integration/api_repo_archive_test.go @@ -8,6 +8,7 @@ import ( "io" "net/http" "net/url" + "regexp" "testing" auth_model "code.gitea.io/gitea/models/auth" @@ -41,6 +42,16 @@ func TestAPIDownloadArchive(t *testing.T) { assert.Len(t, bs, 266) assert.EqualValues(t, "application/gzip", resp.Header().Get("Content-Type")) + // Must return a link to a commit ID as the "immutable" archive link + linkHeaderRe := regexp.MustCompile(`<(?Phttps?://.*/api/v1/repos/user2/repo1/archive/[a-f0-9]+\.tar\.gz.*)>; rel="immutable"`) + m := linkHeaderRe.FindStringSubmatch(resp.Header().Get("Link")) + assert.NotEmpty(t, m[1]) + resp = MakeRequest(t, NewRequest(t, "GET", m[1]).AddTokenAuth(token), http.StatusOK) + bs2, err := io.ReadAll(resp.Body) + assert.NoError(t, err) + // The locked URL should give the same bytes as the non-locked one + assert.EqualValues(t, bs, bs2) + link, _ = url.Parse(fmt.Sprintf("/api/v1/repos/%s/%s/archive/master.bundle", user2.Name, repo.Name)) resp = MakeRequest(t, NewRequest(t, "GET", link.String()).AddTokenAuth(token), http.StatusOK) bs, err = io.ReadAll(resp.Body) From 526261937d2441a73d002bd24e12e6a69225665a Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sat, 4 May 2024 00:04:51 +0000 Subject: [PATCH 09/15] Update dependency vite-string-plugin to v1.3.1 --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index c8abb233f7..959c7f2b19 100644 --- a/package-lock.json +++ b/package-lock.json @@ -95,7 +95,7 @@ "stylelint-value-no-unknown-custom-properties": "6.0.1", "svgo": "3.2.0", "updates": "16.0.1", - "vite-string-plugin": "1.2.0", + "vite-string-plugin": "1.3.1", "vitest": "1.5.3" }, "engines": { @@ -12287,9 +12287,9 @@ } }, "node_modules/vite-string-plugin": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/vite-string-plugin/-/vite-string-plugin-1.2.0.tgz", - "integrity": "sha512-IijlLgTxUDUwOpLoBLZCZO2us4fZWPRpj8XWoD9OAYjjUEge8enV4gaDTOs7uEsC8EJ9+NmusdLwmgWajFO45Q==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/vite-string-plugin/-/vite-string-plugin-1.3.1.tgz", + "integrity": "sha512-0Wu9yNw4QlSVM4SlwozzxR0geMoKFrAIpMldgPuzDvV8lWT1v+0pFXYt+t48qocYXBaxiuVRE3qcsEwFDHBAmA==", "dev": true }, "node_modules/vite/node_modules/@types/estree": { diff --git a/package.json b/package.json index 8e31e2c60b..1ea3e4f08b 100644 --- a/package.json +++ b/package.json @@ -94,7 +94,7 @@ "stylelint-value-no-unknown-custom-properties": "6.0.1", "svgo": "3.2.0", "updates": "16.0.1", - "vite-string-plugin": "1.2.0", + "vite-string-plugin": "1.3.1", "vitest": "1.5.3" }, "browserslist": ["defaults"] From 96ee3e50a73a67e0f3ed23e96a5da9daaef00265 Mon Sep 17 00:00:00 2001 From: Earl Warren Date: Sat, 4 May 2024 08:38:26 +0100 Subject: [PATCH 10/15] chore(renovate): automerge on vite-string-plugin --- renovate.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/renovate.json b/renovate.json index 0b499da675..0a6bf6f700 100644 --- a/renovate.json +++ b/renovate.json @@ -97,7 +97,7 @@ { "description": "Automerge some packages when ci succeeds", "extends": ["packages:linters"], - "matchDepNames": ["vitest"], + "matchDepNames": ["vitest", "vite-string-plugin"], "automerge": true }, { From 3fa8be77d6be01b5b510c15d54ecc7794da40dd4 Mon Sep 17 00:00:00 2001 From: Codeberg Translate Date: Sat, 4 May 2024 18:36:49 +0000 Subject: [PATCH 11/15] [I18N] Translations update from Weblate (#3508) Translations update from [Weblate](https://translate.codeberg.org) for [Forgejo/forgejo](https://translate.codeberg.org/projects/forgejo/forgejo/). Current translation status: ![Weblate translation status](https://translate.codeberg.org/widget/forgejo/forgejo/horizontal-auto.svg) Co-authored-by: Fjuro Co-authored-by: Wuzzy Co-authored-by: zyachel Co-authored-by: Panagiotis \"Ivory\" Vasilopoulos Co-authored-by: 0ko <0ko@users.noreply.translate.codeberg.org> Co-authored-by: monstorix Co-authored-by: petrcech Co-authored-by: fnetX Co-authored-by: kdh8219 Co-authored-by: Xinayder Co-authored-by: leana8959 Co-authored-by: hankskyjames777 Co-authored-by: sunwoo1524 Co-authored-by: woutput Co-authored-by: Pi-Cla Co-authored-by: Werenter Co-authored-by: Anonymous Co-authored-by: Kaede Fujisaki Co-authored-by: Dirk Co-authored-by: Kita Ikuyo Co-authored-by: KaKi87 Co-authored-by: mareklach Co-authored-by: 747 <747@users.noreply.translate.codeberg.org> Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/3508 Reviewed-by: 0ko <0ko@noreply.codeberg.org> Co-authored-by: Codeberg Translate Co-committed-by: Codeberg Translate --- options/locale/locale_cs-CZ.ini | 35 +++++----- options/locale/locale_de-DE.ini | 21 +++--- options/locale/locale_el-GR.ini | 90 ++++++++++++------------- options/locale/locale_fil.ini | 6 ++ options/locale/locale_fr-FR.ini | 10 +++ options/locale/locale_hi.ini | 6 ++ options/locale/locale_ja-JP.ini | 7 +- options/locale/locale_ko-KR.ini | 114 +++++++++++++++++++++++++++++--- options/locale/locale_nl-NL.ini | 7 ++ options/locale/locale_pt-BR.ini | 56 ++++++++-------- options/locale/locale_ru-RU.ini | 94 +++++++++++++------------- options/locale/locale_sk-SK.ini | 7 +- options/locale/locale_zh-CN.ini | 21 +++++- options/locale/locale_zh-HK.ini | 1 + options/locale/locale_zh-TW.ini | 22 ++++-- 15 files changed, 324 insertions(+), 173 deletions(-) create mode 100644 options/locale/locale_hi.ini diff --git a/options/locale/locale_cs-CZ.ini b/options/locale/locale_cs-CZ.ini index 49aabeaf05..ca7b3e513f 100644 --- a/options/locale/locale_cs-CZ.ini +++ b/options/locale/locale_cs-CZ.ini @@ -46,7 +46,7 @@ webauthn_unsupported_browser=Váš prohlížeč momentálně nepodporuje WebAuth webauthn_error_unknown=Došlo k neznámé chybě. Opakujte akci. webauthn_error_insecure=WebAuthn podporuje pouze zabezpečená připojení. Pro testování přes HTTP můžete použít výchozí „localhost“ nebo „127.0.0.1“ webauthn_error_unable_to_process=Server nemohl zpracovat váš požadavek. -webauthn_error_duplicated=Bezpečnostní klíč není pro tento požadavek povolen. Ujistěte se prosím, zda již klíč není registrován. +webauthn_error_duplicated=Bezpečnostní klíč není pro tento požadavek povolen. Ujistěte se prosím, zda klíč již není registrován. webauthn_error_empty=Musíte nastavit název tohoto klíče. webauthn_error_timeout=Požadavek vypršel dříve, než se podařilo přečíst váš klíč. Znovu načtěte tuto stránku a akci opakujte. webauthn_reload=Znovu načíst @@ -1002,7 +1002,7 @@ update_hints_success = Nápovědy byly aktualizovány. additional_repo_units_hint_description = Zobrazit tlačítko „Přidat další jednotky...“ u repozitářů, které nemají povolené všechny dostupné jednotky. pronouns = Zájmena pronouns_custom = Vlastní -pronouns_unspecified = Neurčené +pronouns_unspecified = Neurčená [repo] new_repo_helper=Repozitář obsahuje všechny projektové soubory, včetně historie revizí. Už jej hostujete jinde? Migrovat repozitář. @@ -1160,7 +1160,7 @@ migrate.clone_address_desc=HTTP(S) nebo URL Git „clone“ existujícího repoz migrate.github_token_desc=Můžete sem vložit jeden nebo více tokenů oddělených čárkou, abyste urychlili migraci kvůli omezení rychlosti rozhraní GitHub API. VAROVÁNÍ: Zneužití této funkce může vést k porušení zásad poskytovatele služeb a zablokování účtu. migrate.clone_local_path=nebo místní cesta serveru migrate.permission_denied=Není dovoleno importovat místní repozitáře. -migrate.permission_denied_blocked=Nelze importovat z nepovolených hostitelů, prosím požádejte správce, aby zkontroloval nastavení ALLOWED_DOMAINS/ALLOW_LOCALETWORKS/BLOCKED_DOMAINS. +migrate.permission_denied_blocked=Nelze importovat z nepovolených hostitelů, prosím požádejte správce, aby zkontroloval nastavení ALLOWED_DOMAINS/ALLOW_LOCALNETWORKS/BLOCKED_DOMAINS. migrate.invalid_local_path=Místní cesta je neplatná, buď neexistuje nebo není adresářem. migrate.invalid_lfs_endpoint=Koncový bod LFS není platný. migrate.failed=Přenesení selhalo: %v @@ -1199,7 +1199,7 @@ watch_guest_user=Pro sledování tohoto repozitáře se přihlaste. star_guest_user=Pro hodnocení tohoto repozitáře se přihlaste. unwatch=Přestat sledovat watch=Sledovat -unstar=Zrušit oblíbení +unstar=Odebrat z oblíbených star=Oblíbit fork=Rozštěpit download_archive=Stáhnout repozitář @@ -1969,7 +1969,7 @@ wiki.last_commit_info=%s upravil tuto stránku %s wiki.edit_page_button=Změnit stránku wiki.new_page_button=Nová stránka wiki.file_revision=Revize stránky -wiki.wiki_page_revisions=Revize Wiki stránky +wiki.wiki_page_revisions=Revize stránky wiki.back_to_wiki=Zpět na wiki stránku wiki.delete_page_button=Smazat stránku wiki.delete_page_notice_1=Odstranění Wiki stránky „%s“ nemůže být vráceno zpět. Pokračovat? @@ -2131,12 +2131,12 @@ settings.pulls.default_allow_edits_from_maintainers=Ve výchozím nastavení pov 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.actions_desc=Povolit akce repozitáře +settings.actions_desc=Povolit integrované pipeliny CI/CD pomocí služby Forgejo Actions settings.admin_settings=Administrátorská nastavení settings.admin_enable_health_check=Povolit kontrolu stavu repozitáře (git fsck) settings.admin_code_indexer=Indexování kódu settings.admin_stats_indexer=Index statistiky kódu -settings.admin_indexer_commit_sha=Poslední indexovaná SHA +settings.admin_indexer_commit_sha=Poslední indexovaný commit settings.admin_indexer_unindexed=Neindexováno settings.reindex_button=Přidat do fronty reindexace settings.reindex_requested=Požadováno reindexování @@ -2178,7 +2178,7 @@ settings.trust_model.collaborator.long=Spolupracovník: Důvěřovat podpisům s settings.trust_model.collaborator.desc=Platné podpisy spolupracovníků tohoto repozitáře budou označeny jako „důvěryhodné“ - (ať se shodují s autorem, či nikoli). V opačném případě budou platné podpisy označeny jako „nedůvěryhodné“, pokud se podpis shoduje s přispěvatelem a „neodpovídající“, pokud ne. settings.trust_model.committer=Přispěvatel settings.trust_model.committer.long=Přispěvatel: Důvěřovat podpisům, které odpovídají autorům (což odpovídá GitHub a přinutí Giteu nastavit jako tvůrce pro Giteou podepsané revize) -settings.trust_model.committer.desc=Platné podpisy budou označeny pouze jako „důvěryhodné“, pokud se shodují s přispěvatelem, jinak budou označeny jako „neodpovídající“. To přinutí Giteu, aby byla přispěvatelem podepsaných commitů se skutečným přispěvatelem označeným jako Co-authored-by: a Co-committed-by: na konci commitu. Výchozí klíč Gitea musí odpovídat uživateli v databázi. +settings.trust_model.committer.desc=Platné podpisy budou označeny jako „důvěryhodné“ pouze, pokud se shodují s přispěvatelem, v opačném případě budou označeny jako „neodpovídající“. To přinutí Forgejo, aby bylo přispěvatelem podepsaných commitů se skutečným přispěvatelem označeným jako Co-authored-by: a Co-committed-by: na konci commitu. Výchozí klíč Forgejo musí odpovídat uživateli v databázi. settings.trust_model.collaboratorcommitter=Spolupracovník+Přispěvatel settings.trust_model.collaboratorcommitter.long=Spolupracovník+Přispěvatel: Důvěřovat podpisům od spolupracovníků, které odpovídají tvůrci revize settings.trust_model.collaboratorcommitter.desc=Platné podpisy spolupracovníků tohoto repozitáře budou označeny jako „důvěryhodné“, pokud se shodují s přispěvatelem. V opačném případě budou platné podpisy označeny jako "nedůvěryhodné", pokud se podpis shoduje s přispěvatelem a „neodpovídajícím“ v opačném případě. To přinutí Giteu, aby byla označena jako přispěvatel podepsaných commitů se skutečným přispěvatelem označeným jako Co-Authored-By: a Co-Committed-By: na konci commitu. Výchozí klíč Forgejo musí odpovídat uživateli v databázi. @@ -2559,7 +2559,7 @@ release.tag_helper_existing=Stávající značka. release.title=Název vydání release.title_empty=Název nesmí být prázdný. release.message=Popište toto vydání -release.prerelease_desc=Označit jako předběžná verze +release.prerelease_desc=Označit jako předběžnou verzi release.prerelease_helper=Označit vydání jako nevhodné pro produkční nasazení. release.cancel=Zrušit release.publish=Zveřejnit vydání @@ -2579,7 +2579,7 @@ release.tag_already_exist=Tato značka již existuje. release.downloads=Soubory ke stažení release.download_count=Stažení: %s release.add_tag_msg=Použít název a obsah vydání jako zprávu značky. -release.add_tag=Vytvořit pouze značku +release.add_tag=Vytvořit značku release.releases_for=Vydání pro %s release.tags_for=Značky pro %s @@ -2823,9 +2823,9 @@ settings.labels_desc=Přidejte štítky, které mohou být použity pro problém members.membership_visibility=Viditelnost členství: members.public=Viditelný -members.public_helper=skrýt +members.public_helper=Skrýt members.private=Skrytý -members.private_helper=zviditělnit +members.private_helper=Zviditelnit members.member_role=Role člena: members.owner=Vlastník members.member=Člen @@ -2978,8 +2978,8 @@ dashboard.total_gc_time=Celková pauza GC dashboard.total_gc_pause=Celková pauza GC dashboard.last_gc_pause=Poslední pauza GC dashboard.gc_times=Časy GC -dashboard.delete_old_actions=Odstranit všechny staré akce z databáze -dashboard.delete_old_actions.started=Začalo odstraňování všech starých akcí z databáze. +dashboard.delete_old_actions=Odstranit všechny staré aktivity z databáze +dashboard.delete_old_actions.started=Spuštěno odstraňování všech starých aktivit z databáze. dashboard.update_checker=Kontrola aktualizací dashboard.delete_old_system_notices=Odstranit všechna stará systémová upozornění z databáze dashboard.gc_lfs=Úklid LFS meta objektů @@ -2987,7 +2987,7 @@ dashboard.stop_zombie_tasks=Zastavit zombie úlohy dashboard.stop_endless_tasks=Zastavit nekonečné úlohy dashboard.cancel_abandoned_jobs=Zrušit opuštěné úlohy dashboard.start_schedule_tasks=Spustit naplánované úlohy -dashboard.sync_branch.started=Synchronizace větví byla spuštěna +dashboard.sync_branch.started=Synchronizace větví spuštěna dashboard.sync_tag.started=Synchronizace značek spuštěna dashboard.rebuild_issue_indexer=Znovu sestavit index úkolů @@ -3006,7 +3006,7 @@ users.repos=Repozitáře users.created=Vytvořen users.last_login=Poslední přihlášení users.never_login=Nikdy nepřihlášen -users.send_register_notify=Odeslat upozornění při registraci uživatele +users.send_register_notify=Poslat oznámení o registraci e-mailem users.new_success=Uživatelský účet „%s“ byl vytvořen. users.edit=Upravit users.auth_source=Zdroj ověřování @@ -3439,6 +3439,7 @@ config_summary = Souhrn config.open_with_editor_app_help = Editory v nabídce „Otevřít pomocí“ v nabídce klonování. Ponechte prázdné pro použití výchozího editoru (zobrazíte jej rozšířením). config_settings = Nastavení auths.tip.gitlab_new = Zaregistrujte si novou aplikaci na https://gitlab.com/-/profile/applications +auths.default_domain_name = Výchozí doménové jméno použité pro e-mailovou adresu [action] create_repo=vytvořil/a repozitář %s @@ -3701,7 +3702,7 @@ management=Správa tajných klíčů [actions] actions=Akce -unit.desc=Spravovat akce +unit.desc=Spravovat integrované pipeliny CI/CD pomocí funkce Forgejo Actions status.unknown=Neznámý status.waiting=Čekání diff --git a/options/locale/locale_de-DE.ini b/options/locale/locale_de-DE.ini index 07ea493409..67f088a33e 100644 --- a/options/locale/locale_de-DE.ini +++ b/options/locale/locale_de-DE.ini @@ -1957,7 +1957,7 @@ wiki.last_commit_info=%s hat diese Seite %s bearbeitet wiki.edit_page_button=Bearbeiten wiki.new_page_button=Neue Seite wiki.file_revision=Seitenversion -wiki.wiki_page_revisions=Wiki Änderungsverlauf +wiki.wiki_page_revisions=Seiten-Änderungsverlauf wiki.back_to_wiki=Zurück zur Wiki-Seite wiki.delete_page_button=Seite löschen wiki.delete_page_notice_1=Das Löschen der Wiki-Seite „%s“ kann nicht rückgängig gemacht werden. Fortfahren? @@ -2124,12 +2124,12 @@ 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.actions_desc=Repository-Actions aktivieren +settings.actions_desc=Aktiviere integrierte CI/CD-Pipelines mit Forgejo-Actions settings.admin_settings=Administratoreinstellungen settings.admin_enable_health_check=Repository-Health-Checks aktivieren (git fsck) settings.admin_code_indexer=Code-Indexer settings.admin_stats_indexer=Code-Statistik-Indexer -settings.admin_indexer_commit_sha=Zuletzt indizierter SHA +settings.admin_indexer_commit_sha=Zuletzt indizierter Commit settings.admin_indexer_unindexed=Unindiziert settings.reindex_button=Zur Warteschlange für erneutes Indizieren hinzufügen settings.reindex_requested=Erneutes Indizieren angefordert @@ -2576,7 +2576,7 @@ release.tag_already_exist=Dieser Tag-Name existiert bereits. release.downloads=Downloads release.download_count=Downloads: %s release.add_tag_msg=Titel und Beschreibung des Releases als Tag Nachricht verwenden. -release.add_tag=Nur Tag erstellen +release.add_tag=Tag erstellen release.releases_for=Releases für %s release.tags_for=Tags für %s @@ -2702,7 +2702,7 @@ activity.navbar.code_frequency = Code-Frequenz file_follow = Symlink folgen error.broken_git_hook = Die Git-Hooks des Repositorys scheinen kaputt zu sein. Bitte folge der Dokumentation um sie zu reparieren, dann pushe einige Commits um den Status zu aktualisieren. pulls.merged_title_desc_one = hat %[1]d Commit von %[2]s nach %[3]s %[4]s zusammengeführt -pulls.title_desc_one = möchte %[1]d Commit von %[2]s nach %[3]s zusammengeführen +pulls.title_desc_one = möchte %[1]d Commit von %[2]s nach %[3]s zusammenführen open_with_editor = Öffnen mit %s commits.search_branch = Dieser Branch pulls.ready_for_review = Bereit zum Review? @@ -2957,8 +2957,8 @@ dashboard.total_gc_time=Gesamte GC-Pause dashboard.total_gc_pause=Gesamte GC-Pause dashboard.last_gc_pause=Letzte GC-Pause dashboard.gc_times=GC-Zeiten -dashboard.delete_old_actions=Alle alten Aktionen aus der Datenbank löschen -dashboard.delete_old_actions.started=Löschen aller alten Aktionen in der Datenbank gestartet. +dashboard.delete_old_actions=Alle alten Aktivitäten aus der Datenbank löschen +dashboard.delete_old_actions.started=Löschen aller alten Aktivitäten aus der Datenbank gestartet. dashboard.update_checker=Update-Checker dashboard.delete_old_system_notices=Alle alten Systemmeldungen aus der Datenbank löschen dashboard.gc_lfs=Garbage-Collection für LFS Meta-Objekte ausführen @@ -2984,7 +2984,7 @@ users.repos=Repos users.created=Registriert am users.last_login=Letzte Anmeldung users.never_login=Hat sich noch nie eingeloggt -users.send_register_notify=Benutzer-Registrierungsbenachrichtigung senden +users.send_register_notify=Benachrichtigung über Registrierung per E-Mail users.new_success=Der Account „%s“ wurde erstellt. users.edit=Bearbeiten users.auth_source=Authentifizierungsquelle @@ -3392,7 +3392,7 @@ notices.desc=Beschreibung notices.op=Aktion notices.delete_success=Diese Systemmeldung wurde gelöscht. self_check.database_fix_mysql = Für MySQL-/MariaDB-Benutzer: Du kannst den Befehl „gitea doctor convert“ verwenden, um die Collation-Probleme zu lösen, oder du kannst das Problem mit „ALTER … COLLATE …“-SQLs manuell lösen. -dashboard.sync_tag.started = Tags-Synchronisierung gestartet +dashboard.sync_tag.started = Tag-Synchronisierung gestartet self_check.database_collation_case_insensitive = Datenbank benutzt eine Collation %s, welcher der Groß-/Kleinschreibung egal ist. Obwohl Forgejo damit arbeiten könnte, könnte es ein paar seltene Fälle geben, bei denen es nicht wie erwartet funktioniert. self_check = Selbstprüfung dashboard.sync_repo_tags = Tags aus Git-Daten zu Datenbank synchronisieren @@ -3406,6 +3406,7 @@ config_settings = Einstellungen config.open_with_editor_app_help = Die „Öffnen mit“-Editoren für das Klonmenü. Falls es leer gelassen wird, wird der Standardwert benutzt. Erweitern, um den Standardwert zu sehen. config_summary = Zusammenfassung auths.tip.gitlab_new = Registriere eine neue Anwendung auf https://gitlab.com/-/profile/applications +auths.default_domain_name = Standarddomainname, der für die E-Mail-Adresse benutzt wird [action] @@ -3670,7 +3671,7 @@ management=Secrets verwalten [actions] actions=Actions -unit.desc=Actions verwalten +unit.desc=Integrierte CI/CD-Pipelines mit Forgejo-Actions verwalten status.unknown=Unbekannt status.waiting=Wartend diff --git a/options/locale/locale_el-GR.ini b/options/locale/locale_el-GR.ini index 0be1aab87f..e1264aea00 100644 --- a/options/locale/locale_el-GR.ini +++ b/options/locale/locale_el-GR.ini @@ -144,12 +144,12 @@ value=Τιμή toggle_menu = Μενού confirm_delete_artifact = Είστε βέβαιοι πως θέλετε να διαγράψετε το προϊόν «%s»; filter = Φίλτρο -filter.is_archived = Αρχειοθετημένο +filter.is_archived = Αρχειοθετημένα filter.clear = Απενεργοποίηση φίλτρου filter.not_archived = Μη αρχειοθετημένα -filter.is_template = Πρότυπο -filter.public = Δημόσιο -filter.private = Ιδιωτικό +filter.is_template = Πρότυπα +filter.public = Δημόσια +filter.private = Ιδιωτικά filter.not_fork = Εξαίρεση fork filter.is_mirror = Είδωλα filter.not_mirror = Εξαίρεση ειδώλων @@ -169,7 +169,7 @@ number_of_contributions_in_the_last_12_months=%s συνεισφορές τους contributions_zero=Χωρίς συνεισφορές less=Λιγότερα more=Περισσότερα -contributions_format = {contributions} στις {day} του μήνα {month} του έτους {year} +contributions_format = {contributions} στις {day} {month} του έτους {year} contributions_one = συνεισφορά contributions_few = συνεισφορές @@ -497,7 +497,7 @@ issue.action.reopen=Ο/Η @%[1]s άνοιξε ξανά το #%[2]d. issue.action.merge=Ο/Η @%[1]s συγχώνευσε το #%[2]d στο %[3]s. issue.action.approve=@%[1]s ενέκρινε αυτό το pull request. issue.action.reject=@%[1]s ζήτησε αλλαγές σε αυτό το pull request. -issue.action.review=@%[1]s σχολίασε αυτό το pull request. +issue.action.review=@%[1]s άφησε σχόλιο σε αυτό το pull request. issue.action.review_dismissed=@%[1]s απέρριψε την τελευταία αναθεώρηση από %[2]s για αυτό το pull request. issue.action.ready_for_review=Ο/Η @%[1]s επισήμανε πως αυτό το pull request είναι έτοιμο για αξιολόγηση. issue.action.new=Ο/Η @%[1]s δημιούργησε το #%[2]d. @@ -645,11 +645,11 @@ overview=Επισκόπηση following_few=%d ακολουθεί follow=Ακολούθηση unfollow=Να μην ακολουθώ -user_bio=Βιογραφικό +user_bio=Περιγραφή disabled_public_activity=Αυτός ο χρήστης έχει απενεργοποιήσει τη δημόσια προβολή της δραστηριότητας του. -email_visibility.limited=Η διεύθυνση email σας είναι ορατή σε όλους τους ταυτοποιημένους χρήστες +email_visibility.limited=Η διεύθυνση email σας είναι ορατή σε κάθε ταυτοποιημένο χρήστη email_visibility.private=Η διεύθυνση email σας είναι ορατή μόνο σε εσάς και στους διαχειριστές -show_on_map=Δείτε το μέρος αυτό σε έναν χάρτη +show_on_map=Προβολή σε χάρτη settings=Ρυθμίσεις χρήστη form.name_reserved=Το όνομα χρήστη «%s» είναι δεσμευμένο. @@ -945,7 +945,7 @@ webauthn_key_loss_warning=Αν χάσετε τα κλειδιά ασφαλεία webauthn_alternative_tip=Μπορεί να θέλετε να ρυθμίσετε μια πρόσθετη μέθοδο ταυτοποίησης. manage_account_links=Διαχείριση Συνδεδεμένων Λογαριασμών -manage_account_links_desc=Αυτοί οι εξωτερικοί λογαριασμοί είναι συνδεδεμένοι στον Forgejo λογαριασμό σας. +manage_account_links_desc=Αυτοί οι εξωτερικοί λογαριασμοί είναι συνδεδεμένοι στον λογαριασμό Forgejo σας. account_links_not_available=Προς το παρόν δεν υπάρχουν εξωτερικοί λογαριασμοί συνδεδεμένοι με τον λογαριασμό σας στο Forgejo. link_account=Σύνδεση Λογαριασμού remove_account_link=Αφαίρεση συνδεδεμένου λογαριασμού @@ -965,7 +965,7 @@ delete_account_title=Διαγραφή λογαριασμού χρήστη delete_account_desc=Είστε βέβαιοι ότι θέλετε να διαγράψετε μόνιμα αυτό τον λογαριασμό; email_notifications.enable=Ενεργοποίηση ειδοποιήσεων email -email_notifications.onmention=Να λαμβάνω email μόνο όταν με αναφέρουν +email_notifications.onmention=Να λαμβάνω email μόνο όταν αναφέρομαι email_notifications.disable=Απενεργοποίηση ειδοποιήσεων email email_notifications.submit=Ορισμός κύριου email email_notifications.andyourown=Και τις δικιές σας ειδοποιήσεις @@ -980,12 +980,12 @@ visibility.private_tooltip=Ορατό μόνο στα μέλη των οργαν blocked_users_none = Δεν έχετε αποκλείσει κανέναν χρήστη. blocked_since = Αποκλεισμένος από %s user_unblock_success = Η άρση αποκλεισμού του χρήστη ήταν επιτυχής. -change_password = Αλλαγή κωδικού πρόσβασης +change_password = Αλλαγή κωδικού blocked_users = Αποκλεισμένοι χρήστες user_block_success = Ο αποκλεισμός του χρήστη ήταν επιτυχής. additional_repo_units_hint = Να γίνεται ενθάρρυνση προσθήκης μονάδων σε αποθετήρια pronouns = Αντωνυμίες -pronouns_custom = Κάποια άλλη προτίμηση +pronouns_custom = κάτι άλλο pronouns_unspecified = Απροσδιόριστες hints = Συμβουλές additional_repo_units_hint_description = Εμφάνιση κουμπιού «Προσθήκη μονάδων...» σε αποθετήρια που δεν έχουν ενεργοποιημένες όλες τις διαθέσιμες μονάδες. @@ -1042,7 +1042,7 @@ trust_model_helper=Επιλέξτε ένα μοντέλο εμπιστοσύνη trust_model_helper_collaborator=Συνεργάτης: Εμπιστοσύνη υπογραφών από συνεργάτες trust_model_helper_committer=Υποβολέας: Εμπιστοσύνη των υπογραφών που ταιριάζουν με τους υποβολείς trust_model_helper_collaborator_committer=Συνεργάτης+Υποβολέας: Εμπιστοσύνη των υπογραφών από συνεργάτες που ταιριάζουν με τον υποβολέα -trust_model_helper_default=Προεπιλογή: Χρήση προεπιλεγμένου μοντέλου εμπιστοσύνης για αυτήν την εγκατάσταση +trust_model_helper_default=Προεπιλογή: Χρήση προεπιλεγμένου μοντέλου εμπιστοσύνης της υπηρεσίας create_repo=Δημιουργία αποθετηρίου default_branch=Προεπιλεγμένος κλάδος default_branch_label=προεπιλογή @@ -1183,9 +1183,9 @@ fork_from_self=Δεν μπορείτε να κάνετε fork σε ένα απο fork_guest_user=Συνδεθείτε για να κάνετε fork αυτό το αποθετήριο. watch_guest_user=Συνδεθείτε για να παρακολουθήσετε αυτό το αποθετήριο. star_guest_user=Συνδεθείτε για να δώσετε ένα αστέρι σε αυτό το αποθετήριο. -unwatch=Μη Παρακολούθηση +unwatch=Παύση ακολούθησης watch=Παρακολούθηση -unstar=Όχι Αστέρι +unstar=Αφαίρεση αστεριού star=Αστέρι fork=Fork download_archive=Λήψη αποθετηρίου @@ -1340,7 +1340,7 @@ 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.search_all=Όλοι οι κλάδοι commits.author=Συγγραφέας commits.message=Μήνυμα commits.date=Ημερομηνία @@ -1475,7 +1475,7 @@ issues.change_title_at=`άλλαξε το τίτλο από %s%s σε %s %s` issues.remove_ref_at=`αφαίρεση την αναφορά %s %s` issues.add_ref_at=`πρόσθεσε την αναφορά %s %s` -issues.delete_branch_at=`διέγραψε το κλάδο %s %s` +issues.delete_branch_at=`διέγραψε τον κλάδο %s %s` issues.filter_label=Σήμα issues.filter_label_exclude=`Χρησιμοποιήστε alt + κάντε κλικ/Enter για να εξαιρέσετε τις σημάνσεις` issues.filter_label_no_select=Όλα τα σήματα @@ -1503,8 +1503,8 @@ issues.filter_type.reviewed_by_you=Ελέγχθηκε από εσάς issues.filter_sort=Ταξινόμηση issues.filter_sort.latest=Νεότερα issues.filter_sort.oldest=Παλαιότερα -issues.filter_sort.recentupdate=Ενημερώθηκαν πρόσφατα -issues.filter_sort.leastupdate=Ενημερώθηκαν παλαιότερα +issues.filter_sort.recentupdate=Πρόσφατη δραστηριότητα +issues.filter_sort.leastupdate=Ανενεργή δραστηριότητα issues.filter_sort.mostcomment=Περισσότερα σχόλια issues.filter_sort.leastcomment=Λιγότερα σχόλια issues.filter_sort.nearduedate=Πλησιέστερη ημερομηνία παράδοσης @@ -1529,9 +1529,9 @@ pulls.merged_by_fake=από %[2]s συγχωνεύθηκε %[1]s issues.closed_by=από %[3]s έκλεισαν %[1]s issues.opened_by_fake=άνοιξε το %[1]s από %[2]s issues.closed_by_fake=από %[2]s έκλεισαν %[1]s -issues.previous=Προηγούμενο -issues.next=Επόμενο -issues.open_title=Ανοικτό +issues.previous=Προηγούμενη +issues.next=Επόμενη +issues.open_title=Ανοιχτά issues.closed_title=Κλειστά issues.draft_title=Προσχέδιο issues.num_comments_1=%d σχόλιο @@ -1602,8 +1602,8 @@ issues.label_deletion_desc=Η διαγραφή ενός σήματος θα το issues.label_deletion_success=Το σήμα έχει διαγραφεί. issues.label.filter_sort.alphabetically=Αλφαβητικά issues.label.filter_sort.reverse_alphabetically=Αντίστροφα αλφαβητικά -issues.label.filter_sort.by_size=Μικρότερο μέγεθος -issues.label.filter_sort.reverse_by_size=Μεγαλύτερο μέγεθος +issues.label.filter_sort.by_size=Μικρότερου μεγέθους +issues.label.filter_sort.reverse_by_size=Μεγαλύτερου μεγέθους issues.num_participants_few=%d Συμμετέχοντες issues.attachment.open_tab=`Πατήστε εδώ για να ανοίξετε το «%s» σε μια νέα καρτέλα` issues.attachment.download=`Πατήστε εδώ για να κατεβάσετε το «%s»` @@ -1708,7 +1708,7 @@ issues.dependency.add_error_cannot_create_circular=Δεν μπορείτε να issues.dependency.add_error_dep_not_same_repo=Και τα δύο ζητήματα πρέπει να βρίσκονται στο ίδιο αποθετήριο. issues.review.self.approval=Δεν μπορείτε να εγκρίνετε το δικό σας pull request. issues.review.self.rejection=Δεν μπορείτε να ζητήσετε αλλαγές στο δικό σας pull request. -issues.review.approve=ενέκρινε αυτές τις αλλαγές %s +issues.review.approve=ενέκρινε τις αλλαγές %s issues.review.comment=αξιολόγησε %s issues.review.dismissed=απέρριψε την αξιολόγηση του/της %s %s issues.review.dismissed_label=Απορρίφθηκε @@ -1773,8 +1773,8 @@ pulls.showing_specified_commit_range=Εμφάνιση μόνο των αλλαγ pulls.select_commit_hold_shift_for_range=Επιλέξτε υποβολή. Κρατήστε πατημένο το shift + κάντε κλικ για να επιλέξετε ένα εύρος pulls.review_only_possible_for_full_diff=Η αξιολόγηση είναι δυνατή μόνο κατά την προβολή της πλήρης διαφοράς pulls.filter_changes_by_commit=Φιλτράρισμα κατά υποβολή -pulls.nothing_to_compare=Αυτοί οι κλάδοι είναι όμοιοι. Δεν υπάρχει ανάγκη να δημιουργήσετε ένα pull request. -pulls.nothing_to_compare_and_allow_empty_pr=Αυτοί οι κλάδοι είναι ίσοι. Αυτό το PR θα είναι κενό. +pulls.nothing_to_compare=Αυτοί οι κλάδοι είναι ίδιοι. Δεν χρειάζεται να δημιουργήσετε ένα pull request. +pulls.nothing_to_compare_and_allow_empty_pr=Αυτοί οι κλάδοι είναι ίδιοι. Αυτό το PR θα είναι κενό. pulls.has_pull_request=`Υπάρχει ήδη pull request μεταξύ αυτών των κλάδων: %[2]s#%[3]d` pulls.create=Δημιουργία pull request pulls.title_desc_few=θέλει να συγχωνεύσει %[1]d υποβολές από %[2]s σε %[3]s @@ -1877,7 +1877,7 @@ pulls.clear_merge_message_hint=Η εκκαθάριση του μηνύματος pulls.auto_merge_button_when_succeed=(Όταν οι έλεγχοι πετύχουν) pulls.auto_merge_when_succeed=Αυτόματη συγχώνευση όταν όλοι οι έλεγχοι πετύχουν pulls.auto_merge_newly_scheduled=Το pull request προγραμματίστηκε για συγχώνευση όταν όλοι οι έλεγχοι πετύχουν. -pulls.auto_merge_has_pending_schedule=%[1]s προγραμμάτισε αυτό το pull request για αυτόματη συγχώνευση όταν όλοι οι έλεγχοι πετύχουν %[2]s. +pulls.auto_merge_has_pending_schedule=%[1]s προγραμμάτισε την αυτόματη συγχώνευση του pull request όταν όλοι οι έλεγχοι πετύχουν %[2]s. pulls.auto_merge_cancel_schedule=Ακύρωση αυτόματης συγχώνευσης pulls.auto_merge_not_scheduled=Αυτό το pull request δεν έχει προγραμματιστεί να συγχωνευτεί αυτόματα. @@ -1944,7 +1944,7 @@ wiki=Wiki wiki.welcome=Καλώς ήρθατε στο Wiki. wiki.welcome_desc=Το wiki σας επιτρέπει να γράψετε και να μοιραστείτε τεκμηριώσεις (documentation) με άλλους συνεργάτες. wiki.desc=Γράψτε και μοιραστείτε τεκμηριώσεις με συνεργάτες. -wiki.create_first_page=Δημιουργία της πρώτης σελίδας +wiki.create_first_page=Δημιουργία πρώτης σελίδας wiki.page=Σελίδα wiki.filter_page=Φιλτράρισμα σελίδας wiki.new_page=Σελίδα @@ -1981,7 +1981,7 @@ activity.active_prs_count_1=%d ενεργό pull request activity.active_prs_count_n=%d ενεργά pull request activity.merged_prs_count_1=Συγχωνευμένο pull request activity.merged_prs_count_n=Συγχωνευμένα pull request -activity.opened_prs_count_1=Συνιστώμενο pull request +activity.opened_prs_count_1=Νέα pull request activity.opened_prs_count_n=Συνιστώμενα pull requests activity.title.user_1=%d χρήστη activity.title.user_n=%d χρήστες @@ -1993,12 +1993,12 @@ activity.merged_prs_label=Συγχωνευμένο activity.opened_prs_label=Προτεινόμενα activity.active_issues_count_1=%d ενεργό ζήτημα activity.active_issues_count_n=%d ενεργά ζητήματα -activity.closed_issues_count_1=Κλειστό ζήτημα +activity.closed_issues_count_1=Κλεισμένα ζητήματα activity.closed_issues_count_n=Κλειστά ζητήματα activity.title.issues_1=%d ζήτημα activity.title.issues_n=%d ζητήματα -activity.title.issues_closed_from=%s έκλεισε από %s -activity.title.issues_created_by=%s δημιουργήθηκε από %s +activity.title.issues_closed_from=%s κλείστηκαν από %s +activity.title.issues_created_by=%s δημιουργήθηκαν από %s activity.closed_issue_label=Κλειστό activity.new_issues_count_1=Νέο ζήτημα activity.new_issues_count_n=Νέα ζητήματα @@ -2059,9 +2059,9 @@ settings.hooks=Webhooks settings.githooks=Git hooks settings.basic_settings=Βασικές ρυθμίσεις settings.mirror_settings=Ρυθμίσεις ειδώλου -settings.mirror_settings.docs=Ρυθμίστε το αποθετήριο σας ώστε να συγχρονίζονται αυτόματα οι υποβολές, ετικέτες και κλάδοι με ένα άλλο αποθετήριο. -settings.mirror_settings.docs.disabled_pull_mirror.instructions=Ρυθμίστε το έργο σας για να ωθούνται αυτόματα οι υποβολές, ετικέτες και κλάδοι σε ένα άλλο αποθετήριο. Τα είδωλα τύπου λήψης έχουν απενεργοποιηθεί από τον διαχειριστή σας. -settings.mirror_settings.docs.disabled_push_mirror.instructions=Ρυθμίστε το έργο σας να τραβά αυτόματα υποβολές, ετικέτες και κλάδους από ένα άλλο αποθετήριο. +settings.mirror_settings.docs=Ρυθμίστε τον αυτόματο συγχρονισμό των υποβολών, ετικετών και κλάδων του αποθετηρίου σας σε ένα άλλο αποθετήριο. +settings.mirror_settings.docs.disabled_pull_mirror.instructions=Ρυθμίστε τον αυτόματο συγχρονισμό των υποβολών, ετικετών και κλάδων του έργου σας με ένα άλλο αποθετήριο. Τα είδωλα τύπου λήψης έχουν απενεργοποιηθεί από τον διαχειριστή σας. +settings.mirror_settings.docs.disabled_push_mirror.instructions=Ρυθμίστε την αυτόματη λήψη υποβολών, ετικετών και κλάδων από ένα άλλο αποθετήριο. settings.mirror_settings.docs.disabled_push_mirror.pull_mirror_warning=Αυτή τη στιγμή, αυτό μπορεί να γίνει μόνο στο μενού "Νέα Μεταφορά". Για περισσότερες πληροφορίες, συμβουλευτείτε το: settings.mirror_settings.docs.disabled_push_mirror.info=Τα είδωλα ώθησης έχουν απενεργοποιηθεί από το διαχειριστή σας. settings.mirror_settings.docs.no_new_mirrors=Το αποθετήριο σας αντιγράφει τις αλλαγές προς ή από ένα άλλο αποθετήριο. Λάβετε υπόψη ότι δεν μπορείτε να δημιουργήσετε νέα είδωλα αυτή τη στιγμή. @@ -2169,7 +2169,7 @@ settings.trust_model.collaborator=Συνεργάτης settings.trust_model.collaborator.long=Συνεργάτης: Εμπιστοσύνη υπογραφών από συνεργάτες settings.trust_model.collaborator.desc=Οι έγκυρες υπογραφές που προέρχονται από συνεργάτες του αποθετηρίου θα επισημαίνονται ως "αξιόπιστες" - (ανεξάρτητα αν ο υπογραφόμενος συνεργάτης είναι και ο υποβολέας ή όχι). Διαφορετικά, οι έγκυρες υπογραφές θα επισημανθούν ως "αξιόπιστες" μόνο αν η υπογραφή ταιριάζει με τον υποβολέα και, αλλιώς θα χαρακτηριστούν ως "αταίριαστες". settings.trust_model.committer=Υποβολέας -settings.trust_model.committer.long=Υποβολέας: Οι υπογραφές εμπιστοσύνης που ταιριάζουν σε υποβολείς (Αυτό ταιριάζει με το GitHub και θα αναγκάσει τις υπογεγραμμένες υποβολές από το Forgejo να το έχουν ως υποβολέα) +settings.trust_model.committer.long=Υποβολέας: Οι υπογραφές εμπιστοσύνης που ταιριάζουν σε υποβολείς (όπως και στο GitHub, θα αναγκάσει τις υπογεγραμμένες υποβολές του Forgejo να έχουν το Forgejo ως υποβολέα) settings.trust_model.committer.desc=Οι έγκυρες υπογραφές θα σημαίνονται ώς "αξιόπιστη" μόνο εάν ταιριάζουν με τον υποβολέα, διαφορετικά θα σημαίνωνται ως "δεν ταιριάζει". Αυτό αναγκάζει το Forgejo να είναι ο υποβολέας στις υπογεγραμμένες υποβολές με τον πραγματικό υποβολέα να αναφέρεται στην σημείωση Co-authored-by: και Co-committed-by: στην υποβολή. Το προεπιλεγμένο κλειδί Forgejo πρέπει να ταιριάζει σε ένα Χρήστη στη βάση δεδομένων. settings.trust_model.collaboratorcommitter=Συνεργάτης+Υποβολέας settings.trust_model.collaboratorcommitter.long=Συνεργάτης+Υποβολέας: Εμπιστοσύνη υπογραφών από συνεργάτες που ταιριάζουν με τον υποβολέα @@ -2691,7 +2691,7 @@ stars = Αστέρια n_branch_one = %s κλάδος commits.search_branch = Αυτός ο κλάδος pulls.title_desc_one = : θα ήθελε να συγχωνεύσει %[1]d υποβολή από τον κλάδο %[2]s στον κλάδο %[3]s -pulls.merged_title_desc_one = : συγχώνευσε %[1]d υποβολή από τον κλάδο %[2]s στον κλάδο %[3]s %[4]s +pulls.merged_title_desc_one = συγχώνευσε %[1]d υποβολή από τον κλάδο %[2]s στον κλάδο %[3]s %[4]s n_commit_few = %s υποβολές settings.sourcehut_builds.secrets = Μυστικά settings.add_webhook.invalid_path = Η τοποθεσία του αρχείου δεν μπορεί να περιέχει κενά, «.» ή «..». Δεν μπορεί να αρχίζει ή να τελειώνει με μία κάθετο. @@ -2871,8 +2871,8 @@ emails=Email χρήστη config=Διαμόρφωση notices=Ειδοποιήσεις συστήματος monitor=Παρακολούθηση -first_page=Πρώτο -last_page=Τελευταίο +first_page=Πρώτη +last_page=Τελευταία total=Σύνολο: %d settings=Ρυθμίσεις διαχειριστή @@ -3402,14 +3402,14 @@ self_check.database_collation_case_insensitive = Η βάση δεδομένων [action] create_repo=δημιούργησε το αποθετήριο %s rename_repo=μετονόμασε το αποθετήριο από %[1]s σε %[3]s -commit_repo=έκανε push στο %[3]s σε %[4]s +commit_repo=έκανε push στο %[3]s του %[4]s create_issue=`άνοιξε το ζήτημα %[3]s#%[2]s` close_issue=`έκλεισε το ζήτημα %[3]s#%[2]s` reopen_issue=`άνοιξε ξανά το ζήτημα %[3]s#%[2]s` create_pull_request=`δημιούργησε το pull request %[3]s#%[2]s` close_pull_request=`έκλεισε pull request %[3]s#%[2]s` reopen_pull_request=`άνοιξε ξανά το pull request %[3]s#%[2]s` -comment_issue=`σχολίασε το ζήτημα %[3]s#%[2]s` +comment_issue=`άφησε σχόλιο στο ζήτημα %[3]s#%[2]s` comment_pull=`σχολίασε στο pull request %[3]s#%[2]s` merge_pull_request=`συγχώνευσε το pull request %[3]s#%[2]s` auto_merge_pull_request=`αυτόματη συγχώνευση του pull request %[3]s#%[2]s` @@ -3770,7 +3770,7 @@ submodule=Υπομονάδα code_search_unavailable = Η αναζήτηση κώδικα δεν είναι επί του παρόντος διαθέσιμη. Παρακαλώ επικοινωνήστε με τον διαχειριστή σας. keyword_search_unavailable = Η αναζήτηση με την χρήση λέξεων-κλειδιών δεν είναι επί του παρόντος διαθέσιμη. Παρακαλώ επικοινωνήστε με τον διαχειριστή σας. runner_kind = Αναζήτηση runner... -code_search_by_git_grep = Η αναζήτηση κώδικα εκτελείται με την χρήση της εντολής «git grep». Αν ο διαχειριστής σας ενεργοποιήσει ένα ευρετήριο για αποθετήρια («Repository Indexer»), ίσως να παρουσιαστούν καλύτερα αποτελέσματα. +code_search_by_git_grep = Για την αναζήτηση κώδικα, χρησιμοποιείται η εντολή «git grep». Ίσως να παρουσιαστούν καλύτερα αποτελέσματα, αν ο διαχειριστής σας ενεργοποιήσει ένα ευρετήριο για αποθετήρια («Repository Indexer»). package_kind = Αναζήτηση πακέτων... project_kind = Αναζήτηση έργων... branch_kind = Αναζήτηση κλάδων... @@ -3780,7 +3780,7 @@ search = Αναζήτηση... type_tooltip = Είδος αναζήτησης fuzzy = Στο περίπου fuzzy_tooltip = Να συμπεριληφθούν αποτελέσματα που μοιάζουν με τον όρο αναζήτησης -match = Ταιριαστά +match = Ακριβής match_tooltip = Να συμπεριληφθούν αποτελέσματα που ταιριάζουν με τον όρο αναζήτησης repo_kind = Αναζήτηση αποθετηρίων... user_kind = Αναζήτηση χρηστών... diff --git a/options/locale/locale_fil.ini b/options/locale/locale_fil.ini index 45430fe366..c3136d50d7 100644 --- a/options/locale/locale_fil.ini +++ b/options/locale/locale_fil.ini @@ -1442,6 +1442,12 @@ editor.file_editing_no_longer_exists = Ang file na ine-edit, "%s", ay hindi na u editor.filename_is_a_directory = Ang pangalan ng file "%s" ay ginagamit na bilang pangalan ng direktoryo sa repositoryo na ito. editor.file_is_a_symlink = `Ang %s ay isang symbolink link. Hindi mae-edit ang mga symbolic link sa web editor` editor.directory_is_a_file = Ang pangalan ng direktoryo "%s" ay ginagamit na bilang pangalan ng file sa repositoryo na ito. +pulls.merged_by = +commitstatus.pending = Nakabinbin +issues.review.pending = Nakabinbin +pulls.status_checking = Nakabinbin ang ilang mga [pagsusuri] +editor.file_changed_while_editing = Ang nilalaman ng file ay nagbago mula noong nagsimula kang mag-edit. Mag-click dito upang makita ang mga pagbabago o Mag-commit ng mga pagbabago muli para i-overwrite sila. +editor.file_already_exists = Umiiral na ang file na may pangalang "%s" sa repositoryong ito. [search] commit_kind = Maghanap ng mga commit... diff --git a/options/locale/locale_fr-FR.ini b/options/locale/locale_fr-FR.ini index 4ffccbca44..e1ccaa3cc3 100644 --- a/options/locale/locale_fr-FR.ini +++ b/options/locale/locale_fr-FR.ini @@ -2751,6 +2751,8 @@ settings.graphql_url = URL GraphQL settings.matrix.room_id_helper = L'identifiant du salon peut être obtenu dans le client web Element. Par exemple : %s. settings.sourcehut_builds.access_token_helper = Un jeton d'accès ayant des permissions JOBS:RW. Génère un jeton builds.sr.ht ou un jeton builds.sr.ht token ayant accès aux secrets sur meta.sr.ht. settings.matrix.access_token_helper = Il est recommandé de créer un compte Matrix dédié pour cela. Le jeton d'accès peut être obtenu depuis le client web Element (dans un onglet privé/incognito). Il faut ensuite fermer l'onglet privé/icognito (se déconnecter invaliderait le jeton). +release.hide_archive_links = Masquer les archives générées automatiquement +release.hide_archive_links_helper = Masquer les archives de code source générées automatiquement pour cette version. Par exemple, si vous téléchargez vos propres archives. [graphs] component_loading=Chargement de %s… @@ -3432,6 +3434,7 @@ config_settings = Paramètres config_summary = Résumé auths.tips.gmail_settings = Paramètres Gmail : auths.tip.gitlab_new = Enregistrer une nouvelle application sur https://gitlab.com/-/profile/applications +auths.default_domain_name = Nom de domaine par défaut utilisé pour le courriel [action] create_repo=a créé le dépôt %s @@ -3788,6 +3791,7 @@ runs.no_workflows.quick_start = Vous ne savez pas comment commencer avec Forgejo runs.no_workflows.documentation = Pour plus d’informations sur Forgejo Actions, voir la documentation. variables.id_not_exist = La variable numéro %d n’existe pas. runs.workflow = Workflow +runs.no_job_without_needs = Le workflow doit contenir au moins une tâche sans dépendances. [projects] type-1.display_name=Projet personnel @@ -3841,6 +3845,12 @@ commit_kind = Chercher les commits... [munits.data] b = o +mib = MiB +kib = KiB +gib = GiB +tib = TiB +pib = PiB +eib = EiB [markup] filepreview.line = Ligne %[1]d dans %[2]s diff --git a/options/locale/locale_hi.ini b/options/locale/locale_hi.ini new file mode 100644 index 0000000000..f89a8483dd --- /dev/null +++ b/options/locale/locale_hi.ini @@ -0,0 +1,6 @@ + + + +[common] +dashboard = डैशबोर्ड +home = घर \ No newline at end of file diff --git a/options/locale/locale_ja-JP.ini b/options/locale/locale_ja-JP.ini index d6137f39fe..3219749d30 100644 --- a/options/locale/locale_ja-JP.ini +++ b/options/locale/locale_ja-JP.ini @@ -157,7 +157,7 @@ toggle_menu = トグルメニュー filter.not_template = テンプレートではない invalid_data = 無効なデータ: %v more_items = さらに表示 -copy_generic = クリップボード +copy_generic = クリップボードへコピー [aria] navbar=ナビゲーションバー @@ -646,7 +646,7 @@ joined_on=%sに登録 repositories=リポジトリ activity=公開アクティビティ followers_few=%d フォロワー -starred=スターを付けたリポジトリ +starred=スターを付けたリポジトリたち watched=ウォッチ中のリポジトリ code=コード projects=プロジェクト @@ -3781,6 +3781,9 @@ project_kind = プロジェクトの検索... keyword_search_unavailable = キーワードによる検索は現在ご利用いただけません。サイト管理者にお問い合わせください。 runner_kind = ランナーの検索... no_results = 一致する結果が見つかりませんでした。 +fuzzy_tooltip = 入力された語句に近いものも結果に含める +match = 一致 +match_tooltip = 検索語句に厳密に一致するもののみ結果に含める [munits.data] diff --git a/options/locale/locale_ko-KR.ini b/options/locale/locale_ko-KR.ini index 4d0218bd24..b70bc49cc9 100644 --- a/options/locale/locale_ko-KR.ini +++ b/options/locale/locale_ko-KR.ini @@ -37,7 +37,7 @@ new_migrate=새 마이그레이션 new_mirror=새로운 미러 new_fork=새 저장소 포크 new_org=새로운 조직 -new_project=새 프로젝트 +new_project=새로운 프로젝트 manage_org=조직 관리 admin_panel=사이트 관리 account_settings=계정 설정 @@ -85,8 +85,74 @@ concept_user_organization=조직 name=이름 active_stopwatch = 진행중인 타임 트래커 -sign_in_with_provider = %으로 로그인 +sign_in_with_provider = %s 으로 로그인 logo = 로고 +tracked_time_summary = 추적된 이슈 목록 필터 기반 시간 요약 +enable_javascript = 이 웹사이트는 자바스크립트가 필요합니다. +toc = 목차 +licenses = 라이센스 +return_to_gitea = Forgejo로 돌아가기 +access_token = 액세스 토큰 +webauthn_error_unable_to_process = 서버가 귀하의 요청을 처리할 수 없습니다. +webauthn_error_duplicated = 이 요청에는 보안 키가 허용되지 않습니다. 키가 이미 등록되어 있는지 확인하세요. +webauthn_reload = 다시 불러오기 +remove_label_str = "%s" 항목 제거 +disabled = 비활성화됨 +locked = 잠김 +filter = 필터 +filter.not_fork = 포크되지 않음 +filter.is_mirror = 미러됨 +webauthn_press_button = 보안 키의 버튼을 누르세요… +toggle_menu = 토글 메뉴 +webauthn_error = 보안 키를 읽을 수 없습니다. +webauthn_unsupported_browser = 현재 귀하의 브라우저는 웹 인증을 지원하지 않습니다. +webauthn_insert_key = 보안 키를 입력하세요 +webauthn_sign_in = 보안 키에 있는 버튼을 누르세요. 만약 보안 키에 버튼이 없다면 다시 입력하세요. +webauthn_use_twofa = 휴대전화 2단계 코드 사용 +retry = 다시 시도하기 +rerun = 다시 실행하기 +rerun_all = 모든 작업을 다시 실행하기 +copy = 복사 +new_project_column = 새 열 +more_items = 더 보기 +webauthn_error_unknown = 알 수 없는 오류가 발생했습니다. 다시 시도해주세요. +webauthn_error_insecure = 웹 인증은 안전한 연결만 지원합니다. HTTP에서 테스트할 경우, "localhost" 또는 "127.0.0.1" 오리진을 사용할 수 있습니다. +webauthn_error_empty = 키의 이름을 설정해야 합니다. +webauthn_error_timeout = 키를 읽기 전에 시간이 초과되었습니다. 페이지를 새로 고치고 다시 시도해주세요. +copy_generic = 클립보드에 복사 +copy_url = URL 복사 +copy_hash = 해시 복사 +copy_content = 내용 복사 +copy_branch = 브랜치 이름 복사 +copy_success = 복사되었습니다! +copy_error = 복사 실패 +copy_type_unsupported = 이 파일 형식은 복사할 수 없습니다 +error = 오류 +error404 = 도달하려는 페이지가 존재하지 않거나 볼 수 있도록 인증되지 않았습니다. +go_back = 돌아가기 +invalid_data = 유효하지 않는 데이터: %v +unknown = 알 수 없음 +rss_feed = RSS 피드 +pin = 고정 +unpin = 고정 해제 +archived = 보관됨 +concept_system_global = 전역 +concept_user_individual = 개인 +show_timestamps = 타임스탬프 보기 +show_log_seconds = 초 표시 +show_full_screen = 전체 화면으로 보기 +download_logs = 로그 다운로드 +confirm_delete_selected = 선택된 모든 항목을 삭제하시겠습니까? +value = 값 +filter.is_archived = 보관됨 +filter.not_archived = 보관되지 않음 +filter.is_fork = 포크됨 +filter.not_mirror = 미러되지 않음 +filter.is_template =템플릿 +filter.clear = 필터 지우기 +ok = 확인 +confirm_delete_artifact = 정말 artifact "%s"를 삭제하실건가요? +artifacts = Artifacts [aria] @@ -137,7 +203,7 @@ run_user=실행 사용자명 ssh_port=SSH 서버 포트 ssh_port_helper=SSH 서버가 실행되고 있는 포트를 입력하세요. 비워둘 경우 SSH를 사용하지 않습니다. http_port=Forgejo HTTP 수신 포트 -http_port_helper=Forgejo 웹서버가 수신할 포트 번호 +http_port_helper=Forgejo 웹서버가 수신할 포트 번호입니다. app_url=Forgejo 기본 URL app_url_helper=HTTP(S) clone URL 및 이메일 알림 기본 주소 log_root_path=로그 경로 @@ -177,16 +243,16 @@ confirm_password=비밀번호 확인 admin_email=이메일 주소 install_btn_confirm=Forgejo 설치하기 test_git_failed='git' 명령 테스트 실패: %v -sqlite3_not_available=해당 버전에서는 SQLite3를 지원하지 않습니다. %s에서 공식 버전을 다운로드해주세요. ('gobuild' 버전이 아닙니다.) +sqlite3_not_available=해당 버전에서는 SQLite3를 지원하지 않습니다. %s에서 공식 버전을 다운로드해주세요. ('gobuild' 버전이 아닙니다). invalid_db_setting=데이터베이스 설정이 올바르지 않습니다: %v invalid_repo_path=저장소(레파지토리) 의 경로가 올바르지 않습니다: %v run_user_not_match=실행 사용자명이 현재 사용자명과 다릅니다.: %s -> %s save_config_failed=설정을 저장할 수 없습니다: %v invalid_admin_setting=관리자 계정 설정이 올바르지 않습니다: %v invalid_log_root_path=로그(Log) 의 경로가 올바르지 않습니다: %v -default_keep_email_private=이메일 주소 숨김처리를 기본값으로 설정합니다. +default_keep_email_private=이메일 주소 숨김처리를 기본값으로 설정 default_keep_email_private_popup=새 사용자에 대한 이메일 주소 숨김처리를 기본값으로 설정합니다. -default_allow_create_organization=조직 생성 허용을 기본값으로 설정합니다. +default_allow_create_organization=조직 생성 허용을 기본값으로 설정 default_allow_create_organization_popup=신규 사용자 생성시 조직 생성을 기본값으로 설정합니다. default_enable_timetracking=시간 추적 사용을 기본값으로 설정 default_enable_timetracking_popup=신규 레포지토리에 대한 시간 추적 사용을 기본값으로 설정합니다. @@ -365,6 +431,7 @@ following_few=%d 팔로우 중 follow=추적하기 unfollow=추적해제 user_bio=소개 +projects = 프로젝트 [settings] @@ -750,7 +817,7 @@ issues.action_milestone=마일스톤 issues.action_milestone_no_select=마일스톤 없음 issues.action_assignee=담당자 issues.action_assignee_no_select=담당자 없음 -issues.opened_by=" %[3]s가 %[1]s을 오픈" +issues.opened_by= %[3]s가 %[1]s에 오픈 issues.previous=이전 issues.next=다음 issues.open_title=오픈 @@ -980,12 +1047,12 @@ settings.site=웹 사이트 settings.update_settings=설정 저장 settings.advanced_settings=고급 설정 settings.wiki_desc=저장소 위키 활성화 -settings.use_internal_wiki=빌트-인 위키 사용 +settings.use_internal_wiki=내장 위키 사용 settings.use_external_wiki=외부 위키 사용 settings.external_wiki_url=외부 위키 URL settings.external_wiki_url_error=외부 위키 URL이 올바른 URL이 아닙니다. settings.issues_desc=저장소 이슈 트래커 활성화 -settings.use_internal_issue_tracker=빌트-인 트래커 사용 +settings.use_internal_issue_tracker=내장 이슈 트래커 사용 settings.use_external_issue_tracker=외부 이슈 트래커 사용 settings.external_tracker_url=외부 이슈 트래커 URL settings.external_tracker_url_error=외부 이슈 트래커 URL이 올바른 URL이 아닙니다. @@ -1016,7 +1083,7 @@ settings.delete_notices_1=- 이 작업은 취소할 수 없습니다. 유저 메뉴(좌상단) > All settings > Help & About > Advanced > Access Token (홈서버 주소 바로 아래) 에서 찾을 수 있습니다. 로그아웃시 토큰이 만료됨을 주의하시고, 창을 닫아주세요. +settings.trust_model.collaboratorcommitter = 협업자+커미터 +settings.signing_settings = 서명 검증 설정 +settings.trust_model.collaborator.desc = 이 저장소의 협업자들의 유효한 서명은 "신뢰됨"으로 표시됩니다 (커미터와 일치하지 않는 경우를 포함). 아닌경우, 커미터와 일치하는 유효한 서명은 "신뢰되지 않음"으로 표시되고, 일치하지도 않는경우 "일치하지 않움" 으로 표시됩니다. +settings.trust_model.committer.long = 커미터: 커미터와 일치하는 서명을 신뢰(GIthub와 일치하며 Forgejo로 서명된 커밋이 Fogejo를 커미터로 갖도록 강제합니다.) +settings.trust_model.collaboratorcommitter.long = 협업자+커미터: 커미터가 일치하는 협업자의 서명을 신뢰 +settings.trust_model.default = 기본 신뢰 모델 +settings.trust_model.default.desc = 이 설치에 대한 기본 신뢰 모델을 사용합니다. +settings.trust_model.collaborator.long = 협업자: 협업자들의 서명을 신뢰 +settings.trust_model = 서명 신뢰 모델 +settings.trust_model.committer.desc = 유효한 서명이 커미터와 일치할경우 "신뢰됨"으로, 일치하지 않을경우 "일치하지 않음"으로 표시됩니다. 이러한 경우 Forgejo가 커미터로 표시되도록 강제되며 실제 커미터는 Co-authored-by: 와 Co-committed-by: 트레일러로 표시됩니다. 기본 Forgejo 키는 데이터베이스의 유저와 일치해야 합니다. +visibility_helper = 저장소 비공개로 만들기 +projects.description = 설명 (선택) +settings.external_tracker_url_desc = 방문자들이 이슈 탭을 클릭하면 외부 이슈 트레커 URL로 연결됩니다. +settings.tracker_url_format_desc = {user}, {repo} and {index}를 사용자 이름, 저장소 이름, 이슈 번호로 사용할 수 있습니다. +projects = 프로젝트 +projects.desc = 이슈와 풀 리퀘스트를 프로젝트에서 관리합니다. +projects.create = 프로젝트 만들기 +project_board = 프로젝트 @@ -1412,7 +1499,7 @@ config.reverse_auth_user=역방향 사용자 인증 config.ssh_config=SSH 설정 config.ssh_enabled=활성화됨 -config.ssh_start_builtin_server=빌트-인 서버 사용 +config.ssh_start_builtin_server=내장 서버 사용 config.ssh_port=포트 config.ssh_listen_port=수신 대기 포트 config.ssh_root_path=최상위 경로 @@ -1529,6 +1616,7 @@ notices.type_1=저장소 notices.desc=설명 notices.op=일. notices.delete_success=시스템 알림이 삭제되었습니다. +users.allow_git_hook_tooltip = Git 훅은 Forgejo가 실행중인 OS 유저로 실행되며 같은 수준의 권한을 갖습니다. 결과적으로, Git 훅 사용권한이 있는 사용자는 Forgejo에서 사용하는 데이터베이스를 포함한 모든 저장소에 접근하거나 수정할 수 있습니다. 궁극적으로 이러한 사용자들은 Forgejo의 관리자 권한을 획득할 수 있습니다. [action] @@ -1613,3 +1701,7 @@ runs.commit=커밋 [git.filemode] ; Ordered by git filemode value, ascending. E.g. directory has "040000", normal file has "100644", … + + +[search] +code_search_by_git_grep = 현재 코드 검색 결과는 "git grep"에 의해 제공됩니다.관리자가 코드 인덱서를 활성화하면 더 나은 결과가 제공될 수 있습니다. \ No newline at end of file diff --git a/options/locale/locale_nl-NL.ini b/options/locale/locale_nl-NL.ini index bdb6cd50d6..7c78a30237 100644 --- a/options/locale/locale_nl-NL.ini +++ b/options/locale/locale_nl-NL.ini @@ -157,6 +157,7 @@ filter = Filter filter.not_archived = Niet gearchiveerd more_items = Meer items invalid_data = Ongeldige data: %v +copy_generic = Kopieer naar klembord [aria] navbar = Navigatiebalk @@ -629,6 +630,12 @@ org_still_own_packages = Deze organisatie is eigenaar van één of meer pakkette unset_password = De inloggebruiker heeft het wachtwoord niet ingesteld. unsupported_login_type = Het aanmeldtype wordt niet ondersteund om accounts te verwijderen. required_prefix = De tekst moet beginnen met "%s" +Biography = Biografie +Location = Locatie +Description = Beschrijving +FullName = Volledige naam +To = Branch naam +Website = Website [user] diff --git a/options/locale/locale_pt-BR.ini b/options/locale/locale_pt-BR.ini index ce752bbddc..27f8f0066a 100644 --- a/options/locale/locale_pt-BR.ini +++ b/options/locale/locale_pt-BR.ini @@ -247,9 +247,9 @@ run_user_helper=O nome de usuário do sistema operacional com o qual o Forgejo domain=Domínio do servidor domain_helper=Domínio ou endereço de host para o servidor. ssh_port=Porta do servidor SSH -ssh_port_helper=Número da porta que seu servidor SSH está usando. Deixe em branco para desabilitar. -http_port=Porta HTTP de uso do Forgejo -http_port_helper=Número da porta que o servidor web do Forgejo irá usar. +ssh_port_helper=Número da porta que será utilizada pelo servidor SSH. Deixe em branco para desabilitar. +http_port=Porta HTTP +http_port_helper=Número da porta que será usada pelo servidor web do Forgejo. app_url=URL base app_url_helper=Endereço base para URLs clone HTTP(S) e notificações por e-mail. log_root_path=Caminho dos arquivos de registro @@ -304,20 +304,20 @@ invalid_admin_setting=Configuração da conta de administrador está inválida: invalid_log_root_path=Pasta raíz do log está inválida: %v default_keep_email_private=Ocultar endereços de e-mail por padrão default_keep_email_private_popup=Ocultar endereços de e-mail de novas contas de usuário por padrão. -default_allow_create_organization=Permitir a criação de organizações por padrão +default_allow_create_organization=Permitir a criação de organizações default_allow_create_organization_popup=Permitir que novas contas de usuários criem organizações por padrão. default_enable_timetracking=Habilitar o Cronômetro por Padrão default_enable_timetracking_popup=Habilitar o cronômetro para novos repositórios por padrão. no_reply_address=Domínio de e-mail oculto no_reply_address_helper=Nome de domínio para usuários com um endereço de e-mail oculto. Por exemplo, o nome de usuário 'joe' será registrado no Git como 'joe@noreply.example.org' se o domínio de e-mail oculto estiver definido como 'noreply.example.org'. -password_algorithm=Algoritmo Hash de Senha +password_algorithm=Algoritmo de hash de senhas invalid_password_algorithm=Algoritmo de hash de senha inválido password_algorithm_helper=Escolha o algoritmo de hash para as senhas. Diferentes algoritmos têm requerimentos e forças diversos. O algoritmo argon2 é bastante seguro, mas usa muita memória e pode ser inapropriado para sistemas com menos recursos. -enable_update_checker=Habilitar Verificador de Atualizações +enable_update_checker=Verificar por atualizações automaticamente env_config_keys=Configuração do ambiente env_config_keys_prompt=As seguintes variáveis de ambiente também serão aplicadas ao seu arquivo de configuração: allow_dots_in_usernames = Permitir pontos em nomes de usuário. Esta opção não afeta contas já existentes. -enable_update_checker_helper_forgejo = Confere periodicamente um registro de DNS TXT em release.forgejo.org para verificar se há uma nova versão do Forgejo disponível. +enable_update_checker_helper_forgejo = Confere periodicamente um registro TXT de DNS em release.forgejo.org para verificar se há uma nova versão do Forgejo disponível. [home] uname_holder=Usuário ou e-mail @@ -326,7 +326,7 @@ switch_dashboard_context=Trocar contexto do painel de controle my_repos=Repositórios show_more_repos=Mostrar mais repositórios… collaborative_repos=Repositórios colaborativos -my_orgs=Minhas organizações +my_orgs=Organizações my_mirrors=Meus espelhos view_home=Ver %s search_repos=Encontre um repositório… @@ -464,12 +464,12 @@ activate_email.text=Por favor clique no link a seguir para verificar o seu ender register_notify=Bem-vindo ao Forgejo register_notify.title=%[1]s, bem-vindo(a) a %[2]s register_notify.text_1=este é o seu e-mail de confirmação de registro para %s! -register_notify.text_2=Agora você pode entrar com o nome de usuário: %s. -register_notify.text_3=Se esta conta foi criada para você, defina sua senha primeiro. +register_notify.text_2=Você pode fazer login em sua conta utilizando o usuário: %s +register_notify.text_3=Se outra pessoa criou esta conta para você, é preciso definir a sua senha primeiro. reset_password=Recuperar sua conta reset_password.title=%s, recebemos um pedido para recuperar a sua conta -reset_password.text=Por favor clique no link a seguir para recuperar sua conta em %s: +reset_password.text=Caso tenha solicitado, clique no link a seguir para recuperar a sua conta dentro de %s: register_success=Cadastro bem-sucedido @@ -499,13 +499,13 @@ release.downloads=Downloads: release.download.zip=Código fonte (ZIP) release.download.targz=Código fonte (TAR.GZ) -repo.transfer.subject_to=%s gostaria de transferir "%s" para %s -repo.transfer.subject_to_you=%s gostaria de transferir "%s" para você +repo.transfer.subject_to=%s gostaria de transferir o repositório "%s" para %s +repo.transfer.subject_to_you=%s gostaria de transferir o repositório "%s" para você repo.transfer.to_you=você repo.transfer.body=Para o aceitar ou rejeitar visite %s, ou simplesmente o ignore. -repo.collaborator.added.subject=%s adicionou você a %s -repo.collaborator.added.text=Você foi adicionado como um colaborador do repositório: +repo.collaborator.added.subject=%s adicionou você a %s como colaborador(a) +repo.collaborator.added.text=Você foi adicionado(a) como colaborador(a) do repositório: team_invite.subject=%[1]s convidou você para participar da organização %[2]s team_invite.text_1=%[1]s convidou você para participar da equipe %[2]s na organização %[3]s. @@ -602,10 +602,10 @@ invalid_ssh_key=Não é possível verificar sua chave SSH: %s invalid_gpg_key=Não é possível verificar sua chave GPG: %s invalid_ssh_principal=Nome principal inválido: %s must_use_public_key=A chave que você forneceu é uma chave privada. Por favor, não envie sua chave privada em nenhum lugar. Use sua chave pública em vez disso. -unable_verify_ssh_key=Não é possível verificar a chave SSH, verifique se há erros. +unable_verify_ssh_key=Não foi possível validar a chave SSH. Certifique-se de que foi digitada corretamente. auth_failed=Autenticação falhou: %v -still_own_repo=Sua conta possui um ou mais repositórios, exclua ou transfira-os primeiro. +still_own_repo=A sua conta possui um ou mais repositórios. Exclua ou transfira-os antes de excluir a conta. still_has_org=Sua conta é um membro de uma ou mais organizações, deixe-as primeiro. still_own_packages=Sua conta possui um ou mais pacotes, exclua-os primeiro. org_still_own_repo=Esta organização ainda possui repositórios, exclua ou transfira-os primeiro. @@ -677,9 +677,9 @@ password_username_disabled=Usuários não-locais não podem alterar seus nomes d full_name=Nome completo website=Site location=Localização -update_theme=Atualizar o tema -update_profile=Atualizar o perfil -update_language=Atualizar Idioma +update_theme=Alterar tema +update_profile=Modificar perfil +update_language=Mudar idioma update_language_not_found=Idioma "%s" não está disponível. update_language_success=O idioma foi atualizado. update_profile_success=Seu perfil foi atualizado. @@ -700,7 +700,7 @@ comment_type_group_milestone=Marco comment_type_group_assignee=Atribuído comment_type_group_title=Título comment_type_group_branch=Branch -comment_type_group_time_tracking=Contador de tempo +comment_type_group_time_tracking=Contagem de tempo comment_type_group_deadline=Prazo final comment_type_group_dependency=Dependência comment_type_group_lock=Status de Bloqueio @@ -711,20 +711,20 @@ comment_type_group_issue_ref=Referência do issue saved_successfully=Suas configurações foram salvas com sucesso. privacy=Privacidade keep_activity_private=Ocultar atividade da página de perfil -keep_activity_private_popup=Torna a atividade visível somente para você e os administradores +keep_activity_private_popup=A sua atividade estará visível apenas para você e os admnistradores lookup_avatar_by_mail=Procurar o avatar do endereço de e-mail federated_avatar_lookup=Busca de avatar federativo enable_custom_avatar=Usar avatar personalizado choose_new_avatar=Escolha um novo avatar update_avatar=Atualizar o avatar -delete_current_avatar=Excluir o avatar atual +delete_current_avatar=Excluir avatar atual uploaded_avatar_not_a_image=O arquivo enviado não é uma imagem. uploaded_avatar_is_too_big=O tamanho do arquivo enviado (%d KiB) excede o tamanho máximo permitido (%d KiB). update_avatar_success=Seu avatar foi atualizado. update_user_avatar_success=O avatar do usuário foi atualizado. -update_password=Atualizar senha +update_password=Modificar senha old_password=Senha atual new_password=Nova senha retype_new_password=Confirmar nova senha @@ -735,7 +735,7 @@ password_change_disabled=Contas não-locais não podem alterar sua senha atravé emails=Endereços de e-mail manage_emails=Gerenciar endereços de e-mail manage_themes=Selecione o tema padrão -manage_openid=Gerencia endereços OpenID +manage_openid=Gerenciar endereços OpenID email_desc=Seu endereço de e-mail principal será usado para notificações, recuperação de senha e, desde que não esteja oculto, para operações do Git baseadas na Web. theme_desc=Este será o seu tema padrão em todo o site. primary=Principal @@ -775,7 +775,7 @@ principal_desc=Estes nomes principais do certificado SSH estão associados à su gpg_desc=Essas chaves GPG públicas estão associadas à sua conta. Mantenha suas chaves privadas seguras, pois elas permitem que os commits sejam verificados. ssh_helper=Precisa de ajuda? Dê uma olhada no guia do GitHub para criar suas próprias chaves SSH ou resolver problemas comuns que você pode ter usando SSH. gpg_helper=Precisa de ajuda? Dê uma olhada no guia do GitHub sobre GPG. -add_new_key=Adicionar Chave SSH +add_new_key=Adicionar chave SSH add_new_gpg_key=Adicionar chave GPG key_content_ssh_placeholder=Começa com "ssh-ed25519", "ssh-rsa", "ecdsa-sha2-nistp256", "ecdsa-sha2-nistp384", "ecdsa-sha2-nistp521", "sk-ecdsa-sha2-nistp256@openssh.com" ou "sk-ssh-ed25519@openssh.com" key_content_gpg_placeholder=Começa com "-----BEGIN PGP PUBLIC KEY BLOCK-----" @@ -817,8 +817,8 @@ add_key_success=A chave SSH "%s" foi adicionada. add_gpg_key_success=A chave GPG "%s" foi adicionada. add_principal_success=O principal "%s" foi adicionado ao certificado SSH. delete_key=Remover -ssh_key_deletion=Remover a chave SSH -gpg_key_deletion=Remover a chave GPG +ssh_key_deletion=Remover chave SSH +gpg_key_deletion=Remover chave GPG ssh_principal_deletion=Remover Nome Principal do Certificado SSH ssh_key_deletion_desc=A exclusão de uma chave SSH revoga seu acesso à sua conta. Continuar? gpg_key_deletion_desc=A exclusão de uma chave GPG cancela a verificação de confirmações assinadas por ela. Continuar? diff --git a/options/locale/locale_ru-RU.ini b/options/locale/locale_ru-RU.ini index 7ba9719a05..8151291aa2 100644 --- a/options/locale/locale_ru-RU.ini +++ b/options/locale/locale_ru-RU.ini @@ -145,7 +145,7 @@ confirm_delete_artifact = Вы точно хотите удалить артеф toggle_menu = Показать/скрыть меню filter.not_archived = Не архивированные filter = Фильтры -filter.clear = Очистить фильтры +filter.clear = Снять фильтры filter.is_fork = Ответвления filter.not_fork = Не ответвления filter.is_mirror = Зеркала @@ -277,7 +277,7 @@ server_service_title=Настройки сервера и внешних слу offline_mode=Локальный режим offline_mode_popup=Отключить сторонние сети доставки контента и передавать все ресурсы из их локальных копий. disable_gravatar=Отключить Gravatar -disable_gravatar_popup=Отключить Gravatar и сторонние источники аватаров. Если пользователь не загрузит аватар локально, то по умолчанию будет использоваться стандартный аватар. +disable_gravatar_popup=Отключить Gravatar и сторонние источники аватаров. Если у пользователя нет локально установленного аватара, будет использоваться аватар по умолчанию. federated_avatar_lookup=Федерированные аватары federated_avatar_lookup_popup=Включите поиск федеративного аватара для использования службы с открытым исходным кодом на основе libravatar. disable_registration=Отключить самостоятельную регистрацию @@ -736,7 +736,7 @@ comment_type_group_issue_ref=Ссылка на задачу saved_successfully=Ваши настройки успешно сохранены. privacy=Приватность keep_activity_private=Скрыть активность со страницы профиля -keep_activity_private_popup=Делает активность видимой только для вас и администраторов +keep_activity_private_popup=Ваша активность будет видна только вам и администраторам сервера lookup_avatar_by_mail=Найти аватар по адресу эл. почты federated_avatar_lookup=Найти внешний аватар @@ -928,7 +928,7 @@ twofa_recovery_tip=При утере устройства вы сможете в twofa_is_enrolled=Ваша учётная запись в настоящее время использует двухфакторную аутентификацию. twofa_not_enrolled=Ваша учётная запись в настоящее время не использует двухфакторную аутентификацию. twofa_disable=Отключить 2ФА -twofa_scratch_token_regenerate=Пересоздать scratch-токен +twofa_scratch_token_regenerate=Пересоздать одноразовый ключ восстановления twofa_enroll=Включить 2ФА twofa_disable_note=При необходимости можно отключить двухфакторную аутентификацию. twofa_disable_desc=Отключение двухфакторной аутентификации снизит безопасность вашей учётной записи. Продолжить? @@ -1228,7 +1228,7 @@ file.title=%s в %s file_raw=Исходный file_history=История file_view_source=Просмотр исходного текста -file_view_rendered=Просмотр рендера +file_view_rendered=Просмотр печатной версии file_view_raw=Открыть исходный file_permalink=Постоянная ссылка file_too_large=Этот файл слишком большой, поэтому он не может быть отображён. @@ -1381,7 +1381,7 @@ projects.edit_subheader=Создавайте и организуйте зада projects.modify=Обновить проект projects.edit_success=Проект «%s» обновлён. projects.type.none=Нет -projects.type.basic_kanban=Обычный Канбан +projects.type.basic_kanban=Обычный канбан projects.type.bug_triage=Планирование работы с багами projects.template.desc=Шаблон projects.template.desc_helper=Для начала выберите шаблон проекта @@ -1693,7 +1693,7 @@ issues.dependency.blocked_by_short=Зависит от issues.dependency.remove_header=Удалить зависимость issues.dependency.issue_remove_text=Это приведет к удалению зависимости от этой задачи. Продолжить? issues.dependency.pr_remove_text=Это приведёт к удалению зависимости от этого запроса на слияние. Продолжить? -issues.dependency.setting=Включение зависимостей для задач и запросов на слияние +issues.dependency.setting=Включить зависимости для задач и запросов на слияния issues.dependency.add_error_same_issue=Вы не можете заставить задачу зависеть от самой себя. issues.dependency.add_error_dep_issue_not_exist=Зависимая задача не существует. issues.dependency.add_error_dep_not_exist=Зависимости не существует. @@ -1741,7 +1741,7 @@ compare.compare_base=Основа compare.compare_head=сравнить pulls.desc=Включить запросы на слияние и проверки кода. -pulls.new=Новый запрос +pulls.new=Создать запрос pulls.view=Просмотр запроса на слияние pulls.compare_changes=Новый запрос на слияние pulls.allow_edits_from_maintainers=Разрешить редактирование сопровождающими @@ -1820,7 +1820,7 @@ pulls.no_merge_access=У вас нет права для слияния данн pulls.merge_pull_request=Создать коммит слияния pulls.rebase_merge_pull_request=Выполнить rebase и fast-forward pulls.rebase_merge_commit_pull_request=Выполнить rebase и создать коммит слияния -pulls.squash_merge_pull_request=Создать объединённый коммит +pulls.squash_merge_pull_request=Создать объединяющий коммит pulls.merge_manually=Слито вручную pulls.merge_commit_id=ИД коммита слияния pulls.require_signed_wont_sign=Данная ветка ожидает подписанные коммиты, однако слияние не будет подписано @@ -1895,15 +1895,15 @@ milestones.create_success=Этап «%s» создан. milestones.edit=Редактировать этап milestones.edit_subheader=Используйте лучшее описание контрольной точки, во избежание непонимания со стороны других людей. milestones.cancel=Отмена -milestones.modify=Обновить этап +milestones.modify=Сохранить этап milestones.edit_success=Этап «%s» обновлён. milestones.deletion=Удалить этап milestones.deletion_desc=Удаление этапа приведет к его удалению из всех связанных задач. Продолжить? milestones.deletion_success=Этап успешно удалён. milestones.filter_sort.earliest_due_data=Ближайший срок выполнения milestones.filter_sort.latest_due_date=Поздний срок выполнения -milestones.filter_sort.least_complete=Менее полное -milestones.filter_sort.most_complete=Более полное +milestones.filter_sort.least_complete=Менее выполненные +milestones.filter_sort.most_complete=Более выполненные milestones.filter_sort.most_issues=Больше задач milestones.filter_sort.least_issues=Меньше задач @@ -2210,8 +2210,8 @@ settings.githook_content=Содержимое хука settings.update_githook=Обновить хук settings.add_webhook_desc=Forgejo будет оправлять POST запросы на указанный URL адрес, с информацией о происходящих событиях. Подробности на странице инструкции по использованию веб-хуков. settings.payload_url=URL обработчика -settings.http_method=Метод HTTP -settings.content_type=Тип содержимого +settings.http_method=HTTP-метод +settings.content_type=Тип содержимого POST settings.secret=Секретный ключ settings.slack_username=Имя пользователя settings.slack_icon_url=URL иконки @@ -2221,7 +2221,7 @@ settings.discord_icon_url=URL иконки settings.event_desc=Срабатывать на: settings.event_push_only=События отправки settings.event_send_everything=Все события -settings.event_choose=Пользовательские события… +settings.event_choose=Другие события… settings.event_header_repository=События репозитория settings.event_create=Создать settings.event_create_desc=Ветка или тэг созданы. @@ -2237,14 +2237,14 @@ settings.event_push=Отправка settings.event_push_desc=Отправка в репозиторий. settings.event_repository=Репозиторий settings.event_repository_desc=Репозиторий создан или удален. -settings.event_header_issue=События задачи +settings.event_header_issue=События задач settings.event_issues=Задачи settings.event_issues_desc=Задача открыта, закрыта, переоткрыта или отредактирована. -settings.event_issue_assign=Назначена задача +settings.event_issue_assign=Назначение задач settings.event_issue_assign_desc=Задача назначена или снята с назначения. -settings.event_issue_label=Ярлык задачи +settings.event_issue_label=Изменение меток задач settings.event_issue_label_desc=Метки задач обновлены или очищены. -settings.event_issue_milestone=Этап задачи завершен +settings.event_issue_milestone=Добавление задач в этапы settings.event_issue_milestone_desc=Этап или этап выполнения задания. settings.event_issue_comment=Комментарии в задаче settings.event_issue_comment_desc=Комментарий создан, изменён или удалён. @@ -2323,7 +2323,7 @@ settings.protected_branch.delete_rule=Удалить правило settings.protected_branch_can_push=Разрешить отправку? settings.protected_branch_can_push_yes=Вы можете выполнять отправку settings.protected_branch_can_push_no=Вы не можете выполнять отправку -settings.branch_protection=Правила защиты ветки «%s» +settings.branch_protection=Правила доступа ветки «%s» settings.protect_this_branch=Защитить эту ветку settings.protect_this_branch_desc=Предотвращает удаление, ограничивает Push и слияние Git в ветку. settings.protect_disable_push=Запретить отправку изменений @@ -2370,9 +2370,9 @@ settings.protect_unprotected_file_patterns=Шаблоны незащищённы settings.protect_unprotected_file_patterns_desc=Незащищенные файлы, которые допускается изменять напрямую, если пользователь имеет право на запись, несмотря на ограничение отправки изменений. Можно указать несколько шаблонов, разделяя их точкой с запятой («;»). О синтаксисе шаблонов читайте в документации github.com/gobwas/glob . Примеры: .drone.yml, /docs/**/*.txt. settings.add_protected_branch=Включить защиту settings.delete_protected_branch=Отключить защиту -settings.update_protect_branch_success=Защита веток по правилу «%s» изменена. -settings.remove_protected_branch_success=Защита веток по правилу «%s» удалена. -settings.remove_protected_branch_failed=Не удалось удалить правило защиты веток «%s». +settings.update_protect_branch_success=Правила доступа веток «%s» изменена. +settings.remove_protected_branch_success=Правила доступа веток «%s» удалена. +settings.remove_protected_branch_failed=Не удалось удалить правило доступа веток «%s». settings.protected_branch_deletion=Отключение защиты ветки settings.protected_branch_deletion_desc=Любой пользователь с разрешениями на запись сможет выполнять push в эту ветку. Вы уверены? settings.block_rejected_reviews=Блокировка слияния по отклоненным отзывам @@ -2452,7 +2452,7 @@ diff.browse_source=Просмотр исходного кода diff.parent=родитель diff.commit=коммит diff.git-notes=Заметки -diff.data_not_available=Различия недоступны +diff.data_not_available=Различия отсутствуют или недоступны diff.options_button=Опции Diff diff.show_diff_stats=Показать статистику diff.download_patch=Скачать .patch @@ -2547,7 +2547,7 @@ release.tag_already_exist=Этот тег уже используется. release.downloads=Загрузки release.download_count=Загрузки: %s release.add_tag_msg=Использовать заголовок и содержимое выпуска в качестве сообщения тега. -release.add_tag=Создать только тег +release.add_tag=Создать тег release.releases_for=Выпуски %s release.tags_for=Теги %s @@ -2626,7 +2626,7 @@ issues.blocked_by_user = Невозможно создать задачу в э settings.new_owner_blocked_doer = Вы заблокированы новым владельцем. settings.add_collaborator_blocked_them = Невозможно добавить соучастника, т.к. им заблокирован владелец репозитория. pulls.blocked_by_changed_protected_files_1 = Этот запрос на слияние заблокирован, т.к. им изменяется защищённый файл: -object_format_helper = Формат объектов в репозитории. Невозможно изменить в дальнейшем. SHA1 даёт наибольшую совместимость. +object_format_helper = Формат объектов в репозитории. Невозможно изменить в дальнейшем. SHA1 имеет наибольшую совместимость. pulls.blocked_by_outdated_branch = Этот запрос на слияние заблокирован, т.к. он устарел. pulls.blocked_by_changed_protected_files_n = Этот запрос на слияние заблокирован, т.к. им изменяются защищённые файлы: blame.ignore_revs.failed = Не удалось проигнорировать правки из .git-blame-ignore-revs. @@ -2696,7 +2696,7 @@ pulls.agit_explanation = Создано через рабочий поток AGi settings.webhook.replay.description_disabled = Активируйте веб-хук для повторения отправки. activity.navbar.pulse = Недавняя активность settings.tags.protection.pattern.description = Можно указать название тега. Для выбора нескольких тегов можно указать поисковый шаблон или регулярное выражение. Подробнее о защищённых тегах. -file_follow = Пройти по мягкой ссылке +file_follow = Пройти по символьной ссылке settings.pull_mirror_sync_in_progress = Идёт получение изменений из удалённого репозитория %s. settings.ignore_stale_approvals_desc = Не учитывать одобрения, оставленные для старых коммитов (устаревшие отзывы), при подсчёте общего числа одобрений у запроса на слияние. Не относится к отклонённым отзывам. settings.mirror_settings.docs.doc_link_pull_section = раздел документации «Pulling from a remote repository». @@ -2743,7 +2743,7 @@ release.hide_archive_links_helper = Скрыть автоматически до [org] org_name_holder=Название организации -org_full_name_holder=Полное название организации +org_full_name_holder=Полное название org_name_helper=Лучшие названия организаций коротки и запоминаемы. create_org=Создать организацию repo_updated=Обновлено @@ -2800,9 +2800,9 @@ settings.labels_desc=Добавьте метки, которые могут бы members.membership_visibility=Видимость участника: members.public=Видимый -members.public_helper=скрыть +members.public_helper=Скрыть members.private=Скрыт -members.private_helper=сделать видимым +members.private_helper=Сделать видимым members.member_role=Роль участника: members.owner=Владелец members.member=Участник @@ -2811,7 +2811,7 @@ members.remove.detail=Исключить %[1]s из %[2]s? members.leave=Покинуть members.leave.detail=Покинуть %s? members.invite_desc=Добавить нового участника в %s: -members.invite_now=Пригласите сейчас +members.invite_now=Пригласить teams.join=Объединить teams.leave=Выйти @@ -2835,9 +2835,9 @@ teams.update_settings=Обновить настройки teams.delete_team=Удалить команду teams.add_team_member=Добавить участника teams.invite_team_member=Пригласить в %s -teams.invite_team_member.list=Приглашения в ожидании +teams.invite_team_member.list=Ожидающие приглашения teams.delete_team_title=Удаление команды -teams.delete_team_desc=Удаление команды отменяет доступ к репозиторию для её членов. Продолжить? +teams.delete_team_desc=Удаление команды лишит её членов доступа к репозиториям. Продолжить? teams.delete_team_success=Команда удалена. teams.read_permission_desc=Эта команда предоставляет доступ на Чтение: члены могут просматривать и клонировать репозитории команды. teams.write_permission_desc=Эта команда предоставляет доступ на Запись: члены могут получать и выполнять push команды в репозитории. @@ -2953,8 +2953,8 @@ dashboard.total_gc_time=Итоговая задержка GC dashboard.total_gc_pause=Итоговая задержка сборщика dashboard.last_gc_pause=Последняя пауза сборщика dashboard.gc_times=Сборок мусора -dashboard.delete_old_actions=Удалить все старые действия из базы данных -dashboard.delete_old_actions.started=Запущено удаление всех старых действий из БД. +dashboard.delete_old_actions=Удалить все старые активности из базы данных +dashboard.delete_old_actions.started=Запущено удаление всех старых активностей из БД. dashboard.update_checker=Проверка обновлений dashboard.delete_old_system_notices=Удалить все старые системные уведомления из базы данных dashboard.gc_lfs=Выполнить сборку мусора метаобъектов LFS @@ -3096,8 +3096,8 @@ auths.attribute_username_placeholder=Оставьте пустым, чтобы auths.attribute_name=Атрибут First Name auths.attribute_surname=Атрибут Surname auths.attribute_mail=Атрибут эл. почты -auths.attribute_ssh_public_key=Атрибут Открытый ключ SSH -auths.attribute_avatar=Характеристики аватара +auths.attribute_ssh_public_key=Атрибут открытого ключа SSH +auths.attribute_avatar=Атрибут аватара auths.attributes_in_bind=Извлекать атрибуты в контексте Bind DN auths.allow_deactivate_all=Разрешить пустой результат поиска для отключения всех пользователей auths.use_paged_search=Использовать постраничный поиск @@ -3105,7 +3105,7 @@ auths.search_page_size=Размер страницы auths.filter=Фильтр пользователя auths.admin_filter=Фильтр администратора auths.restricted_filter=Ограниченный фильтр -auths.restricted_filter_helper=Оставьте пустым, чтобы не назначать никаких пользователей ограниченными. Используйте звёздочку ('*'), чтобы сделать ограниченными всех пользователей, не соответствующих фильтру администратора. +auths.restricted_filter_helper=Оставьте пустым, чтобы не назначать никаких пользователей ограниченными. Используйте звёздочку («*»), чтобы сделать ограниченными всех пользователей, не соответствующих фильтру администратора. auths.verify_group_membership=Проверить принадлежность к группе в LDAP (оставьте фильтр пустым, чтобы пропустить) auths.group_search_base=Поисковая база групп DN auths.group_attribute_list_users=Атрибут группы, содержащий список пользователей @@ -3353,15 +3353,15 @@ monitor.queue=Очередь: %s monitor.queue.name=Имя monitor.queue.type=Тип monitor.queue.exemplar=Тип образца -monitor.queue.numberworkers=Количество рабочих -monitor.queue.activeworkers=Активные рабочие -monitor.queue.maxnumberworkers=Максимальное количество рабочих +monitor.queue.numberworkers=Количество обработчиков +monitor.queue.activeworkers=Активные обработчики +monitor.queue.maxnumberworkers=Макс. количество обработчиков monitor.queue.numberinqueue=Позиция в очереди monitor.queue.settings.title=Настройки пула -monitor.queue.settings.desc=Пулы увеличиваются динамически в ответ на блокировку очередей своих рабочих. -monitor.queue.settings.maxnumberworkers=Максимальное количество рабочих -monitor.queue.settings.maxnumberworkers.placeholder=В настоящее время %[1]d -monitor.queue.settings.maxnumberworkers.error=Максимальное количество рабочих должно быть числом +monitor.queue.settings.desc=Пулы увеличиваются динамически в ответ на блокировку очередей своих обработчиков. +monitor.queue.settings.maxnumberworkers=Макс. количество обработчиков +monitor.queue.settings.maxnumberworkers.placeholder=В настоящий момент %[1]d +monitor.queue.settings.maxnumberworkers.error=Максимальное количество обработчиков должно быть числом monitor.queue.settings.submit=Обновить настройки monitor.queue.settings.changed=Настройки обновлены monitor.queue.settings.remove_all_items=Удалить все @@ -3405,7 +3405,7 @@ config.open_with_editor_app_help = Приложения для "Открыть config_settings = Настройки auths.tips.gmail_settings = Настройки Gmail: auths.tip.gitlab_new = Создайте новое приложение в https://gitlab.com/-/profile/applications -monitor.queue.review_add = Подробности / добавить рабочих +monitor.queue.review_add = Подробности / добавить обработчики auths.default_domain_name = Домен по умолчанию для адресов эл. почты @@ -3680,7 +3680,7 @@ management=Управление секретами [actions] actions=Действия -unit.desc=Управление действиями +unit.desc=Управление встроенными конвейерами CI/CD с Действиями Forgejo status.unknown=Неизвестно status.waiting=Ожидает diff --git a/options/locale/locale_sk-SK.ini b/options/locale/locale_sk-SK.ini index 2167d116d0..43f071a1f2 100644 --- a/options/locale/locale_sk-SK.ini +++ b/options/locale/locale_sk-SK.ini @@ -28,12 +28,12 @@ licenses=Licencie return_to_gitea=Naspäť do Forgejo username=Používateľské meno -email=E-mailová adresa +email=Emailová adresa password=Heslo access_token=Prístupový token re_type=Potvrdiť heslo captcha=CAPTCHA -twofa=Dvojfaktorová autentifikácia +twofa=Dvoj-faktorové overenie twofa_scratch=Dvojfaktorový dočasný kód passcode=Prístupový kód @@ -62,7 +62,7 @@ new_org=Nová organizácia new_project=Nový projekt new_project_column=Nový stĺpec manage_org=Spravovať organizácie -admin_panel=Administrácia +admin_panel=Administrácia stránky account_settings=Nastavenia účtu settings=Nastavenia your_profile=Profil @@ -140,6 +140,7 @@ confirm_delete_selected=Potvrdzujete zmazanie všetkých vybraných položiek? name=Meno value=Hodnota +issues = Problémy [aria] navbar=Navigačná lišta diff --git a/options/locale/locale_zh-CN.ini b/options/locale/locale_zh-CN.ini index dab4287f06..0b495b6c67 100644 --- a/options/locale/locale_zh-CN.ini +++ b/options/locale/locale_zh-CN.ini @@ -638,6 +638,8 @@ Location = 地区 To = 分支名 AccessToken = 访问令牌 Description = 描述 +Pronouns = 代称 +Biography = 简历 [user] change_avatar=修改头像 @@ -2105,7 +2107,7 @@ settings.sync_mirror=立即同步 settings.pull_mirror_sync_in_progress=正在从远程 %s 拉取更改。 settings.push_mirror_sync_in_progress=正在推送变更到远程 %s 。 settings.site=网站 -settings.update_settings=更新仓库设置 +settings.update_settings=保存设置 settings.update_mirror_settings=更新镜像设置 settings.branches.switch_default_branch=切换默认分支 settings.branches.update_default_branch=更新默认分支 @@ -2287,7 +2289,7 @@ settings.event_issue_assign=工单已分配 settings.event_issue_assign_desc=工单已被指派或取消指派。 settings.event_issue_label=工单已分类 settings.event_issue_label_desc=工单标签被更新或清除。 -settings.event_issue_milestone=工单被收入里程碑中 +settings.event_issue_milestone=工单已被收入里程碑中 settings.event_issue_milestone_desc=工单被收入或取消收入里程碑中。 settings.event_issue_comment=工单评论 settings.event_issue_comment_desc=工单评论被创建、编辑或删除 @@ -2737,6 +2739,16 @@ release.download_count_one = %s 下载 release.download_count_few = %s 下载 release.system_generated = 此附件是自动生成的。 pulls.ready_for_review = 准备好接受评审了吗? +settings.web_hook_name_sourcehut_builds = SourceHut 构建 +settings.graphql_url = GraphQL URL 链接 +settings.sourcehut_builds.access_token_helper = 已授予 JOBS:RW 权限的访问令牌。可在 meta.sr.ht 上生成标准的 builds.sr.ht 令牌带有密匙访问权限的 builds.sr.ht 令牌 。 +settings.matrix.access_token_helper = 推荐为此设立专门的 Matrix 账户。访问令牌可从 Element Web 客户端(在隐私/无痕模式选项卡中打开)> 用户菜单(左上角)> 所有设置 > 帮助及关于 > 高级 > 访问令牌(在主服务器 URL 下方)检索。获取完成后,请直接关闭隐私/无痕选项卡(注销会使令牌失效)。 +settings.event_pull_request_enforcement = 执行 +settings.sourcehut_builds.manifest_path = 构建清单路径 +settings.sourcehut_builds.visibility = 作业可见性 +settings.matrix.room_id_helper = 房间 ID 可从 Element Web 客户端 > 房间设置 > 高级 > 内部房间 ID 获得。例如:%s。 +release.hide_archive_links_helper = 为此版本发布隐藏自动生成的源代码存档。例如,如果您准备自行上传。 +release.hide_archive_links = 隐藏自动生成的存档 [graphs] component_loading=正在加载 %s... @@ -3420,6 +3432,8 @@ auths.tips.gmail_settings = Gmail 设置: auths.tip.gitlab_new = 在 https://gitlab.com/-/profile/applications 上注册新应用 config_settings = 设置 config_summary = 概况 +auths.default_domain_name = 用于电子邮件地址的默认域名 +config.open_with_editor_app_help = 克隆菜单中的“打开方式”所用的编辑器。如果留空,将使用默认值。展开以查看默认值。 [action] create_repo=创建了仓库 %s @@ -3773,6 +3787,7 @@ variables.creation.success=变量 “%s” 添加成功。 variables.update.failed=编辑变量失败。 variables.update.success=该变量已被编辑。 runs.workflow = 工作流 +runs.no_job_without_needs = 工作流必须至少包含一组没有依赖的作业。 [projects] type-1.display_name=个人项目 @@ -3807,7 +3822,7 @@ runner_kind = 搜索Runners... no_results = 未找到匹配的结果。 type_tooltip = 搜索类型 fuzzy = 模糊 -code_search_by_git_grep = 当前搜索结果由 git grep 提供,如果站点管理员启用了仓库索引可能会有更好的结果。 +code_search_by_git_grep = 当前搜索结果由 git grep 提供,如果站点管理员启用了代码索引可能会有更好的结果。 match = 匹配 match_tooltip = 仅包含与搜索词完全匹配的结果 fuzzy_tooltip = 在搜索结果中包含与搜索词相近的项目 diff --git a/options/locale/locale_zh-HK.ini b/options/locale/locale_zh-HK.ini index 1d914e6957..adc6f2aeef 100644 --- a/options/locale/locale_zh-HK.ini +++ b/options/locale/locale_zh-HK.ini @@ -87,6 +87,7 @@ webauthn_error_unknown = 發生未知嘅錯誤,請再試下。 webauthn_error_unable_to_process = 伺服器唔可以執行你嘅請求。 logo = 標識 enable_javascript = 本網站需要 JavaScript。 +webauthn_error_empty = 你要起名呢條鎖匙。 [aria] diff --git a/options/locale/locale_zh-TW.ini b/options/locale/locale_zh-TW.ini index e7334dbd16..b0f9071f22 100644 --- a/options/locale/locale_zh-TW.ini +++ b/options/locale/locale_zh-TW.ini @@ -631,7 +631,7 @@ Pronouns = 代名詞 Biography = 個人簡介 Website = 網站 Location = 地區 -AccessToken = 存取令牌 +AccessToken = 存取符記 username_has_not_been_changed = 帳號名稱未被更改 admin_cannot_delete_self = 當您是管理員時,您不能刪除自己。請先移除您的管理員權限。 username_error_no_dots = ` 只能包含英數字符("0-9","a-z","A-Z"),破折號("-")和底線("_")。只能以英數字元開頭或結尾,連續的非英數字元也不被允許。` @@ -667,6 +667,10 @@ block_user.detail_1 = 該使用者已停止追踪您。 block_user.detail_2 = 這個使用者無法對您的儲存庫、您提出的問題或發表的留言做出任何操作。 followers_one = %d 個追踪者 following_one = 追踪 %d 個人 +block_user.detail_3 = 該使用者無法將您加為協作者,您也無法將其加為協作者。 +follow_blocked_user = 因為這個使用者封鎖您或被您封鎖,您不能追蹤此使用者。 +block = 封鎖 +unblock = 解除封鎖 [settings] profile=個人資料 @@ -844,15 +848,15 @@ ssh_externally_managed=此 SSH 金鑰由此使用者的外部服務所管理 manage_social=管理關聯的社群帳戶 unbind=解除連結 -manage_access_token=管理 Access Token -generate_new_token=產生新的 Token +manage_access_token=管理存取符記 +generate_new_token=產生新的符記 tokens_desc=這些 Token 透過 Forgejo API 獲得存取你帳戶的權限。 -token_name=Token 名稱 -generate_token=產生 Token +token_name=符記名稱 +generate_token=產生符記 generate_token_success=已經產生新的 Token。請立刻複製它,因為他將不會再次顯示。 generate_token_name_duplicate=應用程式名稱 %s 已被使用,請換一個試試。 delete_token=刪除 -access_token_deletion=刪除 Access Token +access_token_deletion=刪除存取符記 access_token_deletion_cancel_action=取消 access_token_deletion_confirm_action=刪除 access_token_deletion_desc=刪除 Token 後,使用此 Token 的應用程式將無法再存取您的帳戶,此動作不可還原。是否繼續? @@ -942,7 +946,7 @@ update_hints = 更新提示 update_hints_success = 提示已被更改。 added_on = 於 %s 新增 biography_placeholder = 和我們介紹一下您自己吧!(您可以使用 Markdown) -location_placeholder = 和其他人分享您的地理位置 +location_placeholder = 與其他人分享您的地理位置 profile_desc = 管理其他人如何看到您的個人資料。通知、密碼復原和網頁上的 Git 操作會使用您的主要電子信箱。 hidden_comment_types.ref_tooltip = 註記哪些問題/提交/… 提及了此問題 keep_activity_private = 隱藏個人頁面中的活動資料 @@ -966,6 +970,10 @@ change_username_prompt = 註:更新您的使用者名稱將改變您的帳號 change_username_redirect_prompt = 舊的使用者名稱在其他使用者認領之前將會轉址到新的使用者名稱。 visibility.limited_tooltip = 只有已登入的使用者能看見 visibility.private_tooltip = 只有您加入的組織之成員能看見 +keep_email_private_popup = 這將在您的個人資料頁面、合併請求或網頁檔案編輯器中隱藏您的電子信箱地址。已推送的提交不會被更改。在提交中使用 %s 來將其連結至您的帳戶。 +ssh_signonly = 因為目前 SSH 已被停用,這個金鑰只被用來校驗提交簽署。 +email_desc = 您的主要電子信箱將被用於通知、密碼復原、網頁 Git 操作(如果您的信箱不是隱藏的)。 +pronouns_custom = 自訂 [repo] owner=擁有者 From fe922fce87790cf93da6c7726456319388752d83 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sat, 4 May 2024 20:04:08 +0000 Subject: [PATCH 12/15] Update dependency stylelint to v16.5.0 --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5781507561..6a165a5a70 100644 --- a/package-lock.json +++ b/package-lock.json @@ -89,7 +89,7 @@ "happy-dom": "14.7.1", "markdownlint-cli": "0.40.0", "postcss-html": "1.6.0", - "stylelint": "16.4.0", + "stylelint": "16.5.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", @@ -11133,9 +11133,9 @@ "dev": true }, "node_modules/stylelint": { - "version": "16.4.0", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.4.0.tgz", - "integrity": "sha512-uSx7VMuXwLuYcNSIg+0/fFNv0WinsfLAqsVVy7h7p80clKOHiGE8pfY6UjqwylTHiJrRIahTl6a8FPxGezhWoA==", + "version": "16.5.0", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.5.0.tgz", + "integrity": "sha512-IlCBtVrG+qTy3v+tZTk50W8BIomjY/RUuzdrDqdnlCYwVuzXtPbiGfxYqtyYAyOMcb+195zRsuHn6tgfPmFfbw==", "dev": true, "dependencies": { "@csstools/css-parser-algorithms": "^2.6.1", diff --git a/package.json b/package.json index b380a33568..3573017bbe 100644 --- a/package.json +++ b/package.json @@ -88,7 +88,7 @@ "happy-dom": "14.7.1", "markdownlint-cli": "0.40.0", "postcss-html": "1.6.0", - "stylelint": "16.4.0", + "stylelint": "16.5.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", From 1ecd0916d574f46745f562a9b2f65ead34733db8 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 5 May 2024 00:04:10 +0000 Subject: [PATCH 13/15] Update dependency vitest to v1.6.0 --- package-lock.json | 66 +++++++++++++++++++++++------------------------ package.json | 2 +- 2 files changed, 34 insertions(+), 34 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5781507561..9e59003642 100644 --- a/package-lock.json +++ b/package-lock.json @@ -96,7 +96,7 @@ "svgo": "3.2.0", "updates": "16.0.1", "vite-string-plugin": "1.3.1", - "vitest": "1.5.3" + "vitest": "1.6.0" }, "engines": { "node": ">= 18.0.0" @@ -2545,13 +2545,13 @@ } }, "node_modules/@vitest/expect": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.5.3.tgz", - "integrity": "sha512-y+waPz31pOFr3rD7vWTbwiLe5+MgsMm40jTZbQE8p8/qXyBX3CQsIXRx9XK12IbY7q/t5a5aM/ckt33b4PxK2g==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.6.0.tgz", + "integrity": "sha512-ixEvFVQjycy/oNgHjqsL6AZCDduC+tflRluaHIzKIsdbzkLn2U/iBnVeJwB6HsIjQBdfMR8Z0tRxKUsvFJEeWQ==", "dev": true, "dependencies": { - "@vitest/spy": "1.5.3", - "@vitest/utils": "1.5.3", + "@vitest/spy": "1.6.0", + "@vitest/utils": "1.6.0", "chai": "^4.3.10" }, "funding": { @@ -2559,12 +2559,12 @@ } }, "node_modules/@vitest/runner": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.5.3.tgz", - "integrity": "sha512-7PlfuReN8692IKQIdCxwir1AOaP5THfNkp0Uc4BKr2na+9lALNit7ub9l3/R7MP8aV61+mHKRGiqEKRIwu6iiQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.6.0.tgz", + "integrity": "sha512-P4xgwPjwesuBiHisAVz/LSSZtDjOTPYZVmNAnpHHSR6ONrf8eCJOFRvUwdHn30F5M1fxhqtl7QZQUk2dprIXAg==", "dev": true, "dependencies": { - "@vitest/utils": "1.5.3", + "@vitest/utils": "1.6.0", "p-limit": "^5.0.0", "pathe": "^1.1.1" }, @@ -2600,9 +2600,9 @@ } }, "node_modules/@vitest/snapshot": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.5.3.tgz", - "integrity": "sha512-K3mvIsjyKYBhNIDujMD2gfQEzddLe51nNOAf45yKRt/QFJcUIeTQd2trRvv6M6oCBHNVnZwFWbQ4yj96ibiDsA==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.6.0.tgz", + "integrity": "sha512-+Hx43f8Chus+DCmygqqfetcAZrDJwvTj0ymqjQq4CvmpKFSTVteEOBzCusu1x2tt4OJcvBflyHUE0DZSLgEMtQ==", "dev": true, "dependencies": { "magic-string": "^0.30.5", @@ -2626,9 +2626,9 @@ } }, "node_modules/@vitest/spy": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.5.3.tgz", - "integrity": "sha512-Llj7Jgs6lbnL55WoshJUUacdJfjU2honvGcAJBxhra5TPEzTJH8ZuhI3p/JwqqfnTr4PmP7nDmOXP53MS7GJlg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.6.0.tgz", + "integrity": "sha512-leUTap6B/cqi/bQkXUu6bQV5TZPx7pmMBKBQiI0rJA8c3pB56ZsaTbREnF7CJfmvAS4V2cXIBAh/3rVwrrCYgw==", "dev": true, "dependencies": { "tinyspy": "^2.2.0" @@ -2638,9 +2638,9 @@ } }, "node_modules/@vitest/utils": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.5.3.tgz", - "integrity": "sha512-rE9DTN1BRhzkzqNQO+kw8ZgfeEBCLXiHJwetk668shmNBpSagQxneT5eSqEBLP+cqSiAeecvQmbpFfdMyLcIQA==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.6.0.tgz", + "integrity": "sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==", "dev": true, "dependencies": { "diff-sequences": "^29.6.3", @@ -12265,9 +12265,9 @@ } }, "node_modules/vite-node": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.5.3.tgz", - "integrity": "sha512-axFo00qiCpU/JLd8N1gu9iEYL3xTbMbMrbe5nDp9GL0nb6gurIdZLkkFogZXWnE8Oyy5kfSLwNVIcVsnhE7lgQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.6.0.tgz", + "integrity": "sha512-de6HJgzC+TFzOu0NTC4RAIsyf/DY/ibWDYQUcuEA84EMHhcefTUGkjFHKKEJhQN4A+6I0u++kr3l36ZF2d7XRw==", "dev": true, "dependencies": { "cac": "^6.7.14", @@ -12347,16 +12347,16 @@ } }, "node_modules/vitest": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.5.3.tgz", - "integrity": "sha512-2oM7nLXylw3mQlW6GXnRriw+7YvZFk/YNV8AxIC3Z3MfFbuziLGWP9GPxxu/7nRlXhqyxBikpamr+lEEj1sUEw==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.6.0.tgz", + "integrity": "sha512-H5r/dN06swuFnzNFhq/dnz37bPXnq8xB2xB5JOVk8K09rUtoeNN+LHWkoQ0A/i3hvbUKKcCei9KpbxqHMLhLLA==", "dev": true, "dependencies": { - "@vitest/expect": "1.5.3", - "@vitest/runner": "1.5.3", - "@vitest/snapshot": "1.5.3", - "@vitest/spy": "1.5.3", - "@vitest/utils": "1.5.3", + "@vitest/expect": "1.6.0", + "@vitest/runner": "1.6.0", + "@vitest/snapshot": "1.6.0", + "@vitest/spy": "1.6.0", + "@vitest/utils": "1.6.0", "acorn-walk": "^8.3.2", "chai": "^4.3.10", "debug": "^4.3.4", @@ -12370,7 +12370,7 @@ "tinybench": "^2.5.1", "tinypool": "^0.8.3", "vite": "^5.0.0", - "vite-node": "1.5.3", + "vite-node": "1.6.0", "why-is-node-running": "^2.2.2" }, "bin": { @@ -12385,8 +12385,8 @@ "peerDependencies": { "@edge-runtime/vm": "*", "@types/node": "^18.0.0 || >=20.0.0", - "@vitest/browser": "1.5.3", - "@vitest/ui": "1.5.3", + "@vitest/browser": "1.6.0", + "@vitest/ui": "1.6.0", "happy-dom": "*", "jsdom": "*" }, diff --git a/package.json b/package.json index b380a33568..db91524ef8 100644 --- a/package.json +++ b/package.json @@ -95,7 +95,7 @@ "svgo": "3.2.0", "updates": "16.0.1", "vite-string-plugin": "1.3.1", - "vitest": "1.5.3" + "vitest": "1.6.0" }, "browserslist": ["defaults"] } From 73031f4b803338def529a95cb6e885bd3cc87c6a Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 5 May 2024 02:04:30 +0000 Subject: [PATCH 14/15] Update ghcr.io/visualon/renovate Docker tag to v37.340.9 --- .forgejo/workflows/renovate.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.forgejo/workflows/renovate.yml b/.forgejo/workflows/renovate.yml index 6ce7141004..f311c8ca6f 100644 --- a/.forgejo/workflows/renovate.yml +++ b/.forgejo/workflows/renovate.yml @@ -22,7 +22,7 @@ jobs: runs-on: docker container: - image: ghcr.io/visualon/renovate:37.330.1 + image: ghcr.io/visualon/renovate:37.340.9 steps: - name: Load renovate repo cache From b034ab5a8eb8f3478e51244761649954f0ffe918 Mon Sep 17 00:00:00 2001 From: 0ko <0ko@noreply.codeberg.org> Date: Sun, 5 May 2024 23:14:57 +0500 Subject: [PATCH 15/15] [UI] Allow org members to navigate between the org and the dashboard - add a new button to the org view that is only shown to the org members - add integration test to verify the expected navigatability - add a new translation string to that button - fix display style of "View " button on the dashboard - fix gap size between buttons on the org view by utilizing the common class top-right-buttons --- options/locale/locale_en-US.ini | 1 + release-notes/8.0.0/feat/3642.md | 1 + templates/org/header.tmpl | 5 ++- templates/user/dashboard/navbar.tmpl | 2 +- tests/integration/org_nav_test.go | 51 ++++++++++++++++++++++++++++ 5 files changed, 58 insertions(+), 2 deletions(-) create mode 100644 release-notes/8.0.0/feat/3642.md create mode 100644 tests/integration/org_nav_test.go diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini index 9148d57a27..9547ba1c03 100644 --- a/options/locale/locale_en-US.ini +++ b/options/locale/locale_en-US.ini @@ -2733,6 +2733,7 @@ org_name_holder = Organization name org_full_name_holder = Organization full name org_name_helper = Organization names should be short and memorable. create_org = Create organization +open_dashboard = Open dashboard repo_updated = Updated members = Members teams = Teams diff --git a/release-notes/8.0.0/feat/3642.md b/release-notes/8.0.0/feat/3642.md new file mode 100644 index 0000000000..2a93b15b7f --- /dev/null +++ b/release-notes/8.0.0/feat/3642.md @@ -0,0 +1 @@ +Allow navigating to the organization dashboard from the organization view diff --git a/templates/org/header.tmpl b/templates/org/header.tmpl index 7361df99ea..3da3be8959 100644 --- a/templates/org/header.tmpl +++ b/templates/org/header.tmpl @@ -7,7 +7,7 @@ {{if .Org.Visibility.IsLimited}}{{ctx.Locale.Tr "org.settings.visibility.limited_shortname"}}{{end}} {{if .Org.Visibility.IsPrivate}}{{ctx.Locale.Tr "org.settings.visibility.private_shortname"}}{{end}} - + {{if .EnableFeed}} {{svg "octicon-rss" 24}} @@ -16,6 +16,9 @@ {{if .IsSigned}} {{template "org/follow_unfollow" .}} {{end}} + {{if .IsOrganizationMember}} + {{ctx.Locale.Tr "org.open_dashboard"}} + {{end}} {{if .RenderedDescription}}
{{.RenderedDescription}}
{{end}} diff --git a/templates/user/dashboard/navbar.tmpl b/templates/user/dashboard/navbar.tmpl index b2ee198b0a..1fa356f95d 100644 --- a/templates/user/dashboard/navbar.tmpl +++ b/templates/user/dashboard/navbar.tmpl @@ -92,7 +92,7 @@ {{end}} diff --git a/tests/integration/org_nav_test.go b/tests/integration/org_nav_test.go new file mode 100644 index 0000000000..6fe3a9d2c8 --- /dev/null +++ b/tests/integration/org_nav_test.go @@ -0,0 +1,51 @@ +// Copyright 2024 The Forgejo Authors. All rights reserved. +// SPDX-License-Identifier: MIT + +package integration + +import ( + "net/http" + "testing" + + "code.gitea.io/gitea/tests" +) + +// This test makes sure that organization members are able to navigate between `/` and `/org//
` freely. +// The `/org//
` page is only accessible to the members of the organization. It doesn't have +// a special logic to show the button or not. +// The `/` page utilizes the `IsOrganizationMember` function to show the button for navigation to +// the organization dashboard. That function is covered by a test and is supposed to be true for the +// owners/admins/members of the organization. +func TestOrgNavigationDashboard(t *testing.T) { + defer tests.PrepareTestEnv(t)() + + // Login as the future organization admin and create an organization + session1 := loginUser(t, "user2") + session1.MakeRequest(t, NewRequestWithValues(t, "POST", "/org/create", map[string]string{ + "_csrf": GetCSRF(t, session1, "/org/create"), + "org_name": "org_navigation_test", + "visibility": "0", + "repo_admin_change_team_access": "on", + }), http.StatusSeeOther) + + // Check if the "Open dashboard" button is available to the org admin (member) + resp := session1.MakeRequest(t, NewRequest(t, "GET", "/org_navigation_test"), http.StatusOK) + doc := NewHTMLParser(t, resp.Body) + doc.AssertElement(t, "#org-info a[href='/org/org_navigation_test/dashboard']", true) + + // Check if the "View " button is available on dashboard for the org admin (member) + resp = session1.MakeRequest(t, NewRequest(t, "GET", "/org/org_navigation_test/dashboard"), http.StatusOK) + doc = NewHTMLParser(t, resp.Body) + doc.AssertElement(t, ".dashboard .secondary-nav a[href='/org_navigation_test']", true) + + // Login a non-member user + session2 := loginUser(t, "user4") + + // Check if the "Open dashboard" button is available to non-member + resp = session2.MakeRequest(t, NewRequest(t, "GET", "/org_navigation_test"), http.StatusOK) + doc = NewHTMLParser(t, resp.Body) + doc.AssertElement(t, "#org-info a[href='/org/org_navigation_test/dashboard']", false) + + // There's no need to test "View " button on dashboard as non-member + // because this page is not supposed to be visitable for this user +}