diff --git a/templates/repo/settings/lfs_file.tmpl b/templates/repo/settings/lfs_file.tmpl
index 5bcd2af5bf..941d09f3e6 100644
--- a/templates/repo/settings/lfs_file.tmpl
+++ b/templates/repo/settings/lfs_file.tmpl
@@ -21,7 +21,7 @@
{{else if not .IsTextFile}}
{{if .IsImageFile}}
-
+
{{else if .IsVideoFile}}
+{{end}}
+
diff --git a/tests/integration/disable_forgotten_password_test.go b/tests/integration/disable_forgotten_password_test.go
new file mode 100644
index 0000000000..8a50c8d409
--- /dev/null
+++ b/tests/integration/disable_forgotten_password_test.go
@@ -0,0 +1,39 @@
+package integration
+
+import (
+ "net/http"
+ "testing"
+
+ "code.gitea.io/gitea/modules/setting"
+ "code.gitea.io/gitea/modules/test"
+ "code.gitea.io/gitea/tests"
+)
+
+func TestDisableForgottenPasswordFalse(t *testing.T) {
+ defer tests.PrepareTestEnv(t)()
+ defer test.MockVariableValue(&setting.Service.EnableInternalSignIn, true)()
+
+ req := NewRequest(t, "GET", "/user/login/")
+ resp := MakeRequest(t, req, http.StatusOK)
+ htmlDoc := NewHTMLParser(t, resp.Body)
+ htmlDoc.AssertElement(t, "a[href='/user/forgot_password']", true)
+}
+
+func TestDisableForgottenPasswordTrue(t *testing.T) {
+ defer tests.PrepareTestEnv(t)()
+ defer test.MockVariableValue(&setting.Service.EnableInternalSignIn, false)()
+
+ req := NewRequest(t, "GET", "/user/login/")
+ resp := MakeRequest(t, req, http.StatusOK)
+ htmlDoc := NewHTMLParser(t, resp.Body)
+ htmlDoc.AssertElement(t, "a[href='/user/forgot_password']", false)
+}
+
+func TestDisableForgottenPasswordDefault(t *testing.T) {
+ defer tests.PrepareTestEnv(t)()
+
+ req := NewRequest(t, "GET", "/user/login/")
+ resp := MakeRequest(t, req, http.StatusOK)
+ htmlDoc := NewHTMLParser(t, resp.Body)
+ htmlDoc.AssertElement(t, "a[href='/user/forgot_password']", true)
+}
From df232e1a8fb6a0274e1bdff8cb37226986881030 Mon Sep 17 00:00:00 2001
From: Renovate Bot
Date: Fri, 14 Feb 2025 12:57:09 +0000
Subject: [PATCH 107/708] Update module
github.com/buildkite/terminal-to-html/v3 to v3.16.5 (forgejo) (#6916)
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/6916
Reviewed-by: Gusted
Co-authored-by: Renovate Bot
Co-committed-by: Renovate Bot
---
go.mod | 2 +-
go.sum | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/go.mod b/go.mod
index 0746c4ab42..c0a97b21fd 100644
--- a/go.mod
+++ b/go.mod
@@ -26,7 +26,7 @@ require (
github.com/alecthomas/chroma/v2 v2.15.0
github.com/blakesmith/ar v0.0.0-20190502131153-809d4375e1fb
github.com/blevesearch/bleve/v2 v2.4.4
- github.com/buildkite/terminal-to-html/v3 v3.16.4
+ github.com/buildkite/terminal-to-html/v3 v3.16.5
github.com/caddyserver/certmagic v0.21.7
github.com/chi-middleware/proxy v1.1.1
github.com/djherbis/buffer v1.2.0
diff --git a/go.sum b/go.sum
index 1df46c9df9..b2d734d636 100644
--- a/go.sum
+++ b/go.sum
@@ -768,8 +768,8 @@ github.com/bsm/ginkgo/v2 v2.12.0 h1:Ny8MWAHyOepLGlLKYmXG4IEkioBysk6GpaRTLC8zwWs=
github.com/bsm/ginkgo/v2 v2.12.0/go.mod h1:SwYbGRRDovPVboqFv0tPTcG1sN61LM1Z4ARdbAV9g4c=
github.com/bsm/gomega v1.27.10 h1:yeMWxP2pV2fG3FgAODIY8EiRE3dy0aeFYt4l7wh6yKA=
github.com/bsm/gomega v1.27.10/go.mod h1:JyEr/xRbxbtgWNi8tIEVPUYZ5Dzef52k01W3YH0H+O0=
-github.com/buildkite/terminal-to-html/v3 v3.16.4 h1:QFYO8IGvRnp7tGgiQb8g9uFU8kY9wOzxsFFx17+yy6Q=
-github.com/buildkite/terminal-to-html/v3 v3.16.4/go.mod h1:r/J7cC9c3EzBzP3/wDz0RJLPwv5PUAMp+KF2w+ntMc0=
+github.com/buildkite/terminal-to-html/v3 v3.16.5 h1:s/8NElw/Yhm09jKdMq4nY31tjcFMgHukjLfPrqxApcQ=
+github.com/buildkite/terminal-to-html/v3 v3.16.5/go.mod h1:PgzeBymbRFC8I2m46Sci3S18AbwonEgpaz3TGhD7EPs=
github.com/caddyserver/certmagic v0.21.7 h1:66KJioPFJwttL43KYSWk7ErSmE6LfaJgCQuhm8Sg6fg=
github.com/caddyserver/certmagic v0.21.7/go.mod h1:LCPG3WLxcnjVKl/xpjzM0gqh0knrKKKiO5WVttX2eEI=
github.com/caddyserver/zerossl v0.1.3 h1:onS+pxp3M8HnHpN5MMbOMyNjmTheJyWRaZYwn+YTAyA=
From 486acb04fa3bab041fc29e251f4381760028f2a3 Mon Sep 17 00:00:00 2001
From: Renovate Bot
Date: Sat, 15 Feb 2025 12:44:33 +0000
Subject: [PATCH 108/708] Update module github.com/minio/minio-go/v7 to v7.0.86
(forgejo) (#6945)
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/6945
Reviewed-by: Gusted
Co-authored-by: Renovate Bot
Co-committed-by: Renovate Bot
---
assets/go-licenses.json | 5 +++++
go.mod | 5 +++--
go.sum | 10 ++++++----
3 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/assets/go-licenses.json b/assets/go-licenses.json
index 2c6bf78ec7..61e1717ffa 100644
--- a/assets/go-licenses.json
+++ b/assets/go-licenses.json
@@ -739,6 +739,11 @@
"path": "github.com/miekg/dns/LICENSE",
"licenseText": "BSD 3-Clause License\n\nCopyright (c) 2009, The Go Authors. Extensions copyright (c) 2011, Miek Gieben. \nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n1. Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n2. Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\n3. Neither the name of the copyright holder nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
},
+ {
+ "name": "github.com/minio/crc64nvme",
+ "path": "github.com/minio/crc64nvme/LICENSE",
+ "licenseText": "\n Apache License\n Version 2.0, January 2004\n http://www.apache.org/licenses/\n\n TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n 1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n 2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n 3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n 4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n 5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n 6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n 7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n 8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n 9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\n END OF TERMS AND CONDITIONS\n\n APPENDIX: How to apply the Apache License to your work.\n\n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"[]\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n\n Copyright [yyyy] [name of copyright owner]\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n"
+ },
{
"name": "github.com/minio/md5-simd",
"path": "github.com/minio/md5-simd/LICENSE",
diff --git a/go.mod b/go.mod
index c0a97b21fd..bd8130ef81 100644
--- a/go.mod
+++ b/go.mod
@@ -76,7 +76,7 @@ require (
github.com/meilisearch/meilisearch-go v0.29.0
github.com/mholt/archiver/v3 v3.5.1
github.com/microcosm-cc/bluemonday v1.0.27
- github.com/minio/minio-go/v7 v7.0.85
+ github.com/minio/minio-go/v7 v7.0.86
github.com/msteinert/pam v1.2.0
github.com/nektos/act v0.2.52
github.com/niklasfasching/go-org v1.7.0
@@ -193,7 +193,7 @@ require (
github.com/go-openapi/jsonreference v0.20.4 // indirect
github.com/go-openapi/swag v0.22.7 // indirect
github.com/go-webauthn/x v0.1.14 // indirect
- github.com/goccy/go-json v0.10.4 // indirect
+ github.com/goccy/go-json v0.10.5 // indirect
github.com/golang-jwt/jwt/v4 v4.5.0 // indirect
github.com/golang/geo v0.0.0-20230421003525-6adc56603217 // indirect
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
@@ -223,6 +223,7 @@ require (
github.com/mattn/go-runewidth v0.0.16 // indirect
github.com/mholt/acmez/v3 v3.0.1 // indirect
github.com/miekg/dns v1.1.62 // indirect
+ github.com/minio/crc64nvme v1.0.0 // indirect
github.com/minio/md5-simd v1.1.2 // indirect
github.com/mitchellh/mapstructure v1.5.0 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
diff --git a/go.sum b/go.sum
index b2d734d636..dc79b6663a 100644
--- a/go.sum
+++ b/go.sum
@@ -975,8 +975,8 @@ github.com/gobwas/httphead v0.1.0/go.mod h1:O/RXo79gxV8G+RqlR/otEwx4Q36zl9rqC5u1
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.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
-github.com/goccy/go-json v0.10.4 h1:JSwxQzIqKfmFX1swYPpUThQZp/Ka4wzJdK0LWVytLPM=
-github.com/goccy/go-json v0.10.4/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M=
+github.com/goccy/go-json v0.10.5 h1:Fq85nIqj+gXn/S5ahsiTlK3TmC85qgirsdTP/+DeaC4=
+github.com/goccy/go-json v0.10.5/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M=
github.com/gogs/chardet v0.0.0-20211120154057-b7413eaefb8f h1:3BSP1Tbs2djlpprl7wCLuiqMaUh5SJkkzI2gDs+FgLs=
github.com/gogs/chardet v0.0.0-20211120154057-b7413eaefb8f/go.mod h1:Pcatq5tYkCW2Q6yrR2VRHlbHpZ/R4/7qyL1TCF7vl14=
github.com/gogs/go-gogs-client v0.0.0-20210131175652-1d7215cd8d85 h1:UjoPNDAQ5JPCjlxoJd6K8ALZqSDDhk2ymieAZOVaDg0=
@@ -1261,10 +1261,12 @@ github.com/miekg/dns v1.1.62 h1:cN8OuEF1/x5Rq6Np+h1epln8OiyPWV+lROx9LxcGgIQ=
github.com/miekg/dns v1.1.62/go.mod h1:mvDlcItzm+br7MToIKqkglaGhlFMHJ9DTNNWONWXbNQ=
github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8/go.mod h1:mC1jAcsrzbxHt8iiaC+zU4b1ylILSosueou12R++wfY=
github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3/go.mod h1:RagcQ7I8IeTMnF8JTXieKnO4Z6JCsikNEzj0DwauVzE=
+github.com/minio/crc64nvme v1.0.0 h1:MeLcBkCTD4pAoU7TciAfwsfxgkhM2u5hCe48hSEVFr0=
+github.com/minio/crc64nvme v1.0.0/go.mod h1:eVfm2fAzLlxMdUGc0EEBGSMmPwmXD5XiNRpnu9J3bvg=
github.com/minio/md5-simd v1.1.2 h1:Gdi1DZK69+ZVMoNHRXJyNcxrMA4dSxoYHZSQbirFg34=
github.com/minio/md5-simd v1.1.2/go.mod h1:MzdKDxYpY2BT9XQFocsiZf/NKVtR7nkE4RoEpN+20RM=
-github.com/minio/minio-go/v7 v7.0.85 h1:9psTLS/NTvC3MWoyjhjXpwcKoNbkongaCSF3PNpSuXo=
-github.com/minio/minio-go/v7 v7.0.85/go.mod h1:57YXpvc5l3rjPdhqNrDsvVlY0qPI6UTk1bflAe+9doY=
+github.com/minio/minio-go/v7 v7.0.86 h1:DcgQ0AUjLJzRH6y/HrxiZ8CXarA70PAIufXHodP4s+k=
+github.com/minio/minio-go/v7 v7.0.86/go.mod h1:VbfO4hYwUu3Of9WqGLBZ8vl3Hxnxo4ngxK4hzQDf4x4=
github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY=
github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
From 7104c73c9656b16269b7f81fea78e4478c062d8c Mon Sep 17 00:00:00 2001
From: Beowulf
Date: Sat, 15 Feb 2025 12:55:59 +0000
Subject: [PATCH 109/708] fix: Also substitute `COPYRIGHT HOLDER` and `the
organization` in BSD 4-Clause license (#6942)
Fixes #6864
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/6942
Reviewed-by: Earl Warren
Reviewed-by: Gusted
Co-authored-by: Beowulf
Co-committed-by: Beowulf
---
modules/repository/license.go | 4 ++++
modules/repository/license_test.go | 26 ++++++++++++++++++++++++++
2 files changed, 30 insertions(+)
diff --git a/modules/repository/license.go b/modules/repository/license.go
index 07ae92ca70..dcbefc8ded 100644
--- a/modules/repository/license.go
+++ b/modules/repository/license.go
@@ -1,4 +1,5 @@
// Copyright 2023 The Gitea Authors. All rights reserved.
+// Copyright 2025 The Forgejo Authors. All rights reserved.
// SPDX-License-Identifier: MIT
package repository
@@ -107,6 +108,9 @@ func getLicensePlaceholder(name string) *licensePlaceholder {
}
// Other special placeholders can be added here.
+ } else if name == "BSD-4-Clause" {
+ ret.Owner = append(ret.Owner, "COPYRIGHT HOLDER")
+ ret.Owner = append(ret.Owner, "the organization")
}
return ret
}
diff --git a/modules/repository/license_test.go b/modules/repository/license_test.go
index a7d77743ac..3195f15dda 100644
--- a/modules/repository/license_test.go
+++ b/modules/repository/license_test.go
@@ -1,4 +1,5 @@
// Copyright 2023 The Gitea Authors. All rights reserved.
+// Copyright 2025 The Forgejo Authors. All rights reserved.
// SPDX-License-Identifier: MIT
package repository
@@ -170,6 +171,31 @@ Copyright (C) 2023 by Gitea teabot@gitea.io
...
... THE AUTHOR BE LIABLE FOR ...
+`,
+ },
+ {
+ name: "BSD-4-Clause",
+ args: args{
+ name: "BSD-4-Clause",
+ values: &LicenseValues{Year: "2025", Owner: "Forgejo", Email: "hello@forgejo.org", Repo: "forgejo"},
+ origin: `
+Copyright (c) . All rights reserved.
+
+... includes software developed by the organization.
+
+... Neither the name of the copyright holder nor
+
+... PROVIDED BY COPYRIGHT HOLDER "AS IS" ... NO EVENT SHALL COPYRIGHT HOLDER BE LIABLE ...
+`,
+ },
+ want: `
+Copyright (c) 2025 Forgejo. All rights reserved.
+
+... includes software developed by Forgejo.
+
+... Neither the name of the copyright holder nor
+
+... PROVIDED BY Forgejo "AS IS" ... NO EVENT SHALL Forgejo BE LIABLE ...
`,
},
}
From a1486b0ee4feb569876ec65d9ba2030e70074557 Mon Sep 17 00:00:00 2001
From: "Panagiotis \"Ivory\" Vasilopoulos"
Date: Sat, 15 Feb 2025 13:07:15 +0000
Subject: [PATCH 110/708] feat: add pronoun privacy option (#6773)
This commit contains UI changes, tests and migrations for a feature
that lets users optionally hide their pronouns from the general
public. This is useful if a person wants to disclose that
information to a smaller set of people on a local instance
belonging to a local community/association.
Co-authored-by: Gusted
Co-authored-by: Beowulf
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/6773
Reviewed-by: Gusted
Co-authored-by: Panagiotis "Ivory" Vasilopoulos
Co-committed-by: Panagiotis "Ivory" Vasilopoulos
---
models/fixtures/user.yml | 2 +
models/forgejo_migrations/migrate.go | 2 +
models/forgejo_migrations/v29.go | 15 ++++
models/user/user.go | 11 +++
models/user/user_test.go | 39 ++++++++++
modules/structs/user.go | 2 +
options/locale/locale_en-US.ini | 4 +-
routers/api/v1/user/settings.go | 1 +
routers/common/auth.go | 1 +
routers/web/user/setting/profile.go | 1 +
services/convert/user.go | 3 +-
services/forms/user_form.go | 1 +
services/user/update.go | 7 ++
templates/shared/user/profile_big_avatar.tmpl | 2 +-
templates/swagger/v1_json.tmpl | 8 ++
templates/user/settings/profile.tmpl | 6 ++
tests/integration/user_test.go | 78 +++++++++++++------
17 files changed, 158 insertions(+), 25 deletions(-)
create mode 100644 models/forgejo_migrations/v29.go
diff --git a/models/fixtures/user.yml b/models/fixtures/user.yml
index c23abbb17e..630505b8b4 100644
--- a/models/fixtures/user.yml
+++ b/models/fixtures/user.yml
@@ -45,6 +45,7 @@
full_name: ' < Ur Tw >< '
email: user2@example.com
keep_email_private: true
+ keep_pronouns_private: true
email_notifications_preference: enabled
passwd: ZogKvWdyEx:password
passwd_hash_algo: dummy
@@ -350,6 +351,7 @@
full_name: User Ten
email: user10@example.com
keep_email_private: false
+ keep_pronouns_private: true
email_notifications_preference: enabled
passwd: ZogKvWdyEx:password
passwd_hash_algo: dummy
diff --git a/models/forgejo_migrations/migrate.go b/models/forgejo_migrations/migrate.go
index 1450ad3c54..4bc17a4288 100644
--- a/models/forgejo_migrations/migrate.go
+++ b/models/forgejo_migrations/migrate.go
@@ -92,6 +92,8 @@ var migrations = []*Migration{
NewMigration("Add `hash_blake2b` column to `package_blob` table", AddHashBlake2bToPackageBlob),
// v27 -> v28
NewMigration("Add `created_unix` column to `user_redirect` table", AddCreatedUnixToRedirect),
+ // v28 -> v29
+ NewMigration("Add pronoun privacy settings to user", AddHidePronounsOptionToUser),
}
// GetCurrentDBVersion returns the current Forgejo database version.
diff --git a/models/forgejo_migrations/v29.go b/models/forgejo_migrations/v29.go
new file mode 100644
index 0000000000..cba888d2ec
--- /dev/null
+++ b/models/forgejo_migrations/v29.go
@@ -0,0 +1,15 @@
+// Copyright 2024 The Forgejo Authors. All rights reserved.
+// SPDX-License-Identifier: MIT
+
+package forgejo_migrations //nolint:revive
+
+import "xorm.io/xorm"
+
+func AddHidePronounsOptionToUser(x *xorm.Engine) error {
+ type User struct {
+ ID int64 `xorm:"pk autoincr"`
+ KeepPronounsPrivate bool `xorm:"NOT NULL DEFAULT false"`
+ }
+
+ return x.Sync(&User{})
+}
diff --git a/models/user/user.go b/models/user/user.go
index f986ac5482..846190a648 100644
--- a/models/user/user.go
+++ b/models/user/user.go
@@ -154,6 +154,7 @@ type User struct {
DiffViewStyle string `xorm:"NOT NULL DEFAULT ''"`
Theme string `xorm:"NOT NULL DEFAULT ''"`
KeepActivityPrivate bool `xorm:"NOT NULL DEFAULT false"`
+ KeepPronounsPrivate bool `xorm:"NOT NULL DEFAULT false"`
EnableRepoUnitHints bool `xorm:"NOT NULL DEFAULT true"`
}
@@ -500,6 +501,16 @@ func (u *User) GetCompleteName() string {
return u.Name
}
+// GetPronouns returns an empty string, if the user has set to keep his
+// pronouns private from non-logged in users, otherwise the pronouns
+// are returned.
+func (u *User) GetPronouns(signed bool) string {
+ if u.KeepPronounsPrivate && !signed {
+ return ""
+ }
+ return u.Pronouns
+}
+
func gitSafeName(name string) string {
return strings.TrimSpace(strings.NewReplacer("\n", "", "<", "", ">", "").Replace(name))
}
diff --git a/models/user/user_test.go b/models/user/user_test.go
index 263c38933a..e3479943e3 100644
--- a/models/user/user_test.go
+++ b/models/user/user_test.go
@@ -795,3 +795,42 @@ func TestGetInactiveUsers(t *testing.T) {
require.NoError(t, err)
require.Empty(t, users)
}
+
+func TestPronounsPrivacy(t *testing.T) {
+ require.NoError(t, unittest.PrepareTestDatabase())
+ t.Run("EmptyPronounsIfNoneSet", func(t *testing.T) {
+ user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1})
+ user.Pronouns = ""
+ user.KeepPronounsPrivate = false
+
+ assert.Equal(t, "", user.GetPronouns(false))
+ })
+ t.Run("EmptyPronounsIfSetButPrivateAndNotLoggedIn", func(t *testing.T) {
+ user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1})
+ user.Pronouns = "any"
+ user.KeepPronounsPrivate = true
+
+ assert.Equal(t, "", user.GetPronouns(false))
+ })
+ t.Run("ReturnPronounsIfSetAndNotPrivateAndNotLoggedIn", func(t *testing.T) {
+ user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1})
+ user.Pronouns = "any"
+ user.KeepPronounsPrivate = false
+
+ assert.Equal(t, "any", user.GetPronouns(false))
+ })
+ t.Run("ReturnPronounsIfSetAndPrivateAndLoggedIn", func(t *testing.T) {
+ user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1})
+ user.Pronouns = "any"
+ user.KeepPronounsPrivate = false
+
+ assert.Equal(t, "any", user.GetPronouns(true))
+ })
+ t.Run("ReturnPronounsIfSetAndNotPrivateAndLoggedIn", func(t *testing.T) {
+ user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1})
+ user.Pronouns = "any"
+ user.KeepPronounsPrivate = true
+
+ assert.Equal(t, "any", user.GetPronouns(true))
+ })
+}
diff --git a/modules/structs/user.go b/modules/structs/user.go
index f2747b1473..2dd3051c50 100644
--- a/modules/structs/user.go
+++ b/modules/structs/user.go
@@ -84,6 +84,7 @@ type UserSettings struct {
EnableRepoUnitHints bool `json:"enable_repo_unit_hints"`
// Privacy
HideEmail bool `json:"hide_email"`
+ HidePronouns bool `json:"hide_pronouns"`
HideActivity bool `json:"hide_activity"`
}
@@ -101,6 +102,7 @@ type UserSettingsOptions struct {
EnableRepoUnitHints *bool `json:"enable_repo_unit_hints"`
// Privacy
HideEmail *bool `json:"hide_email"`
+ HidePronouns *bool `json:"hide_pronouns"`
HideActivity *bool `json:"hide_activity"`
}
diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini
index 03f3af7415..ae6bc53924 100644
--- a/options/locale/locale_en-US.ini
+++ b/options/locale/locale_en-US.ini
@@ -853,6 +853,8 @@ email_preference_set_success = Email preference has been set successfully.
add_openid_success = The new OpenID address has been added.
keep_email_private = Hide email address
keep_email_private_popup = Your email address will not be shown on your profile and will not be the default for commits made via the web interface, like file uploads, edits, and merge commits. Instead, a special address %s can be used to link commits to your account. This option will not affect existing commits.
+keep_pronouns_private = Only show pronouns to authenticated users
+keep_pronouns_private.description = This will hide your pronouns from visitors that are not logged in.
openid_desc = OpenID lets you delegate authentication to an external provider.
manage_ssh_keys = Manage SSH keys
@@ -3935,4 +3937,4 @@ filepreview.lines = Lines %[1]d to %[2]d in %[3]s
filepreview.truncated = Preview has been truncated
[translation_meta]
-test = This is a test string. It is not displayed in Forgejo UI but is used for testing purposes. Feel free to enter "ok" to save time (or a fun fact of your choice) to hit that sweet 100% completion mark :)
\ No newline at end of file
+test = This is a test string. It is not displayed in Forgejo UI but is used for testing purposes. Feel free to enter "ok" to save time (or a fun fact of your choice) to hit that sweet 100% completion mark :)
diff --git a/routers/api/v1/user/settings.go b/routers/api/v1/user/settings.go
index 173f06e474..67ab0dd964 100644
--- a/routers/api/v1/user/settings.go
+++ b/routers/api/v1/user/settings.go
@@ -63,6 +63,7 @@ func UpdateUserSettings(ctx *context.APIContext) {
Theme: optional.FromPtr(form.Theme),
DiffViewStyle: optional.FromPtr(form.DiffViewStyle),
KeepEmailPrivate: optional.FromPtr(form.HideEmail),
+ KeepPronounsPrivate: optional.FromPtr(form.HidePronouns),
KeepActivityPrivate: optional.FromPtr(form.HideActivity),
EnableRepoUnitHints: optional.FromPtr(form.EnableRepoUnitHints),
}
diff --git a/routers/common/auth.go b/routers/common/auth.go
index 115d65ed10..722c625e7b 100644
--- a/routers/common/auth.go
+++ b/routers/common/auth.go
@@ -31,6 +31,7 @@ func AuthShared(ctx *context.Base, sessionStore auth_service.SessionStore, authM
ctx.Data["SignedUserID"] = ar.Doer.ID
ctx.Data["IsAdmin"] = ar.Doer.IsAdmin
} else {
+ ctx.Data["IsSigned"] = false
ctx.Data["SignedUserID"] = int64(0)
}
return ar, nil
diff --git a/routers/web/user/setting/profile.go b/routers/web/user/setting/profile.go
index 818da9e3fa..33b2919d69 100644
--- a/routers/web/user/setting/profile.go
+++ b/routers/web/user/setting/profile.go
@@ -106,6 +106,7 @@ func ProfilePost(ctx *context.Context) {
Location: optional.Some(form.Location),
Visibility: optional.Some(form.Visibility),
KeepActivityPrivate: optional.Some(form.KeepActivityPrivate),
+ KeepPronounsPrivate: optional.Some(form.KeepPronounsPrivate),
}
if err := user_service.UpdateUser(ctx, ctx.Doer, opts); err != nil {
ctx.ServerError("UpdateUser", err)
diff --git a/services/convert/user.go b/services/convert/user.go
index 94a400de5d..7b6775dfb4 100644
--- a/services/convert/user.go
+++ b/services/convert/user.go
@@ -57,7 +57,7 @@ func toUser(ctx context.Context, user *user_model.User, signed, authed bool) *ap
Created: user.CreatedUnix.AsTime(),
Restricted: user.IsRestricted,
Location: user.Location,
- Pronouns: user.Pronouns,
+ Pronouns: user.GetPronouns(signed),
Website: user.Website,
Description: user.Description,
// counter's
@@ -97,6 +97,7 @@ func User2UserSettings(user *user_model.User) api.UserSettings {
Description: user.Description,
Theme: user.Theme,
HideEmail: user.KeepEmailPrivate,
+ HidePronouns: user.KeepPronounsPrivate,
HideActivity: user.KeepActivityPrivate,
DiffViewStyle: user.DiffViewStyle,
EnableRepoUnitHints: user.EnableRepoUnitHints,
diff --git a/services/forms/user_form.go b/services/forms/user_form.go
index 0d06f4b417..d76e97ceb1 100644
--- a/services/forms/user_form.go
+++ b/services/forms/user_form.go
@@ -224,6 +224,7 @@ type UpdateProfileForm struct {
Biography string `binding:"MaxSize(255)"`
Visibility structs.VisibleType
KeepActivityPrivate bool
+ KeepPronounsPrivate bool
}
// Validate validates the fields
diff --git a/services/user/update.go b/services/user/update.go
index 26c90505c8..62c30ac05f 100644
--- a/services/user/update.go
+++ b/services/user/update.go
@@ -40,6 +40,7 @@ type UpdateOptions struct {
SetLastLogin bool
RepoAdminChangeTeamAccess optional.Option[bool]
EnableRepoUnitHints optional.Option[bool]
+ KeepPronounsPrivate optional.Option[bool]
}
func UpdateUser(ctx context.Context, u *user_model.User, opts *UpdateOptions) error {
@@ -97,6 +98,12 @@ func UpdateUser(ctx context.Context, u *user_model.User, opts *UpdateOptions) er
cols = append(cols, "enable_repo_unit_hints")
}
+ if opts.KeepPronounsPrivate.Has() {
+ u.KeepPronounsPrivate = opts.KeepPronounsPrivate.Value()
+
+ cols = append(cols, "keep_pronouns_private")
+ }
+
if opts.AllowGitHook.Has() {
u.AllowGitHook = opts.AllowGitHook.Value()
diff --git a/templates/shared/user/profile_big_avatar.tmpl b/templates/shared/user/profile_big_avatar.tmpl
index c09fed5f1e..d718fa390f 100644
--- a/templates/shared/user/profile_big_avatar.tmpl
+++ b/templates/shared/user/profile_big_avatar.tmpl
@@ -16,7 +16,7 @@
{{if .ContextUser.FullName}}{{.ContextUser.FullName}}{{end}}
- {{.ContextUser.Name}}{{if .ContextUser.Pronouns}} · {{.ContextUser.Pronouns}}{{end}} {{if .IsAdmin}}
+ {{.ContextUser.Name}} {{if .ContextUser.GetPronouns .IsSigned}} · {{.ContextUser.GetPronouns .IsSigned}}{{end}} {{if .IsAdmin}}
{{svg "octicon-gear" 18}}
diff --git a/templates/swagger/v1_json.tmpl b/templates/swagger/v1_json.tmpl
index c7cb257e21..cfe6ae7656 100644
--- a/templates/swagger/v1_json.tmpl
+++ b/templates/swagger/v1_json.tmpl
@@ -27954,6 +27954,10 @@
"type": "boolean",
"x-go-name": "HideEmail"
},
+ "hide_pronouns": {
+ "type": "boolean",
+ "x-go-name": "HidePronouns"
+ },
"language": {
"type": "string",
"x-go-name": "Language"
@@ -28006,6 +28010,10 @@
"type": "boolean",
"x-go-name": "HideEmail"
},
+ "hide_pronouns": {
+ "type": "boolean",
+ "x-go-name": "HidePronouns"
+ },
"language": {
"type": "string",
"x-go-name": "Language"
diff --git a/templates/user/settings/profile.tmpl b/templates/user/settings/profile.tmpl
index 4cc30d66cf..503a977158 100644
--- a/templates/user/settings/profile.tmpl
+++ b/templates/user/settings/profile.tmpl
@@ -120,6 +120,12 @@
{{ctx.Locale.Tr "settings.keep_activity_private"}}
{{ctx.Locale.Tr "settings.keep_activity_private.description" (printf "/%s?tab=activity" .SignedUser.Name)}}
+
+
diff --git a/tests/integration/user_test.go b/tests/integration/user_test.go
index d2b5f112a3..3da8a3ae1d 100644
--- a/tests/integration/user_test.go
+++ b/tests/integration/user_test.go
@@ -438,8 +438,16 @@ func TestUserHints(t *testing.T) {
func TestUserPronouns(t *testing.T) {
defer tests.PrepareTestEnv(t)()
- session := loginUser(t, "user2")
- token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteUser)
+ // user1 is admin, using user2 and user10 respectively instead.
+ // This is explicitly mentioned here because of the unconventional
+ // variable naming scheme.
+ firstUserSession := loginUser(t, "user2")
+ firstUserToken := getTokenForLoggedInUser(t, firstUserSession, auth_model.AccessTokenScopeWriteUser)
+
+ // This user has the HidePronouns setting enabled.
+ // Check the fixture!
+ secondUserSession := loginUser(t, "user10")
+ secondUserToken := getTokenForLoggedInUser(t, secondUserSession, auth_model.AccessTokenScopeWriteUser)
adminUser := unittest.AssertExistsAndLoadBean(t, &user_model.User{IsAdmin: true})
adminSession := loginUser(t, adminUser.Name)
@@ -449,8 +457,10 @@ func TestUserPronouns(t *testing.T) {
t.Run("user", func(t *testing.T) {
defer tests.PrintCurrentTest(t)()
- req := NewRequest(t, "GET", "/api/v1/user").AddTokenAuth(token)
- resp := MakeRequest(t, req, http.StatusOK)
+ // secondUserToken was chosen arbitrarily and should have no impact.
+ // See next comment.
+ req := NewRequest(t, "GET", "/api/v1/user").AddTokenAuth(secondUserToken)
+ resp := firstUserSession.MakeRequest(t, req, http.StatusOK)
// We check the raw JSON, because we want to test the response, not
// what it decodes into. Contents doesn't matter, we're testing the
@@ -468,16 +478,22 @@ func TestUserPronouns(t *testing.T) {
// what it decodes into. Contents doesn't matter, we're testing the
// presence only.
assert.Contains(t, resp.Body.String(), `"pronouns":`)
+
+ req = NewRequest(t, "GET", "/api/v1/users/user10")
+ resp = MakeRequest(t, req, http.StatusOK)
+
+ // Same deal here.
+ assert.Contains(t, resp.Body.String(), `"pronouns":`)
})
t.Run("user/settings", func(t *testing.T) {
defer tests.PrintCurrentTest(t)()
- // Set pronouns first
+ // Set pronouns first for user2
pronouns := "they/them"
req := NewRequestWithJSON(t, "PATCH", "/api/v1/user/settings", &api.UserSettingsOptions{
Pronouns: &pronouns,
- }).AddTokenAuth(token)
+ }).AddTokenAuth(firstUserToken)
resp := MakeRequest(t, req, http.StatusOK)
// Verify the response
@@ -486,7 +502,7 @@ func TestUserPronouns(t *testing.T) {
assert.Equal(t, pronouns, user.Pronouns)
// Verify retrieving the settings again
- req = NewRequest(t, "GET", "/api/v1/user/settings").AddTokenAuth(token)
+ req = NewRequest(t, "GET", "/api/v1/user/settings").AddTokenAuth(firstUserToken)
resp = MakeRequest(t, req, http.StatusOK)
DecodeJSON(t, resp, &user)
@@ -497,22 +513,40 @@ func TestUserPronouns(t *testing.T) {
defer tests.PrintCurrentTest(t)()
// Set the pronouns for user2
- pronouns := "she/her"
+ pronouns := "he/him"
req := NewRequestWithJSON(t, "PATCH", "/api/v1/admin/users/user2", &api.EditUserOption{
Pronouns: &pronouns,
}).AddTokenAuth(adminToken)
resp := MakeRequest(t, req, http.StatusOK)
// Verify the API response
- var user *api.User
- DecodeJSON(t, resp, &user)
- assert.Equal(t, pronouns, user.Pronouns)
+ var user2 *api.User
+ DecodeJSON(t, resp, &user2)
+ assert.Equal(t, pronouns, user2.Pronouns)
- // Verify via user2 too
- req = NewRequest(t, "GET", "/api/v1/user").AddTokenAuth(token)
+ // Verify via user2
+ req = NewRequest(t, "GET", "/api/v1/user").AddTokenAuth(firstUserToken)
resp = MakeRequest(t, req, http.StatusOK)
- DecodeJSON(t, resp, &user)
- assert.Equal(t, pronouns, user.Pronouns)
+ DecodeJSON(t, resp, &user2)
+ assert.Equal(t, pronouns, user2.Pronouns) // TODO: This fails for some reason
+
+ // Set the pronouns for user10
+ pronouns = "he/him"
+ req = NewRequestWithJSON(t, "PATCH", "/api/v1/admin/users/user10", &api.EditUserOption{
+ Pronouns: &pronouns,
+ }).AddTokenAuth(adminToken)
+ resp = MakeRequest(t, req, http.StatusOK)
+
+ // Verify the API response
+ var user10 *api.User
+ DecodeJSON(t, resp, &user10)
+ assert.Equal(t, pronouns, user10.Pronouns)
+
+ // Verify via user10
+ req = NewRequest(t, "GET", "/api/v1/user").AddTokenAuth(secondUserToken)
+ resp = MakeRequest(t, req, http.StatusOK)
+ DecodeJSON(t, resp, &user10)
+ assert.Equal(t, pronouns, user10.Pronouns)
})
})
@@ -520,10 +554,10 @@ func TestUserPronouns(t *testing.T) {
defer tests.PrintCurrentTest(t)()
// Set the pronouns to a known state via the API
- pronouns := "she/her"
+ pronouns := "they/them"
req := NewRequestWithJSON(t, "PATCH", "/api/v1/user/settings", &api.UserSettingsOptions{
Pronouns: &pronouns,
- }).AddTokenAuth(token)
+ }).AddTokenAuth(firstUserToken)
MakeRequest(t, req, http.StatusOK)
t.Run("profile view", func(t *testing.T) {
@@ -534,14 +568,14 @@ func TestUserPronouns(t *testing.T) {
htmlDoc := NewHTMLParser(t, resp.Body)
userNameAndPronouns := strings.TrimSpace(htmlDoc.Find(".profile-avatar-name .username").Text())
- assert.Contains(t, userNameAndPronouns, pronouns)
+ assert.NotContains(t, userNameAndPronouns, pronouns)
})
t.Run("settings", func(t *testing.T) {
defer tests.PrintCurrentTest(t)()
req := NewRequest(t, "GET", "/user/settings")
- resp := session.MakeRequest(t, req, http.StatusOK)
+ resp := firstUserSession.MakeRequest(t, req, http.StatusOK)
htmlDoc := NewHTMLParser(t, resp.Body)
// Check that the field is present
@@ -550,12 +584,12 @@ func TestUserPronouns(t *testing.T) {
assert.Equal(t, pronouns, pronounField)
// Check that updating the field works
- newPronouns := "they/them"
+ newPronouns := "she/her"
req = NewRequestWithValues(t, "POST", "/user/settings", map[string]string{
- "_csrf": GetCSRF(t, session, "/user/settings"),
+ "_csrf": GetCSRF(t, firstUserSession, "/user/settings"),
"pronouns": newPronouns,
})
- session.MakeRequest(t, req, http.StatusSeeOther)
+ firstUserSession.MakeRequest(t, req, http.StatusSeeOther)
user2 := unittest.AssertExistsAndLoadBean(t, &user_model.User{Name: "user2"})
assert.Equal(t, newPronouns, user2.Pronouns)
From 39378fce098405406331ad1ebec6399b9ff36329 Mon Sep 17 00:00:00 2001
From: Renovate Bot
Date: Sat, 15 Feb 2025 15:03:05 +0000
Subject: [PATCH 111/708] Update dependency happy-dom to v17 (forgejo) (#6950)
Co-authored-by: Renovate Bot
Co-committed-by: Renovate Bot
---
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 d7a4141c19..d4b776d51b 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -86,7 +86,7 @@
"eslint-plugin-vue-scoped-css": "2.9.0",
"eslint-plugin-wc": "2.2.0",
"globals": "15.15.0",
- "happy-dom": "16.8.1",
+ "happy-dom": "17.1.0",
"license-checker-rseidelsohn": "4.4.2",
"markdownlint-cli": "0.44.0",
"postcss-html": "1.8.0",
@@ -9740,9 +9740,9 @@
}
},
"node_modules/happy-dom": {
- "version": "16.8.1",
- "resolved": "https://registry.npmjs.org/happy-dom/-/happy-dom-16.8.1.tgz",
- "integrity": "sha512-n0QrmT9lD81rbpKsyhnlz3DgnMZlaOkJPpgi746doA+HvaMC79bdWkwjrNnGJRvDrWTI8iOcJiVTJ5CdT/AZRw==",
+ "version": "17.1.0",
+ "resolved": "https://registry.npmjs.org/happy-dom/-/happy-dom-17.1.0.tgz",
+ "integrity": "sha512-9tUhXyePCjzUMycaHS/IzrIpF69xiq/laAT7golk4MtZ6t8ft5+Rv7U3lfrs2b4NMH0JTL3EhZzjfahrPmOnaQ==",
"dev": true,
"license": "MIT",
"dependencies": {
diff --git a/package.json b/package.json
index d3a614cb29..6f285f6686 100644
--- a/package.json
+++ b/package.json
@@ -85,7 +85,7 @@
"eslint-plugin-vue-scoped-css": "2.9.0",
"eslint-plugin-wc": "2.2.0",
"globals": "15.15.0",
- "happy-dom": "16.8.1",
+ "happy-dom": "17.1.0",
"license-checker-rseidelsohn": "4.4.2",
"markdownlint-cli": "0.44.0",
"postcss-html": "1.8.0",
From d3a125aad0dc33cf1d4c3fdcc526fe160eff4be7 Mon Sep 17 00:00:00 2001
From: Gusted
Date: Sat, 15 Feb 2025 15:42:57 +0000
Subject: [PATCH 112/708] fix: native parsing of ssh certificate key (#6953)
- In the case of parsing an public SSH certificate key, use the underlying key type instead of the certificate type. This means `ed25519-cert-v01` would be seen as `ed25519` type and thus correctly parsed. Certificates do not
change the keysize or otherwise parsing of the key.
- Add unit test.
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/6953
Reviewed-by: Earl Warren
Co-authored-by: Gusted
Co-committed-by: Gusted
---
models/asymkey/ssh_key_parse.go | 7 ++++++-
models/asymkey/ssh_key_test.go | 1 +
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/models/asymkey/ssh_key_parse.go b/models/asymkey/ssh_key_parse.go
index 94b1cf112b..3cb51b2b22 100644
--- a/models/asymkey/ssh_key_parse.go
+++ b/models/asymkey/ssh_key_parse.go
@@ -219,8 +219,13 @@ func SSHNativeParsePublicKey(keyLine string) (string, int, error) {
return "", 0, fmt.Errorf("ParsePublicKey: %w", err)
}
+ pkeyType := pkey.Type()
+ if certPkey, ok := pkey.(*ssh.Certificate); ok {
+ pkeyType = certPkey.Key.Type()
+ }
+
// The ssh library can parse the key, so next we find out what key exactly we have.
- switch pkey.Type() {
+ switch pkeyType {
case ssh.KeyAlgoDSA:
rawPub := struct {
Name string
diff --git a/models/asymkey/ssh_key_test.go b/models/asymkey/ssh_key_test.go
index 2625d6ac91..9a4ef665af 100644
--- a/models/asymkey/ssh_key_test.go
+++ b/models/asymkey/ssh_key_test.go
@@ -35,6 +35,7 @@ func Test_SSHParsePublicKey(t *testing.T) {
{"ecdsa-384", false, "ecdsa", 384, "ecdsa-sha2-nistp384 AAAAE2VjZHNhLXNoYTItbmlzdHAzODQAAAAIbmlzdHAzODQAAABhBINmioV+XRX1Fm9Qk2ehHXJ2tfVxW30ypUWZw670Zyq5GQfBAH6xjygRsJ5wWsHXBsGYgFUXIHvMKVAG1tpw7s6ax9oA+dJOJ7tj+vhn8joFqT+sg3LYHgZkHrfqryRasQ== nocomment"},
{"ecdsa-sk", true, "ecdsa-sk", 256, "sk-ecdsa-sha2-nistp256@openssh.com AAAAInNrLWVjZHNhLXNoYTItbmlzdHAyNTZAb3BlbnNzaC5jb20AAAAIbmlzdHAyNTYAAABBBGXEEzWmm1dxb+57RoK5KVCL0w2eNv9cqJX2AGGVlkFsVDhOXHzsadS3LTK4VlEbbrDMJdoti9yM8vclA8IeRacAAAAEc3NoOg== nocomment"},
{"ed25519-sk", true, "ed25519-sk", 256, "sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIE7kM1R02+4ertDKGKEDcKG0s+2vyDDcIvceJ0Gqv5f1AAAABHNzaDo= nocomment"},
+ {"ed25519-cert-v01", true, "ed25519", 256, "ssh-ed25519-cert-v01@openssh.com AAAAIHNzaC1lZDI1NTE5LWNlcnQtdjAxQG9wZW5zc2guY29tAAAAIAlIAPlEj0mYQzQo8Ks0Nm/Ct8ceNkyJSf4DLuF5l7+5AAAAIEuWAoaBo2tT29/oMNnoDfdAPRCIdM2RGapKUhY4nDfLRgPQwfnRoc0AAAABAAAAcHZhdWx0LW9pZGMtNmRhYjdiZDgtNDg5YS00MDFkLTg3ZmItNjdjNTlhMDZkZDkxLTNjNTk2M2YyMGRmMDM3MDkyMzc1YmNiYmNiNzkxY2EyZWIxM2I0NGZhMzc2NTcwMWI0MjMwODU0MWFmNjhkNTgAAAALAAAAB2Zvcmdlam8AAAAAZ6/RUQAAAABn115vAAAAAAAAAAAAAAAAAAACFwAAAAdzc2gtcnNhAAAAAwEAAQAAAgEAySnM/TvD117GyKgOgMatDB2t+fCHORFaWVmH5SaadAzNJ2DfDAauRSLfnim1xdgAOMTzsPEEHH47zyYMjE85o2AiJxrfUBMw3O/7AbNc6+HyLr/txH4+vD9tWQknKnpVWM+3Z9wiHDcOdKRoXCmFZKJH1vxs16GNWjwbrfNiimv7Oi0fadgvTDKX603gpLTuVDXqs9eQFLCONptei86JYBAJqaHvg51k8YUCKt9WFqKAj7BJUWmrDvhv5VFMOsnZieJjqxkoxnpsQNlXfPzxK0vIpJofbYfWwscv/g9WZypHwO1ZR2PqzKm99YrSdr8w5256l0f44vsF0NSP0N7bDQEfYYnRGj8zWTYCBFD+uYF7AxIeaRUpZoTQO8MvCHOLMIDinNgEeCUvNA2v9zHl4BGq+PQjzUKAgJiKj0MZeiCDAmQ22g83ggQlB6BOrBb1fNa/S1cmTbGHQ2oAN358aqkmHVCBhPOyA2Rf65D2M2vzDlUdOsNDUIWAHk7GbwSNGDgcYfTWqtR5fTzp2MJovMh1dDUDXjOvojbhzjJtSy9+rzUYIv18aXdOitzVBgPMWdeVCZFZv4OKF+5MiqxQvedUvfiSjsdxZWLxyT1CJ88G3MzxNMS/Djm86T8h/Oa55bdvFtqpsLfvpIqq0pnXq1V/vF2j1MWwRB5z5Xh/HtEAAAIUAAAADHJzYS1zaGEyLTI1NgAAAgB2I2gzqemQl8/ETxtakALlm/2BpUcbhADcFWuoH6BCPnWHuTSwf3OayM6KXv1PQfL3YFRoi9Afrp8kVFL6DePsmKH+0BUEMz71sZ7v1ty7pwfzibItGnpTbQXhzbEiNYAFoz77rl7oaXF7pV6JNZhj3DVAB5gVA2oN5KRNVxijz+6uyuFJEw1HIl1C7GworvGwZcN7BThTEh3i72/Vntejy9Z8uGVjSFjS0rjRo2oXK1LKN0rVt66p3TmCWHouLkVnOTk0qrhLGlL2HVyo24OYHbkAAObD9b6aMDYlmluk6NsaiTKsSTsvMrbIbjtFQlh7nNyoPhZ0VMwaT1l10pDQ5uxWWZjKGIkz4xM1ZfpBszjJNPo+ivYQnTSjj9LwkbLAT9a/5LawSj80TGcLEMO+0eyPdJsP0wYmOVRFAZeRiBgwb3HrzcF6Wqr8icj1EjYkKSy9YFHGTnFBGknpdh3HGwghRXrCUwAnSM76db9pv4/qowT8LthtJ3dY5Epe0OJ1Tqm+q8bkGH4gB+7uqLSqM5pIHSKLp7lfHQBt1J6xa7H2saiweaWjU+QGTgQ2Lg+uUC5DXJrmm60CeFJ4BoGhUenDlgijbQpjH/l6330PbwefgjWtUK/pqaEA4lCoPyvJ+eF2DbYfPiAIBAFQnhVJJae4AH+XoCt29nb2j30ztg== nocomment"},
}
for _, tc := range testCases {
From 0989c4c36b34490880bf901015eb542f97a6a62a Mon Sep 17 00:00:00 2001
From: floss4good
Date: Sun, 16 Feb 2025 08:17:33 +0000
Subject: [PATCH 113/708] fix: forgejo migrations numbering in comments and
rename latest migration file (#6957)
fixes #6955
## Checklist
The [contributor guide](https://forgejo.org/docs/next/contributor/) contains information that will be helpful to first time contributors. There also are a few [conditions for merging Pull Requests in Forgejo repositories](https://codeberg.org/forgejo/governance/src/branch/main/PullRequestsAgreement.md). You are also welcome to join the [Forgejo development chatroom](https://matrix.to/#/#forgejo-development:matrix.org).
### Tests
- I added test coverage for Go changes...
- [ ] in their respective `*_test.go` for unit tests.
- [ ] in the `tests/integration` directory if it involves interactions with a live Forgejo server.
- I added test coverage for JavaScript changes...
- [ ] in `web_src/js/*.test.js` if it can be unit tested.
- [ ] in `tests/e2e/*.test.e2e.js` if it requires interactions with a live Forgejo server (see also the [developer guide for JavaScript testing](https://codeberg.org/forgejo/forgejo/src/branch/forgejo/tests/e2e/README.md#end-to-end-tests)).
### Documentation
- [ ] I created a pull request [to the documentation](https://codeberg.org/forgejo/docs) to explain to Forgejo users how to use this change.
- [x] I did not document these changes and I do not expect someone else to do it.
### Release notes
- [x] I do not want this change to show in the release notes.
- [ ] I want the title to show in the release notes with a link to this pull request.
- [ ] I want the content of the `release-notes/.md` to be be used for the release notes instead of the title.
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/6957
Reviewed-by: Earl Warren
Co-authored-by: floss4good
Co-committed-by: floss4good
---
models/forgejo_migrations/migrate.go | 36 ++++++++++----------
models/forgejo_migrations/{v29.go => v28.go} | 0
2 files changed, 18 insertions(+), 18 deletions(-)
rename models/forgejo_migrations/{v29.go => v28.go} (100%)
diff --git a/models/forgejo_migrations/migrate.go b/models/forgejo_migrations/migrate.go
index 4bc17a4288..935b072331 100644
--- a/models/forgejo_migrations/migrate.go
+++ b/models/forgejo_migrations/migrate.go
@@ -58,41 +58,41 @@ var migrations = []*Migration{
NewMigration("Add the `apply_to_admins` column to the `protected_branch` table", forgejo_v1_22.AddApplyToAdminsSetting),
// v9 -> v10
NewMigration("Add pronouns to user", forgejo_v1_22.AddPronounsToUser),
- // v11 -> v12
+ // v10 -> v11
NewMigration("Add the `created` column to the `issue` table", forgejo_v1_22.AddCreatedToIssue),
- // v12 -> v13
+ // v11 -> v12
NewMigration("Add repo_archive_download_count table", forgejo_v1_22.AddRepoArchiveDownloadCount),
- // v13 -> v14
+ // v12 -> v13
NewMigration("Add `hide_archive_links` column to `release` table", AddHideArchiveLinksToRelease),
- // v14 -> v15
+ // v13 -> v14
NewMigration("Remove Gitea-specific columns from the repository and badge tables", RemoveGiteaSpecificColumnsFromRepositoryAndBadge),
- // v15 -> v16
+ // v14 -> v15
NewMigration("Create the `federation_host` table", CreateFederationHostTable),
- // v16 -> v17
+ // v15 -> v16
NewMigration("Create the `federated_user` table", CreateFederatedUserTable),
- // v17 -> v18
+ // v16 -> v17
NewMigration("Add `normalized_federated_uri` column to `user` table", AddNormalizedFederatedURIToUser),
- // v18 -> v19
+ // v17 -> v18
NewMigration("Create the `following_repo` table", CreateFollowingRepoTable),
- // v19 -> v20
+ // v18 -> v19
NewMigration("Add external_url to attachment table", AddExternalURLColumnToAttachmentTable),
- // v20 -> v21
+ // v19 -> v20
NewMigration("Creating Quota-related tables", CreateQuotaTables),
- // v21 -> v22
+ // v20 -> v21
NewMigration("Add SSH keypair to `pull_mirror` table", AddSSHKeypairToPushMirror),
- // v22 -> v23
+ // v21 -> v22
NewMigration("Add `legacy` to `web_authn_credential` table", AddLegacyToWebAuthnCredential),
- // v23 -> v24
+ // v22 -> v23
NewMigration("Add `delete_branch_after_merge` to `auto_merge` table", AddDeleteBranchAfterMergeToAutoMerge),
- // v24 -> v25
+ // v23 -> v24
NewMigration("Add `purpose` column to `forgejo_auth_token` table", AddPurposeToForgejoAuthToken),
- // v25 -> v26
+ // v24 -> v25
NewMigration("Migrate `secret` column to store keying material", MigrateTwoFactorToKeying),
- // v26 -> v27
+ // v25 -> v26
NewMigration("Add `hash_blake2b` column to `package_blob` table", AddHashBlake2bToPackageBlob),
- // v27 -> v28
+ // v26 -> v27
NewMigration("Add `created_unix` column to `user_redirect` table", AddCreatedUnixToRedirect),
- // v28 -> v29
+ // v27 -> v28
NewMigration("Add pronoun privacy settings to user", AddHidePronounsOptionToUser),
}
diff --git a/models/forgejo_migrations/v29.go b/models/forgejo_migrations/v28.go
similarity index 100%
rename from models/forgejo_migrations/v29.go
rename to models/forgejo_migrations/v28.go
From 7296f11288c3161be717bca05097c18aecb108bf Mon Sep 17 00:00:00 2001
From: 0ko <0ko@noreply.codeberg.org>
Date: Sun, 16 Feb 2025 09:38:39 +0000
Subject: [PATCH 114/708] i18n: translation updates from Gitea (#6958)
These are translations originally contributed to Gitea and picked from it's repo at https://github.com/go-gitea/gitea/tree/fc1b383da9507920d90386bf830ecf1594cf3b51/options/locale.
Because commits in Gitea are missing attribtuion, it is not possible to credit translators in this commit. But you might have luck finding them in Gitea project on Crowdin: https://crowdin.com/project/gitea.
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/6958
Reviewed-by: Earl Warren
---
options/locale/locale_fa-IR.ini | 12 +
options/locale/locale_ga-IE.ini | 2996 +++++++++++++++++++++++++++++++
options/locale/locale_hu-HU.ini | 5 +
options/locale/locale_id-ID.ini | 146 ++
options/locale/locale_is-IS.ini | 11 +
options/locale/locale_ja-JP.ini | 10 +
options/locale/locale_ko-KR.ini | 7 +-
options/locale/locale_si-LK.ini | 12 +
options/locale/locale_sk-SK.ini | 7 +-
options/locale/locale_tr-TR.ini | 61 +
options/locale/locale_zh-HK.ini | 10 +-
options/locale/locale_zh-TW.ini | 14 +
12 files changed, 3288 insertions(+), 3 deletions(-)
create mode 100644 options/locale/locale_ga-IE.ini
diff --git a/options/locale/locale_fa-IR.ini b/options/locale/locale_fa-IR.ini
index e2c9dc4bdd..8f515ec424 100644
--- a/options/locale/locale_fa-IR.ini
+++ b/options/locale/locale_fa-IR.ini
@@ -134,6 +134,11 @@ new_repo.title = مخزن جدید
new_migrate.title = مهاجرت جدید
new_repo.link = مخزن جدید
+filter = فیلتر
+filter.is_archived = بایگانی شده
+filter.public = عمومی
+filter.private = خصوصی
+
[aria]
[heatmap]
@@ -1987,6 +1992,8 @@ error.csv.too_large=نمی توان این فایل را رندر کرد زیر
error.csv.unexpected=نمی توان این فایل را رندر کرد زیرا حاوی یک کاراکتر غیرمنتظره در خط %d و ستون %d است.
error.csv.invalid_field_count=نمی توان این فایل را رندر کرد زیرا تعداد فیلدهای آن در خط %d اشتباه است.
+milestones.filter_sort.name = نام
+
[graphs]
[org]
@@ -2540,6 +2547,9 @@ notices.op=عملیات.
notices.delete_success=گزارش سیستم حذف شده است.
+config_summary = چکیده
+config_settings = تنظيمات
+
[action]
create_repo=مخزن ایجاد شده %s
rename_repo=مخزن تغییر نام داد از %[1]s به %[3]s
@@ -2669,3 +2679,5 @@ executable_file = فایل اجرایی
normal_file = فایل معمولی
changed_filemode = %[1] ها ← %[2] ها
directory = پوشه
+
+[search]
diff --git a/options/locale/locale_ga-IE.ini b/options/locale/locale_ga-IE.ini
new file mode 100644
index 0000000000..b7372e12f2
--- /dev/null
+++ b/options/locale/locale_ga-IE.ini
@@ -0,0 +1,2996 @@
+[common]
+home = Baile
+dashboard = Deais
+explore = Iniúch
+help = Cabhair
+logo = Lógó
+sign_in = Sínigh isteach
+sign_in_with_provider = Sínigh isteach le %s
+sign_in_or = nó
+sign_out = Sínigh amach
+sign_up = Cláraigh
+link_account = Cuntas Nasc
+register = Cláraigh
+version = Leagan
+powered_by = Cumhachtaithe ag %s
+page = Leathanach
+template = Teimpléad
+language = Teanga
+notifications = Fógraí
+active_stopwatch = Rianaitheoir Ama Gníomhach
+tracked_time_summary = Achoimre ar an am rianaithe bunaithe ar scagairí an liosta eisiúna
+create_new = Cruthaigh...
+user_profile_and_more = Próifíl agus Socruithe...
+signed_in_as = Sínithe isteach mar
+enable_javascript = Éilíonn JavaScript ar an suíomh Gréasáin seo.
+toc = Tábla na nÁbhar
+licenses = Ceadúnais
+more_items = Tuilleadh míreanna
+username = Ainm úsáideora
+email = Seoladh ríomhphoist
+password = Pasfhocal
+access_token = Comhartha Rochtana
+re_type = Deimhnigh Pasfhocal
+captcha = CAPTCHA
+twofa = Fíordheimhniú Dhá-Fhachtóir
+twofa_scratch = Cód Scratch Dhá-Fhachtóra
+passcode = Paschód
+webauthn_insert_key = Cuir isteach d'eochair slándála
+webauthn_sign_in = Brúigh an cnaipe ar d'eochair slándála. Mura bhfuil aon chnaipe ag d'eochair slándála, cuir isteach é arís.
+webauthn_press_button = Brúigh an cnaipe ar d'eochair slándála le do thoil…
+webauthn_use_twofa = Úsáid cód dhá fhachtóir ó do ghuthán
+webauthn_error = Ní fhéadfaí do eochair slándála a léamh.
+webauthn_unsupported_browser = Ní thacaíonn do bhrabhsálaí le WebAuthn faoi láthair.
+webauthn_error_unknown = Tharla earráid anaithnid. Déan iarracht arís.
+webauthn_error_insecure = Ní thacaíonn WebAuthn ach le naisc slán. Le haghaidh tástála thar HTTP, is féidir leat an bunús “localhost” nó "127.0.0.1" a úsáid
+webauthn_error_unable_to_process = Ní fhéadfadh an freastalaí d'iarratas a phróiseáil.
+webauthn_error_duplicated = Ní cheadaítear an eochair slándála don iarratas seo. Déan cinnte le do thoil nach bhfuil an eochair cláraithe cheana féin.
+webauthn_error_empty = Ní mór duit ainm a shocrú don eochair seo.
+webauthn_error_timeout = Sroicheadh an teorainn ama sula bhféadfaí d’eochair a léamh. Athlódáil an leathanach seo, le do thoil, agus déan iarracht arís.
+repository = Stór
+organization = Eagraíocht
+mirror = Scáthán
+new_mirror = Scáthán Nua
+new_fork = Forc Stór Nua
+new_project = Tionscadal Nua
+new_project_column = Colún Nua
+admin_panel = Riarachán Láithreáin
+settings = Socruithe
+your_profile = Próifíl
+your_starred = Réaltaigh
+your_settings = Socruithe
+all = Gach
+sources = Foinsí
+mirrors = Scátháin
+collaborative = Comhoibritheach
+forks = Forcanna
+activities = Gníomhaíochtaí
+pull_requests = Iarrataí Tarraing
+issues = Saincheisteanna
+milestones = Clocha míle
+ok = CEART GO LEOR
+cancel = Cealaigh
+retry = Atriail
+rerun = Ath-rith
+rerun_all = Ath-rith na poist go léir
+save = Sábháil
+add = Cuir
+add_all = Cuir Gach
+remove = Bain
+remove_all = Bain Gach
+remove_label_str = Bain mír “%s”
+edit = Cuir in eagar
+view = Amharc
+test = Tástáil
+enabled = Cumasaithe
+disabled = Díchumasaithe
+locked = Faoi ghlas
+copy = Cóipeáil
+copy_url = Cóipeáil URL
+copy_hash = Cóipeáil hais
+copy_path = Cóipeáil cosán
+copy_content = Cóipeáil ábhair
+copy_branch = Ainm brainse cóipeáil
+copy_success = Cóipeáil!
+copy_error = Theip ar an gcóipeáil
+copy_type_unsupported = Ní féidir an cineál comhaid seo a chóipeáil
+write = Scríobh
+preview = Réamhamharc
+loading = Á lódáil...
+error = Earráid
+error404 = Níl an leathanach atá tú ag iarraidh a bhaint amach ann nó níl tú údaraithe chun é a fheiceáil.
+go_back = Ar ais
+invalid_data = Sonraí neamhbhailí: %v
+never = Riamh
+unknown = Anaithnid
+rss_feed = Fothú RSS
+pin = Bioráin
+unpin = Díphoráil
+artifacts = Déantáin
+archived = Cartlann
+concept_system_global = Domhanda
+concept_user_individual = Duine aonair
+concept_code_repository = Stóráil
+concept_user_organization = Eagraíocht
+show_timestamps = Taispeáin stampaí ama
+show_log_seconds = Taispeáin soicindí
+show_full_screen = Taispeáin scáileán iomlán
+download_logs = Íoslódáil logaí
+confirm_delete_selected = Deimhnigh chun gach earra roghnaithe a scriosadh?
+name = Ainm
+value = Luach
+filter = Scagaire
+filter.is_archived = Cartlannaithe
+filter.not_archived = Gan Cartlannaithe
+filter.public = Poiblí
+filter.private = Príobháideach
+
+[search]
+search = Cuardaigh...
+type_tooltip = Cineál cuardaigh
+fuzzy = Doiléir
+fuzzy_tooltip = Cuir san áireamh torthaí a mheaitseálann an téarma cuardaigh go dlúth freisin
+exact = Beacht
+exact_tooltip = Ní chuir san áireamh ach torthaí a mheaitseálann leis an téarma
+repo_kind = Cuardaigh stórtha...
+user_kind = Cuardaigh úsáideoirí...
+org_kind = Cuardaigh eagraíochtaí...
+team_kind = Cuardaigh foirne...
+code_kind = Cód cuardaigh...
+code_search_unavailable = Níl cuardach cód ar fáil faoi láthair. Déan teagmháil le riarthóir an láithreáin.
+package_kind = Cuardaigh pacáistí...
+project_kind = Cuardaigh tionscadail...
+branch_kind = Cuardaigh brainsí...
+commit_kind = Cuardaigh tiomáintí...
+runner_kind = Cuardaigh reathaithe...
+no_results = Níl aon torthaí meaitseála le fáil.
+issue_kind = Saincheisteanna cuardaigh...
+pull_kind = Cuardaigh iarratais tarraingthe...
+keyword_search_unavailable = Níl cuardach de réir eochairfhocal ar fáil faoi láthair. Déan teagmháil le riarthóir an láithreáin.
+
+[aria]
+navbar = Barra Nascleanúint
+footer = Buntásc
+footer.links = Naisc
+
+[heatmap]
+number_of_contributions_in_the_last_12_months = %s ranníocaíochtaí le 12 mhí anuas
+less = Níos lú
+more = Níos mó
+
+[editor]
+buttons.heading.tooltip = Cuir ceannteideal leis
+buttons.bold.tooltip = Cuir téacs trom leis
+buttons.italic.tooltip = Cuir téacs iodálach leis
+buttons.quote.tooltip = Téacs luaigh
+buttons.code.tooltip = Cuir cód leis
+buttons.link.tooltip = Cuir nasc leis
+buttons.list.unordered.tooltip = Cuir liosta piléar leis
+buttons.list.ordered.tooltip = Cuir liosta uimhrithe
+buttons.list.task.tooltip = Cuir liosta tascanna leis
+buttons.mention.tooltip = Luaigh úsáideoir nó foireann
+buttons.ref.tooltip = Déan tagairt d'eisiúint nó iarratas tarraingthe
+buttons.switch_to_legacy.tooltip = Úsáid an eagarthóir oidhreachta ina ionad
+buttons.enable_monospace_font = Cumasaigh cló monospace
+buttons.disable_monospace_font = Díchumasaigh cló monospace
+
+[filter]
+string.asc = A - Z
+string.desc = Z - A
+
+[error]
+occurred = Tharla earráid
+not_found = Ní raibh an sprioc in ann a fháil.
+network_error = Earráid líonra
+
+[startpage]
+app_desc = Seirbhís Git gan phian, féin-óstáil
+install = Éasca a shuiteáil
+install_desc = Níl ort ach rith an dénártha do d'ardán, seol é le Docker, nó faigh pacáilte é.
+platform = Tras-ardán
+lightweight = Éadrom
+license = Foinse Oscailte
+
+[install]
+install = Suiteáil
+title = Cumraíocht Tosaigh
+db_title = Socruithe Bunachar Sonraí
+db_type = Cineál Bunachar Sonraí
+host = Óstach
+user = Ainm úsáideora
+password = Pasfhocal
+db_name = Ainm Bunachar Sonraí
+db_schema = Scéim
+db_schema_helper = Fág bán le haghaidh réamhshocraithe bunachar sonraí ("poiblí").
+ssl_mode = SSL
+path = Cosán
+reinstall_confirm_check_1 = Féadfaidh na sonraí criptithe ag an SECRET_KEY i app.ini a chailleadh: b'fhéidir nach mbeidh úsáideoirí in ann logáil isteach le 2FA/OTP & b'fhéidir nach bhfeidhmeoidh scátháin i gceart. Trí an bhosca seo a sheiceáil deimhníonn tú go bhfuil an ceart an SECRET_KEY sa chomhad reatha app.ini.
+reinstall_confirm_check_2 = B'fhéidir go gcaithfear na stórais agus na socruithe a athshioncronú. Trí an bhosca seo a sheiceáil deimhníonn tú go ndéanfaidh tú na crúcaí do na stórálacha agus an chomhad authorized_keys a athshioncronú de láimh. Deimhníonn tú go gcinnteoidh tú go bhfuil socruithe stórais agus scátháin ceart.
+err_empty_db_path = Ní féidir cosán bunachar sonraí SQLite3 a bheith folamh.
+no_admin_and_disable_registration = Ní féidir leat féinchlárú úsáideora a dhíchumasú gan cuntas riarthóra a chruthú.
+err_empty_admin_password = Ní féidir le pasfhocal an riarthóra a bheith folamh.
+err_empty_admin_email = Ní féidir le ríomhphost an riarthóra a bheith folamh.
+err_admin_name_is_reserved = Riarthóir Tá an t-ainm úsáideora neamhbhailí, tá an t-ainm úsáideora curtha in áirithe
+err_admin_name_pattern_not_allowed = Tá ainm úsáideora an riarthóra neamhbhailí, meaitseálann an t-ainm úsáideora patrún in áirithe
+err_admin_name_is_invalid = Tá an t-ainm úsáideora Riarthóra neamhbhailí
+general_title = Socruithe Ginearálta
+repo_path = Cosán Fréimhe an Stór
+repo_path_helper = Sábhálfar stórais iargúlta Git chuig an eolaire seo.
+lfs_path = Cosán Fréamh Git LFS
+lfs_path_helper = Stórálfar comhaid a rianóidh Git LFS san eolaire seo. Fág folamh le díchumasú.
+domain = Fearann Freastalaí
+domain_helper = Seoladh fearainn nó óstach don fhreastalaí.
+ssh_port = Port Freastalaí SSH
+app_url_helper = Seoladh bonn le haghaidh URLanna clóin HTTP(S) agus fógraí ríomhphoist.
+log_root_path = Cosán Logála
+log_root_path_helper = Scríofar comhaid logála chuig an eolaire seo.
+optional_title = Socruithe Roghnacha
+email_title = Socruithe ríomhphoist
+smtp_addr = Óstach SMTP
+smtp_port = Port SMTP
+smtp_from = Seol Ríomhphost Mar
+smtp_from_invalid = Tá an seoladh “Seol Ríomhphost Mar” neamhbhailí
+mailer_user = SMTP Ainm úsáideora
+mailer_password = Pasfhocal SMTP
+register_confirm = Deimhniú Ríomhphoist a cheangal le Clárú
+mail_notify = Cumasaigh Fógraí Ríomhphoist
+server_service_title = Socruithe Freastalaí agus Seirbhíse Tríú Páirtí
+offline_mode = Cumasaigh Mód Áitiúil
+disable_gravatar = Díchumasaigh Gravatar
+federated_avatar_lookup = Cumasaigh Abhatáir Chónaidhme
+disable_registration = Díchumasaigh Féin-Chlárú
+openid_signin = Cumasaigh Síniú isteach OpenID
+openid_signup = Cumasaigh Féinchlárú OpenID
+enable_captcha = Cumasaigh clárú CAPTCHA
+default_keep_email_private = Folaigh Seoltaí Ríomhphoist de réir Réamhshocrú
+default_allow_create_organization = Ceadaigh Cruthú Eagraíochtaí de réir Réamhshocrú
+default_enable_timetracking = Cumasaigh Rianú Ama de réir Réamhshocrú
+admin_title = Socruithe Cuntas Riarthóra
+admin_name = Ainm Úsáideora an Riarthóra
+admin_password = Pasfhocal
+confirm_password = Deimhnigh Pasfhocal
+admin_email = Seoladh ríomhphoist
+invalid_db_setting = Tá na socruithe bunachar sonraí neamhbhailí:%v
+invalid_db_table = Tá an tábla bunachar sonraí "%s" neamhbhailí: %v
+invalid_repo_path = Tá cosán fréimhe an stór neamhbhailí:%v
+invalid_app_data_path = Tá cosán sonraí an aip neamhbhailí:%v
+internal_token_failed = Theip ar chomhartha inmheánach a ghiniúint:%v
+secret_key_failed = Theip ar an eochair rúnda a ghiniúint:%v
+save_config_failed = Theip ar chumraíocht a shábháil:%v
+invalid_admin_setting = Tá socrú cuntas riarthóra neamhbhailí: %v
+invalid_log_root_path = Tá an cosán logála neamhbhailí:%v
+no_reply_address = Fearann Ríomhphoist Folaite
+password_algorithm = Algartam Hais Pasfhocal
+invalid_password_algorithm = Algartam hais pasfhocail neamhbhailí
+password_algorithm_helper = Socraigh an algartam hashing pasfhocal. Tá riachtanais agus neart éagsúla ag halgartaim. Tá an algartam argon2 sách slán ach úsáideann sé go leor cuimhne agus d'fhéadfadh sé a bheith míchuí do chórais bheaga.
+enable_update_checker = Cumasaigh Seiceoir Nuashonraithe
+env_config_keys = Cumraíocht Comhshaoil
+env_config_keys_prompt = Cuirfear na hathróga comhshaoil seo a leanas i bhfeidhm ar do chomhad cumraíochta freisin:
+
+[home]
+uname_holder = Ainm Úsáideora nó Seoladh Ríomhphoist
+switch_dashboard_context = Athraigh Comhthéacs an Deais
+my_repos = Stórais
+view_home = Amharc %s
+filter = Scagairí Eile
+filter_by_team_repositories = Scag de réir stórais foirne
+feed_of = `Fotha de "%s"`
+show_archived = Cartlannaithe
+show_both_archived_unarchived = Ag taispeáint idir chartlannaithe agus neamhchartlann
+show_only_archived = Ag taispeáint ach na cartlannaigh
+show_only_unarchived = Ag taispeáint ach na cartlannaigh neamh
+show_private = Príobháideach
+show_both_private_public = Ag taispeáint poiblí agus príobháideach araon
+show_only_private = Ag taispeáint príobháideach amháin
+show_only_public = Ag taispeáint poiblí amháin
+issues.in_your_repos = I do stórais
+
+[explore]
+repos = Stórais
+users = Úsáideoirí
+organizations = Eagraíochtaí
+go_to = Téigh chuig
+code = Cód
+code_last_indexed_at = Innéacsaithe %s is déanaí
+relevant_repositories_tooltip = Tá stórais atá forca iad nó nach bhfuil aon ábhar acu, gan aon deilbhín, agus gan aon tuairisc i bhfolach.
+relevant_repositories = Níl ach stórtha ábhartha á dtaispeáint, taispeáin torthaí neamhscagtha.
+
+[auth]
+create_new_account = Cláraigh Cuntas
+disable_register_prompt = Tá clárú faoi dhíchumasú. Téigh i dteagmháil le do riarthóir suíomh.
+disable_register_mail = Tá deimhniú ríomhphoist le haghaidh clárú faoi dhíchum
+manual_activation_only = Déan teagmháil le riarthóir do tsuímh chun gníomhachtú a chur i gcrích.
+remember_me = Cuimhnigh ar an nGléas seo
+forgot_password_title = Dearmad ar an bPasfhocal
+forgot_password = Dearmad ar an bPasfhocal?
+sign_up_successful = Cruthaíodh cuntas go rathúil. Fáilte romhat!
+must_change_password = Nuashonraigh do phasfhocal
+allow_password_change = A cheangal ar an úsáideoir pasfhocal a athrú (molta)
+active_your_account = Gníomhachtaigh do chuntas
+account_activated = Cuireadh cuntas gníomhachtaithe
+resent_limit_prompt = D'iarr tú ríomhphost gníomhachtaithe cheana féin le déanaí. Fan 3 nóiméad le do thoil agus bain triail as arís.
+has_unconfirmed_mail = Dia duit %s, tá seoladh ríomhphoist neamhdheimhnithe agat (%s). Mura bhfuair tú ríomhphost dearbhaithe nó mura gcaithfidh tú ceann nua a athsheoladh, cliceáil ar an gcnaipe thíos le do thoil.
+resend_mail = Cliceáil anseo chun do r-phost gníomhachtaithe a athshe
+reset_password = Aisghabháil Cuntas
+invalid_code = Tá do chód deimhnithe neamhbhailí nó tá sé in éag.
+invalid_code_forgot_password = Tá do chód deimhnithe neamhbhailí nó tá sé in éag. Cliceáil anseo chun seisiún nua a thosú.
+invalid_password = Ní mheaitseálann do phasfhocal leis an bhfocal faire a úsáideadh chun an cuntas a chruthú.
+reset_password_helper = Gnóthaigh Cuntas
+reset_password_wrong_user = Tá tú sínithe isteach mar %s, ach tá an nasc aisghabhála cuntas i gceist le haghaidh %s
+password_too_short = Ní féidir fad pasfhocal a bheith níos lú ná %d carachtair.
+verify = Fíoraigh
+scratch_code = Cód Scratch
+use_scratch_code = Úsáid cód scratch
+twofa_scratch_used = D'úsáid tú do chód scratch. Tá tú atreoraithe chuig an leathanach socruithe dhá fhachtóir ionas gur féidir leat clárú do ghléas a bhaint nó cód scratch nua a ghiniúint.
+twofa_passcode_incorrect = Tá do phaschód mícheart. Má chuir tú do ghléas míchuir tú, bain úsáid as do chód scratch chun síniú isteach.
+twofa_scratch_token_incorrect = Tá do chód scratch mícheart.
+login_userpass = Sínigh isteach
+oauth_signup_tab = Cláraigh Cuntas Nua
+oauth_signup_title = Comhlánaigh Cuntas Nua
+oauth_signup_submit = Cuntas Comhlánaigh
+oauth_signin_title = Sínigh isteach chun Cuntas Nasctha a Údarú
+oauth_signin_submit = Cuntas Nasc
+oauth.signin.error = Bhí earráid ann ag próiseáil an t-iarratas ar údarú. Má leanann an earráid seo, déan teagmháil le riarthóir an láithreáin.
+oauth.signin.error.access_denied = Diúltaíodh an t-iarratas ar údarú.
+oauth.signin.error.temporarily_unavailable = Theip ar údarú toisc nach bhfuil an fhreastalaí fíordheimhnithe ar fáil Bain triail as arís níos déanaí.
+openid_connect_submit = Ceangail
+openid_connect_title = Ceangail le cuntas atá ann cheana
+openid_connect_desc = Níl an URI OpenID roghnaithe ar eolas. Comhcheangail é le cuntas nua anseo.
+openid_register_title = Cruthaigh cuntas nua
+openid_register_desc = Níl an URI OpenID roghnaithe ar eolas. Comhcheangail é le cuntas nua anseo.
+openid_signin_desc = Cuir isteach do URI OpenID. Mar shampla: alice.openid.example.org nó https://openid.example.org/alice.
+disable_forgot_password_mail = Tá aisghabháil cuntas díchumasaithe toisc nach bhfuil aon ríomhphost ar bun. Téigh i dteagmháil le do riarthóir suíomh.
+disable_forgot_password_mail_admin = Níl aisghabháil cuntas ar fáil ach amháin nuair a bhíonn ríomhphost ar bun. Bunaigh ríomhphost le do thoil chun aisghabháil cuntas a chumasú
+email_domain_blacklisted = Ní féidir leat clárú le do sheoladh ríomhphoist.
+authorize_application = Údaraigh an Feidhmchlár
+authorize_redirect_notice = Déanfar tú a atreorú chuig %s má údaraíonn tú an feidhmchlár seo.
+authorize_application_created_by = Chruthaigh %s an feidhmchlár seo.
+authorize_title = Údaraigh "%s" chun rochtain a fháil ar do chuntas?
+authorization_failed = Theip ar údarú
+authorization_failed_desc = Theip ar an údarú toisc gur bhraitheamar iarratas neamhbhailí. Téigh i dteagmháil le cothabhálaí an aip a rinne tú iarracht a údarú.
+password_pwned = Tá an pasfhocal a roghnaigh tú ar liosta na bhfocal faire goidte a nochtadh cheana i sáruithe sonraí poiblí. Bain triail eile as le pasfhocal eile agus smaoinigh ar an bpasfhocal seo a athrú áit eile freisin.
+password_pwned_err = Ní fhéadfaí iarratas a chomhlánú ar HaveIBeenPwned
+last_admin = Ní féidir leat an riarachán deireanach a bhaint. Caithfidh riarachán amháin ar a laghad a bheith ann.
+back_to_sign_in = Ar ais go Sínigh Isteach
+
+[mail]
+view_it_on = Féach air ar %s
+reply = nó freagra a thabhairt ar an r-phost seo go díreach
+hi_user_x = Dia duit %s,
+activate_account = Gníomhachtaigh do chuntas le do thoil
+activate_account.text_1 = Dia duit %[1]s, go raibh maith agat as clárú ag %[2]s!
+activate_account.text_2 = Cliceáil ar an nasc seo a leanas chun do chuntas a ghníomhachtú laistigh de %s:
+activate_email = Fíoraigh do sheoladh ríomhphoist
+activate_email.text = Cliceáil ar an nasc seo a leanas le do sheoladh ríomhphoist a fhíorú laistigh de %s:
+register_notify = Fáilte go dtí %s
+register_notify.text_1 = is é seo do ríomhphost deimhnithe clárúcháin do %s!
+reset_password = Aisghabháil do chuntas
+register_success = Clárú rathúil
+issue_assigned.pull = @%[1]s shann tú don iarratas tarraingthe %[2]s i stór %[3]s.
+issue_assigned.issue = @%[1]s shann tú don eisiúint %[2]s i stór %[3]s.
+issue.x_mentioned_you = Luaigh @%s tú:
+issue.action.force_push = Bhrúigh %[1]s an %[2]s go fórsa ó %[3]s go %[4]s.
+issue.action.push_1 = Bhrúigh @%[1]s %[3]d tiomáintí go %[2]s
+issue.action.push_n = @%[1]s brúite % [3]d tiomáintí chuig %[2]s
+issue.action.close = @%[1]s dúnta #%[2]d.
+issue.action.reopen = D'athoscail @%[1]s #%[2]d.
+issue.action.merge = Chomhcheangail @%[1]s #%[2]d le %[3]s.
+issue.action.approve = Cheadaigh @%[1]s an t-iarratas tarraingthe seo.
+issue.action.reject = D'iarr @%[1]s athruithe ar an iarratas tarraingthe seo.
+issue.action.review = Rinne @%[1]s trácht ar an iarratas tarraingthe seo.
+issue.action.review_dismissed = Dhiúltaigh @%[1]s an léirmheas deiridh ó %[2]s don iarratas tarraingthe seo.
+issue.action.ready_for_review = Mharcáil @%[1]s an t-iarratas tarraingthe seo réidh lena athbhreithniú.
+issue.action.new = Chruthaigh @%[1]s #%[2]d.
+issue.in_tree_path = I %s:
+release.new.subject = Scaoileadh %s i %s
+release.new.text = D'eisigh @%[1]s %[2]s i %[3]s
+release.title = Teideal: %s
+release.note = Nóta:
+release.downloads = Íoslódálacha:
+release.download.zip = Cód Foinse (ZIP)
+release.download.targz = Cód Foinse (TAR.GZ)
+repo.transfer.to_you = tú
+repo.transfer.body = Chun glacadh leis nó a dhiúltú tabhair cuairt ar %s nó neamhaird a dhéanamh air.
+team_invite.subject = Tá cuireadh tugtha agat ag %[1]s chun dul le heagraíocht %[2]s
+team_invite.text_1 = Tá cuireadh tugtha ag %[1]s duit chun dul le foireann %[2]s in eagraíocht %[3]s.
+team_invite.text_2 = Cliceáil ar an nasc seo a leanas le do thoil chun dul isteach san fhoireann:
+team_invite.text_3 = Nóta: Bhí an cuireadh seo beartaithe do %[1]s. Mura raibh tú ag súil leis an gcuireadh seo, is féidir leat neamhaird a dhéanamh den ríomhphost seo.
+
+[modal]
+yes = Tá
+no = Níl
+confirm = Deimhnigh
+cancel = Cealaigh
+modify = Nuashonraigh
+
+[form]
+UserName = Ainm úsáideora
+RepoName = Ainm stórais
+Email = Seoladh ríomhphoist
+Password = Pasfhocal
+Retype = Deimhnigh Pasfhocal
+PayloadUrl = URL Pálasta
+TeamName = Ainm foirne
+AuthName = Ainm údaraithe
+AdminEmail = Ríomhphost riaracháin
+NewBranchName = Ainm brainse nua
+CommitSummary = Achoimre tiomáintí
+CommitMessage = Tiomantas teachtaireacht
+CommitChoice = Rogha tiomanta
+TreeName = Cosán comhaid
+Content = Ábhar
+SSPISeparatorReplacement = Deighilteoir
+SSPIDefaultLanguage = Teanga Réamhshocraithe
+require_error = ` ní féidir a bheith folamh.`
+git_ref_name_error = ` caithfidh gur ainm tagartha Git dea-chruthaithe é.`
+size_error = ` ní mór méid %s.`
+min_size_error = ` ní mór go mbeadh carachtar %s ar a laghad ann.`
+max_size_error = caithfidh %s carachtar ar a mhéad a bheith ann.
+email_error = `ní seoladh ríomhphoist bailí é.`
+url_error = `ní URL bailí é "%s".`
+include_error = ` ní mór fotheaghrán a bheith ann "%s".`
+glob_pattern_error = ` tá patrún glob neamhbhailí: %s.`
+regex_pattern_error = `tá patrún regex neamhbhailí: %s.`
+invalid_group_team_map_error = ` tá mapáil neamhbhailí: %s`
+unknown_error = Earráid anaithnid:
+captcha_incorrect = Tá an cód CAPTCHA mícheart.
+password_not_match = Ní mheaitseálann na pasfhocail.
+lang_select_error = Roghnaigh teanga ón liosta.
+username_been_taken = Tá an t-ainm úsáideora tógtha cheana féin.
+username_change_not_local_user = Ní cheadaítear d'úsáideoirí neamháitiúla a n-ainm úsáideora a athrú.
+repo_name_been_taken = Úsáidtear ainm an stór cheana féin.
+repository_force_private = Tá Force Private cumasaithe: ní féidir stórais phríobháideacha a dhéanamh poiblí.
+repository_files_already_exist = Tá comhaid ann cheana féin don stór seo. Déan teagmháil leis an riarthóir córais.
+repository_files_already_exist.adopt = Tá comhaid ann cheana don stór seo agus ní féidir iad a ghlacadh ach amháin.
+repository_files_already_exist.delete = Tá comhaid ann cheana féin don stór seo. Ní mór duit iad a scriosadh.
+repository_files_already_exist.adopt_or_delete = Tá comhaid ann cheana féin don stór seo. Glac iad nó scrios iad.
+visit_rate_limit = Thug cuairt chianda aghaidh ar theorannú rátaí.
+2fa_auth_required = Bhí fíordheimhniú dhá thoisc ag teastáil ó chianchuairt.
+org_name_been_taken = Tá ainm na heagraíochta glactha cheana féin.
+team_name_been_taken = Tá ainm na foirne glactha cheana féin.
+team_no_units_error = Ceadaigh rochtain ar chuid stórais amháin ar a laghad.
+email_been_used = Úsáidtear an seoladh ríomhphoist cheana féin.
+email_invalid = Tá an seoladh ríomhphoist neamhbhailí.
+openid_been_used = Úsáidtear an seoladh OpenID "%s" cheana féin.
+username_password_incorrect = Tá ainm úsáideora nó pasfhocal mícheart.
+password_complexity = Ní shásaíonn pasfhocal ceanglais castachta:
+password_lowercase_one = Carachtar beaga amháin ar a laghad
+password_uppercase_one = Carachtar cás uachtair amháin ar a laghad
+password_digit_one = Digit amháin ar a laghad
+password_special_one = Carachtar speisialta amháin ar a laghad (poncaíocht, lúibíní, luachana, srl.)
+enterred_invalid_repo_name = Tá ainm an stórais a chuir tú isteach mícheart.
+enterred_invalid_org_name = Tá ainm na heagraíochta a chuir tú isteach mícheart.
+enterred_invalid_owner_name = Níl ainm an úinéara nua bailí.
+enterred_invalid_password = Tá an pasfhocal a chuir tú isteach mícheart.
+unset_password = Níor shocraigh an t-úsáideoir logála isteach an pasfhocal.
+unsupported_login_type = Ní thacaítear leis an gcineál logála isteach chun cuntas a scriosadh.
+user_not_exist = Níl an t-úsáideoir ann.
+team_not_exist = Níl an fhoireann ann.
+cannot_add_org_to_team = Ní féidir eagraíocht a chur leis mar bhall foirne.
+duplicate_invite_to_team = Tugadh cuireadh don úsáideoir cheana féin mar bhall foirne.
+organization_leave_success = D'fhág tú an eagraíocht %s go rathúil.
+invalid_ssh_key = Ní féidir d'eochair SSH a fhíorú: %s
+invalid_gpg_key = Ní féidir d'eochair GPG a fhíorú: %s
+invalid_ssh_principal = Príomhoide neamhbhailí: %s
+must_use_public_key = Is eochair phríobháideach an eochair a sholáthraíonn tú. Ná uaslódáil d'eochair phríobháideach áit ar bith Úsáid d'eochair phoiblí ina ionad.
+auth_failed = Theip ar fhíordheimhniú:%v
+target_branch_not_exist = Níl spriocbhrainse ann.
+admin_cannot_delete_self = Ní féidir leat tú féin a scriosadh nuair is riarachán tú. Bain do phribhléidí riaracháin ar dtús.
+
+[user]
+change_avatar = Athraigh do abhatár…
+joined_on = Cláraigh ar %s
+repositories = Stórais
+activity = Gníomhaíocht Phoiblí
+follow = Lean
+unfollow = Dílean
+starred = Stórais Réaltaithe
+watched = Stórais Breathnaithe
+code = Cód
+projects = Tionscadail
+overview = Forbhreathnú
+user_bio = Beathaisnéis
+email_visibility.limited = Tá do sheoladh ríomhphoist le feiceáil do gach úsáideoir fíordheimhnithe
+show_on_map = Taispeáin an áit seo ar léarscáil
+settings = Socruithe Úsáideora
+disabled_public_activity = Dhíchumasaigh an t-úsáideoir seo infheictheacht phoiblí na gníomhaíochta.
+form.name_reserved = Tá an t-ainm úsáideora "%s" in áirithe.
+form.name_pattern_not_allowed = Ní cheadaítear an patrún "%s" in ainm úsáideora.
+
+[settings]
+profile = Próifíl
+account = Cuntas
+appearance = Dealramh
+password = Pasfhocal
+security = Slándáil
+avatar = Abhatár
+ssh_gpg_keys = Eochracha SSH/GPG
+applications = Iarratais
+repos = Stórais
+delete = Scrios Cuntas
+twofa = Fíordheimhniú Dhá Fachtóir (TOTP)
+organization = Eagraíochtaí
+uid = UID
+webauthn = Fíordheimhniú Dhá-Fachtóir (Eochracha Slándála)
+public_profile = Próifíl Phoiblí
+location_placeholder = Comhroinn do shuíomh thart le daoine eile
+full_name = Ainm Iomlán
+website = Láithreán Gréasáin
+location = Suíomh
+update_profile = Nuashonraigh Próifíl
+update_language_not_found = Níl teanga “%s” ar fáil.
+update_language_success = Tá an teanga nuashonraithe.
+update_profile_success = Nuashonraíodh do phróifíl.
+change_username = Tá d'ainm úsáideora athraithe.
+change_username_prompt = Nóta: Athraíonn athrú d'ainm úsáideora URL do chuntais freisin.
+change_username_redirect_prompt = Athreoróidh an sean-ainm úsáideora go dtí go n-éilíonn duine é
+continue = Lean ar aghaidh
+cancel = Cealaigh
+language = Teanga
+ui = Téama
+hidden_comment_types = Cineálacha tráchtaireachta ceilte
+hidden_comment_types.ref_tooltip = Tuairimí ina dtagraíodh an tsaincheist seo ó shaincheiste/coiste eile...
+hidden_comment_types.issue_ref_tooltip = Tuairimí ina n-athraíonn an t-úsáideoir an brainse/clib a bhaineann leis an tsaincheist
+comment_type_group_reference = Tagairt
+comment_type_group_label = Lipéad
+comment_type_group_milestone = Cloch Mhíle
+comment_type_group_assignee = Sannaitheoir
+comment_type_group_title = Teideal
+comment_type_group_branch = Brainse
+comment_type_group_time_tracking = Rianú Ama
+comment_type_group_deadline = Spriocdháta
+comment_type_group_dependency = Spleáchas
+comment_type_group_lock = Stádas Glas
+comment_type_group_review_request = Iarratas athbhreithnithe
+comment_type_group_pull_request_push = Tiomáintí curtha leis
+comment_type_group_project = Tionscadal
+comment_type_group_issue_ref = Tagairt eisiúna
+saved_successfully = Sábháiltear do shocruithe go rathúil.
+privacy = Príobháideacht
+keep_activity_private = Folaigh gníomhaíocht ó leathanach próifíle
+enable_custom_avatar = Úsáid Avatar Saincheaptha
+choose_new_avatar = Roghnaigh avatar nua
+update_avatar = Nuashonrú Avatar
+delete_current_avatar = Scrios Avatar Reatha
+uploaded_avatar_not_a_image = Ní íomhá é an comhad uaslódáilte.
+uploaded_avatar_is_too_big = Sáraíonn méid an chomhaid uaslódáilte (%d KiB) an méid uasta (%d KiB).
+update_avatar_success = Tá do avatar nuashonraithe.
+update_user_avatar_success = Nuashonraíodh avatar an úsáideora.
+old_password = Pasfhocal Reatha
+new_password = Pasfhocal Nua
+retype_new_password = Deimhnigh Pasfhocal Nua
+password_incorrect = Tá an pasfhocal reatha mícheart.
+manage_emails = Bainistigh Seoltaí Ríomhphoist
+email_desc = Úsáidfear do phríomhsheoladh ríomhphoist le haghaidh fógraí, aisghabháil pasfhocal agus, ar choinníoll nach bhfuil sé i bhfolach, oibríochtaí Git bunaithe ar an ngréas
+primary = Príomhúil
+activated = Gníomhachtaithe
+requires_activation = Éilíonn gníomhachtú
+primary_email = Déan príomhúil
+activate_email = Seol Gníomhachtaithe
+activations_pending = Gníomhartha ar Feitheamh
+can_not_add_email_activations_pending = Tá gníomhachtú ar feitheamh, déan iarracht arís i gceann cúpla nóiméad más mian leat ríomhphost nua a chur leis.
+delete_email = Bain
+email_deletion = Bain Seoladh R-phoist
+email_deletion_desc = Bainfear an seoladh ríomhphoist agus an fhaisnéis ghaolmhar as do chuntas. Ní bheidh na tiomáintí Git a bhaineann leis an seoladh ríomhphoist seo athraithe. Lean ar aghaidh?
+email_deletion_success = Tá an seoladh ríomhphoist bainte.
+theme_update_success = Nuashonraíodh do théama.
+theme_update_error = Níl an téama roghnaithe ann.
+openid_deletion = Bain Seoladh OpenID
+openid_deletion_desc = Cuirfidh an seoladh OpenID seo a bhaint as do chuntas cosc ort síniú isteach leis. Lean ar aghaidh?
+openid_deletion_success = Tá an seoladh OpenID bainte.
+add_new_openid = Cuir URI OpenID nua leis
+add_email = Cuir Seoladh R-phoist leis
+add_openid = Cuir OpenID URI
+add_email_success = Cuireadh an seoladh ríomhphoist nua leis.
+email_preference_set_success = Socraíodh rogha ríomhphoist go rathúil.
+add_openid_success = Cuireadh an seoladh OpenID nua leis.
+keep_email_private = Folaigh Seoladh ríomhphoist
+openid_desc = Ligeann OpenID duit fíordheimhniú a tharmligean chuig soláthraí seachtrach.
+manage_ssh_keys = Bainistigh Eochracha SSH
+manage_ssh_principals = Bainistigh Príomhoidí Teastas SSH
+manage_gpg_keys = Bainistigh Eochracha GPG
+add_key = Cuir Eochair
+principal_desc = Tá baint ag na príomhoidí deimhnithe SSH seo le do chuntas agus ceadaíonn siad rochtain iomlán ar do stórtha.
+add_new_principal = Cuir Príomhoide
+ssh_key_been_used = Cuireadh an eochair SSH seo leis an bhfreastalaí cheana féin.
+ssh_key_name_used = Tá eochair SSH leis an ainm céanna ar do chuntas cheana féin.
+ssh_principal_been_used = Cuireadh an príomhoide seo leis an bhfreastalaí cheana féin.
+gpg_key_id_used = Tá eochair GPG poiblí leis an aitheantas céanna ann cheana féin.
+gpg_no_key_email_found = Ní mheaitseálann an eochair GPG seo aon seoladh ríomhphoist gníomhachtaithe a bhaineann le do chuntas. Féadfar é a chur leis fós má shíníonn tú an comhartha a chuirtear ar fáil.
+gpg_key_matched_identities = Aitheantais Meaitseáilte:
+gpg_key_matched_identities_long = Meaitseálann na haitheantais leabaithe san eochair seo na seoltaí ríomhphoist gníomhachtaithe seo a leanas don úsáideoir seo. Is féidir gealltanais a mheaitseálann na seoltaí ríomhphoist seo a fhíorú leis an eochair seo.
+gpg_key_verified = Eochair Fhíoraithe
+gpg_key_verified_long = Fíoraíodh an eochair le heochairchomhartha agus is féidir í a úsáid chun a fhíorú go bhfuil geallta ag meaitseáil aon seoltaí ríomhphoist gníomhachtaithe don úsáideoir seo chomh maith le haon aitheantas comhoiriúnaithe don eochair seo.
+gpg_key_verify = Fíoraigh
+gpg_invalid_token_signature = Ní mheaitseálann an eochair, an síniú agus an comhartha GPG a sholáthraítear nó tá an comhartha as dáta.
+gpg_token_required = Ní mór duit síniú a sholáthar don chomhartha thíos
+gpg_token = Comhartha
+gpg_token_help = Is féidir leat síniú a ghiniúint ag úsáid:
+gpg_token_signature = Síniú Armúrtha GPG
+verify_gpg_key_success = Tá eochair GPG “%s” fíoraithe.
+ssh_key_verified = Eochair Fhíoraithe
+ssh_key_verified_long = Fíoraíodh an eochair le heochairchomhartha agus is féidir í a úsáid chun a fhíorú go bhfuil geallta ag teacht le haon seoltaí ríomhphoist gníomhachtaithe don úsáideoir seo.
+ssh_key_verify = Fíoraigh
+ssh_invalid_token_signature = Ní mheaitseálann an eochair, an síniú nó an comhartha SSH a sholáthraítear nó tá an comhartha as dáta.
+ssh_token_required = Ní mór duit síniú a sholáthar don chomhartha thíos
+ssh_token = Comhartha
+ssh_token_help = Is féidir leat síniú a ghiniúint ag úsáid:
+ssh_token_signature = Síniú armúrtha SSH
+verify_ssh_key_success = Tá eochair SSH “%s” fíoraithe.
+subkeys = Fo-eochracha
+key_id = Eochair ID
+key_name = Ainm Eochair
+key_content = Ábhar
+principal_content = Ábhar
+add_key_success = Cuireadh an eochair SSH “%s” leis.
+add_gpg_key_success = Cuireadh an eochair GPG “%s” leis.
+add_principal_success = Cuireadh príomhoide an deimhnithe SSH “%s” leis.
+delete_key = Bain
+ssh_key_deletion = Bain Eochair SSH
+gpg_key_deletion = Bain Eochair GPG
+ssh_principal_deletion = Bain Príomhoide Teastas SSH
+ssh_key_deletion_desc = Ag baint eochair SSH, cuirtear a rochtain ar do chuntas a chúlghairm. Lean ar aghaidh?
+gpg_key_deletion_desc = Má bhaintear eochair GPG, ní fhíoraítear gealltanais a shínigh sé. An leanfaidh tú ar aghaidh?
+ssh_principal_deletion_desc = Cúlghairtear a rochtain ar do chuntas Príomhoide Teastas SSH. Lean ar aghaidh?
+ssh_key_deletion_success = Tá an eochair SSH bainte.
+gpg_key_deletion_success = Tá an eochair GPG bainte amach.
+ssh_principal_deletion_success = Tá an príomhoide bainte.
+added_on = Cuireadh leis ar %s
+valid_until_date = Bailí go dtí %s
+valid_forever = Bailí go deo
+last_used = Úsáidtear go deireanach ar
+no_activity = Gan gníomhaíocht le déanaí
+can_read_info = Léigh
+can_write_info = Scríobh
+key_state_desc = Úsáideadh an eochair seo le 7 lá anuas
+token_state_desc = Úsáideadh an comhartha seo le 7 lá anuas
+principal_state_desc = Úsáideadh an príomhoide seo le 7 lá anuas
+show_openid = Taispeáin ar phróifíl
+hide_openid = Folaigh ón bpróifíl
+ssh_signonly = Tá SSH faoi láthair faoi láthair mar sin ní úsáidtear na heochracha seo ach le haghaidh fíorú sínithe tiomanta.
+ssh_externally_managed = Déantar an eochair SSH seo a bhainistiú go seachtrach don úsáideoir seo
+generate_new_token = Gin Comhartha Nua
+token_name = Ainm Comhartha
+generate_token = Gin Comhartha
+generate_token_success = Gintear do chomhartha nua. Cóipeáil é anois mar ní thaispeánfar é arís.
+generate_token_name_duplicate = Úsáideadh %s mar ainm feidhmchláir cheana féin. Úsáid ceann nua le do thoil.
+delete_token = Scrios
+access_token_deletion = Scrios Comhartha Rochtana
+access_token_deletion_desc = Cúlghairfear rochtain ar do chuntas le haghaidh feidhmchláir a úsáideann é a scriosadh comhartha. Ní féidir é seo a chur ar ais. Lean ar aghaidh?
+delete_token_success = Tá an comhartha scriosta. Níl rochtain ag iarratais a úsáideann é ar do chuntas a thuilleadh.
+repo_and_org_access = Rochtain Stórála agus Eagraíochta
+permissions_public_only = Poiblí amháin
+permissions_access_all = Gach (poiblí, príobháideach agus teoranta)
+select_permissions = Roghnaigh ceadanna
+permission_no_access = Gan rochtain
+permission_read = Léigh
+permission_write = Léigh agus Scríobh
+at_least_one_permission = Ní mór duit cead amháin ar a laghad a roghnú chun comhartha a chruthú
+permissions_list = Ceadanna:
+manage_oauth2_applications = Bainistigh Feidhmchláir OAuth2
+edit_oauth2_application = Cuir Feidhmchlár OAuth2 in eagar
+remove_oauth2_application = Bain Feidhmchlár OAuth2
+remove_oauth2_application_desc = Ag baint feidhmchlár OAuth2, cúlghairfear rochtain ar gach comhartha rochtana sínithe. Lean ar aghaidh?
+remove_oauth2_application_success = Scriosadh an feidhmchlár.
+create_oauth2_application = Cruthaigh Feidhmchlár OAuth2 nua
+create_oauth2_application_button = Cruthaigh Feidhmchlár
+create_oauth2_application_success = D'éirigh leat feidhmchlár nua OAuth2 a chruthú.
+update_oauth2_application_success = D'éirigh leat an feidhmchlár OAuth2 a nuashonrú.
+oauth2_application_name = Ainm Feidhmchláir
+oauth2_confidential_client = Cliant Rúnda. Roghnaigh le haghaidh aipeanna a choimeádann an rún faoi rún, mar aipeanna gréasáin. Ná roghnaigh le haghaidh aipeanna dúchasacha lena n-áirítear aipeanna deisce agus soghluaiste.
+oauth2_redirect_uris = URIs a atreorú. Úsáid líne nua do gach URI le do thoil.
+save_application = Sábháil
+oauth2_client_id = ID Cliant
+oauth2_client_secret = Rúnda Cliant
+oauth2_regenerate_secret = Athghin Rún
+oauth2_regenerate_secret_hint = Chaill tú do rún?
+oauth2_client_secret_hint = Ní thaispeánfar an rún arís tar éis duit an leathanach seo a fhágáil nó a athnuachan. Déan cinnte le do thoil gur shábháil tú é.
+oauth2_application_edit = Cuir in eagar
+oauth2_application_create_description = Tugann feidhmchláir OAuth2 rochtain d'iarratas tríú páirtí ar chuntais úsáideora ar an gcás seo.
+oauth2_application_remove_description = Cuirfear feidhmchlár OAuth2 a bhaint cosc air rochtain a fháil ar chuntais úsáideora údaraithe ar an gcás seo. Lean ar aghaidh?
+authorized_oauth2_applications = Feidhmchláir Údaraithe OAuth2
+revoke_key = Cúlghairm
+revoke_oauth2_grant = Rochtain a chúlghairm
+revoke_oauth2_grant_description = Cuirfidh rochtain ar an bhfeidhmchlár tríú páirtí seo a chúlghairm cosc ar an bhfeidhmchlár seo rochtain An bhfuil tú cinnte?
+revoke_oauth2_grant_success = Cúlghairtear rochtain go rathúil.
+twofa_desc = Chun do chuntas a chosaint ar goid pasfhocal, is féidir leat fón cliste nó gléas eile a úsáid chun pasfhocail aon-uaire bunaithe ar am (“TOTP”) a fháil.
+twofa_recovery_tip = Má chailleann tú do ghléas, beidh tú in ann eochair aisghabhála aonúsáide a úsáid chun rochtain ar do chuntas a fháil ar ais.
+twofa_is_enrolled = Tá do chuntas cláraithe i bhfíord heimhniú dhá fhachtóir faoi láthair.
+twofa_not_enrolled = Níl do chuntas cláraithe faoi láthair i bhfíordheimhniú dhá fhachtóir.
+twofa_disable = Díchumasaigh Fíordheimhniú Dhá-Fachtóir
+twofa_scratch_token_regenerate = Athghin Eochair Aisghabhála Aonúsáide
+twofa_scratch_token_regenerated = Is é %s d'eochair aisghabhála aonúsáide anois. Stóráil é in áit shábháilte, mar ní thaispeánfar é arís.
+twofa_enroll = Cláraigh le Fíordheimhniú Dhá-Fachtóir
+twofa_disable_note = Is féidir leat fíordheimhniú dhá fhachtóir a dhíchumasú más gá.
+twofa_disable_desc = Má dhíchumasaítear fíordheimhniú dhá fhachtóir beidh do chuntas chomh slán. Lean ar aghaidh?
+regenerate_scratch_token_desc = Má chuir tú d'eochair aisghabhála míchuir tú nó má d'úsáid tú é cheana féin chun síniú isteach, is féidir leat é a athshocrú anseo.
+twofa_disabled = Tá fíordheimhniú dhá fhachtóir díchumasaithe.
+scan_this_image = Scan an íomhá seo le d'fheidhmchlár fíordheimhnithe:
+or_enter_secret = Nó cuir isteach an rún: %s
+then_enter_passcode = Agus cuir isteach an paschód a léirítear san fheidhmchlár:
+passcode_invalid = Tá an pascód mícheart. Bain triail as arís.
+twofa_enrolled = Tá do chuntas cláraithe go rathúil. Stóráil d'eochair aisghabhála aonúsáide (%s) in áit shábháilte, mar ní thaispeánfar é arís.
+twofa_failed_get_secret = Theip ar rún a fháil.
+webauthn_desc = Is feistí crua-earraí iad eochracha slándála ina bhfuil eochracha cripte Is féidir iad a úsáid le haghaidh fíordheimhniú dhá fhachtóir. Caithfidh eochracha slándála tacú le caigh deán Fíordheimhnithe WebAuthn
+webauthn_register_key = Cuir Eochair Slándála
+webauthn_nickname = Leasainm
+webauthn_delete_key = Bain Eochair Slándála
+webauthn_delete_key_desc = Má bhaineann tú eochair slándála ní féidir leat síniú leis a thuilleadh. Lean ar aghaidh?
+webauthn_key_loss_warning = Má chailleann tú d'eochracha slándála, caillfidh tú rochtain ar do chuntas.
+webauthn_alternative_tip = B'fhéidir gur mhaith leat modh fíordheimhnithe breise a chumrú.
+link_account = Cuntas Nasc
+remove_account_link = Bain Cuntas Nasctha
+remove_account_link_success = Tá an cuntas nasctha bainte amach.
+hooks.desc = Cuir crúcaí gréasán leis a spreagfar do gach stór ar leatsa iad.
+orgs_none = Níl tú ina bhall d'aon eagraíochtaí.
+repos_none = Níl aon stórais agat.
+delete_account = Scrios Do Cuntas
+delete_prompt = Scriosfaidh an oibríocht seo do chuntas úsáideora go buan. NÍ FÉIDIR é a chealú.
+delete_with_all_comments = Tá do chuntas níos óige ná %s. Chun tuairimí taibhse a sheachaint, scriosfar gach trácht saincheistea/PR leis.
+confirm_delete_account = Deimhnigh scriosadh
+delete_account_title = Scrios Cuntas Úsáide
+delete_account_desc = An bhfuil tú cinnte gur mhaith leat an cuntas úsáideora seo a scriosadh go buan?
+email_notifications.enable = Cumasaigh Fógraí Ríomhphoist
+email_notifications.onmention = Ríomhphost amháin ar luaigh
+email_notifications.disable = Díchumasaigh Fógraí Ríomhphoist
+email_notifications.submit = Socraigh rogha ríomhphoist
+email_notifications.andyourown = Agus Do Fógraí Féin
+visibility = Infheictheacht úsáideora
+visibility.public = Poiblí
+visibility.public_tooltip = Infheicthe do gach duine
+visibility.limited = Teoranta
+visibility.private = Príobháideach
+visibility.private_tooltip = Ní fheictear ach do bhaill d'eagraíochtaí a chuaigh tú isteach
+
+[repo]
+owner = Úinéir
+owner_helper = B'fhéidir nach dtaispeánfar roinnt eagraíochtaí sa anuas mar gheall ar theorainn uasta comhaireamh stórais.
+repo_name = Ainm Stórais
+repo_size = Méid an Stóras
+template = Teimpléad
+template_helper = Déan teimpléad den stóras
+template_description = Ligeann stórais teimpléid d'úsáideoirí stórais nua a ghiniúint leis an struchtúr eolaire céanna, comhaid agus socruithe roghnacha.
+visibility = Infheictheacht
+visibility_description = Ní bheidh ach an t-úinéir nó baill na heagraíochta má tá cearta acu in ann é a fheiceáil.
+visibility_helper = Déan stóras príobháideach
+visibility_helper_forced = Cuireann riarthóir do shuíomh iallach ar stórais nua a bheith príobháideach.
+clone_helper = Teastaíonn cabhair ó chlónáil? Tabhair cuairt ar Cabhair.
+fork_repo = Stóras Forc
+fork_from = Forc ó
+already_forked = Tá tú tar éis %s a fhoirceann
+fork_to_different_account = Forc chuig cuntas difriúil
+fork_visibility_helper = Ní féidir infheictheacht stór forcailte a athrú.
+fork_branch = Brainse le clónú chuig an bhforc
+all_branches = Gach brainse
+fork_no_valid_owners = Ní féidir an stór seo a fhorcáil toisc nach bhfuil úinéirí bailí ann.
+use_template = Úsáid an teimpléad seo
+open_with_editor = Oscail le %s
+download_zip = Íoslódáil ZIP
+download_tar = Íoslódáil TAR.GZ
+download_bundle = Íoslódáil BUNDLE
+generate_repo = Cruthaigh Stóras
+generate_from = Gin Ó
+repo_desc = Cur síos
+repo_desc_helper = Cuir isteach tuairisc ghearr (roghnach)
+repo_gitignore_helper_desc = Roghnaigh na comhaid nach bhfuil le rianú ó liosta teimpléid do theangacha coitianta. Cuirtear déantáin tipiciúla a ghineann uirlisí tógála gach teanga san áireamh ar.gitignore de réir réamhshocraithe.
+license = Ceadúnas
+object_format = Formáid Oibiacht
+readme = README
+readme_helper_desc = Seo an áit inar féidir leat cur síos iomlán a scríobh do thionscadal.
+create_repo = Cruthaigh Stóras
+default_branch = Branse Réamhshocraithe
+default_branch_label = réamhshocraithe
+default_branch_helper = Is é an brainse réamhshocraithe an bunbhrainse d'iarratais tarraingthe agus gealltanna cód.
+mirror_prune = Prúnáil
+mirror_prune_desc = Bain tagairtí cianrianaithe atá as feidhm
+mirror_interval_invalid = Níl an eatramh scátháin bailí.
+mirror_sync = sioncronaithe
+mirror_sync_on_commit = Sioncrónaigh nuair a bhrúitear geallúintí
+mirror_address = Clón Ó URL
+mirror_address_desc = Cuir aon dhintiúir riachtanacha sa chuid Údaraithe.
+mirror_address_url_invalid = Tá an URL curtha ar fáil neamhbhailí. Caithfidh tú gach comhpháirt den url a éalú i gceart.
+mirror_address_protocol_invalid = Tá an URL curtha ar fáil neamhbhailí. Ní féidir ach suíomhanna http (s)://nó git://a úsáid le haghaidh scátháin.
+mirror_lfs = Stóráil Comhad Móra (LFS)
+mirror_lfs_desc = Gníomhachtaigh scáthú sonraí LFS.
+mirror_lfs_endpoint = Críochphointe LFS
+mirror_lfs_endpoint_desc = Déanfaidh Sync iarracht an url clónála a úsáid chun an freastalaí LFS a chinneadh. Is féidir leat críochphointe saincheaptha a shonrú freisin má tá na sonraí LFS stórtha stóráilte áit éigin eile.
+mirror_last_synced = Sincronaithe Deireanach
+mirror_password_placeholder = (Gan athrú)
+mirror_password_blank_placeholder = (Neamhshocraithe)
+mirror_password_help = Athraigh ainm úsáideora chun pasfhocal stóráilte a scriosadh.
+watchers = Breathnóirí
+stargazers = Réalteoirí
+stars_remove_warning = Bainfidh sé seo na réaltaí go léir ón stóras seo.
+forks = Forcanna
+stars = Réaltaí
+reactions_more = agus %d níos mó
+unit_disabled = Tá an chuid stórais seo díchumasaithe ag riarthóir an láithreáin.
+language_other = Eile
+adopt_search = Iontráil ainm úsáideora chun stórais neamhghlactha a chuardach... (fág bán chun gach rud a fháil)
+adopt_preexisting_label = Glacadh le Comhaid
+adopt_preexisting = Glac le comhaid atá ann cheana
+adopt_preexisting_content = Cruthaigh stór ó %s
+adopt_preexisting_success = Comhaid ghlacadh agus stór cruthaithe ó %s
+delete_preexisting_label = Scrios
+delete_preexisting = Scrios comhaid atá ann cheana
+delete_preexisting_content = Scrios comhaid i %s
+delete_preexisting_success = Scriosta comhaid neamhghlactha i %s
+blame_prior = Féach ar an milleán roimh an athrú seo
+blame.ignore_revs = Ag déanamh neamhairde de leasuithe i .git-blame-ignore-revs. Cliceáil anseo chun seachaint agus an gnáth-amharc milleán a fheiceáil.
+blame.ignore_revs.failed = Theip ar neamhaird a dhéanamh ar leasuithe i .git-blame-ignore-revs.
+transfer.accept = Glac le hAistriú
+transfer.accept_desc = Aistriú chuig “%s”
+transfer.reject = Diúltaigh aistriú
+transfer.reject_desc = `Cealaigh aistriú chuig "%s"`
+transfer.no_permission_to_accept = Níl cead agat glacadh leis an aistriú seo.
+transfer.no_permission_to_reject = Níl cead agat an aistriú seo a dhiúltú.
+desc.private = Príobháideach
+desc.public = Poiblí
+desc.template = Teimpléad
+desc.internal = Inmheánach
+desc.archived = Cartlannaithe
+desc.sha256 = SHA256
+template.items = Míreanna Teimpléad
+template.git_content = Ábhar Git (Brainse Réamhshocraithe)
+template.git_hooks = Crúcanna Git
+template.git_hooks_tooltip = Faoi láthair ní féidir leat Git Hooks a mhodhnú nó a bhaint nuair a chuirtear leis. Roghnaigh é seo ach amháin má tá muinín agat as an stóras teimpléid.
+template.webhooks = Crúcaí gréasáin
+template.topics = Topaicí
+template.avatar = Abhatár
+template.issue_labels = Lipéid Eisiúna
+template.one_item = Ní mór mír teimpléad amháin ar a laghad a roghnú
+template.invalid = Ní mór stór teimpléad a roghnú
+archive.title_date = Tá an stóras seo cartlannaithe ar %s. Is féidir leat comhaid a fheiceáil agus é a chlónú, ach ní féidir leat saincheisteanna a bhrú nó a oscailt ná iarratais a tharraingt.
+form.reach_limit_of_creation_1 = Tá úinéir an stóras tar éis teorainn de %d stóras a bhaint amach cheana féin.
+form.reach_limit_of_creation_n = Tá úinéir an stórais tar éis teorainn de %d stórtha a bhaint amach cheana féin.
+form.name_reserved = Tá ainm an stór "%s" in áirithe.
+form.name_pattern_not_allowed = Ní cheadaítear an patrún "%s" in ainm stór.
+need_auth = Údarú
+migrate_options = Roghanna Imirce
+migrate_options_mirror_helper = Beidh an stóras seo ina scáthán
+migrate_options_lfs = Aimirce comhaid LFS
+migrate_options_lfs_endpoint.label = Críochphointe LFS
+migrate_options_lfs_endpoint.description = Déanfaidh imirce iarracht do chianda Git a úsáid chun freastalaí LFS a chinneadh. Is féidir leat críochphointe saincheaptha a shonrú freisin má tá na sonraí LFS stórtha stóráilte áit éigin eile.
+migrate_options_lfs_endpoint.description.local = Tacaítear le cosán freastalaí áitiúil freisin.
+migrate_options_lfs_endpoint.placeholder = Má fhágtar bán, díorthófar an críochphointe ón URL clóin
+migrate_items = Míreanna Imirce
+migrate_items_wiki = Wiki
+migrate_items_milestones = Clocha míle
+migrate_items_labels = Lipéid
+migrate_items_issues = Saincheisteanna
+migrate_items_pullrequests = Iarrataí Tarraing
+migrate_items_merge_requests = Iarrataí Cumaisc
+migrate_items_releases = Eisiúintí
+migrate_repo = Stóras Imirc
+migrate.clone_address = Aimirce/ Clón Ó URL
+migrate.github_token_desc = Is féidir leat comhartha amháin nó níos mó a chur le camóg scartha anseo chun imirce a dhéanamh níos gasta mar gheall ar theorainn ráta API GitHub. RABHADH: D'fhéadfadh mí-úsáid na ngné seo beartas an sholáthraí seirbhíse a shárú agus blocáil cuntais a bheith mar thoradh air.
+migrate.clone_local_path = nó cosán freastalaí áitiúil
+migrate.permission_denied = Ní cheadaítear duit stórais áitiúla a iompórtáil.
+migrate.permission_denied_blocked = Ní féidir leat allmhairiú ó óstaigh neamh-cheadaithe, iarr ar an riarachán socruithe ALLOWED_DOMAINS/ALLOW_LOCALNETWORKS/BLOCKED_DOMAINS a sheiceáil le do thoil.
+migrate.invalid_lfs_endpoint = Níl an críochphointe LFS bailí.
+migrate.failed = Theip ar an imirce:% v
+migrate.migrate_items_options = Teastaíonn Comhartha Rochtana chun míreanna breise a aistriú
+migrated_from = Aistríodh ó %[2]s
+migrated_from_fake = Aistrithe ó %[1]s
+migrate.migrate = Aistrigh Ó %s
+migrate.migrating = Ag aistriú ó %s ...
+migrate.migrating_failed = Theip ar aistriú ó %s.
+migrate.migrating_failed.error = Theip ar aistriú: %s
+migrate.migrating_failed_no_addr = Theip ar an imirce.
+migrate.git.description = Aistrigh stór amháin ó aon seirbhís Git.
+migrate.gitlab.description = Aistrigh sonraí ó gitlab.com nó ó chásanna GitLab eile.
+migrate.gitea.description = Aistrigh sonraí ó gitea.com nó ó chásanna Gitea eile.
+migrate.gogs.description = Aistrigh sonraí ó notabug.org nó ó chásanna eile de chuid Gogs.
+migrate.onedev.description = Aistrigh sonraí ó code.onedev.io nó ó chásanna OneDev eile.
+migrate.codebase.description = Aistrigh sonraí ó codebasehq.com.
+migrate.gitbucket.description = Aistrigh sonraí ó chásanna GitBucket.
+migrate.migrating_git = Sonraí Git a Aimirce
+migrate.migrating_topics = Ábhair Imirce
+migrate.migrating_milestones = Clocha Míle a Imirce
+migrate.migrating_labels = Lipéid Imirce
+migrate.migrating_releases = Eisiúintí Imirce
+migrate.migrating_issues = Saincheisteanna Imirce
+migrate.migrating_pulls = Iarratais Tarraingthe á n-Imirce
+migrate.cancel_migrating_title = Cealaigh Imirce
+migrate.cancel_migrating_confirm = Ar mhaith leat an imirce seo a chealú?
+mirror_from = scáthán de
+forked_from = forcailte ó
+generated_from = a ghintear ó
+fork_from_self = Ní féidir leat stóras atá agat a fhorcáil.
+fork_guest_user = Sínigh isteach chun an stóras seo a fhorc.
+watch_guest_user = Sínigh isteach chun féachaint ar an stór seo.
+star_guest_user = Sínigh isteach chun an stóras seo a réalú.
+watch = Fhéachaint
+unwatch = Dífhéachaint
+star = Réalta
+unstar = Bain Réalta
+fork = Forc
+download_archive = Íoslódáil Stóras
+more_operations = Tuilleadh oibríochtaí
+quick_guide = Treoir Tapa
+clone_this_repo = Clóin an stóras seo
+cite_this_repo = Luaigh an stóras seo
+create_new_repo_command = Stóras nua a chruthú ar an líne ordaithe
+push_exist_repo = Stóras atá ann cheana a bhrú ón líne ordaithe
+empty_message = Níl aon ábhar sa stóras seo.
+broken_message = Ní féidir na sonraí Git atá mar bhunús leis an stóras seo a léamh. Déan teagmháil le riarthóir an chás seo nó scrios an stóras seo.
+code = Cód
+code.desc = Rochtain ar chód foinse, comhaid, gealltanais agus brainsí.
+branch = Brainse
+tree = Crann
+clear_ref = `Tagairt reatha soiléir`
+filter_branch_and_tag = Scagaire brainse nó clib
+find_tag = Aimsigh clib
+branches = Brainsí
+tag = Clib
+tags = Clibeanna
+issues = Saincheisteanna
+pulls = Iarratais Tarraingthe
+packages = Pacáistí
+actions = Gníomhartha
+release = Scaoileadh
+releases = Scaoileann
+labels = Lipéid
+milestones = Clocha míle
+org_labels_desc = Lipéid ar leibhéal eagraíochta is féidir a úsáid le gach stóras faoin eagraíocht seo
+org_labels_desc_manage = bainistigh
+commits = Tiomáintí
+commit = Tiomantas
+released_this = scaoileadh seo
+file.title = %s ag %s
+file_raw = Amh
+file_history = Stair
+file_view_source = Féach Foinse
+file_view_rendered = Amharc Rindreáilte
+file_view_raw = Amharc Amh
+file_permalink = Buan-nasc
+file_too_large = Tá an comhad ró-mhór le taispeáint.
+invisible_runes_header = `Tá carachtair Unicode dofheicthe sa chomhad seo `
+invisible_runes_description = `Tá carachtair dofheicthe Unicode sa chomhad seo nach féidir a idirdhealú do dhaoine ach d'fhéadfadh ríomhaire iad a phróiseáil ar bhealach difriúil. Má cheapann tú go bhfuil sé seo d'aon ghnó, is féidir leat neamhaird a dhéanamh go sábháilte don rabhadh seo Úsáid an cnaipe Escape chun iad a nochtadh. `
+ambiguous_runes_header = `Tá carachtair Unicode débhríoch sa chomhad seo `
+ambiguous_runes_description = `Tá carachtair Unicode sa chomhad seo a d'fhéadfadh a bheith mearbhall le carachtair eile. Má cheapann tú go bhfuil sé seo d'aon ghnó, is féidir leat neamhaird a dhéanamh go sábháilte don rabhadh seo Úsáid an cnaipe Escape chun iad a nochtadh. `
+invisible_runes_line = `Tá carachtair unicode dofheicthe ag an líne seo `
+ambiguous_runes_line = `Tá carachtair unicode débhríoch ag an líne seo `
+ambiguous_character = `Is féidir %[1]c [U+%04[1]X] a mheascadh le %[2]c [U+%04[2]X]`
+escape_control_characters = Éalú
+unescape_control_characters = Dí-Éalú
+file_copy_permalink = Cóipeáil Buan-nasc
+view_git_blame = Féach ar Git Blame
+stored_lfs = Stóráilte le Git LFS
+symbolic_link = Nasc siombalach
+executable_file = Comhad Infheidhmithe
+vendored = Díoltóra
+generated = Gintear
+commit_graph = Graf Tiomantas
+commit_graph.select = Roghnaigh brainsí
+commit_graph.hide_pr_refs = Folaigh Iarrataí Tarraing
+commit_graph.monochrome = Mona
+commit_graph.color = Dath
+commit.contained_in = Tá an tiomantas seo le fáil i:
+commit.contained_in_default_branch = Tá an tiomantas seo mar chuid den bhrainse réamhshocraithe
+commit.load_referencing_branches_and_tags = Luchtaigh brainsí agus clibeanna a thagraíonn an tiomantas
+blame = An milleán
+download_file = Íoslódáil comhad
+normal_view = Amharc Gnáth
+line = líne
+lines = línte
+from_comment = (trácht)
+editor.add_file = Cuir Comhad
+editor.new_file = Comhad Nua
+editor.upload_file = Uaslódáil Comhad
+editor.edit_file = Cuir Comhad in eagar
+editor.preview_changes = Athruithe Réamhamhar
+editor.cannot_edit_lfs_files = Ní féidir comhaid LFS a chur in eagar sa chomhéadan gréasáin.
+editor.cannot_edit_non_text_files = Ní féidir comhaid dhénártha a chur in eagar sa chomhéadan gréasáin.
+editor.edit_this_file = Cuir Comhad in eagar
+editor.this_file_locked = Tá an comhad faoi ghlas
+editor.must_be_on_a_branch = Caithfidh tú a bheith ar bhrainse chun athruithe a dhéanamh nó a mholadh ar an gcomhad seo.
+editor.fork_before_edit = Ní mór duit an stór seo a fhorcáil chun athruithe a dhéanamh nó a mholadh ar an gcomhad seo.
+editor.delete_this_file = Scrios Comhad
+editor.must_have_write_access = Caithfidh rochtain scríofa a bheith agat chun athruithe a dhéanamh nó a mholadh ar an gcomhad seo.
+editor.file_delete_success = Tá an comhad "%s" scriosta.
+editor.name_your_file = Ainmnigh do chomhad…
+editor.or = nó
+editor.cancel_lower = Cealaigh
+editor.commit_signed_changes = Tiomantas Athruithe Sínithe
+editor.commit_changes = Athruithe a Tiomantas
+editor.add = Cuir %s leis
+editor.update = Nuashonraigh %s
+editor.delete = Scrios %s
+editor.patch = Cuir paiste i bhfeidh
+editor.patching = Paisteáil:
+editor.fail_to_apply_patch = Ní féidir paiste "%s" a chur i bhfeidhm
+editor.new_patch = Paiste Nua
+editor.commit_message_desc = Cuir cur síos leathnaithe roghnach leis…
+editor.signoff_desc = Cuir leantóir sínithe ag an gcoiteoir ag deireadh na teachtaireachta logála tiomanta.
+editor.create_new_branch = Cruthaigh brainse nua don ghealltanas seo agus cuir tús le hiarratas tarraingthe.
+editor.create_new_branch_np = Cruthaigh brainse nua don tiomantas seo.
+editor.propose_file_change = Athrú comhad a mholadh
+editor.new_branch_name = Ainmnigh an brainse nua don gealltanas seo
+editor.new_branch_name_desc = Ainm brainse nua…
+editor.cancel = Cealaigh
+editor.filename_cannot_be_empty = Ní féidir ainm an chomhaid a bheith folamh.
+editor.filename_is_invalid = Tá ainm an chomhaid neamhbhailí: "%s".
+editor.branch_does_not_exist = Níl brainse "%s" ann sa stóras seo.
+editor.branch_already_exists = Tá brainse "%s" ann cheana féin sa stóras seo.
+editor.directory_is_a_file = Úsáidtear ainm eolaire "%s" cheana féin mar ainm comhaid sa stóras seo.
+editor.file_is_a_symlink = Is nasc siombalach é "%s". Ní féidir naisc shiombalacha a chur in eagar san eagarthóir gréasáin
+editor.filename_is_a_directory = Úsáidtear ainm comhaid "%s" cheana féin mar ainm eolaire sa stóras seo.
+editor.file_editing_no_longer_exists = Níl an comhad atá á chur in eagar, "%s", ann sa stóras seo a thuilleadh.
+editor.file_deleting_no_longer_exists = Níl an comhad atá á scriosadh, "%s", ann sa stóras seo a thuilleadh.
+editor.file_changed_while_editing = Tá athrú tagtha ar ábhar an chomhad ó thosaigh tú ag eagarthóireacht Cliceáil anseo chun iad a fheiceáil nó Athru ithe a Tiomantas arís chun iad a fhorscríobh.
+editor.file_already_exists = Tá comhad darb ainm "%s" ann cheana féin sa stóras seo.
+editor.push_out_of_date = Is cosúil go bhfuil an brú as dáta.
+editor.commit_empty_file_header = Tiomantas comhad folamh
+editor.commit_empty_file_text = Tá an comhad atá tú ar tí tiomantas folamh. Ar aghaidh?
+editor.no_changes_to_show = Níl aon athruithe le taispeáint.
+editor.fail_to_update_file = Theip ar nuashonrú/cruthú comhad "%s".
+editor.fail_to_update_file_summary = Teachtaireacht Earráide:
+editor.push_rejected_no_message = Dhiúltaigh an freastalaí an t-athrú gan teachtaireacht. Seiceáil Git Hooks le do thoil.
+editor.push_rejected = Dhiúltaigh an freastalaí an t-athrú. Seiceáil Git Hooks le do thoil.
+editor.push_rejected_summary = Teachtaireacht Diúltaithe Iomlán:
+editor.add_subdir = Cuir eolaire leis…
+editor.unable_to_upload_files = Theip ar uaslódáil comhaid go "%s" le hearráid: %v
+editor.upload_file_is_locked = Tá comhad "%s" faoi ghlas ag %s.
+editor.upload_files_to_dir = `Uaslódáil comhaid go "%s"`
+editor.cannot_commit_to_protected_branch = Ní féidir gealltanas a thabhairt don bhrainse faoi chosaint "%s".
+editor.no_commit_to_branch = Ní féidir tiomantas a thabhairt go díreach don bhrainse mar:
+editor.user_no_push_to_branch = Ní féidir leis an úsáideoir brúigh go dtí an brainse
+editor.require_signed_commit = Éilíonn an Brainse tiomantas sínithe
+editor.cherry_pick = Roghnaigh silíní %s ar:
+editor.revert = Fill %s ar:
+editor.commit_email = Tiomantas ríomhphost
+commits.desc = Brabhsáil stair athraithe cód foinse.
+commits.commits = Tiomáintí
+commits.no_commits = Níl aon ghealltanas i gcoiteann. Tá stair iomlán difriúil ag "%s" agus "%s".
+commits.nothing_to_compare = Tá na brainsí seo cothrom.
+commits.search.tooltip = Is féidir eochairfhocail a réamhfhostú le “údar:”, “committer:”, “after:”, nó “before:”, e.g. "fill an t-údar:Alice roimh: 2019-01-13".
+commits.search_branch = An Brainse seo
+commits.search_all = Gach Brainse
+commits.author = Údar
+commits.message = Teachtaireacht
+commits.date = Dáta
+commits.older = Níos sine
+commits.newer = Níos nuaí
+commits.signed_by = Sínithe ag
+commits.signed_by_untrusted_user = Sínithe ag úsáideoir neamhiontaofa
+commits.signed_by_untrusted_user_unmatched = Sínithe ag úsáideoir neamhiontaofa nach bhfuil ag teacht leis an gcoiste
+commits.gpg_key_id = GPG Eochair ID
+commits.ssh_key_fingerprint = Méarloirg Eochair SSH
+commits.view_path = Féach ag an bpointe seo sa stair
+commit.operations = Oibríochtaí
+commit.revert = Téigh ar ais
+commit.revert-header = Téigh ar ais: %s
+commit.revert-content = Roghnaigh brainse chun filleadh ar:
+commit.cherry-pick = Roghnaigh silíní
+commit.cherry-pick-header = Roghnaigh silíní: %s
+commit.cherry-pick-content = Roghnaigh brainse chun silíní a phiocadh air:
+commitstatus.error = Earráid
+commitstatus.failure = Teip
+commitstatus.pending = Ar feitheamh
+commitstatus.success = Rath
+projects = Tionscadail
+projects.description = Cur síos (roghnach)
+projects.description_placeholder = Cur síos
+projects.create = Cruthaigh Tionscadal
+projects.title = Teideal
+projects.new = Tionscadal Nua
+projects.new_subheader = Déan do chuid oibre a chomhordú, a rianú agus a nuashonrú in aon áit amháin, ionas go bhfanann na tionscadail trédhearcach agus de réir sceidil.
+projects.create_success = Tá an tionscadal "%s" cruthaithe.
+projects.deletion = Scrios tionscadal
+projects.deletion_desc = Má scriostar tionscadal, bainfear de gach saincheist a bhaineann leis é. Lean ort?
+projects.deletion_success = Tá an tionscadal scriosta.
+projects.edit = Cuir Tionscadal in Eagar
+projects.edit_subheader = Eagraíonn tionscadail saincheisteanna agus rianaíonn siad dul chun cinn.
+projects.modify = Cuir Tionscadal in Eagar
+projects.edit_success = Tá an tionscadal "%s" nuashonraithe.
+projects.open = Oscailte
+projects.close = Dún
+projects.column.assigned_to = Sannta do
+issues.desc = Eagraigh tuarascálacha fabht, tascanna agus cloch mhíle.
+issues.filter_assignees = Scagaire Sannaitheoir
+issues.filter_milestones = Cloch Mhíle Scagaire
+issues.filter_projects = Tionscadal Scagaire
+issues.filter_labels = Lipéad Scagaire
+issues.filter_reviewers = Athbhreithneoir Scagaire
+issues.new = Eagrán Nua
+issues.new.title_empty = Ní féidir leis an teideal a bheith folamh
+issues.new.labels = Lipéid
+issues.new.clear_labels = Lipéid shoiléir
+issues.new.projects = Tionscadail
+issues.new.clear_projects = Tionscadail soiléire
+issues.new.no_projects = Gan aon tionscadal
+issues.new.open_projects = Tionscadail Oscailte
+issues.new.closed_projects = Tionscadail Dúnta
+issues.new.no_items = Gan aon earraí
+issues.new.milestone = Cloch Mhíle
+issues.new.no_milestone = Gan Chloch Mhíle
+issues.new.clear_milestone = Cloch Mhíle soiléir
+issues.new.assignees = Sannaitheoirí
+issues.new.clear_assignees = Ceannaitheoirí soiléir
+issues.new.no_assignees = Gan aon Sannaitheoirí
+issues.new.no_reviewers = Gan Léirmheastóirí
+issues.edit.already_changed = Ní féidir athruithe a shábháil ar an tsaincheist. Dealraíonn sé gur athraigh úsáideoir eile an t-ábhar cheana féin. Athnuachan an leathanach agus déan iarracht eagarthóireacht arís chun a gcuid athruithe a sheachaint
+issues.choose.get_started = Faigh Tosaigh
+issues.choose.open_external_link = Oscailte
+issues.choose.blank = Réamhshocrú
+issues.choose.blank_about = Cruthaigh saincheist ó theimpléad réamhshocraithe.
+issues.choose.ignore_invalid_templates = Rinneadh neamhaird ar theimpléid
+issues.choose.invalid_templates = %v teimpléad neamhbhail(í) aimsíodh
+issues.choose.invalid_config = Tá earráidí sa chumraíocht eisiúint:
+issues.no_ref = Níl aon Brainse/Clib Sonraithe
+issues.create = Cruthaigh Saincheist
+issues.new_label = Lipéad Nua
+issues.new_label_placeholder = Ainm lipéad
+issues.new_label_desc_placeholder = Cur síos
+issues.create_label = Cruthaigh Lipéad
+issues.label_templates.fail_to_load_file = Theip ar lódáil an chomhaid teimpléid lipéid "%s": %v
+issues.add_label = cuireadh an lipéad %s %s leis
+issues.add_labels = cuireadh na %s lipéid %s
+issues.remove_label = bainte an %s lipéad %s
+issues.remove_labels = bainte na %s lipéid %s
+issues.add_remove_labels = chuir %s leis agus bhain %s lipéid %s
+issues.add_milestone_at = `chuir seo leis an gcloch mhíle %s %s`
+issues.add_project_at = `chuir seo leis an tionscadal %s %s`
+issues.change_milestone_at = `mionathraithe an chloch mhíle ó %s go %s %s`
+issues.change_project_at = `mionathraithe an tionscadal ó %s go %s %s`
+issues.remove_milestone_at = ` bhain seo den %schloch mhíle %s`
+issues.remove_project_at = `bhain sé seo den %san tionscadal %s`
+issues.deleted_milestone = `(scriosta)`
+issues.deleted_project = `(scriosta)`
+issues.self_assign_at = `féin-shannta an %s seo`
+issues.add_assignee_at = `a shannadh ag %s %s`
+issues.remove_assignee_at = `a bhí gan shannadh ag %s %s`
+issues.remove_self_assignment = `bhain siad a sannadh %s`
+issues.change_title_at = `athraigh an teideal ó %s go %s %s`
+issues.change_ref_at = `tagairt athraithe ó %s go %s %s`
+issues.remove_ref_at = `bhaint an tagairt %s %s`
+issues.add_ref_at = `Cuireadh an tagairt %s %s leis`
+issues.delete_branch_at = `brainse scriosta %s %s`
+issues.filter_label = Lipéad
+issues.filter_label_exclude = `Úsáid alt + cliceáil/iontráil chun lipéid a eisiamh`
+issues.filter_label_no_select = Gach lipéad
+issues.filter_label_select_no_label = Gan lipéad
+issues.filter_milestone = Cloch Mhíle
+issues.filter_milestone_all = Gach cloch mhíle
+issues.filter_milestone_none = Gan aon clocha mhíle
+issues.filter_milestone_open = Clocha mhíle oscailte
+issues.filter_milestone_closed = Clocha mhíle dúnta
+issues.filter_project = Tionscadal
+issues.filter_project_all = Gach tionscadal
+issues.filter_project_none = Gan aon tionscadal
+issues.filter_assignee = Sannaitheoir
+issues.filter_assginee_no_select = Gach sannaithe
+issues.filter_assginee_no_assignee = Gan sannaitheoir
+issues.filter_poster = Údar
+issues.filter_type = Cineál
+issues.filter_type.all_issues = Gach saincheist
+issues.filter_type.assigned_to_you = Sannta duit
+issues.filter_type.created_by_you = Cruthaithe agat
+issues.filter_type.mentioning_you = Ag tagairt duit
+issues.filter_type.review_requested = Athbhreithniú iarrtha
+issues.filter_type.reviewed_by_you = Athbhreithnithe agat
+issues.filter_sort = Sórtáil
+issues.filter_sort.latest = Is nuaí
+issues.filter_sort.oldest = Is sine
+issues.filter_sort.recentupdate = Nuashonraithe le déanaí
+issues.filter_sort.leastupdate = Is lú a nuashonraíodh le déanaí
+issues.filter_sort.mostcomment = Is mó a bhfuil tráchtanna air
+issues.filter_sort.leastcomment = Is lú a bhfuil tráchtanna air
+issues.filter_sort.nearduedate = An dáta dlite is gaire
+issues.filter_sort.farduedate = An dáta dlite is faide
+issues.filter_sort.moststars = An líon réaltaí is mó
+issues.filter_sort.feweststars = An líon réaltaí is lú
+issues.filter_sort.mostforks = An líon forcanna is mó
+issues.filter_sort.fewestforks = An líon forcanna is lú
+issues.action_open = Oscailte
+issues.action_close = Dún
+issues.action_label = Lipéad
+issues.action_milestone = Cloch Mhíle
+issues.action_milestone_no_select = Gan Chloch Mhíle
+issues.action_assignee = Sannaitheoir
+issues.action_assignee_no_select = Gan sannaitheoir
+issues.action_check = Seiceáil/Dísheiceáil
+issues.action_check_all = Seiceáil/Dísheiceáil gach mireanna
+issues.opened_by = oscail %[1]s le %[3]s
+pulls.merged_by = le %[3]s cumasc %[1]s
+pulls.merged_by_fake = le %[2]s a chumasc %[1]s
+issues.closed_by = le dúnadh %[3]s %[1]s
+issues.opened_by_fake = oscail %[1]s le %[2]s
+issues.closed_by_fake = faoi %[2]s dúnadh %[1]s
+issues.previous = Roimhe Seo
+issues.next = Ar Aghaidh
+issues.open_title = Oscailte
+issues.closed_title = Dúnta
+issues.draft_title = Dréacht
+issues.num_comments_1 = %d trácht
+issues.num_comments = %d tráchtanna
+issues.commented_at = `trácht %s `
+issues.delete_comment_confirm = An bhfuil tú cinnte gur mhaith leat an trácht seo a scriosadh?
+issues.context.copy_link = Cóipeáil Nasc
+issues.context.quote_reply = Luaigh Freagra
+issues.context.edit = Cuir in eagar
+issues.context.delete = Scrios
+issues.no_content = Níl aon tuairisc ar fáil.
+issues.close = Dún Eagrán
+issues.comment_pull_merged_at = cumasc tiomantas %[1]s le %[2]s %[3]s
+issues.comment_manually_pull_merged_at = cumasc tiomantas %[1]s le %[2]s %[3]s
+issues.close_comment_issue = Dún le trácht
+issues.reopen_issue = Athoscail
+issues.reopen_comment_issue = Athoscail le trácht
+issues.create_comment = Trácht
+issues.closed_at = `dhún an cheist seo %[2]s`
+issues.reopened_at = `athoscail an t-eagrán seo %[2]s`
+issues.commit_ref_at = `rinne tagairt don cheist seo ó ghealltanas %[2]s`
+issues.ref_issue_from = `rinne dagairt don cheist seo %[4]s%[2]s`
+issues.ref_pull_from = `rinne dagairt don iarratas tarraingthe seo %[4]s%[ 2]s`
+issues.ref_closed_from = `dhún an cheist seo %[4]s%[2]s`
+issues.ref_reopened_from = `d'athoscail an eagrán seo %[4]s%[2]s`
+issues.ref_from = `ó %[1]s`
+issues.author = Údar
+issues.role.owner = Úinéir
+issues.role.owner_helper = Is é an t-úsáideoir seo úinéir an stór seo.
+issues.role.member = Comhalta
+issues.role.member_helper = Is ball den eagraíocht é an t-úsáideoir seo a bhfuil an stór seo ina úinéireacht.
+issues.role.collaborator = Comhoibritheoir
+issues.role.collaborator_helper = Tugadh cuireadh don úsáideoir seo comhoibriú ar an stóras.
+issues.role.first_time_contributor = Cuiditheoir den chéad uair
+issues.role.first_time_contributor_helper = Seo é an chéad uair a chuir an t-úsáideoir seo leis an stóras.
+issues.role.contributor = Cuiditheoir
+issues.re_request_review = Athiarraigh athbhreithniú
+issues.is_stale = Rinneadh athruithe ar an PR seo ón athbhreithniú seo
+issues.remove_request_review = Bain iarratas athbhreithni
+issues.remove_request_review_block = Ní féidir iarratas athbhreithnithe a bhaint
+issues.dismiss_review = Díbhe Athbhreithnithe
+issues.dismiss_review_warning = An bhfuil tú cinnte gur mhaith leat an athbhreithnithe seo a dhíbhe?
+issues.sign_in_require_desc = Sínigh isteach chun dul isteach sa chomhrá seo.
+issues.edit = Cuir in eagar
+issues.cancel = Cealaigh
+issues.save = Sábháil
+issues.label_title = Ainm
+issues.label_description = Cur síos
+issues.label_color = Dath
+issues.label_exclusive = Eisiach
+issues.label_archive = Lipéad Cartlann
+issues.label_archived_filter = Taispeáin lipéid cartlainne
+issues.label_archive_tooltip = Eisiatar lipéid chartlainne de réir réamhshocraithe ó na moltaí nuair a dhéantar cuardach de réir lipéid.
+issues.label_exclusive_desc = Ainmnigh an lipéad scope/item chun é a dhéanamh comheisiatach le lipéid scope/ eile.
+issues.label_exclusive_warning = Bainfear aon lipéid scóipe contrártha le linn eagarthóireacht a dhéanamh ar lipéid iarratais eisiúna nó tarraingthe.
+issues.label_count = %d lipéid
+issues.label_open_issues = %d saincheisteanna oscailte/iarratais tarraing
+issues.label_edit = Cuir in eagar
+issues.label_delete = Scrios
+issues.label_modify = Cuir Lipéad in Eagar
+issues.label_deletion = Scrios Lipéad
+issues.label_deletion_desc = Baineann lipéad a scriosadh é ó gach saincheist. Lean ar aghaidh?
+issues.label_deletion_success = Tá an lipéad scriosta.
+issues.label.filter_sort.alphabetically = Aibítreach
+issues.label.filter_sort.reverse_alphabetically = Aisiompú in ord aibítre
+issues.label.filter_sort.by_size = Méid is lú
+issues.label.filter_sort.reverse_by_size = Méid is mó
+issues.attachment.open_tab = `Cliceáil chun "%s" a fheiceáil i gcluaisín nua`
+issues.attachment.download = `Cliceáil chun "%s" a íoslódáil`
+issues.subscribe = Liostáil
+issues.unsubscribe = Díliostáil
+issues.lock = Cuir glas ar an gcomhrá
+issues.unlock = Díghlasáil comhrá
+issues.lock.unknown_reason = Ní féidir fadhb a ghlasáil le cúis anaithnid.
+issues.lock_duplicate = Ní féidir saincheist a ghlasáil faoi dhó.
+issues.unlock_error = Ní féidir saincheist nach bhfuil glasáilte a dhíghlasáil.
+issues.lock_confirm = Glas
+issues.unlock_confirm = Díghlasáil
+issues.lock.notice_2 = - Is féidir leatsa agus le comhoibrithe eile a bhfuil rochtain acu ar an stór seo fós tuairimí a fhágáil a fheiceann daoine eile.
+issues.lock.notice_3 = - Is féidir leat an tsaincheist seo a dhíghlasáil arís sa todhchaí.
+issues.unlock.notice_1 = - Bheadh gach duine in ann trácht a dhéanamh ar an gceist seo arís.
+issues.unlock.notice_2 = - Is féidir leat an tsaincheist seo a ghlasáil arís sa todhchaí i gcónaí.
+issues.lock.reason = Cúis le glasáil
+issues.lock.title = Glas comhrá ar an gceist seo.
+issues.unlock.title = Díghlasáil comhrá ar an gceist seo.
+issues.comment_on_locked = Ní féidir leat trácht a dhéanamh ar shaincheist faoi ghlas.
+issues.delete = Scrios
+issues.delete.title = Scrios an t-eagrán seo?
+issues.delete.text = An bhfuil tú cinnte gur mhaith leat an cheist seo a scriosadh? (Bainfidh sé seo an t-inneachar go léir go buan. Smaoinigh ar é a dhúnadh ina ionad sin, má tá sé i gceist agat é a choinneáil i gcartlann)
+issues.tracker = Rianaitheoir Ama
+issues.tracker_auto_close = Stopfar ama go huathoibríoch nuair a dhúnfar an tsaincheist seo
+issues.tracking_already_started = `Tá tús curtha agat cheana féin ag rianú ama ar eagrán eile!`
+issues.cancel_tracking_history = `rianú ama curtha ar ceal %s`
+issues.del_time = Scrios an log ama seo
+issues.del_time_history = `an t-am caite scriosta %s`
+issues.add_time_hours = Uaireanta
+issues.add_time_minutes = Miontuairi
+issues.add_time_sum_to_small = Níor iontráilíodh aon am.
+issues.time_spent_total = An t-am iomlán a chaitear
+issues.time_spent_from_all_authors = `Am Iomlán Caitear: %s`
+issues.due_date = Dáta dlite
+issues.force_push_compare = Déan comparáid
+issues.dependency.title = Spleithiúlachtaí
+issues.dependency.issue_no_dependencies = Níl aon spleáchais leagtha síos.
+issues.dependency.pr_no_dependencies = Níl aon spleáchais leagtha síos.
+issues.dependency.add = Cuir spleáchas leis…
+issues.dependency.cancel = Cealaigh
+issues.dependency.remove = Bain
+issues.dependency.remove_info = Bain an spleáchas seo
+issues.dependency.added_dependency = `cuireadh spleáchas nua %s`
+issues.dependency.removed_dependency = `bainte spleáchas %s`
+issues.dependency.pr_closing_blockedby = Cuireann na saincheisteanna seo a leanas bac ar an iarratas tarraingte seo a dhúnadh
+issues.dependency.issue_closing_blockedby = Tá na saincheisteanna seo a leanas bac ar dhúnadh an cheist seo
+issues.dependency.issue_close_blocks = Cuireann an tsaincheist seo bac ar dhúnadh na saincheisteanna
+issues.dependency.pr_close_blocks = Cuireann an iarratas tarraingthe seo bac ar dhúnadh na saincheisteanna
+issues.dependency.issue_close_blocked = Ní mór duit gach saincheist a chuireann bac ar an gceist seo a dhúnadh sular féidir leat é a dhúnadh.
+issues.dependency.pr_close_blocked = Ní mór duit gach saincheist a bhlocálann an iarratas tarraingthe seo a dhúnadh sula féidir leat é a chumasc.
+issues.dependency.blocks_short = Bloic
+issues.dependency.blocked_by_short = Ag brath ar
+issues.dependency.remove_header = Bain spleáchas
+issues.dependency.issue_remove_text = Bainfidh sé seo an spleáchas ón gceist seo. Lean ar aghaidh?
+issues.dependency.pr_remove_text = Bainfidh sé seo an spleáchas ón iarratas tarraingthe seo. Lean ar aghaidh?
+issues.dependency.setting = Cumasaigh spleáchais le haghaidh Saincheisteanna agus Iarrataí Tar
+issues.dependency.add_error_same_issue = Ní féidir leat ceist a dhéanamh ag brath air féin.
+issues.dependency.add_error_dep_issue_not_exist = Níl saincheist spleách ann.
+issues.dependency.add_error_dep_not_exist = Ní bhíonn spleáchas ann.
+issues.dependency.add_error_dep_exists = Tá spleáchas ann cheana féin.
+issues.dependency.add_error_cannot_create_circular = Ní féidir leat spleáchas a chruthú le dhá shaincheist a chuireann bac ar a chéile.
+issues.dependency.add_error_dep_not_same_repo = Caithfidh an dá shaincheist a bheith sa stór céanna.
+issues.review.self.approval = Ní féidir leat d'iarratas tarraingthe féin a cheadú.
+issues.review.self.rejection = Ní féidir leat athruithe a iarraidh ar d'iarratas tarraingthe féin.
+issues.review.dismissed_label = Dhiúltaigh
+issues.review.left_comment = d'fhág trácht
+issues.review.content.empty = Ní mór duit trácht a fhágáil a léiríonn an t-athrú (í) iarrtha.
+issues.review.pending = Ar feitheamh
+issues.review.pending.tooltip = Níl an nóta tráchta seo le feiceáil ag úsáideoirí eile faoi láthair. Chun do thuairimí ar feitheamh a chur isteach, roghnaigh "%s" -> "%s/%s/%s" ag barr an leathanaigh.
+issues.review.reviewers = Léirmheasóirí
+issues.review.outdated = As dáta
+issues.review.outdated_description = Tá athrú tagtha ar ábhar ó rinneadh an trácht seo
+issues.review.option.show_outdated_comments = Taispeáin tráchtanna atá as dáta
+issues.review.option.hide_outdated_comments = Folaigh tráchtanna atá as dáta
+issues.review.show_outdated = Taispeáin as dáta
+issues.review.hide_outdated = Folaigh as dáta
+issues.review.show_resolved = Taispeáin réitithe
+issues.review.hide_resolved = Folaigh réitithe
+issues.review.resolve_conversation = Réitigh comhrá
+issues.review.un_resolve_conversation = Comhrá gan réiteach
+issues.review.resolved_by = mharcáil an comhrá seo mar réitigh
+issues.reference_issue.body = Comhlacht
+issues.content_history.deleted = scriosta
+issues.content_history.edited = curtha in eagar
+issues.content_history.created = cruthaithe
+issues.content_history.delete_from_history = Scrios ón stair
+issues.content_history.delete_from_history_confirm = Scrios ón stair?
+issues.content_history.options = Roghanna
+issues.reference_link = Tagairt: %s
+compare.compare_base = bonn
+compare.compare_head = déan comparáid
+pulls.desc = Cumasaigh iarratais tarraingthe agus athbhreithnithe cód.
+pulls.new = Iarratas Tarraingthe Nua
+pulls.view = Féach ar Iarratas Tarraing
+pulls.edit.already_changed = Ní féidir athruithe a shábháil ar an iarratas tarraingthe. Dealraíonn sé gur athraigh úsáideoir eile an t-ábhar cheana féin. Athnuachan an leathanach agus déan iarracht eagarthóireacht arís chun a gcuid athruithe a sheachaint
+pulls.compare_changes = Iarratas Tarraingthe Nua
+pulls.allow_edits_from_maintainers = Ceadaigh eagarthóirí ó chothabhálaí
+pulls.allow_edits_from_maintainers_desc = Is féidir le húsáideoirí a bhfuil rochtain scríofa acu ar an mbunbhrainse brú chuig an bhrainse
+pulls.allow_edits_from_maintainers_err = Theip ar nuashonrú
+pulls.compare_changes_desc = Roghnaigh an brainse le cumasc isteach agus an brainse le tarraingt uaidh.
+pulls.has_viewed_file = Breathnaithe
+pulls.has_changed_since_last_review = Athraithe ó d'athbhreithniú deire
+pulls.viewed_files_label = Breathnaíodh ar %[1]d / %[2]d comhaid
+pulls.expand_files = Leathnaigh gach comhaid
+pulls.collapse_files = Laghdaigh gach comhaid
+pulls.compare_base = cumaisc isteach
+pulls.compare_compare = tarraing ó
+pulls.switch_comparison_type = Athraigh cineál comparáide
+pulls.switch_head_and_base = Athraigh ceann agus bonn
+pulls.filter_branch = Brainse scagaire
+pulls.show_all_commits = Taispeáin gach gealltanas
+pulls.show_changes_since_your_last_review = Taispeáin athruithe ón léirmheas deiridh
+pulls.showing_only_single_commit = Ag taispeáint athruithe tiomantais %[1]s amháin
+pulls.showing_specified_commit_range = Ag taispeáint athruithe idir %[1]s..%[2]s
+pulls.select_commit_hold_shift_for_range = Roghnaigh tiomantas. Coinnigh shift + cliceáil chun raon a roghnú
+pulls.review_only_possible_for_full_diff = Ní féidir athbhreithniú a dhéanamh ach amháin nuair a bhreathnaítear ar an difríocht iomlán
+pulls.filter_changes_by_commit = Scagaigh de réir tiomantas
+pulls.nothing_to_compare = Tá na brainsí seo cothrom. Ní gá iarratas tarraingthe a chruthú.
+pulls.nothing_to_compare_have_tag = Tá an brainse/clib roghnaithe cothrom.
+pulls.nothing_to_compare_and_allow_empty_pr = Tá na brainsí seo cothrom. Beidh an PR seo folamh.
+pulls.has_pull_request = `Tá iarratas tarraingthe idir na brainsí seo ann cheana: %[2]s#%[3]d`
+pulls.create = Cruthaigh Iarratas Tarraing
+pulls.change_target_branch_at = `athraigh an spriocbhrainse ó %s go %s %s`
+pulls.tab_conversation = Comhrá
+pulls.tab_commits = Tiomáintí
+pulls.tab_files = Comhaid Athraithe
+pulls.reopen_to_merge = Athoscail an t-iarratas tarraingthe seo le do thoil chun cumasc a dhéanamh.
+pulls.cant_reopen_deleted_branch = Ní féidir an t-iarratas tarraingthe seo a athoscailt toisc gur scriosadh an brainse.
+pulls.merged = Cumaiscthe
+pulls.merged_success = D'éirigh leis an iarratas tarraingthe a chumasc agus a dhúnadh
+pulls.closed = Iarratas tarraingthe dúnta
+pulls.manually_merged = Cumaisc de láimh
+pulls.merged_info_text = Is féidir an brainse %s a scriosadh anois.
+pulls.is_closed = Tá an t-iarratas tarraingthe dúnta.
+pulls.title_wip_desc = `Tosaigh an teideal le %s chun an t-iarratas tarraingthe a chosc ó chumasc de thaisme.`
+pulls.cannot_merge_work_in_progress = Tá an t-iarratas tarraingthe seo marcáilte mar obair atá ar siúl.
+pulls.still_in_progress = Fós ar siúl?
+pulls.add_prefix = Cuir réimír %s leis
+pulls.remove_prefix = Bain an réimír %s
+pulls.data_broken = Tá an t-iarratas tarraingthe seo briste mar gheall ar fhaisnéis forc a bheith in easnamh.
+pulls.files_conflicted = Tá athruithe ag an iarratas tarraingthe seo atá contrártha leis an spriocbhrainse.
+pulls.required_status_check_failed = Níor éirigh le roinnt seiceálacha riachtanacha.
+pulls.required_status_check_missing = Tá roinnt seiceanna riachtanacha ar iarraidh.
+pulls.required_status_check_administrator = Mar riarthóir, féadfaidh tú an t-iarratas tarraingthe seo a chumasc fós.
+pulls.can_auto_merge_desc = Is féidir an t-iarratas tarraingt seo a chumasc go huathoibríoch.
+pulls.cannot_auto_merge_desc = Ní féidir an t-iarratas tarraingthe seo a chumasc go huathoibríoch mar gheall ar choinbhleachtaí.
+pulls.cannot_auto_merge_helper = Cumaisc de láimh chun na coinbhleachtaí a réiteach.
+pulls.no_merge_desc = Ní féidir an t-iarratas tarraingthe seo a chumasc toisc go bhfuil gach rogha cumaisc stór díchumasaithe.
+pulls.no_merge_helper = Cumasaigh roghanna cumaisc i socruithe an stór nó cumasc an t-iarratas tarraingthe de láimh.
+pulls.no_merge_wip = Ní féidir an t-iarratas tarraingthe seo a chumasc toisc go bhfuil sé marcáilte mar obair atá ar siúl é.
+pulls.no_merge_not_ready = Níl an t-iarratas tarraingthe seo réidh le cumasc, seiceáil stádas athbhreithnithe agus seiceálacha stádais.
+pulls.no_merge_access = Níl tú údaraithe chun an t-iarratas tarraingthe seo a chumasc.
+pulls.merge_pull_request = Cruthaigh tiomantas cumaisc
+pulls.rebase_merge_pull_request = Athbhunaigh ansin go tapa ar aghaidh
+pulls.rebase_merge_commit_pull_request = Rebase ansin cruthaigh tiomantas cumaisc
+pulls.squash_merge_pull_request = Cruthaigh tiomantas scuaise
+pulls.fast_forward_only_merge_pull_request = Go tapa ar aghaidh amháin
+pulls.merge_manually = Cumaisc de láimh
+pulls.merge_commit_id = ID an tiomantis cumaisc
+pulls.require_signed_wont_sign = Éilíonn an bhrainse tiomáintí shínithe, ach ní shínífear an cumasc seo
+pulls.invalid_merge_option = Ní féidir leat an rogha cumaisc seo a úsáid don iarratas tarraingthe seo.
+pulls.merge_conflict = Theip ar Cumaisc: Bhí coinbhleacht ann agus é ag cumasc. Leid: Bain triail as straitéis dhifriúil
+pulls.merge_conflict_summary = Teachtaireacht Earráide
+pulls.rebase_conflict = Theip ar Chumasc: Bhí coinbhleacht ann agus tiomantas á athbhunú: %[1]s. Leid: Bain triail as straitéis eile
+pulls.rebase_conflict_summary = Teachtaireacht Earráide
+pulls.unrelated_histories = Theip ar Cumaisc: Ní roinneann an ceann cumaisc agus an bonn stair choiteann. Leid: Bain triail as straitéis dhifriúil
+pulls.merge_out_of_date = Theip ar Cumaisc: Agus an cumaisc á ghiniúint, nuashonraíodh an bonn. Leid: Bain triail as arís.
+pulls.head_out_of_date = Theip ar Cumaisc: Agus an cumaisc á ghiniúint, nuashonraíodh an ceann. Leid: Bain triail as arís.
+pulls.has_merged = Theip ar: Cumaisíodh an t-iarratas tarraingthe, ní féidir leat a chumasc arís nó an spriocbhrainse a athrú.
+pulls.push_rejected = Theip ar Brúigh: Diúltaíodh don bhrú. Déan athbhreithniú ar na Git Hooks don stór seo.
+pulls.push_rejected_summary = Teachtaireacht Diúltaithe Iomlán
+pulls.push_rejected_no_message = Theip ar Brúigh: Diúltaíodh don bhrú ach ní raibh aon teachtaireacht iargúlta ann. Déan athbhreithniú ar Git Hooks don stór seo
+pulls.open_unmerged_pull_exists = `Ní féidir leat oibríocht athoscailte a dhéanamh toisc go bhfuil iarratas tarraingthe ar feitheamh (#%d) le hairíonna comhionanna. `
+pulls.status_checking = Tá roinnt seiceála ar feitheamh
+pulls.status_checks_success = D'éirigh le gach seiceáil
+pulls.status_checks_warning = Thuairiscigh roinnt seiceálacha rabhaidh
+pulls.status_checks_failure = Theip ar roinnt seiceálacha
+pulls.status_checks_error = Thug roinnt seiceálacha earráidí
+pulls.status_checks_requested = Riachtanach
+pulls.status_checks_details = Sonraí
+pulls.status_checks_hide_all = Folaigh gach seiceáil
+pulls.status_checks_show_all = Taispeáin gach seiceáil
+pulls.update_branch = Nuashonrú brainse trí chumasc
+pulls.update_branch_rebase = Nuashonraigh an bhrainse trí athbhunú
+pulls.update_branch_success = Bhí nuashonrú brainse rathúil
+pulls.update_not_allowed = Ní cheadaítear duit brainse a nuashonrú
+pulls.outdated_with_base_branch = Tá an brainse seo as dáta leis an mbunbhrainse
+pulls.close = Dún Iarratas Tarraing
+pulls.closed_at = `dhún an t-iarratas tarraingthe seo %[2]s`
+pulls.reopened_at = `athoscail an t-iarratas tarraingthe seo %[2]s`
+pulls.cmd_instruction_checkout_title = Seiceáil
+pulls.cmd_instruction_checkout_desc = Ó stór tionscadail, seiceáil brainse nua agus déan tástáil ar na hathruithe.
+pulls.cmd_instruction_merge_title = Cumaisc
+pulls.clear_merge_message = Glan an teachtaireacht chumaisc
+pulls.clear_merge_message_hint = Má imrítear an teachtaireacht chumaisc ní bhainfear ach ábhar na teachtaireachta tiomanta agus coimeádfar leantóirí git ginte ar nós "Co-Authored-By …".
+pulls.auto_merge_button_when_succeed = (Nuair a éiríonn le seiceálacha)
+pulls.auto_merge_when_succeed = Cumaisc uathoibríoch nuair a éiríonn
+pulls.auto_merge_newly_scheduled = Bhí an t-iarratas tarraingt sceidealta le cumasc nuair a éiríonn le gach seiceáil.
+pulls.auto_merge_has_pending_schedule = Bhí an t-iarratas tarraingthe seo sceidealaithe ag %[1]s chun cumasc uathoibríoch a dhéanamh nuair a éiríonn le gach seiceáil %[2]s.
+pulls.auto_merge_cancel_schedule = Cealaigh cumasc uathoibríoch
+pulls.auto_merge_not_scheduled = Níl an t-iarratas tarraingthe seo sceidealaithe le cumasc go huathoibríoch.
+pulls.auto_merge_canceled_schedule = Cealaíodh an cumaisc uathoibríoch don iarratas tarraingthe seo.
+pulls.auto_merge_newly_scheduled_comment = `sceidealta an t-iarratas tarraingthe seo le cumasc uathoibrithe nuair a éiríonn le gach seiceáil %[1]s`
+pulls.auto_merge_canceled_schedule_comment = `curtha ar ceal uathchumasc leis an iarratas tarraingthe seo nuair a éiríonn le gach seiceáil %[1]s`
+pulls.delete.title = Scrios an t-iarratas tarraingthe seo?
+pulls.delete.text = An bhfuil tú cinnte gur mhaith leat an t-iarratas tarraingthe seo a scriosadh? (Bainfidh sé seo an t-inneachar go léir go buan. Smaoinigh ar é a dhúnadh ina ionad sin, má tá sé i gceist agat é a choinneáil i gcartlann)
+pull.deleted_branch = (scriosta): %s
+comments.edit.already_changed = Ní féidir athruithe a shábháil ar an trácht. Dealraíonn sé gur athraigh úsáideoir eile an t-ábhar cheana féin. Athnuachan an leathanach agus déan iarracht eagarthóireacht arís chun a gcuid athruithe a sheachaint
+milestones.new = Cloch Mhíle Nua
+milestones.closed = Dúnta %s
+milestones.update_ago = Nuashonraithe %s
+milestones.no_due_date = Gan dáta dlite
+milestones.open = Oscailte
+milestones.close = Dún
+milestones.new_subheader = Is féidir le clocha míle cabhrú leat ceisteanna a eagrú agus a ndul chun cinn a rianú.
+milestones.completeness = %d%% Críochnaithe
+milestones.create = Cruthaigh Cloch Mhíle
+milestones.title = Teideal
+milestones.desc = Cur síos
+milestones.due_date = Dáta dlite (roghnach)
+milestones.clear = Glan
+milestones.create_success = Cruthaíodh an chloch mhíle "%s".
+milestones.edit = Cuir Cloch Mhíle in eagar
+milestones.edit_subheader = Eagraíonn Garspriocanna saincheisteanna agus rianaítear dul chun cinn.
+milestones.cancel = Cealaigh
+milestones.modify = Nuashonraigh Cloch Mhíle
+milestones.edit_success = Nuashonraíodh cloch mhíle "%s".
+milestones.deletion = Scrios Cloch Mhíle
+milestones.deletion_desc = Cuireann scriosadh cloch mhíle é as gach saincheist ghaolmhar. Lean ar aghaidh?
+milestones.deletion_success = Tá an chloch mhíle scriosta.
+milestones.filter_sort.name = Ainm
+milestones.filter_sort.least_complete = Is lú críochnaithe
+milestones.filter_sort.most_complete = Is mó críochnaithe
+milestones.filter_sort.most_issues = Saincheisteanna is mó
+milestones.filter_sort.least_issues = Saincheisteanna is lú
+signing.will_sign = Síneofar an gealltanas seo le heochair "%s".
+signing.wont_sign.error = Bhí earráid ann agus tú ag seiceáil an féidir an tiomantas a shíniú.
+signing.wont_sign.never = Ní shínítear tiomáintí riamh.
+signing.wont_sign.always = Sínítear tiomáintí i gcónaí.
+signing.wont_sign.pubkey = Ní shíníofar an tiomantas toisc nach bhfuil eochair phoiblí agat a bhaineann le do chuntas.
+signing.wont_sign.twofa = Caithfidh fíordheimhniú dhá-fhachtóir a bheith agat chun tiomáintí a shíniú.
+signing.wont_sign.parentsigned = Ní shíníofar an tiomantas toisc nach bhfuil an tiomantas tuismitheora sínithe.
+signing.wont_sign.basesigned = Ní shínífear an cumasc toisc nach bhfuil an tiomantas bunaithe sínithe.
+signing.wont_sign.headsigned = Ní shínífear an cumasc toisc nach bhfuil an tiomantas ceann sínithe.
+signing.wont_sign.commitssigned = Ní shínífear an cumasc toisc nach bhfuil na tiomáintí gaolmhara go léir sínithe.
+signing.wont_sign.approved = Ní shíníofar an cumaisc toisc nach bhfuil an PR ceadaithe.
+signing.wont_sign.not_signed_in = Níl tú sínithe isteach.
+wiki = Vicí
+wiki.welcome = Fáilte go dtí an Vicí.
+wiki.welcome_desc = Ligeann an vicí duit cáipéisíocht a scríobh agus a roinnt le comhoibrithe.
+wiki.desc = Scríobh agus roinn cáipéisíocht le comhoibrithe.
+wiki.create_first_page = Cruthaigh an Chéad Leathanach
+wiki.page = Leathanach
+wiki.filter_page = Leathanach scagaire
+wiki.new_page = Leathanach
+wiki.page_title = Teideal an leathanaigh
+wiki.page_content = Ábhar an leathanaigh
+wiki.default_commit_message = Scríobh nóta faoin nuashonrú leathanaigh seo (roghnach).
+wiki.save_page = Sábháil Leathanach
+wiki.last_commit_info = Cuireadh %s an leathanach seo in eagar %s
+wiki.edit_page_button = Cuir in eagar
+wiki.new_page_button = Leathanach Nua
+wiki.file_revision = Athbhreithniú Leathanach
+wiki.back_to_wiki = Ar ais go leathanach vicí
+wiki.delete_page_button = Scrios Leathanach
+wiki.delete_page_notice_1 = Ní féidir leathanach vicí "%s" a scriosadh. Lean ort?
+wiki.page_already_exists = Tá leathanach vicí leis an ainm céanna ann cheana féin.
+wiki.reserved_page = Tá an t-ainm leathanaigh vicí "%s" in áirithe.
+wiki.pages = Leathanaigh
+wiki.last_updated = Nuashonraithe deireanach %s
+wiki.original_git_entry_tooltip = Féach ar an gcomhad bunaidh Git in ionad nasc cairdiúil a úsáid.
+activity = Gníomhaíocht
+activity.navbar.pulse = Cuisle
+activity.navbar.code_frequency = Minicíocht Cód
+activity.navbar.contributors = Rannpháirtithe
+activity.navbar.recent_commits = Tiomáintí le déanaí
+activity.period.filter_label = Tréimhse:
+activity.period.daily = 1 lá
+activity.period.halfweekly = 3 lá
+activity.period.weekly = 1 seachtain
+activity.period.monthly = 1 mhí
+activity.period.quarterly = 3 mhí
+activity.period.semiyearly = 6 mhí
+activity.period.yearly = 1 bhliain
+activity.overview = Forbhreathnú
+activity.active_prs_count_1 = %d Iarratas Tarraingthe Gníomhach
+activity.active_prs_count_n = %d Iarratais Tharraing Ghníomhach
+activity.merged_prs_count_1 = Iarratas Tarraing Cumaisc
+activity.merged_prs_count_n = Iarratais Tharraing Chomhcheangail
+activity.opened_prs_count_1 = Iarratas Tarraing Beartaithe
+activity.opened_prs_count_n = Iarratais Tarraing Beartaithe
+activity.title.user_1 = %d úsáideoir
+activity.title.user_n = %d úsáideoirí
+activity.title.prs_1 = Iarratas tarraing %d
+activity.title.prs_n = %d Iarratais Tarraing
+activity.title.prs_merged_by = %s a chumasc ag %s
+activity.title.prs_opened_by = %s arna mholadh ag %s
+activity.merged_prs_label = Cumaiscthe
+activity.opened_prs_label = Molta
+activity.active_issues_count_1 = %d Eagrán Gníomhach
+activity.active_issues_count_n = %d Ceisteanna Gníomhacha
+activity.closed_issues_count_1 = Saincheist Dúnta
+activity.closed_issues_count_n = Saincheisteanna Dúnta
+activity.title.issues_1 = Saincheist %d
+activity.title.issues_n = Saincheisteanna %d
+activity.title.issues_closed_from = %s dúnta ó %s
+activity.title.issues_created_by = %s cruthaithe ag %s
+activity.closed_issue_label = Dúnta
+activity.new_issues_count_1 = Eagrán Nua
+activity.new_issues_count_n = Saincheisteanna Nua
+activity.new_issue_label = Osclaíodh
+activity.title.unresolved_conv_1 = %d Comhrá Neamhréitithe
+activity.title.unresolved_conv_n = %d Comhráite Neamhréitithe
+activity.unresolved_conv_desc = Níor réitíodh na saincheisteanna agus na hiarratais tarraingthe seo le déanaí fós.
+activity.unresolved_conv_label = Oscailte
+activity.title.releases_1 = Scaoileadh %d
+activity.title.releases_n = Eisiúintí %d
+activity.title.releases_published_by = %s foilsithe ag %s
+activity.no_git_activity = Níor rinneadh aon ghníomhaíocht tiomanta sa tréimhse seo.
+activity.git_stats_exclude_merges = Gan cumaisc a áireamh,
+activity.git_stats_author_1 = %d údar
+activity.git_stats_author_n = %d údair
+activity.git_stats_pushed_1 = tá sé brúite
+activity.git_stats_pushed_n = tá brú orthu
+activity.git_stats_commit_1 = %d tiomantas
+activity.git_stats_commit_n = %d tiomáintí
+activity.git_stats_push_to_branch = chuig %s agus
+activity.git_stats_push_to_all_branches = chuig gach brainse.
+activity.git_stats_on_default_branch = Ar %s,
+activity.git_stats_file_1 = %d comhad
+activity.git_stats_file_n = %d comhaid
+activity.git_stats_files_changed_1 = tá athrú tagtha
+activity.git_stats_files_changed_n = tá athraithe
+activity.git_stats_additions = agus tá ann
+activity.git_stats_addition_1 = %d breisiú
+activity.git_stats_addition_n = %d breiseanna
+activity.git_stats_and_deletions = agus
+activity.git_stats_deletion_1 = %d scriosadh
+activity.git_stats_deletion_n = %d scriosta
+contributors.contribution_type.filter_label = Cineál ranníocaíochta:
+contributors.contribution_type.commits = Tiomáintí
+contributors.contribution_type.additions = Breiseanna
+contributors.contribution_type.deletions = Scriosadh
+settings = Socruithe
+settings.desc = Is é socruithe an áit ar féidir leat na socruithe don stóras a bhainistiú
+settings.options = Stóras
+settings.collaboration = Comhoibritheoirí
+settings.collaboration.admin = Riarthóir
+settings.collaboration.write = Scríobh
+settings.collaboration.read = Léigh
+settings.collaboration.owner = Úinéir
+settings.collaboration.undefined = Neamhshainithe
+settings.hooks = Crúcaí Gréasán
+settings.githooks = Crúcanna Git
+settings.basic_settings = Socruithe Bunúsacha
+settings.mirror_settings = Socruithe Scáthán
+settings.mirror_settings.docs = Cuir do stóras ar bun chun tiomáintí, clibeanna agus brainsí a shioncronú go huathoibríoch le stóras eile.
+settings.mirror_settings.docs.disabled_pull_mirror.instructions = Socraigh do thionscadal chun tiomáintí, clibeanna agus brainsí a bhrú go huathoibríoch chuig stóras eile. Tá scátháin tarraingthe díchumasaithe ag riarthóir do shuíomh.
+settings.mirror_settings.docs.disabled_push_mirror.instructions = Socraigh do thionscadal chun tiomáintí, clibeanna agus brainsí a tharraingt go huathoibríoch ó stóras eile.
+settings.mirror_settings.docs.disabled_push_mirror.pull_mirror_warning = Faoi láthair, ní féidir é seo a dhéanamh ach sa roghchlár "Imirce Nua". Le haghaidh tuilleadh eolais, téigh i gcomhairle le do thoil:
+settings.mirror_settings.docs.disabled_push_mirror.info = Chuir riarthóir do shuíomh faoi dhíchumasú scátháin bhrú.
+settings.mirror_settings.docs.no_new_mirrors = Tá do stóras ag teacht le hathruithe chuig nó ó stóras eile. Cuimhnigh le do thoil nach féidir leat scátháin nua a chruthú faoi láthair.
+settings.mirror_settings.docs.can_still_use = Cé nach féidir leat scátháin atá ann cheana a mhodhnú nó cinn nua a chruthú, féadfaidh tú do scáthán atá ann cheana a úsáid fós.
+settings.mirror_settings.docs.pull_mirror_instructions = Chun scáthán tarraingthe a shocrú, téigh i gcomhairle le do thoil:
+settings.mirror_settings.docs.more_information_if_disabled = Is féidir leat tuilleadh eolais a fháil faoi scátháin bhrú agus tarraingthe anseo:
+settings.mirror_settings.docs.doc_link_title = Conas is féidir liom na stórtha a scáthánú?
+settings.mirror_settings.docs.doc_link_pull_section = an chuid "Ag tarraingt ó stóras" den doiciméadú.
+settings.mirror_settings.docs.pulling_remote_title = Ag tarraingt ó stóras cianda
+settings.mirror_settings.mirrored_repository = Stóras scátháin
+settings.mirror_settings.pushed_repository = Stóras brúite
+settings.mirror_settings.direction = Treo
+settings.mirror_settings.direction.pull = Tarraingt
+settings.mirror_settings.direction.push = Brúigh
+settings.mirror_settings.last_update = Nuashonrú deireanach
+settings.mirror_settings.push_mirror.none = Níl aon scátháin bhrú cumraithe
+settings.mirror_settings.push_mirror.remote_url = URL Stóras Cianda Git
+settings.mirror_settings.push_mirror.add = Cuir Scáthán Brúigh leis
+settings.mirror_settings.push_mirror.edit_sync_time = Eagar eatramh sioncronaithe scátháin
+settings.sync_mirror = Sioncronaigh Anois
+settings.pull_mirror_sync_in_progress = Athruithe a tharraingt ón iargúlta %s i láthair na huaire.
+settings.push_mirror_sync_in_progress = Athruithe a bhrú ar an iargúlta %s i láthair na huaire.
+settings.site = Láithreán Gréasáin
+settings.update_mirror_settings = Nuashonraigh Socruithe Scátháin
+settings.branches.switch_default_branch = Athraigh Brainse Réamhshocraithe
+settings.branches.update_default_branch = An Brainse Réamhshocraithe a nuashonrú
+settings.branches.add_new_rule = Cuir Riail Nua leis
+settings.advanced_settings = Ardsocruithe
+settings.wiki_desc = Cumasaigh Stór Vicí
+settings.use_internal_wiki = Úsáid Vicí Insuite
+settings.use_external_wiki = Úsáid Vicí Seachtrach
+settings.external_wiki_url = URL Vicí Seachtrach
+settings.external_wiki_url_error = Ní URL bailí é URL seachtrach vicí.
+settings.external_wiki_url_desc = Atreoraítear cuairteoirí chuig an URL wiki seachtrach agus iad ag cliceáil ar an gcluaisín wiki.
+settings.issues_desc = Cumasaigh Rianóir Saincheist Stórais
+settings.use_internal_issue_tracker = Úsáid Rianóir Saincheist Ionsuite
+settings.use_external_issue_tracker = Úsáid Rianaire Eisiúint Sheachtrach
+settings.external_tracker_url = URL Rianaithe Saincheisteanna Seachtrach
+settings.external_tracker_url_error = Ní URL bailí é an URL rianaitheora saincheisteanna seachtrach.
+settings.external_tracker_url_desc = Déantar cuairteoirí a atreorú chuig an URL rianaithe eisiúintí seachtracha nuair a chliceálann siad ar an táb saincheisteanna.
+settings.tracker_url_format = Formáid URL Rianaithe Saincheist Seachtrach
+settings.tracker_url_format_error = Ní URL bailí é an fhormáid URL rianaitheora saincheisteanna seachtrach.
+settings.tracker_issue_style = Formáid Uimhir Rianaithe Saincheisteanna
+settings.tracker_issue_style.numeric = Uimhriúil
+settings.tracker_issue_style.alphanumeric = Alfauméireacha
+settings.tracker_issue_style.regexp = Léiriú Rialta
+settings.tracker_issue_style.regexp_pattern = Patrún Léirithe Rialta
+settings.tracker_issue_style.regexp_pattern_desc = Úsáidfear an chéad ghrúpa a gabhadh in ionad {index}.
+settings.tracker_url_format_desc = Úsáid na sealbhóirí áite {user}, {repo} agus {index} le haghaidh an ainm úsáideora, an t-ainm stórtha agus an t-innéacs eisiúna.
+settings.enable_timetracker = Cumasaigh Rianú Ama
+settings.allow_only_contributors_to_track_time = Lig do Rannpháirtithe Amach Am a Rianú
+settings.pulls_desc = Cumasaigh Iarratais Tarraingthe Stóras
+settings.pulls.ignore_whitespace = Déan neamhaird de spás bán le haghaidh coinbhleachtaí
+settings.pulls.enable_autodetect_manual_merge = Cumasaigh cumasc láimhe autodetector (Nóta: I roinnt cásanna speisialta, is féidir míbhreithiúnais tarlú)
+settings.pulls.allow_rebase_update = Cumasaigh brainse iarratais tarraingthe a nuashonrú trí athbhunú
+settings.pulls.default_delete_branch_after_merge = Scrios brainse an iarratais tarraingthe tar éis cumasc de réir réamhshocraithe
+settings.pulls.default_allow_edits_from_maintainers = Ceadaigh eagarthóirí ó chothabhálaí de réir réamhshocraithe
+settings.releases_desc = Cumasaigh Eisiúintí Stórais
+settings.admin_settings = Socruithe Riarthóra
+settings.admin_enable_health_check = Cumasaigh Seiceálacha Sláinte Stórais (git fsck)
+settings.admin_code_indexer = Innéacsaitheoir Cód
+settings.admin_stats_indexer = Innéacsóir Staitisticí Cód
+settings.admin_indexer_unindexed = Neamh-innéacsaithe
+settings.reindex_button = Cuir le Scuaine Reindex
+settings.reindex_requested = Athinnéacsú Iarrtha
+settings.admin_enable_close_issues_via_commit_in_any_branch = Saincheist a dhúnadh trí ghealltanas a rinneadh i mbrainse neamh-mhainneachtana
+settings.danger_zone = Crios Contúirte
+settings.new_owner_has_same_repo = Tá stóras leis an ainm céanna ag an úinéir nua cheana féin. Roghnaigh ainm eile le do thoil.
+settings.convert = Tiontaigh go Stóras Rialta
+settings.convert_desc = Is féidir leat an scáthán seo a thiontú ina stór rialta. Ní féidir é seo a chur ar ais.
+settings.convert_notices_1 = Déanfaidh an oibríocht seo an scáthán a thiontú ina stóras rialta agus ní féidir é a chur ar ais.
+settings.convert_confirm = Tiontaigh Stóras
+settings.convert_succeed = Tá an scáthán tiontaithe ina stóras rialta.
+settings.convert_fork = Tiontaigh go Stóras Rialta
+settings.convert_fork_desc = Is féidir leat an forc seo a thiontú ina stóras rialta. Ní féidir é seo a chur ar ais.
+settings.convert_fork_notices_1 = Déanfaidh an oibríocht seo an forc a thiontú ina stóras rialta agus ní féidir é a chur ar ais.
+settings.convert_fork_confirm = Tiontaigh Stóras
+settings.convert_fork_succeed = Tá an forc tiontaithe ina stóras rialta.
+settings.transfer.rejected = Diúltaíodh d'aistriú stóras.
+settings.transfer.success = D'éirigh le haistriú stóras.
+settings.transfer_abort = Cealaigh aistriú
+settings.transfer_abort_invalid = Ní féidir leat aistriú stóras nach bhfuil ann a chealú.
+settings.transfer_abort_success = Cuireadh an t-aistriú stóras chuig %s ar ceal go rathúil.
+settings.transfer_desc = Aistrigh an stóras seo chuig úsáideoir nó chuig eagraíocht a bhfuil cearta riarthóra agat ina leith.
+settings.transfer_in_progress = Tá aistriú leanúnach ann faoi láthair. Cealaigh é más mian leat an stóras seo a aistriú chuig úsáideoir eile.
+settings.transfer_notices_1 = - Caillfidh tú rochtain ar an stóras má aistríonn tú é chuig úsáideoir aonair.
+settings.transfer_notices_2 = - Coimeádfaidh tú rochtain ar an stóras má aistríonn tú é chuig eagraíocht a bhfuil (comh)úinéir agat.
+settings.transfer_notices_3 = - Má tá an stóras príobháideach agus má aistrítear é chuig úsáideoir aonair, cinnteoidh an gníomh seo go bhfuil ar a laghad cead léite ag an úsáideoir (agus athraíonn sé ceadanna más gá).
+settings.transfer_owner = Úinéir nua
+settings.transfer_perform = Déan Aistriú
+settings.transfer_started = `Tá an stóras seo marcáilte le haistriú agus tá sé ag fanacht le deimhniú ó "%s"`
+settings.transfer_succeed = Tá an stóras aistrithe.
+settings.signing_settings = Socruithe Fíoraithe Sínithe
+settings.trust_model = Samhail Iontaobhas Sínithe
+settings.trust_model.default = Múnla Iontaobhais Réamhshocraithe
+settings.trust_model.default.desc = Úsáid an tsamhail iontaobhais stórais réamhshocraithe don suiteáil
+settings.trust_model.collaborator = Comhoibritheoir
+settings.trust_model.collaborator.long = Comhoibritheoir: Sínithe muinín ag comhoibrithe
+settings.trust_model.collaborator.desc = Déanfar sínithe bailí ó chomhoibritheoirí an stóras seo a mharcáil mar 'iontaofa' – (cibé acu a mheaitseálann siad an tiomnóir nó nach bhfuil). Seachas sin, marcálfar sínithe bailí mar 'neamhiontaofa' má mheaitseálann an síniú an tiomnóir agus mar 'neamh-mheaitseáilte' mura bhfuil.
+settings.trust_model.committer = Coimisitheoir
+settings.trust_model.collaboratorcommitter = Comhoibritheo+Coimiteoir
+settings.trust_model.collaboratorcommitter.long = Comhoibrí+Coiste: sínithe muiníne ó chomhoibrithe a mheaitseálann an tiomnóir
+settings.wiki_delete = Scrios Sonraí Vicí
+settings.wiki_delete_desc = Tá sonraí wiki stóras a scriosadh buan agus ní féidir iad a chur ar ais.
+settings.wiki_delete_notices_1 = - Scriosfaidh agus díchumasóidh sé seo an stóras vicí do %s go buan.
+settings.confirm_wiki_delete = Scrios Sonraí Vicí
+settings.wiki_deletion_success = Scriosadh sonraí vicí an stórais.
+settings.delete = Scrios an Stóras seo
+settings.delete_desc = Tá scriosadh stóras buan agus ní féidir é a chealú.
+settings.delete_notices_1 = - NÍ FÉIDIR an oibríocht seo a chealú.
+settings.delete_notices_2 = - Scriosfaidh an oibríocht seo stór %s go buan lena n-áirítear cód, ceisteanna, nótaí tráchta, sonraí vicí agus socruithe comhoibrithe.
+settings.delete_notices_fork_1 = - Beidh forcanna den stóras seo neamhspleách tar éis iad a scriosadh.
+settings.deletion_success = Tá an stóras scriosta.
+settings.update_settings_success = Nuashonraíodh na socruithe stóras.
+settings.update_settings_no_unit = Ba cheart go gceadódh an stóras idirghníomhú de chineál éigin ar a laghad.
+settings.confirm_delete = Scrios Stóras
+settings.add_collaborator = Cuir Comhoibritheoir leis
+settings.add_collaborator_success = Cuireadh an comhoibritheoir leis.
+settings.add_collaborator_inactive_user = Ní féidir úsáideoir neamhghníomhach a chur mar chomhoibritheoir.
+settings.add_collaborator_owner = Ní féidir úinéir a chur leis mar chomhoibritheoir.
+settings.add_collaborator_duplicate = Tá an comhoibrí curtha leis an stóras seo cheana féin.
+settings.delete_collaborator = Bain
+settings.collaborator_deletion = Bain Comhoibritheoir
+settings.collaborator_deletion_desc = Má dhéantar comhoibrí a bhaint, déanfar a rochtain ar an stóras seo a chúlghairm. Lean ort?
+settings.remove_collaborator_success = Tá an comhoibritheoir bainte.
+settings.org_not_allowed_to_be_collaborator = Ní féidir eagraíochtaí a chur leis mar chomhoibritheoir.
+settings.change_team_access_not_allowed = Tá rochtain foirne a athrú don stóras teoranta d'úinéir eagraíochta
+settings.team_not_in_organization = Níl an fhoireann san eagraíocht chéanna leis an stóras
+settings.teams = Foirne
+settings.add_team = Cuir Foireann leis
+settings.add_team_duplicate = Tá an stóras ag an bhfoireann cheana féin
+settings.add_team_success = Tá rochtain ag an bhfoireann anois ar an stóras.
+settings.change_team_permission_tip = Tá cead na foirne socraithe ar leathanach socraithe foirne agus ní féidir é a athrú in aghaidh an stóras
+settings.delete_team_tip = Tá rochtain ag an bhfoireann seo ar gach stórais agus ní féidir í a bhaint
+settings.remove_team_success = Tá rochtain na foirne ar an stóras bainte amach.
+settings.add_webhook = Cuir Crúca Gréasán leis
+settings.add_webhook.invalid_channel_name = Ní féidir ainm cainéal Crúca Gréasán a bheith folamh agus ní féidir ach carachtar # a bheith ann.
+settings.webhook_deletion = Bain Crúca Gréasán
+settings.webhook_deletion_desc = Scriostar a shocruithe agus a stair seachadta a bhaineann le Crúca Gréasán a bhaint. Lean ar aghaidh?
+settings.webhook_deletion_success = Tá an Crúca Gréasán bainte amach.
+settings.webhook.test_delivery = Seachadadh Tástála
+settings.webhook.test_delivery_desc = Déan tástáil ar an Crúca Gréasán seo le himeacht bhréige.
+settings.webhook.test_delivery_desc_disabled = Chun an Crúca Gréasán seo a thástáil le himeacht bhréige, gníomhachtaigh é.
+settings.webhook.request = Iarratas
+settings.webhook.response = Freagra
+settings.webhook.headers = Ceanntásca
+settings.webhook.payload = Ábhar
+settings.webhook.body = Comhlacht
+settings.webhook.replay.description = Seinn an Crúca Gréasán seo arís.
+settings.webhook.replay.description_disabled = Chun an Crúca Gréasán seo a athsheinm, gníomhachtaigh é.
+settings.webhook.delivery.success = Cuireadh imeacht leis an scuaine seachadta. D'fhéadfadh sé cúpla soicind a thógáil sula dtaispeántar sé sa stair seachadta.
+settings.githook_edit_desc = Mura bhfuil an hook neamhghníomhach, cuirfear ábhar samplach i láthair. Má fhágann tú ábhar go luach folamh díchumasófar an crúca seo.
+settings.githook_name = Ainm Crúca
+settings.githook_content = Ábhar Crúca
+settings.update_githook = Nuashonraigh Crúca
+settings.payload_url = URL spriocdhírithe
+settings.http_method = Modh HTTP
+settings.content_type = Cineál Ábhar POST
+settings.secret = Rúnda
+settings.slack_username = Ainm úsáideora
+settings.slack_icon_url = URL deilbhín
+settings.slack_color = Dath
+settings.discord_username = Ainm úsáideora
+settings.discord_icon_url = URL deilbhín
+settings.event_desc = Truicear Ar:
+settings.event_push_only = Imeachtaí Brúigh
+settings.event_send_everything = Gach Imeacht
+settings.event_choose = Imeachtaí Saincheaptha…
+settings.event_header_repository = Imeachtaí Stóras
+settings.event_create = Cruthaigh
+settings.event_create_desc = Cruthaíodh brainse nó clib.
+settings.event_delete = Scrios
+settings.event_delete_desc = Brainse nó clib scriosta.
+settings.event_fork = Forc
+settings.event_fork_desc = Forcadh stóras.
+settings.event_wiki = Vicí
+settings.event_wiki_desc = Leathanach Vicí cruthaithe, athainmnithe, curtha in eagar nó scriosta.
+settings.event_release = Scaoileadh
+settings.event_release_desc = Scaoileadh foilsithe, nuashonraithe nó scriosta i stóras.
+settings.event_push = Brúigh
+settings.event_push_desc = Brúigh Git chuig stóras.
+settings.event_repository = Stóras
+settings.event_repository_desc = Stóras a cruthaíodh nó a scriosadh.
+settings.event_header_issue = Imeachtaí Eisiúint
+settings.event_issues_desc = Osclaíodh, dúnadh, athosclaíodh nó cuireadh an cheist in eagar.
+settings.event_issue_assign_desc = Eisiúint sannta nó neamhshannta.
+settings.event_issue_comment_desc = Trácht eisiúna cruthaithe, curtha in eagar nó a scriosadh.
+settings.event_header_pull_request = Tarraingt Imeachtaí Iarratas
+settings.event_pull_request_desc = Iarratas tarraingthe oscailte, dúnta, athoscailte nó curtha in eagar.
+settings.event_pull_request_assign_desc = Iarratas tarraingthe sannta nó neamhshannta.
+settings.event_pull_request_comment_desc = Trácht ar iarratas tarraingthe cruthaithe, curtha in eagar, nó scriosta.
+settings.event_pull_request_review_request_desc = Tarraing athbhreithniú iarratais iarrtha nó baineadh iarratas athbhreithnithe.
+settings.event_pull_request_approvals = Ceaduithe Iarratais Tarraing
+settings.event_pull_request_merge = Cumaisc Iarratas Tarraing
+settings.event_package = Pacáiste
+settings.event_package_desc = Pacáiste a cruthaíodh nó a scriosadh i stóras.
+settings.branch_filter = Scagaire brainse
+settings.branch_filter_desc = Liosta bán brainse le haghaidh brú, cruthú brainse agus imeachtaí scriosta brainse, sonraithe mar phatrún glob. Má tá sé folamh nó *, tuairiscítear imeachtaí do gach brainse. Féach %[2]s doiciméadú le haghaidh comhréire. Samplaí: máistir, {master,release*}.
+settings.authorization_header = Ceanntásc Údaraithe
+settings.authorization_header_desc = Cuirfear san áireamh mar cheanntásc údaraithe d'iarratais nuair a bheidh ann Samplaí: %s.
+settings.active = Gníomhach
+settings.active_helper = Seolfar faisnéis faoi imeachtaí spreagtha chuig an URL Crúca Gréasán seo.
+settings.add_hook_success = Cuireadh an Crúca Gréasán leis.
+settings.update_webhook = Nuashonraigh Crúca Gréasán
+settings.update_hook_success = Nuashonraíodh an Crúca Gréasán.
+settings.delete_webhook = Bain Crúca Gréasán
+settings.recent_deliveries = Seachadtaí le déana
+settings.hook_type = Cineál Crúca
+settings.slack_token = Comhartha
+settings.slack_domain = Fearann
+settings.slack_channel = Cainéal
+settings.add_web_hook_desc = Comhtháthaigh %s isteach i do stóras.
+settings.web_hook_name_gitea = Gitea
+settings.web_hook_name_gogs = Gogs
+settings.web_hook_name_slack = Slack
+settings.web_hook_name_discord = Discord
+settings.web_hook_name_dingtalk = DingTalk
+settings.web_hook_name_telegram = Teileagram
+settings.web_hook_name_matrix = Maitrís
+settings.web_hook_name_msteams = Microsoft Teams
+settings.web_hook_name_wechatwork = WeCom (Wechat Work)
+settings.web_hook_name_packagist = Packagist
+settings.packagist_username = Ainm úsáideora Pacagist
+settings.packagist_api_token = Comhartha API
+settings.packagist_package_url = URL pacáiste Packagist
+settings.deploy_keys = Eochracha a imscaradh
+settings.add_deploy_key = Cuir Eochair Imscartha leis
+settings.deploy_key_desc = Tá rochtain tarraingthe léite amháin ag eochracha imscartha ar an stóras.
+settings.is_writable = Cumasaigh Rochtain Scríobh
+settings.is_writable_info = Lig don eochair imlonnaithe seo a bhrú chuig an stóras.
+settings.no_deploy_keys = Níl aon eochracha imscartha ann fós.
+settings.title = Teideal
+settings.deploy_key_content = Ábhar
+settings.key_been_used = Tá eochair imscartha le hábhar comhionann in úsáid cheana féin.
+settings.key_name_used = Tá eochair imscartha leis an ainm céanna ann cheana féin.
+settings.add_key_success = Tá an eochair imlonnaithe "%s" curtha leis.
+settings.deploy_key_deletion = Bain Eochair Imlonnaithe
+settings.deploy_key_deletion_desc = Ag baint eochair imscartha, cuirfear a rochtain ar an stóras seo a chúlghairm. Lean ar aghaidh?
+settings.deploy_key_deletion_success = Tá an eochair imscartha bainte amach.
+settings.branches = Brainsí
+settings.protected_branch = Cosaint Brainse
+settings.protected_branch.save_rule = Sábháil Riail
+settings.protected_branch.delete_rule = Scrios Riail
+settings.protect_disable_push = Díchumasaigh Brúigh
+settings.protect_disable_push_desc = Ní cheadfar aon bhrú chuig an mbrainse seo.
+settings.protect_enable_push = Cumasaigh Brúigh
+settings.protect_enable_push_desc = Beidh cead ag aon duine a bhfuil rochtain scríofa aige/aici brú chuig an mbrainse seo (ach gan brú a bhrú).
+settings.protect_enable_merge = Cumasaigh Cumaisc
+settings.protect_enable_merge_desc = Beidh cead ag aon duine a bhfuil rochtain scríofa aige na hiarratais tarraingte a chumasc leis an mbrainse seo.
+settings.protect_check_status_contexts = Cumasaigh Seiceáil Stádas
+settings.protect_status_check_patterns_desc = Iontráil patrúin chun a shonrú cé na seiceálacha stádais a chaithfidh pas a fháil sular féidir brainsí a chumasc le brainse a chomhoibríonn leis an riail seo. Sonraíonn gach líne patrún. Ní féidir patrúin a bheith folamh.
+settings.protect_check_status_contexts_desc = A cheangal ar sheiceálacha stádais pas a fháil roimh chumasc. Nuair a bheidh sé cumasaithe, ní mór gealltanais a bhrú ar dtús chuig brainse eile, ansin iad a chumasc nó a bhrú go díreach chuig brainse a thagann leis an riail seo tar éis do sheiceálacha stádais a bheith caite. Mura ndéantar comhthéacs ar bith a mheaitseáil, ní mór go n-éireodh leis an ngealltanas deiridh beag beann ar an gcomhthéacs.
+settings.protect_check_status_contexts_list = Seiceálacha stádais a fuarthas sa tseachtain seo caite don stóras seo
+settings.protect_status_check_matched = Comhoiriúnach
+settings.protect_invalid_status_check_pattern = Patrún seiceála stádais neamhbhailí: "%s".
+settings.protect_no_valid_status_check_patterns = Gan aon phatrúin seiceála stádais bailí.
+settings.dismiss_stale_approvals = Déan seancheaduithe a dhíbhe
+settings.dismiss_stale_approvals_desc = Nuair a bhrúitear gealltanais nua a athraíonn ábhar an iarratais tarraingthe chuig an mbrainse, déanfar sean-cheaduithe a dhíchur.
+settings.ignore_stale_approvals = Déan neamhaird de sheancheaduithe
+settings.ignore_stale_approvals_desc = Ná cuir faomhadh a rinneadh ar ghealltanais níos sine (athbhreithnithe seanchaite) san áireamh i dtreo cé mhéad faomhadh atá ag an PR. Ní bhaineann le hábhar má dhéantar athbhreithnithe seanchaite a dhíbhe cheana féin.
+settings.require_signed_commits = Ceangaltais Sínithe a cheangal
+settings.require_signed_commits_desc = Diúltaigh brú chuig an mbrainse seo má tá siad neamhshínithe nó neamh-fhíoraithe.
+settings.protect_branch_name_pattern = Patrún Ainm Brainse Cosanta
+settings.protect_patterns = Patrúin
+settings.update_protect_branch_success = Tá cosaint brainse don riail "%s" nuashonraithe.
+settings.remove_protected_branch_success = Baineadh cosaint brainse don riail "%s".
+settings.remove_protected_branch_failed = Theip ar riail cosanta brainse "%s" a bhaint.
+settings.protected_branch_deletion = Scrios Cosaint Brainse
+settings.protected_branch_deletion_desc = Ligeann cosaint brainse a dhíchumasú d'úsáideoirí a bhfuil cead scríofa acu brú chuig an mbrainse. Lean ar aghaidh?
+settings.block_rejected_reviews = Cuir bac ar chumasc ar léirmheasanna diúltaithe
+settings.block_rejected_reviews_desc = Ní bheidh cumasc indéanta nuair a iarrann athbhreithnithe oifigiúla athruithe, fiú má tá go leor ceadaithe ann.
+settings.block_on_official_review_requests = Cuir bac ar chumasc ar iarratais ar athbhreithniú oifigiúil
+settings.block_on_official_review_requests_desc = Ní bheidh sé indéanta cumasc nuair a bhíonn iarratais oifigiúla ar athbhreithniú aige, fiú má tá go leor ceadaithe ann.
+settings.block_outdated_branch = Cuir bac ar chumasc má tá an t-iarratas tarraingthe as dáta
+settings.block_outdated_branch_desc = Ní bheidh cumasc indéanta nuair a bhíonn ceannbhrainse taobh thiar de bhronnbhrainse.
+settings.default_branch_desc = Roghnaigh brainse stóras réamhshocraithe le haghaidh iarratas tarraingte agus geallann an cód:
+settings.merge_style_desc = Stíleanna Cumaisc
+settings.default_merge_style_desc = Stíl Cumaisc Réamhshocraithe
+settings.choose_branch = Roghnaigh brainse…
+settings.no_protected_branch = Níl aon bhrainsí cosanta ann.
+settings.edit_protected_branch = Cuir in eagar
+settings.protected_branch_required_rule_name = Ainm riail riachtanach
+settings.protected_branch_required_approvals_min = Ní féidir ceaduithe riachtanacha a bheith diúltach.
+settings.tags = Clibeanna
+settings.tags.protection = Cosaint Clib
+settings.tags.protection.pattern = Patrún Clib
+settings.tags.protection.allowed = Ceadaithe
+settings.tags.protection.allowed.users = Úsáideoirí ceadaithe
+settings.tags.protection.allowed.teams = Foirne ceadaithe
+settings.tags.protection.allowed.noone = Níl aon duine
+settings.tags.protection.none = Níl aon chlibeanna cosanta ann.
+settings.tags.protection.pattern.description = Is féidir leat ainm amháin nó patrún glob nó slonn rialta a úsáid chun clibeanna iolracha a mheaitseáil. Léigh tuilleadh sa treoir na gclibeanna cosanta.
+settings.bot_token = Comhartha Bota
+settings.chat_id = ID Comhrá
+settings.thread_id = ID Snáithe
+settings.matrix.homeserver_url = URL sheirbhíse baile
+settings.matrix.room_id = ID seomra
+settings.matrix.message_type = Cineál teachtaireachta
+settings.archive.button = Cartlann Stóras
+settings.archive.header = Cartlann an Stóras seo
+settings.archive.text = Má dhéantar an stóras a chartlannú, beidh sé léite go hiomlán amháin. Beidh sé i bhfolach ón bpainéal. Aon duine (ní fiú tú!) beidh siad in ann tiomantas nua a dhéanamh, nó aon saincheisteanna nó iarratais a tharraingt a oscailt.
+settings.archive.success = Rinneadh an stóras a chartlannú go rathúil.
+settings.archive.error = Tharla earráid agus tú ag iarraidh an stóras a chartlannú. Féach an logáil le haghaidh tuilleadh sonraí.
+settings.archive.error_ismirror = Ní féidir leat stóras scátháin a chartlannú.
+settings.unarchive.button = Stóras gan cartlann
+settings.unarchive.header = Díchartlannaigh an stóras seo
+settings.unarchive.success = Rinneadh an stóras a dhíchartlann go rathúil.
+settings.unarchive.error = Tharla earráid agus tú ag iarraidh an stóras a dhíchartlannú. Féach an logáil le haghaidh tuilleadh sonraí.
+settings.update_avatar_success = Nuashonraíodh avatar an stóras.
+settings.lfs = LFS
+settings.lfs_filelist = Comhaid LFS a stóráiltear sa stóras seo
+settings.lfs_no_lfs_files = Níl aon chomhaid LFS stóráilte sa stóras seo
+settings.lfs_findcommits = Aimsigh gealltanais
+settings.lfs_lfs_file_no_commits = Níor aimsíodh aon ghealltanais don chomhad LFS seo
+settings.lfs_noattribute = Níl an tréith inghlasáilte sa bhrainse réamhshocraithe ag an gcosán seo
+settings.lfs_delete = Scrios comhad LFS le OID %s
+settings.lfs_findpointerfiles = Faigh comhaid pointeora
+settings.lfs_locks = Glais
+settings.lfs_invalid_locking_path = Cosan neamhbhailí: %s
+settings.lfs_invalid_lock_directory = Ní féidir eolaire a ghlasáil: %s
+settings.lfs_lock_already_exists = Tá an glas ann cheana féin: %s
+settings.lfs_lock = Glas
+settings.lfs_lock_path = Cosán comhad le haghaidh glasáil...
+settings.lfs_locks_no_locks = Gan Glais
+settings.lfs_lock_file_no_exist = Níl an comhad faoi ghlas sa bhrainse réamhshocraithe
+settings.lfs_force_unlock = Díghlasáil Fórsa
+settings.lfs_pointers.found = Aimsíodh %d pointeoir(í) blob - %d bainteach, %d neamhghaolmhar (%d in easnamh ón siopa)
+settings.lfs_pointers.oid = OID
+settings.lfs_pointers.inRepo = I Stóras
+settings.lfs_pointers.exists = Ann sa siopa
+settings.lfs_pointers.accessible = Inrochtana don Úsáideoir
+settings.lfs_pointers.associateAccessible = Comhlach %d OID inrochtana
+settings.rename_branch_failed_exist = Ní féidir brainse a athainmniú toisc go bhfuil spriocbhrainse %s ann.
+settings.rename_branch_failed_not_exist = Ní féidir brainse %s a athainmniú toisc nach bhfuil sé ann.
+settings.rename_branch_success = Ainmníodh brainse %s go rathúil go %s.
+settings.rename_branch = Athainmnigh brainse
+diff.browse_source = Brabhsáil Foinse
+diff.parent = tuismitheoir
+diff.commit = tiomantas
+diff.git-notes = Nótaí
+diff.options_button = Roghanna Diff
+diff.download_patch = Íoslódáil an comhad paiste
+diff.download_diff = Íoslódáil Comhad Diff
+diff.show_split_view = Amharc Scoilt
+diff.show_unified_view = Amharc Aontaithe
+diff.whitespace_button = Spás bán
+diff.whitespace_show_everything = Taispeáin gach athrú
+diff.whitespace_ignore_all_whitespace = Déan neamhaird de spás bán nuair a dhéantar comparáid idir línte
+diff.whitespace_ignore_amount_changes = Déan neamhaird de athruithe ar an méid spás bán
+diff.whitespace_ignore_at_eol = Déan neamhaird ar athruithe ar spás bán ag EOL
+diff.stats_desc = D'athraigh %d comhad le %d breiseanna agus %d scriosta
+diff.stats_desc_file = %d athruithe: %d breiseanna agus scriosadh %d
+diff.bin = BRUSCAIR
+diff.bin_not_shown = Ní thaispeántar comhad dénártha.
+diff.view_file = Féach ar an gComhad
+diff.file_before = Roimhe
+diff.file_after = Tar éis
+diff.file_image_width = Leithead
+diff.file_image_height = Airde
+diff.file_byte_size = Méid
+diff.file_suppressed = Tá difríocht comhad cosc orthu toisc go bhfuil sé ró-mhór
+diff.file_suppressed_line_too_long = Cuirtear difríocht comhad faoi chois toisc go bhfuil líne amháin nó níos mó rófhada
+diff.too_many_files = Níor taispeánadh roinnt comhad mar go bhfuil an iomarca comhad athraithe sa difríocht seo
+diff.show_more = Taispeáin Tuilleadh
+diff.load = Difríocht Luchtaigh
+diff.generated = a ghintear
+diff.vendored = curtha ar fáil
+diff.comment.add_line_comment = Cuir trácht líne leis
+diff.comment.placeholder = Fág trácht
+diff.comment.add_single_comment = Cuir trácht aonair leis
+diff.comment.add_review_comment = Cuir trácht leis
+diff.comment.start_review = Tosaigh athbhreithniú
+diff.comment.reply = Freagra
+diff.review.header = Cuir isteach léirmheas
+diff.review.placeholder = Trácht athbhreithnithe
+diff.review.comment = Trácht
+diff.review.approve = Ceadú
+diff.review.self_reject = Ní féidir le húdair iarratais tarraing athruithe a iarraidh ar a n-iarratas tarraingthe
+diff.review.reject = Iarr athruithe
+diff.review.self_approve = Ní féidir le húdair iarratais tarraing a n-iarratas tarraingthe féin a chead
+diff.committed_by = tiomanta ag
+diff.protected = Cosanta
+diff.image.side_by_side = Taobh le Taobh
+diff.image.swipe = Scaoil
+diff.image.overlay = Forleagan
+diff.has_escaped = Tá carachtair Unicode i bhfolach ag an líne seo
+diff.show_file_tree = Taispeáin crann comhad
+diff.hide_file_tree = Folaigh crann comhad
+releases.desc = Rian leaganacha tionscadal agus íoslódálacha.
+release.releases = Eisiúintí
+release.detail = Sonraí eisithe
+release.tags = Clibeanna
+release.new_release = Scaoileadh Nua
+release.draft = Dréacht
+release.prerelease = Réamh-eisiúint
+release.stable = Cobhsaí
+release.compare = Déan comparáid
+release.edit = cuir in eagar
+release.ahead.commits = Geallann %d
+release.ahead.target = go %s ón scaoileadh seo
+tag.ahead.target = chuig %s ón gclib seo
+release.source_code = Cód Foinse
+release.new_subheader = Eagraíonn eiseachtaí leaganacha tionscadail
+release.edit_subheader = Eagraíonn eisiúintí leaganacha tionscadal.
+release.tag_name = Ainm chlib
+release.target = Sprioc
+release.tag_helper = Roghnaigh clib atá ann cheana nó cruthaigh clib nua.
+release.tag_helper_new = Clib nua. Cruthófar an chlib seo ón sprioc.
+release.tag_helper_existing = Clib atá ann cheana.
+release.title = Teideal scaoileadh
+release.title_empty = Ní féidir leis an teideal a bheith folamh.
+release.message = Déan cur síos ar an eisiúint seo
+release.prerelease_desc = Marcáil mar Réamh-eisiúint
+release.prerelease_helper = Marcáil an scaoileadh seo mí-oiriúnach le húsáid táirgeachta.
+release.cancel = Cealaigh
+release.publish = Foilsigh Eisiúint
+release.save_draft = Sábháil Dréacht
+release.edit_release = Eisiúint Nuashonraithe
+release.delete_release = Scrios Scaoilte
+release.delete_tag = Scrios Clib
+release.deletion = Scrios Scaoilte
+release.deletion_success = Tá an scaoileadh scriosta.
+release.deletion_tag_desc = Scriosfar an chlib seo ón stóras. Ní athraítear inneachar agus stair na stórtha. Lean ort?
+release.deletion_tag_success = Tá an chlib scriosta.
+release.tag_name_already_exist = Tá eisiúint leis an ainm clib seo ann cheana féin.
+release.tag_name_invalid = Níl ainm an chlib bailí.
+release.tag_name_protected = Tá ainm an chlib cosanta.
+release.tag_already_exist = Tá an t-ainm clib seo ann cheana féin.
+release.downloads = Íoslódálacha
+release.add_tag_msg = Úsáid teideal agus ábhar an eisiúna mar theachtaireacht chlibe.
+release.releases_for = Eisiúintí do %s
+release.tags_for = Clibeanna do %s
+branch.name = Ainm Brainse
+branch.already_exists = Tá brainse leis an ainm "%s" ann cheana féin.
+branch.delete_head = Scrios
+branch.delete = `Scrios Brainse "%s"`
+branch.delete_html = Scrios Brainse
+branch.delete_desc = Tá brainse a scriosadh buan. Cé go bhféadfadh an brainse scriosta leanúint ar aghaidh ag bheith ann ar feadh tréimhse ghearr sula mbaintear í i ndáiríre, NÍ FÉIDIR é a dhíchur i bhformhór Lean ar aghaidh?
+branch.deletion_success = Tá brainse "%s" scriosta.
+branch.deletion_failed = Theip ar scriosadh brainse "%s".
+branch.delete_branch_has_new_commits = Ní féidir brainse “%s” a scriosadh toisc go bhfuil tiomáintí nua curtha leis tar éis a chumasc.
+branch.create_branch = Cruthaigh brainse %s
+branch.create_from = `ó "%s"`
+branch.create_success = Tá brainse "%s" cruthaithe.
+branch.branch_already_exists = Tá brainse "%s" sa stóras seo cheana.
+branch.branch_name_conflict = Tagann an t-ainm brainse "%s" leis an mbrainse "%s" atá ann cheana féin.
+branch.tag_collision = Ní féidir brainse "%s" a chruthú mar tá clib leis an ainm céanna sa stóras cheana féin.
+branch.deleted_by = Scriosta ag %s
+branch.restore_success = Tá brainse "%s" curtha ar ais.
+branch.restore_failed = Theip ar chur ar ais brainse "%s".
+branch.protected_deletion_failed = Tá brainse "%s" cosanta. Ní féidir é a scriosadh.
+branch.default_deletion_failed = Is é brainse "%s" an brainse réamhshocraithe. Ní féidir é a scriosadh.
+branch.restore = `Athchóirigh Brainse "%s"`
+branch.download = `Brainse Íosluchtaithe "%s"`
+branch.rename = `Athainmnigh Brainse "%s"`
+branch.included_desc = Tá an brainse seo mar chuid den bhrainse réamhshocraithe
+branch.included = San áireamh
+branch.create_new_branch = Cruthaigh brainse ón mbrainse:
+branch.confirm_create_branch = Cruthaigh brainse
+branch.warning_rename_default_branch = Tá tú ag athainmniú an bhrainse réamhshocraithe.
+branch.rename_branch_to = Athainmnigh "%s" go:
+branch.create_branch_operation = Cruthaigh brainse
+branch.new_branch = Cruthaigh brainse nua
+branch.new_branch_from = `Cruthaigh brainse nua ó "%s"`
+branch.renamed = Ainmníodh brainse %s go %s.
+tag.create_tag = Cruthaigh clib %s
+tag.create_tag_operation = Cruthaigh clib
+tag.confirm_create_tag = Cruthaigh clib
+tag.create_tag_from = `Cruthaigh clib nua ó "%s"`
+tag.create_success = Tá clib "%s" cruthaithe.
+topic.manage_topics = Bainistigh topaicí
+topic.done = Déanta
+topic.count_prompt = Ní féidir leat níos mó ná 25 topaicí a roghnú
+find_file.no_matching = Níl aon chomhad meaitseála le fáil
+error.csv.too_large = Ní féidir an comhad seo a rinneadh toisc go bhfuil sé ró-mhór.
+error.csv.unexpected = Ní féidir an comhad seo a rindreáil toisc go bhfuil carachtar ann gan súil leis i líne %d agus i gcolún %d.
+error.csv.invalid_field_count = Ní féidir an comhad seo a rindreáil toisc go bhfuil líon mícheart réimsí i líne %d.
+error.broken_git_hook = Is cosúil go bhfuil crúcaí git den stór seo briste. Lean an doiciméadúchán chun iad a cheartú, ansin brúigh roinnt gealltanas chun an stádas a athnuachan.
+
+[graphs]
+component_loading = Á lódáil %s...
+component_loading_failed = Ní fhéadfaí %s a luchtú
+component_loading_info = Seans go dtógfaidh sé seo beagán…
+component_failed_to_load = Tharla earráid gan choinne.
+code_frequency.what = minicíocht cód
+contributors.what = ranníocaíochtaí
+recent_commits.what = tiomantáin le déanaí
+
+[org]
+org_name_holder = Ainm na hEagraíochta
+org_full_name_holder = Ainm iomlán na hEagraíochta
+org_name_helper = Ba cheart go mbeadh ainmneacha eagraíochta gearr agus i gcuimhne.
+create_org = Cruthaigh Eagraíocht
+members = Comhaltaí
+teams = Foirne
+code = Cód
+lower_members = comhaltaí
+lower_repositories = stórais
+create_new_team = Foireann Nua
+create_team = Cruthaigh Foireann
+org_desc = Cur síos
+team_name = Ainm Foirne
+team_desc = Cur síos
+team_name_helper = Ba chóir go mbeadh ainmneacha foirne gearr agus i gcuimhne.
+team_desc_helper = Déan cur síos ar chuspóir nó ról na foirne.
+team_access_desc = Rochtain stórais
+team_permission_desc = Cead
+team_unit_desc = Ceadaigh Rochtain ar Rannóga Stóras
+team_unit_disabled = (Díchumasaithe)
+form.name_reserved = Tá an t-ainm eagraíochta "%s" curtha in áirithe.
+form.name_pattern_not_allowed = Ní cheadaítear an patrún "%s" in ainm eagraíochta.
+form.create_org_not_allowed = Níl cead agat eagraíocht a chruthú.
+settings = Socruithe
+settings.options = Eagraíocht
+settings.full_name = Ainm Iomlán
+settings.email = Ríomhphost Teagmhála
+settings.website = Láithreán Gréasáin
+settings.location = Suíomh
+settings.permission = Ceadanna
+settings.repoadminchangeteam = Is féidir le riarthóir an stórais rochtain d'fhoirne a chur leis agus a bhaint
+settings.visibility = Infheictheacht
+settings.visibility.public = Poiblí
+settings.visibility.limited_shortname = Teoranta
+settings.visibility.private = Príobháideach (Infheicthe amháin do bhaill eagraíochta)
+settings.visibility.private_shortname = Príobháideach
+settings.update_settings = Nuashonrú Socruithe
+settings.update_setting_success = Nuashonraíodh socruithe eagraíochta.
+settings.change_orgname_prompt = Nóta: Athróidh ainm na heagraíochta ag athrú URL d'eagraíochta agus saorfar an sean-ainm.
+settings.change_orgname_redirect_prompt = Déanfaidh an sean-ainm a atreorú go dtí go n-éilítear é.
+settings.update_avatar_success = Nuashonraíodh avatar na heagraíochta.
+settings.delete = Scrios Eagraíocht
+settings.delete_account = Scrios an Eagraíocht seo
+settings.delete_prompt = Bainfear an eagraíocht go buan. NÍ FÉIDIR é seo a chealú!
+settings.confirm_delete_account = Deimhnigh scriosadh
+settings.delete_org_title = Scrios Eagraíocht
+settings.delete_org_desc = Scriosfar an eagraíocht seo go buan. Lean ar aghaidh?
+settings.hooks_desc = Cuir crúcaí gréasán in leis a spreagfar do gach stóras faoin eagraíocht seo.
+settings.labels_desc = Cuir lipéid leis ar féidir iad a úsáid ar shaincheisteanna do gach stóras faoin eagraíocht seo.
+members.membership_visibility = Infheictheacht Ballraíochta:
+members.public = Infheicthe
+members.public_helper = dhéanamh i bhfolach
+members.private = I bhfolach
+members.private_helper = a dhéanamh le feiceáil
+members.member_role = Ról Comhalta:
+members.owner = Úinéir
+members.member = Comhalta
+members.remove = Bain
+members.remove.detail = Bain %[1]s de %[2]s?
+members.leave = Fágáil
+members.invite_desc = Cuir ball nua le %s:
+members.invite_now = Tabhair cuireadh Anois
+teams.join = Bígí
+teams.leave = Fág
+teams.can_create_org_repo = Cruthaigh stórais
+teams.can_create_org_repo_helper = Is féidir le baill stóras nua a chruthú san eagraíocht. Gheobhaidh an cruthaitheoir rochtain riarthóra ar an stóras nua.
+teams.none_access = Gan Rochtain
+teams.general_access_helper = Déanfar ceadanna baill a chinneadh ag an tábla ceadanna thíos.
+teams.read_access = Léigh
+teams.write_access = Scríobh
+teams.admin_access = Rochtain Riarthóra
+teams.admin_access_helper = Is féidir le baill tarraingt agus brú chuig stórais foirne agus comhoibritheoirí a chur leo.
+teams.no_desc = Níl aon tuairisc ag an bhfoireann seo
+teams.settings = Socruithe
+teams.owners_permission_desc = Tá rochtain iomlán ag úinéirí ar gach stórais agus tá rochtain ag an riarthóir ar an eagraíocht.
+teams.members = Baill Foirne
+teams.update_settings = Nuashonrú Socruithe
+teams.delete_team = Scrios Foireann
+teams.add_team_member = Cuir Comhalta Foirne leis
+teams.invite_team_member = Tabhair cuireadh chuig %s
+teams.invite_team_member.list = Cuirí ar Feitheamh
+teams.delete_team_title = Scrios Foireann
+teams.delete_team_desc = Cúlghairtear rochtain stórais óna baill a scriosadh foirne. Lean ar aghaidh?
+teams.delete_team_success = Tá an fhoireann scriosta.
+teams.read_permission_desc = Deonaíonn an fhoireann seo rochtain Léamh: is féidir le baill stórtha foirne a fheiceáil agus a chlónáil.
+teams.write_permission_desc = Tugann an fhoireann seo rochtain do Scríobh: is féidir le baill léamh ó stórtha foirne agus iad a bhrú chucu.
+teams.create_repo_permission_desc = Ina theannta sin, tugann an fhoireann seo cead Cruthaigh Stóras: is féidir le baill stórtha nua a chruthú san eagraíocht.
+teams.repositories = Stórais Foirne
+teams.remove_all_repos_title = Bain gach stórais foirne
+teams.remove_all_repos_desc = Bainfidh sé seo gach stórais ón bhfoireann.
+teams.add_all_repos_title = Cuir gach stórais leis
+teams.add_all_repos_desc = Cuirfidh sé seo stórais uile na heagraíochta leis an bhfoireann.
+teams.add_duplicate_users = Is ball foirne é an úsáideoir cheana féin.
+teams.repos.none = Ní raibh rochtain ag an bhfoireann seo ar aon stóras.
+teams.members.none = Níl aon bhaill ar an bhfoireann seo.
+teams.specific_repositories = Stórais Sonrach
+teams.specific_repositories_helper = Ní bheidh rochtain ag comhaltaí ach ar stórtha a cuireadh leis an bhfoireann go sainráite. Ní bhainfear na stórtha a cuireadh leis cheana le Gach stóras go huathoibríoch trí é seo a roghnú.
+teams.all_repositories = Gach stórais
+teams.all_repositories_helper = Tá rochtain ag an bhfoireann ar gach stórais. Má roghnaíonn sé seo, cuirfear na stórais go léir atá ann cheana leis an bhfoireann.
+teams.invite.title = Tugadh cuireadh duit dul isteach i bhfoireann %s san eagraíocht %s.
+teams.invite.by = Ar cuireadh ó %s
+teams.invite.description = Cliceáil ar an gcnaipe thíos le do thoil chun dul isteach san fhoireann.
+
+[admin]
+dashboard = Deais
+self_check = Féin-sheiceáil
+identity_access = Féiniúlacht & Rochtain
+users = Cuntais Úsáideora
+organizations = Eagraíochtaí
+assets = Sócmhainní Cód
+repositories = Stórais
+hooks = Crúcaí Gréasán
+integrations = Comhtháthaithe
+authentication = Foinsí Fíordheimhnithe
+emails = Ríomhphoist Úsáideoirí
+config = Cumraíocht
+notices = Fógraí Córais
+config_summary = Achoimre
+config_settings = Socruithe
+monitor = Monatóireacht
+first_page = Ar dtús
+last_page = Deiridh
+total = Iomlán: %d
+settings = Socruithe Riaracháin
+dashboard.statistic = Achoimre
+dashboard.system_status = Stádas an Chórais
+dashboard.operation_name = Ainm Oibríochta
+dashboard.operation_switch = Athraigh
+dashboard.operation_run = Rith
+dashboard.clean_unbind_oauth = Glan naisc OAuth neamhcheangailte
+dashboard.clean_unbind_oauth_success = Scriosadh gach nasc OAuth neamhcheangailte.
+dashboard.task.started = Tasc Tosaigh: %[1]s
+dashboard.task.process = Tasc: %[1]s
+dashboard.task.cancelled = Tasc: %[1]s cealaithe: %[3]s
+dashboard.task.error = Earráid sa Tasc: %[1]s: %[3]s
+dashboard.task.finished = Tasc: Tá %[1]s tosaithe ag %[2]s críochnaithe
+dashboard.task.unknown = Tasc anaithnid: %[1]s
+dashboard.cron.started = Cron tosaithe: %[1]s
+dashboard.cron.process = Cron: %[1]s
+dashboard.cron.cancelled = Cron: %[1]s cealaithe: %[3]s
+dashboard.cron.error = Earráid i gCron: %s: %[3]s
+dashboard.cron.finished = Cron: %[1]s críochnaithe
+dashboard.delete_inactive_accounts = Scrios gach cuntas neamhghníomhach
+dashboard.delete_inactive_accounts.started = Tasc scriostha gach cuntas neamhghníomhachtaithe tosaithe.
+dashboard.delete_repo_archives.started = Scrios gach tasc cartlann stórais a thosaigh.
+dashboard.delete_missing_repos = Scrios gach stóras atá in easnamh ar a gcuid comhad Git
+dashboard.delete_missing_repos.started = Scrios gach stóras atá in easnamh ar a dtasc comhaid Git a thosaigh.
+dashboard.delete_generated_repository_avatars = Scrios abhatáranna stórtha ginte
+dashboard.sync_repo_tags = Clibeanna sioncraigh ó shonraí git go bunachar sonraí
+dashboard.update_mirrors = Scátháin a nuashonrú
+dashboard.repo_health_check = Seiceáil sláinte gach stóras
+dashboard.check_repo_stats = Seiceáil gach staitisticí stórais
+dashboard.archive_cleanup = Scrios sean-chartlanna stórais
+dashboard.deleted_branches_cleanup = Brainsí scriosta a ghlanadh
+dashboard.update_migration_poster_id = Nuashonraigh ID póstaer imir
+dashboard.git_gc_repos = Bailíonn truflais gach stórais
+dashboard.reinit_missing_repos = Aththosaigh gach stórais Git atá in easnamh a bhfuil taifid ann dóibh
+dashboard.sync_external_users = Sioncrónaigh sonraí úsáideoirí seachtracha
+dashboard.cleanup_hook_task_table = Tábla hook_task glantacháin
+dashboard.cleanup_packages = Pacáistí glanta in éag
+dashboard.server_uptime = Aga fónaimh Freastalaí
+dashboard.current_goroutine = Goroutines Reatha
+dashboard.current_memory_usage = Úsáid Cuimhne Reatha
+dashboard.total_memory_allocated = Cuimhne Iomlán Leithdháilte
+dashboard.memory_obtained = Cuimhne Faighte
+dashboard.pointer_lookup_times = Amanna Cuardaigh Pointeora
+dashboard.memory_allocate_times = Leithdháiltí Cuimhne
+dashboard.memory_free_times = Saorálann Cuimhne
+dashboard.current_heap_usage = Úsáid Charn Reatha
+dashboard.heap_memory_obtained = Cuimhne Charn Faighte
+dashboard.heap_memory_idle = Díomhaoin Cuimhne Carn
+dashboard.heap_memory_in_use = Cuimhne Carm In Úsáid
+dashboard.heap_memory_released = Cuimhne Carn Eisithe
+dashboard.heap_objects = Cuspóirí Carn
+dashboard.bootstrap_stack_usage = Úsáid Staca Bootstrap
+dashboard.stack_memory_obtained = Cuimhne Staca Faighte
+dashboard.mspan_structures_usage = Úsáid Struchtúir MSpan
+dashboard.mspan_structures_obtained = Struchtúir MSpan a Faightear
+dashboard.mcache_structures_usage = Úsáid Struchtúir MCache
+dashboard.mcache_structures_obtained = Struchtúir MCache a Faightear
+dashboard.profiling_bucket_hash_table_obtained = Tábla Hash Buicéad Próifílithe a Faightear
+dashboard.gc_metadata_obtained = Meiteashonraí GC faighte
+dashboard.other_system_allocation_obtained = Leithdháileadh Córais Eile a Fuarthas
+dashboard.next_gc_recycle = Athchúrsáil GC Eile
+dashboard.total_gc_pause = Sos Iomlán GC
+dashboard.last_gc_pause = Sos GC Deireanach
+dashboard.gc_times = Amanna GC
+dashboard.delete_old_actions = Scrios gach sean-ghníomhaíocht ón mbunachar
+dashboard.delete_old_actions.started = Scrios na sean-ghníomhaíocht go léir ón mbunachar sonraí tosaithe.
+dashboard.update_checker = Seiceoir nuashonraithe
+dashboard.delete_old_system_notices = Scrios gach seanfhógra córais ón mbunachar sonraí
+dashboard.gc_lfs = Bailigh truflais meta rudaí LFS
+dashboard.rebuild_issue_indexer = Atógáil innéacsóir eisiúna
+users.new_account = Cruthaigh cuntas Úsáideora
+users.name = Ainm úsáideora
+users.full_name = Ainm Iomlán
+users.activated = Gníomhachtaithe
+users.admin = Riarachán
+users.restricted = Srianta
+users.reserved = In áirithe
+users.bot = Bota
+users.remote = Iargúlta
+users.2fa = 2FA
+users.repos = Stórais
+users.created = Cruthaithe
+users.last_login = Sínigh Isteach Deiridh
+users.new_success = Tá an cuntas úsáideora "%s" cruthaithe.
+users.edit = Eagar
+users.auth_source = Foinse Fíordheimhnithe
+users.local = Áitiúil
+users.auth_login_name = Ainm Síniú Isteach Fíordheimhnithe
+users.password_helper = Fág an pasfhocal folamh chun é a choinneáil gan athrú.
+users.update_profile_success = Nuashonraíodh an cuntas úsáideora.
+users.edit_account = Cuir Cuntas Úsáideora in Eagar
+users.max_repo_creation = Uasmhéid Stóras
+users.max_repo_creation_desc = (Cuir isteach -1 chun an teorainn réamhshocraithe domhanda a úsáid.)
+users.update_profile = Nuashonraigh Cuntas Úsáideora
+users.delete_account = Scrios Cuntas Úsáide
+users.still_own_repo = Tá stórais amháin nó níos mó fós ag an úsáideoir seo. Scrios nó aistrigh na stórais seo ar dtús.
+users.still_has_org = Is ball d'eagraíocht é an t-úsáideoir seo. Bain an t-úsáideoir ó aon eagraíochtaí ar dtús.
+users.purge = Úsáideoir a Ghlanadh
+users.still_own_packages = Tá pacáiste amháin nó níos mó fós ag an úsáideoir seo, scrios na pacáistí seo ar dtús.
+users.deletion_success = Scriosadh an cuntas úsáideora.
+users.reset_2fa = Athshocraigh 2FA
+users.list_status_filter.menu_text = Scagaire
+users.list_status_filter.reset = Athshocraigh
+users.list_status_filter.is_active = Gníomhach
+users.list_status_filter.not_active = Neamhghníomhach
+users.list_status_filter.is_admin = Riarachán
+users.list_status_filter.not_admin = Ní Riarachán
+users.list_status_filter.is_restricted = Srianta
+users.list_status_filter.not_restricted = Gan Srian
+users.list_status_filter.is_prohibit_login = Cosc ar Logáil Isteach
+users.list_status_filter.not_prohibit_login = Ceadaigh Logáil isteach
+users.list_status_filter.is_2fa_enabled = 2FA Cumasaithe
+users.list_status_filter.not_2fa_enabled = 2FA faoi mhíchumas
+users.details = Sonraí Úsáideora
+emails.primary = Bunscoile
+emails.activated = Gníomhachtaithe
+emails.filter_sort.email = Ríomhphost
+emails.filter_sort.email_reverse = Ríomhphost (droim ar ais)
+emails.updated = Nuashonraíodh an ríomhphost
+emails.not_updated = Theip ar an seoladh ríomhphoist iarrtha a nuashonrú: %v
+emails.duplicate_active = Tá an seoladh ríomhphoist seo gníomhach cheana féin d'úsáideoir difriúil.
+emails.change_email_header = Nuashonraigh Airíonna Ríomhphoist
+emails.change_email_text = An bhfuil tú cinnte gur mhaith leat an seoladh ríomhphoist seo a nuashonrú?
+emails.delete = Scrios Ríomhphost
+emails.delete_desc = An bhfuil tú cinnte gur mhaith leat an seoladh ríomhphoist seo a scriosadh?
+emails.deletion_success = Tá an seoladh ríomhphoist scriosta.
+emails.delete_primary_email_error = Ní féidir leat an ríomhphost príomhúil a scriosadh.
+orgs.name = Ainm
+orgs.teams = Foirne
+orgs.members = Comhaltaí
+orgs.new_orga = Eagraíocht Nua
+repos.unadopted = Stórais Neamhghlactha
+repos.owner = Úinéir
+repos.name = Ainm
+repos.private = Príobháideach
+repos.issues = Saincheisteanna
+repos.size = Méid
+repos.lfs_size = Méid LFS
+packages.total_size = Méid Iomlán: %s
+packages.unreferenced_size = Méid gan tagairt: %s
+packages.cleanup = Glan suas sonraí in éag
+packages.cleanup.success = Glanadh suas sonraí in éag go rathúil
+packages.owner = Úinéir
+packages.creator = Cruthaitheoir
+packages.name = Ainm
+packages.version = Leagan
+packages.type = Cineál
+packages.repository = Stóráil
+packages.size = Méid
+packages.published = Foilsithe
+defaulthooks = Réamhshocraithe Crúcaí Gréasán
+defaulthooks.add_webhook = Cuir Crúca Gréasán Réamhshocraithe leis
+defaulthooks.update_webhook = Nuashonraigh Réamhshocrú Crúca Gréasán
+systemhooks = Córas Crúcaí Gréasán
+systemhooks.add_webhook = Cuir Crúca Gréasán Córas leis
+systemhooks.update_webhook = Nuashonraigh Córas Crúca Gréasán
+auths.new = Cuir Foinse Fíordheimhni
+auths.name = Ainm
+auths.type = Cineál
+auths.enabled = Cumasaithe
+auths.syncenabled = Cumasaigh Sioncrónú Úsáideora
+auths.updated = Nuashonraithe
+auths.auth_type = Cineál Fíordheimhnithe
+auths.auth_name = Ainm Fíordheimhnithe
+auths.security_protocol = Prótacal Slándála
+auths.domain = Fearann
+auths.host = Óstach
+auths.port = Calafort
+auths.bind_dn = Ceangail DN
+auths.bind_password = Ceangail Pasfhocal
+auths.user_base = Bonn Cuardaigh Úsáideora
+auths.user_dn = Úsáideoir DN
+auths.attribute_username = Tréith Ainm Úsáideora
+auths.attribute_name = Tréith Céad Ainm
+auths.attribute_surname = Tréith Sloinne
+auths.attribute_mail = Tréith ríomhphoist
+auths.attribute_ssh_public_key = Tréith Eochair SSH Phoiblí
+auths.attribute_avatar = Tréith Avatar
+auths.attributes_in_bind = Faigh tréithe i gComhthéacs Bind DN
+auths.allow_deactivate_all = Lig do thoradh cuardaigh folamh gach úsáideoir a dhíghníomhachtú
+auths.use_paged_search = Úsáid Cuardach Leathanaigh
+auths.search_page_size = Méid an Leathanaigh
+auths.filter = Scagaire Úsáideora
+auths.admin_filter = Scagaire Riaracháin
+auths.restricted_filter = Scagaire Srianta
+auths.verify_group_membership = Fíoraigh ballraíocht ghrúpa i LDAP (fág an scagaire folamh le scipeáil)
+auths.group_search_base = Bonn Cuardaigh Grúpa DN
+auths.group_attribute_list_users = Tréith Grúpa ina bhfuil Liosta Úsáideoirí
+auths.user_attribute_in_group = Tréith Úsáideora atá Liostaithe i nGrúpa
+auths.map_group_to_team = Léarscáil grúpaí LDAP chuig foirne na hEagraíochta (fág an réimse folamh le scipeáil)
+auths.map_group_to_team_removal = Bain úsáideoirí ó fhoirne sioncronaithe mura mbaineann an t-úsáideoir leis an ngrúpa comhfhreagrach LDAP
+auths.enable_ldap_groups = Cumasaigh grúpaí LDAP
+auths.ms_ad_sa = MS AD Tréithe Cuardaigh
+auths.smtp_auth = Cineál Fíordheimhnithe SMTP
+auths.smtphost = Óstach SMTP
+auths.smtpport = SMTP Calafort
+auths.allowed_domains = Fearainn Ceadaithe
+auths.force_smtps = Fórsa SMTPS
+auths.force_smtps_helper = Úsáidtear SMTPS i gcónaí ar chalafort 465. Socraigh é seo chun SMTPS a chur i bhfeidhm ar chalafoirt eile. (Seachas sin úsáidfear STARTTLS ar chalafoirt eile má thacaíonn an t-óstach leis.)
+auths.helo_hostname = Ainm Óstach HELO
+auths.helo_hostname_helper = Ainm óstach a sheoltar le HELO. Fág bán chun an t-ainm óstach reatha a sheoladh.
+auths.disable_helo = Díchumasaigh HELO
+auths.pam_service_name = Ainm Seirbhíse PAM
+auths.pam_email_domain = Fearann Ríomhphoist PAM (roghnach)
+auths.oauth2_provider = Soláthraí OAuth2
+auths.oauth2_icon_url = URL deilbhín
+auths.oauth2_clientID = Aitheantas Cliant (Eochair)
+auths.oauth2_clientSecret = Rúnda Cliant
+auths.openIdConnectAutoDiscoveryURL = URL Fionnachtana Uathoibríoch OpenID Connect
+auths.oauth2_use_custom_url = Úsáid URLanna Saincheaptha in ionad URLanna Réamhshocraithe
+auths.oauth2_tokenURL = URL Comhartha
+auths.oauth2_authURL = Údaraigh URL
+auths.oauth2_profileURL = URL Próifíl
+auths.oauth2_emailURL = URL ríomhphoist
+auths.skip_local_two_fa = Scipeáil 2FA áitiúil
+auths.skip_local_two_fa_helper = Ciallaíonn fágáil gan socrú go mbeidh ar úsáideoirí áitiúla a bhfuil tacar 2FA acu 2FA a rith fós chun logáil isteach
+auths.oauth2_tenant = Tionónta
+auths.oauth2_scopes = Scóipeanna Breise
+auths.oauth2_required_claim_name = Ainm Éilimh Riachtanach
+auths.oauth2_required_claim_name_helper = Socraigh an t-ainm seo chun logáil isteach ón bhfoinse seo a shrianadh d'úsáideoirí a bhfuil éileamh acu leis an ainm seo
+auths.oauth2_required_claim_value = Luach Éilimh Riachtanach
+auths.oauth2_required_claim_value_helper = Socraigh an luach seo chun logáil isteach ón bhfoinse seo a shrianadh chuig úsáideoirí a bhfuil éileamh acu leis an ainm agus an luach seo
+auths.oauth2_group_claim_name = Ainm éileamh ag soláthar ainmneacha grúpa don fhoinse seo (Roghnach)
+auths.oauth2_admin_group = Luach Éilimh Grúpa d'úsáideoirí riarthóra. (Roghnach - teastaíonn ainm éilimh thuas)
+auths.oauth2_restricted_group = Luach Éilimh Grúpa d'úsáideoirí srianta. (Roghnach - teastaíonn ainm éilimh thuas)
+auths.oauth2_map_group_to_team = Map mhaígh grúpaí chuig foirne Eagraíochta. (Roghnach - éilíonn ainm an éilimh thuas)
+auths.oauth2_map_group_to_team_removal = Bain úsáideoirí ó fhoirne sioncronaithe mura mbaineann an t-úsáideoir leis an ngrúpa comhfhreagrach.
+auths.sspi_auto_create_users = Cruthaigh úsáideoirí go huathoibríoch
+auths.sspi_auto_create_users_helper = Lig do mhodh auth SSPI cuntais nua a chruthú go huathoibríoch d'úsáideoirí a logálann isteach den chéad uair
+auths.sspi_auto_activate_users = Gníomhachtaigh úsáideoirí go huathoibríoch
+auths.sspi_auto_activate_users_helper = Lig modh auth SSPI úsáideoirí nua a ghníomhachtú go huathoibríoch
+auths.sspi_strip_domain_names = Bain ainmneacha fearann ó ainm úsáideora
+auths.sspi_strip_domain_names_helper = Má dhéantar iad a sheiceáil, bainfear ainmneacha fearainn ó ainmneacha logála isteach (m.sh. Beidh “DOMAIN\ user” agus "user@example.org" araon ní bheidh ach “úsáideoir”).
+auths.sspi_separator_replacement = Deighilteoir le húsáid in ionad\,/agus @
+auths.sspi_separator_replacement_helper = An carachtar a úsáidfear chun na deighilteoirí a chur in ionad na n-ainmneacha logála síos-leibhéil (m.sh. an \ i "DOMAIN\úsáideoir") agus ainmneacha príomhoidí úsáideora (m.sh. an @ in "user@example.org").
+auths.sspi_default_language = Teanga úsáideora réamhshocraithe
+auths.sspi_default_language_helper = Teanga réamhshocraithe d'úsáideoirí cruthaithe go huathoibríoch ag modh auth SSPI. Fág folamh más fearr leat teanga a bhrath go huathoibríoch.
+auths.tips = Leideanna
+auths.tips.oauth2.general = OAuth2 Fíordheimhniú
+auths.tips.oauth2.general.tip = Agus fíordheimhniú OAuth2 nua á chlárú agat, ba chóir go mbeadh an URL glaonna ais/atreoraithe:
+auths.tip.oauth2_provider = Soláthraí OAuth2
+auths.tip.nextcloud = `Cláraigh tomhaltóir OAuth nua ar do chás ag baint úsáide as an roghchlár seo a leanas "Socruithe -> Slándáil -> cliant OAuth 2.0"`
+auths.tip.dropbox = Cruthaigh feidhmchlár nua ag %s
+auths.tip.facebook = Cláraigh feidhmchlár nua ag %s agus cuir an táirge "Facebook Login" leis
+auths.tip.github = Cláraigh feidhmchlár OAuth nua ar %s
+auths.tip.gitlab_new = Cláraigh feidhmchlár nua ar %s
+auths.tip.google_plus = Faigh dintiúir chliaint OAuth2 ó chonsól API Google ag %s
+auths.tip.twitter = Téigh go %s, cruthaigh feidhmchlár agus cinntigh go bhfuil an rogha "Ceadaigh úsáid a bhaint as an bhfeidhmchlár seo chun logáil isteach le Twitter" cumasaithe
+auths.tip.discord = Cláraigh feidhmchlár nua ar %s
+auths.tip.gitea = Cláraigh feidhmchlár OAuth2 nua. Tá treoir le fáil ag %s
+auths.tip.yandex = `Cruthaigh feidhmchlár nua ag %s. Roghnaigh na ceadanna seo a leanas ón rannán "Yandex.Passport API": "Rochtain ar sheoladh ríomhphoist", "Rochtain ar avatar úsáideora" agus "Rochtain ar ainm úsáideora, céad ainm agus sloinne, inscne"`
+auths.tip.mastodon = Ionchur URL sampla saincheaptha don shampla mastodon is mian leat a fhíordheimhniú leis (nó bain úsáid as an gceann réamhshocraithe)
+auths.edit = Cuir Foinse Fíordheimhnithe in Eagar
+auths.activated = Tá an Foinse Fíordheimhnithe seo gníomhachtaithe
+auths.new_success = Tá an fíordheimhniú "%s" curtha leis.
+auths.update_success = Nuashonraíodh an fhoinse fíordheimhnithe.
+auths.update = Nuashonraigh Foinse Fíordheimhnithe
+auths.delete = Scrios Foinse Fíordheimhnithe
+auths.delete_auth_title = Scrios Foinse Fíordheimhnithe
+auths.delete_auth_desc = Má scriosann tú foinse fíordheimhnithe cuirtear cosc ar úsáideoirí í a úsáid chun síniú isteach. Lean ort?
+auths.still_in_used = Tá an fhoinse fíordheimhnithe fós in úsáid. Tiontaigh nó scrios aon úsáideoir a úsáideann an fhoinse fíordheimhnithe seo ar dtús.
+auths.deletion_success = Tá an fhoinse fíordheimhnithe scriosta.
+auths.login_source_exist = Tá an fhoinse fíordheimhnithe "%s" ann cheana.
+auths.login_source_of_type_exist = Tá foinse fíordheimhnithe den chineál seo ann cheana féin.
+auths.unable_to_initialize_openid = Ní féidir Soláthraí Ceangail OpenID a thionscnamh: %s
+auths.invalid_openIdConnectAutoDiscoveryURL = URL Neamhbhailí Fionnachtana Uathoibríoch (ní mór gur URL bailí é seo ag tosú le http:// nó https://)
+config.server_config = Cumraíocht Freastalaí
+config.custom_conf = Cosán Comhad Cumraíochta
+config.domain = Fearann Freastalaí
+config.offline_mode = Mód Áitiúil
+config.disable_router_log = Díchumasaigh Loga an Ródaire
+config.run_mode = Mód Rith
+config.git_version = Leagan Git
+config.app_data_path = Cosán Sonraí Aip
+config.repo_root_path = Cosán Fréimhe Stórála
+config.lfs_root_path = Cosán Fréamh LFS
+config.log_file_root_path = Cosán Logála
+config.script_type = Cineál Script
+config.ssh_config = Cumraíocht SSH
+config.ssh_enabled = Cumasaithe
+config.ssh_start_builtin_server = Úsáid Freastalaí Ionsuite
+config.ssh_domain = Fearainn Freastalaí SSH
+config.ssh_port = Calafort
+config.ssh_listen_port = Éist Calafort
+config.ssh_root_path = Cosán Fréimhe
+config.ssh_key_test_path = Cosán Tástáil Eochair
+config.ssh_minimum_key_size_check = Seiceáil Íosta Méid Eochair
+config.ssh_minimum_key_sizes = Méideanna Íosta Eochrach
+config.lfs_config = Cumraíocht LFS
+config.lfs_enabled = Cumasaithe
+config.lfs_content_path = Cosán Ábhar LFS
+config.db_config = Cumraíocht Bunachar Sonraí
+config.db_type = Cineál
+config.db_host = Óstach
+config.db_name = Ainm
+config.db_user = Ainm úsáideora
+config.db_schema = Scéim
+config.db_ssl_mode = SSL
+config.db_path = Cosán
+config.service_config = Cumraíocht Seirbhíse
+config.register_email_confirm = Deimhniú Ríomhphost a éileamh chun Clárú
+config.disable_register = Díchumasaigh Féin-Chlárú
+config.allow_only_external_registration = Ceadaigh Clárú Trí Sheirbhísí Seachtracha amháin
+config.enable_openid_signup = Cumasaigh Féinchlárú OpenID
+config.enable_openid_signin = Cumasaigh Síniú isteach OpenID
+config.show_registration_button = Taispeáin Cnaipe Cláraithe
+config.mail_notify = Cumasaigh Fógraí Ríomhphoist
+config.enable_captcha = Cumasaigh CAPTCHA
+config.default_keep_email_private = Folaigh Seoltaí Ríomhphoist de réir Réamhshocrú
+config.default_allow_create_organization = Ceadaigh Cruthú Eagraíochtaí de réir Réamhshocrú
+config.enable_timetracking = Cumasaigh Rianú Ama
+config.default_enable_timetracking = Cumasaigh Rianú Ama de réir Réamhshocrú
+config.default_allow_only_contributors_to_track_time = Lig do Rannpháirtithe Amháin Rianú Am
+config.no_reply_address = Fearann Ríomhphoist Folaithe
+config.default_enable_dependencies = Cumasaigh Spleáchais Eisithe de réir Réamhshocrú
+config.webhook_config = Cumraíocht Crúca Gréasán
+config.queue_length = Fad scuaine
+config.deliver_timeout = Teorainn Ama Seachadta
+config.skip_tls_verify = Scipeáil Fíorú TLS
+config.mailer_config = Cumraíocht Seoltóra
+config.mailer_enabled = Cumasaithe
+config.mailer_enable_helo = Cumasaigh HELO
+config.mailer_name = Ainm
+config.mailer_protocol = Prótacal
+config.mailer_smtp_port = Calafort SMTP
+config.mailer_user = Úsáideoir
+config.mailer_use_sendmail = Úsáid Sendmail
+config.mailer_sendmail_path = Cosán Sendmail
+config.mailer_sendmail_args = Argóintí Breise chuig Sendmail
+config.mailer_sendmail_timeout = Teorainn Ama Sendmail
+config.mailer_use_dummy = Caochadán
+config.test_email_placeholder = Ríomhphost (m.sh. test@example.com)
+config.send_test_mail_submit = Seol
+config.oauth_config = Cumraíocht OAuth
+config.oauth_enabled = Cumasaithe
+config.cache_config = Cumraíocht taisce
+config.cache_adapter = Cuibheoir taisce
+config.cache_interval = Eatramh Taisce
+config.cache_conn = Ceangal Taisce
+config.cache_item_ttl = Mír Taisce TTL
+config.cache_test = Taisce Tástáil
+config.cache_test_failed = Theip ar an taisce a thaiscéaladh: %v.
+config.cache_test_slow = D'éirigh leis an tástáil taisce, ach tá an freagra mall: %s.
+config.cache_test_succeeded = D'éirigh leis an tástáil taisce, fuair sé freagra i %s.
+config.session_config = Cumraíocht Seisiúin
+config.session_provider = Soláthraí Seisiúin
+config.provider_config = Cumraíocht Soláthraí
+config.cookie_name = Ainm Fianán
+config.gc_interval_time = Am Eatramh GC
+config.https_only = HTTPS Amháin
+config.picture_config = Cumraíocht Pictiúr agus Avatar
+config.picture_service = Seirbhís Pictiúr
+config.disable_gravatar = Díchumasaigh Gravatar
+config.enable_federated_avatar = Cumasaigh Avatars Cónaidhme
+config.open_with_editor_app_help = Na heagarthóirí "Oscailte le" don roghchlár Clón. Má fhágtar folamh é, úsáidfear an réamhshocrú. Leathnaigh chun an réamhshocrú a fheiceáil.
+config.git_config = Cumraíocht Git
+config.git_gc_args = Argóintí GC
+config.git_migrate_timeout = Teorainn Ama Imirce
+config.git_mirror_timeout = Teorainn Ama Nuashonraithe Scátháin
+config.git_clone_timeout = Teorainn Ama Oibríochta Clón
+config.git_pull_timeout = Tarraing Am Oibríochta
+config.git_gc_timeout = Teorainn Ama Oibriúcháin GC
+config.log_config = Cumraíocht Logáil
+config.logger_name_fmt = Logálaí: %s
+config.disabled_logger = Díchumasaithe
+config.access_log_mode = Mód Logáil Rochtana
+config.access_log_template = Teimpléad Logáil Rochtana
+config.xorm_log_sql = Logáil SQL
+config.set_setting_failed = Theip ar shocrú %s a shocrú
+monitor.stats = Staitisticí
+monitor.cron = Tascanna Cron
+monitor.name = Ainm
+monitor.schedule = Sceideal
+monitor.next = An chéad uair eile
+monitor.previous = Am Roimhe Seo
+monitor.execute_times = Forghníomhaíochtaí
+monitor.process = Próisis reatha
+monitor.stacktrace = Rian cruachta
+monitor.processes_count = Próisis %d
+monitor.download_diagnosis_report = Íoslódáil tuairisc diagnóis
+monitor.desc = Cur síos
+monitor.start = Am Tosaigh
+monitor.execute_time = Am Forghníomhaithe
+monitor.last_execution_result = Toradh
+monitor.process.cancel = Cealaigh próiseas
+monitor.process.children = Leanaí
+monitor.queues = Scuaineanna
+monitor.queue = Scuaine: %s
+monitor.queue.name = Ainm
+monitor.queue.type = Cineál
+monitor.queue.exemplar = Cineál Eiseamláire
+monitor.queue.numberworkers = Líon na nOibrithe
+monitor.queue.activeworkers = Oibrithe Gníomhacha
+monitor.queue.maxnumberworkers = Líon Uasta na nOibrithe
+monitor.queue.numberinqueue = Uimhir i scuaine
+monitor.queue.review_add = Athbhreithniú / Cuir Oibrithe leis
+monitor.queue.settings.title = Socruithe Linn
+monitor.queue.settings.desc = Fásann linnte go dinimiciúil mar fhreagra ar a gcuid scuaine oibrithe a bhlocáil.
+monitor.queue.settings.maxnumberworkers = Uaslíon na n-oibrithe
+monitor.queue.settings.maxnumberworkers.placeholder = Faoi láthair %[1]d
+monitor.queue.settings.maxnumberworkers.error = Caithfidh uaslíon na n-oibrithe a bheith ina uimhir
+monitor.queue.settings.submit = Nuashonrú Socruithe
+monitor.queue.settings.changed = Socruithe Nuashonraithe
+monitor.queue.settings.remove_all_items = Bain gach
+monitor.queue.settings.remove_all_items_done = Baineadh na míreanna go léir sa scuaine.
+notices.system_notice_list = Fógraí Córais
+notices.operations = Oibríochtaí
+notices.select_all = Roghnaigh Gach
+notices.deselect_all = Díroghnaigh Gach
+notices.inverse_selection = Roghnú Inbhéartha
+notices.delete_selected = Scrios Roghnaithe
+notices.delete_all = Scrios Gach Fógra
+notices.type = Cineál
+notices.type_1 = Stóras
+notices.type_2 = Tasc
+notices.desc = Cur síos
+notices.op = Oibríocht.
+notices.delete_success = Scriosadh na fógraí córais.
+self_check.no_problem_found = Níor aimsíodh aon fhadhb fós.
+self_check.database_collation_mismatch = Bí ag súil le comhthiomsú a úsáid sa bhunachar sonraí: %s
+self_check.database_inconsistent_collation_columns = Tá comhthiomsú %s in úsáid ag an mbunachar sonraí, ach tá comhthiomsuithe mímheaitseála á n-úsáid ag na colúin seo. D'fhéadfadh sé a bheith ina chúis le roinnt fadhbanna gan choinne.
+
+[action]
+create_repo = stóras cruthaithe %s
+rename_repo = stóras athainmnithe ó %[1]s go %[3]s
+commit_repo = brú chuig %[3]s ag %[4]s
+create_issue = `osclaíodh ceist %[3]s#%[2]s`
+close_issue = `eagrán dúnta %[3]s#%[2]s`
+reopen_issue = `athoscailt an cheist %[3]s#%[2]s`
+create_pull_request = `iarratas tarraingthe cruthaithe %[3]s#%[2]s`
+close_pull_request = `iarratas tarraingthe dúnta %[3]s#%[2]s`
+reopen_pull_request = `iarratas tarraingthe athoscailte %[3]s#%[2]s`
+comment_issue = `trácht ar cheist %[3]s#%[2]s`
+comment_pull = `déan trácht ar iarratas tarraingthe %[3]s#%[2]s`
+merge_pull_request = `iarratas tarraingthe cumaisc %[3]s#%[2]s`
+auto_merge_pull_request = `iarratas tarraingthe cumasctha go huathoibríoch %[3]s#%[2]s`
+transfer_repo = aistrithe stóras %s go %s
+push_tag = brú %[3]s go %[4]s
+delete_tag = scriosta clib %[2]s ó %[3]s
+delete_branch = brainse scriosta %[2]s ó %[3]s
+compare_branch = Déan comparáid
+compare_commits = Déan comparáid idir tiomáintí %d
+compare_commits_general = Déan comparáid idir tiomáintí
+mirror_sync_push = geallann synced do %[3]s ag %[4]s ón scáthán
+mirror_sync_create = sioncronaigh tagairt nua %[3]s do %[4]s ón scáthán
+mirror_sync_delete = sioncronaithe agus scriosta an tagairt %[2]s ag %[3]s ón scáthán
+approve_pull_request = `ceadaithe %[3]s#%[2]s`
+reject_pull_request = `athruithe molta le haghaidh %[3]s#%[2]s`
+publish_release = `scaoileadh %[4]s ag %[3]s`
+review_dismissed = `léirmheas ó %[4]s le haghaidh %[3]s#%[2]s`
+review_dismissed_reason = Cúis:
+create_branch = brainse cruthaithe %[3]s i %[4]s
+starred_repo = le %[2]s le réalta
+watched_repo = thosaigh sé ag breathnú ar %[2]s
+
+[tool]
+now = anois
+future = todhchaí
+1s = 1 soicind
+1m = 1 nóiméad
+1h = 1 uair an chloig
+1d = 1 lá
+1w = 1 seachtain
+1mon = 1 mhí
+1y = 1 bhliain
+seconds = %d soicind
+minutes = %d nóiméad
+hours = %d uair an chloig
+days = %d laethanta
+weeks = %d seachtain
+months = %d míonna
+years = %d bliain
+raw_seconds = soicind
+raw_minutes = nóiméad
+
+[dropzone]
+default_message = Scaoil comhaid nó cliceáil anseo chun iad a uaslódáil.
+invalid_input_type = Ní féidir leat comhaid den chineál seo a uaslódáil.
+file_too_big = Sáraíonn méid comhaid ({{filesize}} MB) an t-uasmhéid de ({{maxFilesize}} MB).
+remove_file = Bain an comhad
+
+[notification]
+notifications = Fógraí
+unread = Gan léamh
+read = Léigh
+no_unread = Gan aon fhógraí neamh-léite.
+no_read = Gan aon fhógraí léite.
+pin = Fógra bioráin
+mark_as_read = Marcáil mar léite
+mark_as_unread = Marcáil mar neamh-léite
+mark_all_as_read = Marcáil gach ceann mar léite
+subscriptions = Síntiúis
+watching = Ag féachaint
+no_subscriptions = Gan síntiúis
+
+[gpg]
+default_key = Sínithe leis an eochair réamhshocraithe
+error.extract_sign = Theip ar an síniú a bhaint
+error.generate_hash = Theip ar hash gealltanas a ghiniúint
+error.no_committer_account = Níl aon chuntas nasctha le seoladh ríomhphoist an tiomnóra
+
+[units]
+unit = Aonad
+error.no_unit_allowed_repo = Níl cead agat rochtain a fháil ar aon chuid den tiomantas seo.
+error.unit_not_allowed = Níl cead agat an rannán stóras seo a rochtain.
+
+[packages]
+title = Pacáistí
+desc = Bainistigh pacáistí stórais.
+empty = Níl aon phacáistí ann fós.
+empty.documentation = Le haghaidh tuilleadh eolais ar chlárlann na bpacáistí, féach ar na doiciméid.
+empty.repo = An ndearna tú uaslódáil ar phacáiste, ach nach bhfuil sé léirithe anseo? Téigh go socruithe pacáiste agus nasc leis an stóras seo é.
+registry.documentation = Le haghaidh tuilleadh eolais ar chlárlann %s, féach ar na doiciméid.
+filter.type = Cineál
+filter.type.all = Gach
+filter.no_result = Níor thug do scagaire aon torthaí.
+filter.container.tagged = Clibeáilte
+filter.container.untagged = Gan chlib
+published_by = Foilsithe %[1]s ag %[3]s
+published_by_in = Foilsithe ag %[1]s ag %[3]s in %[5]s
+installation = Suiteáil
+about = Maidir leis an bpacáiste seo
+requirements = Riachtanais
+dependencies = Spleithiúlachtaí
+keywords = Eochairfhocail
+details = Sonraí
+details.author = Údar
+details.license = Ceadúnas
+assets = Sócmhainní
+versions = Leaganacha
+versions.view_all = Féach ar gach
+dependency.id = ID
+dependency.version = Leagan
+search_in_external_registry = Cuardaigh i %s
+alpine.registry = Socraigh an chlár seo tríd an url a chur i do chomhad /etc/apk/repositories:
+alpine.registry.key = Íoslódáil eochair RSA poiblí na clárlainne isteach san fhillteán /etc/apk/keys/ chun an síniú innéacs a fhíorú:
+alpine.registry.info = Roghnaigh $branch agus $repository ón liosta thíos.
+alpine.install = Chun an pacáiste a shuiteáil, rith an t-ordú seo a leanas:
+alpine.repository = Eolas Stórais
+alpine.repository.branches = Brainsí
+alpine.repository.repositories = Stórais
+alpine.repository.architectures = Ailtireachtaí
+cargo.registry = Socraigh an clárlann seo sa chomhad cumraíochta lasta (mar shampla ~/.cargo/config.toml):
+cargo.install = Chun an pacáiste a shuiteáil ag baint úsáide as Cargo, reáchtáil an t-ordú seo a leanas:
+chef.registry = Socraigh an clárlann seo i do chomhad ~/.chef/config.rb:
+chef.install = Chun an pacáiste a shuiteáil, rith an t-ordú seo a leanas:
+composer.registry = Socraigh an chlár seo i do chomhad ~/.composer/config.json:
+composer.install = Chun an pacáiste a shuiteáil ag baint úsáide as Cumadóir, reáchtáil an t-ordú seo a leanas:
+composer.dependencies = Spleithiúlachtaí
+composer.dependencies.development = Spleithiúlachtaí Forbartha
+conan.details.repository = Stóras
+conan.registry = Socraigh an clárlann seo ón líne ordaithe:
+conan.install = Chun an pacáiste a shuiteáil ag úsáid Conan, reáchtáil an t-ordú seo a leanas:
+conda.registry = Socraigh an chlár seo mar stóras Conda i do chomhad .condarc:
+conda.install = Chun an pacáiste a shuiteáil ag úsáid Conda, reáchtáil an t-ordú seo a leanas:
+container.details.type = Cineál Íomhá
+container.details.platform = Ardán
+container.pull = Tarraing an íomhá ón líne ordaithe:
+container.digest = Díleáigh
+container.multi_arch = Córas Oibriúcháin / Ailtireacht
+container.layers = Sraitheanna Íomhá
+container.labels = Lipéid
+container.labels.key = Eochair
+container.labels.value = Luach
+cran.registry = Cumraigh an chlárlann seo i do chomhad Rprofile.site:
+cran.install = Chun an pacáiste a shuiteáil, rith an t-ordú seo a leanas:
+debian.registry = Socraigh an clárlann seo ón líne ordaithe:
+debian.registry.info = Roghnaigh $distribution agus $component ón liosta thíos.
+debian.install = Chun an pacáiste a shuiteáil, rith an t-ordú seo a leanas:
+debian.repository = Eolas Stóras
+debian.repository.distributions = Dáiltí
+debian.repository.components = Comhpháirteanna
+debian.repository.architectures = Ailtireachtaí
+generic.download = Íoslódáil pacáiste ón líne ordaithe:
+go.install = Suiteáil an pacáiste ón líne ordaithe:
+helm.registry = Socraigh an clárlann seo ón líne ordaithe:
+helm.install = Chun an pacáiste a shuiteáil, rith an t-ordú seo a leanas:
+maven.registry = Socraigh an clárlann seo i do chomhad pom.xml tionscadail:
+maven.install = Chun an pacáiste a úsáid cuir na nithe seo a leanas sa bhloc spleáchais sa chomhad pom.xml:
+maven.install2 = Rith tríd an líne ordaithe:
+maven.download = Chun an spleáchas a íoslódáil, rith tríd an líne ordaithe:
+nuget.registry = Socraigh an clárlann seo ón líne ordaithe:
+nuget.install = Chun an pacáiste a shuiteáil ag úsáid NuGet, reáchtáil an t-ordú seo a leanas:
+nuget.dependency.framework = Spriocchreat
+npm.registry = Socraigh an chlárlann seo i do chomhad .npmrc do thionscadail:
+npm.install = Chun an pacáiste a shuiteáil ag úsáid npm, reáchtáil an t-ordú seo a leanas:
+npm.install2 = nó cuir leis an gcomhad package.json é:
+npm.dependencies = Spleithiúlachtaí
+npm.dependencies.development = Spleithiúlachtaí Forbartha
+npm.dependencies.bundle = Spleáchais Chuachta
+npm.dependencies.peer = Spleithiúlachtaí Piaraí
+npm.dependencies.optional = Spleáchais Roghnacha
+npm.details.tag = Clib
+pub.install = Chun an pacáiste a shuiteáil ag úsáid Dart, reáchtáil an t-ordú seo a leanas:
+pypi.requires = Teastaíonn Python
+pypi.install = Chun an pacáiste a shuiteáil ag úsáid pip, reáchtáil an t-ordú seo a leanas:
+rpm.registry = Socraigh an clárlann seo ón líne ordaithe:
+rpm.distros.redhat = ar dháileadh bunaithe ar RedHat
+rpm.distros.suse = ar dháileadh bunaithe ar SUSE
+rpm.install = Chun an pacáiste a shuiteáil, rith an t-ordú seo a leanas:
+rpm.repository = Eolas Stóras
+rpm.repository.architectures = Ailtireachtaí
+rpm.repository.multiple_groups = Tá an pacáiste seo ar fáil i ngrúpaí éagsúla.
+rubygems.install = Chun an pacáiste a shuiteáil ag baint úsáide as gem, reáchtáil an t-ordú seo a leanas:
+rubygems.install2 = nó cuir leis an Gemfile é:
+rubygems.dependencies.runtime = Spleáchais Rith-Ama
+rubygems.dependencies.development = Spleáchais Forbartha
+rubygems.required.ruby = Éilíonn leagan Ruby
+rubygems.required.rubygems = Éilíonn leagan RubyGem
+swift.registry = Socraigh an clárlann seo ón líne ordaithe:
+swift.install = Cuir an pacáiste i do chomhad Package.swift:
+swift.install2 = agus reáchtáil an t-ordú seo a leanas:
+vagrant.install = Chun bosca Vagrant a chur leis, reáchtáil an t-ordú seo a leanas:
+settings.link = Nasc an pacáiste seo le stóras
+settings.link.description = Má nascann tú pacáiste le stóras, liostaítear an pacáiste i liosta pacáistí an stórais.
+settings.link.select = Roghnaigh Stóras
+settings.link.button = Nuashonraigh Nasc Stórais
+settings.link.success = D'éirigh le nasc an stórais a nuashonrú.
+settings.link.error = Theip ar an nasc stóras a nuashonrú.
+settings.delete = Scrios pacáiste
+settings.delete.description = Tá pacáiste a scriosadh buan agus ní féidir é a chur ar ais.
+settings.delete.notice = Tá tú ar tí %s (%s) a scriosadh. Tá an oibríocht seo dochúlaithe, an bhfuil tú cinnte?
+settings.delete.success = Tá an pacáiste scriosta.
+settings.delete.error = Theip ar an pacáiste a scriosadh.
+owner.settings.cargo.title = Innéacs Clárlann Lasta
+owner.settings.cargo.initialize = Innéacs a chur i dtosach
+owner.settings.cargo.initialize.description = Tá gá le stóras innéacs speisialta Git chun an clárlann Cargo a úsáid. Tríd an rogha seo, cruthófar an stóras (nó athchruthófar é) agus cumrófar é go huathoibríoch.
+owner.settings.cargo.initialize.error = Níorbh fhéidir an t-innéacs Cargo a thúsú: %v
+owner.settings.cargo.initialize.success = Cruthaíodh an t-innéacs Cargo go rathúil.
+owner.settings.cargo.rebuild = Innéacs Atógáil
+owner.settings.cargo.rebuild.description = Is féidir atógáil a bheith úsáideach mura bhfuil an t-innéacs sioncronaithe leis na pacáistí Cargo stóráilte.
+owner.settings.cargo.rebuild.error = Níorbh fhéidir an t-innéacs Cargo a atógáil: %v
+owner.settings.cargo.rebuild.success = D'éirigh leis an innéacs Cargo a atógáil.
+owner.settings.cleanuprules.add = Cuir Riail Glantacháin leis
+owner.settings.cleanuprules.edit = Cuir Riail Glantacháin in eagar
+owner.settings.cleanuprules.preview = Réamhamharc Riail Glantacháin
+owner.settings.cleanuprules.preview.overview = Tá pacáistí %d beartaithe a bhaint.
+owner.settings.cleanuprules.preview.none = Ní hionann riail glantacháin agus pacáistí ar bith.
+owner.settings.cleanuprules.enabled = Cumasaithe
+owner.settings.cleanuprules.pattern_full_match = Cuir patrún i bhfeidhm ar ainm an phacáiste iomlán
+owner.settings.cleanuprules.keep.title = Coinnítear leaganacha a mheaitseálann leis na rialacha seo, fiú má mheaitseálann siad riail bhaint thíos.
+owner.settings.cleanuprules.keep.count = Coinnigh an ceann is déanaí
+owner.settings.cleanuprules.keep.count.1 = 1 leagan in aghaidh an phacáiste
+owner.settings.cleanuprules.keep.count.n = Leaganacha %d in aghaidh an phacáiste
+owner.settings.cleanuprules.keep.pattern = Coinnigh leaganacha meaitseála
+owner.settings.cleanuprules.keep.pattern.container = Coinnítear an leagan is déanaí le haghaidh pacáistí Coimeádán i gcónaí.
+owner.settings.cleanuprules.remove.title = Baintear leaganacha a mheaitseálann leis na rialacha seo, mura deir riail thuas iad a choinneáil.
+owner.settings.cleanuprules.remove.days = Bain leaganacha níos sine ná
+owner.settings.cleanuprules.remove.pattern = Bain leaganacha meaitseála
+owner.settings.cleanuprules.success.update = Nuashonraíodh an riail ghlantacháin.
+owner.settings.cleanuprules.success.delete = Scriosadh an riail glantacháin.
+owner.settings.chef.title = Clárlann Chef
+owner.settings.chef.keypair = Gin péire eochair
+owner.settings.chef.keypair.description = Tá eochairphéire riachtanach le fíordheimhniú a dhéanamh ar chlárlann an Chef. Má tá péire eochrach ginte agat roimhe seo, má ghinfidh tú eochairphéire nua, scriosfar an seanphéire eochair.
+
+[secrets]
+secrets = Rúin
+description = Cuirfear rúin ar aghaidh chuig gníomhartha áirithe agus ní féidir iad a léamh ar mhalairt.
+none = Níl aon rúin ann fós.
+creation = Cuir Rúnda leis
+creation.name_placeholder = carachtair alfanumair nó íoslaghda amháin nach féidir a thosú le GITEA_ nó GITHUB_
+creation.value_placeholder = Ionchur ábhar ar bith. Fágfar spás bán ag tús agus ag deireadh ar lár.
+creation.success = Tá an rún "%s" curtha leis.
+creation.failed = Theip ar an rún a chur leis.
+deletion = Bain rún
+deletion.description = Is buan rún a bhaint agus ní féidir é a chealú. Lean ort?
+deletion.success = Tá an rún bainte.
+deletion.failed = Theip ar rún a bhaint.
+
+[actions]
+actions = Gníomhartha
+runners = Reathaitheoirí
+runners.new = Cruthaigh reathaí nua
+runners.new_notice = Conas reathaí a thosú
+runners.status = Stádas
+runners.id = ID
+runners.name = Ainm
+runners.owner_type = Cineál
+runners.description = Cur síos
+runners.labels = Lipéid
+runners.last_online = Am Ar Líne Deiridh
+runners.runner_title = Reathaí
+runners.task_list = Tascanna le déanaí ar an reathaí seo
+runners.task_list.no_tasks = Níl aon tasc ann fós.
+runners.task_list.run = Rith
+runners.task_list.status = Stádas
+runners.task_list.repository = Stóras
+runners.task_list.commit = Tiomantas
+runners.task_list.done_at = Déanta ag
+runners.edit_runner = Cuir Reathaí in Eagar
+runners.update_runner = Nuashonrú Athruithe
+runners.update_runner_success = Nuashonraíodh an Reathaí
+runners.update_runner_failed = Theip ar an reathaí a nuashonrú
+runners.delete_runner = Scrios an reathaí seo
+runners.delete_runner_success = Scriosadh an reathaí go rathúil
+runners.delete_runner_failed = Theip ar an reathaí a scriosadh
+runners.delete_runner_header = Deimhnigh an reathaí seo a scriosadh
+runners.delete_runner_notice = Má tá tasc ar siúl ar an reathaí seo, cuirfear deireadh leis agus marcáil mar theip. Féadfaidh sé sreabhadh oibre tógála a bhriseadh.
+runners.none = Níl aon reathaí ar fáil
+runners.status.unspecified = Anaithnid
+runners.status.idle = Díomhaoin
+runners.status.active = Gníomhach
+runners.status.offline = As líne
+runners.version = Leagan
+runners.reset_registration_token = Athshocraigh comhartha clár
+runners.reset_registration_token_success = D'éirigh le hathshocrú comhartha clárúcháin an dara háit
+runs.all_workflows = Gach Sreafaí Oibre
+runs.commit = Tiomantas
+runs.scheduled = Sceidealaithe
+runs.pushed_by = bhrú ag
+runs.invalid_workflow_helper = Tá comhad cumraíochta sreabhadh oibre nebhailí. Seiceáil do chomhad cumraithe le do thoil: %s
+runs.no_matching_online_runner_helper = Gan aon reathaí ar líne a mheaitseáil le lipéad: %s
+runs.no_job_without_needs = Caithfidh post amháin ar a laghad a bheith sa sreabhadh oibre gan spleáchas.
+runs.no_job = Caithfidh post amháin ar a laghad a bheith sa sreabhadh oibre
+runs.actor = Aisteoir
+runs.status = Stádas
+runs.actors_no_select = Gach aisteoir
+runs.status_no_select = Gach stádas
+runs.no_results = Níor mheaitseáil aon torthaí.
+runs.no_workflows = Níl aon sreafaí oibre ann fós.
+runs.no_runs = Níl aon rith ag an sreabhadh oibre fós.
+runs.empty_commit_message = (teachtaireacht tiomantas folamh)
+runs.expire_log_message = Glanadh logaí toisc go raibh siad ró-sean.
+workflow.disable = Díchumasaigh sreabhadh oibre
+workflow.enable = Cumasaigh sreabhadh oibre
+workflow.disabled = Tá sreabhadh oibre díchumasaithe
+need_approval_desc = Teastaíonn faomhadh chun sreafaí oibre a rith le haghaidh iarratas tarraingt forc.
+variables = Athróga
+variables.creation = Cuir Athróg leis
+variables.none = Níl aon athróga ann fós.
+variables.deletion = Bain athróg
+variables.deletion.description = Tá athróg a bhaint buan agus ní féidir é a chur ar ais. Lean ar aghaidh?
+variables.description = Cuirfear athróga chuig gníomhartha áirithe agus ní féidir iad a léamh ar mhalairt eile.
+variables.id_not_exist = Níl athróg le ID %d ann.
+variables.edit = Cuir Athróg in Eagar
+variables.deletion.failed = Theip ar athróg a bhaint.
+variables.deletion.success = Tá an athróg bainte.
+variables.creation.failed = Theip ar athróg a chur leis.
+variables.creation.success = Tá an athróg "%s" curtha leis.
+variables.update.failed = Theip ar athróg a chur in eagar.
+variables.update.success = Tá an t-athróg curtha in eagar.
+
+[projects]
+deleted.display_name = Tionscadal scriosta
+type-1.display_name = Tionscadal Aonair
+type-2.display_name = Tionscadal Stórais
+type-3.display_name = Tionscadal Eagrúcháin
+
+[git.filemode]
+changed_filemode = %[1]s → %[2]s
+directory = Eolaire
+normal_file = Comhad gnáth
+executable_file = Comhad infheidhmithe
+symbolic_link = Nasc siombalach
+submodule = Fo-mhodúl
diff --git a/options/locale/locale_hu-HU.ini b/options/locale/locale_hu-HU.ini
index 57555b90a2..411bad835a 100644
--- a/options/locale/locale_hu-HU.ini
+++ b/options/locale/locale_hu-HU.ini
@@ -1270,6 +1270,8 @@ topic.done=Kész
+milestones.filter_sort.name = Név
+
[graphs]
[org]
@@ -1684,6 +1686,9 @@ config.cache_item_ttl = Gyorsítótárelem TTL értéke
config.app_data_path = Alkalmazásadatok elérési útja
+config_summary = Összefoglaló
+config_settings = Beállítások
+
[action]
create_repo=létrehozott tárolót: %s
rename_repo=átnevezte a(z) %[1]s tárolót %[3]s-ra/re
diff --git a/options/locale/locale_id-ID.ini b/options/locale/locale_id-ID.ini
index 1e0044e4ce..673d1464b1 100644
--- a/options/locale/locale_id-ID.ini
+++ b/options/locale/locale_id-ID.ini
@@ -84,15 +84,93 @@ concept_code_repository=Repositori
name=Nama
+re_type = Konfirmasi Kata Sandi
+webauthn_insert_key = Masukkan kunci keamanan anda
+webauthn_sign_in = Tekan tombol pada kunci keamanan Anda. Jika kunci keamanan Anda tidak memiliki tombol, masukkan kembali.
+webauthn_press_button = Silakan tekan tombol pada kunci keamanan Anda…
+webauthn_use_twofa = Gunakan kode dua faktor dari telepon Anda
+webauthn_error = Tidak dapat membaca kunci keamanan Anda.
+webauthn_unsupported_browser = Browser Anda saat ini tidak mendukung WebAuthn.
+webauthn_error_unknown = Terdapat kesalahan yang tidak diketahui. Mohon coba lagi.
+webauthn_error_insecure = `WebAuthn hanya mendukung koneksi aman. Untuk pengujian melalui HTTP, Anda dapat menggunakan "localhost" atau "127.0.0.1"`
+webauthn_error_unable_to_process = Server tidak dapat memproses permintaan Anda.
+webauthn_error_duplicated = Kunci keamanan tidak diperbolehkan untuk permintaan ini. Pastikan bahwa kunci ini belum terdaftar sebelumnya.
+webauthn_error_empty = Anda harus menetapkan nama untuk kunci ini.
+webauthn_error_timeout = Waktu habis sebelum kunci Anda dapat dibaca. Mohon muat ulang halaman ini dan coba lagi.
+new_project = Proyek Baru
+new_project_column = Kolom Baru
+ok = Oke
+retry = Coba lagi
+rerun = Jalankan ulang
+rerun_all = Jalankan ulang semua job
+remove_label_str = `Hapus item "%s"`
+view = Tampilan
+test = Pengujian
+locked = Terkunci
+copy = Salin
+copy_url = Salin URL
+copy_hash = Salin hash
+copy_content = Salin konten
+copy_branch = Salin nama branch
+copy_success = Tersalin!
+copy_error = Gagal menyalin
+copy_type_unsupported = Tipe berkas ini tidak dapat disalin
+error = Gangguan
+error404 = Halaman yang akan kamu akses tidak dapat ditemukan atau kamu tidak memiliki akses untuk melihatnya.
+go_back = Kembali
+invalid_data = Data invalid: %v
+never = Tidak Pernah
+unknown = Tidak diketahui
+rss_feed = Umpan Berita
+pin = Sematkan
+unpin = Lepas sematan
+artifacts = Artefak
+archived = Diarsipkan
+concept_system_global = Global
+concept_user_individual = Perorangan
+show_full_screen = Tampilkan layar penuh
+download_logs = Unduh Logs
+confirm_delete_selected = Konfirmasi untuk menghapus semua item yang dipilih?
+value = Nilai
+filter = Saring
+filter.is_archived = Diarsipkan
+filter.not_archived = Tidak Diarsipkan
+filter.public = Publik
+filter.private = Pribadi
+
[aria]
+navbar = Bar Navigasi
+footer = Footer
+footer.links = Tautan
[heatmap]
+number_of_contributions_in_the_last_12_months = %s Kontribusi pada 12 bulan terakhir
+less = Lebih sedikit
+more = Lebih banyak
[editor]
+buttons.heading.tooltip = Tambahkan heading
+buttons.bold.tooltip = Tambahkan teks Tebal
+buttons.italic.tooltip = Tambahkan teks Miring
+buttons.quote.tooltip = Kutip teks
+buttons.code.tooltip = Tambah Kode
+buttons.link.tooltip = Tambahkan tautan
+buttons.list.unordered.tooltip = Tambah daftar titik
+buttons.list.ordered.tooltip = Tambah daftar angka
+buttons.list.task.tooltip = Tambahkan daftar tugas
+buttons.mention.tooltip = Tandai pengguna atau tim
+buttons.ref.tooltip = Merujuk pada isu atau permintaan tarik
+buttons.switch_to_legacy.tooltip = Gunakan editor versi lama
+buttons.enable_monospace_font = Aktifkan font monospace
+buttons.disable_monospace_font = Non-Aktifkan font monospace
[filter]
+string.asc = A - Z
+string.desc = Z - A
[error]
+occurred = Terjadi kesalahan
+not_found = Target tidak dapat ditemukan.
[startpage]
app_desc=Sebuah layanan hosting Git sendiri yang tanpa kesulitan
@@ -124,6 +202,9 @@ require_sign_in_view=Harus Login Untuk Melihat Halaman
admin_password=Kata Sandi
admin_email=Alamat Email
+email_title = Pengaturan email
+smtp_from = Kirim Email Sebagai
+
[home]
uname_holder=Nama Pengguna atau Alamat Surel
password_holder=Kata Sandi
@@ -141,6 +222,8 @@ show_private=Pribadi
issues.in_your_repos=Dalam repositori anda
+show_archived = Diarsipkan
+
[explore]
repos=Repositori
users=Pengguna
@@ -492,6 +575,8 @@ email_notifications.submit=Pasang Pengaturan Email
visibility.private=Pribadi
+visibility.public = Publik
+
[repo]
owner=Pemilik
repo_name=Nama Repositori
@@ -955,6 +1040,12 @@ branch.deleted_by=Dihapus oleh %s
+desc.public = Publik
+desc.archived = Diarsipkan
+commitstatus.error = Gangguan
+projects.new = Proyek Baru
+milestones.filter_sort.name = Nama
+
[graphs]
[org]
@@ -1009,6 +1100,8 @@ teams.delete_team_success=Tim sudah di hapus.
teams.repositories=Tim repositori
teams.search_repo_placeholder=Cari repositori…
+settings.visibility.public = Publik
+
[admin]
dashboard=Dasbor
organizations=Organisasi
@@ -1267,6 +1360,9 @@ notices.op=Op.
notices.delete_success=Laporan sistem telah dihapus.
+config_settings = Pengaturan
+users.list_status_filter.menu_text = Saring
+
[action]
create_repo=repositori dibuat %s
rename_repo=ganti nama gudang penyimpanan dari %[1]s ke %[3]s
@@ -1342,6 +1438,56 @@ runs.commit=Memperbuat
+runs.no_matching_online_runner_helper = Tidak ada runner online yang cocok dengan label: %s
+runs.actor = Aktor
+runs.status = Status
+runs.actors_no_select = Semua aktor
+runs.status_no_select = Semua status
+runs.no_results = Tidak ada hasil yang cocok.
+runs.no_workflows = Belum ada alur kerja.
+runs.no_runs = Alur kerja belum berjalan.
+runs.empty_commit_message = (pesan commit kosong)
+workflow.disable = Nonaktifkan Alur Kerja
+workflow.enable = Aktifkan Alur Kerja
+workflow.disabled = Alur kerja dinonaktifkan.
+need_approval_desc = Butuh persetujuan untuk menjalankan alur kerja untuk pull request fork.
+variables = Variabel
+variables.creation = Tambah Variabel
+variables.none = Belum ada variabel.
+variables.deletion = Hapus variabel
+variables.deletion.description = Menghapus variabel bersifat permanen dan tidak dapat dibatalkan. Lanjutkan?
+variables.description = Variabel akan diteruskan ke beberapa tindakan dan tidak dapat dibaca sebaliknya.
+variables.id_not_exist = Variabel dengan ID %d tidak ada.
+variables.edit = Edit Variabel
+variables.deletion.failed = Gagal menghapus variabel.
+variables.deletion.success = Variabel telah dihapus.
+variables.creation.failed = Gagal menambahkan variabel.
+variables.creation.success = Variabel "%s" telah ditambahkan.
+variables.update.failed = Gagal mengedit variabel.
+variables.update.success = Variabel telah diedit.
+
[projects]
+type-1.display_name = Proyek Individu
+type-2.display_name = Proyek Repositori
+type-3.display_name = Proyek Organisasi
[git.filemode]
+changed_filemode = %[1]s → %[2]s
+directory = Directory
+normal_file = Normal file
+executable_file = Executable file
+symbolic_link = Symbolic link
+submodule = Submodule
+
+[search]
+search = Cari...
+type_tooltip = Tipe pencarian
+fuzzy_tooltip = Termasuk juga hasil yang mendekati kata pencarian
+exact_tooltip = Hanya menampilkan hasil yang cocok dengan istilah pencarian
+repo_kind = Cari repo...
+user_kind = Telusuri pengguna...
+org_kind = Cari organisasi...
+team_kind = Cari tim...
+code_kind = Cari kode...
+code_search_unavailable = Pencarian kode saat ini tidak tersedia. Silahkan hubungi administrator.
+branch_kind = Cari cabang...
diff --git a/options/locale/locale_is-IS.ini b/options/locale/locale_is-IS.ini
index 3a6e844de2..9b1d56fed9 100644
--- a/options/locale/locale_is-IS.ini
+++ b/options/locale/locale_is-IS.ini
@@ -114,6 +114,10 @@ value=Gildi
sign_in_with_provider = Skrá inn með %s
enable_javascript = Þessi síða krefst JavaScript.
+filter = Sía
+filter.is_archived = Safnvistað
+filter.public = Opinbert
+
[aria]
[heatmap]
@@ -1118,6 +1122,8 @@ topic.done=Í lagi
+milestones.filter_sort.name = Heiti
+
[graphs]
[org]
@@ -1287,6 +1293,9 @@ notices.type_2=Verkefni
notices.desc=Lýsing
+config_summary = Yfirlit
+config_settings = Stillingar
+
[action]
create_issue=`opnaði vandamál %[3]s#%[2]s`
reopen_issue=`enduropnaði vandamál %[3]s#%[2]s`
@@ -1371,3 +1380,5 @@ runs.commit=Framlag
[projects]
[git.filemode]
+
+[search]
diff --git a/options/locale/locale_ja-JP.ini b/options/locale/locale_ja-JP.ini
index 890c2e857c..67e96cdc0c 100644
--- a/options/locale/locale_ja-JP.ini
+++ b/options/locale/locale_ja-JP.ini
@@ -167,6 +167,8 @@ new_org.link = 新しい組織
test = テスト
error413 = 割り当て量を使い切りしました。
+copy_path = パスをコピー
+
[aria]
navbar=ナビゲーションバー
footer=フッター
@@ -3515,6 +3517,8 @@ config.app_slogan = インスタンスのスローガン
config.cache_test = テストキャッシュ
+config.cache_test_failed = キャッシュの調査に失敗しました: %v.
+
[action]
create_repo=がリポジトリ %s を作成しました
rename_repo=がリポジトリ名を %[1]s から %[3]s へ変更しました
@@ -3758,6 +3762,8 @@ rpm.repository.multiple_groups = このパッケージは複数のグループ
owner.settings.cargo.rebuild.no_index = 再構築できません、インデックスが初期化されていません。
npm.dependencies.bundle = バンドルされた依存関係
+search_in_external_registry = %s で検索
+
[secrets]
secrets=シークレット
description=シークレットは特定のActionsに渡されます。 それ以外で読み出されることはありません。
@@ -3875,11 +3881,15 @@ workflow.dispatch.invalid_input_type = 入力タイプ「%s」が無効です。
workflow.dispatch.warn_input_limit = 最初の %d 個の入力のみを表示します。
runs.no_job = ワークフローには少なくとも1つのジョブが含まれている必要があります
+runs.expire_log_message = ログは古すぎるため消去されています。
+
[projects]
type-1.display_name=個人プロジェクト
type-2.display_name=リポジトリ プロジェクト
type-3.display_name=組織プロジェクト
+deleted.display_name = 削除されたプロジェクト
+
[git.filemode]
changed_filemode=%[1]s → %[2]s
directory=ディレクトリ
diff --git a/options/locale/locale_ko-KR.ini b/options/locale/locale_ko-KR.ini
index 00c474a17c..d2a175d58d 100644
--- a/options/locale/locale_ko-KR.ini
+++ b/options/locale/locale_ko-KR.ini
@@ -376,7 +376,7 @@ allow_password_change=사용자에게 비밀번호 변경을 요청 (권장됨)
reset_password_mail_sent_prompt=확인 메일이 %s로 전송되었습니다. 받은 편지함으로 도착한 메일을 %s 안에 확인해서 비밀번호 찾기 절차를 완료하십시오.
active_your_account=계정 활성화
account_activated=계정이 활성화 되었습니다
-prohibit_login =
+prohibit_login =
resent_limit_prompt=활성화를 위한 이메일을 이미 전송했습니다. 3분 내로 이메일을 받지 못한 경우 재시도해주세요.
has_unconfirmed_mail=안녕하세요 %s, 이메일 주소(%s)가 확인되지 않았습니다. 확인 메일을 받으시지 못하겼거나 새로운 확인 메일이 필요하다면, 아래 버튼을 클릭해 재발송하실 수 있습니다.
resend_mail=여기를 눌러 확인 메일 재전송
@@ -1425,6 +1425,8 @@ archive.title_date = 이 저장소는 %s에 보관처리되었습니다. 파일
+milestones.filter_sort.name = 이름
+
[graphs]
[org]
@@ -1797,6 +1799,9 @@ emails.filter_sort.name_reverse = 사용자명 (예약됨)
config.allow_dots_in_usernames = 사용자들이 마침표를 사용자명에 사용할 수 있도록 허가합니다. 이미 존재하는 계정에는 영향을 주지 않습니다.
+config_summary = 요약
+config_settings = 설정
+
[action]
create_repo=저장소를 만들었습니다. %s
rename_repo=저장소 이름을 %[1]s에서에서 %[3]s으로 변경함
diff --git a/options/locale/locale_si-LK.ini b/options/locale/locale_si-LK.ini
index e52e5bcaf9..d55b238b1c 100644
--- a/options/locale/locale_si-LK.ini
+++ b/options/locale/locale_si-LK.ini
@@ -101,6 +101,11 @@ concept_user_organization=සංවිධානය
name=නම
+filter = පෙරහන
+filter.is_archived = සංරක්ෂිත
+filter.public = ප්රසිද්ධ
+filter.private = පෞද්ගලික
+
[aria]
[heatmap]
@@ -1913,6 +1918,8 @@ error.csv.too_large=එය ඉතා විශාල නිසා මෙම ග
error.csv.unexpected=%d පේළියේ සහ %dතීරුවේ අනපේක්ෂිත චරිතයක් අඩංගු බැවින් මෙම ගොනුව විදැහුම්කරණය කළ නොහැක.
error.csv.invalid_field_count=මෙම ගොනුව රේඛාවේ වැරදි ක්ෂේත්ර සංඛ්යාවක් ඇති බැවින් එය විදැහුම්කරණය කළ නොහැක %d.
+milestones.filter_sort.name = නම
+
[graphs]
[org]
@@ -2462,6 +2469,9 @@ notices.op=ඔප්.
notices.delete_success=පද්ධති දැන්වීම් මකා දමා ඇත.
+config_summary = සාරාංශය
+config_settings = සැකසුම්
+
[action]
create_repo=නිර්මිත ගබඩාව %s
rename_repo=%[1]s සිට %[3]sදක්වා නම් කරන ලද ගබඩාව
@@ -2554,3 +2564,5 @@ runs.commit=කැප
[git.filemode]
symbolic_link=සංකේතාත්මක සබැඳිය
+
+[search]
diff --git a/options/locale/locale_sk-SK.ini b/options/locale/locale_sk-SK.ini
index 3e5b4a63f6..a90ddd513b 100644
--- a/options/locale/locale_sk-SK.ini
+++ b/options/locale/locale_sk-SK.ini
@@ -142,6 +142,9 @@ name=Meno
value=Hodnota
issues = Problémy
+filter.is_archived = Archivované
+filter.private = Súkromný
+
[aria]
navbar=Navigačná lišta
footer=Päta
@@ -1370,4 +1373,6 @@ runners.labels=Štítky
[projects]
[git.filemode]
-symbolic_link=Symbolický odkaz
\ No newline at end of file
+symbolic_link=Symbolický odkaz
+
+[search]
\ No newline at end of file
diff --git a/options/locale/locale_tr-TR.ini b/options/locale/locale_tr-TR.ini
index c23533ee7b..29acc94832 100644
--- a/options/locale/locale_tr-TR.ini
+++ b/options/locale/locale_tr-TR.ini
@@ -342,6 +342,8 @@ app_slogan_helper = Oluşum sloganınızı giriniz. Devre dışı bırakmak içi
enable_update_checker_helper_forgejo = release.forgejo.org adresindeki TXT DNS kayıdı kullanılarak yeni Forgejo sürümleri düzenli olarak kontrol edilecektir.
allow_dots_in_usernames = Kullanıcı isimlerinde noktaya izin ver. Var olan kullanıcıları etkilemez.
+smtp_from_invalid = `"E-posta Olarak Gönder" adresi geçersiz`
+
[home]
uname_holder=Kullanıcı adı veya e-posta adresi
password_holder=Parola
@@ -663,6 +665,9 @@ admin_cannot_delete_self = Yöneticiyken kullanıcınızı silemezsiniz. Lütfen
username_error_no_dots = ` sadece alfanumerik karakterler ("0-9","a-z","A-Z"), tire ("-") ve alt tire ("-") içerebilir. Alfanumerik olmayan karakterlerle başlayamaz ve bitemez, ayrıca ardışık alfanumerik olmayan karakterler de kullanılamaz.`
+unset_password = Oturum açma kullanıcısı parola belirlemedi.
+unsupported_login_type = Oturum açma türü hesap silmeyi desteklemiyor.
+
[user]
change_avatar=Profil resmini değiştir…
joined_on=%s tarihinde katıldı
@@ -2692,7 +2697,37 @@ activity.navbar.contributors = Katılımcılar
contributors.contribution_type.deletions = Çıkarmalar
settings.new_owner_blocked_doer = Yeni sahip sizi engelledi.
+open_with_editor = %s ile aç
+object_format = Nesne Biçimi
+mirror_sync = eşitlendi
+stars = Yıldızlar
+desc.sha256 = SHA256
+vendored = Sağlanmış
+generated = Üretilmiş
+editor.push_out_of_date = İtme eskimiş.
+commits.search_branch = Bu Dal
+issues.edit.already_changed = Konuya yapılan değişiklikler kaydedilemiyor. İçerik başka kullanıcı tarafından değiştirilmiş gözüküyor. Diğerlerinin değişikliklerinin üzerine yazmamak için lütfen sayfayı yenileyin ve tekrar düzenlemeye çalışın
+pulls.edit.already_changed = Değişiklik isteğine yapılan değişiklikler kaydedilemiyor. İçerik başka kullanıcı tarafından değiştirilmiş gözüküyor. Diğerlerinin değişikliklerinin üzerine yazmamak için lütfen sayfayı yenileyin ve tekrar düzenlemeye çalışın
+pulls.nothing_to_compare_have_tag = Seçili dal/etiket aynı.
+pulls.fast_forward_only_merge_pull_request = Sadece ileri sarma
+comments.edit.already_changed = Yoruma yapılan değişiklikler kaydedilemiyor. İçerik başka kullanıcı tarafından değiştirilmiş gözüküyor. Diğerlerinin değişikliklerinin üzerine yazmamak için lütfen sayfayı yenileyin ve tekrar düzenlemeye çalışın
+milestones.filter_sort.name = Ad
+activity.navbar.pulse = Eğilim
+activity.navbar.code_frequency = Kod Frekansı
+activity.navbar.recent_commits = Son İşlemeler
+settings.mirror_settings.pushed_repository = İtilmiş depo
+settings.ignore_stale_approvals = Eskimiş onayları yoksay
+settings.ignore_stale_approvals_desc = Daha eski işlemelere (eski incelemelere) yapılmış olan onayları, Dİ'nin kaç onayı olduğunu belirlerken sayma. Eskimiş incelemeler atıldıysa bu ilgisizdir.
+error.broken_git_hook = Bu deponun Git İstemcileri bozuk gibi gözüküyor. Onarmak için lütfen belgelere bakın, daha sonra durumu yenilemek için bazı işlemeler itin.
+
[graphs]
+component_loading = %s yükleniyor...
+component_loading_failed = %s yüklenemedi
+component_loading_info = Bu biraz sürebilir…
+component_failed_to_load = Beklenmedik bir hata oluştu.
+code_frequency.what = kod frekansı
+contributors.what = katkılar
+recent_commits.what = son işlemeler
[org]
org_name_holder=Organizasyon Adı
@@ -3346,6 +3381,23 @@ notices.op=İşlem
notices.delete_success=Sistem bildirimleri silindi.
+self_check = Öz Denetim
+config_summary = Özet
+config_settings = Ayarlar
+dashboard.sync_repo_tags = Etiketleri git verisinden veritabanına eşitle
+emails.delete = E-postayı Sil
+emails.delete_desc = Bu e-posta adresini silmek istediğinizden emin misiniz?
+emails.deletion_success = E-posta adresi silindi.
+emails.delete_primary_email_error = Ana e-posta adresini silemezsiniz.
+config.cache_test = Önbelleği Sına
+config.cache_test_failed = Önbelleğin incelenmesi başarısız oldu: %v.
+config.cache_test_slow = Önbellek sınaması başarılı, ancak yanıt yavaş: %s.
+config.cache_test_succeeded = Önbellek sınaması başarılı, %s sürede bir yanıt alındı.
+config.open_with_editor_app_help = Klon menüsü için "Birlikte aç" düzenleyicileri. Boş bırakılırsa, varsayılan kullanılacaktır. Varsayılanı görmek için genişletin.
+self_check.no_problem_found = Henüz bir sorun bulunmadı.
+self_check.database_collation_mismatch = Veritabanının şu harmanlamayı kullanmasını bekle: %s
+self_check.database_inconsistent_collation_columns = Veritabanı %s harmanlamasını kullanıyor, ancak bu sütunlar uyumsuz harmanlamalar kullanıyor. Bu beklenmedik sorunlar oluşturabilir.
+
[action]
create_repo=depo %s oluşturuldu
rename_repo=%[1]s olan depo adını %[3]s buna çevirdi
@@ -3586,6 +3638,9 @@ owner.settings.chef.title=Chef Kütüğü
owner.settings.chef.keypair=Anahtar çifti üret
owner.settings.chef.keypair.description=Chef kütüğünde kimlik doğrulaması için bir anahtar çifti gereklidir. Eğer daha önce bir anahtar çifti ürettiyseniz, yeni bir anahtar çifti üretmek eski anahtar çiftini ıskartaya çıkartacaktır.
+npm.dependencies.bundle = Paketlenmiş Bağımlılıklar
+rpm.repository.multiple_groups = Bu paket birçok grupta mevcut.
+
[secrets]
secrets=Gizlilikler
description=Gizlilikler belirli işlemlere aktarılacaktır, bunun dışında okunamaz.
@@ -3693,6 +3748,10 @@ runs.no_workflows.documentation = Gitea İşlem'i hakkında daha fazla bilgi iç
variables.id_not_exist = %d kimlikli değişken mevcut değil.
runs.no_workflows.quick_start = Gitea İşlem'i nasıl başlatacağınızı bilmiyor musunuz? Hızlı başlangıç rehberine bakabilirsiniz.
+runs.no_job_without_needs = İş akışı en azından bağımlılığı olmayan bir görev içermelidir.
+runs.no_job = İş akışı en azından bir görev içermelidir
+runs.expire_log_message = Günlükler, çok eski oldukları için temizlendiler.
+
[projects]
type-1.display_name=Kişisel Proje
type-2.display_name=Depo Projesi
@@ -3732,3 +3791,5 @@ keyword_search_unavailable = Anahtar kelime ile arama şu anda kullanıma açık
fuzzy_tooltip = Arama terimine yakın olan eşleşmeleri dahil et
union_tooltip = Boşlukla ayrılmış anahtar kelime eşleşmelerini dahil et
exact_tooltip = Sadece arama terimiyle tam uyuşan sonuçları dahit et.
+fuzzy = Bulanık
+exact = Tam
diff --git a/options/locale/locale_zh-HK.ini b/options/locale/locale_zh-HK.ini
index deec042034..e2cb0d8b2c 100644
--- a/options/locale/locale_zh-HK.ini
+++ b/options/locale/locale_zh-HK.ini
@@ -134,6 +134,8 @@ copy_generic = 複製到剪貼簿
copy_url = 複製網址
copy_hash = 複製雜湊值
+filter.private = 私有庫
+
[aria]
footer = 頁尾
footer.links = 連結
@@ -791,6 +793,8 @@ settings.branches.update_default_branch = 更新預設分支
+milestones.filter_sort.name = 組織名稱
+
[graphs]
[org]
@@ -1076,6 +1080,8 @@ users = 使用者帳戶
defaulthooks = 預設 Webhook
+config_settings = 組織設定
+
[action]
create_repo=建立了儲存庫 %s
rename_repo=重新命名儲存庫 %[1]s 為 %[3]s
@@ -1146,4 +1152,6 @@ runners.labels = 標籤
[projects]
-[git.filemode]
\ No newline at end of file
+[git.filemode]
+
+[search]
\ No newline at end of file
diff --git a/options/locale/locale_zh-TW.ini b/options/locale/locale_zh-TW.ini
index 7cc72ac1db..923769bb53 100644
--- a/options/locale/locale_zh-TW.ini
+++ b/options/locale/locale_zh-TW.ini
@@ -2842,6 +2842,17 @@ release.summary_card_alt = 儲存庫 %[2]s 中名為「%[1]s」的發行摘要
error.broken_git_hook = 此儲存庫的 Git 鉤子似乎已損壞。請按照文件修復它們,然後推送一些提交以重新整理狀態。
issues.reaction.alt_remove = 從留言中移除 %[1]s 的反應。
+vendored = 已供應
+settings.mirror_settings.docs.doc_link_pull_section = 文件中的「從遠端儲存庫拉取」部分。
+settings.event_pull_request_review_request_desc = 合併請求審核請求或審核請求已移除。
+settings.protect_status_check_patterns_desc = 輸入模式以指定其他分支在合併到受此規則保護的分支前必須通過的狀態檢查。每行指定一個模式,模式不得為空白。
+settings.protect_invalid_status_check_pattern = 狀態檢查模式無效: 「%s」。
+settings.ignore_stale_approvals_desc = 不計算在較舊提交上進行的核可(過時的審核)作為合併請求的核可數量。如果過時的審核已經被捨棄,則無關緊要。
+settings.tags.protection.pattern.description = 您可以使用單一名稱或 glob 模式或正則表達式來匹配多個標籤。詳情請參閱 受保護標籤指南。
+settings.thread_id = 線程 ID
+settings.archive.text = 封存儲存庫將使其完全變為唯讀。它將從儀表板中隱藏。沒有人(甚至包括您!)將能夠進行新的提交,或打開任何問題或合併請求。
+diff.comment.add_line_comment = 新增行評論
+
[graphs]
component_loading = 載入中 %s…
code_frequency.what = 寫程式頻率
@@ -3536,6 +3547,9 @@ users.admin.description = 授予此使用者透過網頁介面和 API 提供的
auths.tip.gitea = 註冊一個新的 OAuth2 應用程式。指南可在 %s 找到
+monitor.queue.activeworkers = 活躍工作者
+monitor.queue.settings.desc = 集區會根據工作者佇列的阻塞情況動態增長。
+
[action]
create_repo=建立了儲存庫 %s
rename_repo=重新命名儲存庫 %[1]s 為 %[3]s
From 2382b745266089018cc06deae57d7b2739a222a7 Mon Sep 17 00:00:00 2001
From: 0ko <0ko@noreply.codeberg.org>
Date: Sun, 16 Feb 2025 12:59:28 +0000
Subject: [PATCH 115/708] feat(ui): add MIME types for generated archives
(#6959)
* add MIME types `application/zip` and `application/gzip` to anchors of automatically generated archives.
* add testing for that, and also for https://codeberg.org/forgejo/forgejo/pulls/2899
## Why
Many instances are struggling with crawlers that are fetching these links, causing archives to be generated. The content is actually never downloaded.
[MDN describes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#type) this attribute as a "hint". So this hint can help a client to decide against fetching the href contents. I don't believe this change will actually improve the situation, however, I think this attribute is nice to have.
## MIME types
It was a bit difficult to determine which are the right ones for this use case.
[IANA lists](https://www.iana.org/assignments/media-types/media-types.xhtml) both `application/zip` and `application/gzip`.
`application/zip` refers to [RFC6713](https://datatracker.ietf.org/doc/html/rfc6713) and `application/gzip` doesn't refer to an RFC directly. It also has [detailed information](https://www.iana.org/assignments/media-types/application/zip) about zip. [gzip is less detailed](https://www.iana.org/assignments/media-types/application/gzip).
* [`application/zip`](https://www.iana.org/assignments/media-types/application/zip):
> ZIP files are binary data and thus should be encoded for MIME mail
transmission.
This was written in 1993, but probably applies to the more modern web as well.
* [`application/gzip`](https://datatracker.ietf.org/doc/rfc6713):
> The 'application/gzip' media type describes a block of data that is
compressed using gzip [RFC1952] compression. The data is a stream of
bytes as described in RFC 1952.
[RFC1952](https://datatracker.ietf.org/doc/rfc1952/) is a "GZIP file format specification", but there's a warning: "This RFC is not endorsed by the IETF and has no formal standing in the IETF standards process.". Anyway, I consider it as the right way to mark .tar.gz files too.
Additional stuff that I read while researching:
* https://stackoverflow.com/questions/2110269/add-mime-type-to-html-link
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/6959
Reviewed-by: Earl Warren
Reviewed-by: Otto
Co-authored-by: 0ko <0ko@noreply.codeberg.org>
Co-committed-by: 0ko <0ko@noreply.codeberg.org>
---
templates/repo/release/list.tmpl | 4 ++--
tests/e2e/release.test.e2e.ts | 7 +++++++
2 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/templates/repo/release/list.tmpl b/templates/repo/release/list.tmpl
index a760e0730e..54571f065a 100644
--- a/templates/repo/release/list.tmpl
+++ b/templates/repo/release/list.tmpl
@@ -72,7 +72,7 @@
diff --git a/tests/e2e/release.test.e2e.ts b/tests/e2e/release.test.e2e.ts
index 6d1fff2102..4d916f717e 100644
--- a/tests/e2e/release.test.e2e.ts
+++ b/tests/e2e/release.test.e2e.ts
@@ -43,10 +43,17 @@ test('External Release Attachments', async ({page, isMobile}) => {
// Validate release page and click edit
await expect(page).toHaveURL('/user2/repo2/releases');
await expect(page.locator('.download[open] li')).toHaveCount(3);
+
await expect(page.locator('.download[open] li:nth-of-type(1)')).toContainText('Source code (ZIP)');
+ await expect(page.locator('.download[open] li:nth-of-type(1) span[data-tooltip-content]')).toHaveAttribute('data-tooltip-content', 'This attachment is automatically generated.');
await expect(page.locator('.download[open] li:nth-of-type(1) a')).toHaveAttribute('href', '/user2/repo2/archive/2.0.zip');
+ await expect(page.locator('.download[open] li:nth-of-type(1) a')).toHaveAttribute('type', 'application/zip');
+
await expect(page.locator('.download[open] li:nth-of-type(2)')).toContainText('Source code (TAR.GZ)');
+ await expect(page.locator('.download[open] li:nth-of-type(2) span[data-tooltip-content]')).toHaveAttribute('data-tooltip-content', 'This attachment is automatically generated.');
await expect(page.locator('.download[open] li:nth-of-type(2) a')).toHaveAttribute('href', '/user2/repo2/archive/2.0.tar.gz');
+ await expect(page.locator('.download[open] li:nth-of-type(2) a')).toHaveAttribute('type', 'application/gzip');
+
await expect(page.locator('.download[open] li:nth-of-type(3)')).toContainText('Test');
await expect(page.locator('.download[open] li:nth-of-type(3) a')).toHaveAttribute('href', 'https://forgejo.org/');
await save_visual(page);
From 24784b214f83100106b4579df096258a52a4bb99 Mon Sep 17 00:00:00 2001
From: Earl Warren
Date: Sun, 16 Feb 2025 17:47:57 +0000
Subject: [PATCH 116/708] Revert "Update module github.com/minio/minio-go/v7 to
v7.0.86 (forgejo) (#6945)" (#6961)
This reverts commit 486acb04fa3bab041fc29e251f4381760028f2a3.
Because of https://github.com/minio/crc64nvme/pull/1
The package builds fail
https://codeberg.org/forgejo-integration/forgejo/actions/runs/7790#jobstep-10-2350
74.77 /go/pkg/mod/github.com/minio/crc64nvme@v1.0.0/crc64.go:128:9: undefined: updateAsm
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/6961
Reviewed-by: Gusted
Reviewed-by: Michael Kriese
Co-authored-by: Earl Warren
Co-committed-by: Earl Warren
---
assets/go-licenses.json | 5 -----
go.mod | 5 ++---
go.sum | 10 ++++------
3 files changed, 6 insertions(+), 14 deletions(-)
diff --git a/assets/go-licenses.json b/assets/go-licenses.json
index 61e1717ffa..2c6bf78ec7 100644
--- a/assets/go-licenses.json
+++ b/assets/go-licenses.json
@@ -739,11 +739,6 @@
"path": "github.com/miekg/dns/LICENSE",
"licenseText": "BSD 3-Clause License\n\nCopyright (c) 2009, The Go Authors. Extensions copyright (c) 2011, Miek Gieben. \nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n1. Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n2. Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\n3. Neither the name of the copyright holder nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
},
- {
- "name": "github.com/minio/crc64nvme",
- "path": "github.com/minio/crc64nvme/LICENSE",
- "licenseText": "\n Apache License\n Version 2.0, January 2004\n http://www.apache.org/licenses/\n\n TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n 1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n 2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n 3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n 4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n 5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n 6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n 7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n 8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n 9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\n END OF TERMS AND CONDITIONS\n\n APPENDIX: How to apply the Apache License to your work.\n\n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"[]\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n\n Copyright [yyyy] [name of copyright owner]\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n"
- },
{
"name": "github.com/minio/md5-simd",
"path": "github.com/minio/md5-simd/LICENSE",
diff --git a/go.mod b/go.mod
index bd8130ef81..c0a97b21fd 100644
--- a/go.mod
+++ b/go.mod
@@ -76,7 +76,7 @@ require (
github.com/meilisearch/meilisearch-go v0.29.0
github.com/mholt/archiver/v3 v3.5.1
github.com/microcosm-cc/bluemonday v1.0.27
- github.com/minio/minio-go/v7 v7.0.86
+ github.com/minio/minio-go/v7 v7.0.85
github.com/msteinert/pam v1.2.0
github.com/nektos/act v0.2.52
github.com/niklasfasching/go-org v1.7.0
@@ -193,7 +193,7 @@ require (
github.com/go-openapi/jsonreference v0.20.4 // indirect
github.com/go-openapi/swag v0.22.7 // indirect
github.com/go-webauthn/x v0.1.14 // indirect
- github.com/goccy/go-json v0.10.5 // indirect
+ github.com/goccy/go-json v0.10.4 // indirect
github.com/golang-jwt/jwt/v4 v4.5.0 // indirect
github.com/golang/geo v0.0.0-20230421003525-6adc56603217 // indirect
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
@@ -223,7 +223,6 @@ require (
github.com/mattn/go-runewidth v0.0.16 // indirect
github.com/mholt/acmez/v3 v3.0.1 // indirect
github.com/miekg/dns v1.1.62 // indirect
- github.com/minio/crc64nvme v1.0.0 // indirect
github.com/minio/md5-simd v1.1.2 // indirect
github.com/mitchellh/mapstructure v1.5.0 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
diff --git a/go.sum b/go.sum
index dc79b6663a..b2d734d636 100644
--- a/go.sum
+++ b/go.sum
@@ -975,8 +975,8 @@ github.com/gobwas/httphead v0.1.0/go.mod h1:O/RXo79gxV8G+RqlR/otEwx4Q36zl9rqC5u1
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.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
-github.com/goccy/go-json v0.10.5 h1:Fq85nIqj+gXn/S5ahsiTlK3TmC85qgirsdTP/+DeaC4=
-github.com/goccy/go-json v0.10.5/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M=
+github.com/goccy/go-json v0.10.4 h1:JSwxQzIqKfmFX1swYPpUThQZp/Ka4wzJdK0LWVytLPM=
+github.com/goccy/go-json v0.10.4/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M=
github.com/gogs/chardet v0.0.0-20211120154057-b7413eaefb8f h1:3BSP1Tbs2djlpprl7wCLuiqMaUh5SJkkzI2gDs+FgLs=
github.com/gogs/chardet v0.0.0-20211120154057-b7413eaefb8f/go.mod h1:Pcatq5tYkCW2Q6yrR2VRHlbHpZ/R4/7qyL1TCF7vl14=
github.com/gogs/go-gogs-client v0.0.0-20210131175652-1d7215cd8d85 h1:UjoPNDAQ5JPCjlxoJd6K8ALZqSDDhk2ymieAZOVaDg0=
@@ -1261,12 +1261,10 @@ github.com/miekg/dns v1.1.62 h1:cN8OuEF1/x5Rq6Np+h1epln8OiyPWV+lROx9LxcGgIQ=
github.com/miekg/dns v1.1.62/go.mod h1:mvDlcItzm+br7MToIKqkglaGhlFMHJ9DTNNWONWXbNQ=
github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8/go.mod h1:mC1jAcsrzbxHt8iiaC+zU4b1ylILSosueou12R++wfY=
github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3/go.mod h1:RagcQ7I8IeTMnF8JTXieKnO4Z6JCsikNEzj0DwauVzE=
-github.com/minio/crc64nvme v1.0.0 h1:MeLcBkCTD4pAoU7TciAfwsfxgkhM2u5hCe48hSEVFr0=
-github.com/minio/crc64nvme v1.0.0/go.mod h1:eVfm2fAzLlxMdUGc0EEBGSMmPwmXD5XiNRpnu9J3bvg=
github.com/minio/md5-simd v1.1.2 h1:Gdi1DZK69+ZVMoNHRXJyNcxrMA4dSxoYHZSQbirFg34=
github.com/minio/md5-simd v1.1.2/go.mod h1:MzdKDxYpY2BT9XQFocsiZf/NKVtR7nkE4RoEpN+20RM=
-github.com/minio/minio-go/v7 v7.0.86 h1:DcgQ0AUjLJzRH6y/HrxiZ8CXarA70PAIufXHodP4s+k=
-github.com/minio/minio-go/v7 v7.0.86/go.mod h1:VbfO4hYwUu3Of9WqGLBZ8vl3Hxnxo4ngxK4hzQDf4x4=
+github.com/minio/minio-go/v7 v7.0.85 h1:9psTLS/NTvC3MWoyjhjXpwcKoNbkongaCSF3PNpSuXo=
+github.com/minio/minio-go/v7 v7.0.85/go.mod h1:57YXpvc5l3rjPdhqNrDsvVlY0qPI6UTk1bflAe+9doY=
github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY=
github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
From 37cd4108d6ba99366f6344a1c450db7b31961123 Mon Sep 17 00:00:00 2001
From: Beowulf
Date: Sun, 16 Feb 2025 18:17:46 +0000
Subject: [PATCH 117/708] feat(ui): always show restart button for Actions jobs
(#6923)
Always show the rerun button if the job can be rerun.
This PR just removes the handling for hiding the rerun button if the item isn't hovered.
Closes #6737
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/6923
Reviewed-by: Gusted
Co-authored-by: Beowulf
Co-committed-by: Beowulf
---
web_src/js/components/RepoActionView.vue | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/web_src/js/components/RepoActionView.vue b/web_src/js/components/RepoActionView.vue
index 136ad3693d..a324b522d5 100644
--- a/web_src/js/components/RepoActionView.vue
+++ b/web_src/js/components/RepoActionView.vue
@@ -30,7 +30,6 @@ const sfc = {
intervalID: null,
currentJobStepsStates: [],
artifacts: [],
- onHoverRerunIndex: -1,
menuVisible: false,
isFullScreen: false,
timeVisible: {
@@ -457,13 +456,13 @@ export function initRepositoryActionView() {
- {{/* These two inputs need to stay in exactly this order (checkbox first, hidden second) or boolean fields wont work correctly! */}}
+ {{/* These two inputs need to stay in exactly this order (checkbox first, hidden second) or boolean fields won't work correctly! */}}
diff --git a/tests/integration/api_fork_test.go b/tests/integration/api_fork_test.go
index 6614f4b799..1d04a4b013 100644
--- a/tests/integration/api_fork_test.go
+++ b/tests/integration/api_fork_test.go
@@ -123,7 +123,7 @@ func TestAPIForkListPrivateRepo(t *testing.T) {
}).AddTokenAuth(token)
MakeRequest(t, req, http.StatusAccepted)
- t.Run("Anomynous", func(t *testing.T) {
+ t.Run("Anonymous", func(t *testing.T) {
defer tests.PrintCurrentTest(t)()
req := NewRequest(t, "GET", "/api/v1/repos/user2/repo1/forks")
diff --git a/tests/integration/feed_user_test.go b/tests/integration/feed_user_test.go
index 5567a6b1b9..d618f30566 100644
--- a/tests/integration/feed_user_test.go
+++ b/tests/integration/feed_user_test.go
@@ -134,7 +134,7 @@ func TestFeed(t *testing.T) {
})
t.Run("View permission", func(t *testing.T) {
- t.Run("Anomynous", func(t *testing.T) {
+ t.Run("Anonymous", func(t *testing.T) {
defer tests.PrintCurrentTest(t)()
req := NewRequest(t, "GET", "/org3/repo3/rss/branch/master")
MakeRequest(t, req, http.StatusNotFound)
diff --git a/tests/integration/repo_fork_test.go b/tests/integration/repo_fork_test.go
index b2e40671ba..b64991ae18 100644
--- a/tests/integration/repo_fork_test.go
+++ b/tests/integration/repo_fork_test.go
@@ -249,7 +249,7 @@ func TestForkListPrivateRepo(t *testing.T) {
testRepoFork(t, session, "user2", "repo1", org23.Name, "repo1")
- t.Run("Anomynous", func(t *testing.T) {
+ t.Run("Anonymous", func(t *testing.T) {
defer tests.PrintCurrentTest(t)()
req := NewRequest(t, "GET", "/user2/repo1/forks")
diff --git a/tests/integration/repo_generate_test.go b/tests/integration/repo_generate_test.go
index bcee0df417..d541a4b651 100644
--- a/tests/integration/repo_generate_test.go
+++ b/tests/integration/repo_generate_test.go
@@ -194,7 +194,7 @@ func TestRepoGenerateTemplating(t *testing.T) {
})
defer f()
- // The repo.TemplateID field is not initalized. Luckly the ID field holds the expected value
+ // The repo.TemplateID field is not initialized. Luckily, the ID field holds the expected value
templateID := strconv.FormatInt(template.ID, 10)
testRepoGenerate(
diff --git a/web_src/fomantic/build/semantic.js b/web_src/fomantic/build/semantic.js
index affd6a4bd0..fb68705c08 100644
--- a/web_src/fomantic/build/semantic.js
+++ b/web_src/fomantic/build/semantic.js
@@ -344,7 +344,7 @@ $.api = $.fn.api = function(parameters) {
cancelled: function() {
return (module.cancelled || false);
},
- succesful: function() { // codespell-ignore
+ succesful: function() { // codespell:ignore
module.verbose('This behavior will be deleted due to typo. Use "was successful" instead.');
return module.was.successful();
},
diff --git a/web_src/js/components/RepoActionView.vue b/web_src/js/components/RepoActionView.vue
index a324b522d5..75afd708ef 100644
--- a/web_src/js/components/RepoActionView.vue
+++ b/web_src/js/components/RepoActionView.vue
@@ -262,7 +262,7 @@ const sfc = {
try {
this.loading = true;
- // Since no async operations occured since fetching myLoadingLogCursors, we can be sure that we have the most
+ // Since no async operations occurred since fetching myLoadingLogCursors, we can be sure that we have the most
// recent needed log cursors, so we can reset needLoadingWithLogCursors -- it could be stale if exceptions
// occurred in previous load attempts.
this.needLoadingWithLogCursors = null;
From 1745053229e96bc899f9b67a0a6593a0fd59e934 Mon Sep 17 00:00:00 2001
From: alberic89
Date: Fri, 21 Feb 2025 08:25:08 +0000
Subject: [PATCH 130/708] Update Zig gitignore (#7005)
`zig-cache/` has been renamed to `.zig-cache/` since 0.13.0 release of Zig.
https://ziglang.org/download/0.13.0/release-notes.html#codezig-cachecode-renamed-to-codezig-cachecode
## Checklist
The [contributor guide](https://forgejo.org/docs/next/contributor/) contains information that will be helpful to first time contributors. There also are a few [conditions for merging Pull Requests in Forgejo repositories](https://codeberg.org/forgejo/governance/src/branch/main/PullRequestsAgreement.md). You are also welcome to join the [Forgejo development chatroom](https://matrix.to/#/#forgejo-development:matrix.org).
### Tests
- I added test coverage for Go changes...
- [ ] in their respective `*_test.go` for unit tests.
- [ ] in the `tests/integration` directory if it involves interactions with a live Forgejo server.
- I added test coverage for JavaScript changes...
- [ ] in `web_src/js/*.test.js` if it can be unit tested.
- [ ] in `tests/e2e/*.test.e2e.js` if it requires interactions with a live Forgejo server (see also the [developer guide for JavaScript testing](https://codeberg.org/forgejo/forgejo/src/branch/forgejo/tests/e2e/README.md#end-to-end-tests)).
### Documentation
- [ ] I created a pull request [to the documentation](https://codeberg.org/forgejo/docs) to explain to Forgejo users how to use this change.
- [x] I did not document these changes and I do not expect someone else to do it.
### Release notes
- [ ] I do not want this change to show in the release notes.
- [x] I want the title to show in the release notes with a link to this pull request.
- [ ] I want the content of the `release-notes/.md` to be be used for the release notes instead of the title.
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7005
Reviewed-by: Gusted
Co-authored-by: alberic89
Co-committed-by: alberic89
---
options/gitignore/Zig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/options/gitignore/Zig b/options/gitignore/Zig
index 236ae6be8c..748837a058 100644
--- a/options/gitignore/Zig
+++ b/options/gitignore/Zig
@@ -1,4 +1,4 @@
-zig-cache/
+.zig-cache/
zig-out/
build/
build-*/
From c7798bc657b4fe29983a1a4490aaec40e4c2e195 Mon Sep 17 00:00:00 2001
From: cuboid
Date: Fri, 21 Feb 2025 08:26:32 +0000
Subject: [PATCH 131/708] i18n: reword archive.title and archive.title.date in
english locale (#6928)
## Checklist
The [contributor guide](https://forgejo.org/docs/next/contributor/) contains information that will be helpful to first time contributors. There also are a few [conditions for merging Pull Requests in Forgejo repositories](https://codeberg.org/forgejo/governance/src/branch/main/PullRequestsAgreement.md). You are also welcome to join the [Forgejo development chatroom](https://matrix.to/#/#forgejo-development:matrix.org).
### Tests
- I added test coverage for Go changes...
- [ ] in their respective `*_test.go` for unit tests.
- [ ] in the `tests/integration` directory if it involves interactions with a live Forgejo server.
- I added test coverage for JavaScript changes...
- [ ] in `web_src/js/*.test.js` if it can be unit tested.
- [ ] in `tests/e2e/*.test.e2e.js` if it requires interactions with a live Forgejo server (see also the [developer guide for JavaScript testing](https://codeberg.org/forgejo/forgejo/src/branch/forgejo/tests/e2e/README.md#end-to-end-tests)).
### Documentation
- [ ] I created a pull request [to the documentation](https://codeberg.org/forgejo/docs) to explain to Forgejo users how to use this change.
- [ ] I did not document these changes and I do not expect someone else to do it.
### Release notes
- [ ] I do not want this change to show in the release notes.
- [ ] I want the title to show in the release notes with a link to this pull request.
- [ ] I want the content of the `release-notes/.md` to be be used for the release notes instead of the title.
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/6928
Reviewed-by: Gusted
Co-authored-by: cuboid
Co-committed-by: cuboid
---
options/locale/locale_en-US.ini | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini
index 4dbe128e3c..c46a409178 100644
--- a/options/locale/locale_en-US.ini
+++ b/options/locale/locale_en-US.ini
@@ -1190,8 +1190,8 @@ template.issue_labels = Issue labels
template.one_item = Must select at least one template item
template.invalid = Must select a template repository
-archive.title = This repository is archived. You can view files and clone it, but cannot push or open issues or pull requests.
-archive.title_date = This repository has been archived on %s. You can view files and clone it, but cannot push or open issues or pull requests.
+archive.title = This repository is archived. You can view files and clone it, but you cannot make any changes to the state of this repository, such as pushing and creating new issues, pull requests or comments.
+archive.title_date = This repository has been archived on %s. You can view files and clone it, but you cannot make any changes to the state of this repository, such as pushing and creating new issues, pull requests or comments.
archive.issue.nocomment = This repository is archived. You cannot comment on issues.
archive.pull.nocomment = This repository is archived. You cannot comment on pull requests.
archive.pull.noreview = This repository is archived. You cannot review pull requests.
From 3ba7445d81a4e950d533986f1bf2af0585443c74 Mon Sep 17 00:00:00 2001
From: Renovate Bot
Date: Fri, 21 Feb 2025 09:39:18 +0000
Subject: [PATCH 132/708] Update x/tools (forgejo) (#7017) Co-authored-by:
Renovate Bot Co-committed-by: Renovate
Bot
---
Makefile | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Makefile b/Makefile
index ed626d02fb..3966463dac 100644
--- a/Makefile
+++ b/Makefile
@@ -46,9 +46,9 @@ SWAGGER_PACKAGE ?= github.com/go-swagger/go-swagger/cmd/swagger@v0.31.0 # renova
XGO_PACKAGE ?= src.techknowlogick.com/xgo@latest
GO_LICENSES_PACKAGE ?= github.com/google/go-licenses@v1.6.0 # renovate: datasource=go
GOVULNCHECK_PACKAGE ?= golang.org/x/vuln/cmd/govulncheck@v1 # renovate: datasource=go
-DEADCODE_PACKAGE ?= golang.org/x/tools/cmd/deadcode@v0.29.0 # renovate: datasource=go
+DEADCODE_PACKAGE ?= golang.org/x/tools/cmd/deadcode@v0.30.0 # renovate: datasource=go
GOMOCK_PACKAGE ?= go.uber.org/mock/mockgen@v0.4.0 # renovate: datasource=go
-GOPLS_PACKAGE ?= golang.org/x/tools/gopls@v0.17.1 # renovate: datasource=go
+GOPLS_PACKAGE ?= golang.org/x/tools/gopls@v0.18.0 # renovate: datasource=go
RENOVATE_NPM_PACKAGE ?= renovate@39.171.2 # renovate: datasource=docker packageName=data.forgejo.org/renovate/renovate
# https://github.com/disposable-email-domains/disposable-email-domains/commits/main/
From f05b960494cdf434de7338dc3c831cfc8d45cea6 Mon Sep 17 00:00:00 2001
From: Sven Steinbauer
Date: Fri, 21 Feb 2025 14:09:21 +0000
Subject: [PATCH 133/708] Fix invalid swagger syntax of $ref with sibling
(#7019)
Ticket #5676 states that the output from `make generate-swagger` is not valid according to the current [OpenAPI specification](https://swagger.io/specification/#path-item-object). In future this [may change](https://swagger.io/specification/#reference-object) but currently this has the effect that the `description` field will be ignored. Removing the description from the type definition of the offending entry will fix the invalid output and have the same end result as before, as the description would have been ignored anyway.
## Checklist
### Tests
No changes to Go (except removal of comment) or Javascript code. Have added the `lint-swagger` task to the CI test run however.
### Documentation
- [ ] I created a pull request [to the documentation](https://codeberg.org/forgejo/docs) to explain to Forgejo users how to use this change.
- [x] I did not document these changes and I do not expect someone else to do it.
### Release notes
- [x] I do not want this change to show in the release notes.
- [ ] I want the title to show in the release notes with a link to this pull request.
- [ ] I want the content of the `release-notes/.md` to be be used for the release notes instead of the title.
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7019
Reviewed-by: Earl Warren
Co-authored-by: Sven Steinbauer
Co-committed-by: Sven Steinbauer
---
.forgejo/workflows/testing.yml | 2 +-
modules/structs/pull_review.go | 1 -
templates/swagger/v1_json.tmpl | 1 -
3 files changed, 1 insertion(+), 3 deletions(-)
diff --git a/.forgejo/workflows/testing.yml b/.forgejo/workflows/testing.yml
index 784bc45736..2e97b90c70 100644
--- a/.forgejo/workflows/testing.yml
+++ b/.forgejo/workflows/testing.yml
@@ -24,7 +24,7 @@ jobs:
- uses: https://data.forgejo.org/actions/checkout@v4
- uses: ./.forgejo/workflows-composite/setup-env
- run: su forgejo -c 'make deps-backend deps-tools'
- - run: su forgejo -c 'make --always-make -j$(nproc) lint-backend tidy-check swagger-check fmt-check swagger-validate' # ensure the "go-licenses" make target runs
+ - run: su forgejo -c 'make --always-make -j$(nproc) lint-backend tidy-check swagger-check lint-swagger fmt-check swagger-validate' # ensure the "go-licenses" make target runs
- uses: ./.forgejo/workflows-composite/build-backend
frontend-checks:
if: vars.ROLE == 'forgejo-coding' || vars.ROLE == 'forgejo-testing'
diff --git a/modules/structs/pull_review.go b/modules/structs/pull_review.go
index c77ebea07d..f89c1f2a63 100644
--- a/modules/structs/pull_review.go
+++ b/modules/structs/pull_review.go
@@ -89,7 +89,6 @@ type CreatePullReviewComment struct {
NewLineNum int64 `json:"new_position"`
}
-// CreatePullReviewCommentOptions are options to create a pull review comment
type CreatePullReviewCommentOptions CreatePullReviewComment
// SubmitPullReviewOptions are options to submit a pending pull review
diff --git a/templates/swagger/v1_json.tmpl b/templates/swagger/v1_json.tmpl
index cfe6ae7656..037ee48b8c 100644
--- a/templates/swagger/v1_json.tmpl
+++ b/templates/swagger/v1_json.tmpl
@@ -22411,7 +22411,6 @@
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
"CreatePullReviewCommentOptions": {
- "description": "CreatePullReviewCommentOptions are options to create a pull review comment",
"$ref": "#/definitions/CreatePullReviewComment"
},
"CreatePullReviewOptions": {
From 8c1e27cd76226dbc8cf057b0ca495ef1e377bc0b Mon Sep 17 00:00:00 2001
From: Earl Warren
Date: Fri, 21 Feb 2025 15:11:17 +0100
Subject: [PATCH 134/708] Update module github.com/meilisearch/meilisearch-go
to v0.31.0 (license update)
---
assets/go-licenses.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/assets/go-licenses.json b/assets/go-licenses.json
index 2c6bf78ec7..7d6f94d755 100644
--- a/assets/go-licenses.json
+++ b/assets/go-licenses.json
@@ -717,7 +717,7 @@
{
"name": "github.com/meilisearch/meilisearch-go",
"path": "github.com/meilisearch/meilisearch-go/LICENSE",
- "licenseText": "MIT License\n\nCopyright (c) 2020-2024 Meili SAS\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
+ "licenseText": "MIT License\n\nCopyright (c) 2020-2025 Meili SAS\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
},
{
"name": "github.com/mholt/acmez/v3",
From 75b9bd82e8a4fe4de0e04d3a236be4036750754e Mon Sep 17 00:00:00 2001
From: Codeberg Translate
Date: Sat, 22 Feb 2025 08:03:32 +0000
Subject: [PATCH 135/708] i18n: update of translations from Codeberg Translate
(#6936)
Co-authored-by: Fjuro
Co-authored-by: 0ko <0ko@users.noreply.translate.codeberg.org>
Co-authored-by: Laxystem
Co-authored-by: Dirk
Co-authored-by: SomeTr
Co-authored-by: Outbreak2096
Co-authored-by: Kita Ikuyo
Co-authored-by: otf31
Co-authored-by: Benedikt Straub
Co-authored-by: gedankenstuecke
Co-authored-by: Edgarsons
Co-authored-by: hugoalh
Co-authored-by: nykula
Co-authored-by: tacaly
Co-authored-by: Panagiotis \"Ivory\" Vasilopoulos
Co-authored-by: RealEnder
Co-authored-by: Gusted
Co-authored-by: Anonymous
Co-authored-by: IndieHum
Co-authored-by: amearb
Co-authored-by: be4zad
Co-authored-by: noiro
Co-authored-by: earl-warren
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/6936
Reviewed-by: Earl Warren
Co-authored-by: Codeberg Translate
Co-committed-by: Codeberg Translate
---
options/locale/locale_bg.ini | 4 +
options/locale/locale_cs-CZ.ini | 184 +++++++-------
options/locale/locale_da.ini | 3 +
options/locale/locale_de-DE.ini | 12 +-
options/locale/locale_el-GR.ini | 205 +++++++++-------
options/locale/locale_es-ES.ini | 1 +
options/locale/locale_fa-IR.ini | 36 ++-
options/locale/locale_fil.ini | 6 +-
options/locale/locale_fr-FR.ini | 3 +-
options/locale/locale_he.ini | 416 +++++++++++++++++++++++++++++++-
options/locale/locale_ko-KR.ini | 2 +-
options/locale/locale_lv-LV.ini | 156 ++++++------
options/locale/locale_nds.ini | 10 +-
options/locale/locale_nl-NL.ini | 2 +
options/locale/locale_pl-PL.ini | 4 +-
options/locale/locale_ru-RU.ini | 20 +-
options/locale/locale_uk-UA.ini | 78 +++++-
options/locale/locale_zh-CN.ini | 2 +
options/locale/locale_zh-TW.ini | 73 +++---
19 files changed, 886 insertions(+), 331 deletions(-)
diff --git a/options/locale/locale_bg.ini b/options/locale/locale_bg.ini
index 36c29f7bbd..6fc4b55eae 100644
--- a/options/locale/locale_bg.ini
+++ b/options/locale/locale_bg.ini
@@ -1777,6 +1777,9 @@ variables.deletion.failed = Неуспешно премахване на про
runners.task_list.repository = Хранилище
runners.description = Описание
runs.no_workflows.help_no_write_access = За да научите повече за Forgejo Actions, вижте документацията.
+variables.management = Управление на променливи
+variables.not_found = Променливата не е открита.
+variables.id_not_exist = Променлива с идентификатор %d не съществува.
[heatmap]
less = По-малко
@@ -1812,6 +1815,7 @@ code_frequency.what = честота на промените
[projects]
type-1.display_name = Индивидуален проект
+deleted.display_name = Изтрит проект
[search]
diff --git a/options/locale/locale_cs-CZ.ini b/options/locale/locale_cs-CZ.ini
index d8d90241d0..f4f1190948 100644
--- a/options/locale/locale_cs-CZ.ini
+++ b/options/locale/locale_cs-CZ.ini
@@ -220,7 +220,7 @@ network_error=Chyba sítě
server_internal = Interní chyba serveru
[startpage]
-app_desc=Bezproblémová samostatně hostovatelná služba Git
+app_desc=Jednoduchá, samostatně hostovatelná služba Git
install=Jednoduché na instalaci
install_desc=Jednoduše spusťte binární soubor pro vaši platformu, nasaďte jej pomocí Dockeru nebo si jej stáhněte jako balíček.
platform=Multiplatformní
@@ -652,8 +652,8 @@ cannot_add_org_to_team=Organizace nemůže být přidána jako člen týmu.
duplicate_invite_to_team=Uživatel byl již pozván jako člen týmu.
organization_leave_success=Úspěšně jste opustili organizaci %s.
-invalid_ssh_key=Nelze ověřit váš SSH klíč: %s
-invalid_gpg_key=Nelze ověřit váš GPG klíč: %s
+invalid_ssh_key=Nepodařilo se ověřit váš klíč SSH: %s
+invalid_gpg_key=Nepodařilo se ověřit váš klíč GPG: %s
invalid_ssh_principal=Neplatný SSH Principal certifikát: %s
must_use_public_key=Zadaný klíč je soukromý klíč. Nenahrávejte svůj soukromý klíč nikde. Místo toho použijte váš veřejný klíč.
unable_verify_ssh_key=Nepodařilo se ověřit klíč SSH, zkontrolujte, zda neobsahuje chyby.
@@ -694,7 +694,7 @@ watched=Sledované repozitáře
code=Kód
projects=Projekty
overview=Přehled
-following_few=%d sledovaní
+following_few=%d sledovaných
follow=Sledovat
unfollow=Přestat sledovat
user_bio=Životopis
@@ -716,7 +716,7 @@ follow_blocked_user = Tohoto uživatele nemůžete sledovat, protože jste si je
block = Zablokovat
unblock = Odblokovat
followers_one = %d sledující
-following_one = %d následuje
+following_one = %d sledovaný
followers.title.one = Sledující
followers.title.few = Sledující
following.title.one = Sleduje
@@ -857,51 +857,51 @@ add_new_gpg_key=Přidat klíč GPG
key_content_ssh_placeholder=Začíná s „ssh-ed25519“, „ssh-rsa“, „ecdsa-sha2-nistp256“, „ecdsa-sha2-nistp384“, „ecdsa-sha2-nistp521“, „sk-ecdsa-sha2-nistp256@openssh.com“ nebo „sk-ssh-ed25519@openssh.com“
key_content_gpg_placeholder=Začíná s „-----BEGIN PGP PUBLIC KEY BLOCK-----“
add_new_principal=Přidat principal
-ssh_key_been_used=Tento SSH klíč byl na server již přidán.
-ssh_key_name_used=SSH klíč se stejným jménem již u vašeho účtu existuje.
+ssh_key_been_used=Tento klíč SSH byl na server již přidán.
+ssh_key_name_used=U vašeho účtu již existuje klíč SSH se stejným názvem.
ssh_principal_been_used=Tento SSH Principal certifikát již byl přidán na server.
-gpg_key_id_used=Veřejný GPG klíč se stejným ID již existuje.
-gpg_no_key_email_found=Tento GPG klíč neodpovídá žádné aktivované e-mailové adrese spojené s vaším účtem. Může být stále přidán, pokud podepíšete zadaný token.
+gpg_key_id_used=Veřejný klíč GPG se stejným ID již existuje.
+gpg_no_key_email_found=Tento klíč GPG neodpovídá žádné aktivované e-mailové adrese spojené s vaším účtem. Může být stále přidán, pokud podepíšete zadaný token.
gpg_key_matched_identities=Odpovídající identity:
gpg_key_matched_identities_long=Vložené identity v tomto klíči odpovídají následujícím aktivovaným e-mailovým adresám tohoto uživatele. Revize odpovídající těmto e-mailovým adresám lze ověřit pomocí tohoto klíče.
gpg_key_verified=Ověřený klíč
gpg_key_verified_long=Klíč byl ověřen pomocí tokenu a může být použit k ověření revizí shodujících se s libovolnou aktivovanou e-mailovou adresou pro tohoto uživatele navíc k jakékoli odpovídající identitě tohoto klíče.
gpg_key_verify=Ověřit
-gpg_invalid_token_signature=Zadaný GPG klíč, podpis a token se neshodují nebo je token zastaralý.
+gpg_invalid_token_signature=Zadaný klíč GPG, podpis a token se neshodují nebo je token zastaralý.
gpg_token_required=Musíte zadat podpis pro níže uvedený token
gpg_token=Token
gpg_token_help=Podpis můžete vygenerovat pomocí:
gpg_token_code=echo "%s" | gpg -a --default-key %s --detach-sig
gpg_token_signature=Zakódovaný podpis GPG
key_signature_gpg_placeholder=Začíná textem „-----BEGIN PGP SIGNATURE-----“
-verify_gpg_key_success=GPG klíč „%s“ byl ověřen.
+verify_gpg_key_success=Klíč GPG „%s“ byl ověřen.
ssh_key_verified=Ověřený klíč
ssh_key_verified_long=Klíč byl ověřen pomocí tokenu a může být použit k ověření revizí shodujících se s libovolnou vaší aktivovanou e-mailovou adresou pro tohoto uživatele.
ssh_key_verify=Ověřit
-ssh_invalid_token_signature=Zadaný SSH klíč, podpis nebo token se neshodují nebo je token zastaralý.
+ssh_invalid_token_signature=Zadaný klíč SSH, podpis nebo token se neshodují nebo je token zastaralý.
ssh_token_required=Musíte zadat podpis pro níže uvedený token
ssh_token=Token
ssh_token_help=Podpis můžete vygenerovat pomocí:
ssh_token_signature=Zakódovaný podpis SSH
key_signature_ssh_placeholder=Začíná s „-----BEGIN SSH SIGNATURE-----“
-verify_ssh_key_success=SSH klíč „%s“ byl ověřen.
+verify_ssh_key_success=Klíč SSH „%s“ byl ověřen.
subkeys=Podklíče
key_id=ID klíče
key_name=Název klíče
key_content=Obsah
principal_content=Obsah
add_key_success=SSH klíč „%s“ byl přidán.
-add_gpg_key_success=GPG klíč „%s“ byl přidán.
+add_gpg_key_success=Klíč GPG „%s“ byl přidán.
add_principal_success=Byl přidán SSH Principal certifikát „%s“.
delete_key=Odstranit
-ssh_key_deletion=Odebrat klíč SSH
-gpg_key_deletion=Odebrat klíč GPG
+ssh_key_deletion=Odstranit klíč SSH
+gpg_key_deletion=Odstranit klíč GPG
ssh_principal_deletion=Odstranit SSH Principal certifikát
-ssh_key_deletion_desc=Odstranění SSH klíče zruší jeho přístup k vašemu účtu. Pokračovat?
+ssh_key_deletion_desc=Odstranění klíče SSH zruší jeho přístup k vašemu účtu. Pokračovat?
gpg_key_deletion_desc=Odstraněním klíče GPG zneplatníte ověření revizí, které jsou jím podepsány. Pokračovat?
ssh_principal_deletion_desc=Odstranění SSH Principal certifikátu zruší jeho přístup k vašemu účtu. Pokračovat?
-ssh_key_deletion_success=SSH klíč byl odstraněn.
-gpg_key_deletion_success=GPG klíč byl odstraněn.
+ssh_key_deletion_success=Klíč SSH byl odstraněn.
+gpg_key_deletion_success=Klíč GPG byl odstraněn.
ssh_principal_deletion_success=SSH Principal certifikát byl odstraněn.
added_on=Přidáno %s
valid_until_date=Platné do %s
@@ -916,8 +916,8 @@ principal_state_desc=Tento SSH Principal certifikát byl použit během posledn
show_openid=Zobrazit na profilu
hide_openid=Odstranit z profilu
ssh_disabled=SSH je zakázáno
-ssh_signonly=SSH je v současné době zakázáno, proto jsou tyto klíče použity pouze pro ověření podpisu revizí.
-ssh_externally_managed=Tento SSH klíč je spravován externě pro tohoto uživatele
+ssh_signonly=SSH je aktuálně zakázáno, proto jsou tyto klíče použity pouze pro ověření podpisu revizí.
+ssh_externally_managed=Tento klíč SSH je pro tohoto uživatele spravován externě
manage_social=Správa propojených účtů sociálních sítí
social_desc=Tyto účty sociálních sítí lze použít k přihlášení k vašemu účtu. Ujistěte se, že jsou všechny vaše.
unbind=Odpojit
@@ -928,7 +928,7 @@ generate_new_token=Vygenerovat nový token
tokens_desc=Tyto tokeny umožňují přístup k vašemu účtu pomocí Forgejo API.
token_name=Název tokenu
generate_token=Vygenerovat token
-generate_token_success=Váš nový token byl vytvořen. Zkopírujte jej nyní protože se již znovu nezobrazí.
+generate_token_success=Nový token byl vygenerován. Zkopírujte jej nyní, jelikož již nebude znovu zobrazen.
generate_token_name_duplicate=%s byl již použit jako název aplikace. Použijte prosím nový.
delete_token=Smazat
access_token_deletion=Odstranit přístupový token
@@ -999,7 +999,7 @@ twofa_failed_get_secret=Nepodařilo se získat tajemství.
webauthn_desc=Bezpečnostní klíče jsou hardwarová zařízení obsahující kryptografické klíče. Mohou být použity pro dvoufázové ověření. Bezpečnostní klíče musí podporovat standard WebAuthn Authenticator.
webauthn_register_key=Přidat bezpečnostní klíč
webauthn_nickname=Přezdívka
-webauthn_delete_key=Odebrat bezpečnostní klíč
+webauthn_delete_key=Odstranit bezpečnostní klíč
webauthn_delete_key_desc=Pokud odstraníte bezpečnostní klíč, již se s ním nebudete moci přihlásit. Pokračovat?
webauthn_key_loss_warning=Pokud ztratíte své bezpečnostní klíče, ztratíte přístup k vašemu účtu.
webauthn_alternative_tip=Možná budete chtít nakonfigurovat další metodu ověřování.
@@ -1060,6 +1060,8 @@ user_block_yourself = Nemůžete zablokovat sami sebe.
pronouns_custom_label = Vlastní zájmena
change_username_redirect_prompt.with_cooldown.few = Staré uživatelské jméno bude dostupné ostatním po %[1]d dnech. Do té doby budete moci své staré uživatelské jméno znovu získat.
change_username_redirect_prompt.with_cooldown.one = Staré uživatelské jméno bude dostupné ostatním po %[1]d dni. Do té doby budete moci své staré uživatelské jméno znovu získat.
+keep_pronouns_private = Zobrazovat zájmena pouze přihlášeným uživatelům
+keep_pronouns_private.description = Toto nastavení skryje vaše zájmena před návštěvníky, kteří nejsou přihlášeni.
[repo]
new_repo_helper=Repozitář obsahuje všechny soubory projektu, včetně historie revizí. Už jej hostujete jinde? Migrovat repozitář.
@@ -1183,8 +1185,8 @@ template.issue_labels=Štítky problémů
template.one_item=Musíte vybrat alespoň jednu položku šablony
template.invalid=Musíte vybrat repositář šablony
-archive.title=Tento repozitář je archivovaný. Můžete prohlížet soubory, klonovat, ale nemůžete nahrávat a vytvářet nové problémy nebo žádosti o sloučení.
-archive.title_date=Tento repozitář byl archivován %s. Můžete si prohlížet a klonovat soubory, ale nemůžete nahrávat ani otevírat problémy nebo žádosti o sloučení.
+archive.title=Tento repozitář je archivovaný. Můžete prohlížet soubory, klonovat, ale nemůžete provádět žádné změny jeho stavu, jako nahrávání a vytváření nových problémů, žádostí nebo komentářů.
+archive.title_date=Tento repozitář byl archivován %s. Můžete prohlížet soubory, klonovat, ale nemůžete provádět žádné změny jeho stavu, jako nahrávání a vytváření nových problémů, žádostí nebo komentářů.
archive.issue.nocomment=Tento repozitář je archivovaný. Nemůžete komentovat problémy.
archive.pull.nocomment=Tento repozitář je archivovaný. Nemůžete komentovat žádosti o sloučení.
@@ -1197,7 +1199,7 @@ need_auth=Ověření
migrate_options=Možnosti migrace
migrate_service=Migrační služba
migrate_options_mirror_helper=Tento repozitář bude zrcadlem
-migrate_options_lfs=Migrovat LFS soubory
+migrate_options_lfs=Migrovat soubory LFS
migrate_options_lfs_endpoint.label=Endpoint LFS
migrate_options_lfs_endpoint.description=Migrace se pokusí použít váš vzdálený Git pro určení LFS serveru. Můžete také zadat vlastní koncový bod, pokud jsou data LFS repozitáře uložena někde jinde.
migrate_options_lfs_endpoint.description.local=Podporována je také cesta k lokálnímu serveru.
@@ -1247,7 +1249,7 @@ migrate.cancel_migrating_title=Zrušit migraci
migrate.cancel_migrating_confirm=Chcete zrušit tuto migraci?
mirror_from=zrcadlo
-forked_from=rozštěpen z
+forked_from=forknuto z
generated_from=generováno z
fork_from_self=Nemůžete vytvořit fork vašeho vlastního repozitáře.
fork_guest_user=Přihlaste se pro vytvoření forku tohoto repozitáře.
@@ -1294,7 +1296,7 @@ commit=Revize
release=Vydání
releases=Vydání
tag=Značka
-released_this=vydal/a toto
+released_this=vytvořil/a toto vydání
tagged_this=označil/a
file.title=%s v %s
file_raw=Nezpracovaný
@@ -1343,7 +1345,7 @@ editor.new_file=Nový soubor
editor.upload_file=Nahrát soubor
editor.edit_file=Upravit soubor
editor.preview_changes=Náhled změn
-editor.cannot_edit_lfs_files=LFS soubory nemohou být upravovány přes webové rozhraní.
+editor.cannot_edit_lfs_files=Soubory LFS nemohou být upravovány přes webové rozhraní.
editor.cannot_edit_non_text_files=Binární soubory nemohou být upravovány přes webové rozhraní.
editor.edit_this_file=Upravit soubor
editor.this_file_locked=Soubor je uzamčen
@@ -1539,7 +1541,7 @@ issues.remove_milestone_at=`odstranil/a toto z milníku %s %s`
issues.remove_project_at=`odstranil/a toto z projektu %s %s`
issues.deleted_milestone=`(odstraněno)`
issues.deleted_project=`(odstraněno)`
-issues.self_assign_at=`přiřadil/a sobě toto %s`
+issues.self_assign_at=`přiřadil/a sobě tento problém %s`
issues.add_assignee_at=`byl přiřazen %s %s`
issues.remove_assignee_at=`byl odstraněn z přiřazení %s %s`
issues.remove_self_assignment=`odstranil/a jejich přiřazení %s`
@@ -1832,7 +1834,7 @@ pulls.viewed_files_label=%[1]d / %[2]d souborů zobrazeno
pulls.expand_files=Rozbalit všechny soubory
pulls.collapse_files=Sbalit všechny soubory
pulls.compare_base=sloučit do
-pulls.compare_compare=natáhnout z
+pulls.compare_compare=sloučit z
pulls.switch_comparison_type=Přepnout typ porovnání
pulls.switch_head_and_base=Prohodit hlavní a základní větev
pulls.filter_branch=Filtrovat větev
@@ -1901,7 +1903,7 @@ pulls.no_merge_wip=Tato žádost nemůže být sloučena, protože je označena
pulls.no_merge_not_ready=Tento žádost není připravena na sloučení, zkontrolujte stav posouzení a kontroly stavu.
pulls.no_merge_access=Nemáte oprávnění sloučit tuto žádost.
pulls.merge_pull_request=Vytvořit slučovací revizi
-pulls.rebase_merge_pull_request=Rebase pak fast-forward
+pulls.rebase_merge_pull_request=Provést rebase a poté provést fast-forward
pulls.rebase_merge_commit_pull_request=Provést rebase a poté vytvořit slučovací revizi
pulls.squash_merge_pull_request=Vytvořit squash revizi
pulls.merge_manually=Sloučeno ručně
@@ -2010,7 +2012,7 @@ ext_wiki=Externí wiki
ext_wiki.desc=Odkaz do externí Wiki.
wiki=Wiki
-wiki.welcome=Vítejte ve Wiki.
+wiki.welcome=Vítejte ve wiki.
wiki.welcome_desc=Wiki vám umožní psát a sdílet dokumentaci se spolupracovníky.
wiki.desc=Pište a sdílejte dokumentaci se spolupracovníky.
wiki.create_first_page=Vytvořte první stránku
@@ -2022,18 +2024,18 @@ wiki.page_content=Obsah stránky
wiki.default_commit_message=Napište poznámku k této aktualizaci stránky (nepovinné).
wiki.save_page=Uložit stránku
wiki.last_commit_info=Uživatel %s upravil tuto stránku %s
-wiki.edit_page_button=Změnit stránku
+wiki.edit_page_button=Upravit
wiki.new_page_button=Nová stránka
wiki.file_revision=Revize stránky
wiki.wiki_page_revisions=Revize stránky
-wiki.back_to_wiki=Zpět na wiki stránku
+wiki.back_to_wiki=Zpět na stránku wiki
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?
-wiki.page_already_exists=Stránka Wiki se stejným názvem již existuje.
-wiki.reserved_page=Jméno Wiki stránky „%s“ je rezervováno.
+wiki.delete_page_notice_1=Odstranění stránky wiki „%s“ je nevratné. Pokračovat?
+wiki.page_already_exists=Stránka wiki se stejným názvem již existuje.
+wiki.reserved_page=Název stránky wiki „%s“ je rezervován.
wiki.pages=Stránky
wiki.last_updated=Naposledy aktualizováno: %s
-wiki.page_name_desc=Zadejte název této Wiki stránky. Některé speciální názvy jsou: „Home“, „_Sidebar“ a „_Footer“.
+wiki.page_name_desc=Zadejte název této stránky wiki. Některé speciální názvy jsou: „Home“, „_Sidebar“ a „_Footer“.
wiki.original_git_entry_tooltip=Zobrazit originální Git soubor namísto použití přátelského odkazu.
activity=Aktivita
@@ -2051,9 +2053,9 @@ activity.active_prs_count_n=%d aktivních žádostí o sloučen
activity.merged_prs_count_1=Sloučená žádost
activity.merged_prs_count_n=Sloučené žádosti
activity.opened_prs_count_1=Navrhovaná žádost o sloučení
-activity.opened_prs_count_n=Navrhované žádosti o sloučení
-activity.title.user_1=%d uživatel
-activity.title.user_n=%d uživatelů
+activity.opened_prs_count_n=Navržené žádosti o sloučení
+activity.title.user_1=%d uživatelem
+activity.title.user_n=%d uživateli
activity.title.prs_1=%d žádost o sloučení
activity.title.prs_n=%d žádostí o sloučení
activity.title.prs_merged_by=%s sloučil %s
@@ -2078,23 +2080,23 @@ activity.unresolved_conv_desc=Tyto nedávno změněné problémy a žádosti o s
activity.unresolved_conv_label=Otevřít
activity.title.releases_1=%d vydání
activity.title.releases_n=%d vydání
-activity.title.releases_published_by=%s publikoval %s
+activity.title.releases_published_by=%s zveřejněno %s
activity.published_release_label=Vydání
activity.no_git_activity=V tomto období nebyla žádná aktivita přispěvatelů.
-activity.git_stats_exclude_merges=Při vyloučení slučování,
+activity.git_stats_exclude_merges=S výjimkou slučování
activity.git_stats_author_1=%d autor
-activity.git_stats_author_n=%d autoři
+activity.git_stats_author_n=%d autorů
activity.git_stats_pushed_1=nahrál
-activity.git_stats_pushed_n=nahrály
+activity.git_stats_pushed_n=nahrálo
activity.git_stats_commit_1=%d revize
activity.git_stats_commit_n=%d revizí
-activity.git_stats_push_to_branch=do %s a
+activity.git_stats_push_to_branch=do větve %s a
activity.git_stats_push_to_all_branches=do všech větví.
-activity.git_stats_on_default_branch=Na %s,
+activity.git_stats_on_default_branch=Větev %s:
activity.git_stats_file_1=%d soubor
-activity.git_stats_file_n=%d soubory
-activity.git_stats_files_changed_1=se změnil
-activity.git_stats_files_changed_n=se změnily
+activity.git_stats_file_n=%d souborů
+activity.git_stats_files_changed_1=byl změněn
+activity.git_stats_files_changed_n=bylo změněno
activity.git_stats_additions=a bylo zde
activity.git_stats_addition_1=%d přidání
activity.git_stats_addition_n=%d přidání
@@ -2102,7 +2104,7 @@ activity.git_stats_and_deletions=a
activity.git_stats_deletion_1=%d odebrání
activity.git_stats_deletion_n=%d odebrání
-contributors.contribution_type.filter_label = Typ přispění:
+contributors.contribution_type.filter_label = Typ příspěvku:
contributors.contribution_type.commits=Revize
search=Vyhledat
@@ -2139,7 +2141,7 @@ settings.mirror_settings.docs.doc_link_title=Jak mohu zrcadlit repozitáře?
settings.mirror_settings.docs.pulling_remote_title=Stahování ze vzdáleného repozitáře
settings.mirror_settings.mirrored_repository=Zrcadlený repozitář
settings.mirror_settings.direction=Směr
-settings.mirror_settings.direction.pull=Natáhnout
+settings.mirror_settings.direction.pull=Sloučit
settings.mirror_settings.direction.push=Nahrát
settings.mirror_settings.last_update=Poslední aktualizace
settings.mirror_settings.push_mirror.none=Nenastavena žádná zrcadla pro nahrání
@@ -2159,17 +2161,17 @@ settings.wiki_desc=Povolit wiki repozitáře
settings.use_internal_wiki=Používat vestavěnou wiki
settings.use_external_wiki=Použít externí wiki
settings.external_wiki_url=Adresa URL externí wiki
-settings.external_wiki_url_error=URL externí wiki platné URL.
-settings.external_wiki_url_desc=Když návštěvníci kliknou na záložku Wiki, jsou přesměrování na URL externí Wiki.
-settings.issues_desc=Povolit systém problémů repozitáře
-settings.use_internal_issue_tracker=Použít vestavěný systém problémů
-settings.use_external_issue_tracker=Použít externí systém problémů
-settings.external_tracker_url=Adresa URL externího systému problémů
-settings.external_tracker_url_error=Adresa URL externího systému problémů není platnou adresou URL.
-settings.external_tracker_url_desc=Pokud návštěvníci kliknou na záložku problémů, budou přesměrování na externí systém problémů.
-settings.tracker_url_format=Formát adresy URL externího systému problémů
-settings.tracker_url_format_error=Formát adresy URL externího systému problémů není platná adresa URL.
-settings.tracker_issue_style=Formát čísel externího systému problémů
+settings.external_wiki_url_error=Adresa externí wiki není platná adresa URL.
+settings.external_wiki_url_desc=Když návštěvníci kliknou na záložku wiki, budou přesměrováni na adresu externí wiki.
+settings.issues_desc=Povolit systém sledování problémů repozitáře
+settings.use_internal_issue_tracker=Použít vestavěný systém sledování problémů
+settings.use_external_issue_tracker=Použít externí systém sledování problémů
+settings.external_tracker_url=Adresa URL externího systému sledování problémů
+settings.external_tracker_url_error=Adresa URL externího systému sledování problémů není platnou adresou URL.
+settings.external_tracker_url_desc=Pokud návštěvníci kliknou na záložku problémů, budou přesměrování na externí systém sledování problémů.
+settings.tracker_url_format=Formát adresy URL externího systému sledování problémů
+settings.tracker_url_format_error=Formát adresy URL externího systému sledování problémů není platná adresa URL.
+settings.tracker_issue_style=Formát čísel externího systému sledování problémů
settings.tracker_issue_style.numeric=Číselný
settings.tracker_issue_style.alphanumeric=Alfanumerický
settings.tracker_issue_style.regexp=Regulární výraz
@@ -2180,9 +2182,9 @@ settings.enable_timetracker=Povolit sledování času
settings.allow_only_contributors_to_track_time=Povolit sledování času pouze přispěvatelům
settings.pulls_desc=Povolit žádosti o sloučení
settings.pulls.ignore_whitespace=Ignorovat bílé znaky při konfliktech
-settings.pulls.enable_autodetect_manual_merge=Povolit autodetekci ručních sloučení (Poznámka: V některých zvláštních případech může dojít k nesprávnému rozhodnutí)
-settings.pulls.allow_rebase_update=Povolit aktualizaci větve požadavku na natažení pomocí rebase
-settings.pulls.default_delete_branch_after_merge=Ve výchozím nastavení mazat větev požadavku na natažení po jeho sloučení
+settings.pulls.enable_autodetect_manual_merge=Povolit automatickou detekci ručních sloučení (upozornění: v některých zvláštních případech může dojít k nesprávnému rozhodnutí)
+settings.pulls.allow_rebase_update=Povolit aktualizaci větve žádosti o sloučení pomocí rebase
+settings.pulls.default_delete_branch_after_merge=Ve výchozím nastavení odstranit větev žádosti o sloučení po jejím sloučení
settings.pulls.default_allow_edits_from_maintainers=Ve výchozím nastavení povolit úpravy od správců
settings.releases_desc=Povolit vydání v repozitáři
settings.packages_desc=Povolit registr balíčků repozitáře
@@ -2239,14 +2241,14 @@ 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í Forgejo, aby bylo označeno jako autor podepsaných revizí se skutečným přispěvatelem označeným jako Co-Authored-By: a Co-Committed-By: na konci revize. Výchozí klíč Forgejo musí odpovídat uživateli v databázi.
settings.wiki_delete=Odstranit data wiki
-settings.wiki_delete_desc=Smazání Wiki dat repozitáře je trvalé a nemůže být vráceno zpět.
+settings.wiki_delete_desc=Smazání dat wiki repozitáře je trvalé a je nevratné.
settings.wiki_delete_notices_1=- Natrvalo odstraní a zakáže wiki repozitáře pro %s.
settings.confirm_wiki_delete=Odstranit data wiki
-settings.wiki_deletion_success=Wiki data repozitáře byla odstraněna.
+settings.wiki_deletion_success=Data wiki repozitáře byla odstraněna.
settings.delete=Odstranit tento repozitář
settings.delete_desc=Smazání repozitáře je trvalé a nemůže být vráceno zpět.
-settings.delete_notices_1=- Tuto operaci nelze zvrátit.
-settings.delete_notices_2=- Tato operace trvale smaže repozitář %s včetně kódu, problémů, komentářů, dat wiki a nastavení spolupracovníků.
+settings.delete_notices_1=- Tato operace je NEVRATNÁ.
+settings.delete_notices_2=- Tato operace trvale odstraní repozitář %s včetně kódu, problémů, komentářů, dat wiki a nastavení spolupracovníků.
settings.delete_notices_fork_1=- Fork tohoto repozitáře bude po smazání nezávislý.
settings.deletion_success=Repozitář byl odstraněn.
settings.update_settings_success=Nastavení repozitáře bylo aktualizováno.
@@ -2317,7 +2319,7 @@ settings.event_delete_desc=Větev nebo značka smazána.
settings.event_fork=Fork
settings.event_fork_desc=Repozitář rozštěpen.
settings.event_wiki=Wiki
-settings.event_wiki_desc=Wiki stránka vytvořena, přejmenována nebo smazána.
+settings.event_wiki_desc=Stránka wiki vytvořena, přejmenována nebo smazána.
settings.event_release=Vydání
settings.event_release_desc=Vydání v tomto repozitáři bylo publikováno, aktualizováno nebo smazáno.
settings.event_push=Nahrát
@@ -2391,7 +2393,7 @@ settings.add_deploy_key=Přidat klíč pro nasazení
settings.deploy_key_desc=Klíče pro nasazení mají k tomuto repozitáři přístup pouze pro čtení.
settings.is_writable=Povolit zápis
settings.is_writable_info=Povolit tomuto klíči pro nasazení nahrávání do tohoto repozitáře.
-settings.no_deploy_keys=Dosud nejsou žádné klíče pro nasazení.
+settings.no_deploy_keys=Zatím nebyly vytvořeny žádné klíče pro nasazení.
settings.title=Název
settings.deploy_key_content=Obsah
settings.key_been_used=Klíč pro nasazení se stejným obsahem je již používán.
@@ -2464,7 +2466,7 @@ settings.block_on_official_review_requests_desc=Slučování nebude možné, pok
settings.block_outdated_branch=Blokovat sloučení, pokud je požadavek na natažení zastaralý
settings.block_outdated_branch_desc=Slučování nebude možné, pokud je hlavní větev za základní větví.
settings.default_branch_desc=Vybrat výchozí větev repozitáře pro žádosti o sloučení a příspěvky kódu:
-settings.merge_style_desc=Sloučit styly
+settings.merge_style_desc=Styly slučování
settings.default_merge_style_desc=Výchozí styl sloučení
settings.choose_branch=Vyberte větev…
settings.no_protected_branch=Nemáte žádné chráněné větve.
@@ -2480,7 +2482,7 @@ settings.tags.protection.allowed.users=Povolení uživatelé
settings.tags.protection.allowed.teams=Povolené týmy
settings.tags.protection.allowed.noone=Nikdo
settings.tags.protection.create=Přidat pravidlo
-settings.tags.protection.none=Neexistují žádné chráněné značky.
+settings.tags.protection.none=Nebyly vytvořeny žádné chráněné značky.
settings.tags.protection.pattern.description=Můžete použít jediné jméno nebo vzor glob nebo regulární výraz, který bude odpovídat více značek. Přečtěte si více v průvodci chráněnými značkami.
settings.bot_token=Token bota
settings.chat_id=ID chatu
@@ -2503,8 +2505,8 @@ settings.unarchive.success=Repozitář byl úspěšně obnoven.
settings.unarchive.error=Nastala chyba při obnovování repozitáře. Prohlédněte si záznam pro více detailů.
settings.update_avatar_success=Avatar repozitáře byl aktualizován.
settings.lfs=LFS
-settings.lfs_filelist=LFS soubory uložené v tomto repozitáři
-settings.lfs_no_lfs_files=V tomto repozitáři nejsou uloženy žádné LFS soubory
+settings.lfs_filelist=Soubory LFS uložené v tomto repozitáři
+settings.lfs_no_lfs_files=V tomto repozitáři nejsou uloženy žádné soubory LFS
settings.lfs_findcommits=Najít revize
settings.lfs_lfs_file_no_commits=Pro tento soubor LFS nebyly nalezeny žádné revize
settings.lfs_noattribute=Tato cesta nemá uzamykatelný atribut ve výchozí větvi
@@ -2550,7 +2552,7 @@ diff.whitespace_show_everything=Zobrazit všechny změny
diff.whitespace_ignore_all_whitespace=Ignorovat bílé znaky při porovnávání řádků
diff.whitespace_ignore_amount_changes=Ignorovat změny v množství bílých znaků
diff.whitespace_ignore_at_eol=Ignorovat změny v bílých znacích na konci řídku
-diff.stats_desc= %d změnil soubory, kde provedl %d přidání a %d odebrání
+diff.stats_desc= %d změněných souborů, kde bylo provedeno %d přidání a %d odebrání
diff.stats_desc_file=%d změn: %d přidání a %d smazání
diff.bin=binární
diff.bin_not_shown=Binární soubor nebyl zobrazen.
@@ -2694,7 +2696,7 @@ error.csv.too_large=Tento soubor nelze vykreslit, protože je příliš velký.
error.csv.unexpected=Tento soubor nelze vykreslit, protože obsahuje neočekávaný znak na řádku %d ve sloupci %d.
error.csv.invalid_field_count=Soubor nelze vykreslit, protože má nesprávný počet polí na řádku %d.
pulls.made_using_agit = AGit
-settings.confirm_wiki_branch_rename = Přejmenovat větev Wiki
+settings.confirm_wiki_branch_rename = Přejmenovat větev wiki
issues.comment.blocked_by_user = U tohoto problému nemůžete vytvořit komentář, protože jste byl/a zablokován/a majitelem repozitáře nebo autorem problému.
contributors.contribution_type.additions = Přidání
admin.manage_flags = Spravovat vlajky
@@ -2706,7 +2708,7 @@ pulls.cmd_instruction_checkout_title = Kontrola
settings.mirror_settings.docs.disabled_push_mirror.info = Push zrcadla byla zakázána administrátorem vašeho webu.
clone_in_vscodium = Klonovat do VSCodium
settings.wiki_rename_branch_main_notices_1 = Tato operace je NEVRATNÁ.
-settings.wiki_branch_rename_success = Název větve Wiki repozitáře byl úspěšně normalizován.
+settings.wiki_branch_rename_success = Název větve wiki repozitáře byl úspěšně normalizován.
rss.must_be_on_branch = Abyste mohli mít zdroj RSS, musíte se nacházet ve větvi.
issues.blocked_by_user = V tomto repozitáři nemůžete vytvořit problém, protože jste byl/a jeho majitelem zablokován/a.
migrate.forgejo.description = Migrovat data z codeberg.org nebo jiných instancí Forgejo.
@@ -2723,14 +2725,14 @@ pulls.clear_merge_message_hint = Vymazáním zprávy o sloučení pouze odstran
pulls.agit_explanation = Vytvořeno pomocí workflow AGit. AGit umožňuje přispěvatelům navrhovat změny pomocí „git push“ bez vytváření forku nebo nové větve.
contributors.contribution_type.deletions = Odstranění
settings.pull_mirror_sync_in_progress = Probíhá načítání změn ze vzdáleného %s.
-settings.enter_repo_name = Zadejte majitele a repozitář přesně tak, jak je vidíte níže:
+settings.enter_repo_name = Zadejte jméno majitele a repozitáře přesně tak, jak je vidíte:
settings.mirror_settings.docs.disabled_push_mirror.pull_mirror_warning = Tuto akci lze v současné chvíli provést pouze v nabídce „Nová migrace“. Pro více informací viz:
settings.new_owner_blocked_doer = Nový majitel vás zablokoval.
settings.mirror_settings.pushed_repository = Odeslaný repozitář
settings.add_collaborator_blocked_our = Nepodařilo se přidat spolupracovníka, jelikož byl zablokován majitelem repozitáře.
pulls.commit_ref_at = `se odkázal/a na tuto žádost o sloučení z revize %[2]s`
-settings.wiki_rename_branch_main = Normalizovat název větve Wiki
-settings.wiki_rename_branch_main_desc = Přejmenovat větev interně používanou pro Wiki na „%s“. Tato změna je trvalá a nelze ji vrátit.
+settings.wiki_rename_branch_main = Normalizovat název větve wiki
+settings.wiki_rename_branch_main_desc = Přejmenovat větev interně používanou pro wiki na „%s“. Tato změna je trvalá a nelze ji vrátit.
pulls.fast_forward_only_merge_pull_request = Pouze zrychlené
pulls.reopen_failed.head_branch = Tuto žádost o sloučení nelze znovu otevřít, protože hlavní větev již neexistuje.
pulls.reopen_failed.base_branch = Tuto žádost o sloučení nelze znovu otevřít, protože základní větev již neexistuje.
@@ -2745,9 +2747,9 @@ settings.units.overview = Přehled
settings.units.add_more = Povolit další
settings.push_mirror_sync_in_progress = Probíhá odesílání změn na vzdálený %s.
settings.wiki_globally_editable = Umožnit komukoli editovat wiki
-settings.confirmation_string = Potvrzovací řetězec
+settings.confirmation_string = Potvrzení
settings.wiki_rename_branch_main_notices_2 = Touto akcí trvale přejmenujete interní větev wiki repozitáře %s. Existující kontroly budou muset být aktualizovány.
-settings.wiki_branch_rename_failure = Nepodařilo se normalizovat název větve Wiki repozitáře.
+settings.wiki_branch_rename_failure = Nepodařilo se normalizovat název větve wiki repozitáře.
settings.add_collaborator_blocked_them = Nepodařilo se přidat spolupracovníka, jelikož má zablokovaného majitele repozitáře.
settings.ignore_stale_approvals = Ignorovat zastaralá schválení
settings.event_pull_request_merge = Sloučení žádosti o sloučení
@@ -2882,7 +2884,7 @@ component_failed_to_load = Došlo k neočekávané chybě.
code_frequency.what = frekvence kódu
contributors.what = příspěvky
recent_commits.what = nedávné revize
-component_loading = Načítání %s...
+component_loading = Načítám %s…
component_loading_failed = Nepodařilo se načíst %s
[org]
@@ -3315,7 +3317,7 @@ auths.tips=Tipy
auths.tips.oauth2.general=Ověřování OAuth2
auths.tips.oauth2.general.tip=Při registraci nové OAuth2 autentizace by URL callbacku/přesměrování měla být:
auths.tip.oauth2_provider=Poskytovatel OAuth2
-auths.tip.bitbucket=Vytvořte nového OAuth uživatele na stránce %s
+auths.tip.bitbucket=Vytvořte nového OAuth uživatele na stránce %s a přidejte oprávnění „Účet“ – „Čtení“
auths.tip.nextcloud=Zaregistrujte nového OAuth konzumenta na vaší instanci pomocí následujícího menu „Nastavení -> Zabezpečení -> OAuth 2.0 klient“
auths.tip.dropbox=Vytvořte novou aplikaci na %s
auths.tip.facebook=Registrujte novou aplikaci na %s a přidejte produkt „Facebook Login“
@@ -3372,7 +3374,7 @@ config.ssh_root_path=Kořenová cesta
config.ssh_key_test_path=Cesta testu klíčů
config.ssh_keygen_path=Cesta ke generátoru klíčů („ssh-keygen“)
config.ssh_minimum_key_size_check=Kontrola minimální velikosti klíčů
-config.ssh_minimum_key_sizes=Minimální velikost klíčů
+config.ssh_minimum_key_sizes=Minimální velikosti klíčů
config.lfs_config=Nastavení LFS
config.lfs_enabled=Povoleno
@@ -3912,7 +3914,7 @@ runs.status=Status
runs.actors_no_select=Všichni aktéři
runs.status_no_select=Všechny stavy
runs.no_results=Nebyly nalezeny žádné výsledky.
-runs.no_workflows=Zatím neexistují žádné pracovní postupy.
+runs.no_workflows=Zatím nebyly vytvořeny žádné pracovní postupy.
runs.no_workflows.quick_start = Nevíte jak začít s Gitea Action? Podívejte se na průvodce rychlým startem.
runs.no_workflows.documentation = Další informace o Gitea Action, viz dokumentace.
runs.no_runs=Pracovní postup zatím nebyl spuštěn.
@@ -4000,9 +4002,9 @@ code_search_by_git_grep = Aktuální výsledky vyhledávání kódu jsou poskyto
exact = Přesné
exact_tooltip = Zahrnout pouze výsledky, které přesně odpovídají hledanému výrazu
issue_kind = Hledat problémy...
-pull_kind = Hledat pully...
+pull_kind = Hledat žádosti...
union = Sdružené
-union_tooltip = Zahrnout výsledky, které odpovídají jakýmkoli slovům odděleným mezerami
+union_tooltip = Zahrnout výsledky, které odpovídají jakémukoli ze slov oddělených mezerami
milestone_kind = Hledat milníky...
regexp = RegExp
regexp_tooltip = Interpretovat hledaný výraz jako regulární výraz
diff --git a/options/locale/locale_da.ini b/options/locale/locale_da.ini
index 04c3ee2a50..0950138651 100644
--- a/options/locale/locale_da.ini
+++ b/options/locale/locale_da.ini
@@ -976,6 +976,8 @@ user_block_yourself = Du kan ikke blokere dig selv.
pronouns_custom_label = Brugerdefinerede stedord
change_username_redirect_prompt.with_cooldown.one = Det gamle brugernavn vil være tilgængeligt for alle efter en nedkølingsperiode på %[1]d dag, du kan stadig kræve det gamle brugernavn tilbage i nedkølingsperioden.
change_username_redirect_prompt.with_cooldown.few = Det gamle brugernavn vil være tilgængeligt for alle efter en nedkølingsperiode på %[1]d dage, du kan stadig kræve det gamle brugernavn tilbage i nedkølingsperioden.
+keep_pronouns_private = Vis kun stedord til godkendte brugere
+keep_pronouns_private.description = Dette vil skjule dine stedord for besøgende, der ikke er logget ind.
[repo]
rss.must_be_on_branch = Du skal være på en gren for at have et RSS-feed.
@@ -1855,6 +1857,7 @@ pulls.rebase_merge_commit_pull_request = Rebase og opret derefter flet commit
pulls.waiting_count_1 = %d venter på gennemgang
pulls.invalid_merge_option = Du kan ikke bruge denne fletteindstilling til denne pull-anmodning.
pulls.merge_conflict = Sammenfletning mislykkedes: Der var en konflikt under sammenlægningen. Tip: Prøv en anden strategi
+pulls.merge_conflict_summary = Fejl besked
[notification]
watching = Overvåger
diff --git a/options/locale/locale_de-DE.ini b/options/locale/locale_de-DE.ini
index 465f9b9b12..34a69202b0 100644
--- a/options/locale/locale_de-DE.ini
+++ b/options/locale/locale_de-DE.ini
@@ -1062,6 +1062,8 @@ user_block_yourself = Du kannst dich nicht selbst blockieren.
pronouns_custom_label = Individuelle Pronomen
change_username_redirect_prompt.with_cooldown.one = Der alte Benutzername ist nach einer Schutzzeit von einem Tag wieder für alle Verfügbar. Du kannst den alten Benutzername während dieser Schutzzeit erneut beanspruchen.
change_username_redirect_prompt.with_cooldown.few = Der alte Benutzername ist nach einer Schutzzeit von %[1]d Tagen wieder für alle Verfügbar. Du kannst den alten Benutzername während dieser Schutzzeit erneut beanspruchen.
+keep_pronouns_private = Pronomen nur angemeldeten Nutzern anzeigen
+keep_pronouns_private.description = Dies verbirgt deine Pronomen von Besuchern die nicht angemeldet sind.
[repo]
owner=Besitzer
@@ -1183,8 +1185,8 @@ template.issue_labels=Issue-Labels
template.one_item=Es muss mindestens ein Vorlagenelement ausgewählt werden
template.invalid=Es muss ein Vorlagen-Repository ausgewählt werden
-archive.title=Dieses Repository ist archiviert. Du kannst Dateien ansehen und es klonen, kannst aber nicht pushen oder Issues/Pull-Requests öffnen.
-archive.title_date=Dieses Repository wurde am %s archiviert. Du kannst Dateien ansehen und es klonen, aber nicht pushen oder Issues/Pull-Requests öffnen.
+archive.title=Dieses Repository ist archiviert. Du kannst Dateien ansehen und es klonen, kannst aber du kannst den Status des Repositorys nicht verändern, zum Beispiel nichts pushen, und keine Issues eröffnen, oder Pull-Requests oder Kommentare erstellen.
+archive.title_date=Dieses Repository wurde am %s archiviert. Du kannst Dateien ansehen und es klonen, kannst aber den Status des Repositorys nicht verändern, zum Beispiel nichts pushen, und keine Issues eröffnen, oder Pull-Requests oder Kommentare erstellen.
archive.issue.nocomment=Dieses Repository ist archiviert. Du kannst Issues nicht kommentieren.
archive.pull.nocomment=Dieses Repository ist archiviert. Du kannst Pull-Requests nicht kommentieren.
@@ -2875,6 +2877,8 @@ release.summary_card_alt = Übersichtskarte eines Releases mit dem Titel „%s
archive.pull.noreview = Dieses Repository ist archiviert. Pull-Requests können nicht gereviewt werden.
editor.commit_email = Commit-E-Mail
commits.view_single_diff = Änderungen an dieser Datei, die in diesem Commit eingeführt wurden, betrachten
+pulls.editable = Bearbeitbar
+pulls.editable_explanation = Dieser Pull-Request erlaubt Bearbeitungen durch Maintainer. Du kannst direkt dazu beitragen.
[graphs]
component_loading_failed = Konnte %s nicht laden
@@ -3011,8 +3015,8 @@ teams.invite.by=Von %s eingeladen
teams.invite.description=Bitte klicke auf die folgende Schaltfläche, um dem Team beizutreten.
follow_blocked_user = Du kannst dieser Organisation nicht folgen, weil diese Organisation dich blockiert hat.
open_dashboard = Übersicht öffnen
-settings.change_orgname_redirect_prompt.with_cooldown.one = Der alte Benutzername ist nach einer Schutzzeit von einem Tag wieder für alle Verfügbar. Du kannst den alten Benutzername während dieser Schutzzeit erneut beanspruchen.
-settings.change_orgname_redirect_prompt.with_cooldown.few = Der alte Benutzername ist nach einer Schutzzeit von %[1]d Tagen wieder für alle Verfügbar. Du kannst den alten Benutzername während dieser Schutzzeit erneut beanspruchen.
+settings.change_orgname_redirect_prompt.with_cooldown.one = Der alte Organisationsname ist nach einer Abkühldauer von einem Tag wieder für alle Verfügbar. Du kannst den alten Namen während dieser Abkühldauer erneut beanspruchen.
+settings.change_orgname_redirect_prompt.with_cooldown.few = Der alte Organisationsname ist nach einer Abkühldauer von %[1]d Tagen wieder für alle Verfügbar. Du kannst den alten Namen während dieser Abkühldauer erneut beanspruchen.
[admin]
dashboard=Übersicht
diff --git a/options/locale/locale_el-GR.ini b/options/locale/locale_el-GR.ini
index c7d20e8355..ead54967c0 100644
--- a/options/locale/locale_el-GR.ini
+++ b/options/locale/locale_el-GR.ini
@@ -518,15 +518,15 @@ issue_assigned.issue=Ο/Η @%[1]s σας ανέθεσε το ζήτημα %[2]s
issue.x_mentioned_you=Ο/Η @%s σας ανέφερε:
issue.action.force_push=Ο/Η %[1]s έκανε force-push το %[2]s από %[3]s σε %[4]s.
-issue.action.push_1=Ο/Η @%[1]s έκανε push την υποβολή %[3]d στο %[2]s
-issue.action.push_n=Ο/Η @%[1]s έκανε push τις υποβολές %[3]d στο %[2]s
+issue.action.push_1=Ο/Η @%[1]s έκανε push το commit %[3]d στο %[2]s
+issue.action.push_n=Ο/Η @%[1]s έκανε push τα commits %[3]d στο %[2]s
issue.action.close=Ο/Η @%[1]s έκλεισε το #%[2]d.
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_dismissed=@%[1]s απέρριψε την τελευταία αναθεώρηση από %[2]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.
issue.in_tree_path=Σε %s:
@@ -591,9 +591,9 @@ AuthName=Όνομα εξουσιοδότησης
AdminEmail=Email διαχειριστή
NewBranchName=Όνομα νέου κλάδου
-CommitSummary=Περίληψη υποβολών
-CommitMessage=Μήνυμα υποβολής
-CommitChoice=Επιλογή υποβολής
+CommitSummary=Περίληψη commit
+CommitMessage=Μήνυμα commit
+CommitChoice=Επιλογή commit
TreeName=Διαδρομή αρχείου
Content=Περιεχόμενο
@@ -680,6 +680,8 @@ Pronouns = Αντωνυμίες
Biography = Βιογραφία
Website = Ιστοσελίδα
Location = Τοποθεσία
+username_claiming_cooldown = Το όνομα χρήστη δεν μπορεί να χρησιμοποιηθεί ακόμα, επειδή η ημερομηνία λήξης του ονόματος χρήστη δεν έχει ξεπεραστεί. Θα γίνει διαθέσιμο σε %[1]s.
+email_domain_is_not_allowed = Το domain του email χρήστη %s έρχεται σε σύγκρουση είτε με την ρύθμιση EMAIL_DOMAIN_ALLOWLIST ή με την ρύθμιση EMAIL_DOMAIN_BLOCKLIST. Βεβαιωθείτε ότι η διεύθυνση email έχει οριστεί σωστά.
[user]
@@ -768,7 +770,7 @@ language=Γλώσσα
ui=Θέμα Διεπαφής
hidden_comment_types=Κρυμμένοι τύποι σχολίων
hidden_comment_types_description=Οι τύποι σχολίων που επιλέγονται εδώ δε θα εμφανίζονται μέσα στις σελίδες ζητημάτων. Επιλέγοντας π.χ τις "Ταμπέλες", θα αφαιρεθούν όλα τα σχόλια σαν το " πρόσθεσε/αφαίρεσε τα σήματα
From 17db5f37936a07ee91c5b6b1037a62aa4ddcb686 Mon Sep 17 00:00:00 2001
From: Renovate Bot
Date: Tue, 25 Feb 2025 12:42:31 +0000
Subject: [PATCH 165/708] Update module github.com/prometheus/client_golang to
v1.21.0 (forgejo) (#7016)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) | require | minor | `v1.20.5` -> `v1.21.0` |
---
### Release Notes
prometheus/client_golang (github.com/prometheus/client_golang)
### [`v1.21.0`](https://github.com/prometheus/client_golang/releases/tag/v1.21.0): / 2025-02-19
[Compare Source](https://github.com/prometheus/client_golang/compare/v1.20.5...v1.21.0)
:warning: This release contains potential breaking change if you upgrade `github.com/prometheus/common` to 0.62+ together with client_golang (and depend on the strict, legacy validation for the label names). New common version [changes `model.NameValidationScheme` global variable](https://github.com/prometheus/common/pull/724), which relaxes the validation of label names and metric name, allowing all UTF-8 characters. Typically, this should not break any user, unless your test or usage expects strict certain names to panic/fail on client_golang metric registration, gathering or scrape. In case of problems change `model.NameValidationScheme` to old `model.LegacyValidation` value in your project `init` function. :warning:
- \[BUGFIX] gocollector: Fix help message for runtime/metric metrics. [#1583](https://github.com/prometheus/client_golang/issues/1583)
- \[BUGFIX] prometheus: Fix `Desc.String()` method for no labels case. [#1687](https://github.com/prometheus/client_golang/issues/1687)
- \[PERF] prometheus: Optimize popular `prometheus.BuildFQName` function; now up to 30% faster. [#1665](https://github.com/prometheus/client_golang/issues/1665)
- \[PERF] prometheus: Optimize `Inc`, `Add` and `Observe` cumulative metrics; now up to 50% faster under high concurrent contention. [#1661](https://github.com/prometheus/client_golang/issues/1661)
- \[CHANGE] Upgrade prometheus/common to 0.62.0 which changes `model.NameValidationScheme` global variable. [#1712](https://github.com/prometheus/client_golang/issues/1712)
- \[CHANGE] Add support for Go 1.23. [#1602](https://github.com/prometheus/client_golang/issues/1602)
- \[FEATURE] process_collector: Add support for Darwin systems. [#1600](https://github.com/prometheus/client_golang/issues/1600) [#1616](https://github.com/prometheus/client_golang/issues/1616) [#1625](https://github.com/prometheus/client_golang/issues/1625) [#1675](https://github.com/prometheus/client_golang/issues/1675) [#1715](https://github.com/prometheus/client_golang/issues/1715)
- \[FEATURE] api: Add ability to invoke `CloseIdleConnections` on api.Client using `api.Client.(CloseIdler).CloseIdleConnections()` casting. [#1513](https://github.com/prometheus/client_golang/issues/1513)
- \[FEATURE] promhttp: Add `promhttp.HandlerOpts.EnableOpenMetricsTextCreatedSamples` option to create OpenMetrics \_created lines. Not recommended unless you want to use opt-in Created Timestamp feature. Community works on OpenMetrics 2.0 format that should make those lines obsolete (they increase cardinality significantly). [#1408](https://github.com/prometheus/client_golang/issues/1408)
- \[FEATURE] prometheus: Add `NewConstNativeHistogram` function. [#1654](https://github.com/prometheus/client_golang/issues/1654)
All commits
* Merge release-1.20 to main by @bwplotka in https://github.com/prometheus/client_golang/pull/1582
* gocollector: Tiny fix for help message with runtime/metrics source. by @bwplotka in https://github.com/prometheus/client_golang/pull/1583
* ci: bump dagger to the latest version by @marcosnils in https://github.com/prometheus/client_golang/pull/1588
* Merge release-1.20 back to main by @ArthurSens in https://github.com/prometheus/client_golang/pull/1593
* Update linting by @SuperQ in https://github.com/prometheus/client_golang/pull/1603
* Update supported Go versions by @SuperQ in https://github.com/prometheus/client_golang/pull/1602
* build(deps): bump golang.org/x/sys from 0.22.0 to 0.24.0 by @dependabot in https://github.com/prometheus/client_golang/pull/1611
* build(deps): bump github.com/prometheus/common from 0.55.0 to 0.57.0 by @dependabot in https://github.com/prometheus/client_golang/pull/1612
* changed the name of all variables with min/max name by @parthlaw in https://github.com/prometheus/client_golang/pull/1606
* Update Dagger and build. by @SuperQ in https://github.com/prometheus/client_golang/pull/1610
* build(deps): bump github/codeql-action from 3.25.15 to 3.26.6 in the github-actions group across 1 directory by @dependabot in https://github.com/prometheus/client_golang/pull/1614
* examples: Improved GoCollector example. by @bwplotka in https://github.com/prometheus/client_golang/pull/1589
* Synchronize common files from prometheus/prometheus by @prombot in https://github.com/prometheus/client_golang/pull/1615
* process_collector: fill in most statistics on macOS by @mharbison72 in https://github.com/prometheus/client_golang/pull/1600
* :zap: http client defer CloseIdleConnections by @cuisongliu in https://github.com/prometheus/client_golang/pull/1513
* Set allow-utf-8 in Format during tests to avoid escaping. by @ywwg in https://github.com/prometheus/client_golang/pull/1618
* Synchronize common files from prometheus/prometheus by @prombot in https://github.com/prometheus/client_golang/pull/1622
* Merge Release 1.20 back to main by @ArthurSens in https://github.com/prometheus/client_golang/pull/1627
* examples: Add custom labels example by @ying-jeanne in https://github.com/prometheus/client_golang/pull/1626
* Refactor default runtime metrics tests for Go collector so that default runtime metric set autogenerates by @vesari in https://github.com/prometheus/client_golang/pull/1631
* Synchronize common files from prometheus/prometheus by @prombot in https://github.com/prometheus/client_golang/pull/1628
* process_xxx_memory statistics for macOS (cgo) by @mharbison72 in https://github.com/prometheus/client_golang/pull/1616
* build(deps): bump github.com/klauspost/compress from 1.17.9 to 1.17.10 by @dependabot in https://github.com/prometheus/client_golang/pull/1633
* build(deps): bump golang.org/x/sys from 0.24.0 to 0.25.0 by @dependabot in https://github.com/prometheus/client_golang/pull/1632
* process_collector: Add Platform-Specific Describe for processCollector by @ying-jeanne in https://github.com/prometheus/client_golang/pull/1625
* Synchronize common files from prometheus/prometheus by @prombot in https://github.com/prometheus/client_golang/pull/1635
* build(deps): bump the github-actions group with 4 updates by @dependabot in https://github.com/prometheus/client_golang/pull/1634
* Optionally print OM created lines by @ArthurSens in https://github.com/prometheus/client_golang/pull/1408
* process_collector: merge wasip1 and js into a single implementation by @ying-jeanne in https://github.com/prometheus/client_golang/pull/1644
* Merge release 1.20 to main by @bwplotka in https://github.com/prometheus/client_golang/pull/1647
* Add Arianna as maintainer 💪 by @ArthurSens in https://github.com/prometheus/client_golang/pull/1651
* test add headers round tripper by @Manask322 in https://github.com/prometheus/client_golang/pull/1657
* build(deps): bump github.com/klauspost/compress from 1.17.10 to 1.17.11 by @dependabot in https://github.com/prometheus/client_golang/pull/1668
* build(deps): bump golang.org/x/sys from 0.25.0 to 0.26.0 by @dependabot in https://github.com/prometheus/client_golang/pull/1669
* build(deps): bump github.com/prometheus/common from 0.59.1 to 0.60.1 by @dependabot in https://github.com/prometheus/client_golang/pull/1667
* build(deps): bump google.golang.org/protobuf from 1.34.2 to 1.35.1 by @dependabot in https://github.com/prometheus/client_golang/pull/1670
* Optimize BuildFQName function by @jkroepke in https://github.com/prometheus/client_golang/pull/1665
* fix: use injected now() instead of time.Now() in summary methods by @imorph in https://github.com/prometheus/client_golang/pull/1672
* process_collector: avoid a compiler warning on macOS (fixes #1660) by @mharbison72 in https://github.com/prometheus/client_golang/pull/1675
* Synchronize common files from prometheus/prometheus by @prombot in https://github.com/prometheus/client_golang/pull/1674
* build(deps): bump the github-actions group across 1 directory with 3 updates by @dependabot in https://github.com/prometheus/client_golang/pull/1678
* [chore]: enable perfsprint linter by @mmorel-35 in https://github.com/prometheus/client_golang/pull/1676
* Duplicate of #1662 by @imorph in https://github.com/prometheus/client_golang/pull/1673
* Synchronize common files from prometheus/prometheus by @prombot in https://github.com/prometheus/client_golang/pull/1679
* chore: enable usestdlibvars linter by @mmorel-35 in https://github.com/prometheus/client_golang/pull/1680
* Add: exponential backoff for CAS operations on floats by @imorph in https://github.com/prometheus/client_golang/pull/1661
* Synchronize common files from prometheus/prometheus by @prombot in https://github.com/prometheus/client_golang/pull/1683
* [1617] Add ConstnativeHistogram by @shivanthzen in https://github.com/prometheus/client_golang/pull/1654
* fix: replace fmt.Errorf with errors.New by @kakkoyun in https://github.com/prometheus/client_golang/pull/1689
* Add codeowners by @kakkoyun in https://github.com/prometheus/client_golang/pull/1688
* fix: add very small delay between observations in `TestHistogramAtomicObserve` by @imorph in https://github.com/prometheus/client_golang/pull/1691
* Synchronize common files from prometheus/prometheus by @prombot in https://github.com/prometheus/client_golang/pull/1692
* Fix: handle nil variableLabels in Desc.String() method and add tests for nil label values by @kakkoyun in https://github.com/prometheus/client_golang/pull/1687
* examples: Follow best practices and established naming conventions by @lilic in https://github.com/prometheus/client_golang/pull/1650
* setup OSSF Scorecard workflow by @mmorel-35 in https://github.com/prometheus/client_golang/pull/1432
* build(deps): bump google.golang.org/protobuf from 1.35.1 to 1.35.2 by @dependabot in https://github.com/prometheus/client_golang/pull/1697
* build(deps): bump golang.org/x/sys from 0.26.0 to 0.27.0 by @dependabot in https://github.com/prometheus/client_golang/pull/1696
* build(deps): bump the github-actions group with 5 updates by @dependabot in https://github.com/prometheus/client_golang/pull/1695
* update links to openmetrics to reference the v1.0.0 release by @dashpole in https://github.com/prometheus/client_golang/pull/1699
* build(deps): bump google.golang.org/protobuf from 1.35.2 to 1.36.1 by @dependabot in https://github.com/prometheus/client_golang/pull/1706
* build(deps): bump golang.org/x/sys from 0.27.0 to 0.28.0 by @dependabot in https://github.com/prometheus/client_golang/pull/1705
* build(deps): bump the github-actions group with 5 updates by @dependabot in https://github.com/prometheus/client_golang/pull/1707
* build(deps): bump github.com/prometheus/common from 0.60.1 to 0.61.0 by @dependabot in https://github.com/prometheus/client_golang/pull/1704
* Synchronize common files from prometheus/prometheus by @prombot in https://github.com/prometheus/client_golang/pull/1703
* Synchronize common files from prometheus/prometheus by @prombot in https://github.com/prometheus/client_golang/pull/1708
* Upgrade to prometheus/common 0.62.0 with breaking change by @bwplotka in https://github.com/prometheus/client_golang/pull/1712
* build(deps): bump golang.org/x/net from 0.26.0 to 0.33.0 in /tutorials/whatsup by @dependabot in https://github.com/prometheus/client_golang/pull/1713
* docs: Add RELEASE.md for the release process by @kakkoyun in https://github.com/prometheus/client_golang/pull/1690
* tutorials/whatsup: Updated deps by @bwplotka in https://github.com/prometheus/client_golang/pull/1716
* process collector: Fixed pedantic registry failures on darwin with cgo. by @bwplotka in https://github.com/prometheus/client_golang/pull/1715
* Revert "ci: daggerize test and lint pipelines (#1534)" by @bwplotka in https://github.com/prometheus/client_golang/pull/1717
* Cut 1.21.0-rc.0 by @bwplotka in https://github.com/prometheus/client_golang/pull/1718
* Cut 1.21 by @bwplotka in https://github.com/prometheus/client_golang/pull/1737
#### New Contributors
* @parthlaw made their first contribution in https://github.com/prometheus/client_golang/pull/1606
* @mharbison72 made their first contribution in https://github.com/prometheus/client_golang/pull/1600
* @cuisongliu made their first contribution in https://github.com/prometheus/client_golang/pull/1513
* @ying-jeanne made their first contribution in https://github.com/prometheus/client_golang/pull/1626
* @Manask322 made their first contribution in https://github.com/prometheus/client_golang/pull/1657
* @jkroepke made their first contribution in https://github.com/prometheus/client_golang/pull/1665
* @imorph made their first contribution in https://github.com/prometheus/client_golang/pull/1672
* @mmorel-35 made their first contribution in https://github.com/prometheus/client_golang/pull/1676
* @shivanthzen made their first contribution in https://github.com/prometheus/client_golang/pull/1654
* @dashpole made their first contribution in https://github.com/prometheus/client_golang/pull/1699
**Full Changelog**: https://github.com/prometheus/client_golang/compare/v1.20.5...v1.21.0
---
### Configuration
📅 **Schedule**: Branch creation - "* 0-3 * * *" (UTC), Automerge - "* 0-3 * * *" (UTC).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7016
Reviewed-by: Gusted
Co-authored-by: Renovate Bot
Co-committed-by: Renovate Bot
---
go.mod | 4 ++--
go.sum | 8 ++++----
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/go.mod b/go.mod
index 81e19a8534..351f736389 100644
--- a/go.mod
+++ b/go.mod
@@ -84,7 +84,7 @@ require (
github.com/opencontainers/go-digest v1.0.0
github.com/opencontainers/image-spec v1.1.0
github.com/pquerna/otp v1.4.0
- github.com/prometheus/client_golang v1.20.5
+ github.com/prometheus/client_golang v1.21.0
github.com/redis/go-redis/v9 v9.7.0
github.com/robfig/cron/v3 v3.0.1
github.com/santhosh-tekuri/jsonschema/v6 v6.0.1
@@ -239,7 +239,7 @@ require (
github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 // indirect
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
github.com/prometheus/client_model v0.6.1 // indirect
- github.com/prometheus/common v0.55.0 // indirect
+ github.com/prometheus/common v0.62.0 // indirect
github.com/prometheus/procfs v0.15.1 // indirect
github.com/rhysd/actionlint v1.6.27 // indirect
github.com/rivo/uniseg v0.4.7 // indirect
diff --git a/go.sum b/go.sum
index 2734b325dd..d64b8a74c1 100644
--- a/go.sum
+++ b/go.sum
@@ -1331,15 +1331,15 @@ github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRI
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/pquerna/otp v1.4.0 h1:wZvl1TIVxKRThZIBiwOOHOGP/1+nZyWBil9Y2XNEDzg=
github.com/pquerna/otp v1.4.0/go.mod h1:dkJfzwRKNiegxyNb54X/3fLwhCynbMspSyWKnvi1AEg=
-github.com/prometheus/client_golang v1.20.5 h1:cxppBPuYhUnsO6yo/aoRol4L7q7UFfdm+bR9r+8l63Y=
-github.com/prometheus/client_golang v1.20.5/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE=
+github.com/prometheus/client_golang v1.21.0 h1:DIsaGmiaBkSangBgMtWdNfxbMNdku5IK6iNhrEqWvdA=
+github.com/prometheus/client_golang v1.21.0/go.mod h1:U9NM32ykUErtVBxdvD3zfi+EuFkkaBvMb09mIfe0Zgg=
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/prometheus/client_model v0.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w=
github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E=
github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY=
-github.com/prometheus/common v0.55.0 h1:KEi6DK7lXW/m7Ig5i47x0vRzuBsHuvJdi5ee6Y3G1dc=
-github.com/prometheus/common v0.55.0/go.mod h1:2SECS4xJG1kd8XF9IcM1gMX6510RAEL65zxzNImwdc8=
+github.com/prometheus/common v0.62.0 h1:xasJaQlnWAeyHdUBeGjXmutelfJHWMRr+Fg4QszZ2Io=
+github.com/prometheus/common v0.62.0/go.mod h1:vyBcEuLSvWos9B1+CyL7JZ2up+uFzXhkqml0W5zIY1I=
github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc=
github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk=
github.com/redis/go-redis/v9 v9.7.0 h1:HhLSs+B6O021gwzl+locl0zEDnyNkxMtf/Z3NNBMa9E=
From 6fb069cc50d940e09f7c7235736acf1b7bf72aea Mon Sep 17 00:00:00 2001
From: Dmitrii Sharshakov
Date: Tue, 25 Feb 2025 18:44:41 +0000
Subject: [PATCH 166/708] fix(repo): return code 400 instead of 500 for invalid
archive type (#7029)
The error handled might be non-nil only when format is bad, which is 400 (Bad Request)
Fixes #7026
Signed-off-by: Dmitrii Sharshakov
Co-authored-by: 0ko <0ko@noreply.codeberg.org>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7029
Reviewed-by: 0ko <0ko@noreply.codeberg.org>
Co-authored-by: Dmitrii Sharshakov
Co-committed-by: Dmitrii Sharshakov
---
routers/web/repo/repo.go | 4 ++--
tests/integration/repo_archive_test.go | 4 ++++
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/routers/web/repo/repo.go b/routers/web/repo/repo.go
index 1c4fb39546..2e8ca61bf5 100644
--- a/routers/web/repo/repo.go
+++ b/routers/web/repo/repo.go
@@ -474,7 +474,7 @@ func Download(ctx *context.Context) {
uri := ctx.Params("*")
ext, tp, err := archiver_service.ParseFileName(uri)
if err != nil {
- ctx.ServerError("ParseFileName", err)
+ ctx.NotFound("ParseFileName", err)
return
}
aReq, err := archiver_service.NewRequest(ctx, ctx.Repo.Repository.ID, ctx.Repo.GitRepo, strings.TrimSuffix(uri, ext), tp)
@@ -554,7 +554,7 @@ func InitiateDownload(ctx *context.Context) {
uri := ctx.Params("*")
ext, tp, err := archiver_service.ParseFileName(uri)
if err != nil {
- ctx.ServerError("ParseFileName", err)
+ ctx.NotFound("ParseFileName", err)
return
}
aReq, err := archiver_service.NewRequest(ctx, ctx.Repo.Repository.ID, ctx.Repo.GitRepo, strings.TrimSuffix(uri, ext), tp)
diff --git a/tests/integration/repo_archive_test.go b/tests/integration/repo_archive_test.go
index a5c076952c..aea500b9b1 100644
--- a/tests/integration/repo_archive_test.go
+++ b/tests/integration/repo_archive_test.go
@@ -39,6 +39,10 @@ func TestRepoDownloadArchive(t *testing.T) {
require.NoError(t, err)
assert.Empty(t, resp.Header().Get("Content-Encoding"))
assert.Len(t, bs, 320)
+
+ // Verify that unrecognized archive type returns 404
+ req = NewRequest(t, "GET", "/user2/repo1/archive/master.invalid")
+ MakeRequest(t, req, http.StatusNotFound)
}
func TestRepoDownloadArchiveSubdir(t *testing.T) {
From 3372db660c6c8223deba865e31412203dec081de Mon Sep 17 00:00:00 2001
From: Otto Richter
Date: Tue, 25 Feb 2025 20:37:28 +0000
Subject: [PATCH 167/708] enh: admin user view (#7062)
- directly click email address
- show prohibited login state
## Testing
- visit admin panel
- visit a user
- click on "view details"
- check that email address is clickable and opens local email editor
- check that "suspended account" status is visible

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7062
Reviewed-by: Gusted
Co-authored-by: Otto Richter
Co-committed-by: Otto Richter
---
templates/admin/user/view_details.tmpl | 8 ++++++++
templates/admin/user/view_emails.tmpl | 2 +-
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/templates/admin/user/view_details.tmpl b/templates/admin/user/view_details.tmpl
index be2f32b5ec..c394b4bd3d 100644
--- a/templates/admin/user/view_details.tmpl
+++ b/templates/admin/user/view_details.tmpl
@@ -26,6 +26,14 @@
{{svg "octicon-x"}}
{{end}}
+
{{end}}
From 6dad457552d259ab39b7e172c21865398163d84a Mon Sep 17 00:00:00 2001
From: Lucas Schwiderski
Date: Tue, 25 Feb 2025 20:40:16 +0000
Subject: [PATCH 168/708] Improve "URL" handling in markdown editor (#7006)
The button to insert an URL now opens a dialog prompting for the two
components, the URL and the description.
Any existing text selection is taken into account to pre-fill the
description field.
Closes: #6731

Co-authored-by: Otto Richter
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7006
Reviewed-by: Otto
Co-authored-by: Lucas Schwiderski
Co-committed-by: Lucas Schwiderski
---
options/locale/locale_en-US.ini | 5 ++
templates/shared/combomarkdowneditor.tmpl | 28 +++++++++-
tests/e2e/markdown-editor.test.e2e.ts | 28 ++++++++++
.../js/features/comp/ComboMarkdownEditor.js | 54 +++++++++++++++++++
4 files changed, 114 insertions(+), 1 deletion(-)
diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini
index bd7b91cd5a..29c696f29f 100644
--- a/options/locale/locale_en-US.ini
+++ b/options/locale/locale_en-US.ini
@@ -232,6 +232,11 @@ table_modal.placeholder.content = Content
table_modal.label.rows = Rows
table_modal.label.columns = Columns
+link_modal.header = Add a link
+link_modal.url = Url
+link_modal.description = Description
+link_modal.paste_reminder = Hint: With a URL in your clipboard, you can paste directly into the editor to create a link.
+
[filter]
string.asc = A - Z
string.desc = Z - A
diff --git a/templates/shared/combomarkdowneditor.tmpl b/templates/shared/combomarkdowneditor.tmpl
index 0620cca65f..1ea22660f7 100644
--- a/templates/shared/combomarkdowneditor.tmpl
+++ b/templates/shared/combomarkdowneditor.tmpl
@@ -29,7 +29,7 @@ Template Attributes:
{{end}}
{{end}}
{{end}}
diff --git a/web_src/css/repo.css b/web_src/css/repo.css
index 46c6b70c29..1b962aacb6 100644
--- a/web_src/css/repo.css
+++ b/web_src/css/repo.css
@@ -759,7 +759,7 @@ td .commit-summary {
.repository.view.issue .comment-list .timeline-item,
.repository.view.issue .comment-list .timeline-item-group {
- padding: 16px 0;
+ padding: 0.65rem 0;
}
.repository.view.issue .comment-list .timeline-item-group .timeline-item {
@@ -842,6 +842,18 @@ td .commit-summary {
margin-right: 0.25em;
}
+.repository.view.issue .comment-list .timeline-item .aggregated-actions .badge {
+ width: 20px;
+ height: 20px;
+ margin-top: 5px;
+ padding: 12px;
+}
+
+.repository.view.issue .comment-list .timeline-item .aggregated-actions .badge .svg {
+ width: 20px;
+ height: 20px;
+}
+
.singular-commit {
display: flex;
align-items: center;
From 4c123d8e3b160b8d53547a704f2b0361bd518ce0 Mon Sep 17 00:00:00 2001
From: Gusted
Date: Wed, 5 Mar 2025 18:40:13 +0100
Subject: [PATCH 208/708] feat: improve error handling of commit rendering
- Simplify if-else expression to `NotFoundOrServerError`.
- I cannot find an existing scenario where `Getdiff` returns an error
and where it therefore should show a 404 error in the context of
rendering a diff of a commit. So simply return it as an Internal Server
Error, this also helps with debugging if an actual error occurs
here (404 errors are only logged at the DEBUG level).
- The first change is already covered under existing testing, the second
change is not trivial to test.
---
routers/web/repo/commit.go | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/routers/web/repo/commit.go b/routers/web/repo/commit.go
index c2436a1c59..857e34381e 100644
--- a/routers/web/repo/commit.go
+++ b/routers/web/repo/commit.go
@@ -315,11 +315,7 @@ func Diff(ctx *context.Context) {
commit, err := gitRepo.GetCommit(commitID)
if err != nil {
- if git.IsErrNotExist(err) {
- ctx.NotFound("Repo.GitRepo.GetCommit", err)
- } else {
- ctx.ServerError("Repo.GitRepo.GetCommit", err)
- }
+ ctx.NotFoundOrServerError("gitRepo.GetCommit", git.IsErrNotExist, err)
return
}
if len(commitID) != commit.ID.Type().FullLength() {
@@ -343,7 +339,7 @@ func Diff(ctx *context.Context) {
FileOnly: fileOnly,
}, files...)
if err != nil {
- ctx.NotFound("GetDiff", err)
+ ctx.ServerError("GetDiff", err)
return
}
From 19cd33d35b0574284aab78b57383549ca2202903 Mon Sep 17 00:00:00 2001
From: Renovate Bot
Date: Thu, 6 Mar 2025 00:42:02 +0000
Subject: [PATCH 209/708] Update module github.com/urfave/cli/v2 to v2.27.6
(forgejo) (#7132) Co-authored-by: Renovate Bot
Co-committed-by: Renovate Bot
---
go.mod | 2 +-
go.sum | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/go.mod b/go.mod
index c6060e0008..26be560f28 100644
--- a/go.mod
+++ b/go.mod
@@ -94,7 +94,7 @@ require (
github.com/stretchr/testify v1.10.0
github.com/syndtr/goleveldb v1.0.0
github.com/ulikunitz/xz v0.5.12
- github.com/urfave/cli/v2 v2.27.5
+ github.com/urfave/cli/v2 v2.27.6
github.com/valyala/fastjson v1.6.4
github.com/yohcop/openid-go v1.0.1
github.com/yuin/goldmark v1.7.8
diff --git a/go.sum b/go.sum
index 8b9c0d88d5..b8be9d1054 100644
--- a/go.sum
+++ b/go.sum
@@ -1412,8 +1412,8 @@ github.com/ulikunitz/xz v0.5.8/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oW
github.com/ulikunitz/xz v0.5.9/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14=
github.com/ulikunitz/xz v0.5.12 h1:37Nm15o69RwBkXM0J6A5OlE67RZTfzUxTj8fB3dfcsc=
github.com/ulikunitz/xz v0.5.12/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14=
-github.com/urfave/cli/v2 v2.27.5 h1:WoHEJLdsXr6dDWoJgMq/CboDmyY/8HMMH1fTECbih+w=
-github.com/urfave/cli/v2 v2.27.5/go.mod h1:3Sevf16NykTbInEnD0yKkjDAeZDS0A6bzhBH5hrMvTQ=
+github.com/urfave/cli/v2 v2.27.6 h1:VdRdS98FNhKZ8/Az8B7MTyGQmpIr36O1EHybx/LaZ4g=
+github.com/urfave/cli/v2 v2.27.6/go.mod h1:3Sevf16NykTbInEnD0yKkjDAeZDS0A6bzhBH5hrMvTQ=
github.com/valyala/fastjson v1.6.4 h1:uAUNq9Z6ymTgGhcm0UynUAB6tlbakBrz6CQFax3BXVQ=
github.com/valyala/fastjson v1.6.4/go.mod h1:CLCAqky6SMuOcxStkYQvblddUtoRxhYMGLrsQns1aXY=
github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM=
From 5e08b51feda99ad2543bd794b6d456c68ac49064 Mon Sep 17 00:00:00 2001
From: Renovate Bot
Date: Thu, 6 Mar 2025 08:23:55 +0000
Subject: [PATCH 210/708] Update module golang.org/x/crypto to v0.36.0
(forgejo) (#7134)
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7134
Reviewed-by: Gusted
Co-authored-by: Renovate Bot
Co-committed-by: Renovate Bot
---
go.mod | 8 ++++----
go.sum | 20 ++++++++++----------
2 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/go.mod b/go.mod
index 26be560f28..23282f5d9f 100644
--- a/go.mod
+++ b/go.mod
@@ -101,13 +101,13 @@ require (
github.com/yuin/goldmark-highlighting/v2 v2.0.0-20230729083705-37449abec8cc
gitlab.com/gitlab-org/api/client-go v0.123.0
go.uber.org/mock v0.4.0
- golang.org/x/crypto v0.35.0
+ golang.org/x/crypto v0.36.0
golang.org/x/image v0.23.0
golang.org/x/net v0.36.0
golang.org/x/oauth2 v0.27.0
- golang.org/x/sync v0.11.0
- golang.org/x/sys v0.30.0
- golang.org/x/text v0.22.0
+ golang.org/x/sync v0.12.0
+ golang.org/x/sys v0.31.0
+ golang.org/x/text v0.23.0
google.golang.org/grpc v1.70.0
google.golang.org/protobuf v1.36.3
gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df
diff --git a/go.sum b/go.sum
index b8be9d1054..70c0161c07 100644
--- a/go.sum
+++ b/go.sum
@@ -1507,8 +1507,8 @@ golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliY
golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU=
golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8=
golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk=
-golang.org/x/crypto v0.35.0 h1:b15kiHdrGCHrP6LvwaQ3c03kgNhhiMgvlhxHQhmg2Xs=
-golang.org/x/crypto v0.35.0/go.mod h1:dy7dXNW32cAb/6/PRuTNsix8T+vJAqvuIy5Bli/x0YQ=
+golang.org/x/crypto v0.36.0 h1:AnAEvhDddvBdpY+uR+MyHmuZzzNqXSe/GvuDeob5L34=
+golang.org/x/crypto v0.36.0/go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc=
golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
@@ -1693,8 +1693,8 @@ golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
-golang.org/x/sync v0.11.0 h1:GGz8+XQP4FvTTrjZPzNKTMFtSXH80RAzG+5ghFPgK9w=
-golang.org/x/sync v0.11.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
+golang.org/x/sync v0.12.0 h1:MHc5BpPuC30uJk597Ri8TV3CNZcTLu6B6z4lJy+g6Jw=
+golang.org/x/sync v0.12.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -1786,8 +1786,8 @@ golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
-golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc=
-golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik=
+golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
@@ -1802,8 +1802,8 @@ golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU=
golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk=
golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY=
golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM=
-golang.org/x/term v0.29.0 h1:L6pJp37ocefwRRtYPKSWOWzOtWSxVajvz2ldH/xi3iU=
-golang.org/x/term v0.29.0/go.mod h1:6bl4lRlvVuDgSf3179VpIxBF0o10JUpXWOnI7nErv7s=
+golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y=
+golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g=
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -1824,8 +1824,8 @@ golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ=
-golang.org/x/text v0.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM=
-golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY=
+golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY=
+golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4=
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
From 932201fa2367e7e16da23dae1915acb1a8b4ad10 Mon Sep 17 00:00:00 2001
From: Renovate Bot
Date: Thu, 6 Mar 2025 11:43:36 +0000
Subject: [PATCH 211/708] Update module golang.org/x/image to v0.25.0 (forgejo)
(#7135)
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7135
Reviewed-by: Gusted
Co-authored-by: Renovate Bot
Co-committed-by: Renovate Bot
---
go.mod | 2 +-
go.sum | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/go.mod b/go.mod
index 23282f5d9f..0616b43465 100644
--- a/go.mod
+++ b/go.mod
@@ -102,7 +102,7 @@ require (
gitlab.com/gitlab-org/api/client-go v0.123.0
go.uber.org/mock v0.4.0
golang.org/x/crypto v0.36.0
- golang.org/x/image v0.23.0
+ golang.org/x/image v0.25.0
golang.org/x/net v0.36.0
golang.org/x/oauth2 v0.27.0
golang.org/x/sync v0.12.0
diff --git a/go.sum b/go.sum
index 70c0161c07..9b80887a74 100644
--- a/go.sum
+++ b/go.sum
@@ -1539,8 +1539,8 @@ golang.org/x/image v0.0.0-20210607152325-775e3b0c77b9/go.mod h1:023OzeP/+EPmXeap
golang.org/x/image v0.0.0-20210628002857-a66eb6448b8d/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM=
golang.org/x/image v0.0.0-20211028202545-6944b10bf410/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM=
golang.org/x/image v0.0.0-20220302094943-723b81ca9867/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM=
-golang.org/x/image v0.23.0 h1:HseQ7c2OpPKTPVzNjG5fwJsOTCiiwS4QdsYi5XU6H68=
-golang.org/x/image v0.23.0/go.mod h1:wJJBTdLfCCf3tiHa1fNxpZmUI4mmoZvwMCPP0ddoNKY=
+golang.org/x/image v0.25.0 h1:Y6uW6rH1y5y/LK1J8BPWZtr6yZ7hrsy6hFrXjgsc2fQ=
+golang.org/x/image v0.25.0/go.mod h1:tCAmOEGthTtkalusGp1g3xa2gke8J6c2N565dTyl9Rs=
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
From fc4458bfbbc6b7c18942d87d18a0c3b148112117 Mon Sep 17 00:00:00 2001
From: christopher-besch
Date: Thu, 6 Mar 2025 12:49:24 +0000
Subject: [PATCH 212/708] interpret Precedence: auto_reply as an auto reply
(#7137)
Some email clients like to be special and only set the "Precedence" header to "auto_reply" when sending automatic replies.
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7137
Reviewed-by: Gusted
Reviewed-by: Otto
Co-authored-by: christopher-besch
Co-committed-by: christopher-besch
---
services/mailer/incoming/incoming.go | 4 ++++
services/mailer/incoming/incoming_test.go | 6 ++++++
2 files changed, 10 insertions(+)
diff --git a/services/mailer/incoming/incoming.go b/services/mailer/incoming/incoming.go
index 249dac66cd..092f738cd9 100644
--- a/services/mailer/incoming/incoming.go
+++ b/services/mailer/incoming/incoming.go
@@ -297,6 +297,10 @@ func isAutomaticReply(env *enmime.Envelope) bool {
if autoReply == "yes" {
return true
}
+ precedence := env.GetHeader("Precedence")
+ if precedence == "auto_reply" {
+ return true
+ }
autoRespond := env.GetHeader("X-Autorespond")
return autoRespond != ""
}
diff --git a/services/mailer/incoming/incoming_test.go b/services/mailer/incoming/incoming_test.go
index 6101bc7e32..fe11c9e5c6 100644
--- a/services/mailer/incoming/incoming_test.go
+++ b/services/mailer/incoming/incoming_test.go
@@ -65,6 +65,12 @@ func TestIsAutomaticReply(t *testing.T) {
},
Expected: true,
},
+ {
+ Headers: map[string]string{
+ "Precedence": "auto_reply",
+ },
+ Expected: true,
+ },
}
for _, c := range cases {
From a2958f5a26a0acf0ee5b0139a713df8f1dd5debe Mon Sep 17 00:00:00 2001
From: Gusted
Date: Thu, 6 Mar 2025 23:26:08 +0000
Subject: [PATCH 213/708] fix: consider public issues for project boards
(#7143)
- The security patch of forgejo/forgejo#6843 fixed the issue where project boards loaded all issues without considering if the doer actually had permission to view that issue. Within that patch the call to `Issues` was modified to include this permission checking.
- The query being generated was not entirely correct. Issues in public repositories weren't considered correctly (partly the fault of not setting `AllPublic` unconditionally) in the cause an authenticated user loaded the project.
- This is now fixed by setting `AllPublic` unconditionally and subsequently fixing the `Issue` function to ensure that the combination of setting `AllPublic` and `User` generates the correct query, by combining the permission check and issues in public repositories as one `AND` query.
- Added unit testing.
- Added integration testing.
- Resolves Codeberg/Community#1809
- Regression of https://codeberg.org/forgejo/forgejo/pulls/6843
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7143
Reviewed-by: Otto
Co-authored-by: Gusted
Co-committed-by: Gusted
---
.../fixtures/PrivateIssueProjects/project.yml | 4 +-
.../PrivateIssueProjects/project_issue.yml | 12 ++++++
models/issues/issue_project.go | 3 +-
models/issues/issue_project_test.go | 39 ++++++++++++++-----
models/issues/issue_search.go | 22 ++++++++---
tests/integration/private_project_test.go | 23 +++++++----
6 files changed, 76 insertions(+), 27 deletions(-)
diff --git a/models/fixtures/PrivateIssueProjects/project.yml b/models/fixtures/PrivateIssueProjects/project.yml
index cf63e4e413..8950b33606 100644
--- a/models/fixtures/PrivateIssueProjects/project.yml
+++ b/models/fixtures/PrivateIssueProjects/project.yml
@@ -1,6 +1,6 @@
-
id: 1001
- title: Org project that contains private issues
+ title: Org project that contains private and public issues
owner_id: 3
repo_id: 0
is_closed: false
@@ -12,7 +12,7 @@
-
id: 1002
- title: User project that contains private issues
+ title: User project that contains private and public issues
owner_id: 2
repo_id: 0
is_closed: false
diff --git a/models/fixtures/PrivateIssueProjects/project_issue.yml b/models/fixtures/PrivateIssueProjects/project_issue.yml
index 222b2e5f71..0245fb47f3 100644
--- a/models/fixtures/PrivateIssueProjects/project_issue.yml
+++ b/models/fixtures/PrivateIssueProjects/project_issue.yml
@@ -9,3 +9,15 @@
issue_id: 7
project_id: 1002
project_board_id: 1002
+
+-
+ id: 1003
+ issue_id: 16
+ project_id: 1001
+ project_board_id: 1001
+
+-
+ id: 1004
+ issue_id: 1
+ project_id: 1002
+ project_board_id: 1002
diff --git a/models/issues/issue_project.go b/models/issues/issue_project.go
index f606b713cf..697ef7fad6 100644
--- a/models/issues/issue_project.go
+++ b/models/issues/issue_project.go
@@ -56,12 +56,11 @@ func LoadIssuesFromColumn(ctx context.Context, b *project_model.Column, doer *us
ProjectID: b.ProjectID,
SortType: "project-column-sorting",
IsClosed: isClosed,
+ AllPublic: true,
}
if doer != nil {
issueOpts.User = doer
issueOpts.Org = org
- } else {
- issueOpts.AllPublic = true
}
issueList, err := Issues(ctx, issueOpts)
diff --git a/models/issues/issue_project_test.go b/models/issues/issue_project_test.go
index 6ebc803722..e28b52128e 100644
--- a/models/issues/issue_project_test.go
+++ b/models/issues/issue_project_test.go
@@ -33,12 +33,13 @@ func TestPrivateIssueProjects(t *testing.T) {
defer tests.PrintCurrentTest(t)()
issueList, err := issues.LoadIssuesFromColumn(db.DefaultContext, column, user2, org, optional.None[bool]())
require.NoError(t, err)
- assert.Len(t, issueList, 1)
- assert.EqualValues(t, 6, issueList[0].ID)
+ assert.Len(t, issueList, 2)
+ assert.EqualValues(t, 16, issueList[0].ID)
+ assert.EqualValues(t, 6, issueList[1].ID)
issuesNum, err := issues.NumIssuesInProject(db.DefaultContext, orgProject, user2, org, optional.None[bool]())
require.NoError(t, err)
- assert.EqualValues(t, 1, issuesNum)
+ assert.EqualValues(t, 2, issuesNum)
issuesNum, err = issues.NumIssuesInProject(db.DefaultContext, orgProject, user2, org, optional.Some(true))
require.NoError(t, err)
@@ -46,18 +47,27 @@ func TestPrivateIssueProjects(t *testing.T) {
issuesNum, err = issues.NumIssuesInProject(db.DefaultContext, orgProject, user2, org, optional.Some(false))
require.NoError(t, err)
- assert.EqualValues(t, 1, issuesNum)
+ assert.EqualValues(t, 2, issuesNum)
})
t.Run("Anonymous user", func(t *testing.T) {
defer tests.PrintCurrentTest(t)()
issueList, err := issues.LoadIssuesFromColumn(db.DefaultContext, column, nil, org, optional.None[bool]())
require.NoError(t, err)
- assert.Empty(t, issueList)
+ assert.Len(t, issueList, 1)
+ assert.EqualValues(t, 16, issueList[0].ID)
issuesNum, err := issues.NumIssuesInProject(db.DefaultContext, orgProject, nil, org, optional.None[bool]())
require.NoError(t, err)
+ assert.EqualValues(t, 1, issuesNum)
+
+ issuesNum, err = issues.NumIssuesInProject(db.DefaultContext, orgProject, nil, org, optional.Some(true))
+ require.NoError(t, err)
assert.EqualValues(t, 0, issuesNum)
+
+ issuesNum, err = issues.NumIssuesInProject(db.DefaultContext, orgProject, nil, org, optional.Some(false))
+ require.NoError(t, err)
+ assert.EqualValues(t, 1, issuesNum)
})
})
@@ -69,12 +79,13 @@ func TestPrivateIssueProjects(t *testing.T) {
defer tests.PrintCurrentTest(t)()
issueList, err := issues.LoadIssuesFromColumn(db.DefaultContext, column, user2, nil, optional.None[bool]())
require.NoError(t, err)
- assert.Len(t, issueList, 1)
+ assert.Len(t, issueList, 2)
assert.EqualValues(t, 7, issueList[0].ID)
+ assert.EqualValues(t, 1, issueList[1].ID)
issuesNum, err := issues.NumIssuesInProject(db.DefaultContext, userProject, user2, nil, optional.None[bool]())
require.NoError(t, err)
- assert.EqualValues(t, 1, issuesNum)
+ assert.EqualValues(t, 2, issuesNum)
issuesNum, err = issues.NumIssuesInProject(db.DefaultContext, userProject, user2, nil, optional.Some(true))
require.NoError(t, err)
@@ -82,19 +93,27 @@ func TestPrivateIssueProjects(t *testing.T) {
issuesNum, err = issues.NumIssuesInProject(db.DefaultContext, userProject, user2, nil, optional.Some(false))
require.NoError(t, err)
- assert.EqualValues(t, 1, issuesNum)
+ assert.EqualValues(t, 2, issuesNum)
})
t.Run("Anonymous user", func(t *testing.T) {
defer tests.PrintCurrentTest(t)()
-
issueList, err := issues.LoadIssuesFromColumn(db.DefaultContext, column, nil, nil, optional.None[bool]())
require.NoError(t, err)
- assert.Empty(t, issueList)
+ assert.Len(t, issueList, 1)
+ assert.EqualValues(t, 1, issueList[0].ID)
issuesNum, err := issues.NumIssuesInProject(db.DefaultContext, userProject, nil, nil, optional.None[bool]())
require.NoError(t, err)
+ assert.EqualValues(t, 1, issuesNum)
+
+ issuesNum, err = issues.NumIssuesInProject(db.DefaultContext, userProject, nil, nil, optional.Some(true))
+ require.NoError(t, err)
assert.EqualValues(t, 0, issuesNum)
+
+ issuesNum, err = issues.NumIssuesInProject(db.DefaultContext, userProject, nil, nil, optional.Some(false))
+ require.NoError(t, err)
+ assert.EqualValues(t, 1, issuesNum)
})
})
}
diff --git a/models/issues/issue_search.go b/models/issues/issue_search.go
index e9f116bfc6..56c219af39 100644
--- a/models/issues/issue_search.go
+++ b/models/issues/issue_search.go
@@ -49,9 +49,13 @@ type IssuesOptions struct { //nolint
// prioritize issues from this repo
PriorityRepoID int64
IsArchived optional.Option[bool]
- Org *organization.Organization // issues permission scope
- Team *organization.Team // issues permission scope
- User *user_model.User // issues permission scope
+
+ // If combined with AllPublic, then private as well as public issues
+ // that matches the criteria will be returned, if AllPublic is false
+ // only the private issues will be returned.
+ Org *organization.Organization // issues permission scope
+ Team *organization.Team // issues permission scope
+ User *user_model.User // issues permission scope
}
// applySorts sort an issues-related session based on the provided
@@ -196,7 +200,8 @@ func applyRepoConditions(sess *xorm.Session, opts *IssuesOptions) {
} else if len(opts.RepoIDs) > 1 {
opts.RepoCond = builder.In("issue.repo_id", opts.RepoIDs)
}
- if opts.AllPublic {
+ // If permission scoping is set, then we set this condition at a later stage.
+ if opts.AllPublic && opts.User == nil {
if opts.RepoCond == nil {
opts.RepoCond = builder.NewCond()
}
@@ -268,7 +273,14 @@ func applyConditions(sess *xorm.Session, opts *IssuesOptions) {
applyLabelsCondition(sess, opts)
if opts.User != nil {
- sess.And(issuePullAccessibleRepoCond("issue.repo_id", opts.User.ID, opts.Org, opts.Team, opts.IsPull.Value()))
+ cond := issuePullAccessibleRepoCond("issue.repo_id", opts.User.ID, opts.Org, opts.Team, opts.IsPull.Value())
+ // If AllPublic was set, then also consider all issues in public
+ // repositories in addition to the private repositories the user has access
+ // to.
+ if opts.AllPublic {
+ cond = cond.Or(builder.In("issue.repo_id", builder.Select("id").From("repository").Where(builder.Eq{"is_private": false})))
+ }
+ sess.And(cond)
}
}
diff --git a/tests/integration/private_project_test.go b/tests/integration/private_project_test.go
index 1a4adb4366..663c1c1e75 100644
--- a/tests/integration/private_project_test.go
+++ b/tests/integration/private_project_test.go
@@ -24,7 +24,7 @@ func TestPrivateIssueProject(t *testing.T) {
user2 := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 2})
sess := loginUser(t, user2.Name)
- test := func(t *testing.T, sess *TestSession, username string, projectID int64, hasAccess bool) {
+ test := func(t *testing.T, sess *TestSession, username string, projectID int64, hasAccess bool, publicIssueHref ...string) {
t.Helper()
defer tests.PrintCurrentTest(t, 1)()
@@ -35,9 +35,9 @@ func TestPrivateIssueProject(t *testing.T) {
htmlDoc := NewHTMLParser(t, resp.Body)
openCloseStats := htmlDoc.Find(".milestone-toolbar .group").First().Text()
if hasAccess {
- assert.Contains(t, openCloseStats, "1\u00a0Open")
+ assert.Contains(t, openCloseStats, "2\u00a0Open")
} else {
- assert.Contains(t, openCloseStats, "0\u00a0Open")
+ assert.Contains(t, openCloseStats, "1\u00a0Open")
}
assert.Contains(t, openCloseStats, "0\u00a0Closed")
@@ -46,14 +46,21 @@ func TestPrivateIssueProject(t *testing.T) {
resp = sess.MakeRequest(t, req, http.StatusOK)
htmlDoc = NewHTMLParser(t, resp.Body)
- htmlDoc.AssertElement(t, ".project-column .issue-card", hasAccess)
+ issueCardsLen := htmlDoc.Find(".project-column .issue-card").Length()
+ if hasAccess {
+ assert.EqualValues(t, 2, issueCardsLen)
+ } else {
+ assert.EqualValues(t, 1, issueCardsLen)
+ // Ensure that the public issue is shown.
+ assert.EqualValues(t, publicIssueHref[0], htmlDoc.Find(".project-column .issue-card .issue-card-title").AttrOr("href", ""))
+ }
// And that the issue count is correct.
issueCount := strings.TrimSpace(htmlDoc.Find(".project-column-issue-count").Text())
if hasAccess {
- assert.EqualValues(t, "1", issueCount)
+ assert.EqualValues(t, "2", issueCount)
} else {
- assert.EqualValues(t, "0", issueCount)
+ assert.EqualValues(t, "1", issueCount)
}
}
@@ -66,7 +73,7 @@ func TestPrivateIssueProject(t *testing.T) {
})
t.Run("Anonymous user", func(t *testing.T) {
- test(t, emptyTestSession(t), org.Name, orgProject.ID, false)
+ test(t, emptyTestSession(t), org.Name, orgProject.ID, false, "/org3/repo21/issues/1")
})
})
@@ -78,7 +85,7 @@ func TestPrivateIssueProject(t *testing.T) {
})
t.Run("Anonymous user", func(t *testing.T) {
- test(t, emptyTestSession(t), user2.Name, userProject.ID, false)
+ test(t, emptyTestSession(t), user2.Name, userProject.ID, false, "/user2/repo1/issues/1")
})
})
}
From 17106721f098c41c153895ed64abf937d1accbe3 Mon Sep 17 00:00:00 2001
From: Renovate Bot
Date: Fri, 7 Mar 2025 00:45:40 +0000
Subject: [PATCH 214/708] Update module github.com/caddyserver/certmagic to
v0.22.0 (forgejo) (#7146)
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7146
Reviewed-by: Gusted
Co-authored-by: Renovate Bot
Co-committed-by: Renovate Bot
---
go.mod | 16 ++++++++--------
go.sum | 32 ++++++++++++++++----------------
2 files changed, 24 insertions(+), 24 deletions(-)
diff --git a/go.mod b/go.mod
index 0616b43465..54d2136b90 100644
--- a/go.mod
+++ b/go.mod
@@ -27,7 +27,7 @@ require (
github.com/blakesmith/ar v0.0.0-20190502131153-809d4375e1fb
github.com/blevesearch/bleve/v2 v2.4.4
github.com/buildkite/terminal-to-html/v3 v3.16.6
- github.com/caddyserver/certmagic v0.21.7
+ github.com/caddyserver/certmagic v0.22.0
github.com/chi-middleware/proxy v1.1.1
github.com/djherbis/buffer v1.2.0
github.com/djherbis/nio/v3 v3.0.1
@@ -68,7 +68,7 @@ require (
github.com/json-iterator/go v1.1.12
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51
github.com/klauspost/compress v1.17.11
- github.com/klauspost/cpuid/v2 v2.2.9
+ github.com/klauspost/cpuid/v2 v2.2.10
github.com/lib/pq v1.10.9
github.com/markbates/goth v1.80.0
github.com/mattn/go-isatty v0.0.20
@@ -103,7 +103,7 @@ require (
go.uber.org/mock v0.4.0
golang.org/x/crypto v0.36.0
golang.org/x/image v0.25.0
- golang.org/x/net v0.36.0
+ golang.org/x/net v0.37.0
golang.org/x/oauth2 v0.27.0
golang.org/x/sync v0.12.0
golang.org/x/sys v0.31.0
@@ -216,13 +216,13 @@ require (
github.com/josharian/intern v1.0.0 // indirect
github.com/kevinburke/ssh_config v1.2.0 // indirect
github.com/klauspost/pgzip v1.2.6 // indirect
- github.com/libdns/libdns v0.2.2 // indirect
+ github.com/libdns/libdns v0.2.3 // indirect
github.com/mailru/easyjson v0.9.0 // indirect
github.com/markbates/going v1.0.3 // indirect
github.com/mattn/go-colorable v0.1.13 // indirect
github.com/mattn/go-runewidth v0.0.16 // indirect
- github.com/mholt/acmez/v3 v3.0.1 // indirect
- github.com/miekg/dns v1.1.62 // indirect
+ github.com/mholt/acmez/v3 v3.1.0 // indirect
+ github.com/miekg/dns v1.1.63 // indirect
github.com/minio/md5-simd v1.1.2 // indirect
github.com/mitchellh/mapstructure v1.5.0 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
@@ -268,9 +268,9 @@ require (
go.uber.org/multierr v1.11.0 // indirect
go.uber.org/zap v1.27.0 // indirect
go.uber.org/zap/exp v0.3.0 // indirect
- golang.org/x/mod v0.22.0 // indirect
+ golang.org/x/mod v0.24.0 // indirect
golang.org/x/time v0.9.0 // indirect
- golang.org/x/tools v0.28.0 // indirect
+ golang.org/x/tools v0.31.0 // indirect
google.golang.org/api v0.203.0 // indirect
google.golang.org/genproto v0.0.0-20241015192408-796eee8c2d53 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20241202173237-19429a94021a // indirect
diff --git a/go.sum b/go.sum
index 9b80887a74..642469762f 100644
--- a/go.sum
+++ b/go.sum
@@ -769,8 +769,8 @@ github.com/bsm/gomega v1.27.10 h1:yeMWxP2pV2fG3FgAODIY8EiRE3dy0aeFYt4l7wh6yKA=
github.com/bsm/gomega v1.27.10/go.mod h1:JyEr/xRbxbtgWNi8tIEVPUYZ5Dzef52k01W3YH0H+O0=
github.com/buildkite/terminal-to-html/v3 v3.16.6 h1:QKHWPjAnKQnV1hVG/Nb2TwYDr4pliSbvCQDENk8EaJo=
github.com/buildkite/terminal-to-html/v3 v3.16.6/go.mod h1:PgzeBymbRFC8I2m46Sci3S18AbwonEgpaz3TGhD7EPs=
-github.com/caddyserver/certmagic v0.21.7 h1:66KJioPFJwttL43KYSWk7ErSmE6LfaJgCQuhm8Sg6fg=
-github.com/caddyserver/certmagic v0.21.7/go.mod h1:LCPG3WLxcnjVKl/xpjzM0gqh0knrKKKiO5WVttX2eEI=
+github.com/caddyserver/certmagic v0.22.0 h1:hi2skv2jouUw9uQUEyYSTTmqPZPHgf61dOANSIVCLOw=
+github.com/caddyserver/certmagic v0.22.0/go.mod h1:Vc0msarAPhOagbDc/SU6M2zbzdwVuZ0lkTh2EqtH4vs=
github.com/caddyserver/zerossl v0.1.3 h1:onS+pxp3M8HnHpN5MMbOMyNjmTheJyWRaZYwn+YTAyA=
github.com/caddyserver/zerossl v0.1.3/go.mod h1:CxA0acn7oEGO6//4rtrRjYgEoa4MFw/XofZnrYwGqG4=
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
@@ -1205,8 +1205,8 @@ github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90
github.com/klauspost/cpuid v1.2.0/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek=
github.com/klauspost/cpuid/v2 v2.0.1/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
-github.com/klauspost/cpuid/v2 v2.2.9 h1:66ze0taIn2H33fBvCkXuv9BmCwDfafmiIVpKV9kKGuY=
-github.com/klauspost/cpuid/v2 v2.2.9/go.mod h1:rqkxqrZ1EhYM9G+hXH7YdowN5R5RGN6NK4QwQ3WMXF8=
+github.com/klauspost/cpuid/v2 v2.2.10 h1:tBs3QSyvjDyFTq3uoc/9xFpCuOsJQFNPiAhYdw2skhE=
+github.com/klauspost/cpuid/v2 v2.2.10/go.mod h1:hqwkgyIinND0mEev00jJYCxPNVRVXFQeu1XKlok6oO0=
github.com/klauspost/pgzip v1.2.5/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs=
github.com/klauspost/pgzip v1.2.6 h1:8RXeL5crjEUFnR2/Sn6GJNWtSQ3Dk8pq4CL3jvdDyjU=
github.com/klauspost/pgzip v1.2.6/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs=
@@ -1225,8 +1225,8 @@ github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+
github.com/ledongthuc/pdf v0.0.0-20220302134840-0c2507a12d80/go.mod h1:imJHygn/1yfhB7XSJJKlFZKl/J+dCPAknuiaGOshXAs=
github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw=
github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
-github.com/libdns/libdns v0.2.2 h1:O6ws7bAfRPaBsgAYt8MDe2HcNBGC29hkZ9MX2eUSX3s=
-github.com/libdns/libdns v0.2.2/go.mod h1:4Bj9+5CQiNMVGf87wjX4CY3HQJypUHRuLvlsfsZqLWQ=
+github.com/libdns/libdns v0.2.3 h1:ba30K4ObwMGB/QTmqUxf3H4/GmUrCAIkMWejeGl12v8=
+github.com/libdns/libdns v0.2.3/go.mod h1:4Bj9+5CQiNMVGf87wjX4CY3HQJypUHRuLvlsfsZqLWQ=
github.com/lunny/vfsgen v0.0.0-20220105142115-2c99e1ffdfa0 h1:F/3FfGmKdiKFa8kL3YrpZ7pe9H4l4AzA1pbaOUnRvPI=
github.com/lunny/vfsgen v0.0.0-20220105142115-2c99e1ffdfa0/go.mod h1:JEfTc3+2DF9Z4PXhLLvXL42zexJyh8rIq3OzUj/0rAk=
github.com/lyft/protoc-gen-star v0.6.0/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA=
@@ -1253,12 +1253,12 @@ github.com/mattn/go-sqlite3 v1.14.24 h1:tpSp2G2KyMnnQu99ngJ47EIkWVmliIizyZBfPrBW
github.com/mattn/go-sqlite3 v1.14.24/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y=
github.com/meilisearch/meilisearch-go v0.31.0 h1:yZRhY1qJqdH8h6GFZALGtkDLyj8f9v5aJpsNMyrUmnY=
github.com/meilisearch/meilisearch-go v0.31.0/go.mod h1:aNtyuwurDg/ggxQIcKqWH6G9g2ptc8GyY7PLY4zMn/g=
-github.com/mholt/acmez/v3 v3.0.1 h1:4PcjKjaySlgXK857aTfDuRbmnM5gb3Ruz3tvoSJAUp8=
-github.com/mholt/acmez/v3 v3.0.1/go.mod h1:L1wOU06KKvq7tswuMDwKdcHeKpFFgkppZy/y0DFxagQ=
+github.com/mholt/acmez/v3 v3.1.0 h1:RlOx2SSZ8dIAM5GfkMe8TdaxjjkiHTGorlMUt8GeMzg=
+github.com/mholt/acmez/v3 v3.1.0/go.mod h1:L1wOU06KKvq7tswuMDwKdcHeKpFFgkppZy/y0DFxagQ=
github.com/microcosm-cc/bluemonday v1.0.27 h1:MpEUotklkwCSLeH+Qdx1VJgNqLlpY2KXwXFM08ygZfk=
github.com/microcosm-cc/bluemonday v1.0.27/go.mod h1:jFi9vgW+H7c3V0lb6nR74Ib/DIB5OBs92Dimizgw2cA=
-github.com/miekg/dns v1.1.62 h1:cN8OuEF1/x5Rq6Np+h1epln8OiyPWV+lROx9LxcGgIQ=
-github.com/miekg/dns v1.1.62/go.mod h1:mvDlcItzm+br7MToIKqkglaGhlFMHJ9DTNNWONWXbNQ=
+github.com/miekg/dns v1.1.63 h1:8M5aAw6OMZfFXTT7K5V0Eu5YiiL8l7nUAkyN6C9YwaY=
+github.com/miekg/dns v1.1.63/go.mod h1:6NGHfjhpmr5lt3XPLuyfDJi5AXbNIPM9PY6H6sF1Nfs=
github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8/go.mod h1:mC1jAcsrzbxHt8iiaC+zU4b1ylILSosueou12R++wfY=
github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3/go.mod h1:RagcQ7I8IeTMnF8JTXieKnO4Z6JCsikNEzj0DwauVzE=
github.com/minio/md5-simd v1.1.2 h1:Gdi1DZK69+ZVMoNHRXJyNcxrMA4dSxoYHZSQbirFg34=
@@ -1573,8 +1573,8 @@ golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
-golang.org/x/mod v0.22.0 h1:D4nJWe9zXqHOmWqj4VMOJhvzj7bEZg4wEYa759z1pH4=
-golang.org/x/mod v0.22.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY=
+golang.org/x/mod v0.24.0 h1:ZfthKaKaT4NrhGVZHO1/WDTwGES4De8KtWO0SIbNJMU=
+golang.org/x/mod v0.24.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -1640,8 +1640,8 @@ golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk=
golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44=
golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM=
golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4=
-golang.org/x/net v0.36.0 h1:vWF2fRbw4qslQsQzgFqZff+BItCvGFQqKzKIzx1rmoA=
-golang.org/x/net v0.36.0/go.mod h1:bFmbeoIPfrw4sMHNhb4J9f6+tPziuGjq7Jk/38fxi1I=
+golang.org/x/net v0.37.0 h1:1zLorHbz+LYj7MQlSf1+2tPIIgibq2eL5xkrGk6f+2c=
+golang.org/x/net v0.37.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@@ -1898,8 +1898,8 @@ golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s=
golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58=
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk=
-golang.org/x/tools v0.28.0 h1:WuB6qZ4RPCQo5aP3WdKZS7i595EdWqWR8vqJTlwTVK8=
-golang.org/x/tools v0.28.0/go.mod h1:dcIOrVd3mfQKTgrDVQHqCPMWy6lnhfhtX3hLXYVLfRw=
+golang.org/x/tools v0.31.0 h1:0EedkvKDbh+qistFTd0Bcwe/YLh4vHwWEkiI0toFIBU=
+golang.org/x/tools v0.31.0/go.mod h1:naFTU+Cev749tSJRXJlna0T3WxKvb1kWEx15xA4SdmQ=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
From ca0f2a0adf8524d043328678ff740d0e7f24396f Mon Sep 17 00:00:00 2001
From: Renovate Bot
Date: Fri, 7 Mar 2025 10:27:10 +0000
Subject: [PATCH 215/708] Update module golang.org/x/tools/cmd/deadcode to
v0.31.0 (forgejo) (#7150) Co-authored-by: Renovate Bot
Co-committed-by: Renovate Bot
---
Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index 86b1771d01..4f88b2b0a5 100644
--- a/Makefile
+++ b/Makefile
@@ -46,7 +46,7 @@ SWAGGER_PACKAGE ?= github.com/go-swagger/go-swagger/cmd/swagger@v0.31.0 # renova
XGO_PACKAGE ?= src.techknowlogick.com/xgo@latest
GO_LICENSES_PACKAGE ?= github.com/google/go-licenses@v1.6.0 # renovate: datasource=go
GOVULNCHECK_PACKAGE ?= golang.org/x/vuln/cmd/govulncheck@v1 # renovate: datasource=go
-DEADCODE_PACKAGE ?= golang.org/x/tools/cmd/deadcode@v0.30.0 # renovate: datasource=go
+DEADCODE_PACKAGE ?= golang.org/x/tools/cmd/deadcode@v0.31.0 # renovate: datasource=go
GOMOCK_PACKAGE ?= go.uber.org/mock/mockgen@v0.4.0 # renovate: datasource=go
GOPLS_PACKAGE ?= golang.org/x/tools/gopls@v0.18.1 # renovate: datasource=go
RENOVATE_NPM_PACKAGE ?= renovate@39.185.0 # renovate: datasource=docker packageName=data.forgejo.org/renovate/renovate
From 179f9b37f538c925d508916522f82d6bb7ae5179 Mon Sep 17 00:00:00 2001
From: Renovate Bot
Date: Fri, 7 Mar 2025 10:27:51 +0000
Subject: [PATCH 216/708] Update module golang.org/x/oauth2 to v0.28.0
(forgejo) (#7149)
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7149
Reviewed-by: Gusted
Co-authored-by: Renovate Bot
Co-committed-by: Renovate Bot
---
go.mod | 2 +-
go.sum | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/go.mod b/go.mod
index 54d2136b90..5a97bfbce2 100644
--- a/go.mod
+++ b/go.mod
@@ -104,7 +104,7 @@ require (
golang.org/x/crypto v0.36.0
golang.org/x/image v0.25.0
golang.org/x/net v0.37.0
- golang.org/x/oauth2 v0.27.0
+ golang.org/x/oauth2 v0.28.0
golang.org/x/sync v0.12.0
golang.org/x/sys v0.31.0
golang.org/x/text v0.23.0
diff --git a/go.sum b/go.sum
index 642469762f..6405ccd3e8 100644
--- a/go.sum
+++ b/go.sum
@@ -1671,8 +1671,8 @@ golang.org/x/oauth2 v0.4.0/go.mod h1:RznEsdpjGAINPTOF0UH/t+xJ75L18YO3Ho6Pyn+uRec
golang.org/x/oauth2 v0.5.0/go.mod h1:9/XBHVqLaWO3/BRHs5jbpYCnOZVjj5V0ndyaAM7KB4I=
golang.org/x/oauth2 v0.6.0/go.mod h1:ycmewcwgD4Rpr3eZJLSB4Kyyljb3qDh40vJ8STE5HKw=
golang.org/x/oauth2 v0.7.0/go.mod h1:hPLQkd9LyjfXTiRohC/41GhcFqxisoUQ99sCUOHO9x4=
-golang.org/x/oauth2 v0.27.0 h1:da9Vo7/tDv5RH/7nZDz1eMGS/q1Vv1N/7FCrBhI9I3M=
-golang.org/x/oauth2 v0.27.0/go.mod h1:onh5ek6nERTohokkhCD/y2cV4Do3fxFHFuAejCkRWT8=
+golang.org/x/oauth2 v0.28.0 h1:CrgCKl8PPAVtLnU3c+EDw6x11699EWlsDeWNWKdIOkc=
+golang.org/x/oauth2 v0.28.0/go.mod h1:onh5ek6nERTohokkhCD/y2cV4Do3fxFHFuAejCkRWT8=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
From b2d01fdde6dc71103c97d206e97c0d80dd290cee Mon Sep 17 00:00:00 2001
From: Codeberg Translate
Date: Fri, 7 Mar 2025 14:26:37 +0000
Subject: [PATCH 217/708] i18n: update of translations from Codeberg Translate
(#7066)
Co-authored-by: lordwektabyte
Co-authored-by: Marti
Co-authored-by: 0ko <0ko@noreply.codeberg.org>
Co-authored-by: alanmena
Co-authored-by: Juno Takano
Co-authored-by: Benedikt Straub
Co-authored-by: Edgarsons
Co-authored-by: Wuzzy
Co-authored-by: justbispo
Co-authored-by: Kita Ikuyo
Co-authored-by: Fjuro
Co-authored-by: Gusted
Co-authored-by: kwoot
Co-authored-by: SomeTr
Co-authored-by: monty24
Co-authored-by: Sampo Harjula
Co-authored-by: tacaly
Co-authored-by: artnay
Co-authored-by: Outbreak2096
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7066
Reviewed-by: 0ko <0ko@noreply.codeberg.org>
Co-authored-by: Codeberg Translate
Co-committed-by: Codeberg Translate
---
options/locale/locale_ca.ini | 19 ++-
options/locale/locale_cs-CZ.ini | 8 +-
options/locale/locale_da.ini | 81 ++++++++++-
options/locale/locale_de-DE.ini | 34 ++++-
options/locale/locale_es-ES.ini | 8 +-
options/locale/locale_fa-IR.ini | 27 ++--
options/locale/locale_fi-FI.ini | 30 ++++-
options/locale/locale_fil.ini | 138 +++++++++++--------
options/locale/locale_ga-IE.ini | 4 +-
options/locale/locale_gl.ini | 28 +++-
options/locale/locale_lv-LV.ini | 186 +++++++++++++++-----------
options/locale/locale_nds.ini | 12 +-
options/locale/locale_nl-NL.ini | 76 +++++++----
options/locale/locale_pt-BR.ini | 56 ++++++--
options/locale/locale_pt-PT.ini | 48 +++++--
options/locale/locale_ru-RU.ini | 34 ++++-
options/locale/locale_sv-SE.ini | 2 +-
options/locale/locale_uk-UA.ini | 64 ++++++---
options/locale/locale_zh-CN.ini | 10 +-
options/locale_next/locale_cs-CZ.json | 26 ++--
options/locale_next/locale_da.json | 16 ++-
options/locale_next/locale_de-DE.json | 23 ++--
options/locale_next/locale_fa-IR.json | 20 ++-
options/locale_next/locale_lv-LV.json | 26 ++--
options/locale_next/locale_nds.json | 24 ++--
options/locale_next/locale_nl-NL.json | 24 ++--
options/locale_next/locale_pt-BR.json | 26 ++--
options/locale_next/locale_pt-PT.json | 25 ++--
options/locale_next/locale_ru-RU.json | 26 ++--
options/locale_next/locale_uk-UA.json | 26 ++--
options/locale_next/locale_zh-CN.json | 16 ++-
31 files changed, 809 insertions(+), 334 deletions(-)
diff --git a/options/locale/locale_ca.ini b/options/locale/locale_ca.ini
index 4231a68e8a..9cb7d5e50c 100644
--- a/options/locale/locale_ca.ini
+++ b/options/locale/locale_ca.ini
@@ -115,7 +115,7 @@ write = Escriure
preview = Previsualitzar
loading = Carregant…
error = Error
-error404 = La pàgina a la que estàs intentant arribar no existeix o no estàs autoritzat a veure-la.
+error404 = La pàgina a la qual estàs intentant arribar no existeix, ha sigut eliminada o no estàs autoritzat a veure-la.
go_back = Tornar Enrere
invalid_data = Dades invalides: %v
unknown = Desconegut
@@ -173,7 +173,7 @@ pull_kind = Cerca "pulls"...
exact = Exacte
exact_tooltip = Inclou només resultats que són exactament el terme de cerca
issue_kind = Cerca problemes...
-regexp = Expressió regular
+regexp = RegExp
regexp_tooltip = Interpreta el terme de cerca com una expressió regular
[heatmap]
@@ -213,7 +213,7 @@ reinstall_error = Estas intentant instaŀlar sobre una base de dades existent de
reinstall_confirm_message = Reinstaŀlar amb una base de dades existent de Forgejo pot causar diferents problemes. En la majoria de casos, s'hauria d'utilitzar l'"app.ini" existent per executar Forgejo. Si saps el que estàs fent, confirma el seguent:
no_admin_and_disable_registration = No pot deshabilitar l'autoregistre d'usuaris sense crear un compte d'administrador.
err_admin_name_is_reserved = El nom d'usuari "Administrador" no es vàlid: està reservat
-smtp_addr = Hoste SMPT
+smtp_addr = Hoste SMTP
smtp_port = Port SMPT
smtp_from = Enviar correu com a
mailer_user = Nom d'usuari SMTP
@@ -410,6 +410,9 @@ oauth_signin_tab = Vincular a un compte existent
oauth.signin.error = Hi ha hagut un error processant la sol·licitud d'autorització. Si persisteix, poseu-vos en contacte amb l'administrador del lloc.
disable_forgot_password_mail_admin = La recuperació de comptes només està disponible quan s'ha configurat el correu electrònic. Si us plau, configureu el correu electrònic per a habilitar la recuperació de comptes.
non_local_account = Els usuaris no locals no poden actualitzar la seva contrasenya mitjançant l'interfície web de Forgejo
+openid_register_desc = No s'ha reconegut la URI OpenID. Vinculeu-la amb un compte nou aquí.
+openid_connect_desc = No s'ha reconegut la URI OpenID. Vinculeu-la amb un compte nou aquí.
+sign_in_openid = Accediu amb OpenID
[editor]
buttons.indent.tooltip = Aniua els elements un nivell
@@ -434,6 +437,10 @@ table_modal.placeholder.header = Capçalera
table_modal.placeholder.content = Contingut
table_modal.label.rows = Files
table_modal.label.columns = Columnes
+link_modal.header = Afegeix un enllaç
+link_modal.url = URL
+link_modal.description = Descripció
+link_modal.paste_reminder = Pista: Amb un enllaç en el teu porta-retalls, pots enganxar-la directament a l'editor per a crear un enllaç.
[home]
my_orgs = Organitzacions
@@ -472,4 +479,8 @@ reply = o responeu directament a aquest correu
activate_account.text_1 = Hola %[1]s, gràcies per registrar-te a %[2]s!
register_notify = Benvinguts a %s
admin.new_user.text = Si us plau, cliqueu aui per administrar aquest usuari des del panell d'administració.
-admin.new_user.user_info = Informació d'usuari
\ No newline at end of file
+admin.new_user.user_info = Informació d'usuari
+admin.new_user.subject = Nou usuari %s s'acaba d'enregistrar
+activate_email.text = Si us plau, cliqueu el següent enllaç per verificar la vostra adreça de correu electrònic en %s
+activate_email = Verifica la teva adreça de correu electrònic
+activate_account.text_2 = Si us plau, cliqueu l'enllaç següent per activar el vostre compte en %s:
\ No newline at end of file
diff --git a/options/locale/locale_cs-CZ.ini b/options/locale/locale_cs-CZ.ini
index fbe5ef49a2..7fc4d1c7aa 100644
--- a/options/locale/locale_cs-CZ.ini
+++ b/options/locale/locale_cs-CZ.ini
@@ -2721,7 +2721,7 @@ error.csv.unexpected=Tento soubor nelze vykreslit, protože obsahuje neočekáva
error.csv.invalid_field_count=Soubor nelze vykreslit, protože má nesprávný počet polí na řádku %d.
pulls.made_using_agit = AGit
settings.confirm_wiki_branch_rename = Přejmenovat větev wiki
-issues.comment.blocked_by_user = U tohoto problému nemůžete vytvořit komentář, protože jste byl/a zablokován/a majitelem repozitáře nebo autorem problému.
+issues.comment.blocked_by_user = Tento problém nemůžete okomentovat, protože jste byli zablokováni majitelem repozitáře nebo autorem problému.
contributors.contribution_type.additions = Přidání
admin.manage_flags = Spravovat vlajky
admin.enabled_flags = Vlajky povolené v repozitáři:
@@ -2734,7 +2734,7 @@ clone_in_vscodium = Klonovat do VSCodium
settings.wiki_rename_branch_main_notices_1 = Tato operace je NEVRATNÁ.
settings.wiki_branch_rename_success = Název větve wiki repozitáře byl úspěšně normalizován.
rss.must_be_on_branch = Abyste mohli mít zdroj RSS, musíte se nacházet ve větvi.
-issues.blocked_by_user = V tomto repozitáři nemůžete vytvořit problém, protože jste byl/a jeho majitelem zablokován/a.
+issues.blocked_by_user = V tomto repozitáři nemůžete vytvářet problémy, protože jste byl/a jeho majitelem zablokován/a.
migrate.forgejo.description = Migrovat data z codeberg.org nebo jiných instancí Forgejo.
mirror_sync = synchronizováno
blame.ignore_revs = Ignorování revizí v souboru .git-blame-ignore-revs. Klikněte sem pro udělení výjimky a zobrazení normálního přehledu blame.
@@ -2901,6 +2901,10 @@ editor.commit_email = E-mail revize
commits.view_single_diff = Zobrazit změny tohoto souboru provedené v této revizi
pulls.editable = Upravitelné
pulls.editable_explanation = Tato žádost o sloučení umožňuje úpravy správci. Můžete přispět přímo do ní.
+issues.reopen.blocked_by_user = Tento problém nemůžete znovu otevřít, protože jste byli zablokováni majitelem repozitáře nebo autorem tohoto problému.
+pulls.comment.blocked_by_user = Tuto žádost o sloučení nemůžete okomentovat, protože jste byli zablokováni majitelem repozitáře nebo autorem žádosti.
+issues.filter_no_results_placeholder = Zkuste upravit filtry vyhledávání.
+issues.filter_no_results = Žádné výsledky
[graphs]
component_loading_info = Tohle může chvíli trvat…
diff --git a/options/locale/locale_da.ini b/options/locale/locale_da.ini
index c22c5fffaf..5a79004acb 100644
--- a/options/locale/locale_da.ini
+++ b/options/locale/locale_da.ini
@@ -213,6 +213,10 @@ table_modal.label.columns = Kolonner
buttons.unindent.tooltip = Udsortere genstande med ét niveau
buttons.indent.tooltip = Indlejring af genstande med ét niveau
buttons.switch_to_legacy.tooltip = Brug den gamle editor i stedet
+link_modal.header = Tilføj et link
+link_modal.url = Url
+link_modal.description = Beskrivelse
+link_modal.paste_reminder = Tip: Med en URL i dit udklipsholder kan du indsætte direkte i editoren for at oprette et link.
[filter]
string.asc = A - Z
@@ -978,6 +982,26 @@ change_username_redirect_prompt.with_cooldown.one = Det gamle brugernavn vil væ
change_username_redirect_prompt.with_cooldown.few = Det gamle brugernavn vil være tilgængeligt for alle efter en nedkølingsperiode på %[1]d dage, du kan stadig kræve det gamle brugernavn tilbage i nedkølingsperioden.
keep_pronouns_private = Vis kun stedord til godkendte brugere
keep_pronouns_private.description = Dette vil skjule dine stedord for besøgende, der ikke er logget ind.
+quota.applies_to_user = Følgende kvoteregler gælder for din konto
+quota.rule.exceeded.helper = Den samlede størrelse af objekter for denne regel har overskredet kvoten.
+storage_overview = Opbevaringsoversigt
+quota = Kvote
+quota.applies_to_org = Følgende kontingentregler gælder for denne organisation
+quota.rule.exceeded = Oversteget
+quota.rule.no_limit = Ubegrænset
+quota.sizes.all = Alle
+quota.sizes.repos.all = Depoter
+quota.sizes.repos.public = Offentlige depoter
+quota.sizes.repos.private = Private depoter
+quota.sizes.git.all = Git indhold
+quota.sizes.git.lfs = Git LFS
+quota.sizes.assets.all = Aktiver
+quota.sizes.assets.attachments.all = Vedhæftede filer
+quota.sizes.assets.attachments.issues = Problemets vedhæftede filer
+quota.sizes.assets.attachments.releases = Udgivelsens vedhæftede filer
+quota.sizes.assets.artifacts = Artefakter
+quota.sizes.assets.packages.all = Pakker
+quota.sizes.wiki = Wiki
[repo]
rss.must_be_on_branch = Du skal være på en gren for at have et RSS-feed.
@@ -1755,8 +1779,8 @@ issues.review.un_resolve_conversation = Uafklaret samtale
issues.content_history.delete_from_history = Slet fra historikken
issues.content_history.delete_from_history_confirm = Slet fra historikken?
issues.content_history.options = Valgmuligheder
-issues.blocked_by_user = Du kan ikke oprette et problem på dette depot, fordi du er blokeret af depotes ejer.
-issues.comment.blocked_by_user = Du kan ikke oprette en kommentar til dette problem, fordi du er blokeret af depotes ejer eller anmelder af problemet.
+issues.blocked_by_user = Du kan ikke oprette problemer på dette depot, fordi du er blokeret af depotes ejer.
+issues.comment.blocked_by_user = Du kan ikke kommentere til dette problem, fordi du er blokeret af depotes ejer eller anmelder af problemet.
issues.reference_link = Reference: %s
compare.compare_base = base
compare.compare_head = sammenlign
@@ -1856,10 +1880,10 @@ pulls.rebase_merge_pull_request = Rebaser og spole derefter frem
pulls.rebase_merge_commit_pull_request = Rebase og opret derefter flet commit
pulls.waiting_count_1 = %d venter på gennemgang
pulls.invalid_merge_option = Du kan ikke bruge denne fletteindstilling til denne pull-anmodning.
-pulls.merge_conflict = Sammenfletning mislykkedes: Der var en konflikt under sammenlægningen. Tip: Prøv en anden strategi
+pulls.merge_conflict = Fletning mislykkedes: Der var en konflikt under sammenlægningen. Tip: Prøv en anden strategi
pulls.merge_conflict_summary = Fejl besked
pulls.rebase_conflict_summary = Fejl besked
-pulls.unrelated_histories = Sammenfletning mislykkedes: Sammenfletnings-hovedet og -basen deler ikke en fælles historie. Tip: Prøv en anden strategi
+pulls.unrelated_histories = Fletning mislykkedes: Sammenfletnings-hovedet og -basen deler ikke en fælles historie. Tip: Prøv en anden strategi
pulls.head_out_of_date = Fletning mislykkedes: Under genereringen af fletningen blev hovedet opdateret. Tip: Prøv igen.
pulls.has_merged = Mislykkedes: Pull-anmodningen er blevet flettet, du kan ikke flette igen eller ændre målgrenen.
pulls.rebase_conflict = Fletning mislykkedes: Der var en konflikt under re-basering af commit: %[1]s. Tip: Prøv en anden strategi
@@ -1867,6 +1891,55 @@ pulls.merge_out_of_date = Fletning mislykkedes: Under genereringen af fletningen
pulls.push_rejected_summary = Fuld afvisningsmeddelelse
pulls.push_rejected = Push mislykkedes: Pushet blev afvist. Gennemgå Git-hooks for dette depot.
pulls.push_rejected_no_message = Push mislykkedes: Pushet blev afvist, men der var ingen fjernmeddelelse. Gennemgå Git-hooks for dette depot
+pulls.status_checks_failure = Nogle kontroller mislykkedes
+issues.reopen.blocked_by_user = Du kan ikke genåbne dette problem, fordi du er blokeret af depotes ejer eller aflæggeren af dette problem.
+pulls.comment.blocked_by_user = Du kan ikke kommentere denne pull-anmodning, fordi du er blokeret af depotes ejer eller plakaten for pull-anmodningen.
+pulls.open_unmerged_pull_exists = `Du kan ikke udføre en genåbnings handling, fordi der er en afventende pull-anmodning (#%d) med identiske egenskaber.`
+pulls.status_checking = Nogle kontroller afventer
+pulls.status_checks_warning = Nogle kontroller rapporterede advarsler
+pulls.status_checks_error = Nogle kontroller rapporterede fejl
+pulls.cmd_instruction_merge_desc = Flet ændringerne og opdater på Forgejo.
+pulls.clear_merge_message = Ryd flettemeddelelse
+pulls.cmd_instruction_merge_warning = Advarsel: Indstillingen "Autofind manuel fletning" er ikke aktiveret for dette depot. Du skal efterfølgende markere denne pull-anmodning som manuelt flettet.
+pulls.clear_merge_message_hint = Rydning af flettemeddelelsen vil kun fjerne commit-meddelelsens indhold og beholde genererede git-trailere såsom "Co-Authored-By ...".
+pulls.reopen_failed.head_branch = Pull-anmodningen kan ikke genåbnes, fordi hovedgrenen ikke eksisterer længere.
+pulls.editable_explanation = Denne pull-anmodning tillader redigeringer fra vedligeholdere. Du kan bidrage direkte til det.
+pulls.auto_merge_button_when_succeed = (Når kontroller lykkes)
+pulls.status_checks_requested = Påkrævet
+pulls.close = Luk pull anmodning
+pulls.commit_ref_at = `henviste til denne pull-anmodning fra en commit %[2]s`
+pulls.cmd_instruction_hint = Se instruktionerne på kommandolinjen
+pulls.reopened_at = `genåbnede denne pull-anmodning %[2]s`
+pulls.closed_at = `lukkede denne pull-anmodning %[2]s`
+pulls.cmd_instruction_checkout_desc = Fra dit projektdepot, tjek en ny gren og test ændringerne.
+pulls.editable = Redigerbar
+pulls.made_using_agit = AGit
+pulls.agit_explanation = Oprettet ved hjælp af AGit-arbejdsgangen. AGit lader bidragydere foreslå ændringer ved hjælp af "git push" uden at oprette en fork eller en ny gren.
+pulls.status_checks_success = Alle kontroller lykkedes
+pulls.cmd_instruction_merge_title = Flet
+pulls.reopen_failed.base_branch = Pull-anmodningen kan ikke genåbnes, fordi basisgrenen ikke eksisterer længere.
+pulls.cmd_instruction_checkout_title = Checkout
+pulls.outdated_with_base_branch = Denne gren er forældet med basisgrenen
+pulls.status_checks_details = Detaljer
+pulls.status_checks_hide_all = Skjul alle kontroller
+pulls.status_checks_show_all = Vis alle kontroller
+pulls.update_branch = Opdater gren ved fletning
+pulls.update_branch_rebase = Opdel gren ved genbase
+pulls.update_branch_success = Grenopdatering var vellykket
+pulls.update_not_allowed = Du har ikke tilladelse til at opdatere grenen
+pulls.auto_merge_has_pending_schedule = %[1]s planlagde denne pull-anmodning til automatisk at flette, når alle kontroller lykkes %[2]s.
+pulls.auto_merge_cancel_schedule = Annuller automatisk fletning
+pulls.auto_merge_not_scheduled = Denne pull-anmodning er ikke planlagt til automatisk fletning.
+pulls.auto_merge_canceled_schedule = Den automatiske fletning blev annulleret for denne pull-anmodning.
+pulls.auto_merge_newly_scheduled_comment = `planlagde denne pull-anmodning til automatisk at flette, når alle kontroller lykkes %[1]s.`
+pulls.auto_merge_canceled_schedule_comment = `annullerede automatisk fletning af denne pull-anmodning, når alle kontroller lykkes %[1]s`
+pulls.delete_after_merge.head_branch.is_default = Den hovedgren, du vil slette, er standardgrenen og kan ikke slettes.
+pulls.delete_after_merge.head_branch.is_protected = Den hovedgren, du vil slette, er en beskyttet gren og kan ikke slettes.
+pulls.delete_after_merge.head_branch.insufficient_branch = Du har ikke tilladelse til at slette hovedgrenen.
+pulls.delete.title = Vil du slette denne pull-anmodning?
+pulls.delete.text = Vil du virkelig slette denne pull-anmodning? (Dette fjerner alt indhold permanent. Overvej at lukke det i stedet, hvis du har til hensigt at beholde det arkiveret)
+pulls.auto_merge_newly_scheduled = Pull-anmodningen var planlagt til at flette, når alle kontroller lykkes.
+pulls.auto_merge_when_succeed = Automatisk fletning, når alle kontroller lykkes
[notification]
watching = Overvåger
diff --git a/options/locale/locale_de-DE.ini b/options/locale/locale_de-DE.ini
index 34a69202b0..ccd50d0718 100644
--- a/options/locale/locale_de-DE.ini
+++ b/options/locale/locale_de-DE.ini
@@ -206,6 +206,10 @@ table_modal.placeholder.content = Inhalt
table_modal.placeholder.header = Kopfzeile
table_modal.label.rows = Zeilen
table_modal.label.columns = Spalten
+link_modal.header = Einen Link hinzufügen
+link_modal.url = URL
+link_modal.description = Beschreibung
+link_modal.paste_reminder = Hinweis: Wenn du einen URL in der Zwischenablage hast, kannst du durch einfügen im Editor direkt einen Link erstellen.
[filter]
string.asc=A–Z
@@ -1064,6 +1068,26 @@ change_username_redirect_prompt.with_cooldown.one = Der alte Benutzername ist na
change_username_redirect_prompt.with_cooldown.few = Der alte Benutzername ist nach einer Schutzzeit von %[1]d Tagen wieder für alle Verfügbar. Du kannst den alten Benutzername während dieser Schutzzeit erneut beanspruchen.
keep_pronouns_private = Pronomen nur angemeldeten Nutzern anzeigen
keep_pronouns_private.description = Dies verbirgt deine Pronomen von Besuchern die nicht angemeldet sind.
+quota.sizes.assets.artifacts = Artefakte
+quota.applies_to_user = Die folgenden Quota-Regeln greifen für deinen Account
+quota.sizes.assets.attachments.issues = Issue-Anhänge
+quota.rule.exceeded.helper = Die Gesamtgröße der Objekte für diese Regel hat die Quota überschritten.
+storage_overview = Speicherübersicht
+quota = Quota
+quota.sizes.assets.attachments.releases = Release-Anhänge
+quota.applies_to_org = Die folgenden Quota-Regeln greifen für diese Organisation
+quota.rule.exceeded = Überschritten
+quota.rule.no_limit = Unbegrenzt
+quota.sizes.all = Alle
+quota.sizes.repos.all = Repositorys
+quota.sizes.repos.public = Öffentliche Repositorys
+quota.sizes.repos.private = Private Repositorys
+quota.sizes.git.all = Git-Inhalte
+quota.sizes.git.lfs = Git-LFS
+quota.sizes.assets.all = Assets
+quota.sizes.assets.attachments.all = Anhänge
+quota.sizes.assets.packages.all = Pakete
+quota.sizes.wiki = Wiki
[repo]
owner=Besitzer
@@ -1185,8 +1209,8 @@ template.issue_labels=Issue-Labels
template.one_item=Es muss mindestens ein Vorlagenelement ausgewählt werden
template.invalid=Es muss ein Vorlagen-Repository ausgewählt werden
-archive.title=Dieses Repository ist archiviert. Du kannst Dateien ansehen und es klonen, kannst aber du kannst den Status des Repositorys nicht verändern, zum Beispiel nichts pushen, und keine Issues eröffnen, oder Pull-Requests oder Kommentare erstellen.
-archive.title_date=Dieses Repository wurde am %s archiviert. Du kannst Dateien ansehen und es klonen, kannst aber den Status des Repositorys nicht verändern, zum Beispiel nichts pushen, und keine Issues eröffnen, oder Pull-Requests oder Kommentare erstellen.
+archive.title=Dieses Repository ist archiviert. Du kannst Dateien ansehen und es klonen, kannst aber du kannst seinen Status nicht verändern, zum Beispiel nichts pushen, und keine Issues eröffnen, oder Pull-Requests oder Kommentare erstellen.
+archive.title_date=Dieses Repository wurde am %s archiviert. Du kannst Dateien ansehen und es klonen, kannst aber seinen Status nicht verändern, zum Beispiel nichts pushen, und keine Issues eröffnen, oder Pull-Requests oder Kommentare erstellen.
archive.issue.nocomment=Dieses Repository ist archiviert. Du kannst Issues nicht kommentieren.
archive.pull.nocomment=Dieses Repository ist archiviert. Du kannst Pull-Requests nicht kommentieren.
@@ -2699,7 +2723,7 @@ error.csv.unexpected=Diese Datei kann nicht gerendert werden, da sie ein unerwar
error.csv.invalid_field_count=Diese Datei kann nicht gerendert werden, da sie eine falsche Anzahl an Feldern in Zeile %d hat.
rss.must_be_on_branch = Du musst auf einem Branch sein, um einen RSS-Feed zu haben.
new_repo_helper = Ein Repository enthält alle Projektdateien inklusive der Revisionshistorie. Bereits woanders gehostet? Repository migrieren.
-issues.comment.blocked_by_user = Du kannst kein Kommentar für dieses Issue erstellen, weil du vom Repository-Besitzer oder dem Autoren des Issues blockiert wurdest.
+issues.comment.blocked_by_user = Du kannst dieses Issue nicht kommentieren, weil du vom Repository-Besitzer oder dem Autoren des Issues blockiert wurdest.
clone_in_vscodium = In VSCodium klonen
settings.units.add_more = Mehr aktivieren
settings.wiki_rename_branch_main_desc = Den Branch, der intern vom Wiki benutzt wird, zu „%s“ umbenennen. Dies ist permanent und kann nicht rückgängig gemacht werden.
@@ -2715,7 +2739,7 @@ settings.wiki_branch_rename_success = Der Branch-Name des Repository-Wikis wurde
settings.archive.mirrors_unavailable = Spiegel sind nicht verfügbar in archivierten Repos.
pulls.blocked_by_user = Du kannst keinen Pull-Request in diesem Repository erstellen, weil du vom Repository-Besitzer blockiert wurdest.
settings.add_collaborator_blocked_our = Der Mitarbeiter konnte nicht hinzugefügt werden, weil der Repository-Besitzer ihn blockiert hat.
-issues.blocked_by_user = Du kannst kein Issue in diesem Repository erstellen, weil du vom Repository-Besitzer blockiert wurdest.
+issues.blocked_by_user = Du kannst keine Issues in diesem Repository erstellen, weil du vom Repository-Besitzer blockiert wurdest.
admin.manage_flags = Flags verwalten
admin.enabled_flags = Vom Repository aktivierte Flags:
admin.update_flags = Flags aktualisieren
@@ -2879,6 +2903,8 @@ editor.commit_email = Commit-E-Mail
commits.view_single_diff = Änderungen an dieser Datei, die in diesem Commit eingeführt wurden, betrachten
pulls.editable = Bearbeitbar
pulls.editable_explanation = Dieser Pull-Request erlaubt Bearbeitungen durch Maintainer. Du kannst direkt dazu beitragen.
+issues.reopen.blocked_by_user = Du kannst dieses Issue nicht wieder eröffnen, weil du vom Repository-Besitzer oder Ersteller des Issues blockiert wurdest.
+pulls.comment.blocked_by_user = Du kannst diesen Pull-Request nicht kommentieren, da du vom Repository-Besitzer oder Ersteller des Pull-Requests blockiert wurdest.
[graphs]
component_loading_failed = Konnte %s nicht laden
diff --git a/options/locale/locale_es-ES.ini b/options/locale/locale_es-ES.ini
index 4ade0821a1..8b29ef0f4a 100644
--- a/options/locale/locale_es-ES.ini
+++ b/options/locale/locale_es-ES.ini
@@ -110,7 +110,7 @@ preview=Vista previa
loading=Cargando…
error=Error
-error404=La página a la que está intentando acceder o no existe o no está autorizado para verla.
+error404=La página a la que está intentando acceder no existe,ha sido eliminada o no está autorizado a verla.
go_back=Volver
never=Nunca
@@ -206,6 +206,9 @@ table_modal.placeholder.header = Cabecera
table_modal.label.rows = Filas
table_modal.label.columns = Columnas
table_modal.placeholder.content = Contenido
+link_modal.header = Añadir enlace
+link_modal.description = Descripción
+link_modal.paste_reminder = Pista: Con una URL en tu portapapeles, puedes pegar directamente en el editor para crear un enlace.
[filter]
string.asc=A - Z
@@ -678,6 +681,8 @@ Biography = Biografía
Location = Ubicación
To = Nombre de rama
Website = Sitio web
+username_claiming_cooldown = El nombre de usuario no se puede reclamar, debido a que su periodo de protección no ha terminado aún. Puede ser reclamado el %[1]s.
+email_domain_is_not_allowed = El dominio de la dirección de correo electrónico del usuario %s entra en conflicto con EMAL_DOMAIN_ALLOWLIST o EMAIL_DOMAIN_BLOCKLIST. Asegúrese de que ha establecido la dirección de correo electrónico correctamente.
[user]
@@ -1055,6 +1060,7 @@ language.description = Este idioma se guardará en tu cuenta y se utilizará com
language.localization_project = ¡Ayúdanos a traducir Forgejo a tu idioma! Más información.
pronouns_custom_label = Pronombres personalizados
user_block_yourself = No puedes bloquearte a tí mismo.
+quota = Cuota
[repo]
owner=Propietario
diff --git a/options/locale/locale_fa-IR.ini b/options/locale/locale_fa-IR.ini
index b6c065f7ee..804b48b2b2 100644
--- a/options/locale/locale_fa-IR.ini
+++ b/options/locale/locale_fa-IR.ini
@@ -209,6 +209,8 @@ buttons.switch_to_legacy.tooltip = به جای آن از ویرایشگر ک
buttons.code.tooltip = افزودن کد
link_modal.header = افزودن پیوند
link_modal.url = یوآرال
+link_modal.paste_reminder = راهنمایی: با داشتن یک یوآرال در بریدهدان، میتوانید با رونوشت مستقیم آن در ویرایشگرتان یک پیوند بسازید.
+link_modal.description = دیباچه
[filter]
string.asc = آ - ی
@@ -235,7 +237,7 @@ install_desc = به آسانی مستندات را مطالعه نمایید.
db_title=تنظیمات پایگاهداده
db_type=گونه پایگاهداده
@@ -257,24 +259,24 @@ err_empty_db_path=مسیر دیتابیس SQLite3 نمیتواند خالی با
no_admin_and_disable_registration=شما بدون ایجاد حساب کاربری مدیر نمیتوانید عضویت را غیر فعال کنید.
err_empty_admin_password=کلمه عبور حساب مدیر نمی تواند خالی باشد.
err_empty_admin_email=رایانامه (ایمیل) مدیر نمی تواند خالی باشد.
-err_admin_name_is_reserved=نام کاربری مدیر اشتباه است. نام کاربری قبلا استفاده شده است
+err_admin_name_is_reserved=نامکاربری مدیر اشتباه است، نامکاربری قبلا استفاده شده است
err_admin_name_pattern_not_allowed=نام کاربری مدیر اشتباه است. نام کاربری قبلا استفاده شده است
err_admin_name_is_invalid=نام کابری مدیر اشتباه است
general_title=تنظیمات عمومی
-app_name=عنوان سایت
-app_name_helper=شما می توانید نام شرکت خود را در اینجا وارد کنید.
+app_name=تیتر نمونه
+app_name_helper=شما می توانید نام نمونه خود را در اینجا وارد کنید. آن در همه برگهها به نمایش در خواهد آمد.
repo_path=مسیر ریشه مخزن
repo_path_helper=تمام مخازن کد راه دور در این پوشه ذخیره میشوند.
-lfs_path=مسیر Git LFS
+lfs_path=مسیر ریشه ذخیرهسازی پرونده بزرگ گیت
lfs_path_helper=فایل هایی که توسط Git LFS دنبال میشوند در این پوشه ذخیره خواهند شد. درصورت خالی بودن فیلد این قابلیت غیرفعال خواهد بود.
-run_user=اجرا به عنوان نام کاربری
-domain=دامنه سرور
+run_user=اجرای کاربر به عنوان
+domain=دامنه کارساز
domain_helper=آدرس میزبان یا دامنه برای سرور.
-ssh_port=پورت SSH سرور
-ssh_port_helper=شماره درگاهی که سرور SSH گوش می دهد. برای غیر فعال کردن خالی بگذارید.
-http_port=پورت HTTP گیتی
-http_port_helper=پورت سرور وب گیتی.
+ssh_port=درگاه کارساز پوستهامن
+ssh_port_helper=شماره درگاهی که سرور پوستهامن استفاده میکند. برای غیر فعال کردن خالی بگذارید.
+http_port=درگاه شنونده اچتیتیپی
+http_port_helper=شماره درگاهی که توسط کارساز وب فرججو استفاده میشود.
app_url=آدرس پایه گیتی
app_url_helper=آدرس پایه برای URLهای اجماع HTTP(S) و هشدار های رایانامه (ایمیل).
log_root_path=مسیر گزارشها
@@ -335,6 +337,9 @@ no_reply_address=مخفی کردن دامنه ایمیل
no_reply_address_helper=نام دامنه برای کاربران دارای آدرس ایمیل پنهان است. به عنوان مثال ، اگر نام دامنه ایمیل مخفی روی "noreply.example.org" تنظیم شده باشد ، نام کاربری "joe" در Git به عنوان "joe@noreply.example.org" وارد می شود
password_algorithm=الگوریتم درهمساز گذرواژه
require_db_desc = فروججو به مایاسکیوال، پستگریاسکیوال،اسکیولایت۳ یا تیدیبی نیاز دارد.
+run_user_helper = نامکاربری سامانهعامل که با عنوان فرججو اجرا میشود. به یادداشته باشید که کاربر باید دسترسی به مسیر ریشه مخازن داشته باشد.
+app_slogan_helper = شعار نمونه خود را اینجا وارد کنید. برای غیرفعال شدن خالی بگذارید.
+app_slogan = شعار نمونه
[home]
uname_holder=نام کاربری یا نشانی ایمیل
diff --git a/options/locale/locale_fi-FI.ini b/options/locale/locale_fi-FI.ini
index 9d5ac3c43e..9c011b7fd1 100644
--- a/options/locale/locale_fi-FI.ini
+++ b/options/locale/locale_fi-FI.ini
@@ -98,7 +98,7 @@ preview=Esikatselu
loading=Ladataan…
error=Virhe
-error404=Sivu, jota yrität nähdä, joko ei löydy tai et ole oikeutettu katsomaan sitä.
+error404=Sivu, jota yrität nähdä, joko ei löydy, on poistettu tai et ole oikeutettu katsomaan sitä.
never=Ei koskaan
@@ -206,6 +206,10 @@ table_modal.placeholder.content = Sisältö
table_modal.label.rows = Rivit
table_modal.label.columns = Sarakkeet
buttons.unindent.tooltip = Vähennä sisennystä yhden tason verran
+link_modal.header = Lisää linkki
+link_modal.url = Osoite
+link_modal.description = Kuvaus
+link_modal.paste_reminder = Vihje: Jos leikepöydällä on URL-osoite, voit liittää suoraan editoriin luodaksesi linkin.
[filter]
string.asc = A - Ö
@@ -620,6 +624,8 @@ unable_verify_ssh_key = SSH-avainta ei voi vahvistaa, tarkista se mahdollisten v
url_error = `"%s" ei ole kelvollinen URL-osoite.`
must_use_public_key = Antamasi avain on yksityinen avain. Älä lähetä yksityistä avaintasi mihinkään. Käytä sen sijaan julkista avaintasi.
still_own_packages = Tilisi omistaa yhden tai useamman paketin, poista ne ensin.
+AccessToken = Pääsypoletti
+enterred_invalid_owner_name = Uuden omistajan nimi ei ole kelvollinen.
[user]
@@ -947,6 +953,21 @@ openid_deletion_desc = Tämän OpenID-osoitteen poistaminen tililtäsi estää k
generate_token_name_duplicate = Nimeä %s on jo käytetty sovelluksen nimenä. Käytä eri nimeä.
ssh_signonly = SSH on tällä hetkellä poistettu käytöstä, joten näitä avaimia käytetään vain kommittien allekirjoituksen vahvistamiseen.
oauth2_applications_desc = OAuth2-sovellukset mahdollistavat käyttämäsi kolmannen osapuolen sovelluksen todentaa turvallisesti käyttäjiä tähän Forgejo-instanssiin.
+quota.sizes.assets.attachments.all = Liitteet
+quota.applies_to_user = Seuraavia kiintiösääntöjä sovelletaan tiliisi
+user_block_yourself = Et voi estää itseäsi.
+quota = Kiintiö
+storage_overview = Tallennustilan yleisnäkymä
+quota.applies_to_org = Seuraavia kiintiösääntöjä sovelletaan tähän organisaatioon
+quota.rule.exceeded = Ylitetty
+quota.rule.no_limit = Rajoittamaton
+quota.sizes.all = Kaikki
+quota.sizes.repos.all = Repot
+quota.sizes.repos.public = Julkiset repot
+quota.sizes.repos.private = Yksityiset repot
+quota.sizes.git.all = Git-sisältö
+quota.sizes.assets.packages.all = Paketit
+quota.sizes.wiki = Wiki
[repo]
owner=Omistaja
@@ -2096,6 +2117,13 @@ settings.delete_notices_2 = - Tämä toiminto poistaa pysyvästi repon %
issues.filter_assginee_no_select = Kaikki käsittelijät
issues.new.assign_to_me = Osoita itselle
pulls.closed_at = `sulki tämän vetopyynnön %[2]s`
+tree_path_not_found_branch = Polkua %[1]s ei ole olemassa haarassa %[2]s
+transfer.no_permission_to_reject = Sinulla ei ole oikeutta hylätä tätä siirtoa.
+generate_repo = Luo repo
+tree_path_not_found_commit = Polkua %[1]s ei ole olemassa kommitissa %[2]s
+archive.pull.noreview = Tämä repo on arkistoitu. Et voi katselmoida vetopyyntöjä.
+tree_path_not_found_tag = Polkua %[1]s ei ole olemassa tagissa %[2]s
+transfer.no_permission_to_accept = Sinulla ei ole oikeutta hyväksyä tätä siirtoa.
diff --git a/options/locale/locale_fil.ini b/options/locale/locale_fil.ini
index 31e0e2135b..12b43f93e9 100644
--- a/options/locale/locale_fil.ini
+++ b/options/locale/locale_fil.ini
@@ -231,10 +231,10 @@ ssl_mode = SSL
path = Daanan
sqlite_helper = File path para sa SQLite3 database. Maglagay ng absolute path kapag tinatakbo mo ang Forgejo bilang serbisyo.
reinstall_confirm_check_3 = Kinukumprima mo na sigurado ka talaga na ang Forgejo na ito ay tumatakbo sa tamang app.ini na lokasyon at sigurado ka na kailangan mo mag-reinstall. Kinukumpirma mo na kilalanin ang mga panganib sa itaas.
-err_empty_db_path = Hindi maaring walang laman ang path ng SQLite database.
-no_admin_and_disable_registration = Hindi mo maaring i-disable ang user self-registration nang hindi gumawa ng isang tagapangasiwa na account.
-err_empty_admin_password = Hindi maaring walang laman ang password ng tagapangasiwa.
-err_empty_admin_email = Hindi maaring walang laman ang email ng tagapangasiwa.
+err_empty_db_path = Hindi maaaring walang laman ang path ng SQLite database.
+no_admin_and_disable_registration = Hindi mo maaaring i-disable ang user self-registration nang hindi gumawa ng isang tagapangasiwa na account.
+err_empty_admin_password = Hindi maaaring walang laman ang password ng tagapangasiwa.
+err_empty_admin_email = Hindi maaaring walang laman ang email ng tagapangasiwa.
err_admin_name_is_reserved = Hindi angkop ang username ng tagapangasiwa, naka-reserba ang username
err_admin_name_is_invalid = Hindi angkop ang username ng tagapangasiwa
general_title = Mga General Setting
@@ -250,9 +250,9 @@ domain_helper = Domain o host para sa server na ito.
ssh_port = Port ng SSH Server
http_port = Listen port sa HTTP
lfs_path_helper = Ang mga file na naka-track sa Git LFS ay ilalagay sa directory na ito. Iwanang walang laman para i-disable.
-reinstall_confirm_message = Ang pag-install muli na may umiiral na Forgejo database ay maaring magdulot ng mga problema. Sa karamihan ng mga kaso, dapat mong gamitin ang iyong umiiral na "app.ini" para patakbuhin ang Forgejo. Kung alam mo ang ginagawa mo, kumpirmahin ang mga sumusunod:
-reinstall_confirm_check_1 = Ang data na naka-encrypt sa pamamagitan ng SECRET_KEY sa app.ini ay maaring mawala: baka hindi maka-log in ang mga user gamit ng 2FA/OTP at ang mga mirror ay maaring hindi gumana mg maayos. Sa pamamagitan ng pag-check ng box na ito kinukumpirma mo na ang kasalukuyang app.ini file ay naglalaman ng tamang SECRET_KEY.
-reinstall_confirm_check_2 = Ang mga repositoryo at mga setting ay maaring kailangang i-resynchronize. Sa pamamagitan ng pag-check ng box na ito kinukumprima mo na ire-resynchronize mo ang mga hook para sa mga repositoryo at authorized_keys ng mano-mano. Kinukumpirma mo na sisiguraduhin mo na tama ang mga setting ng repositoryo at mirror.
+reinstall_confirm_message = Ang pag-install muli na may umiiral na Forgejo database ay maaaring magdulot ng mga problema. Sa karamihan ng mga kaso, dapat mong gamitin ang iyong umiiral na "app.ini" para patakbuhin ang Forgejo. Kung alam mo ang ginagawa mo, kumpirmahin ang mga sumusunod:
+reinstall_confirm_check_1 = Ang data na naka-encrypt sa pamamagitan ng SECRET_KEY sa app.ini ay maaaring mawala: baka hindi maka-log in ang mga user gamit ng 2FA/OTP at ang mga mirror ay maaaring hindi gumana mg maayos. Sa pamamagitan ng pag-check ng box na ito kinukumpirma mo na ang kasalukuyang app.ini file ay naglalaman ng tamang SECRET_KEY.
+reinstall_confirm_check_2 = Ang mga repositoryo at mga setting ay maaaring kailangang i-resynchronize. Sa pamamagitan ng pag-check ng box na ito kinukumprima mo na ire-resynchronize mo ang mga hook para sa mga repositoryo at authorized_keys ng mano-mano. Kinukumpirma mo na sisiguraduhin mo na tama ang mga setting ng repositoryo at mirror.
err_admin_name_pattern_not_allowed = Hindi angkop ang username ng tagapangasiwa, ang username ay tumutugma sa reserved pattern
ssh_port_helper = Numero ng port na gagamitin ng SSH server. Iwanang walang laman para i-disable ang SSH server.
server_service_title = Mga setting ng server at third-party na serbisyo
@@ -362,6 +362,10 @@ table_modal.placeholder.content = Nilalaman
table_modal.header = Magdagdag ng table
table_modal.label.rows = Mga Row
table_modal.label.columns = Mga Column
+link_modal.header = Magdagdag ng link
+link_modal.url = Url
+link_modal.description = Deskripsyon
+link_modal.paste_reminder = Pahiwatig: Kapag may URL sa clipboard, maari mong direktang i-paste sa editor para gumawa ng link.
[filter]
string.asc = A - Z
@@ -565,7 +569,7 @@ SSPISeparatorReplacement = Pang-hiwalay
SSPIDefaultLanguage = Default na wika
CommitSummary = Pangkalahatang-ideya ng commit
glob_pattern_error = ` hindi angkop ang glob pattern: %s`
-require_error = ` hindi maaring walang laman.`
+require_error = ` hindi maaaring walang laman.`
alpha_dash_error = ` dapat maglaman lamang ng alphanumeric, dash ("-") at underscore ("_") na mga character.`
alpha_dash_dot_error = ` dapat maglaman lamang ng alphanumeric, dash ("-"), underscore ("_") at tuldok (".") na mga character.`
git_ref_name_error = ` dapat na mahusay na nabuong pangalan ng Git reference`
@@ -613,8 +617,8 @@ unset_password = Hindi nagtakda ng password ang login user.
unsupported_login_type = Hindi sinusuportahan ang uri ng pag-login para burahin ang account.
user_not_exist = Hindi umiiral ang user.
team_not_exist = Hindi umiiral ang koponan.
-last_org_owner = Hindi mo maaring tanggalin ang pinakahuling user sa "mga may-ari" na koponan. Kailangan may kahit isang may-ari para sa organisasyon.
-cannot_add_org_to_team = Hindi maaring madagdag ang isang organisasyon bilang miyembro ng koponan.
+last_org_owner = Hindi mo maaaring tanggalin ang pinakahuling user sa "mga may-ari" na koponan. Kailangan may kahit isang may-ari para sa organisasyon.
+cannot_add_org_to_team = Hindi maaaring madagdag ang isang organisasyon bilang miyembro ng koponan.
duplicate_invite_to_team = Inimbita na ang user bilang miyembro ng koponan.
organization_leave_success = Matagumpay kang umalis sa organisasyon na %s.
invalid_ssh_key = Hindi ma-verify ang iyong SSH key: %s
@@ -629,7 +633,7 @@ still_own_packages = Ang iyong account ay nagmamay-ari ng isa o higit pang packa
org_still_own_repo = Ang organisasyon na ito ay nagmamay-ari ng isa o higit pang mga repositoryo, burahin o ilipat sila muna.
org_still_own_packages = Ang organisasyon na ito ay nagmamay-ari ng isa o higit pang mga package, burahin sila muna.
target_branch_not_exist = Hindi umiiral ang target branch.
-admin_cannot_delete_self = Hindi mo maaring burahin ang sarili mo kapag isa kang tagapangasiwa. Paki-tanggal ang iyong pribilehiyong tagapangasiwa muna.
+admin_cannot_delete_self = Hindi mo maaaring burahin ang sarili mo kapag isa kang tagapangasiwa. Paki-tanggal ang iyong pribilehiyong tagapangasiwa muna.
required_prefix = Ang input ay dapat magsimula sa "%s"
FullName = Buong pangalan
Description = Paglalarawan
@@ -762,8 +766,8 @@ gpg_token_code = echo "%s" | gpg -a --default-key %s --detach-sig
delete_token_success = Nabura na ang token. Ang mga application na gumagamit nito ay hindi na maa-access ang iyong account.
add_email_confirmation_sent = Ang isang email na pang-kumpirma ay ipinadala sa %s. Para kumpirmahin ang iyong email address, pakisuri ang iyong inbox at sundan ang ibinigay na link sa loob ng %s.
key_content_ssh_placeholder = Nagsisimula sa "ssh-ed25519", "ssh-rsa", "ecdsa-sha2-nistp256", "ecdsa-sha2-nistp384", "ecdsa-sha2-nistp521", "sk-ecdsa-sha2-nistp256@openssh.com", o "sk-ssh-ed25519@openssh.com"
-gpg_key_verified_long = Na-verify ang key na ito gamit ng isang token at maaring gamitin para i-verify ang mga commit na tumutugma sa anumang mga naka-activate na email address para sa user na ito kasama ang mga tumutugmang pagkakakilanlan para sa key na ito.
-ssh_key_verified_long = Ang key na ito ay na-verify gamit ng isang token at maaring gamitin para i-verify ang mga commit na tumutugma na email address para sa user na ito.
+gpg_key_verified_long = Na-verify ang key na ito gamit ng isang token at maaaring gamitin para i-verify ang mga commit na tumutugma sa anumang mga naka-activate na email address para sa user na ito kasama ang mga tumutugmang pagkakakilanlan para sa key na ito.
+ssh_key_verified_long = Ang key na ito ay na-verify gamit ng isang token at maaaring gamitin para i-verify ang mga commit na tumutugma na email address para sa user na ito.
add_principal_success = Idinagdag na ang SSH certificate principal na "%s".
ssh_key_deletion_desc = Ang pagtanggal ng SSH key ay matatanggihan ang pag-access sa iyong account. Magpatuloy?
no_activity = Walang kamakilang aktibidad
@@ -822,7 +826,7 @@ keep_email_private = Itago ang email address
openid_desc = Hinahayaan ka ng OpenID na mag-delegate ng pagpapatunay sa isang panlabas na tagabigay ng serbisyo.
ssh_desc = Ang mga pampublikong SSH key na ito ay nauugnay sa iyong account. Pinapayagan ng kaukulang pribadong key ang buong pag-access sa iyong mga repositoryo. Ang mga SSH key na na-verify ay maaaring magamit upang mapatunayan ang mga naka-sign na Git commit sa pamamagitan ng SSH.
principal_desc = Ang mga SSH principal na ito ay nauugnay sa iyong account at pinapayagan ang buong pag-access sa iyong mga repositoryo.
-ssh_helper = Kailangan ng tulong? Tignan ang guide sa paggawa ng sarili mong mga SSH key o ilutas ang mga karaniwang problema na maaring moong matagpo gamit ng SSH.
+ssh_helper = Kailangan ng tulong? Tignan ang guide sa paggawa ng sarili mong mga SSH key o ilutas ang mga karaniwang problema na maaaring moong matagpo gamit ng SSH.
gpg_helper = Kailangan ng tulong? Tignan ang guide tungkol sa GPG.
add_new_key = Magdagdag ng SSH key
add_new_gpg_key = Magdagdag ng GPG key
@@ -832,7 +836,7 @@ ssh_key_been_used = Idinagdag na ang SSH key na ito sa server.
ssh_key_name_used = Ang isang SSH key na may katulad na pangalan ay umiiral na sa iyong account.
ssh_principal_been_used = Idinagdag na ang principal na ito sa server.
gpg_key_matched_identities = Mga Tumutugma na Pagkakakilanlan:
-gpg_key_matched_identities_long = Ang mga naka-embed na pagkakakilanlan sa key na ito ay tumutugma sa mga sumusunod na naka-activate na email address para sa user na ito. Ang mga commit na tumutugma sa mga email address na ito ay maaring i-verify gamit ng key na ito.
+gpg_key_matched_identities_long = Ang mga naka-embed na pagkakakilanlan sa key na ito ay tumutugma sa mga sumusunod na naka-activate na email address para sa user na ito. Ang mga commit na tumutugma sa mga email address na ito ay maaaring i-verify gamit ng key na ito.
gpg_key_verified = Naka-verify na key
gpg_key_verify = I-verify
gpg_invalid_token_signature = Ang ibinigay na GPG key, signature, at token ay hindi tumutugma o luma.
@@ -984,7 +988,7 @@ manage_account_links_desc = Ang mga panlabas na account na ito ay naka-link sa i
hooks.desc = Magdagdag ng mga webhook na mati-trigger para sa lahat ng mga repositoryo na minamay-ari mo.
orgs_none = Hindi ka isang miyembro ng anumang mga organisasyon.
oauth2_application_create_description = Ang mga OAuth2 application ay pinapayagan ang mga third-party na aplikasyon na i-access ang mga user account sa instansya na ito.
-oauth2_application_locked = Ang Forgejo ay pini-pre register ang ibang mga OAuth2 application sa startup kapag naka-enable sa config. Para iwasan ang hindi inaasahang gawain, hindi ito maaring i-edit o tanggalin. Mangyaring sumangguni sa dokumentasyon ng OAuth2 para sa karagdagang impormasyon.
+oauth2_application_locked = Ang Forgejo ay pini-pre register ang ibang mga OAuth2 application sa startup kapag naka-enable sa config. Para iwasan ang hindi inaasahang gawain, hindi ito maaaring i-edit o tanggalin. Mangyaring sumangguni sa dokumentasyon ng OAuth2 para sa karagdagang impormasyon.
remove_account_link_desc = Ang pagtanggal ng naka-link na account ay babawiin ang pag-access nito sa iyong Forgejo account. Magpatuloy?
visibility.public_tooltip = Makikita ng lahat
hints = Mga Pahiwatig
@@ -1000,11 +1004,31 @@ keep_activity_private.description = Makikita mo lang at mga tagapangasiwa ng ins
language.description = Mase-save ang wika sa iyong account at gagamitin bilang default pagkatapos mong mag-log in.
language.localization_project = Tulungan kaming isalin ang Forgejo sa iyong wika! Matuto pa.
pronouns_custom_label = Mga pasadyang pronoun
-user_block_yourself = Hindi mo maaring harangan ang sarili mo.
+user_block_yourself = Hindi mo maaaring harangan ang sarili mo.
change_username_redirect_prompt.with_cooldown.one = Magiging available ang lumang username sa lahat pagkatapos ng panahon ng cooldown ng %[1]d araw, maari mo pa ring ma-claim muli ang lumang username sa panahon ng panahon ng cooldown.
change_username_redirect_prompt.with_cooldown.few = Magiging available ang lumang username sa lahat pagkatapos ng panahon ng cooldown ng %[1]d araw, maari mo pa ring ma-claim muli ang lumang username sa panahon ng panahon ng cooldown.
keep_pronouns_private = Ipakita lang ang mga panghalip sa mga naka-authenticate na user
keep_pronouns_private.description = Itatago nito ang iyong mga panghalip mula sa mga bisita na hindi naka-log in.
+quota.applies_to_user = Nag-aapply ang mga sumusunod na panuntunan ng quota sa iyong account
+quota.sizes.assets.attachments.issues = Mga attachment sa isyu
+quota.applies_to_org = Ang mga sumusunod na panuntunan sa quota ay nalalapat sa organisasyong ito
+storage_overview = Buod ng Storage
+quota = Quota
+quota.rule.exceeded = Nalampasan
+quota.rule.exceeded.helper = Ang kabuuang sukat ng mga bagay para sa panuntunang ito ay lumampas sa quota.
+quota.rule.no_limit = Walang limitasyon
+quota.sizes.all = Lahat
+quota.sizes.repos.all = Mga repositoryo
+quota.sizes.repos.public = Mga pampublikong repositoryo
+quota.sizes.repos.private = Mga pribadong repositoryo
+quota.sizes.git.all = Nilalaman ng Git
+quota.sizes.git.lfs = Git LFS
+quota.sizes.assets.all = Mga asset
+quota.sizes.assets.attachments.all = Mga attachment
+quota.sizes.assets.attachments.releases = Mga attachment sa release
+quota.sizes.assets.artifacts = Mga artifact
+quota.sizes.assets.packages.all = Mga package
+quota.sizes.wiki = Wiki
[repo]
template_description = Ang mga template na repositoryo ay pinapayagan ang mga gumagamit na mag-generate ng mga bagong repositoryo na may magkatulad na istraktura ng direktoryo, mga file, at opsyonal na mga setting.
@@ -1017,7 +1041,7 @@ admin.enabled_flags = Mga flag na naka-enable para sa repositoryo:
admin.update_flags = I-update ang mga flag
admin.flags_replaced = Napalitan ang mga flag ng repositoryo
owner = May-ari
-owner_helper = Maaring hindi mapapakita ang ibang organisasyon sa dropdown dahil sa pinakamataas na bilang ng repositoryo na limitasyon.
+owner_helper = Maaaring hindi mapapakita ang ibang organisasyon sa dropdown dahil sa pinakamataas na bilang ng repositoryo na limitasyon.
repo_name = Pangalan ng repositoryo
repo_name_helper = Ang mga magandang pangalan ng repositoryo ay gumagamit ng maliit, makakaalala, at unique na mga keyword.
repo_size = Laki ng Repositoryo
@@ -1033,7 +1057,7 @@ fork_repo = I-fork ang repositoryo
fork_from = I-fork mula sa
already_forked = Na-fork mo na ang %s
fork_to_different_account = Mag-fork sa ibang account
-fork_visibility_helper = Ang visibility ng isang naka-fork na repositoryo ay hindi maaring baguhin.
+fork_visibility_helper = Ang visibility ng isang naka-fork na repositoryo ay hindi maaaring baguhin.
open_with_editor = Buksan gamit ang %s
download_bundle = I-download ang BUNDLE
repo_gitignore_helper_desc = Piliin kung anong mga file na hindi susubaybayin sa listahan ng mga template para sa mga karaniwang wika. Ang mga tipikal na artifact na ginagawa ng mga build tool ng wika ay kasama sa .gitignore ng default.
@@ -1118,7 +1142,7 @@ stars = Mga bitwin
migrate_options_mirror_helper = Magiging salamin ang repositoryong ito
migrate_options_lfs_endpoint.description.local = Sinusuporta rin ang lokal na server path.
editor.this_file_locked = Nakakandado ang file
-editor.filename_cannot_be_empty = Hindi maaring walang laman ang pangalan ng file.
+editor.filename_cannot_be_empty = Hindi maaaring walang laman ang pangalan ng file.
commits.message = Mensahe
commits.newer = Mas bago
commits.date = Petsa
@@ -1175,7 +1199,7 @@ template.avatar = Avatar
migrate_options = Mga opsyon sa paglipat
migrate.clone_address_desc = Ang HTTP(S) o Git "clone" URL ng umiiral na repositoryo
need_auth = Awtorisasyon
-migrate.github_token_desc = Maari kang maglagay ng isa o higit pang mga token na hinihiwalay ng kuwit dito upang gawing mas-mabilis ang pagmigrate dahil sa rate limit ng GitHub API. BABALA: Ang pagabuso ng feature na ito ay maaring maglabag sa patakaran ng tagapagbigay ng serbisyo at maaring magdulot ng pag-block ng account.
+migrate.github_token_desc = Maaari kang maglagay ng isa o higit pang mga token na hinihiwalay ng kuwit dito upang gawing mas-mabilis ang pagmigrate dahil sa rate limit ng GitHub API. BABALA: Ang pagabuso ng feature na ito ay maaaring maglabag sa patakaran ng tagapagbigay ng serbisyo at maaaring magdulot ng pag-block ng account.
template.invalid = Kailangang pumili ng kahit isang template na repositoryo
migrate_options_lfs_endpoint.description = Susubukan ng migration na gamitin ang iyong Git remote upang matukoy ang LFS server. Maari mong magtiyak ng custom na endpoint kapag ang LFS data ng repositoryo ay nakalagay sa ibang lugar.
blame.ignore_revs.failed = Nabigong hindi pansinin ang mga rebisyon sa .git-blame-ignore-revs.
@@ -1208,7 +1232,7 @@ adopt_preexisting_success = Pinagtibay ang mga file at ginawa ang repositoryo mu
delete_preexisting_success = Burahin ang mga hindi pinatibay na file sa %s
blame_prior = Tignan ang blame bago ang pagbabago na ito
migrate.permission_denied = Hindi ka pinapayagang mag-import ng mga lokal na repositoryo.
-migrate.permission_denied_blocked = Hindi ka maaring mag-import mula sa mga hindi pinapayagang host, magyaring magtanong sa pangangasiwa na suriin ang ALLOWED_DOMAINS/ALLOW_LOCALNETWORKS/BLOCKED_DOMAINS na mga setting.
+migrate.permission_denied_blocked = Hindi ka maaaring mag-import mula sa mga hindi pinapayagang host, magyaring magtanong sa pangangasiwa na suriin ang ALLOWED_DOMAINS/ALLOW_LOCALNETWORKS/BLOCKED_DOMAINS na mga setting.
migrate.invalid_local_path = Hindi wasto ang lokal na path. Hindi ito umiiral o hindi isang direktoryo.
migrate.invalid_lfs_endpoint = Hindi wasto ang LFS endpoint.
migrate.migrating_failed = Nabigo ang pag-migrate mula sa %s.
@@ -1257,7 +1281,7 @@ file_follow = Sundan ang symlink
file_view_source = Tignan ang source
file_view_rendered = Tignan ng naka-render
ambiguous_runes_header = `Naglalaman ng file na ito ng mga hindi tiyak na Unicode character`
-ambiguous_runes_description = `Ang file na ito ay naglalaman ng mga Unicode character na maaring malilito sa ibang mga character. Kung sa tingin mo ay sinasadya ito, maari mong ligtas na hindi pansinin ang babala ito. Gamitin ang I-escape na button para ipakita sila.`
+ambiguous_runes_description = `Ang file na ito ay naglalaman ng mga Unicode character na maaaring malilito sa ibang mga character. Kung sa tingin mo ay sinasadya ito, maaari mong ligtas na hindi pansinin ang babala ito. Gamitin ang I-escape na button para ipakita sila.`
file_copy_permalink = Kopyahin ang permalink
view_git_blame = Tignan ang git blame
video_not_supported_in_browser = Hindi sinusuportahan ng inyong browser ang HTML5 "video" tag.
@@ -1287,7 +1311,7 @@ broken_message = Ang Git data na pinagbabatayan sa repositoryo na ito ay hindi m
file_history = Kasaysayan
invisible_runes_header = `Nalalaman ng file na ito ng mga hindi nakikitang Unicode character`
file_too_large = Masyadong malaki ang file para ipakita.
-invisible_runes_description = `Ang file na ito ay naglalaman ng mga hindi nakikitang Unicode character na hindi nakikilala ng mga tao ngunit maaring maproseso ng ibang paraan ng isang computer. Kung sa tingin mo ay sinasadya ito, maari mong ligtas na hindi pansinin ang babala na ito. Gamitin ang I-escape na button para ipakita sila.`
+invisible_runes_description = `Ang file na ito ay naglalaman ng mga hindi nakikitang Unicode character na hindi nakikilala ng mga tao ngunit maaaring maproseso ng ibang paraan ng isang computer. Kung sa tingin mo ay sinasadya ito, maaari mong ligtas na hindi pansinin ang babala na ito. Gamitin ang I-escape na button para ipakita sila.`
commit.contained_in_default_branch = Ang commit na ito ay bahagi ng default na branch
migrate.migrating_labels = Nililipat ang mga label
filter_branch_and_tag = I-filter ang branch o tag
@@ -1321,7 +1345,7 @@ clone_this_repo = I-clone ang repositoryo na ito
cite_this_repo = Banggitin ang repositoryo na ito
create_new_repo_command = Paggawa ng bagong repositoryo sa command line
code = Code
-ambiguous_character = `Ang %[1]c [U+%04[1]X] ay maaring malito sa %[2]c [U+%04[2]X]`
+ambiguous_character = `Ang %[1]c [U+%04[1]X] ay maaaring malito sa %[2]c [U+%04[2]X]`
escape_control_characters = I-escape
unescape_control_characters = I-unescape
invisible_runes_line = `Ang linya na ito ay may mga hindi nakikitang Unicode character`
@@ -1335,7 +1359,7 @@ editor.must_be_on_a_branch = Dapat nasa branch ka upang gumawa o magmunkahi ng m
editor.new_branch_name_desc = Bagong pangalan ng branch…
editor.cancel = Kanselahin
issues.role.member = Miyembro
-issues.remove_request_review_block = Hindi maaring tanggalin ang hiling sa pagsuri
+issues.remove_request_review_block = Hindi maaaring tanggalin ang hiling sa pagsuri
issues.edit = Baguhin
issues.cancel = Kanselahin
issues.save = IImbak
@@ -1736,7 +1760,7 @@ issues.label_exclusive_desc = Pangalanan ang label na scope/item up
issues.archived_label_description = (Naka-archive) %s
issues.label.filter_sort.alphabetically = Ayon sa alpabeto
issues.subscribe = Mag-subscribe
-issues.max_pinned = Hindi ka maaring mag-pin ng higit pang mga isyu
+issues.max_pinned = Hindi ka maaaring mag-pin ng higit pang mga isyu
issues.pin_comment = na-pin ito %s
issues.unpin_comment = na-unpin ito %s
issues.lock = I-lock ang usapan
@@ -1792,7 +1816,7 @@ wiki.last_commit_info = Binago ni %s ang pahinang ito %s
issues.content_history.edited = binago
issues.ref_pull_from = `isinangguni ang hiling sa paghila na ito %[4]s %[2]s`
pulls.merged_title_desc_few = isinali ang %[1]d mga commit mula sa %[2]s patungong %[3]s %[4]s
-settings.org_not_allowed_to_be_collaborator = Hindi maaring idagdag ang mga organizasyon bilang tagatulong.
+settings.org_not_allowed_to_be_collaborator = Hindi maaaring idagdag ang mga organisasyon bilang tagatulong.
settings.add_collaborator_success = Naidagdag ang tagatulong.
settings.federation_following_repos = Mga URL ng Mga Sinusundang Repositoryo. Hinihiwalay ng ";", walang whitespace.
diff.comment.reply = Tumugon
@@ -1891,8 +1915,8 @@ issues.dependency.remove_info = Tanggalin ang dependency na ito
issues.dependency.added_dependency = `nagdagdag ng bagong dependency %s`
issues.review.dismissed_label = Nadismiss
issues.review.dismissed = nadismiss ang pagsuri ni %s %s
-issues.review.self.approval = Hindi mo maaring aprubahan ang sarili mong hiling sa paghila.
-issues.review.self.rejection = Hindi mo maaring humiling ng pagbabago sa sarili mong hiling sa paghila.
+issues.review.self.approval = Hindi mo maaaring aprubahan ang sarili mong hiling sa paghila.
+issues.review.self.rejection = Hindi mo maaaring humiling ng pagbabago sa sarili mong hiling sa paghila.
pulls.nothing_to_compare_have_tag = Magkapareho ang mga piniling branch/tag.
issues.dependency.no_permission_1 = Wala kang pahintulot na basahin ang dependency na %d
issues.dependency.no_permission_n = Wala kang pahintulot na basahin ang mga %d dependency
@@ -1926,7 +1950,7 @@ activity.active_prs_count_n = %d aktibong mga hiling sa paghila
issues.author.tooltip.issue = May-akda ng iysung ito ang user.
issues.author.tooltip.pr = May-akda ng hiling sa paghila na ito ang user na ito.
issues.dependency.add_error_dep_exists = Umiiral na and dependency.
-issues.dependency.add_error_cannot_create_circular = Hindi ka maaring gumawa ng dependency na may dalawang isyu na humaharang sa isa't isa.
+issues.dependency.add_error_cannot_create_circular = Hindi ka maaaring gumawa ng dependency na may dalawang isyu na humaharang sa isa't isa.
issues.dependency.add_error_same_issue = Hindi mo magagwang dumepende ang isyu sa sarili.
issues.dependency.add_error_dep_not_same_repo = Dapat nasa katulad na repositoryo ang mga isyu.
issues.dependency.add_error_dep_issue_not_exist = Hindi umiiral ang dumedependeng isyu.
@@ -1945,7 +1969,7 @@ issues.review.show_resolved = Ipakita ang naresolba
issues.review.hide_resolved = Itago ang naresolba
issues.review.resolve_conversation = Iresolba ang paguusap
issues.review.un_resolve_conversation = I-unresolve ang paguusap
-issues.blocked_by_user = Hindi ka maaring gumawa ng isyu sa repositoryo na ito dahil hinarang ka ng may-ari ng repositoryo.
+issues.blocked_by_user = Hindi ka maaaring gumawa ng mga isyu sa repositoryong ito dahil hinarang ka ng may-ari ng repositoryo.
issues.review.show_outdated = Ipakita ang luma
issues.review.hide_outdated = Itago ang luma
issues.review.resolved_by = minarkahan ang paguusap na ito bilang naresolba
@@ -1963,7 +1987,7 @@ wiki.wiki_page_revisions = Mga rebisyon ng pahina
settings.federation_not_enabled = Hindi naka-enable ang federation sa instansya na ito.
pulls.filter_changes_by_commit = I-filter ayon sa commit
settings.githooks = Mga Git hook
-issues.comment.blocked_by_user = Hindi ka makakagawa ng komento sa isyu na ito dahil hinarang ka ng may-ari ng repositoryo o ng gumawa ng isyu.
+issues.comment.blocked_by_user = Hindi ka maaaring gumawa ng komento sa isyu na ito dahil hinarang ka ng may-ari ng repositoryo o ng gumawa ng isyu.
pulls.view = Tignan ang hiling sa paghila
activity.navbar.contributors = Mga contributor
activity.navbar.recent_commits = Mga kamakailang commit
@@ -2042,7 +2066,7 @@ pulls.wrong_commit_id = ang commit id ay dapat ang commit id sa patutunguhan na
pulls.blocked_by_changed_protected_files_1 = Hinarangan ang hiling sa paghila na ito dahil nagbabago ito ng isang nakaprotektang file:
pulls.blocked_by_changed_protected_files_n = Hinarangan ang hiling sa paghila na ito dahil nagbabago ito ng mga nakaprotektang file:
pulls.blocked_by_official_review_requests = Hinarangan ang hiling sa paghila na ito dahil may nawawalang pag-apruba mula sa isa o higit pang mga opisyal na tagasuri.
-pulls.can_auto_merge_desc = Maaring isama ng awtomatiko ang hiling sa paghila na ito.
+pulls.can_auto_merge_desc = Maaaring isama ng awtomatiko ang hiling sa paghila na ito.
pulls.num_conflicting_files_n = %d mga magkasalungat na file
pulls.num_conflicting_files_1 = %d magkasalungat na file
issues.review.add_review_requests = humiling ng mga pagsuri mula sa %[1]s %[2]s
@@ -2322,7 +2346,7 @@ settings.convert_confirm = I-convert ang repositoryo
settings.webhook.replay.description_disabled = Para i-replay ang webhook na ito, i-activate ito.
settings.tracker_issue_style.regexp = Regular na Ekspresyon
settings.admin_stats_indexer = Taga-index ng istatistika ng code
-pulls.open_unmerged_pull_exists = `Hindi ka maaring gumawa ng pagbukas-muli na operasyon dahil may nakabinbin na hiling sa paghila (#%d) na may magkatulad na katangian.`
+pulls.open_unmerged_pull_exists = `Hindi ka maaaring gumawa ng pagbukas-muli na operasyon dahil may nakabinbin na hiling sa paghila (#%d) na may magkatulad na katangian.`
milestones.deletion_success = Binura na ang milestone.
pulls.auto_merge_has_pending_schedule = Naiskedyul ni %[1]s na awtomatiko na isama ang hiling sa paghila na ito kapag magtagumpay ang lahat ng mga pagsusuri %[2]s.
issues.summary_card_alt = Pangkalahatang-ideyang card ng isyu na tawag na "%s" sa repositoryong %s
@@ -2390,9 +2414,9 @@ settings.external_wiki_url_desc = Ire-redirect ang mga bisita sa URL ng panlabas
settings.use_external_issue_tracker = Gumamit ng panlabas na tagasubaybay na isyu
settings.wiki_desc = I-enable ang wiki ng repositoryo
settings.trust_model.default.desc = Gamitin ang default na modelo ng pagkatiwala ng repositoryo para sa installation na ito.
-settings.add_webhook.invalid_path = Hindi maaring maglaman ang path ng parte na "." o ".." o walang laman na string. Hindi maaring magsimula o magtapos sa slash.
+settings.add_webhook.invalid_path = Hindi maaaring maglaman ang path ng parte na "." o ".." o walang laman na string. Hindi maaaring magsimula o magtapos sa slash.
settings.webhook_deletion = Tanggalin ang webhook
-settings.add_webhook.invalid_channel_name = Hindi maaring walang laman ang pangalan ng channel ng webhook at hindi maaring maglaman lang ng # na character.
+settings.add_webhook.invalid_channel_name = Hindi maaaring walang laman ang pangalan ng channel ng webhook at hindi maaaring maglaman lang ng # na character.
pulls.update_branch = I-update ang branch sa pamamagitan ng pagsama
pulls.status_checks_show_all = Ipakita ang lahat ng mga pagsusuri
pulls.cmd_instruction_checkout_title = I-checkout
@@ -2445,8 +2469,8 @@ settings.mirror_settings.docs.doc_link_title = Paano ako mag-mirror ng mga repos
settings.pull_mirror_sync_quota_exceeded = Nalagpasan ang quota, hindi hihila ng mga pagbabago.
settings.mirror_settings.push_mirror.none_ssh = Wala
settings.mirror_settings.push_mirror.copy_public_key = Kopyahin ang publikong key
-pulls.delete_after_merge.head_branch.is_protected = Ang head branch na gusto mong burahin ay isang pinoprotektahang branch at hindi maaring burahin.
-pulls.delete_after_merge.head_branch.is_default = Ang head branch na gusto mong burahin ay ang default branch at hindi maaring burahin.
+pulls.delete_after_merge.head_branch.is_protected = Ang head branch na gusto mong burahin ay isang pinoprotektahang branch at hindi maaaring burahin.
+pulls.delete_after_merge.head_branch.is_default = Ang head branch na gusto mong burahin ay ang default branch at hindi maaaring burahin.
issues.num_reviews_few = %d mga pagsusuri
issues.num_reviews_one = %d pagsusuri
diff.image.swipe = I-swipe
@@ -2469,7 +2493,7 @@ diff.comment.add_single_comment = Magdagdag ng iisang komento
diff.comment.placeholder = Mag-iwan ng komento
release.detail = Mga detalye sa release
release.tags = Mga tag
-release.title_empty = Hindi maaring walang laman ang paksa.
+release.title_empty = Hindi maaaring walang laman ang paksa.
branch.included_desc = Ang branch na ito ay kabilang ng default branch
release.source_code = Source code
release.edit_subheader = Inaayos ng mga release ang mga bersyon ng proyekto.
@@ -2512,8 +2536,8 @@ settings.block_outdated_branch_desc = Hindi magiging posible ang pagsasama kung
settings.block_rejected_reviews_desc = Hindi magiging posible ang pagsasama kapag may mga hiniling ng pagbabago ang mga opisyal na tagasuri, kahit na may sapat na pagapruba.
settings.block_on_official_review_requests = Harangan ang merge sa opisyal na hiling sa pagsuri
settings.tags.protection.allowed = Pinapayagan
-settings.lfs_delete_warning = Ang pagbura ng LFS file ay maaring magdulot ng mga "object does not exist" na error sa checkout. Sigurado ka ba?
-settings.protected_branch_required_approvals_min = Hindi maaring negatibo ang mga kinakailangang pagapruba.
+settings.lfs_delete_warning = Ang pagbura ng LFS file ay maaaring magdulot ng mga "object does not exist" na error sa checkout. Sigurado ka ba?
+settings.protected_branch_required_approvals_min = Hindi maaaring negatibo ang mga kinakailangang pagapruba.
settings.lfs_lock_path = File path na kakandaduhin…
settings.lfs_force_unlock = Pilitin ang pag-unlock
settings.lfs_pointers.accessible = Naa-access ng user
@@ -2524,7 +2548,7 @@ settings.protect_merge_whitelist_users = Mga naka-whitelist na user para sa pags
settings.protect_merge_whitelist_teams = Mga naka-whitelist na koponan para sa pagsasama
settings.protect_check_status_contexts = I-enable ang pagsusuri ng estado
settings.protect_status_check_patterns = Mga pattern sa pagsusuri ng estado
-settings.protect_status_check_patterns_desc = Ilagay ang mga pattern para i-specify kung aling mga pagsusuri ng estado na kailangang magpasa bago maisama ang mga branch sa isang branch na tumutugma sa rule na ito. Nagse-specify ang bawat linya ng pattern. Hindi maaring walang laman ang mga pattern.
+settings.protect_status_check_patterns_desc = Ilagay ang mga pattern para i-specify kung aling mga pagsusuri ng estado na kailangang magpasa bago maisama ang mga branch sa isang branch na tumutugma sa rule na ito. Nagse-specify ang bawat linya ng pattern. Hindi maaaring walang laman ang mga pattern.
settings.protect_check_status_contexts_list = Mga pagsusuri ng estado na nahanap sa huling linggo para sa repositoryo na ito
diff.generated = na-generate
branch.confirm_create_branch = Gumawa ng branch
@@ -2674,9 +2698,9 @@ settings.protected_branch_deletion_desc = Ang pag-disable ng branch protection a
settings.rename_branch_failed_protected = Hindi mababago ang pangalan ng branch na %s dahil ito ay isang nakaprotektang branch.
editor.add_tmpl.filename = Pangalan ng file
settings.protect_approvals_whitelist_users = Mga naka-whitelist na tagasuri
-settings.protect_protected_file_patterns_desc = Ang mga nakaprotektang file ay hindi pinapayagan na direktang mabago kahit na may karapatan ang user na magdagdag, i-edit, o burahin ang mga file sa branch na ito. Ang mga maraming pattern ay maaring mahiwalay gamit ng semicolon (";"). Tignan ang %[2]s na dokumentasyon para sa pattern syntax. Mga halimbawa: .drone.yml, /docs/**/*.txt.
-branch.delete_branch_has_new_commits = Hindi maaring burahin ang branch na "%s" dahil may mga bagong commit na nadagdag matapos ang pagsasama.
-settings.protect_unprotected_file_patterns_desc = Ang mga hindi nakaprotektang file ay pinapayagan na direktang mabago kung may write access ang user, bina-bypass ang restriction ng pagtulak. Ang mga maraming pattern ay maaring mahiwalay gamit ng semicolon (";"). Tignan ang %[2]s na dokumentasyon para sa pattern syntax. Mga halimbawa: .drone.yml, /docs/**/*.txt.
+settings.protect_protected_file_patterns_desc = Ang mga nakaprotektang file ay hindi pinapayagan na direktang mabago kahit na may karapatan ang user na magdagdag, i-edit, o burahin ang mga file sa branch na ito. Ang mga maraming pattern ay maaaring mahiwalay gamit ng semicolon (";"). Tignan ang %[2]s na dokumentasyon para sa pattern syntax. Mga halimbawa: .drone.yml, /docs/**/*.txt.
+branch.delete_branch_has_new_commits = Hindi maaaring burahin ang branch na "%s" dahil may mga bagong commit na nadagdag matapos ang pagsasama.
+settings.protect_unprotected_file_patterns_desc = Ang mga hindi nakaprotektang file ay pinapayagan na direktang mabago kung may write access ang user, bina-bypass ang restriction ng pagtulak. Ang mga maraming pattern ay maaaring mahiwalay gamit ng semicolon (";"). Tignan ang %[2]s na dokumentasyon para sa pattern syntax. Mga halimbawa: .drone.yml, /docs/**/*.txt.
settings.no_protected_branch = Walang mga nakaprotekta na branch.
settings.protected_branch_required_rule_name = Kinakailangan na pangalan ng rule
settings.protected_branch_duplicate_rule_name = Mayroon nang rule para sa set ng mga branch na ito
@@ -2692,7 +2716,7 @@ branch.branch_name_conflict = Sumasalungat ang pangalan ng branch na "%s" sa umi
branch.protected_deletion_failed = Nakaprotekta ang branch na "%s". Hindi ito mabubura.
diff.file_after = Pagkatapos
release.deletion_tag_desc = Buburahin ang tag na ito sa repositoryo. Mapapanatiling hindi nabago ang nilalaman at kasaysayan ng repositoryo. Magpatuloy?
-topic.format_prompt = Dapat magsimula ang mga topic ng numero o letra, maaring magsama ng mga dash ("-") at dot ("."), maaring hanggang sa 35 na character na haba. Kailangang lowercase ang mga character.
+topic.format_prompt = Dapat magsimula ang mga topic ng numero o letra, maaaring magsama ng mga dash ("-") at dot ("."), maaaring hanggang sa 35 na character na haba. Kailangang lowercase ang mga character.
branch.new_branch_from = Gumawa ng bagong branch mula sa "%s"
error.csv.unexpected = Hindi ma-render ang file na ito dahil naglalaman ito ng hindi inaasahang character sa linyang %d at column %d.
settings.ignore_stale_approvals_desc = Huwag ibilang ang mga pagapruba na ginawa sa mga lumang commit (mga lipas na pagsusuri) sa kung gaano karaming pagapruba ang mayroon sa PR na ito. Walang kinalaman kung ang mga lipas na pagsusuri ay na-dismiss na.
@@ -2735,6 +2759,10 @@ archive.pull.noreview = Naka-archive ang repositoryong ito. Hindi ka makakasuri
commits.view_single_diff = Tignan ang mga pagbabago sa file na ito na ipinakilala sa commit na ito
pulls.editable = Nababago
pulls.editable_explanation = Pinapayagan ng hiling sa paghila na ito ang mga pagbabago mula sa mga tagapangasiwa. Maaari kang direktang mag-ambag dito.
+issues.reopen.blocked_by_user = Hindi mo maaaring buksan muli ang isyung ito dahil hinarang ka ng may-ari ng repositoryo o ng may-akda ng isyung ito.
+pulls.comment.blocked_by_user = Hindi ka maaaring magkomento sa hiling sa paghila na ito dahil hinarang ka ng may-ari ng repositoryo o ng may-akda ng hiling sa paghila.
+issues.filter_no_results = Walang mga resulta
+issues.filter_no_results_placeholder = Subukang ayusin ang iyong mga filter sa paghahanap.
[search]
commit_kind = Maghanap ng mga commit…
@@ -2845,11 +2873,11 @@ users.repos = Mga Repo
users.send_register_notify = Abisuhan tungkol sa pagrehistro sa pamamagitan ng email
users.is_admin = Tagapangasiwa na account
users.is_restricted = Pinaghihigpitang account
-users.allow_import_local = Maaring mag-import ng mga lokal na repositoryo
+users.allow_import_local = Maaaring mag-import ng mga lokal na repositoryo
users.allow_create_organization = Makakagawa ng mga organisasyon
users.update_profile = I-update ang user account
users.delete_account = Burahin ang user account
-users.cannot_delete_self = Hindi mo maaring burahin ang sarili mo
+users.cannot_delete_self = Hindi mo maaaring burahin ang sarili mo
users.still_own_repo = Ang user na ito ay nagmamay-ari pa ng isa o higit pang mga repositoryo. Burahin o ilipat sila muna.
users.list_status_filter.is_active = Aktibo
users.list_status_filter.not_active = Hindi aktibo
@@ -3120,7 +3148,7 @@ config.allow_dots_in_usernames = Payagan ang mga user na gumamit ng mga dot sa k
config.https_only = HTTPS lamang
auths.tip.github = Magrehistro ng bagong OAuth application sa %s
auths.tip.gitlab_new = Magrehistro ng bagong application sa %s
-emails.delete_primary_email_error = Hindi mo maaring burahin ang pangunahing email.
+emails.delete_primary_email_error = Hindi mo maaaring burahin ang pangunahing email.
config.provider_config = Config ng provider
config.cache_test_slow = Matagumpay ang pagsubok ng cache, ngunit mabagal ang tugon: %s.
config.picture_config = Configuration ng larawan at avatar
@@ -3271,7 +3299,7 @@ config.cookie_name = Pangalan ng cookie
config.gc_interval_time = Oras ng pagitan ng GC
config.cookie_life_time = Lifetime ng cookie
config.git_clone_timeout = Timeout ng operasyon na pag-clone
-monitor.process.cancel_desc = Ang pagkansela ng proseso ay maaring magdulot ng pagkawalan ng data
+monitor.process.cancel_desc = Ang pagkansela ng proseso ay maaaring magdulot ng pagkawalan ng data
monitor.queue.name = Pangalan
auths.oauth2_required_claim_value_helper = Itakda ang value na ito upang i-restrict ang pag-login mula sa pinagmulang ito sa mga user na may claim na may ganitong pangalan at value
auths.tip.bitbucket = Magrehistro ng bagong OAuth consumer sa %s at idagdag ang pahintulot na "Account" - "Read"
@@ -3358,7 +3386,7 @@ members.member = Miyembro
members.private_helper = Gawing visible
settings.location = Lokasyon
settings.update_setting_success = Nabago na ang mga setting ng organisasyon.
-teams.can_create_org_repo_helper = Maaring gumawa ang mga miyembro ng mga bagong repositoryo sa organisasyon. Magkakaroon ng tagapangasiwa na access ang tagagawa sa bagong repositoryo.
+teams.can_create_org_repo_helper = Maaaring gumawa ang mga miyembro ng mga bagong repositoryo sa organisasyon. Magkakaroon ng tagapangasiwa na access ang tagagawa sa bagong repositoryo.
settings.change_orgname_prompt = Tandaan: Ang pagpalit ng pangalan ng organisasyon ay papalitan din ang URL ng organisasyon at mapapalaya ang lumang pangalan.
settings.labels_desc = Magdagdag ng mga label na magagamit sa mga isyu para sa lahat ng mga repositoryo sa ilalim ng organisasyon.
members.public_helper = Gawing nakatago
@@ -3583,7 +3611,7 @@ search_in_external_registry = Maghanap sa %s
alt.registry = I-setup ang registry na ito mula sa command line:
alt.registry.install = Para i-install ang package na ito, patakbuhin ang sumusunod na command:
alt.install = I-install ang package
-alt.setup = Idagdag ang repositoryo sa listahan ng mga nakakonektang repositoryo (piliin ang kinakailangang architechture sa halip ng '_arch_'):
+alt.setup = Idagdag ang repositoryo sa listahan ng mga nakakonektang repositoryo (piliin ang kinakailangang architechture sa halip ng "_arch_"):
alt.repository = Info ng repositoryo
alt.repository.architectures = Mga architechture
alt.repository.multiple_groups = Available ang package na ito sa iba't ibang grupo.
@@ -3641,7 +3669,7 @@ variables.deletion.description = Permanente ang pagtanggal ng isang variable at
status.running = Tumatakbo
runners.new_notice = Paano magsimula ng runner
runners.update_runner_success = Matagumpay na na-update ang runner
-runners.delete_runner_notice = Kapag may trabaho na tumatakbo sa runner na ito, titigilan ito at mamarkahan bilang nabigo. Maaring sirain ang building workflow.
+runners.delete_runner_notice = Kapag may trabaho na tumatakbo sa runner na ito, titigilan ito at mamarkahan bilang nabigo. Maaaring sirain ang building workflow.
runners.none = Walang mga available na runner
runs.status_no_select = Lahat ng status
runs.empty_commit_message = (walang laman na mensahe ng commit)
@@ -3781,7 +3809,7 @@ error.unit_not_allowed = Hindi ka pinapayagang ma-access ang seksyon ng reposito
[dropzone]
default_message = I-drop ang mga file o mag-click dito para mag-upload.
-invalid_input_type = Hindi ka maaring mag-upload ng mga file sa uri na ito.
+invalid_input_type = Hindi ka maaaring mag-upload ng mga file sa uri na ito.
file_too_big = Ang laki ng file ({{filesize}}) MB) ay lumalagpas sa pinakamataas na size na ({{maxFilesize}} MB).
remove_file = Tanggalin ang file
diff --git a/options/locale/locale_ga-IE.ini b/options/locale/locale_ga-IE.ini
index b7372e12f2..d2d960b627 100644
--- a/options/locale/locale_ga-IE.ini
+++ b/options/locale/locale_ga-IE.ini
@@ -19,8 +19,8 @@ language = Teanga
notifications = Fógraí
active_stopwatch = Rianaitheoir Ama Gníomhach
tracked_time_summary = Achoimre ar an am rianaithe bunaithe ar scagairí an liosta eisiúna
-create_new = Cruthaigh...
-user_profile_and_more = Próifíl agus Socruithe...
+create_new = Cruthaigh…
+user_profile_and_more = Próifíl agus Socruithe…
signed_in_as = Sínithe isteach mar
enable_javascript = Éilíonn JavaScript ar an suíomh Gréasáin seo.
toc = Tábla na nÁbhar
diff --git a/options/locale/locale_gl.ini b/options/locale/locale_gl.ini
index 6583eca499..75763775eb 100644
--- a/options/locale/locale_gl.ini
+++ b/options/locale/locale_gl.ini
@@ -187,6 +187,9 @@ buttons.switch_to_legacy.tooltip = Utilizar o editor herdado
buttons.new_table.tooltip = Engadir táboa
table_modal.header = Engadir táboa
table_modal.placeholder.header = Cabeceira
+link_modal.header = Engadir ligazón
+link_modal.url = Url
+link_modal.description = Descrición
[search]
@@ -221,6 +224,7 @@ platform = Multiplataforma
app_desc = Um servizo Git autoxestionado e fácil de usar
install = Fácil de instalar
install_desc = Simplemente executa o binario para a túa plataforma, envíao con Docker ou consígueo empaquetado.
+license = Código aberto
[error]
occurred = Ocorreu un erro
@@ -264,4 +268,26 @@ sqlite_helper = Ruta do ficheiro para a base de datos SQLite3. Introduza unha
reinstall_confirm_message = A reinstalación cunha base de datos Forgejo existente pode causar varios problemas. Na maioría dos casos, deberías usar o teu "app.ini" existente para executar Forgejo. Se sabes o que estás facendo, confirma o seguinte:
reinstall_confirm_check_1 = É posible que se perdan os datos cifrados pola SECRET_KEY en app.ini: é posible que os usuarios non poidan iniciar sesión con 2FA/OTP e que os espellos non funcionen correctamente. Ao marcar esta caixa, confirmas que o ficheiro app.ini actual contén a SECRET_KEY correcta.
disable_gravatar.description = Desactiva o uso de Gravatar ou outras fontes de avatares de terceiros. As imaxes predeterminadas utilizaranse para os avatares dos usuarios a menos que carguen o seu propio avatar na instancia.
-federated_avatar_lookup = Activar avatares federados
\ No newline at end of file
+federated_avatar_lookup = Activar avatares federados
+repo_path = Ruta raíz do repositorio
+run_user = O usuario co que executar
+password = Contrasinal
+repo_path_helper = Os repositorios Git remotos gardaránse neste directorio.
+lfs_path = Ruta raíz de Git LFS
+install = Instalación
+db_title = Configuración da base de datos
+db_name = Nome da base de datos
+db_schema = Esquema
+db_schema_helper = Déixao baleiro para a base de datos por defecto ("public").
+app_name = Título da instancia
+user = Nome de usuario
+general_title = Opcións xerais
+app_name_helper = Escribe o nome da túa instancia aqui. Será amosado en cada páxina.
+mailer_user = Usuario SMTP
+mailer_password = Contrasinal SMTP
+title = Configuración inicial
+db_type = Tipo de base de datos
+app_slogan = Slogan da instancia
+app_slogan_helper = Escribe o slogan da túa instancia aqui. Ou deixao baleiro para desabilitala.
+domain = Dominio do servidor
+ssh_port = Porto do servidor SSH
\ No newline at end of file
diff --git a/options/locale/locale_lv-LV.ini b/options/locale/locale_lv-LV.ini
index e01064588f..dade632016 100644
--- a/options/locale/locale_lv-LV.ini
+++ b/options/locale/locale_lv-LV.ini
@@ -7,7 +7,7 @@ logo=Logo
sign_in=Pieteikties
sign_in_with_provider=Pieteikties ar %s
sign_in_or=vai
-sign_out=Attekties
+sign_out=Atteikties
sign_up=Reģistrēties
link_account=Sasaistīt kontu
register=Reģistrēties
@@ -162,7 +162,7 @@ filter.not_archived = Nav arhivētas
filter.is_fork = Atzarojumi
filter.not_fork = Nav atzarojumi
filter.is_mirror = Spoguļglabātavas
-filter.public = Publiskas
+filter.public = Atklātas
filter.private = Privātas
filter.clear = Notīrīt atlasi
confirm_delete_artifact = Vai tiešām izdzēst artefaktu '%s'?
@@ -206,6 +206,10 @@ buttons.indent.tooltip = Pārvietot vienumus vienu līmeni dziļāk
buttons.unindent.tooltip = Pārvietot vienumus vienu līmeni augstāk
buttons.new_table.tooltip = Pievienot tabulu
table_modal.header = Pievienot tabulu
+link_modal.header = Pievienot saiti
+link_modal.url = URL
+link_modal.description = Apraksts
+link_modal.paste_reminder = Norāde: starpliktuvē esošu URL var ielīmēt uzreiz redaktorā, lai izveidotu saiti.
[filter]
string.asc=A - Z
@@ -298,7 +302,7 @@ disable_gravatar.description=Atspējot Gravatar un citu trešo pušu attēlu avo
federated_avatar_lookup=Iespējot apvienotos profila attēlus
federated_avatar_lookup.description=Uzmeklēt profila attēlus ar Libravatar.
disable_registration=Atspējot pašreģistrēšanos
-disable_registration.description=Tikai servera pārvaldītāji varēs izveidot jaunus lietotāju kontus. Ir ļoti ieteicams reģistrēšanos paturēt atspējotu, ja vien nav iecerēts mitināt visiem pieejamu publisku serveri un ir gatavība tikt galā ar lielu negodprātīgu kontu skaitu.
+disable_registration.description=Tikai servera pārvaldītāji varēs izveidot jaunus lietotāju kontus. Ir ļoti ieteicams reģistrēšanos paturēt atspējotu, ja vien nav iecerēts mitināt visiem pieejamu serveri un ir gatavība tikt galā ar lielu negodprātīgu kontu skaitu.
allow_only_external_registration.description=Lietotāji varēs izveidot jaunos kontus tikai izmantojot konfigurētus ārējos pakalpojumus.
openid_signin=Iespējot pieteikšanos ar OpenID
openid_signin.description=Ļaut lietotājiem pieteikties ar OpenID.
@@ -370,9 +374,9 @@ show_only_archived=Attēlot tikai arhivētos
show_only_unarchived=Attēlot tikai nearhivētos
show_private=Privāts
-show_both_private_public=Attēlot gan publiskos, gan privātos
+show_both_private_public=Rāda gan atklātās, gan privātās
show_only_private=Attēlot tikai privātos
-show_only_public=Attēlot tikai publiskos
+show_only_public=Attēlo tikai atklātās
issues.in_your_repos=Manās glabātavās
@@ -470,7 +474,7 @@ authorize_title=Pilnvarot "%s" piekļuvi Tavam kontam?
authorization_failed=Pilnvarošana neizdevās
authorization_failed_desc=Pilnvarošana neizdevās, jo tika noteikts nederīgs pieprasījums. Lūgums sazināties ar lietotnes, no kuras tika veikts pilnvarošanas pieprasījums, uzturētāju.
sspi_auth_failed=SSPI autentifikācija neizdevās
-password_pwned=Izvēlētā parole ir nozagto paroļu sarakstā, kas iepriekš ir atklāts publiskās datu noplūdēs. Lūgums mēģināt vēlreiz ar citu paroli un apsvērt to nomainīt arī citur.
+password_pwned=Izvēlētā parole ir nozagto paroļu sarakstā, kas iepriekš ir atklāts pieejamās datu noplūdēs. Lūgums mēģināt vēlreiz ar citu paroli un apsvērt to nomainīt arī citur.
password_pwned_err=Neizdevās pabeigt pieprasījumu uz HaveIBeenPwned
back_to_sign_in = Atpakaļ uz pieteikšanos
unauthorized_credentials = Pieteikšanās dati ir nepareizi vai ir izbeigušies. Jāizpilda komanda atkārtoti vai jāizmanto %s, lai iegūtu vairāk informācijas
@@ -686,7 +690,7 @@ email_domain_is_not_allowed = Lietotāja e-pasta adreses %s domēna vārd
change_avatar=Mainīt profila attēlu…
joined_on=Pievienojās %s
repositories=Glabātavas
-activity=Publiskie notikumi
+activity=Atklāti notikumi
followers_few=%d sekotāji
starred=Izlasei pievienotās glabātavas
watched=Vērotās glabātavas
@@ -745,7 +749,7 @@ organization=Apvienības
uid=UID
webauthn=Divpakāpju pieteikšanās (drošības atslēgas)
-public_profile=Publiskais profils
+public_profile=Visiem pieejamais profils
biography_placeholder=Pastāsti citiem mazliet par sevi! (Tiek atbalstīts Markdown)
location_placeholder=Kopīgot savu aptuveno atrašanās vietu ar citiem
profile_desc=Par Tevi
@@ -859,7 +863,7 @@ add_new_principal=Pievienot identitāti
ssh_key_been_used=Šī SSH atslēga jau ir pievienota šajā serverī.
ssh_key_name_used=SSH atslēga ar tādu pašu nosaukumu jau ir kontā.
ssh_principal_been_used=Šāda identitāte jau ir pievienota šājā serverī.
-gpg_key_id_used=Jau pastāv publiskā GPG atslēga ar tādu pašu identifikatoru.
+gpg_key_id_used=Jau pastāv publiska GPG atslēga ar tādu pašu identifikatoru.
gpg_no_key_email_found=Šī GPG atslēga neatbilst nevienai ar kontu saistītajai e-pasta adresei. To joprojām var pievienot, ja tiek parakstīta norādītā pilnvara.
gpg_key_matched_identities=Atbilstošās identitātes:
gpg_key_matched_identities_long=Šajā atslēgā iegultās identitātes atbilst zemāk uzskaitītājām aktivētajām šī lietotāja e-pasta adresēm. Iesūtījumus, kas atbilst šīm e-pasta adresēm, var apliecināt ar šo atslēgu.
@@ -936,8 +940,8 @@ access_token_deletion_confirm_action=Dzēst
access_token_deletion_desc=Pilnvaras izdzēšana atsauks lietotņu, kas to izmanto, piekļuvi kontam. Šo darbību nevar atsaukt. Turpināt?
delete_token_success=Pilnvara tika izdzēsta. Lietotnēm, kas to izmanto, vairs nav piekļuves kontam.
repo_and_org_access=Glabātavas un apvienības piekļuve
-permissions_public_only=Tikai publiskās
-permissions_access_all=Visas (publiskā, privātās un ierobežotās)
+permissions_public_only=Tikai atklātās
+permissions_access_all=Visas (atklātās, privātās un ierobežotās)
select_permissions=Atlasīt atļaujas
permission_no_access=Nav piekļuves
permission_read=Lasīt
@@ -1031,14 +1035,14 @@ email_notifications.submit=Iestatīt e-pasta iestatījumus
email_notifications.andyourown=Un manus paziņojumus
visibility=Lietotāja redzamība
-visibility.public=Publiska
+visibility.public=Atklāta
visibility.public_tooltip=Redzams ikvienam
visibility.limited=Ierobežota
visibility.limited_tooltip=Redzams tikai lietotājiem, kuri ir pieteikušies
visibility.private=Privāta
visibility.private_tooltip=Redzams tikai apvienību, kurās pievienojies, dalībniekiem
change_password = Mainīt paroli
-keep_activity_private.description = Tavas publiskās darbības būs redzamas tikai Tev un servera pārvaldītājiem.
+keep_activity_private.description = Tavas atklātās darbības būs redzamas tikai Tev un servera pārvaldītājiem.
update_hints = Atjaunināt norādes
update_hints_success = Norādes tika atjauninātas.
user_block_success = Lietotājs tika sekmīgi liegts.
@@ -1061,6 +1065,26 @@ change_username_redirect_prompt.with_cooldown.one = Vecais lietotājvārds būs
change_username_redirect_prompt.with_cooldown.few = Vecais lietotājvārds būs pieejams visiem pēc noilguma, kas ir %[1]d dienas. Šajā laikā ir iespējams to atkal sākt izmantot.
keep_pronouns_private = Vietniekvārdus rādīt tikai lietotājiem, kuri ir pieteikušies
keep_pronouns_private.description = Šis paslēps vietniekvārdus no apmeklētājiem, kuri nav pieteikušies.
+quota.sizes.assets.all = Līdzekļi
+quota.sizes.git.lfs = Git LFS
+quota.applies_to_user = Uz kontu attiecas zemāk esošās ierobežojuma kārtulas
+quota.rule.exceeded.helper = Kopējais šīs kārtulas objektu izmērs pārsniedz ierobežojumu.
+quota.sizes.git.all = Git saturs
+quota.rule.exceeded = Pārsniegts
+quota.sizes.assets.attachments.all = Pielikumi
+quota.sizes.assets.attachments.issues = Pieteikumu pielikumi
+quota.sizes.assets.attachments.releases = Laidienu pielikumi
+quota.sizes.assets.artifacts = Artefakti
+quota.sizes.assets.packages.all = Pakotnes
+quota.sizes.wiki = Vikivietne
+storage_overview = Krātuves pārskats
+quota = Ierobežojums
+quota.applies_to_org = Uz apvienību attiecas zemāk esošās ierobežojuma kārtulas
+quota.rule.no_limit = Neierobežots
+quota.sizes.all = Viss
+quota.sizes.repos.all = Glabātavas
+quota.sizes.repos.public = Atklātās glabātavas
+quota.sizes.repos.private = Privātās glabātavas
[repo]
new_repo_helper=Glabātava satur visas projekta datnes, tajā skaitā izmaiņu vēsturi. Jau tiek izmantota kaut kur citur? Pārcelt glabātavu.
@@ -1167,7 +1191,7 @@ transfer.no_permission_to_accept=Nav atļaujas pieņemt šo nodošanu.
transfer.no_permission_to_reject=Nav atļaujas noraidīt šo nodošanu.
desc.private=Privāts
-desc.public=Publisks
+desc.public=Atklāts
desc.template=Sagatave
desc.internal=Iekšējs
desc.archived=Arhivēts
@@ -1513,7 +1537,7 @@ issues.choose.open_external_link=Atvērt
issues.choose.blank=Noklusējuma
issues.choose.blank_about=Izveidot pieteikumu no noklusējuma sagataves.
issues.choose.ignore_invalid_templates=Kļūdainās sagataves tika izlaistas
-issues.choose.invalid_templates=atrasta(s) %v ķļūdaina(s) sagatave(s)
+issues.choose.invalid_templates=atrasta(s) %v nederīgas(s) sagatave(s)
issues.choose.invalid_config=Pieteikumu konfigurācija satur kļūdas:
issues.no_ref=Nav norādīts zars/birka
issues.create=Izveidot pieteikumu
@@ -1581,8 +1605,8 @@ issues.filter_sort.mostcomment=Visvairāk piebilžu
issues.filter_sort.leastcomment=Vismazāk piebilžu
issues.filter_sort.nearduedate=Tuvākais termiņš
issues.filter_sort.farduedate=Tālākais termiņš
-issues.filter_sort.moststars=Visvairāk atzīmētie
-issues.filter_sort.feweststars=Vismazāk atzīmētie
+issues.filter_sort.moststars=Visvairāk zvaigžņu
+issues.filter_sort.feweststars=Vismazāk zvaigžņu
issues.filter_sort.mostforks=Visvairāk atzarojumu
issues.filter_sort.fewestforks=Vismazāk atzarojumu
issues.keyword_search_unavailable=Meklēšana pēc atslēgvārda pašreiz nav pieejama. Lūgums sazināties ar vietnes administratoru.
@@ -1594,7 +1618,7 @@ issues.action_milestone_no_select=Nav atskaites punkta
issues.action_assignee=Atbildīgais
issues.action_assignee_no_select=Nav atbildīgā
issues.action_check=Atzīmēt/Notīrīt
-issues.action_check_all=Atzīmēt/Notīrīt visus ierakstus
+issues.action_check_all=Atzīmēt/Notīrīt visus vienumus
issues.opened_by=%[3]s atvēra %[1]s
pulls.merged_by=%[3]s iekļāva %[1]s
pulls.merged_by_fake=%[2]s iekļāva %[1]s
@@ -1722,7 +1746,7 @@ issues.del_time=Izdzēst šo laika žurnāla ierakstu
issues.add_time_short=Pievienot laiku
issues.add_time_cancel=Atcelt
issues.add_time_history=` pievienoja patērēto laiku %s`
-issues.del_time_history=`izdzēsa patērētais laiks %s`
+issues.del_time_history=`izdzēsa patērēto laiku %s`
issues.add_time_hours=Stundas
issues.add_time_minutes=Minūtes
issues.add_time_sum_to_small=Nav norādīts laiks.
@@ -1805,7 +1829,7 @@ issues.review.show_resolved=Rādīt atrisināto
issues.review.hide_resolved=Paslēpt atrisināto
issues.review.resolve_conversation=Atrisināt sarunu
issues.review.un_resolve_conversation=Atcelt sarunas atrisinājumu
-issues.review.resolved_by=atzīmēja sarunu kā atrisinātu
+issues.review.resolved_by=atzīmēja šo sarunu kā atrisinātu
issues.assignee.error=Ne visi atbildīgie tika pievienoti, jo radās neparedzēta kļūda.
issues.reference_issue.body=Saturs
issues.content_history.deleted=izdzēsts
@@ -2000,7 +2024,7 @@ signing.wont_sign.error=Atgadījās kļūda pārbaudot, vai iesūtījums var tik
signing.wont_sign.nokey=Nav pieejamas atslēgas, ar ko parakstīt šo iesūtījumu.
signing.wont_sign.never=Iesūtījumi nekad netiek parakstīti.
signing.wont_sign.always=Iesūtījumi vienmēr tiek parakstīti.
-signing.wont_sign.pubkey=Iesūtījums netiks parakstīts, jo kontam nav piesaistīta publiskā atslēga.
+signing.wont_sign.pubkey=Iesūtījums netiks parakstīts, jo kontam nav piesaistīta publiska atslēga.
signing.wont_sign.twofa=Jābūt iespējotai divpakāpju autentificēšanai, lai parakstītu iesūtījumus.
signing.wont_sign.parentsigned=Iesūtījums netiks parakstīts, jo nav parakstīts cilmes iesūtījums.
signing.wont_sign.basesigned=Apvienošana netiks parakstīta, jo pamata iesūtījums nav parakstīts.
@@ -2081,7 +2105,7 @@ activity.unresolved_conv_desc=Šie nesen mainītie pieteikumi un izmaiņu piepra
activity.unresolved_conv_label=Atvērts
activity.title.releases_1=%d laidiens
activity.title.releases_n=%d laidieni
-activity.title.releases_published_by=%s publicēja %s
+activity.title.releases_published_by=%s laida klājā %s
activity.published_release_label=Laidiens
activity.no_git_activity=Šajā laika periodā nav notikušas nekādas izmaiņas.
activity.git_stats_exclude_merges=Neskaitot apvienošanas iesūtījumus,
@@ -2444,7 +2468,7 @@ settings.protect_status_check_patterns_desc=Jāievada paraugi, lai norādītu, k
settings.protect_check_status_contexts_desc=Pirms apvienošanas ir nepieciešama sekmīga stāvokļa pārbaužu izpilde. Kad iespējots, iesūtījumiem vispirms jābūt aizgādātiem citā zarā, tad pēc stāvokļa pārbaužu sekmīgas izpildes iekļautiem vai aizgādātiem tieši zarā, kas atbilst šai kārtulai. Ja nav atbilstošu kontekstu, pēdējam iesūtījumam jābūt sekmīgam neatkarīgi no konteksta.
settings.protect_check_status_contexts_list=Stāvokļa pārbaudes, kas šajā glabātavā atrastas pēdējās nedēļas laikā
settings.protect_status_check_matched=Atbilst
-settings.protect_invalid_status_check_pattern=Kļūdains statusa pārbaudes šablons: "%s".
+settings.protect_invalid_status_check_pattern=Nederīgs stāvokļa pārbaudes paraugs: "%s".
settings.protect_no_valid_status_check_patterns=Nav derīgu stāvokļa pārbaužu paraugu.
settings.protect_required_approvals=Nepieciešamie apstiprinājumi
settings.protect_required_approvals_desc=Atļaut iekļaut izmaiņu pieprasījumu tikai ar pietiekamu daudzumu apstiprinošu izskatīšanu.
@@ -2458,7 +2482,7 @@ settings.require_signed_commits=Pieprasīt parakstītus iesūtījumus
settings.require_signed_commits_desc=Noraidīt aizgādāšanu uz šo zaru, ja iesūtījumi nav parakstīti vai apliecināmi.
settings.protect_branch_name_pattern=Aizsargātā zara nosaukuma paraugs
settings.protect_branch_name_pattern_desc=Aizsargāto zaru nosaukumu paraugi. Paraugu pierakstu skatīt dokumentācijā. Piemēri: main, release/**
-settings.protect_patterns=Šabloni
+settings.protect_patterns=Paraugi
settings.protect_protected_file_patterns=Aizsargāto datņu paraugs (vairākus atdala ar semikolu ";")
settings.protect_protected_file_patterns_desc=Aizsargātās datnes nav ļauts tiešā veidā mainīt, pat ja lietotājam šajā zarā ir tiesības pievienot, labot vai izdzēst datnes. Vairākus paraugus var atdalīt ar semikolu (";"). Paraugu pieraksts ir skatāms %[2]s dokumentācijā. Piemēri: .drone.yml, /docs/**/*.txt.
settings.protect_unprotected_file_patterns=Neaizsargāto datņu paraugs (vairākus atdala ar semikolu ";")
@@ -2517,7 +2541,7 @@ settings.unarchive.error=Glabātavas arhivēšanas atcelšanas laikā atgadījā
settings.update_avatar_success=Glabātavas attēls tika atjaunināts.
settings.lfs=LFS
settings.lfs_filelist=Šajā glabātavā uzglabātās LFS datnes
-settings.lfs_no_lfs_files=Šajā glabātavā nav uzglabātu LFS datņu
+settings.lfs_no_lfs_files=Šajā glabātavā netiek glabātas LFS datnes
settings.lfs_findcommits=Atrast iesūtījumus
settings.lfs_lfs_file_no_commits=Šai LFS datnei netika atrasts neviens iesūtījums
settings.lfs_noattribute=Šim ceļam noklusējuma zarā nav slēdzamības atribūta
@@ -2533,8 +2557,8 @@ settings.lfs_lock_path=Slēdzamās datnes ceļš...
settings.lfs_locks_no_locks=Nav slēdzeņu
settings.lfs_lock_file_no_exist=Aizslēgtā datne nepastāv noklusējuma zarā
settings.lfs_force_unlock=Uzspiest atslēgšanu
-settings.lfs_pointers.found=Atrasta(s) %d binārā objekta norāde(s) - %d saistītas, %d nesaistītas (%d trūkstošas glabātuvē)
-settings.lfs_pointers.sha=Binārā objekta jaucējkods
+settings.lfs_pointers.found=Atrasta(s) %d binārā objekta norāde(s) - %d saistīta(s), %d nesaistīta(s) (%d trūkst krātuvē)
+settings.lfs_pointers.sha=Binārā objekta jaucējvirkne
settings.lfs_pointers.oid=OID
settings.lfs_pointers.inRepo=Glabātavā
settings.lfs_pointers.exists=Pastāv krātuvē
@@ -2564,7 +2588,7 @@ diff.whitespace_ignore_all_whitespace=Neņemt vērā atstarpes, kad tiek salīdz
diff.whitespace_ignore_amount_changes=Neņemt vērā atstarpju daudzuma izmaiņas
diff.whitespace_ignore_at_eol=Neņemt vērā atstarpju izmaiņas rindu beigās
diff.stats_desc=%d izmainītas datnes ar %d papildinājumiem un %d izdzēšanām
-diff.stats_desc_file=%d izmaiņas: %d pievienotas un %d dzēstas
+diff.stats_desc_file=%d izmaiņas: %d pievienošanas un %d izdzēšanas
diff.bin=Binārs
diff.bin_not_shown=Binārā datne netiek rādīta.
diff.view_file=Apskatīt datni
@@ -2615,7 +2639,7 @@ release.stable=Stabila
release.compare=Salīdzināt
release.edit=Labot
release.ahead.commits=%d iesūtījumi
-release.ahead.target=no %s kopš laidiena publicēšanas
+release.ahead.target=%s kopš šī laidiena laišanas klajā
tag.ahead.target=%s kopš šīs birkas
release.source_code=Pirmkods
release.new_subheader=Laidieni apkopo projekta versijas.
@@ -2629,7 +2653,7 @@ release.title=Laidiena nosaukums
release.title_empty=Nosaukums nevar būt tukšs.
release.message=Aprakstīt šo laidienu
release.prerelease_desc=Atzīmēt kā pirmsizlaidi
-release.prerelease_helper=Atzīmēt, ka šo laidienu nav ieteicams lietot produkcijā.
+release.prerelease_helper=Atzīmēt šo laidienu kā nepiemērotu izmantošanai produkcijā.
release.cancel=Atcelt
release.publish=Laist klajā laidienu
release.save_draft=Saglabāt melnrakstu
@@ -2640,10 +2664,10 @@ release.deletion=Izdzēst laidienu
release.deletion_desc=Laidiena izdzēšana tikai noņem to no Forgejo. Tā neietekmēs Git birku, glabātavas saturu vai vēsturi. Turpināt?
release.deletion_success=Laidiens tika izdzēsts.
release.deletion_tag_desc=Šī birka tiks izdzēsta no glabātavas. Glabātavas saturs un vēsture paliks nemainīta. Turpināt?
-release.deletion_tag_success=Tags tika izdzēsts.
+release.deletion_tag_success=Birka tika izdzēsta.
release.tag_name_already_exist=Laidiens ar šādu birkas nosaukumu jau pastāv.
release.tag_name_invalid=Nederīgs birkas nosaukums.
-release.tag_name_protected=Taga nosaukums ir aizsargāts.
+release.tag_name_protected=Birkas nosaukums ir aizsargāts.
release.tag_already_exist=Šāds birkas nosaukums jau pastāv.
release.downloads=Lejupielādes
release.download_count=Lejupielādes: %s
@@ -2693,7 +2717,7 @@ tag.create_tag_operation=Izveidot birku
tag.confirm_create_tag=Izveidot birku
tag.create_tag_from=Izveidot jaunu birku no "%s"
-tag.create_success=Tags "%s" tika izveidots.
+tag.create_success=Birka "%s" tika izveidota.
topic.manage_topics=Pārvaldīt tēmas
topic.done=Gatavs
@@ -2875,6 +2899,10 @@ editor.commit_email = Iesūtījuma e-pasta adrese
commits.view_single_diff = Apskatīt šajā datnē veiktās izmaiņas šajā iesūtījumā
pulls.editable = Labojams
pulls.editable_explanation = Šis izmaiņu pieprasījums pieļauj labojumus no uzturētājiem. Tu vari tieši līdzdarboties tajā.
+issues.reopen.blocked_by_user = Tu nevari atkārtoti atvērt šo pieteikumu, jo tā izveidotājs vai glabātavas īpašnieks ir liedzis Tevi.
+pulls.comment.blocked_by_user = Tu šim izmaiņu pieprasījumam nevari pievienot piebildi, jo tā izveidotājs vai glabātavas īpašnieks ir liedzis Tevi.
+issues.filter_no_results = Nav vienumu
+issues.filter_no_results_placeholder = Jāmēģina pielāgot meklēšanas atlasītāji.
[graphs]
component_loading=Ielādē %s...
@@ -2921,7 +2949,7 @@ settings.location=Atrašanās vieta
settings.permission=Tiesības
settings.repoadminchangeteam=Glabātavas pārvaldītājs var pievienot un noņemt komandu piekļuvi
settings.visibility=Redzamība
-settings.visibility.public=Publiska
+settings.visibility.public=Atklāta
settings.visibility.limited=Ierobežota (redzama tikai lietotājiem, kuri ir pieteikušies)
settings.visibility.limited_shortname=Ierobežota
settings.visibility.private=Privāta (redzama tikai apvienības dalībniekiem)
@@ -2946,19 +2974,19 @@ members.membership_visibility=Dalībnieku redzamība:
members.public=Redzams
members.public_helper=Padarīt slēptu
members.private=Slēpts
-members.private_helper=Padarīt redzemu
+members.private_helper=Padarīt redzamu
members.member_role=Dalībnieka loma:
members.owner=Īpašnieks
members.member=Dalībnieks
members.remove=Noņemt
members.remove.detail=Noņemt %[1]s no %[2]s?
-members.leave=Atstāt
+members.leave=Pamest
members.leave.detail=Vai tiešām pamest apvienību "%s"?
-members.invite_desc=Pievienot jaunu dalībnieku pie %s:
+members.invite_desc=Pievienot jaunu dalībnieku %s:
members.invite_now=Uzaicināt tagad
teams.join=Pievienoties
-teams.leave=Atstāt
+teams.leave=Pamest
teams.leave.detail=Vai tiešām pamest komandu "%s"?
teams.can_create_org_repo=Izveidot glabātavas
teams.can_create_org_repo_helper=Dalībnieki apvienībā var izveidot jaunas glabātavas. Izveidotājs iegūs jaunās glabātavas pārvaldītāja piekļuvi.
@@ -2966,11 +2994,11 @@ teams.none_access=Nav piekļuves
teams.none_access_helper="Nav piekļuve" iespēja iedarbojas tikai privātās glabātavās.
teams.general_access=Pielāgota piekļuve
teams.general_access_helper=Komandas tiesības tiks noteiktas pēc tabulas zemāk.
-teams.read_access=Skatīšanās
+teams.read_access=Lasīt
teams.read_access_helper=Komanda varēs skatīties un klonēt šīs organizācijas repozitorijus.
-teams.write_access=Rakstīšanas
+teams.write_access=Rakstīt
teams.write_access_helper=Šī komanda varēs lasīt un nosūtīt izmaiņas uz tās repozitorijiem.
-teams.admin_access=Pārvaldītaja piekļuve
+teams.admin_access=Pārvaldītāja piekļuve
teams.admin_access_helper=Dalībnieki var atgādāt un aizgādāt izmaiņas uz komandas glabātavām un pievienot tām līdzdalībniekus.
teams.no_desc=Komandai nav apraksta
teams.settings=Iestatījumi
@@ -3027,7 +3055,7 @@ authentication=Autentificēšanas avoti
emails=Lietotāju e-pasta adreses
config=Konfigurācija
notices=Sistēmas paziņojumi
-monitor=Uzraudzība
+monitor=Pārraudzīšana
first_page=Pirmā
last_page=Pēdējā
total=Kopā: %d
@@ -3178,8 +3206,8 @@ users.details=Lietotāja informācija
emails.email_manage_panel=Pārvaldīt lietotāju e-pasta adreses
emails.primary=Galvenā
emails.activated=Aktivēta
-emails.filter_sort.email=E-pasts
-emails.filter_sort.email_reverse=E-pasta adrese (pretēji alfabētiski)
+emails.filter_sort.email=E-pasta adrese
+emails.filter_sort.email_reverse=E-pasta adrese (apvērsti)
emails.filter_sort.name=Lietotājvārds
emails.filter_sort.name_reverse=Lietotāja vārds (apvērsti)
emails.updated=E-pasta adrese atjaunināta
@@ -3195,11 +3223,11 @@ orgs.members=Dalībnieki
orgs.new_orga=Jauna apvienība
repos.repo_manage_panel=Pārvaldīt glabātavas
-repos.unadopted=Nepieemtās glabātavas
+repos.unadopted=Nepieņemtās glabātavas
repos.unadopted.no_more=Nav atrasta neviena nepieņemta glabātava.
repos.owner=Īpašnieks
repos.name=Nosaukums
-repos.private=Privāts
+repos.private=Privāta
repos.watches=Vērošana
repos.stars=Zvaigznes
repos.forks=Atdalītie
@@ -3219,7 +3247,7 @@ packages.version=Versija
packages.type=Veids
packages.repository=Glabātava
packages.size=Izmērs
-packages.published=Publicēts
+packages.published=Laista klajā
defaulthooks=Noklusējuma tīmekļa aizķeres
defaulthooks.desc=Tīmekļa aizķeres automātiski nosūta HTTP POST pieprasījumus serverim, kad iestājas noteikti Forgejo notikumi. Šeit esošās tīmekļa aizķeres ir noklusējuma, un tās tiks ievietotas visās jaunajās glabātavās. Vairāk ir lasāms norādēs par tīmekļa aizķerēm.
@@ -3306,7 +3334,7 @@ auths.oauth2_group_claim_name=Prasības nosaukums, kas šim avotam nodrošina gr
auths.oauth2_admin_group=Kopas prasības vērtība pārvaldītājiem. (Izvēles - nepieciešams augstāk esošais prasības nosaukums)
auths.oauth2_restricted_group=Grupas prasības vērtība ierobežotajiem lietotājiem. (Izvēles - nepieciešams augstāk esošais prasības nosaukums)
auths.oauth2_map_group_to_team=Sasaistīt pieprasītās kopas ar apvienības komandām. (Izvēles - nepieciešams augstāk esošais prasības nosaukums)
-auths.oauth2_map_group_to_team_removal=Noņemt lietotājus no sinhronizētajām komandām, ja lietotājs nav piesaistīts attiecīgajai grupai.
+auths.oauth2_map_group_to_team_removal=Noņemt lietotājus no sinhronizētajām komandām, ja lietotājs nav attiecīgajā grupai.
auths.enable_auto_register=Iespējot automātisko reģistrāciju
auths.sspi_auto_create_users=Automātiski izveidot lietotājus
auths.sspi_auto_create_users_helper=Ļauj SSPI autentificēšanās veidam automātiski izveidot jaunus kontus lietotājiem, kas piesakās pirmo reizi
@@ -3334,20 +3362,20 @@ auths.tip.twitter=Jādodas uz %s, jāizveido lietotne un jānodrošina, ka iesp
auths.tip.discord=Jāizveido jauna lietotne %s
auths.tip.gitea=Pievienot jaunu OAuth2 lietotni. Norādes ir atrodamas %s
auths.tip.yandex=%s jāizveido jauna lietotne. Sadaļā "Yandex.Passport API" jāatlasa šīs atļaujas: "Access to email address", "Access to user avatar" un "Access to username, first name and surname, gender"
-auths.tip.mastodon=Jāievada pielāgota Mastodon servera URL, ar kuru vēlies autentificēties (vai jāizmanto noklusējuma)
+auths.tip.mastodon=Jāievada pielāgota Mastodon servera URL, ar kuru ir vēlēšanās autentificēties (vai jāizmanto noklusējuma)
auths.edit=Labot autentificēšanas avotu
-auths.activated=Autentificēšanas avots ir atkivēts
-auths.new_success=Jauna autentifikācija "%s" tika pievienota.
+auths.activated=Šis autentificēšanas avots ir atkivēts
+auths.new_success=Autentificēšanās "%s" tika pievienota.
auths.update_success=Autentificēšanās avots tika atjaunināts.
auths.update=Atjaunināt autentificēšanās avotu
auths.delete=Izdzēst autentificēšanas avotu
auths.delete_auth_title=Izdzēst autentificēšanas avotu
-auths.delete_auth_desc=Izdzēšot autentifikācijas avotu, tā lietotājiem nebūs iespējams pieteikties. Vai turpināt?
+auths.delete_auth_desc=Autentificēšanās avota izdzēšana liedz lietotājiem to izmantot, lai pieteiktos. Turpināt?
auths.still_in_used=Šo autentificēšanās avotu joprojām izmanto viens vai vairāki lietotāji, tos nepieciešams izdzēst vai pārvietot uz citu autentificēšanās avotu.
auths.deletion_success=Autentificēšanās avots tika izdzēsts.
auths.login_source_exist=Jau pastāv autentificēšanās avots "%s".
auths.login_source_of_type_exist=Jau pastāv šāda veida autentificēšanās avots.
-auths.unable_to_initialize_openid=Nevarēja inicializēt OpenID Connect sliedzēju: %s
+auths.unable_to_initialize_openid=Nevarēja sāknēt OpenID Connect sniedzēju: %s
auths.invalid_openIdConnectAutoDiscoveryURL=Nederīgs automātiskās atklāšanas URL (tam jābūt derīgam URL, kas sākas ar http:// vai https://)
config.server_config=Servera konfigurācija
@@ -3500,7 +3528,7 @@ monitor.download_diagnosis_report=Lejupielādēt diagnostikas atskaiti
monitor.desc=Apraksts
monitor.start=Sākuma laiks
monitor.execute_time=Izpildes laiks
-monitor.last_execution_result=Rezultāts
+monitor.last_execution_result=Iznākums
monitor.process.cancel=Atcelt procesu
monitor.process.cancel_desc=Procesa atcelšana var radīt datu zaudējumus
monitor.process.cancel_notices=Atcelt: %s?
@@ -3520,7 +3548,7 @@ monitor.queue.settings.title=Pūla iestatījumi
monitor.queue.settings.desc=Pūli dinamiski palielinās atkarībā no to strādņu rindu aizturēšanas.
monitor.queue.settings.maxnumberworkers=Maksimālais strādņu skaits
monitor.queue.settings.maxnumberworkers.placeholder=Pašalaik %[1]d
-monitor.queue.settings.maxnumberworkers.error=Maksimālajam strādņu skaitam ir jābūt skaitlim
+monitor.queue.settings.maxnumberworkers.error=Lielākajam pieļaujamajam strādņu skaitam ir jābūt skaitlim
monitor.queue.settings.submit=Atjaunināt iestatījumus
monitor.queue.settings.changed=Iestatījumi atjaunināti
monitor.queue.settings.remove_all_items=Noņemt visus
@@ -3539,7 +3567,7 @@ notices.type_1=Glabātava
notices.type_2=Uzdevums
notices.desc=Apraksts
notices.op=Op.
-notices.delete_success=Sistēmas paziņojumi ir dzēsti.
+notices.delete_success=Sistēmas paziņojumi tika dzēsti.
self_check.no_problem_found=Vēl nav atrasts neviens sarežģījums.
config_summary = Kopsavilkums
@@ -3556,7 +3584,7 @@ self_check.database_collation_mismatch = Sagaidīt, ka datubāzē tiek izmantota
self_check.database_fix_mysql = MySQL/MariaDB lietotāji var izmantot komandu "forgejo doctor convert", lai novērstu salīdzināšanas sarežģījumus, vai arī tos var pašrocīgi novērst ar "ALTER ... COLLATE ..." vaicājumiem.
config.app_slogan = Servera sauklis
config.allow_dots_in_usernames = Ļaut lietotājiem izmantot punktus savā lietotājvārdā. Neietekmē esošos kontus.
-users.restricted.description = Ļaut mijiedarbību tikai ar glabātavām un apvienībām, kurās šis lietotājs ir pievienots kā līdzdalībnieks. Tas neļauj piekļūt šī servera publiskajām glabātavām.
+users.restricted.description = Ļaut mijiedarbību tikai ar glabātavām un apvienībām, kurās šis lietotājs ir pievienots kā līdzdalībnieks. Tas neļauj piekļūt šī servera atklātajām glabātavām.
dashboard.sync_tag.started = Uzsākta birku sinhronizēšana
users.organization_creation.description = Ļaut jaunu apvienību izveidošanu.
users.block.description = Liegt šī lietotāja mijiedarbību ar šo serveri caur tā kontu un neļaut pieteikšanos.
@@ -3603,7 +3631,7 @@ review_dismissed=`atmeta izskatīšanu no %[4]s%[3]s#%[2
review_dismissed_reason=Iemesls:
create_branch=izveidoja zaru %[3]s glabātavā %[4]s
starred_repo=pievienoja izlasē %[2]s
-watched_repo=sāka sekot %[2]s
+watched_repo=sāka vērot %[2]s
[tool]
now=tagad
@@ -3635,11 +3663,11 @@ remove_file=Noņemt datni
notifications=Paziņojumi
unread=Neizlasītie
read=Izlasītie
-no_unread=Nav nelasītu paziņojumu.
+no_unread=Nav neizlasītu paziņojumu.
no_read=Nav izlasītu paziņojumu.
pin=Piespraust paziņojumu
mark_as_read=Atzīmēt kā izlasītu
-mark_as_unread=Atzīmēt kā nelasītu
+mark_as_unread=Atzīmēt kā neizlasītu
mark_all_as_read=Atzīmēt visus kā izlasītus
subscriptions=Abonementi
watching=Skatās
@@ -3671,9 +3699,9 @@ registry.documentation=Vairāk informācijas par %s reģistru ir %[3]s %[1]s
+filter.container.tagged=Ar birku
+filter.container.untagged=Bez birkas
+published_by=Laida klajā %[3]s %[1]s
published_by_in=%[3]s laida klajā %[1]s %[5]s
installation=Uzstādīšana
about=Par šo pakotni
@@ -3782,7 +3810,7 @@ settings.delete.error=Neizdevās izdzēst pakotni.
owner.settings.cargo.title=Cargo reģistra inkdess
owner.settings.cargo.initialize=Sāknēt indeksu
owner.settings.cargo.initialize.description=Ir nepieciešams īpaša indeksa Git glabātava, lai izmantotu Cargo reģistru. Šīs iespējas izmantošana (atkārtoti) izveidos glabātavu un automātiski to iestatīs.
-owner.settings.cargo.initialize.error=Neizdevās inicializēt Cargo indeksu: %v
+owner.settings.cargo.initialize.error=Neizdevās sāknēt Cargo indeksu: %v
owner.settings.cargo.initialize.success=Cargo indekss tika sekmīgi izveidots.
owner.settings.cargo.rebuild=Pārbūvēt indeksu
owner.settings.cargo.rebuild.description=Pārbūvēšana var būt noderīga, ja indekss nav sinhronizēts ar saglabātajām Cargo pakotnēm.
@@ -3793,12 +3821,12 @@ owner.settings.cleanuprules.add=Pievienot notīrīšanas kārtulu
owner.settings.cleanuprules.edit=Labot notīrīšanas kārtulu
owner.settings.cleanuprules.none=Vēl nav pieejama neviena tīrīšanas kārtula.
owner.settings.cleanuprules.preview=Attīrīšanas kārtulas priekšskatījums
-owner.settings.cleanuprules.preview.overview=Ir ieplānota %d paku dzēšana.
-owner.settings.cleanuprules.preview.none=Notīrīšanas kārtulai neatbilst neviena pakotne.
+owner.settings.cleanuprules.preview.overview=Ir paredzēta %d pakotņu noņemšana.
+owner.settings.cleanuprules.preview.none=Attīrīšanas kārtulai neatbilst neviena pakotne.
owner.settings.cleanuprules.enabled=Iespējots
-owner.settings.cleanuprules.pattern_full_match=Piešķirt šablonu visam pakotnes nosaukumam
+owner.settings.cleanuprules.pattern_full_match=Pielietot paraugu visam pakotnes nosaukumam
owner.settings.cleanuprules.keep.title=Versijas, kas atbilst šīm kārtulām, tiks paturētas, pat ja tās atbildīs zemāk esošajai noņemšanas kārtulai.
-owner.settings.cleanuprules.keep.count=Saglabāt jaunāko versiju
+owner.settings.cleanuprules.keep.count=Paturēt visjaunāko
owner.settings.cleanuprules.keep.count.1=1 versija katrai pakotnei
owner.settings.cleanuprules.keep.count.n=%d versijas katrai pakotnei
owner.settings.cleanuprules.keep.pattern=Paturēt versijas, kas atbilst
@@ -3835,24 +3863,24 @@ search_in_external_registry = Meklēt %s
alt.registry = Šī reģistra uzstādīšana komandrindā:
alt.registry.install = Lai uzstādītu pakotni, jāizpilda šī komanda:
alt.install = Uzstādīt pakotni
-alt.setup = Pievienot glabātavu savienoto glabātavu sarakstā ('_arch_' vietā jāizvēlas nepieciešamā arhitektūra):
+alt.setup = Pievienot glabātavu savienoto glabātavu sarakstā ("_arch_" vietā jāizvēlas nepieciešamā arhitektūra):
alt.repository = Informācija par glabātavu
alt.repository.architectures = Arhitektūras
alt.repository.multiple_groups = Šī pakotne ir pieejama vairākās kopās.
[secrets]
secrets=Noslēpumi
-description=Noslēpumi tiks padoti atsevišķām darbībām un citādi nevar tikt nolasīti.
+description=Noslēpumi tiks padoti noteiktām darbībām, un citādāk tos nevar nolasīt.
none=Pagaidām nav neviena noslēpuma.
creation=Pievienot noslēpumu
creation.name_placeholder=reģistrnejutīgs, tikai burti, cipari un apakšsvītras, nevar sākties ar GITEA_ vai GITHUB_
creation.value_placeholder=Jāievada jebkāds saturs. Atstarpes sākumā un beigās tiks izlaistas.
creation.success=Noslēpums "%s" tika pievienots.
creation.failed=Neizdevās pievienot noslēpumu.
-deletion=Dzēst noslēpumu
-deletion.description=Noslēpuma dzēšana ir neatgriezeniska. Vai turpināt?
-deletion.success=Noslēpums tika izdzēsts.
-deletion.failed=Neizdevās dzēst noslēpumu.
+deletion=Noņemt noslēpumu
+deletion.description=Noslēpuma izdzēšana ir neatgriezeniska un nav atsaucama. Turpināt?
+deletion.success=Noslēpums tika noņemts.
+deletion.failed=Neizdevās noņemt noslēpumu.
management=Pārvaldīt noslēpumus
[actions]
@@ -3873,7 +3901,7 @@ runners=Izpildītāji
runners.runner_manage_panel=Pārvaldīt izpildītājus
runners.new=Izveidot jaunu izpildītāju
runners.new_notice=Kā uzstādīt izpildītāju
-runners.status=Statuss
+runners.status=Stāvoklis
runners.id=ID
runners.name=Nosaukums
runners.owner_type=Veids
@@ -3884,7 +3912,7 @@ runners.runner_title=Izpildītājs
runners.task_list=Pēdējās darbības, kas izpildītas
runners.task_list.no_tasks=Vēl nav uzdevumu.
runners.task_list.run=Izpildījums
-runners.task_list.status=Statuss
+runners.task_list.status=Stāvoklis
runners.task_list.repository=Glabātava
runners.task_list.commit=Iesūtījums
runners.task_list.done_at=Beigu laiks
@@ -3896,11 +3924,11 @@ runners.delete_runner=Dzēst izpildītāju
runners.delete_runner_success=Izpildītājs sekmīgi izdzēsts
runners.delete_runner_failed=Neizdevās izdzēst izpildītāju
runners.delete_runner_header=Apstiprināt izpildītāja izdzēšanu
-runners.delete_runner_notice=Ja šis izpildītājs veic kādus uzdevumus, tad tie tiks apturēti un atzīmēti kā neizdevušies. Tas var sabojāt būvēšanas darbaplūsmas.
+runners.delete_runner_notice=Ja šis izpildītājs veic kādus uzdevumus, tad tie tiks apturēti un atzīmēti kā neizdevušies. Tas var sabojāt būvēšanas darbplūsmas.
runners.none=Nav pieejami izpildītāji
runners.status.unspecified=Nezināms
runners.status.idle=Dīkstāvē
-runners.status.active=Aktīvs
+runners.status.active=Darbojas
runners.status.offline=Bezsaistē
runners.version=Versija
runners.reset_registration_token=Atiestatīt reģistrācijas pilnvaru
@@ -3913,7 +3941,7 @@ runs.pushed_by=aizgādāja
runs.invalid_workflow_helper=Darbplūsmas konfigurācijas datne ir nederīga. Lūgums pārbaudīt konfigurācijas datni: %s
runs.no_matching_online_runner_helper=Nav tiešsaistē esošu izpildītāju, kas atbilstu iezīmei: %s
runs.actor=Izraisītājs
-runs.status=Statuss
+runs.status=Stāvoklis
runs.actors_no_select=Visi izraisītāji
runs.status_no_select=Visi stāvokļi
runs.no_results=Netika atrasts nekas atbilstošs.
diff --git a/options/locale/locale_nds.ini b/options/locale/locale_nds.ini
index ee374a2549..9715d76e86 100644
--- a/options/locale/locale_nds.ini
+++ b/options/locale/locale_nds.ini
@@ -1473,7 +1473,7 @@ issues.label.filter_sort.reverse_alphabetically = Umdreiht na de Alphabeet
issues.label.filter_sort.by_size = Lüttste Grött
issues.num_participants_one = %d Mitmaker
issues.num_participants_few = %d Mitmakers
-issues.ref_pull_from = `hett deeses Haalvörslag %[4]s%[2]sbenöömt`
+issues.ref_pull_from = `hett deesen Haalvörslag %[4]s%[2]sbenöömt`
issues.label_title = Naam
issues.label_archived_filter = Archiveert Vermarkens wiesen
issues.archived_label_description = (Archiveert) %s
@@ -1581,7 +1581,7 @@ issues.start_tracking_history = `hett %s to warken begunnen`
issues.lock.notice_2 = - Du un anner Mitarbeiders mit Togriep to deesem Repositorium köönt wiederhen Kommentaren schrieven, wat elkeenwell sücht.
issues.due_date_modified = hett dat Anstahns-Datum vun %[2]s to %[1]s %[3]s ännert
issues.dependency.issue_remove_text = Dat word de Ofhangen vun deesem Gefall wegdoon. Wiedermaken?
-issues.review.approve = hett deese Ännerns %s tostimmt
+issues.review.approve = hett %s deesen Ännerns tostimmt
issues.review.dismissed = hett %[2]s dat Nakieken vun %[1]s ofseggt
issues.lock.title = Snack up deesem Gefall tosluten.
issues.unlock.title = Snack up deesem Gefall upsluten.
@@ -1692,12 +1692,12 @@ pulls.waiting_count_1 = %d Nakieken staht ut
issues.content_history.deleted = lösket
issues.content_history.created = maakt
issues.content_history.delete_from_history_confirm = Ut Histoorje lösken?
-issues.blocked_by_user = Du kannst up deesem Repositorium keenen Gefall opmaken, denn de Repositoriums-Eegner hett di blockeert.
+issues.blocked_by_user = Du kannst in deesem Repositorium keene Gefallens opmaken, denn de Repositoriums-Eegner hett di blockeert.
pulls.merged_title_desc_few = hett %[1]d Kommitterens vun %[2]s na %[3]s %[4]s tosamenföhrt
pulls.reject_count_1 = %d Bidde um Ännerns
pulls.blocked_by_user = Du kannst in deesem Repositorium keenen Haalvörslag opmaken, denn de Repositoriums-Eegner hett di blockeert.
pulls.no_merge_access = Du hest nich dat Recht, deesen Haalvörslag tosamentoföhren.
-issues.comment.blocked_by_user = Du kannst up deesem Gefall keenen Kommentaar schrieven, denn de Repositoriums-Eegner of de Autor vun de Gefall hett di blockeert.
+issues.comment.blocked_by_user = Du kannst up deesem Gefall nich kommenteren, denn de Repositoriums-Eegner of de Autor vun de Gefall hett di blockeert.
pulls.switch_comparison_type = Verglieks-Aard ännern
pulls.showing_only_single_commit = Blots Ännerns vun Kommitteren %[1]s wiesen
pulls.blocked_by_changed_protected_files_n = Deeser Haalvörslag is blockeert, denn dat ännert beschütt Dateien:
@@ -2600,6 +2600,10 @@ archive.pull.noreview = Deeses Repositorium is archiveert. Du kannst keene Haalv
commits.view_single_diff = Ännerns an deeser Datei in deesem Kommitteren wiesen
pulls.editable = Bewarkbaar
pulls.editable_explanation = Deeser Haalvörslag verlöövt Bewarkens vun Liddmaten. Du kannst stracks daarto bidragen.
+issues.reopen.blocked_by_user = Du kannst deeses Gefall nich weer opmaken, denn de Repositoriums-Eegner of de Autor vun de Gefall hett di blockeert.
+pulls.comment.blocked_by_user = Du kannst up deesem Haalvörslag nich kommenteren, denn de Repositoriums-Eegner of de Autor vun de Haalvörslag hett di blockeert.
+issues.filter_no_results = Keene Resultaten
+issues.filter_no_results_placeholder = Versöök, diene Söök-Filters antopassen.
[repo.permissions]
code.read = Lesen: De Quelltext vun deesem Repositorium ankieken un klonen.
diff --git a/options/locale/locale_nl-NL.ini b/options/locale/locale_nl-NL.ini
index 415ca8948e..8b5db6ea50 100644
--- a/options/locale/locale_nl-NL.ini
+++ b/options/locale/locale_nl-NL.ini
@@ -4,14 +4,14 @@ dashboard=Overzicht
explore=Verkennen
help=Help
logo=Logo
-sign_in=Inloggen
+sign_in=Aanmelden
sign_in_or=of
sign_out=Uitloggen
sign_up=Registreren
link_account=Account Koppelen
register=Registreren
version=Versie
-powered_by=Aangedreven door %s
+powered_by=Mogelijk gemaakt door %s
page=Pagina
template=Sjabloon
language=Taal
@@ -28,24 +28,24 @@ username=Gebruikersnaam
email=E-mailadres
password=Wachtwoord
access_token=Toegangstoken
-re_type=Verifieer wachtwoord
+re_type=Bevestig wachtwoord
captcha=CAPTCHA
twofa=Twee-factor authenticatie
twofa_scratch=Twee-factor krascode
-passcode=PIN
+passcode=Code
webauthn_insert_key=Voer uw beveiligingssleutel in
-webauthn_sign_in=Druk op de knop van uw beveiligingssleutel. Als uw beveiligingssleutel geen knop heeft, voeg deze dan opnieuw in.
+webauthn_sign_in=Druk op de knop van uw beveiligingssleutel. Als uw beveiligingssleutel geen knop heeft, voer deze dan opnieuw in.
webauthn_press_button=Druk alstublieft op de knop van uw beveiligingssleutel…
webauthn_use_twofa=Gebruik een twee-factor code van uw telefoon
webauthn_error=Kon uw beveiligingssleutel niet lezen.
webauthn_unsupported_browser=Uw browser ondersteunt momenteel geen WebAuthn.
webauthn_error_unknown=Er is een onbekende fout opgetreden. Probeer het opnieuw.
-webauthn_error_insecure=WebAuthn ondersteunt alleen beveiligde verbindingen. Om te testen via HTTP, kan je de oorsprong "localhost" of "127.0.0.1" gebruiken
+webauthn_error_insecure=WebAuthn ondersteunt alleen beveiligde verbindingen. Om te testen via HTTP, kan je als systeemnaam "localhost" of "127.0.0.1" gebruiken
webauthn_error_unable_to_process=De server kon uw verzoek niet verwerken.
-webauthn_error_duplicated=De beveiligingssleutel is niet toegestaan voor dit verzoek. Zorg er alstublieft voor dat de sleutel niet al geregistreerd is.
+webauthn_error_duplicated=De beveiligingssleutel is voor dit verzoek niet toegestaan. Controleer alstublieft of de sleutel niet al is geregistreerd.
webauthn_error_empty=U moet een naam voor deze sleutel instellen.
-webauthn_error_timeout=Time-out bereikt voordat uw sleutel kon worden gelezen. Laad deze pagina opnieuw en probeer het opnieuw.
+webauthn_error_timeout=Time-out bereikt voordat uw sleutel kon worden gelezen. Herlaad deze pagina en probeer het opnieuw.
webauthn_reload=Vernieuwen
repository=Repository
@@ -56,9 +56,9 @@ new_migrate=Nieuwe migratie
new_mirror=Nieuwe mirror
new_fork=Nieuwe repository fork
new_org=Nieuwe organisatie
-new_project=Nieuwe project
+new_project=Nieuw project
manage_org=Beheer organisaties
-admin_panel=Website administratie
+admin_panel=Site beheer
account_settings=Accountinstellingen
settings=Instellingen
your_profile=Profiel
@@ -66,12 +66,12 @@ your_starred=Favoriet
your_settings=Instellingen
all=Alles
-sources=Bronnen
+sources=Broncode
mirrors=Mirrors
-collaborative=Samenwerkend
+collaborative=Samenwerkende
forks=Forks
-activities=Activiteiten
+activities=Activiteit
pull_requests=Pull requests
issues=Issues
milestones=Mijlpalen
@@ -83,7 +83,7 @@ add=Toevoegen
add_all=Alles toevoegen
remove=Verwijder
remove_all=Alles verwijderen
-edit=Bewerk
+edit=Wijzig
enabled=Ingeschakeld
disabled=Uitgeschakeld
@@ -115,8 +115,8 @@ concept_user_organization=Organisatie
name=Naam
-sign_in_with_provider = Log in met %s
-tracked_time_summary = Overzicht van geregistreerde tijd op basis van filters van probleemlijst
+sign_in_with_provider = Aanmelden met %s
+tracked_time_summary = Overzicht van geregistreerde tijd op basis van filters van issuelijst
enable_javascript = Deze website vereist JavaScript.
retry = Probeer opnieuw
rerun_all = Alle taken opnieuw uitvoeren
@@ -140,9 +140,9 @@ confirm_delete_selected = Bevestigen om alle geselecteerde items te verwijderen?
copy_type_unsupported = Dit bestandstype kan niet worden gekopieerd
pin = Vastpinnen
unpin = Ontpinnen
-remove_label_str = Verwijder punt "%s"
+remove_label_str = Verwijder item "%s"
confirm_delete_artifact = Weet u zeker dat u het artefact "%s" wilt verwijderen?
-toggle_menu = Menu schakelen
+toggle_menu = Menu aan/uit
filter.clear = Filter wissen
filter.is_archived = Gearchiveerd
filter.is_fork = Forks
@@ -159,7 +159,7 @@ more_items = Meer items
invalid_data = Ongeldige data: %v
copy_generic = Kopieer naar klembord
test = Test
-error413 = U heeft al uw quotum opgebruikt.
+error413 = U heeft uw hele quotum gebruikt.
new_migrate.title = Nieuwe migratie
new_org.title = Nieuwe organisatie
new_repo.link = Nieuwe repository
@@ -206,6 +206,10 @@ table_modal.placeholder.header = Kop
table_modal.placeholder.content = Inhoud
table_modal.label.rows = Rijen
table_modal.label.columns = Kolommen
+link_modal.header = Link toevoegen
+link_modal.url = Url
+link_modal.description = Beschrijving
+link_modal.paste_reminder = Tip: Als u een URL op uw klembord heeft, kun u deze direct in de editor plakken om een koppeling te maken.
[filter]
string.asc = A - Z
@@ -1064,6 +1068,26 @@ change_username_redirect_prompt.with_cooldown.few = De oude gebruikersnaam zal v
change_username_redirect_prompt.with_cooldown.one = De oude gebruikersnaam zal voor iedereen beschikbaar zijn na een afkoelperiode van %[1]d dag. U kunt de oude gebruikersnaam nog steeds opeisen tijdens de afkoelperiode.
keep_pronouns_private = Toon voornaamwoorden alleen aan geauthenticeerde gebruikers
keep_pronouns_private.description = Dit verbergt uw voornaamwoorden voor bezoekers die niet zijn ingelogd.
+quota.rule.exceeded.helper = De totale grootte van objecten voor deze regel heeft de quota overschreden.
+quota.sizes.repos.private = Privé repositories
+storage_overview = Opslagoverzicht
+quota = Quotum
+quota.applies_to_user = De volgende quotaregels zijn van toepassing op uw account
+quota.applies_to_org = De volgende quotaregels zijn van toepassing op deze organisatie
+quota.rule.exceeded = Overschreden
+quota.rule.no_limit = Onbeperkt
+quota.sizes.all = Alle
+quota.sizes.repos.all = Repositories
+quota.sizes.repos.public = Openbare repositories
+quota.sizes.git.all = Git inhoud
+quota.sizes.git.lfs = Git LFS
+quota.sizes.assets.all = Bezittingen
+quota.sizes.assets.attachments.all = Bijlagen
+quota.sizes.assets.attachments.issues = Issue bijlagen
+quota.sizes.assets.attachments.releases = Release bijlagen
+quota.sizes.assets.artifacts = Artefacten
+quota.sizes.assets.packages.all = Pakketten
+quota.sizes.wiki = Wiki
[repo]
owner=Eigenaar
@@ -1257,7 +1281,7 @@ tags=Labels
issues=Issues
pulls=Pull requests
project_board=Projecten
-packages=Paketten
+packages=Pakketten
labels=Labels
org_labels_desc=Organisatielabel dat gebruikt kan worden met alle repositories onder deze organisatie
org_labels_desc_manage=beheren
@@ -2397,8 +2421,8 @@ find_file.no_matching = Geen overeenkomstige bestanden gevonden
error.csv.too_large = Kan dit bestand niet renderen omdat het te groot is.
error.csv.unexpected = Kan dit bestand niet renderen omdat het een onverwacht karakter bevat in regel %d en kolom %d.
error.csv.invalid_field_count = Kan dit bestand niet renderen omdat het een verkeerd aantal velden heeft in regel %d.
-issues.comment.blocked_by_user = U kunt geen reactie op deze issue plaatsen omdat u geblokkeerd bent door de eigenaar van de repository of door de persoon die de issue heeft gepost.
-issues.blocked_by_user = U kunt geen issue op deze repository maken omdat u geblokkeerd bent door de eigenaar van de repository.
+issues.comment.blocked_by_user = U kunt niet reageren op deze issue omdat u geblokkeerd bent door de eigenaar van de repository of de poster van de issue.
+issues.blocked_by_user = U kunt geen issues aanmaken in deze repository omdat u geblokkeerd bent door de eigenaar van deze repository.
issues.label_archived_filter = Gearchiveerde labels bekijken
issues.label_archive_tooltip = Gearchiveerde labels zijn standaard uitgezonderd van de suggesties als men op een label zoekt.
issues.max_pinned = U kunt geen issues meer vastpinnen
@@ -2874,6 +2898,10 @@ archive.pull.noreview = Deze repository is gearchiveerd. U kunt geen pull reques
commits.view_single_diff = Bekijk de veranderingen aan dit bestand die in deze commit zijn geïntroduceerd
pulls.editable_explanation = Deze pull request staat bewerkingen toe van beheerders. Je kunt er direct aan bijdragen.
pulls.editable = Bewerkbaar
+issues.reopen.blocked_by_user = U kunt deze issue niet heropenen omdat u geblokkeerd bent door de eigenaar van de repository of de poster van de issue.
+pulls.comment.blocked_by_user = U kunt niet reageren op deze pull request omdat u geblokkeerd bent door de eigenaar van de repository of de poster van de issue.
+issues.filter_no_results_placeholder = Probeer uw zoekfilters aan te passen.
+issues.filter_no_results = Geen resultaten
@@ -2951,7 +2979,7 @@ members.invite_desc=Voeg nieuw lid toe aan %s:
members.invite_now=Nu uitnodigen
teams.join=Lid worden
-teams.leave=Vertlaat
+teams.leave=Verlaat
teams.can_create_org_repo=Maak repositories
teams.can_create_org_repo_helper=Leden kunnen nieuwe repositories aanmaken in de organisatie. De maker krijgt beheerder toegang tot de nieuwe repository.
teams.read_access=Gelezen
@@ -3840,7 +3868,7 @@ alt.repository.architectures = Architecturen
alt.repository.multiple_groups = Dit pakket is beschikbaar in meerdere groepen.
alt.registry = Stel dit register in vanaf de opdrachtregel:
alt.install = Pakket installeren
-alt.setup = Voeg een repository toe aan de lijst met gekoppelde repositories (kies de benodigde architectuur in plaats van '_arch_'):
+alt.setup = Voeg een repository toe aan de lijst met gekoppelde repositories (kies de benodigde architectuur in plaats van "_arch_"):
[secrets]
secrets = Geheimen
diff --git a/options/locale/locale_pt-BR.ini b/options/locale/locale_pt-BR.ini
index 6ba696573a..7098481fee 100644
--- a/options/locale/locale_pt-BR.ini
+++ b/options/locale/locale_pt-BR.ini
@@ -55,7 +55,7 @@ organization=Organização
mirror=Espelhamento
new_repo=Novo repositório
new_migrate=Nova migração
-new_mirror=Novo espelhamento
+new_mirror=Novo espelho
new_fork=Novo fork do repositório
new_org=Nova organização
new_project=Novo projeto
@@ -109,7 +109,7 @@ preview=Pré-visualização
loading=Carregando…
error=Erro
-error404=A página que você está tentando acessar não existe ou você não está autorizado a visualizá-la.
+error404=A página que você está tentando acessar não existe, foi removida ou você não tem autorização para visualizá-la.
never=Nunca
unknown=Desconhecido
@@ -206,6 +206,10 @@ table_modal.placeholder.header = Cabeçalho
table_modal.placeholder.content = Conteúdo
table_modal.label.rows = Linhas
table_modal.label.columns = Colunas
+link_modal.header = Adicionar um link
+link_modal.url = URL
+link_modal.description = Descrição
+link_modal.paste_reminder = Dica: Com uma URL na sua área de transferência, você pode colar diretamente no editor para criar um link.
[filter]
string.asc=A - Z
@@ -723,8 +727,8 @@ following.title.one = seguindo
followers.title.one = seguidor
followers.title.few = seguidores
public_activity.visibility_hint.self_private = Sua atividade está visível apenas para você e para os administradores da instância. Configurar.
-public_activity.visibility_hint.self_public = Sua atividade está visível para todos, exceto o engajamento em espaços privados. Configurar.
-public_activity.visibility_hint.admin_public = Sua atividade está visível para todos, mas como um administrador você também pode ver o engajamento em espaços privados.
+public_activity.visibility_hint.self_public = Sua atividade está visível para todos, exceto interações em espaços privados. Configurar.
+public_activity.visibility_hint.admin_public = Sua atividade está visível para todos, mas como um administrador você também pode ver interações em espaços privados.
public_activity.visibility_hint.admin_private = Essa atividade está visível para você porque você é um administrador, mas o usuário dejesa que ela seja mantida em privado.
public_activity.visibility_hint.self_private_profile = Sua atividade só é visível para você e para os administradores do servidor porque seu perfil é privado. Configurar.
@@ -993,7 +997,7 @@ scan_this_image=Escaneie esta imagem com o seu aplicativo de autenticação:
or_enter_secret=Ou digite esse código: %s
then_enter_passcode=E insira a senha mostrada no aplicativo:
passcode_invalid=Esse código de acesso é inválido. Tente novamente.
-twofa_enrolled=Sua conta foi inscrita na autenticação de dois fatores. Armazene seu token de backup (%s) em um local seguro, pois ele é exibido apenas uma vez!
+twofa_enrolled=Sua conta foi inscrita na autenticação de dois fatores. Armazene seu token de recuperação de uso único (%s) em um local seguro, pois ele não será exibido novamente.
twofa_failed_get_secret=Falha ao obter o segredo.
webauthn_desc=Chaves de segurança são dispositivos de hardware que contém chaves de criptografia. Elas podem ser usadas para autenticação de dois fatores. A chave de segurança deve suportar o padrão WebAuthnn Authenticator.
@@ -1061,6 +1065,28 @@ user_block_yourself = Você não pode se bloquear.
pronouns_custom_label = Pronomes personalizados
change_username_redirect_prompt.with_cooldown.one = O nome de usuário antigo ficará disponível para qualquer pessoa após um período de espera de %[1]d dia, você ainda pode recuperar o nome de usuário antigo durante este período de espera.
change_username_redirect_prompt.with_cooldown.few = O nome de usuário antigo ficará disponível para qualquer pessoa após um período de espera de %[1]d dias, você ainda pode recuperar o nome de usuário antigo durante este período de espera.
+quota.applies_to_user = As seguintes regras de cota se aplicam à sua conta
+quota.rule.exceeded.helper = O tamanho total de objetos para esta regra excedeu a cota.
+keep_pronouns_private = Mostrar pronomes apenas para usuários autenticados
+keep_pronouns_private.description = Isto irá esconder seus pronomes de visitantes que não fizeram login.
+storage_overview = Visão geral de armazenamento
+quota = Cota
+quota.applies_to_org = As seguintes regras de cota se aplicam a esta organização
+quota.rule.exceeded = Excedido
+quota.rule.no_limit = Ilimitado
+quota.sizes.all = Tudo
+quota.sizes.repos.all = Repositórios
+quota.sizes.repos.public = Repositórios públicos
+quota.sizes.repos.private = Repositórios privados
+quota.sizes.git.all = Conteúdo Git
+quota.sizes.git.lfs = LFS Git
+quota.sizes.assets.all = Assets
+quota.sizes.assets.attachments.all = Anexos
+quota.sizes.assets.attachments.issues = Anexos de issue
+quota.sizes.assets.attachments.releases = Anexos de release
+quota.sizes.assets.artifacts = Artefatos
+quota.sizes.assets.packages.all = Pacotes
+quota.sizes.wiki = Wiki
[repo]
owner=Proprietário
@@ -1175,8 +1201,8 @@ template.issue_labels=Etiquetas de issue
template.one_item=Deve-se selecionar pelo menos um item de modelo
template.invalid=Deve-se selecionar um repositório de modelo
-archive.title=Este repositório está arquivado. Você pode visualizar arquivos e cloná-lo, mas não pode fazer push, abrir issues ou pull requests.
-archive.title_date=Este repositório foi arquivado em %s. Você pode visualizar arquivos e cloná-lo, mas não pode fazer push, abrir issues ou pull requests.
+archive.title=Este repositório está arquivado. Você pode visualizar arquivos e cloná-lo, mas não pode fazer alterações, tais como push, novos issues, pull requests ou comentários.
+archive.title_date=Este repositório foi arquivado em %s. Você pode visualizar arquivos e cloná-lo, mas não pode fazer alterações, tais como push, abrir issues, pull requests ou comentários.
archive.issue.nocomment=Este repositório está arquivado. Você não pode comentar em issues.
archive.pull.nocomment=Este repositório está arquivado. Você não pode comentar em pull requests.
@@ -2660,7 +2686,7 @@ pulls.cmd_instruction_checkout_title = Checkout
settings.wiki_globally_editable = Permitir que qualquer pessoa edite a wiki
settings.transfer_abort_success = A transferência de repositório para %s foi cancelada.
settings.enter_repo_name = Digite os nomes do dono e do repositório exatamente neste formato:
-issues.blocked_by_user = Você não pode criar uma questão neste repositório porque você foi bloqueado pelo dono do repositório.
+issues.blocked_by_user = Você não pode criar issues neste repositório porque você foi bloqueado pelo dono do repositório.
settings.new_owner_blocked_doer = Você foi bloqueado pelo novo dono do repositório.
settings.wiki_rename_branch_main_notices_1 = NÃO É POSSÍVEL desfazer esta ação.
tree_path_not_found_commit = O caminho %[1]s não existe no commit %[2]s
@@ -2751,8 +2777,8 @@ release.system_generated = Este anexo foi gerado automaticamente.
settings.wiki_branch_rename_failure = Falha ao regularizar o nome do ramo da wiki do repositório.
settings.add_collaborator_blocked_them = Não foi possível adicionar o(a) colaborador(a) porque ele(a) bloqueou o(a) proprietário(a) do repositório.
settings.thread_id = ID da discussão
-issues.edit.already_changed = Não foi possível salvar as alterações desta questão porque o conteúdo foi alterado por outro(a) usuário(a). Atualize a página e tente novamente para evitar sobrescrever as alterações.
-pulls.edit.already_changed = Não foi possível salvar as alterações deste pedido de integração porque o conteúdo foi alterado por outro(a) usuário(a). Atualize a página e tente novamente para evitar sobrescrever as alterações.
+issues.edit.already_changed = Não foi possível salvar as alterações desta questão. O conteúdo parece já ter sido alterado por outro(a) usuário(a). Atualize a página e tente novamente para evitar sobrescrever estas alterações.
+pulls.edit.already_changed = Não foi possível salvar as alterações deste pull request. Parece que o conteúdo já foi alterado por outro(a) usuário(a). Atualize a página e tente novamente para evitar sobrescrever estas alterações.
editor.commit_id_not_matching = O arquivo foi alterado durante a edição. Salve as alterações em um novo ramo e realize a mesclagem.
blame.ignore_revs = As revisões em .git-blame-ignore-revs foram ignoradas. Clique aqui para retornar à visualização normal.
topic.format_prompt = Os tópicos devem começar com um caracter alfanumérico, podem incluir hífens ("-") e pontos ("."), e podem ter até 35 caracteres. As letras devem ser minúsculas.
@@ -2767,7 +2793,7 @@ pulls.fast_forward_only_merge_pull_request = Apenas fast-forward
pulls.has_merged = Falha: O pull request foi merged, você não pode merge novamente ou mudar o branch destino.
issues.author.tooltip.pr = Esse usuário é o autor dessa solicitação de pull.
editor.push_out_of_date = O push parece estar desatualizado.
-issues.comment.blocked_by_user = Você não pode criar um comentário nesse problema porque você está bloqueado pelo dono do repositório ou pelo autor do problema.
+issues.comment.blocked_by_user = Você não pode comentar neste issue porque você foi bloqueado pelo dono do repositório ou pelo autor deste issue.
pulls.blocked_by_user = Você não pode criar uma solicitação de pull nesse repositório porque você está bloqueado pelo dono do repositório.
mirror_use_ssh.helper = Forgejo irá espelhar o repositório via Git através de SSH e criar um par de chaves para você ao escolher essa opção. Você deverá garantir que a chave pública gerada está autorizada a fazer push para o repositório de destino. Você não pode usar autorização baseada em senha ao escolher essa opção.
mirror_denied_combination = Não é possível combinar o uso de chave pública e autenticação baseada em senha.
@@ -2873,6 +2899,8 @@ editor.commit_email = Email de commit
commits.view_single_diff = Ver modificações neste arquivo introduzidas neste commit
pulls.editable = Editável
pulls.editable_explanation = Este pull request permite edições de mantenedores. Voçê pode contribuir diretamenta para ele.
+issues.reopen.blocked_by_user = Você não pode reabrir este issue porque você foi bloqueado pelo dono do repositório ou pelo criador deste issue.
+pulls.comment.blocked_by_user = Você não pode comentar neste pull request porque você foi bloqueado pelo dono do repositório ou pelo autor do pull request.
[graphs]
component_loading = Carregando %s...
@@ -3181,7 +3209,7 @@ orgs.new_orga=Nova organização
repos.repo_manage_panel=Gerenciar repositórios
repos.unadopted=Repositórios não adotados
-repos.unadopted.no_more=Não foram encontrados repositórios não adotados
+repos.unadopted.no_more=Não foram encontrados repositórios não adotados.
repos.owner=Proprietário(a)
repos.name=Nome
repos.private=Privado
@@ -3837,7 +3865,7 @@ alt.install = Instalar pacote
alt.repository = Informação do repositório
alt.repository.architectures = Arquiteturas
alt.repository.multiple_groups = Este pacote está disponível em múltiplos grupos.
-alt.setup = Adicionar um repositório à lista de repositórios conectados (escolha a arquitetura necessária em vez de '_arch_'):
+alt.setup = Adicionar um repositório à lista de repositórios conectados (escolha a arquitetura necessária em vez de "_arch_"):
[secrets]
secrets=Segredos
@@ -3998,7 +4026,7 @@ commit_kind = Buscar commits…
runner_kind = Pesquisar runners...
code_search_unavailable = A pesquisa de código não está disponível no momento. Entre em contato com o administrador do site.
milestone_kind = Pesquisar marcos...
-union_tooltip = Incluir resultados que coincidam com quaisquer palavras-chave separadas por espaços em branco
+union_tooltip = Incluir resultados que correspondam a quaisquer palavras-chave separadas por espaços em branco
union = União
exact = Exato
exact_tooltip = Incluir apenas resultados que correspondam exatamente ao termo de pesquisa
diff --git a/options/locale/locale_pt-PT.ini b/options/locale/locale_pt-PT.ini
index 7bbb23ee55..bf0bab6fd9 100644
--- a/options/locale/locale_pt-PT.ini
+++ b/options/locale/locale_pt-PT.ini
@@ -112,7 +112,7 @@ preview=Pré-visualizar
loading=Carregando…
error=Erro
-error404=A página que pretende aceder não existe ou não tem autorização para a ver.
+error404=A página que pretende aceder não existe, foi removida ou não tem autorização para a ver.
go_back=Voltar
never=Nunca
@@ -206,6 +206,10 @@ table_modal.placeholder.header = Cabeçalho
table_modal.placeholder.content = Conteúdo
table_modal.label.rows = Linhas
table_modal.label.columns = Colunas
+link_modal.header = Adicionar uma ligação
+link_modal.url = URL
+link_modal.description = Descrição
+link_modal.paste_reminder = Sugestão: Com um URL na área de transferência, pode colar diretamente no editor para criar uma ligação.
[filter]
string.asc=A - Z
@@ -1061,6 +1065,28 @@ pronouns_custom_label = Pronomes personalizados
user_block_yourself = Não se pode bloquear a si próprio.
change_username_redirect_prompt.with_cooldown.one = O nome de utilizador antigo estará disponível para todos após um período de espera de %[1]d dia, podendo ainda reivindicar o nome de utilizador antigo durante o período de espera.
change_username_redirect_prompt.with_cooldown.few = O nome de utilizador antigo ficará disponível para todos após um período de espera de %[1]d dias, podendo ainda reivindicar o nome de utilizador antigo durante o período de espera.
+quota.applies_to_user = As seguintes regras de quotas aplicam-se à sua conta
+quota.sizes.assets.artifacts = Artefactos
+quota.rule.exceeded.helper = O tamanho total dos objectos para esta regra excedeu a quota.
+keep_pronouns_private = Mostrar os pronomes apenas aos utilizadores autenticados
+keep_pronouns_private.description = Isto irá ocultar os seus pronomes dos visitantes que não tenham iniciado sessão.
+quota.sizes.git.lfs = Git LFS
+quota.sizes.assets.all = Ativos
+storage_overview = Panorama geral do armazenamento
+quota = Quota
+quota.applies_to_org = As seguintes regras de quotas aplicam-se a esta organização
+quota.rule.exceeded = Excedido
+quota.rule.no_limit = Ilimitado
+quota.sizes.all = Tudo
+quota.sizes.repos.all = Repositórios
+quota.sizes.repos.public = Repositórios públicos
+quota.sizes.repos.private = Repositórios privados
+quota.sizes.git.all = Conteúdo Git
+quota.sizes.assets.attachments.all = Anexos
+quota.sizes.assets.attachments.issues = Anexos de questões
+quota.sizes.assets.attachments.releases = Anexos de lançamentos
+quota.sizes.assets.packages.all = Pacotes
+quota.sizes.wiki = Wiki
[repo]
new_repo_helper=Um repositório contém todos os ficheiros do trabalho, incluindo o histórico das revisões. Já tem um hospedado noutro sítio? Migre o repositório.
@@ -1187,8 +1213,8 @@ template.issue_labels=Rótulos das questões
template.one_item=Tem que escolher pelo menos um item do modelo
template.invalid=Tem que escolher um repositório modelo
-archive.title=Este repositório está arquivado. Pode ver os ficheiros e cloná-lo, mas não pode fazer envios ou abrir questões ou pedidos de integração.
-archive.title_date=Este repositório foi arquivado em %s. Pode ver os ficheiros e cloná-lo, mas não pode fazer envios ou abrir questões/pedidos de integração.
+archive.title=Este repositório está arquivado. Pode ver os ficheiros e cloná-lo, mas não pode fazer quaisquer alterações ao seu estado, tais como fazer envios e criar novas questões, pedidos de integração ou comentários.
+archive.title_date=Este repositório foi arquivado em %s. Pode ver os ficheiros e cloná-lo, mas não pode fazer quaisquer alterações ao seu estado, tais como fazer envios e criar novas questões, pedidos de integração ou comentários.
archive.issue.nocomment=Este repositório está arquivado. Não pode comentar nas questões.
archive.pull.nocomment=Este repositório está arquivado. Não pode comentar nos pedidos de integração.
@@ -2721,7 +2747,7 @@ find_file.no_matching=Não foi encontrado qualquer ficheiro correspondente
error.csv.too_large=Não é possível apresentar este ficheiro por ser demasiado grande.
error.csv.unexpected=Não é possível apresentar este ficheiro porque contém um caractere inesperado na linha %d e coluna %d.
error.csv.invalid_field_count=Não é possível apresentar este ficheiro porque tem um número errado de campos na linha %d.
-issues.blocked_by_user = Não pode criar uma questão neste repositório porque foi bloqueado/a pelo/a proprietário/a do repositório.
+issues.blocked_by_user = Não pode criar questões neste repositório porque foi bloqueado(a) pelo(a) proprietário(a) do repositório.
issues.num_participants_one = %d participante
stars = Favoritos
editor.invalid_commit_mail = Email inválido para criar um cometimento.
@@ -2787,7 +2813,7 @@ settings.sourcehut_builds.secrets = Segredos
settings.matrix.room_id_helper = O ID da Sala pode ser obtido no cliente web Element > Configurações da sala > Avançado > ID interno da sala. Exemplo: %s.
settings.web_hook_name_sourcehut_builds = Construções do SourceHut
settings.enter_repo_name = Insira o nome do/a proprietário/a e do repositório tal como é apresentado:
-issues.comment.blocked_by_user = Não pode criar um comentário nesta questão porque foi bloqueado/a pelo/a proprietário/a ou pelo remetente da questão.
+issues.comment.blocked_by_user = Não pode comentar nesta questão porque foi bloqueado(a) pelo(a) proprietário(a) ou pelo autor da questão.
pulls.merged_title_desc_one = integrou %[1]d cometimento do ramo %[2]s no ramo %[3]s %[4]s
pulls.agit_explanation = Criado usando a sequência de trabalho AGit. AGit deixa os contribuidores proporem alterações usando "git push" sem criar uma derivação ou um ramo novo.
settings.new_owner_blocked_doer = O/A novo/a proprietário/a bloqueou-o/a.
@@ -2872,6 +2898,11 @@ summary_card_alt = Cartão de resumo do repositório %s
release.summary_card_alt = Cartão de resumo de um lançamento com o título "%s" no repositório %s
archive.pull.noreview = Este repositório está arquivado. Não é possível rever os pedidos de integração.
editor.commit_email = Endereço de email do cometimento
+commits.view_single_diff = Ver alterações a este ficheiro introduzidas neste cometimento
+pulls.comment.blocked_by_user = Não pode comentar este pedido de integração porque está bloqueado pelo(a) proprietário(a) do repositório ou pelo(a) autor(a) do pedido de integração.
+issues.reopen.blocked_by_user = Não pode reabrir esta questão porque está bloqueado pelo(a) proprietário(a) do repositório ou pelo autor da questão.
+pulls.editable = Editável
+pulls.editable_explanation = Este pedido de integração permite edições dos responsáveis. Pode contribuir diretamente para ele.
[graphs]
component_loading=A carregar %s...
@@ -3007,8 +3038,8 @@ teams.invite.by=Convidado(a) por %s
teams.invite.description=Clique no botão abaixo para se juntar à equipa.
follow_blocked_user = Não pode seguir esta organização porque esta organização bloqueou-o/a.
open_dashboard = Abrir painel de controlo
-settings.change_orgname_redirect_prompt.with_cooldown.one = O nome de utilizador antigo estará disponível para todos após um período de espera de %[1]d dia, podendo ainda reivindicar o nome de utilizador antigo durante o período de espera.
-settings.change_orgname_redirect_prompt.with_cooldown.few = O nome de utilizador antigo estará disponível para todos após um período de espera de %[1]d dias, podendo ainda reivindicar o nome de utilizador antigo durante o período de espera.
+settings.change_orgname_redirect_prompt.with_cooldown.one = O nome antigo da organização estará disponível para todos após um período de espera de %[1]d dia, podendo ainda reivindicar o nome antigo durante o período de espera.
+settings.change_orgname_redirect_prompt.with_cooldown.few = O nome antigo da organização estará disponível para todos após um período de espera de %[1]d dias, podendo ainda reivindicar o nome antigo durante o período de espera.
[admin]
dashboard=Painel de controlo
@@ -3835,7 +3866,7 @@ alt.install = Instalar pacote
alt.repository = Informação do repositório
alt.repository.architectures = Arquiteturas
alt.repository.multiple_groups = Este pacote está disponível em vários grupos.
-alt.setup = Adicionar um repositório à lista de repositórios ligados (escolha a arquitetura necessária em vez de '_arch_'):
+alt.setup = Adicionar um repositório à lista de repositórios ligados (escolha a arquitetura necessária em vez de "_arch_"):
[secrets]
secrets=Segredos
@@ -3956,6 +3987,7 @@ workflow.dispatch.invalid_input_type = Tipo de entrada "%s" inválido.
runs.expire_log_message = Os registos foram purgados por serem demasiado antigos.
runs.no_workflows.help_no_write_access = Para aprender sobre Forgejo Actions, vejaa documentação.
runs.no_workflows.help_write_access = Não sabe como começar com o Forgejo Actions? Consulte o início rápido na documentação do utilizador para escrever a sua primeira sequência de trabalho, depois prepare um executor Forgejo para executar os seus trabalhos.
+variables.not_found = Não foi possível encontrar a variável.
[projects]
type-1.display_name=Planeamento individual
diff --git a/options/locale/locale_ru-RU.ini b/options/locale/locale_ru-RU.ini
index 74ab9c3943..dc5100481c 100644
--- a/options/locale/locale_ru-RU.ini
+++ b/options/locale/locale_ru-RU.ini
@@ -110,7 +110,7 @@ preview=Предпросмотр
loading=Загрузка…
error=Ошибка
-error404=Cтраница, которую вы пытаетесь открыть, не существует, либо у вас недостаточно прав для ее просмотра.
+error404=Cтраница, которую вы пытаетесь открыть, не существует, была удалена, либо у вас недостаточно прав для её просмотра.
go_back=Назад
never=Никогда
@@ -206,6 +206,10 @@ table_modal.header = Создание таблицы
table_modal.placeholder.header = Заголовок
table_modal.placeholder.content = Содержимое
table_modal.label.rows = Кол-во строк
+link_modal.header = Добавить ссылку
+link_modal.url = Ссылка
+link_modal.description = Описание
+link_modal.paste_reminder = Имея ссылку в буфере обмена, вы можете вставить её напрямую в текст, чтобы создать ссылку с описанием.
[filter]
string.asc=A - Я
@@ -1063,6 +1067,26 @@ change_username_redirect_prompt.with_cooldown.one = Прежнее имя буд
change_username_redirect_prompt.with_cooldown.few = Прежнее имя будет доступно для использования другим пользователям после истечения защиты в %[1]d дней. Вы сможете вернуть его себе во время срока защиты.
keep_pronouns_private = Показывать местоимения только зарегистрированным пользователям
keep_pronouns_private.description = Местоимения будут скрыты от пользователей, не имеющих учётных записей на сервере.
+quota.applies_to_user = Эти ограничения хранилища применяются к вашей учётной записи
+quota.applies_to_org = Эти ограничения хранилища применяются к этой организации
+quota.sizes.repos.public = Общедоступные репозитории
+storage_overview = Использование места
+quota = Ограничения хранилища
+quota.rule.exceeded = Превышено
+quota.rule.exceeded.helper = Суммарный объём объектов в этом правиле превысил допустимый.
+quota.rule.no_limit = Неограниченно
+quota.sizes.all = Всё
+quota.sizes.repos.all = Репозитории
+quota.sizes.repos.private = Частные репозитории
+quota.sizes.git.all = Содержимое Git
+quota.sizes.git.lfs = Git LFS
+quota.sizes.wiki = Вики
+quota.sizes.assets.packages.all = Пакеты
+quota.sizes.assets.all = Объекты
+quota.sizes.assets.attachments.all = Все прикреплённые файлы
+quota.sizes.assets.attachments.releases = Файлы выпусков
+quota.sizes.assets.attachments.issues = Файлы задач
+quota.sizes.assets.artifacts = Артефакты
[repo]
owner=Владелец
@@ -2684,7 +2708,7 @@ object_format = Формат объекта
clone_in_vscodium = Клонировать в VSCodium
mirror_sync = синхронизирован
blame.ignore_revs = Правки в .git-blame-ignore-revs проигнорированы. Нажмите здесь, чтобы обойти этот файл и просмотреть авторов полноценно.
-issues.blocked_by_user = Невозможно создать задачу в этом репозитории, т.к. вы заблокированы его владельцем.
+issues.blocked_by_user = Создание задач невозможно в этом репозитории, т.к. вы заблокированы его владельцем.
settings.new_owner_blocked_doer = Вы заблокированы новым владельцем.
settings.add_collaborator_blocked_them = Невозможно добавить соучастника, т.к. им заблокирован владелец репозитория.
pulls.blocked_by_changed_protected_files_1 = Этот запрос на слияние заблокирован, т.к. им изменяется защищённый файл:
@@ -2878,6 +2902,10 @@ editor.commit_email = Эл. почта автора
commits.view_single_diff = Посмотреть изменения в этом файле из этого коммита
pulls.editable = Изменяемый
pulls.editable_explanation = Автор разрешил изменения от соучастников. Вы можете напрямую отправлять в него изменения.
+issues.reopen.blocked_by_user = Повторное открытие задачи невозможно, т.к. вы заблокированы владельцем репозитория или автором задачи.
+pulls.comment.blocked_by_user = Вы не можете комментировать под этим запросом слияния, т.к. вы заблокированы владельцем репозитория или автором задачи.
+issues.filter_no_results = Ничего не нашлось
+issues.filter_no_results_placeholder = Попробуйте поискать по-другому.
[graphs]
component_loading_failed = Не удалось загрузить %s
@@ -3699,7 +3727,7 @@ details.project_site=Веб-сайт проекта
details.repository_site=Веб-сайт репозитория
details.documentation_site=Веб-сайт документации
details.license=Лицензия
-assets=Ресурсы
+assets=Объекты
versions=Версии
versions.view_all=Показать всё
dependency.id=ID
diff --git a/options/locale/locale_sv-SE.ini b/options/locale/locale_sv-SE.ini
index 85b5db5391..cbb42b3caa 100644
--- a/options/locale/locale_sv-SE.ini
+++ b/options/locale/locale_sv-SE.ini
@@ -77,7 +77,7 @@ write=Skriv
preview=Förhandsgranska
loading=Laddar…
-error404=Sidan du försöker nå finns inte eller så har du inte behörighet att se den.
+error404=Sidan du försöker nå finns inte, har tagits bort eller så har du inte behörighet att se den.
diff --git a/options/locale/locale_uk-UA.ini b/options/locale/locale_uk-UA.ini
index 0639371c0f..18fd4dbb5d 100644
--- a/options/locale/locale_uk-UA.ini
+++ b/options/locale/locale_uk-UA.ini
@@ -207,6 +207,9 @@ table_modal.placeholder.header = Заголовок
table_modal.placeholder.content = Вміст
table_modal.label.rows = Рядки
link_modal.description = Опис
+link_modal.url = URL
+link_modal.header = Додати посилання
+link_modal.paste_reminder = Підказка: якщо скопіювати URL-адресу в буфер обміну, можна створювати посилання, вставляючи її безпосередньо в редакторі.
[filter]
string.asc = А - Я
@@ -1056,7 +1059,7 @@ quota = Квота
quota.sizes.repos.private = Приватні репозиторії
quota.sizes.repos.public = Публічні репозиторії
quota.sizes.git.all = Вміст Git
-quota.sizes.git.lfs = Вміст LFS
+quota.sizes.git.lfs = Git LFS
quota.sizes.assets.packages.all = Пакунки
quota.sizes.assets.artifacts = Артефакти
quota.sizes.assets.attachments.issues = Вкладення задач
@@ -1068,7 +1071,7 @@ quota.sizes.all = Усе
quota.sizes.repos.all = Репозиторії
quota.applies_to_user = До вашого облікового запису застосовано такі квоти
quota.sizes.assets.attachments.all = Вкладення
-quota.applies_to_org = До вашої організації застосовано такі квоти
+quota.applies_to_org = До цієї організації застосовано такі квоти
quota.rule.exceeded = Перевищено
[repo]
@@ -1786,8 +1789,8 @@ wiki.save_page=Зберегти сторінку
wiki.last_commit_info=%s редагував цю сторінку %s
wiki.edit_page_button=Редагувати
wiki.new_page_button=Нова сторінка
-wiki.file_revision=Ревізії сторінки
-wiki.wiki_page_revisions=Ревізії вікі сторінок
+wiki.file_revision=Версія сторінки
+wiki.wiki_page_revisions=Версії сторінок
wiki.back_to_wiki=Повернутись на сторінку Вікі
wiki.delete_page_button=Видалити сторінку
wiki.page_already_exists=Вікі-сторінка з таким самим ім'ям вже існує.
@@ -2050,7 +2053,7 @@ settings.event_issue_assign_desc=Задачу призначено або ска
settings.event_issue_label=Мітки
settings.event_issue_label_desc=Додавання або видалення міток задач.
settings.event_issue_milestone=Задача з етапом
-settings.event_issue_milestone_desc=Задача призначена на етап або видалена з етапу.
+settings.event_issue_milestone_desc=Етап призначено, видалено або змінено.
settings.event_issue_comment=Коментарі
settings.event_issue_comment_desc=Коментар задачі створено, видалено чи відредаговано.
settings.event_header_pull_request=Події запиту на злиття
@@ -2060,8 +2063,8 @@ settings.event_pull_request_assign=Призначення
settings.event_pull_request_assign_desc=Запит про злиття призначено або скасовано.
settings.event_pull_request_label=Мітки
settings.event_pull_request_label_desc=Мітки запиту на злиття оновлено або очищено.
-settings.event_pull_request_milestone=Запит на злиття призначений на етап
-settings.event_pull_request_milestone_desc=Запит на злиття призначений на етап або видалений з етапу.
+settings.event_pull_request_milestone=Етапи
+settings.event_pull_request_milestone_desc=Етап призначено, видалено або змінено.
settings.event_pull_request_comment=Коментарі
settings.event_pull_request_comment_desc=Коментар запиту на злиття створено, відредаговано чи видалено.
settings.event_pull_request_review=Відгуки
@@ -2336,7 +2339,7 @@ issues.author_helper = Цей користувач - автор.
issues.close = Закрити задачу
issues.role.owner_helper = Цей користувач є власником цього репозиторію.
settings.mirror_settings.docs.more_information_if_disabled = Докладніше про push та pull дзеркала можна дізнатися тут:
-issues.comment.blocked_by_user = Ви не можете створити коментар до цієї задачі, оскільки вас заблокував власник репозиторію або автор цієї задачі.
+issues.comment.blocked_by_user = Ви не можете коментувати цю задачу, оскільки вас заблокував власник репозиторію або автор цієї задачі.
editor.add_file = Додати файл
from_comment = (коментар)
editor.add = Додати %s
@@ -2579,6 +2582,15 @@ n_release_few = %s випусків
release.releases_for = Випуски %s
release.type_attachment = Вкладення
n_release_one = %s випуск
+pulls.comment.blocked_by_user = Ви не можете коментувати цей запит на злиття, оскільки вас заблокував власник репозиторію або автор запиту на злиття.
+issues.reopen.blocked_by_user = Ви не можете знову відкрити цю задачу, оскільки вас заблокував власник репозиторію або автор задачі.
+settings.actions_desc = Увімкнути вбудовані конвеєри CI/CD з Діями Forgejo
+tree_path_not_found_commit = Шлях %[1]s не існує в коміті %[2]s
+pulls.blocked_by_user = Ви не можете створити запит на злиття в цьому репозиторії, оскільки вас заблокував власник репозиторію.
+issues.blocked_by_user = Ви не можете створювати задачі в цьому репозиторії, оскільки вас заблокував власник репозиторію.
+activity.commit = К-ть комітів
+issues.filter_no_results_placeholder = Спробуйте змінити пошукові фільтри.
+issues.filter_no_results = Нічого не знайдено
[graphs]
contributors.what = внески
@@ -2703,6 +2715,7 @@ teams.invite.title = Вас запрошено приєднатися до ко
form.name_reserved = Назву організації «%s» зарезервовано.
settings.change_orgname_redirect_prompt.with_cooldown.one = Стара назва буде доступна всім після періоду захисту, який триватиме %[1]d день. Протягом періоду захисту ви ще можете повернути стару назву.
settings.change_orgname_redirect_prompt.with_cooldown.few = Стара назва буде доступна всім після періоду захисту, який триватиме %[1]d днів. Протягом періоду захисту ви ще можете повернути стару назву.
+teams.none_access = Немає доступу
[admin]
dashboard=Панель управління
@@ -2966,7 +2979,7 @@ auths.tip.google_plus=Отримайте облікові дані клієнт
auths.tip.openid_connect=Використовуйте OpenID Connect Discovery URL (/.well-known/openid-configuration) для автоматичної настройки входу OAuth
auths.tip.twitter=Перейдіть на %s, створіть програму і переконайтеся, що включена опція «Дозволити цю програму для входу в систему за допомогою Twitter»
auths.tip.discord=Зареєструйте новий додаток на %s
-auths.tip.yandex=Створіть новий додаток на %s. Виберіть наступні дозволи з «Yandex.Passport API»: «Доступ до адреси електронної пошти», «Доступ до аватара» і «Доступ до імені користувача, імені та прізвища, статі»
+auths.tip.yandex=Створіть новий додаток на %s. У розділі «Yandex.Passport API» виберіть такі дозволи: «Доступ до адреси електронної пошти», «Доступ до аватара» і «Доступ до імені користувача, імені та прізвища, статі»
auths.tip.mastodon=Введіть URL спеціального екземпляра для екземпляра mastodon, який ви хочете автентифікувати за допомогою (або використовувати за замовчуванням)
auths.edit=Редагувати джерело автентифікації
auths.activated=Це джерело авторизації активоване
@@ -3188,6 +3201,7 @@ users.reserved = Зарезервовано
systemhooks.desc = Вебхуки автоматично сповіщають HTTP-сервер POST-запитами, коли в Forgejo відбуваються певні події. Вказані тут вебхуки спрацьовуватимуть для всіх репозиторіїв системи, тож врахуйте всі ймовірні наслідки для швидкодії. Докладніше — в посібнику з вебхуків.
dashboard.cleanup_actions = Очистити прострочені журнали й артефакти від дій
dashboard.gc_lfs = Виконати очистку сміття метаоб'єктів LFS
+dashboard.new_version_hint = Вийшла %s версія Forgejo, ви використовуєте %s. Докладніше читайте у блозі.
[action]
@@ -3296,8 +3310,8 @@ arch.version.conflicts = Суперечки
arch.version.replaces = Заміни
arch.version.provides = Надає
arch.version.groups = Група
-conda.install = Аби встановити пакунок, використовуючи Conda, запустіть команду:
-cargo.install = Аби встановити пакунок, використовуючи Cargo, запустіть команду:
+conda.install = Аби встановити пакунок, використовуючи Conda, виконайте команду:
+cargo.install = Аби встановити пакунок, використовуючи Cargo, виконайте команду:
versions.view_all = Переглянути всі
generic.download = Завантажте пакунок із командного рядка:
details = Подробиці
@@ -3305,7 +3319,7 @@ arch.version.optdepends = Необовʼязково залежить
installation = Установлення
details.license = Ліцензія
filter.type.all = Усі
-conan.install = Аби встановити пакунок, використовуючи Conan, запустіть команду:
+conan.install = Аби встановити пакунок, використовуючи Conan, виконайте команду:
container.layers = Шари образу
details.project_site = Вебсторінка проєкту
details.documentation_site = Вебсторінка документації
@@ -3314,12 +3328,12 @@ requirements = Вимоги
dependencies = Залежності
empty.repo = Ви опублікували пакунок, але він не показаний тут? Перейдіть до налаштувань пакунків та привʼяжіть його до цього репозиторію.
alpine.repository = Про репозиторій
-alpine.install = Аби встановити цей пакунок, запустіть команду:
-cran.install = Аби встановити пакунок, запустіть команду:
+alpine.install = Аби встановити цей пакунок, виконайте команду:
+cran.install = Аби встановити пакунок, виконайте команду:
composer.dependencies.development = Залежності розробки
container.labels.key = Ключ
container.labels.value = Значення
-composer.install = Аби встановити пакунок, використовуючи Composer, запустіть команду:
+composer.install = Аби встановити пакунок, використовуючи Composer, виконайте команду:
debian.repository.components = Складові
filter.container.tagged = Відмічений
filter.container.untagged = Невідмічений
@@ -3329,20 +3343,20 @@ arch.pacman.sync = Синхронізуйте пакунок з pacman:
arch.pacman.conf = Додайте сервер з повʼязаним дострибутивом та архітектурою до /etc/pacman.conf :
arch.version.properties = Властивості версії
arch.version.description = Опис
-chef.install = Аби встановити пакунок, запустіть команду:
+chef.install = Аби встановити пакунок, виконайте команду:
container.details.platform = Платформа
container.details.type = Тип образу
container.pull = Завантажити образ із командного рядка:
details.repository_site = Вебсторінка репозиторію
composer.dependencies = Залежності
-debian.install = Аби встановити пакунок, запустіть команду:
+debian.install = Аби встановити пакунок, виконайте команду:
debian.repository = Про репозиторій
debian.repository.distributions = Дистрибутиви
alpine.repository.architectures = Архітектури
arch.version.depends = Залежить
go.install = Встановити пакунок із командного рядка:
debian.repository.architectures = Архітектури
-helm.install = Аби встановити пакунок, запустіть команду:
+helm.install = Аби встановити пакунок, виконайте команду:
keywords = Ключові слова
assets = Ресурси
versions = Версії
@@ -3377,6 +3391,17 @@ alt.install = Встановити пакунок
alt.registry = Налаштуйте цей реєстр із командного рядка:
debian.registry = Налаштуйте цей реєстр із командного рядка:
debian.registry.info = Виберіть $distribution і $component зі списку нижче.
+npm.install = Аби встановити пакунок, використовуючи npm, виконайте команду:
+alt.registry.install = Щоб установити пакунок, виконайте команду:
+swift.install2 = і виконайте команду:
+rubygems.install = Аби встановити пакунок, використовуючи gem, виконайте команду:
+alt.setup = Додайте репозиторій до списку підключених репозиторіїв (виберіть потрібну архітектуру замість «_arch_»):
+pypi.install = Аби встановити пакунок, використовуючи pip, виконайте команду:
+nuget.install = Аби встановити пакунок, використовуючи NuGet, виконайте команду:
+pub.install = Аби встановити пакунок, використовуючи Dart, виконайте команду:
+rpm.install = Щоб установити пакунок, виконайте команду:
+maven.install = Для використання пакунка включіть у блок dependencies у файлі pom.xml таке:
+vagrant.install = Щоб додати скриньку Vagrant, виконайте команду:
[secrets]
deletion = Видалити секрет
@@ -3454,6 +3479,9 @@ need_approval_desc = Потрібне схвалення для запуску
variables.not_found = Не вдалося знайти змінну.
runners.task_list.done_at = Завершено
runners.last_online = Востаннє в мережі
+runs.no_workflows.help_no_write_access = Щоб дізнатися більше про Дії Forgejo, читайте документацію.
+runs.no_workflows.help_write_access = Не знаєте, як почати роботу з Діями Forgejo? Перегляньте посібник для початківців у документації, щоб написати свій перший робочий потік, а потім налаштуйте ранер Forgejo для виконання завдань.
+unit.desc = Керування вбудованими конвеєрами CI/CD з Діями Forgejo.
diff --git a/options/locale/locale_zh-CN.ini b/options/locale/locale_zh-CN.ini
index e7d2ac973a..b9fbc4b0ff 100644
--- a/options/locale/locale_zh-CN.ini
+++ b/options/locale/locale_zh-CN.ini
@@ -2750,8 +2750,8 @@ rss.must_be_on_branch = 您必须处于一个分支上才能拥有一个RSS订
admin.manage_flags = 管理标志
admin.failed_to_replace_flags = 替换仓库标志失败
clone_in_vscodium = 在 VSCodium 中克隆
-issues.blocked_by_user = 你无法在此仓库创建工单,因为你已被仓库所有者屏蔽。
-issues.comment.blocked_by_user = 你无法对此工单进行评论,因为你已被仓库所有者或此工单的发布者屏蔽。
+issues.blocked_by_user = 由于你已被仓库所有者屏蔽,你无法在此仓库创建工单。
+issues.comment.blocked_by_user = 因为你已被仓库所有者或工单作者屏蔽,你无法对此工单进行评论。
settings.wiki_rename_branch_main_desc = 将百科内部使用的分支重命名为“%s”。此更改是永久性的且不可撤销。
editor.invalid_commit_mail = 用于创建提交的邮件地址无效。
pulls.blocked_by_user = 你无法在此仓库上创建合并请求,因为您已被仓库所有者屏蔽。
@@ -2901,6 +2901,10 @@ archive.pull.noreview = 此仓库已存档,您无法评审合并请求。
commits.view_single_diff = 查看该提交对本文件的更改
pulls.editable = 可编辑
pulls.editable_explanation = 此合并请求允许维护者进行编辑。你可以直接向其贡献。
+issues.reopen.blocked_by_user = 由于你已被仓库所有者或工单作者屏蔽,你不能重新打开此工单。
+pulls.comment.blocked_by_user = 由于你已被仓库所有者或合并请求作者屏蔽,你不能在此合并请求发表评论。
+issues.filter_no_results = 无结果
+issues.filter_no_results_placeholder = 尝试调整搜索筛选条件。
[graphs]
component_loading=正在加载 %s…
@@ -3860,7 +3864,7 @@ search_in_external_registry = 在 %s 中搜索
alt.registry.install = 要安装此软件包,请运行以下命令:
alt.install = 安装软件包
alt.registry = 通过命令行配置此注册表:
-alt.setup = 添加一个仓库到连接的仓库列表(选择必要的架构而非'_arch_'):
+alt.setup = 添加一个仓库到连接的仓库列表(选择必要的架构而非“_arch_”):
alt.repository = 仓库信息
alt.repository.architectures = 架构
alt.repository.multiple_groups = 此软件包在多个组中可用。
diff --git a/options/locale_next/locale_cs-CZ.json b/options/locale_next/locale_cs-CZ.json
index 8d028b8367..8ae2abdb93 100644
--- a/options/locale_next/locale_cs-CZ.json
+++ b/options/locale_next/locale_cs-CZ.json
@@ -1,11 +1,19 @@
{
- "repo.pulls.merged_title_desc": {
- "one": "sloučil %[1]d commit z %[2]s do %[3]s %[4]s",
- "other": "sloučil %[1]d commity z větve %[2]s do větve %[3]s před %[4]s"
- },
- "repo.pulls.title_desc": {
- "one": "žádá o sloučení %[1]d commitu z %[2]s do %[3]s",
- "other": "chce sloučit %[1]d commity z větve %[2]s do %[3]s"
- },
- "search.milestone_kind": "Hledat milníky..."
+ "repo.pulls.merged_title_desc": {
+ "one": "sloučil/a %[1]d revizi z větve %[2]s do větve %[3]s %[4]s",
+ "few": "sloučil/a %[1]d revize z větve %[2]s do větve %[3]s před %[4]s",
+ "other": "sloučil/a %[1]d revizí z větve %[2]s do větve %[3]s před %[4]s"
+ },
+ "repo.pulls.title_desc": {
+ "one": "žádá o sloučení %[1]d revize z větve %[2]s do větve %[3]s",
+ "few": "žádá o sloučení %[1]d revizí z větve %[2]s do větve %[3]s",
+ "other": "žádá o sloučení %[1]d revizí z větve %[2]s do větve %[3]s"
+ },
+ "search.milestone_kind": "Hledat milníky…",
+ "home.welcome.no_activity": "Žádná aktivita",
+ "home.welcome.activity_hint": "Váš feed je zatím prázdný. Zde se budou zobrazovat vaše akce a aktivity z repozitářů, které sledujete.",
+ "home.explore_repos": "Procházet repozitáře",
+ "home.explore_users": "Procházet uživatele",
+ "home.explore_orgs": "Procházet organizace",
+ "incorrect_root_url": "Tato instance Forgejo je nastavena tak, aby běžela na adrese „%s“. Vy si momentálně prohlížíte Forgejo na jiné adrese, což může způsobit rozbití některých částí aplikace. Správná adresa je ovládána správci Forgejo pomocí nastavení ROOT_URL v souboru app.ini."
}
diff --git a/options/locale_next/locale_da.json b/options/locale_next/locale_da.json
index 0c2c9a25ea..36eebe9c93 100644
--- a/options/locale_next/locale_da.json
+++ b/options/locale_next/locale_da.json
@@ -1,3 +1,17 @@
{
- "search.milestone_kind": "Søg milepæle..."
+ "search.milestone_kind": "Søg milepæle...",
+ "repo.pulls.title_desc": {
+ "one": "ønsker at flette %[1]d commit fra %[2]s til %[3]s",
+ "other": "ønsker at flette %[1]d commits fra %[2]s til %[3]s"
+ },
+ "repo.pulls.merged_title_desc": {
+ "one": "flettet %[1]d commit fra %[2]s til %[3]s %[4]s",
+ "other": "flettet %[1]d commits fra %[2]s til %[3]s %[4]s"
+ },
+ "incorrect_root_url": "Denne Forgejo-instans er konfigureret til at blive serveret på \"%s\". Du ser i øjeblikket Forgejo gennem en anden URL, hvilket kan få dele af applikationen til at gå i stykker. Den kanoniske URL styres af Forgejo-administratorer via indstillingen ROOT_URL i app.ini.",
+ "home.welcome.no_activity": "Ingen aktivitet",
+ "home.welcome.activity_hint": "Der er intet i dit feed endnu. Dine handlinger og aktivitet fra depoterne, som du ser, vises her.",
+ "home.explore_repos": "Udforsk depoter",
+ "home.explore_users": "Udforsk brugere",
+ "home.explore_orgs": "Udforsk organisationer"
}
diff --git a/options/locale_next/locale_de-DE.json b/options/locale_next/locale_de-DE.json
index f4a15ecdb9..a39f5b12bc 100644
--- a/options/locale_next/locale_de-DE.json
+++ b/options/locale_next/locale_de-DE.json
@@ -1,11 +1,16 @@
{
- "repo.pulls.merged_title_desc": {
- "one": "hat %[1]d Commit von %[2]s nach %[3]s %[4]s zusammengeführt",
- "other": "hat %[1]d Commits von %[2]s nach %[3]s %[4]s zusammengeführt"
- },
- "repo.pulls.title_desc": {
- "one": "möchte %[1]d Commit von %[2]s nach %[3]s zusammenführen",
- "other": "möchte %[1]d Commits von %[2]s nach %[3]s zusammenführen"
- },
- "search.milestone_kind": "Meilensteine suchen …"
+ "repo.pulls.merged_title_desc": {
+ "one": "hat %[1]d Commit von %[2]s nach %[3]s %[4]s zusammengeführt",
+ "other": "hat %[1]d Commits von %[2]s nach %[3]s %[4]s zusammengeführt"
+ },
+ "repo.pulls.title_desc": {
+ "one": "möchte %[1]d Commit von %[2]s nach %[3]s zusammenführen",
+ "other": "möchte %[1]d Commits von %[2]s nach %[3]s zusammenführen"
+ },
+ "search.milestone_kind": "Meilensteine suchen …",
+ "home.welcome.no_activity": "Keine Aktivität",
+ "home.explore_repos": "Repositorys erkunden",
+ "home.explore_users": "Benutzer erkunden",
+ "home.explore_orgs": "Organisationen erkunden",
+ "home.welcome.activity_hint": "Es gibt noch nichts in deinem Feed. Deine Aktionen und Aktivitäten aus Repositorys, die du beobachtest, werden hier auftauchen."
}
diff --git a/options/locale_next/locale_fa-IR.json b/options/locale_next/locale_fa-IR.json
index 0a703d22d7..78d6944203 100644
--- a/options/locale_next/locale_fa-IR.json
+++ b/options/locale_next/locale_fa-IR.json
@@ -1,8 +1,16 @@
{
- "repo.pulls.merged_title_desc": {
- "other": "%[1]d کامیت ادغام شده از %[2]s به %[3]s %[4]s"
- },
- "repo.pulls.title_desc": {
- "other": "قصد ادغام %[1]d تغییر را از %[2]s به %[3]s دارد"
- }
+ "repo.pulls.merged_title_desc": {
+ "one": "واکشی %[1]d سپرده از %[2]s به %[3]s %[4]s",
+ "other": "واکشی %[1]d سپردهها از %[2]s به %[3]s %[4]s"
+ },
+ "repo.pulls.title_desc": {
+ "one": "خواست واکشی %[1]d سپرده را از %[2]s به %[3]s دارد",
+ "other": "خواست واکشی %[1]d سپردهها را از %[2]s به %[3]s دارد"
+ },
+ "home.welcome.activity_hint": "هنوز چیزی در آزوغه شما نیست. در اینجا کنشها و کوششهای شما در مخازنی که نگاهبانی میکنید نمایش داده خواهد شد.",
+ "search.milestone_kind": "جستجو نقاط عطف...",
+ "home.welcome.no_activity": "بدون کوشش",
+ "home.explore_repos": "کاوش مخازن",
+ "home.explore_users": "کاوش کاربران",
+ "home.explore_orgs": "کاوش سازمانها"
}
diff --git a/options/locale_next/locale_lv-LV.json b/options/locale_next/locale_lv-LV.json
index a16e3aaf8a..a0d57309ff 100644
--- a/options/locale_next/locale_lv-LV.json
+++ b/options/locale_next/locale_lv-LV.json
@@ -1,11 +1,19 @@
{
- "repo.pulls.merged_title_desc": {
- "one": "iekļāva %[1]d iesūtījumu no %[2]s%[3]s %[4]s",
- "other": "Iekļāva %[1]d iesūtījumus no %[2]s zarā %[3]s %[4]s"
- },
- "repo.pulls.title_desc": {
- "one": "vēlas iekļaut %[1]d iesūtījumu no %[2]s%[3]s",
- "other": "vēlas iekļaut %[1]d iesūtījumus no %[2]s zarā %[3]s"
- },
- "search.milestone_kind": "Meklēt atskaites punktus..."
+ "repo.pulls.merged_title_desc": {
+ "zero": "iekļāva %[1]d iesūtījumu no %[2]s%[3]s %[4]s",
+ "one": "Iekļāva %[1]d iesūtījumu no %[2]s zarā %[3]s %[4]s",
+ "other": "Iekļāva %[1]d iesūtījumus no %[2]s zarā %[3]s %[4]s"
+ },
+ "repo.pulls.title_desc": {
+ "zero": "vēlas iekļaut %[1]d iesūtījumu no %[2]s%[3]s",
+ "one": "vēlas iekļaut %[1]d iesūtījumu no %[2]s zarā %[3]s",
+ "other": "vēlas iekļaut %[1]d iesūtījumus no %[2]s zarā %[3]s"
+ },
+ "search.milestone_kind": "Meklēt atskaites punktus...",
+ "home.welcome.no_activity": "Nav darbību",
+ "home.welcome.activity_hint": "Barotnē pagaidām nekā nav. Šeit parādīsies darbības un vēroto glabātavu notikumi.",
+ "home.explore_repos": "Izpētīt glabātavas",
+ "home.explore_users": "Izpētīt lietotājus",
+ "home.explore_orgs": "Izpētīt apvienības",
+ "incorrect_root_url": "Šis Forgejo serveris ir konfigurēts darboties \"%s\". Pašlaik Forgejo tiek apmeklēta ar atšķirīgu URL, kas var radīt atsevišķu lietotnes daļu salūšanu. Kanonisko URL pārrauga Forgejo pārvaldītāji ar app.ini iestatījumu ROOT_URL."
}
diff --git a/options/locale_next/locale_nds.json b/options/locale_next/locale_nds.json
index 564302820a..a587997da3 100644
--- a/options/locale_next/locale_nds.json
+++ b/options/locale_next/locale_nds.json
@@ -1,11 +1,17 @@
{
- "repo.pulls.merged_title_desc": {
- "one": "hett %[1]d Kommitteren vun %[2]s na %[3]s %[4]s tosamenföhrt",
- "other": "hett %[1]d Kommitterens vun %[2]s na %[3]s %[4]s tosamenföhrt"
- },
- "repo.pulls.title_desc": {
- "one": "will %[1]d Kommitteren vun %[2]s na %[3]s tosamenföhren",
- "other": "will %[1]d Kommitterens vun %[2]s na %[3]s tosamenföhren"
- },
- "search.milestone_kind": "In Markstenen söken …"
+ "repo.pulls.merged_title_desc": {
+ "one": "hett %[4]s %[1]d Kommitteren vun %[2]s na %[3]s tosamenföhrt",
+ "other": "hett %[4]s %[1]d Kommitterens vun %[2]s na %[3]s tosamenföhrt"
+ },
+ "repo.pulls.title_desc": {
+ "one": "will %[1]d Kommitteren vun %[2]s na %[3]s tosamenföhren",
+ "other": "will %[1]d Kommitterens vun %[2]s na %[3]s tosamenföhren"
+ },
+ "search.milestone_kind": "In Markstenen söken …",
+ "home.explore_users": "Brukers utförsken",
+ "home.explore_orgs": "Vereenigungen utförsken",
+ "home.explore_repos": "Repositoriums utförsken",
+ "home.welcome.no_activity": "Keen Doon",
+ "home.welcome.activity_hint": "In dienem Schuuv is noch nix. Dien Doon un dat Doon vun Repositoriums, wat du beluurst, word hier wiest worden.",
+ "incorrect_root_url": "Deese Forgejo-Instanz is inricht, unner »%s« besöcht to worden. Du bekiekst Forgejo jüüst dör een anner URL, wat daarto föhren kann, dat ’t deelwies nich richtig warkt. De kanonisk URL word vun de Forgejo-Chefs över de ROOT_URL-Instellen in de app.ini kuntrolleert."
}
diff --git a/options/locale_next/locale_nl-NL.json b/options/locale_next/locale_nl-NL.json
index fbb78e9280..cfa80104e8 100644
--- a/options/locale_next/locale_nl-NL.json
+++ b/options/locale_next/locale_nl-NL.json
@@ -1,11 +1,17 @@
{
- "repo.pulls.merged_title_desc": {
- "one": "heeft %[1]d commit van %[2]s samengevoegd in %[3]s %[4]s",
- "other": "heeft %[1]d commits samengevoegd van %[2]s naar %[3]s %[4]s"
- },
- "repo.pulls.title_desc": {
- "one": "wilt %[1]d commit van %[2]s samenvoegen in %[3]s",
- "other": "wilt %[1]d commits van %[2]s samenvoegen met %[3]s"
- },
- "search.milestone_kind": "Zoek mijlpalen..."
+ "repo.pulls.merged_title_desc": {
+ "one": "heeft %[1]d commit van %[2]s samengevoegd in %[3]s %[4]s",
+ "other": "heeft %[1]d commits samengevoegd van %[2]s naar %[3]s %[4]s"
+ },
+ "repo.pulls.title_desc": {
+ "one": "wilt %[1]d commit van %[2]s samenvoegen in %[3]s",
+ "other": "wilt %[1]d commits van %[2]s samenvoegen met %[3]s"
+ },
+ "search.milestone_kind": "Zoek mijlpalen...",
+ "home.welcome.no_activity": "Geen activiteit",
+ "home.welcome.activity_hint": "Er staat nog niets in uw feed. Uw acties en activiteiten van repositories die u bekijkt zullen hier verschijnen.",
+ "home.explore_repos": "Ontdek repositories",
+ "home.explore_users": "Ontdek gebruikers",
+ "home.explore_orgs": "Ontdek organisaties",
+ "incorrect_root_url": "Deze Forgejo-instantie is geconfigureerd om geserveerd te worden op \"%s\". U bekijkt Forgejo momenteel via een andere URL, waardoor onderdelen van de applicatie kunnen breken. De canonieke URL kan worden gewijzigd door Forgejo admins via de ROOT_URL instelling in de app.ini."
}
diff --git a/options/locale_next/locale_pt-BR.json b/options/locale_next/locale_pt-BR.json
index 4de44582a5..a66d679e96 100644
--- a/options/locale_next/locale_pt-BR.json
+++ b/options/locale_next/locale_pt-BR.json
@@ -1,11 +1,19 @@
{
- "repo.pulls.merged_title_desc": {
- "one": "mesclou %[1]d commit de %[2]s em %[3]s %[4]s",
- "other": "mesclou %[1]d commits de %[2]s em %[3]s %[4]s"
- },
- "repo.pulls.title_desc": {
- "one": "quer mesclar %[1]d commit de %[2]s em %[3]s",
- "other": "quer mesclar %[1]d commits de %[2]s em %[3]s"
- },
- "search.milestone_kind": "Pesquisar marcos..."
+ "repo.pulls.merged_title_desc": {
+ "one": "mesclou %[1]d commit de %[2]s em %[3]s %[4]s",
+ "many": "mesclou %[1]d commits de %[2]s em %[3]s %[4]s",
+ "other": ""
+ },
+ "repo.pulls.title_desc": {
+ "one": "quer mesclar %[1]d commit de %[2]s em %[3]s",
+ "many": "quer mesclar %[1]d commits de %[2]s em %[3]s",
+ "other": ""
+ },
+ "search.milestone_kind": "Pesquisar marcos...",
+ "home.welcome.no_activity": "Sem atividade",
+ "home.welcome.activity_hint": "Ainda não tem nada no seu feed. Suas ações e atividade dos seus repositórios vigiados aparecerão aqui.",
+ "home.explore_repos": "Explorar repositórios",
+ "home.explore_users": "Explorar usuários",
+ "home.explore_orgs": "Explorar organizações",
+ "incorrect_root_url": "Esta instância do Forgejo está configurada para o endereço \"%s\". Você está atualmente vendo o Forgejo através de uma URL diferente, o que pode causar erros em algumas partes da aplicação. A URL oficial é controlada pela administração do Forgejo através da configuração ROOT_URL no arquivo app.ini."
}
diff --git a/options/locale_next/locale_pt-PT.json b/options/locale_next/locale_pt-PT.json
index cf72ef3e09..4d58ffff73 100644
--- a/options/locale_next/locale_pt-PT.json
+++ b/options/locale_next/locale_pt-PT.json
@@ -1,11 +1,18 @@
{
- "repo.pulls.merged_title_desc": {
- "one": "integrou %[1]d cometimento do ramo %[2]s no ramo %[3]s %[4]s",
- "other": "integrou %[1]d cometimento(s) do ramo %[2]s no ramo %[3]s %[4]s"
- },
- "repo.pulls.title_desc": {
- "one": "quer integrar %[1]d cometimento do ramo %[2]s no ramo %[3]s",
- "other": "quer integrar %[1]d cometimento(s) do ramo %[2]s no ramo %[3]s"
- },
- "search.milestone_kind": "Procurar etapas..."
+ "repo.pulls.merged_title_desc": {
+ "one": "integrou %[1]d cometimento do ramo %[2]s no ramo %[3]s %[4]s",
+ "many": "integrou %[1]d cometimentos do ramo %[2]s no ramo %[3]s %[4]s",
+ "other": ""
+ },
+ "repo.pulls.title_desc": {
+ "one": "quer integrar %[1]d cometimento do ramo %[2]s no ramo %[3]s",
+ "many": "quer integrar %[1]d cometimentos do ramo %[2]s no ramo %[3]s",
+ "other": ""
+ },
+ "search.milestone_kind": "Procurar etapas...",
+ "home.welcome.no_activity": "Sem atividade",
+ "home.welcome.activity_hint": "Ainda não há nada no seu feed. As suas operações e a atividade dos repositórios que vigia aparecerão aqui.",
+ "home.explore_repos": "Explorar repositórios",
+ "home.explore_users": "Explorar utilizadores",
+ "home.explore_orgs": "Explorar organizações"
}
diff --git a/options/locale_next/locale_ru-RU.json b/options/locale_next/locale_ru-RU.json
index 36f54f405b..3db0072760 100644
--- a/options/locale_next/locale_ru-RU.json
+++ b/options/locale_next/locale_ru-RU.json
@@ -1,11 +1,19 @@
{
- "repo.pulls.merged_title_desc": {
- "one": "слит %[1]d коммит из %[2]s в %[3]s %[4]s",
- "many": "слито %[1]d коммит(ов) из %[2]s в %[3]s %[4]s"
- },
- "repo.pulls.title_desc": {
- "one": "хочет влить %[1]d коммит из %[2]s в %[3]s",
- "many": "хочет влить %[1]d коммит(ов) из %[2]s в %[3]s"
- },
- "search.milestone_kind": "Найти этапы..."
+ "repo.pulls.merged_title_desc": {
+ "one": "слит %[1]d коммит из %[2]s в %[3]s %[4]s",
+ "few": "слито %[1]d коммита из %[2]s в %[3]s %[4]s",
+ "many": "слито %[1]d коммитов из %[2]s в %[3]s %[4]s"
+ },
+ "repo.pulls.title_desc": {
+ "one": "хочет влить %[1]d коммит из %[2]s в %[3]s",
+ "few": "хочет влить %[1]d коммита из %[2]s в %[3]s",
+ "many": "хочет влить %[1]d коммитов из %[2]s в %[3]s"
+ },
+ "search.milestone_kind": "Найти этапы...",
+ "home.explore_repos": "Каталог репозиториев",
+ "home.explore_users": "Каталог пользователей",
+ "home.explore_orgs": "Каталог организаций",
+ "home.welcome.activity_hint": "В вашей ленте пока ничего нет. Ваши действия и активность из отслеживаемых вами репозиториев будут отображены здесь.",
+ "home.welcome.no_activity": "Нет событий",
+ "incorrect_root_url": "Этот сервер Forgejo расположен по адресу «%s», но вы просматриваете страницу с другого адреса. Это может приводить к поломкам частей приложения. Канонический адрес указывается администратором сервера в файле конфигурации app.ini - ROOT_URL."
}
diff --git a/options/locale_next/locale_uk-UA.json b/options/locale_next/locale_uk-UA.json
index ce37b9bef3..f76e502124 100644
--- a/options/locale_next/locale_uk-UA.json
+++ b/options/locale_next/locale_uk-UA.json
@@ -1,11 +1,19 @@
{
- "repo.pulls.merged_title_desc": {
- "one": "об'єднав %[1]d коміт з %[2]s в %[3]s %[4]s",
- "many": "об'єднав %[1]d комітів з %[2]s в %[3]s %[4]s"
- },
- "repo.pulls.title_desc": {
- "one": "хоче об'єднати %[1]d коміт з %[2]s в %[3]s",
- "many": "хоче об'єднати %[1]d комітів з %[2]s в %[3]s"
- },
- "search.milestone_kind": "Шукати віхи..."
+ "repo.pulls.merged_title_desc": {
+ "one": "об'єднує %[1]d коміт з %[2]s в %[3]s %[4]s",
+ "few": "об'єднує %[1]d коміти з %[2]s в %[3]s %[4]s",
+ "many": "об'єднує %[1]d комітів з %[2]s в %[3]s %[4]s"
+ },
+ "repo.pulls.title_desc": {
+ "one": "хоче об'єднати %[1]d коміт з %[2]s в %[3]s",
+ "few": "хоче об'єднати %[1]d коміти з %[2]s в %[3]s",
+ "many": "хоче об'єднати %[1]d комітів з %[2]s в %[3]s"
+ },
+ "search.milestone_kind": "Шукати етапи...",
+ "home.welcome.activity_hint": "У вашій стрічці ще нічого немає. Тут з'являтимуться ваші дії та активність із відстежуваних репозиторіїв.",
+ "home.welcome.no_activity": "Немає подій",
+ "home.explore_repos": "Огляд репозиторіїв",
+ "home.explore_users": "Огляд користувачів",
+ "home.explore_orgs": "Огляд організацій",
+ "incorrect_root_url": "Цей екземпляр Forgejo налаштовано на відвідування з «%s». Зараз ви переглядаєте Forgejo за іншою URL-адресою, що може призвести до збоїв деяких частин програми. Канонічна URL-адреса встановлюється адміністраторами Forgejo за допомогою параметра ROOT_URL у файлі app.ini."
}
diff --git a/options/locale_next/locale_zh-CN.json b/options/locale_next/locale_zh-CN.json
index 10b1c9a4be..944b3dbf47 100644
--- a/options/locale_next/locale_zh-CN.json
+++ b/options/locale_next/locale_zh-CN.json
@@ -1,9 +1,11 @@
{
- "repo.pulls.merged_title_desc": {
- "other": "于 %[4]s 将 %[1]d 次代码提交从 %[2]s合并至 %[3]s"
- },
- "repo.pulls.title_desc": {
- "other": "请求将 %[1]d 次代码提交从 %[2]s 合并至 %[3]s"
- },
- "search.milestone_kind": "搜索里程碑…"
+ "repo.pulls.merged_title_desc": "于 %[4]s 将 %[1]d 次代码提交从 %[2]s合并至 %[3]s",
+ "repo.pulls.title_desc": "请求将 %[1]d 次代码提交从 %[2]s 合并至 %[3]s",
+ "search.milestone_kind": "搜索里程碑…",
+ "home.welcome.no_activity": "无活动",
+ "home.welcome.activity_hint": "您的订阅中还没有任何内容。您关注的仓库中的操作和活动将显示在此处。",
+ "home.explore_repos": "探索仓库",
+ "home.explore_users": "探索用户",
+ "home.explore_orgs": "探索组织",
+ "incorrect_root_url": "此 Forgejo 实例配置为在“%s”上提供服务。您当前正在通过不同的网址查看 Forgejo,这可能会导致应用程序的某些部分损坏。Forgejo 管理员通过 app.ini 中的 ROOT_URL 设置控制规范网址。"
}
From 3de904c9632871e72224db819bc241b69d9ff455 Mon Sep 17 00:00:00 2001
From: christopher-besch
Date: Fri, 7 Mar 2025 17:54:26 +0000
Subject: [PATCH 218/708] feat: parse inline attachments for incoming mail
(#7136)
- Some email clients send inline attachments using the `multipart/related` Mime-Type and enmime collects these in the `Envelope.OtherParts` list; until now only Envelope.Attachments and Envelope.Inline were considered while parsing incoming mail.
- As some email clients send attachments without filename, especially in the multipart/related case, this PR implements `constructFilename`, which guesses the filename based on the ContentType.
How the issue was disovered:
I implemented an otherwise unrelated application written in go that parses emails with enmime just like Forgejo does.
I noticed that in a few occasions that system would fail to detect all attachments.
Investigating this issue led me to realize the above described issue.
After implementing a fix for that application, I looked through the Forgejo email parsing code and discovered the same problem.
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7136
Reviewed-by: Gusted
Co-authored-by: christopher-besch
Co-committed-by: christopher-besch
---
services/mailer/incoming/incoming.go | 39 ++++-
services/mailer/incoming/incoming_test.go | 188 ++++++++++++++++++++++
2 files changed, 224 insertions(+), 3 deletions(-)
diff --git a/services/mailer/incoming/incoming.go b/services/mailer/incoming/incoming.go
index 092f738cd9..1b1be4c656 100644
--- a/services/mailer/incoming/incoming.go
+++ b/services/mailer/incoming/incoming.go
@@ -7,8 +7,10 @@ import (
"context"
"crypto/tls"
"fmt"
+ "mime"
net_mail "net/mail"
"regexp"
+ "slices"
"strings"
"time"
@@ -374,25 +376,56 @@ type Attachment struct {
// getContentFromMailReader grabs the plain content and the attachments from the mail.
// A potential reply/signature gets stripped from the content.
func getContentFromMailReader(env *enmime.Envelope) *MailContent {
+ // get attachments
attachments := make([]*Attachment, 0, len(env.Attachments))
for _, attachment := range env.Attachments {
attachments = append(attachments, &Attachment{
- Name: attachment.FileName,
+ Name: constructFilename(attachment),
Content: attachment.Content,
})
}
+ // get inlines
inlineAttachments := make([]*Attachment, 0, len(env.Inlines))
for _, inline := range env.Inlines {
if inline.FileName != "" && inline.ContentType != "text/plain" {
inlineAttachments = append(inlineAttachments, &Attachment{
- Name: inline.FileName,
+ Name: constructFilename(inline),
Content: inline.Content,
})
}
}
+ // get other parts (mostly multipart/related files, these are for example embedded images in an html mail)
+ otherParts := make([]*Attachment, 0, len(env.Inlines))
+ for _, otherPart := range env.OtherParts {
+ otherParts = append(otherParts, &Attachment{
+ Name: constructFilename(otherPart),
+ Content: otherPart.Content,
+ })
+ }
return &MailContent{
Content: reply.FromText(env.Text),
- Attachments: append(attachments, inlineAttachments...),
+ Attachments: slices.Concat(attachments, inlineAttachments, otherParts),
}
}
+
+// constructFilename interprets the mime part as an (inline) attachment and returns its filename
+// If no filename is given it guesses a sensible filename for it based on the filetype.
+func constructFilename(part *enmime.Part) string {
+ if strings.TrimSpace(part.FileName) != "" {
+ return part.FileName
+ }
+
+ filenameWOExtension := "unnamed_file"
+ if strings.TrimSpace(part.ContentID) != "" {
+ filenameWOExtension = part.ContentID
+ }
+
+ fileExtension := ".unknown"
+ mimeExtensions, err := mime.ExtensionsByType(part.ContentType)
+ if err == nil && len(mimeExtensions) != 0 {
+ // just use the first one we find
+ fileExtension = mimeExtensions[0]
+ }
+ return filenameWOExtension + fileExtension
+}
diff --git a/services/mailer/incoming/incoming_test.go b/services/mailer/incoming/incoming_test.go
index fe11c9e5c6..2ffaac57ae 100644
--- a/services/mailer/incoming/incoming_test.go
+++ b/services/mailer/incoming/incoming_test.go
@@ -4,6 +4,7 @@
package incoming
import (
+ "encoding/base64"
"strings"
"testing"
@@ -194,4 +195,191 @@ func TestGetContentFromMailReader(t *testing.T) {
require.NoError(t, err)
assert.Equal(t, "mail content without signature", content.Content)
assert.Empty(t, content.Attachments)
+
+ // Some versions of Outlook send inline attachments like this, inside a multipart/related part.
+ // the attached image is from: https://openmoji.org/library/emoji-1F684
+ mailString = "Content-Type: multipart/related; boundary=\"=_related boundary=\"\r\n" +
+ "\r\n" +
+ "This text is for clients unable to decode multipart/related with multipart/alternative.\r\n" +
+ "\r\n" +
+ "--=_related boundary=\r\n" +
+ "Content-Type: multipart/alternative; boundary=\"=_alternative boundary=\"\r\n" +
+ "\r\n" +
+ "\r\n" +
+ "\r\n" +
+ "--=_alternative boundary=\r\n" +
+ "Content-Type: text/plain\r\n" +
+ "\r\n" +
+ "This is the plaintext.\r\n" +
+ "\r\n" +
+ "--=_alternative boundary=\r\n" +
+ "Content-Type: text/html\r\n" +
+ "\r\n" +
+ "
This is a mail with multipart/related. Here is an image sent with a filename.