diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md
index 2e0eec1dc0..c72fc34c90 100644
--- a/RELEASE-NOTES.md
+++ b/RELEASE-NOTES.md
@@ -6,6 +6,10 @@ A [patch or minor release](https://semver.org/spec/v2.0.0.html) (e.g. upgrading
The release notes of each release [are available in the corresponding milestone](https://codeberg.org/forgejo/forgejo/milestones), starting with [Forgejo 7.0.7](https://codeberg.org/forgejo/forgejo/milestone/7683) and [Forgejo 8.0.1](https://codeberg.org/forgejo/forgejo/milestone/7682).
+## 8.0.2
+
+The Forgejo v8.0.2 release notes are [available in the v8.0.2 milestone](https://codeberg.org/forgejo/forgejo/milestone/7728).
+
## 8.0.1
The Forgejo v8.0.1 release notes are [available in the v8.0.1 milestone](https://codeberg.org/forgejo/forgejo/milestone/7682).
@@ -147,6 +151,10 @@ A [companion blog post](https://forgejo.org/2024-07-release-v8-0/) provides addi
- [PR](https://codeberg.org/forgejo/forgejo/pulls/2937): 31 March updates
+## 7.0.8
+
+The Forgejo v7.0.8 release notes are [available in the v7.0.8 milestone](https://codeberg.org/forgejo/forgejo/milestone/7729).
+
## 7.0.7
The Forgejo v7.0.7 release notes are [available in the v7.0.7 milestone](https://codeberg.org/forgejo/forgejo/milestone/7683).
diff --git a/assets/go-licenses.json b/assets/go-licenses.json
index 5ff0eb0e7e..44f16469f1 100644
--- a/assets/go-licenses.json
+++ b/assets/go-licenses.json
@@ -19,6 +19,16 @@
"path": "code.forgejo.org/forgejo/reply/LICENSE",
"licenseText": "MIT License\n\nCopyright (c) The Forgejo Authors\nCopyright (c) Discourse\nCopyright (c) Claudemiro\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": "code.forgejo.org/go-chi/cache",
+ "path": "code.forgejo.org/go-chi/cache/LICENSE",
+ "licenseText": "Apache License\nVersion 2.0, January 2004\nhttp://www.apache.org/licenses/\n\nTERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n1. Definitions.\n\n\"License\" shall mean the terms and conditions for use, reproduction, and\ndistribution as defined by Sections 1 through 9 of this document.\n\n\"Licensor\" shall mean the copyright owner or entity authorized by the copyright\nowner that is granting the License.\n\n\"Legal Entity\" shall mean the union of the acting entity and all other entities\nthat control, are controlled by, or are under common control with that entity.\nFor the purposes of this definition, \"control\" means (i) the power, direct or\nindirect, to cause the direction or management of such entity, whether by\ncontract or otherwise, or (ii) ownership of fifty percent (50%) or more of the\noutstanding shares, or (iii) beneficial ownership of such entity.\n\n\"You\" (or \"Your\") shall mean an individual or Legal Entity exercising\npermissions granted by this License.\n\n\"Source\" form shall mean the preferred form for making modifications, including\nbut not limited to software source code, documentation source, and configuration\nfiles.\n\n\"Object\" form shall mean any form resulting from mechanical transformation or\ntranslation of a Source form, including but not limited to compiled object code,\ngenerated documentation, and conversions to other media types.\n\n\"Work\" shall mean the work of authorship, whether in Source or Object form, made\navailable under the License, as indicated by a copyright notice that is included\nin or attached to the work (an example is provided in the Appendix below).\n\n\"Derivative Works\" shall mean any work, whether in Source or Object form, that\nis based on (or derived from) the Work and for which the editorial revisions,\nannotations, elaborations, or other modifications represent, as a whole, an\noriginal work of authorship. For the purposes of this License, Derivative Works\nshall not include works that remain separable from, or merely link (or bind by\nname) to the interfaces of, the Work and Derivative Works thereof.\n\n\"Contribution\" shall mean any work of authorship, including the original version\nof the Work and any modifications or additions to that Work or Derivative Works\nthereof, that is intentionally submitted to Licensor for inclusion in the Work\nby the copyright owner or by an individual or Legal Entity authorized to submit\non behalf of the copyright owner. For the purposes of this definition,\n\"submitted\" means any form of electronic, verbal, or written communication sent\nto the Licensor or its representatives, including but not limited to\ncommunication on electronic mailing lists, source code control systems, and\nissue tracking systems that are managed by, or on behalf of, the Licensor for\nthe purpose of discussing and improving the Work, but excluding communication\nthat is conspicuously marked or otherwise designated in writing by the copyright\nowner as \"Not a Contribution.\"\n\n\"Contributor\" shall mean Licensor and any individual or Legal Entity on behalf\nof whom a Contribution has been received by Licensor and subsequently\nincorporated within the Work.\n\n2. Grant of Copyright License.\n\nSubject to the terms and conditions of this License, each Contributor hereby\ngrants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,\nirrevocable copyright license to reproduce, prepare Derivative Works of,\npublicly display, publicly perform, sublicense, and distribute the Work and such\nDerivative Works in Source or Object form.\n\n3. Grant of Patent License.\n\nSubject to the terms and conditions of this License, each Contributor hereby\ngrants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,\nirrevocable (except as stated in this section) patent license to make, have\nmade, use, offer to sell, sell, import, and otherwise transfer the Work, where\nsuch license applies only to those patent claims licensable by such Contributor\nthat are necessarily infringed by their Contribution(s) alone or by combination\nof their Contribution(s) with the Work to which such Contribution(s) was\nsubmitted. If You institute patent litigation against any entity (including a\ncross-claim or counterclaim in a lawsuit) alleging that the Work or a\nContribution incorporated within the Work constitutes direct or contributory\npatent infringement, then any patent licenses granted to You under this License\nfor that Work shall terminate as of the date such litigation is filed.\n\n4. Redistribution.\n\nYou may reproduce and distribute copies of the Work or Derivative Works thereof\nin any medium, with or without modifications, and in Source or Object form,\nprovided that You meet the following conditions:\n\nYou must give any other recipients of the Work or Derivative Works a copy of\nthis License; and\nYou must cause any modified files to carry prominent notices stating that You\nchanged the files; and\nYou must retain, in the Source form of any Derivative Works that You distribute,\nall copyright, patent, trademark, and attribution notices from the Source form\nof the Work, excluding those notices that do not pertain to any part of the\nDerivative Works; and\nIf the Work includes a \"NOTICE\" text file as part of its distribution, then any\nDerivative Works that You distribute must include a readable copy of the\nattribution notices contained within such NOTICE file, excluding those notices\nthat do not pertain to any part of the Derivative Works, in at least one of the\nfollowing places: within a NOTICE text file distributed as part of the\nDerivative Works; within the Source form or documentation, if provided along\nwith the Derivative Works; or, within a display generated by the Derivative\nWorks, if and wherever such third-party notices normally appear. The contents of\nthe NOTICE file are for informational purposes only and do not modify the\nLicense. You may add Your own attribution notices within Derivative Works that\nYou distribute, alongside or as an addendum to the NOTICE text from the Work,\nprovided that such additional attribution notices cannot be construed as\nmodifying the License.\nYou may add Your own copyright statement to Your modifications and may provide\nadditional or different license terms and conditions for use, reproduction, or\ndistribution of Your modifications, or for any such Derivative Works as a whole,\nprovided Your use, reproduction, and distribution of the Work otherwise complies\nwith the conditions stated in this License.\n\n5. Submission of Contributions.\n\nUnless You explicitly state otherwise, any Contribution intentionally submitted\nfor inclusion in the Work by You to the Licensor shall be under the terms and\nconditions of this License, without any additional terms or conditions.\nNotwithstanding the above, nothing herein shall supersede or modify the terms of\nany separate license agreement you may have executed with Licensor regarding\nsuch Contributions.\n\n6. Trademarks.\n\nThis License does not grant permission to use the trade names, trademarks,\nservice marks, or product names of the Licensor, except as required for\nreasonable and customary use in describing the origin of the Work and\nreproducing the content of the NOTICE file.\n\n7. Disclaimer of Warranty.\n\nUnless required by applicable law or agreed to in writing, Licensor provides the\nWork (and each Contributor provides its Contributions) on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied,\nincluding, without limitation, any warranties or conditions of TITLE,\nNON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are\nsolely responsible for determining the appropriateness of using or\nredistributing the Work and assume any risks associated with Your exercise of\npermissions under this License.\n\n8. Limitation of Liability.\n\nIn no event and under no legal theory, whether in tort (including negligence),\ncontract, or otherwise, unless required by applicable law (such as deliberate\nand grossly negligent acts) or agreed to in writing, shall any Contributor be\nliable to You for damages, including any direct, indirect, special, incidental,\nor consequential damages of any character arising as a result of this License or\nout of the use or inability to use the Work (including but not limited to\ndamages for loss of goodwill, work stoppage, computer failure or malfunction, or\nany and all other commercial damages or losses), even if such Contributor has\nbeen advised of the possibility of such damages.\n\n9. Accepting Warranty or Additional Liability.\n\nWhile redistributing the Work or Derivative Works thereof, You may choose to\noffer, and charge a fee for, acceptance of support, warranty, indemnity, or\nother liability obligations and/or rights consistent with this License. However,\nin accepting such obligations, You may act only on Your own behalf and on Your\nsole responsibility, not on behalf of any other Contributor, and only if You\nagree to indemnify, defend, and hold each Contributor harmless for any liability\nincurred by, or claims asserted against, such Contributor by reason of your\naccepting any such warranty or additional liability.\n\nEND OF TERMS AND CONDITIONS\n\nAPPENDIX: How to apply the Apache License to your work\n\nTo apply the Apache License to your work, attach the following boilerplate\nnotice, with the fields enclosed by brackets \"[]\" replaced with your own\nidentifying information. (Don't include the brackets!) The text should be\nenclosed in the appropriate comment syntax for the file format. We also\nrecommend that a file or class name and description of purpose be included on\nthe same \"printed page\" as the copyright notice for easier identification within\nthird-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."
+ },
+ {
+ "name": "code.forgejo.org/go-chi/captcha",
+ "path": "code.forgejo.org/go-chi/captcha/LICENSE",
+ "licenseText": "Copyright (c) 2011-2014 Dmitry Chestnykh \u003cdmitry@codingrobots.com\u003e\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\nall copies 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\nTHE SOFTWARE.\n"
+ },
{
"name": "code.forgejo.org/go-chi/session",
"path": "code.forgejo.org/go-chi/session/LICENSE",
@@ -64,16 +74,6 @@
"path": "gitea.com/go-chi/binding/LICENSE",
"licenseText": "Apache License\nVersion 2.0, January 2004\nhttp://www.apache.org/licenses/\n\nTERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n1. Definitions.\n\n\"License\" shall mean the terms and conditions for use, reproduction, and\ndistribution as defined by Sections 1 through 9 of this document.\n\n\"Licensor\" shall mean the copyright owner or entity authorized by the copyright\nowner that is granting the License.\n\n\"Legal Entity\" shall mean the union of the acting entity and all other entities\nthat control, are controlled by, or are under common control with that entity.\nFor the purposes of this definition, \"control\" means (i) the power, direct or\nindirect, to cause the direction or management of such entity, whether by\ncontract or otherwise, or (ii) ownership of fifty percent (50%) or more of the\noutstanding shares, or (iii) beneficial ownership of such entity.\n\n\"You\" (or \"Your\") shall mean an individual or Legal Entity exercising\npermissions granted by this License.\n\n\"Source\" form shall mean the preferred form for making modifications, including\nbut not limited to software source code, documentation source, and configuration\nfiles.\n\n\"Object\" form shall mean any form resulting from mechanical transformation or\ntranslation of a Source form, including but not limited to compiled object code,\ngenerated documentation, and conversions to other media types.\n\n\"Work\" shall mean the work of authorship, whether in Source or Object form, made\navailable under the License, as indicated by a copyright notice that is included\nin or attached to the work (an example is provided in the Appendix below).\n\n\"Derivative Works\" shall mean any work, whether in Source or Object form, that\nis based on (or derived from) the Work and for which the editorial revisions,\nannotations, elaborations, or other modifications represent, as a whole, an\noriginal work of authorship. For the purposes of this License, Derivative Works\nshall not include works that remain separable from, or merely link (or bind by\nname) to the interfaces of, the Work and Derivative Works thereof.\n\n\"Contribution\" shall mean any work of authorship, including the original version\nof the Work and any modifications or additions to that Work or Derivative Works\nthereof, that is intentionally submitted to Licensor for inclusion in the Work\nby the copyright owner or by an individual or Legal Entity authorized to submit\non behalf of the copyright owner. For the purposes of this definition,\n\"submitted\" means any form of electronic, verbal, or written communication sent\nto the Licensor or its representatives, including but not limited to\ncommunication on electronic mailing lists, source code control systems, and\nissue tracking systems that are managed by, or on behalf of, the Licensor for\nthe purpose of discussing and improving the Work, but excluding communication\nthat is conspicuously marked or otherwise designated in writing by the copyright\nowner as \"Not a Contribution.\"\n\n\"Contributor\" shall mean Licensor and any individual or Legal Entity on behalf\nof whom a Contribution has been received by Licensor and subsequently\nincorporated within the Work.\n\n2. Grant of Copyright License.\n\nSubject to the terms and conditions of this License, each Contributor hereby\ngrants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,\nirrevocable copyright license to reproduce, prepare Derivative Works of,\npublicly display, publicly perform, sublicense, and distribute the Work and such\nDerivative Works in Source or Object form.\n\n3. Grant of Patent License.\n\nSubject to the terms and conditions of this License, each Contributor hereby\ngrants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,\nirrevocable (except as stated in this section) patent license to make, have\nmade, use, offer to sell, sell, import, and otherwise transfer the Work, where\nsuch license applies only to those patent claims licensable by such Contributor\nthat are necessarily infringed by their Contribution(s) alone or by combination\nof their Contribution(s) with the Work to which such Contribution(s) was\nsubmitted. If You institute patent litigation against any entity (including a\ncross-claim or counterclaim in a lawsuit) alleging that the Work or a\nContribution incorporated within the Work constitutes direct or contributory\npatent infringement, then any patent licenses granted to You under this License\nfor that Work shall terminate as of the date such litigation is filed.\n\n4. Redistribution.\n\nYou may reproduce and distribute copies of the Work or Derivative Works thereof\nin any medium, with or without modifications, and in Source or Object form,\nprovided that You meet the following conditions:\n\nYou must give any other recipients of the Work or Derivative Works a copy of\nthis License; and\nYou must cause any modified files to carry prominent notices stating that You\nchanged the files; and\nYou must retain, in the Source form of any Derivative Works that You distribute,\nall copyright, patent, trademark, and attribution notices from the Source form\nof the Work, excluding those notices that do not pertain to any part of the\nDerivative Works; and\nIf the Work includes a \"NOTICE\" text file as part of its distribution, then any\nDerivative Works that You distribute must include a readable copy of the\nattribution notices contained within such NOTICE file, excluding those notices\nthat do not pertain to any part of the Derivative Works, in at least one of the\nfollowing places: within a NOTICE text file distributed as part of the\nDerivative Works; within the Source form or documentation, if provided along\nwith the Derivative Works; or, within a display generated by the Derivative\nWorks, if and wherever such third-party notices normally appear. The contents of\nthe NOTICE file are for informational purposes only and do not modify the\nLicense. You may add Your own attribution notices within Derivative Works that\nYou distribute, alongside or as an addendum to the NOTICE text from the Work,\nprovided that such additional attribution notices cannot be construed as\nmodifying the License.\nYou may add Your own copyright statement to Your modifications and may provide\nadditional or different license terms and conditions for use, reproduction, or\ndistribution of Your modifications, or for any such Derivative Works as a whole,\nprovided Your use, reproduction, and distribution of the Work otherwise complies\nwith the conditions stated in this License.\n\n5. Submission of Contributions.\n\nUnless You explicitly state otherwise, any Contribution intentionally submitted\nfor inclusion in the Work by You to the Licensor shall be under the terms and\nconditions of this License, without any additional terms or conditions.\nNotwithstanding the above, nothing herein shall supersede or modify the terms of\nany separate license agreement you may have executed with Licensor regarding\nsuch Contributions.\n\n6. Trademarks.\n\nThis License does not grant permission to use the trade names, trademarks,\nservice marks, or product names of the Licensor, except as required for\nreasonable and customary use in describing the origin of the Work and\nreproducing the content of the NOTICE file.\n\n7. Disclaimer of Warranty.\n\nUnless required by applicable law or agreed to in writing, Licensor provides the\nWork (and each Contributor provides its Contributions) on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied,\nincluding, without limitation, any warranties or conditions of TITLE,\nNON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are\nsolely responsible for determining the appropriateness of using or\nredistributing the Work and assume any risks associated with Your exercise of\npermissions under this License.\n\n8. Limitation of Liability.\n\nIn no event and under no legal theory, whether in tort (including negligence),\ncontract, or otherwise, unless required by applicable law (such as deliberate\nand grossly negligent acts) or agreed to in writing, shall any Contributor be\nliable to You for damages, including any direct, indirect, special, incidental,\nor consequential damages of any character arising as a result of this License or\nout of the use or inability to use the Work (including but not limited to\ndamages for loss of goodwill, work stoppage, computer failure or malfunction, or\nany and all other commercial damages or losses), even if such Contributor has\nbeen advised of the possibility of such damages.\n\n9. Accepting Warranty or Additional Liability.\n\nWhile redistributing the Work or Derivative Works thereof, You may choose to\noffer, and charge a fee for, acceptance of support, warranty, indemnity, or\nother liability obligations and/or rights consistent with this License. However,\nin accepting such obligations, You may act only on Your own behalf and on Your\nsole responsibility, not on behalf of any other Contributor, and only if You\nagree to indemnify, defend, and hold each Contributor harmless for any liability\nincurred by, or claims asserted against, such Contributor by reason of your\naccepting any such warranty or additional liability.\n\nEND OF TERMS AND CONDITIONS\n\nAPPENDIX: How to apply the Apache License to your work\n\nTo apply the Apache License to your work, attach the following boilerplate\nnotice, with the fields enclosed by brackets \"[]\" replaced with your own\nidentifying information. (Don't include the brackets!) The text should be\nenclosed in the appropriate comment syntax for the file format. We also\nrecommend that a file or class name and description of purpose be included on\nthe same \"printed page\" as the copyright notice for easier identification within\nthird-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."
},
- {
- "name": "gitea.com/go-chi/cache",
- "path": "gitea.com/go-chi/cache/LICENSE",
- "licenseText": "Apache License\nVersion 2.0, January 2004\nhttp://www.apache.org/licenses/\n\nTERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n1. Definitions.\n\n\"License\" shall mean the terms and conditions for use, reproduction, and\ndistribution as defined by Sections 1 through 9 of this document.\n\n\"Licensor\" shall mean the copyright owner or entity authorized by the copyright\nowner that is granting the License.\n\n\"Legal Entity\" shall mean the union of the acting entity and all other entities\nthat control, are controlled by, or are under common control with that entity.\nFor the purposes of this definition, \"control\" means (i) the power, direct or\nindirect, to cause the direction or management of such entity, whether by\ncontract or otherwise, or (ii) ownership of fifty percent (50%) or more of the\noutstanding shares, or (iii) beneficial ownership of such entity.\n\n\"You\" (or \"Your\") shall mean an individual or Legal Entity exercising\npermissions granted by this License.\n\n\"Source\" form shall mean the preferred form for making modifications, including\nbut not limited to software source code, documentation source, and configuration\nfiles.\n\n\"Object\" form shall mean any form resulting from mechanical transformation or\ntranslation of a Source form, including but not limited to compiled object code,\ngenerated documentation, and conversions to other media types.\n\n\"Work\" shall mean the work of authorship, whether in Source or Object form, made\navailable under the License, as indicated by a copyright notice that is included\nin or attached to the work (an example is provided in the Appendix below).\n\n\"Derivative Works\" shall mean any work, whether in Source or Object form, that\nis based on (or derived from) the Work and for which the editorial revisions,\nannotations, elaborations, or other modifications represent, as a whole, an\noriginal work of authorship. For the purposes of this License, Derivative Works\nshall not include works that remain separable from, or merely link (or bind by\nname) to the interfaces of, the Work and Derivative Works thereof.\n\n\"Contribution\" shall mean any work of authorship, including the original version\nof the Work and any modifications or additions to that Work or Derivative Works\nthereof, that is intentionally submitted to Licensor for inclusion in the Work\nby the copyright owner or by an individual or Legal Entity authorized to submit\non behalf of the copyright owner. For the purposes of this definition,\n\"submitted\" means any form of electronic, verbal, or written communication sent\nto the Licensor or its representatives, including but not limited to\ncommunication on electronic mailing lists, source code control systems, and\nissue tracking systems that are managed by, or on behalf of, the Licensor for\nthe purpose of discussing and improving the Work, but excluding communication\nthat is conspicuously marked or otherwise designated in writing by the copyright\nowner as \"Not a Contribution.\"\n\n\"Contributor\" shall mean Licensor and any individual or Legal Entity on behalf\nof whom a Contribution has been received by Licensor and subsequently\nincorporated within the Work.\n\n2. Grant of Copyright License.\n\nSubject to the terms and conditions of this License, each Contributor hereby\ngrants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,\nirrevocable copyright license to reproduce, prepare Derivative Works of,\npublicly display, publicly perform, sublicense, and distribute the Work and such\nDerivative Works in Source or Object form.\n\n3. Grant of Patent License.\n\nSubject to the terms and conditions of this License, each Contributor hereby\ngrants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,\nirrevocable (except as stated in this section) patent license to make, have\nmade, use, offer to sell, sell, import, and otherwise transfer the Work, where\nsuch license applies only to those patent claims licensable by such Contributor\nthat are necessarily infringed by their Contribution(s) alone or by combination\nof their Contribution(s) with the Work to which such Contribution(s) was\nsubmitted. If You institute patent litigation against any entity (including a\ncross-claim or counterclaim in a lawsuit) alleging that the Work or a\nContribution incorporated within the Work constitutes direct or contributory\npatent infringement, then any patent licenses granted to You under this License\nfor that Work shall terminate as of the date such litigation is filed.\n\n4. Redistribution.\n\nYou may reproduce and distribute copies of the Work or Derivative Works thereof\nin any medium, with or without modifications, and in Source or Object form,\nprovided that You meet the following conditions:\n\nYou must give any other recipients of the Work or Derivative Works a copy of\nthis License; and\nYou must cause any modified files to carry prominent notices stating that You\nchanged the files; and\nYou must retain, in the Source form of any Derivative Works that You distribute,\nall copyright, patent, trademark, and attribution notices from the Source form\nof the Work, excluding those notices that do not pertain to any part of the\nDerivative Works; and\nIf the Work includes a \"NOTICE\" text file as part of its distribution, then any\nDerivative Works that You distribute must include a readable copy of the\nattribution notices contained within such NOTICE file, excluding those notices\nthat do not pertain to any part of the Derivative Works, in at least one of the\nfollowing places: within a NOTICE text file distributed as part of the\nDerivative Works; within the Source form or documentation, if provided along\nwith the Derivative Works; or, within a display generated by the Derivative\nWorks, if and wherever such third-party notices normally appear. The contents of\nthe NOTICE file are for informational purposes only and do not modify the\nLicense. You may add Your own attribution notices within Derivative Works that\nYou distribute, alongside or as an addendum to the NOTICE text from the Work,\nprovided that such additional attribution notices cannot be construed as\nmodifying the License.\nYou may add Your own copyright statement to Your modifications and may provide\nadditional or different license terms and conditions for use, reproduction, or\ndistribution of Your modifications, or for any such Derivative Works as a whole,\nprovided Your use, reproduction, and distribution of the Work otherwise complies\nwith the conditions stated in this License.\n\n5. Submission of Contributions.\n\nUnless You explicitly state otherwise, any Contribution intentionally submitted\nfor inclusion in the Work by You to the Licensor shall be under the terms and\nconditions of this License, without any additional terms or conditions.\nNotwithstanding the above, nothing herein shall supersede or modify the terms of\nany separate license agreement you may have executed with Licensor regarding\nsuch Contributions.\n\n6. Trademarks.\n\nThis License does not grant permission to use the trade names, trademarks,\nservice marks, or product names of the Licensor, except as required for\nreasonable and customary use in describing the origin of the Work and\nreproducing the content of the NOTICE file.\n\n7. Disclaimer of Warranty.\n\nUnless required by applicable law or agreed to in writing, Licensor provides the\nWork (and each Contributor provides its Contributions) on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied,\nincluding, without limitation, any warranties or conditions of TITLE,\nNON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are\nsolely responsible for determining the appropriateness of using or\nredistributing the Work and assume any risks associated with Your exercise of\npermissions under this License.\n\n8. Limitation of Liability.\n\nIn no event and under no legal theory, whether in tort (including negligence),\ncontract, or otherwise, unless required by applicable law (such as deliberate\nand grossly negligent acts) or agreed to in writing, shall any Contributor be\nliable to You for damages, including any direct, indirect, special, incidental,\nor consequential damages of any character arising as a result of this License or\nout of the use or inability to use the Work (including but not limited to\ndamages for loss of goodwill, work stoppage, computer failure or malfunction, or\nany and all other commercial damages or losses), even if such Contributor has\nbeen advised of the possibility of such damages.\n\n9. Accepting Warranty or Additional Liability.\n\nWhile redistributing the Work or Derivative Works thereof, You may choose to\noffer, and charge a fee for, acceptance of support, warranty, indemnity, or\nother liability obligations and/or rights consistent with this License. However,\nin accepting such obligations, You may act only on Your own behalf and on Your\nsole responsibility, not on behalf of any other Contributor, and only if You\nagree to indemnify, defend, and hold each Contributor harmless for any liability\nincurred by, or claims asserted against, such Contributor by reason of your\naccepting any such warranty or additional liability.\n\nEND OF TERMS AND CONDITIONS\n\nAPPENDIX: How to apply the Apache License to your work\n\nTo apply the Apache License to your work, attach the following boilerplate\nnotice, with the fields enclosed by brackets \"[]\" replaced with your own\nidentifying information. (Don't include the brackets!) The text should be\nenclosed in the appropriate comment syntax for the file format. We also\nrecommend that a file or class name and description of purpose be included on\nthe same \"printed page\" as the copyright notice for easier identification within\nthird-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."
- },
- {
- "name": "gitea.com/go-chi/captcha",
- "path": "gitea.com/go-chi/captcha/LICENSE",
- "licenseText": "Apache License\nVersion 2.0, January 2004\nhttp://www.apache.org/licenses/\n\nTERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n1. Definitions.\n\n\"License\" shall mean the terms and conditions for use, reproduction, and\ndistribution as defined by Sections 1 through 9 of this document.\n\n\"Licensor\" shall mean the copyright owner or entity authorized by the copyright\nowner that is granting the License.\n\n\"Legal Entity\" shall mean the union of the acting entity and all other entities\nthat control, are controlled by, or are under common control with that entity.\nFor the purposes of this definition, \"control\" means (i) the power, direct or\nindirect, to cause the direction or management of such entity, whether by\ncontract or otherwise, or (ii) ownership of fifty percent (50%) or more of the\noutstanding shares, or (iii) beneficial ownership of such entity.\n\n\"You\" (or \"Your\") shall mean an individual or Legal Entity exercising\npermissions granted by this License.\n\n\"Source\" form shall mean the preferred form for making modifications, including\nbut not limited to software source code, documentation source, and configuration\nfiles.\n\n\"Object\" form shall mean any form resulting from mechanical transformation or\ntranslation of a Source form, including but not limited to compiled object code,\ngenerated documentation, and conversions to other media types.\n\n\"Work\" shall mean the work of authorship, whether in Source or Object form, made\navailable under the License, as indicated by a copyright notice that is included\nin or attached to the work (an example is provided in the Appendix below).\n\n\"Derivative Works\" shall mean any work, whether in Source or Object form, that\nis based on (or derived from) the Work and for which the editorial revisions,\nannotations, elaborations, or other modifications represent, as a whole, an\noriginal work of authorship. For the purposes of this License, Derivative Works\nshall not include works that remain separable from, or merely link (or bind by\nname) to the interfaces of, the Work and Derivative Works thereof.\n\n\"Contribution\" shall mean any work of authorship, including the original version\nof the Work and any modifications or additions to that Work or Derivative Works\nthereof, that is intentionally submitted to Licensor for inclusion in the Work\nby the copyright owner or by an individual or Legal Entity authorized to submit\non behalf of the copyright owner. For the purposes of this definition,\n\"submitted\" means any form of electronic, verbal, or written communication sent\nto the Licensor or its representatives, including but not limited to\ncommunication on electronic mailing lists, source code control systems, and\nissue tracking systems that are managed by, or on behalf of, the Licensor for\nthe purpose of discussing and improving the Work, but excluding communication\nthat is conspicuously marked or otherwise designated in writing by the copyright\nowner as \"Not a Contribution.\"\n\n\"Contributor\" shall mean Licensor and any individual or Legal Entity on behalf\nof whom a Contribution has been received by Licensor and subsequently\nincorporated within the Work.\n\n2. Grant of Copyright License.\n\nSubject to the terms and conditions of this License, each Contributor hereby\ngrants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,\nirrevocable copyright license to reproduce, prepare Derivative Works of,\npublicly display, publicly perform, sublicense, and distribute the Work and such\nDerivative Works in Source or Object form.\n\n3. Grant of Patent License.\n\nSubject to the terms and conditions of this License, each Contributor hereby\ngrants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,\nirrevocable (except as stated in this section) patent license to make, have\nmade, use, offer to sell, sell, import, and otherwise transfer the Work, where\nsuch license applies only to those patent claims licensable by such Contributor\nthat are necessarily infringed by their Contribution(s) alone or by combination\nof their Contribution(s) with the Work to which such Contribution(s) was\nsubmitted. If You institute patent litigation against any entity (including a\ncross-claim or counterclaim in a lawsuit) alleging that the Work or a\nContribution incorporated within the Work constitutes direct or contributory\npatent infringement, then any patent licenses granted to You under this License\nfor that Work shall terminate as of the date such litigation is filed.\n\n4. Redistribution.\n\nYou may reproduce and distribute copies of the Work or Derivative Works thereof\nin any medium, with or without modifications, and in Source or Object form,\nprovided that You meet the following conditions:\n\nYou must give any other recipients of the Work or Derivative Works a copy of\nthis License; and\nYou must cause any modified files to carry prominent notices stating that You\nchanged the files; and\nYou must retain, in the Source form of any Derivative Works that You distribute,\nall copyright, patent, trademark, and attribution notices from the Source form\nof the Work, excluding those notices that do not pertain to any part of the\nDerivative Works; and\nIf the Work includes a \"NOTICE\" text file as part of its distribution, then any\nDerivative Works that You distribute must include a readable copy of the\nattribution notices contained within such NOTICE file, excluding those notices\nthat do not pertain to any part of the Derivative Works, in at least one of the\nfollowing places: within a NOTICE text file distributed as part of the\nDerivative Works; within the Source form or documentation, if provided along\nwith the Derivative Works; or, within a display generated by the Derivative\nWorks, if and wherever such third-party notices normally appear. The contents of\nthe NOTICE file are for informational purposes only and do not modify the\nLicense. You may add Your own attribution notices within Derivative Works that\nYou distribute, alongside or as an addendum to the NOTICE text from the Work,\nprovided that such additional attribution notices cannot be construed as\nmodifying the License.\nYou may add Your own copyright statement to Your modifications and may provide\nadditional or different license terms and conditions for use, reproduction, or\ndistribution of Your modifications, or for any such Derivative Works as a whole,\nprovided Your use, reproduction, and distribution of the Work otherwise complies\nwith the conditions stated in this License.\n\n5. Submission of Contributions.\n\nUnless You explicitly state otherwise, any Contribution intentionally submitted\nfor inclusion in the Work by You to the Licensor shall be under the terms and\nconditions of this License, without any additional terms or conditions.\nNotwithstanding the above, nothing herein shall supersede or modify the terms of\nany separate license agreement you may have executed with Licensor regarding\nsuch Contributions.\n\n6. Trademarks.\n\nThis License does not grant permission to use the trade names, trademarks,\nservice marks, or product names of the Licensor, except as required for\nreasonable and customary use in describing the origin of the Work and\nreproducing the content of the NOTICE file.\n\n7. Disclaimer of Warranty.\n\nUnless required by applicable law or agreed to in writing, Licensor provides the\nWork (and each Contributor provides its Contributions) on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied,\nincluding, without limitation, any warranties or conditions of TITLE,\nNON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are\nsolely responsible for determining the appropriateness of using or\nredistributing the Work and assume any risks associated with Your exercise of\npermissions under this License.\n\n8. Limitation of Liability.\n\nIn no event and under no legal theory, whether in tort (including negligence),\ncontract, or otherwise, unless required by applicable law (such as deliberate\nand grossly negligent acts) or agreed to in writing, shall any Contributor be\nliable to You for damages, including any direct, indirect, special, incidental,\nor consequential damages of any character arising as a result of this License or\nout of the use or inability to use the Work (including but not limited to\ndamages for loss of goodwill, work stoppage, computer failure or malfunction, or\nany and all other commercial damages or losses), even if such Contributor has\nbeen advised of the possibility of such damages.\n\n9. Accepting Warranty or Additional Liability.\n\nWhile redistributing the Work or Derivative Works thereof, You may choose to\noffer, and charge a fee for, acceptance of support, warranty, indemnity, or\nother liability obligations and/or rights consistent with this License. However,\nin accepting such obligations, You may act only on Your own behalf and on Your\nsole responsibility, not on behalf of any other Contributor, and only if You\nagree to indemnify, defend, and hold each Contributor harmless for any liability\nincurred by, or claims asserted against, such Contributor by reason of your\naccepting any such warranty or additional liability.\n\nEND OF TERMS AND CONDITIONS\n\nAPPENDIX: How to apply the Apache License to your work\n\nTo apply the Apache License to your work, attach the following boilerplate\nnotice, with the fields enclosed by brackets \"[]\" replaced with your own\nidentifying information. (Don't include the brackets!) The text should be\nenclosed in the appropriate comment syntax for the file format. We also\nrecommend that a file or class name and description of purpose be included on\nthe same \"printed page\" as the copyright notice for easier identification within\nthird-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."
- },
{
"name": "gitea.com/lunny/levelqueue",
"path": "gitea.com/lunny/levelqueue/LICENSE",
@@ -914,11 +914,6 @@
"path": "github.com/ulikunitz/xz/LICENSE",
"licenseText": "Copyright (c) 2014-2022 Ulrich Kunitz\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\n* Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n* 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\n* My name, Ulrich Kunitz, may not be used to endorse or promote products\n derived from 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/unknwon/com",
- "path": "github.com/unknwon/com/LICENSE",
- "licenseText": "Apache License\nVersion 2.0, January 2004\nhttp://www.apache.org/licenses/\n\nTERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n1. Definitions.\n\n\"License\" shall mean the terms and conditions for use, reproduction, and\ndistribution as defined by Sections 1 through 9 of this document.\n\n\"Licensor\" shall mean the copyright owner or entity authorized by the copyright\nowner that is granting the License.\n\n\"Legal Entity\" shall mean the union of the acting entity and all other entities\nthat control, are controlled by, or are under common control with that entity.\nFor the purposes of this definition, \"control\" means (i) the power, direct or\nindirect, to cause the direction or management of such entity, whether by\ncontract or otherwise, or (ii) ownership of fifty percent (50%) or more of the\noutstanding shares, or (iii) beneficial ownership of such entity.\n\n\"You\" (or \"Your\") shall mean an individual or Legal Entity exercising\npermissions granted by this License.\n\n\"Source\" form shall mean the preferred form for making modifications, including\nbut not limited to software source code, documentation source, and configuration\nfiles.\n\n\"Object\" form shall mean any form resulting from mechanical transformation or\ntranslation of a Source form, including but not limited to compiled object code,\ngenerated documentation, and conversions to other media types.\n\n\"Work\" shall mean the work of authorship, whether in Source or Object form, made\navailable under the License, as indicated by a copyright notice that is included\nin or attached to the work (an example is provided in the Appendix below).\n\n\"Derivative Works\" shall mean any work, whether in Source or Object form, that\nis based on (or derived from) the Work and for which the editorial revisions,\nannotations, elaborations, or other modifications represent, as a whole, an\noriginal work of authorship. For the purposes of this License, Derivative Works\nshall not include works that remain separable from, or merely link (or bind by\nname) to the interfaces of, the Work and Derivative Works thereof.\n\n\"Contribution\" shall mean any work of authorship, including the original version\nof the Work and any modifications or additions to that Work or Derivative Works\nthereof, that is intentionally submitted to Licensor for inclusion in the Work\nby the copyright owner or by an individual or Legal Entity authorized to submit\non behalf of the copyright owner. For the purposes of this definition,\n\"submitted\" means any form of electronic, verbal, or written communication sent\nto the Licensor or its representatives, including but not limited to\ncommunication on electronic mailing lists, source code control systems, and\nissue tracking systems that are managed by, or on behalf of, the Licensor for\nthe purpose of discussing and improving the Work, but excluding communication\nthat is conspicuously marked or otherwise designated in writing by the copyright\nowner as \"Not a Contribution.\"\n\n\"Contributor\" shall mean Licensor and any individual or Legal Entity on behalf\nof whom a Contribution has been received by Licensor and subsequently\nincorporated within the Work.\n\n2. Grant of Copyright License.\n\nSubject to the terms and conditions of this License, each Contributor hereby\ngrants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,\nirrevocable copyright license to reproduce, prepare Derivative Works of,\npublicly display, publicly perform, sublicense, and distribute the Work and such\nDerivative Works in Source or Object form.\n\n3. Grant of Patent License.\n\nSubject to the terms and conditions of this License, each Contributor hereby\ngrants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,\nirrevocable (except as stated in this section) patent license to make, have\nmade, use, offer to sell, sell, import, and otherwise transfer the Work, where\nsuch license applies only to those patent claims licensable by such Contributor\nthat are necessarily infringed by their Contribution(s) alone or by combination\nof their Contribution(s) with the Work to which such Contribution(s) was\nsubmitted. If You institute patent litigation against any entity (including a\ncross-claim or counterclaim in a lawsuit) alleging that the Work or a\nContribution incorporated within the Work constitutes direct or contributory\npatent infringement, then any patent licenses granted to You under this License\nfor that Work shall terminate as of the date such litigation is filed.\n\n4. Redistribution.\n\nYou may reproduce and distribute copies of the Work or Derivative Works thereof\nin any medium, with or without modifications, and in Source or Object form,\nprovided that You meet the following conditions:\n\nYou must give any other recipients of the Work or Derivative Works a copy of\nthis License; and\nYou must cause any modified files to carry prominent notices stating that You\nchanged the files; and\nYou must retain, in the Source form of any Derivative Works that You distribute,\nall copyright, patent, trademark, and attribution notices from the Source form\nof the Work, excluding those notices that do not pertain to any part of the\nDerivative Works; and\nIf the Work includes a \"NOTICE\" text file as part of its distribution, then any\nDerivative Works that You distribute must include a readable copy of the\nattribution notices contained within such NOTICE file, excluding those notices\nthat do not pertain to any part of the Derivative Works, in at least one of the\nfollowing places: within a NOTICE text file distributed as part of the\nDerivative Works; within the Source form or documentation, if provided along\nwith the Derivative Works; or, within a display generated by the Derivative\nWorks, if and wherever such third-party notices normally appear. The contents of\nthe NOTICE file are for informational purposes only and do not modify the\nLicense. You may add Your own attribution notices within Derivative Works that\nYou distribute, alongside or as an addendum to the NOTICE text from the Work,\nprovided that such additional attribution notices cannot be construed as\nmodifying the License.\nYou may add Your own copyright statement to Your modifications and may provide\nadditional or different license terms and conditions for use, reproduction, or\ndistribution of Your modifications, or for any such Derivative Works as a whole,\nprovided Your use, reproduction, and distribution of the Work otherwise complies\nwith the conditions stated in this License.\n\n5. Submission of Contributions.\n\nUnless You explicitly state otherwise, any Contribution intentionally submitted\nfor inclusion in the Work by You to the Licensor shall be under the terms and\nconditions of this License, without any additional terms or conditions.\nNotwithstanding the above, nothing herein shall supersede or modify the terms of\nany separate license agreement you may have executed with Licensor regarding\nsuch Contributions.\n\n6. Trademarks.\n\nThis License does not grant permission to use the trade names, trademarks,\nservice marks, or product names of the Licensor, except as required for\nreasonable and customary use in describing the origin of the Work and\nreproducing the content of the NOTICE file.\n\n7. Disclaimer of Warranty.\n\nUnless required by applicable law or agreed to in writing, Licensor provides the\nWork (and each Contributor provides its Contributions) on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied,\nincluding, without limitation, any warranties or conditions of TITLE,\nNON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are\nsolely responsible for determining the appropriateness of using or\nredistributing the Work and assume any risks associated with Your exercise of\npermissions under this License.\n\n8. Limitation of Liability.\n\nIn no event and under no legal theory, whether in tort (including negligence),\ncontract, or otherwise, unless required by applicable law (such as deliberate\nand grossly negligent acts) or agreed to in writing, shall any Contributor be\nliable to You for damages, including any direct, indirect, special, incidental,\nor consequential damages of any character arising as a result of this License or\nout of the use or inability to use the Work (including but not limited to\ndamages for loss of goodwill, work stoppage, computer failure or malfunction, or\nany and all other commercial damages or losses), even if such Contributor has\nbeen advised of the possibility of such damages.\n\n9. Accepting Warranty or Additional Liability.\n\nWhile redistributing the Work or Derivative Works thereof, You may choose to\noffer, and charge a fee for, acceptance of support, warranty, indemnity, or\nother liability obligations and/or rights consistent with this License. However,\nin accepting such obligations, You may act only on Your own behalf and on Your\nsole responsibility, not on behalf of any other Contributor, and only if You\nagree to indemnify, defend, and hold each Contributor harmless for any liability\nincurred by, or claims asserted against, such Contributor by reason of your\naccepting any such warranty or additional liability.\n\nEND OF TERMS AND CONDITIONS\n\nAPPENDIX: How to apply the Apache License to your work\n\nTo apply the Apache License to your work, attach the following boilerplate\nnotice, with the fields enclosed by brackets \"[]\" replaced with your own\nidentifying information. (Don't include the brackets!) The text should be\nenclosed in the appropriate comment syntax for the file format. We also\nrecommend that a file or class name and description of purpose be included on\nthe same \"printed page\" as the copyright notice for easier identification within\nthird-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."
- },
{
"name": "github.com/urfave/cli/v2",
"path": "github.com/urfave/cli/v2/LICENSE",
diff --git a/go.mod b/go.mod
index a60108e59d..f2e40bb7a9 100644
--- a/go.mod
+++ b/go.mod
@@ -5,6 +5,8 @@ go 1.23.0
require (
code.forgejo.org/f3/gof3/v3 v3.7.0
code.forgejo.org/forgejo/reply v1.0.2
+ code.forgejo.org/go-chi/cache v0.0.0-20240827192127-5331da376831
+ code.forgejo.org/go-chi/captcha v0.0.0-20240827192619-ac88f17cdd8e
code.forgejo.org/go-chi/session v0.0.0-20240825010209-bd25d509c8bf
code.gitea.io/actions-proto-go v0.4.0
code.gitea.io/gitea-vet v0.2.3
@@ -12,8 +14,6 @@ require (
codeberg.org/gusted/mcaptcha v0.0.0-20220723083913-4f3072e1d570
connectrpc.com/connect v1.16.2
gitea.com/go-chi/binding v0.0.0-20240430071103-39a851e106ed
- gitea.com/go-chi/cache v0.2.0
- gitea.com/go-chi/captcha v0.0.0-20240315150714-fb487f629098
gitea.com/lunny/levelqueue v0.4.2-0.20230414023320-3c0159fe0fe4
github.com/42wim/sshsig v0.0.0-20211121163825-841cf5bbc121
github.com/Azure/go-ntlmssp v0.0.0-20221128193559-754e69321358
@@ -202,7 +202,6 @@ require (
github.com/google/go-cmp v0.6.0 // indirect
github.com/google/go-querystring v1.1.0 // indirect
github.com/google/go-tpm v0.9.0 // indirect
- github.com/gopherjs/gopherjs v0.0.0-20190910122728-9d188e94fb99 // indirect
github.com/gorilla/css v1.0.1 // indirect
github.com/gorilla/handlers v1.5.2 // indirect
github.com/gorilla/mux v1.8.1 // indirect
@@ -268,7 +267,6 @@ require (
github.com/ssor/bom v0.0.0-20170718123548-6386211fdfcf // indirect
github.com/subosito/gotenv v1.6.0 // indirect
github.com/toqueteos/webbrowser v1.2.0 // indirect
- github.com/unknwon/com v1.0.1 // indirect
github.com/x448/float16 v0.8.4 // indirect
github.com/xanzy/ssh-agent v0.3.3 // indirect
github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8 // indirect
diff --git a/go.sum b/go.sum
index 19fab9a6e8..b980c8b183 100644
--- a/go.sum
+++ b/go.sum
@@ -8,6 +8,10 @@ code.forgejo.org/forgejo/archiver/v3 v3.5.1 h1:UmmbA7D5550uf71SQjarmrn6yKwOGxtEj
code.forgejo.org/forgejo/archiver/v3 v3.5.1/go.mod h1:e3dqJ7H78uzsRSEACH1joayhuSyhnonssnDhppzS1L4=
code.forgejo.org/forgejo/reply v1.0.2 h1:dMhQCHV6/O3L5CLWNTol+dNzDAuyCK88z4J/lCdgFuQ=
code.forgejo.org/forgejo/reply v1.0.2/go.mod h1:RyZUfzQLc+fuLIGjTSQWDAJWPiL4WtKXB/FifT5fM7U=
+code.forgejo.org/go-chi/cache v0.0.0-20240827192127-5331da376831 h1:812D1XgK0Fis/Fy5XetCMBMRlI+BYjgNDh71GAUJ1DY=
+code.forgejo.org/go-chi/cache v0.0.0-20240827192127-5331da376831/go.mod h1:OVlZ/TqDYJ+RUJ+R+J+OLxtlyjo3pbjBeK7LAWAB+Vk=
+code.forgejo.org/go-chi/captcha v0.0.0-20240827192619-ac88f17cdd8e h1:8hqxBSf1M5JavIhz/Rgx3BP8kkwtCe2SP6AVTE6jjm8=
+code.forgejo.org/go-chi/captcha v0.0.0-20240827192619-ac88f17cdd8e/go.mod h1:yxZHJ6up9d/mQUu8NHHoCtJj5VcyB+5ArkUY45Hp3hE=
code.forgejo.org/go-chi/session v0.0.0-20240825010209-bd25d509c8bf h1:gJRuqEPd3/U0/1YM+uSgbC/fpR8qrcMdvT6E7eSetyM=
code.forgejo.org/go-chi/session v0.0.0-20240825010209-bd25d509c8bf/go.mod h1:PcnIg89MAhO1yExkw1QXXNDiPssVdCsMmwUo67g7GD4=
code.gitea.io/actions-proto-go v0.4.0 h1:OsPBPhodXuQnsspG1sQ4eRE1PeoZyofd7+i73zCwnsU=
@@ -28,10 +32,6 @@ git.sr.ht/~mariusor/go-xsd-duration v0.0.0-20220703122237-02e73435a078 h1:cliQ4H
git.sr.ht/~mariusor/go-xsd-duration v0.0.0-20220703122237-02e73435a078/go.mod h1:g/V2Hjas6Z1UHUp4yIx6bATpNzJ7DYtD0FG3+xARWxs=
gitea.com/go-chi/binding v0.0.0-20240430071103-39a851e106ed h1:EZZBtilMLSZNWtHHcgq2mt6NSGhJSZBuduAlinMEmso=
gitea.com/go-chi/binding v0.0.0-20240430071103-39a851e106ed/go.mod h1:E3i3cgB04dDx0v3CytCgRTTn9Z/9x891aet3r456RVw=
-gitea.com/go-chi/cache v0.2.0 h1:E0npuTfDW6CT1yD8NMDVc1SK6IeRjfmRL2zlEsCEd7w=
-gitea.com/go-chi/cache v0.2.0/go.mod h1:iQlVK2aKTZ/rE9UcHyz9pQWGvdP9i1eI2spOpzgCrtE=
-gitea.com/go-chi/captcha v0.0.0-20240315150714-fb487f629098 h1:p2ki+WK0cIeNQuqjR98IP2KZQKRzJJiV7aTeMAFwaWo=
-gitea.com/go-chi/captcha v0.0.0-20240315150714-fb487f629098/go.mod h1:LjzIOHlRemuUyO7WR12fmm18VZIlCAaOt9L3yKw40pk=
gitea.com/lunny/levelqueue v0.4.2-0.20230414023320-3c0159fe0fe4 h1:IFT+hup2xejHqdhS7keYWioqfmxdnfblFDTGoOwcZ+o=
gitea.com/lunny/levelqueue v0.4.2-0.20230414023320-3c0159fe0fe4/go.mod h1:HBqmLbz56JWpfEGG0prskAV97ATNRoj5LDmPicD22hU=
gitea.com/xorm/sqlfiddle v0.0.0-20180821085327-62ce714f951a h1:lSA0F4e9A2NcQSqGqTOXqu2aRi/XEQxDCBwM8yJtE6s=
@@ -42,7 +42,6 @@ github.com/6543/go-version v1.3.1 h1:HvOp+Telns7HWJ2Xo/05YXQSB2bE0WmVgbHqwMPZT4U
github.com/6543/go-version v1.3.1/go.mod h1:oqFAHCwtLVUTLdhQmVZWYvaHXTdsbB4SY85at64SQEo=
github.com/Azure/go-ntlmssp v0.0.0-20221128193559-754e69321358 h1:mFRzDkZVAjdal+s7s0MwaRv9igoPqLRdzOLzw/8Xvq8=
github.com/Azure/go-ntlmssp v0.0.0-20221128193559-754e69321358/go.mod h1:chxPXzSsl7ZWRAuOIE23GDNzjWuZquvFlgA8xmpunjU=
-github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/ClickHouse/ch-go v0.61.5 h1:zwR8QbYI0tsMiEcze/uIMK+Tz1D3XZXLdNrlaOpeEI4=
github.com/ClickHouse/ch-go v0.61.5/go.mod h1:s1LJW/F/LcFs5HJnuogFMta50kKDO0lf9zzfrbl0RQg=
github.com/ClickHouse/clickhouse-go/v2 v2.26.0 h1:j4/y6NYaCcFkJwN/TU700ebW+nmsIy34RmUAAcZKy9w=
@@ -136,7 +135,6 @@ github.com/blevesearch/zapx/v16 v16.1.5/go.mod h1:J4mSF39w1QELc11EWRSBFkPeZuO7r/
github.com/boombuler/barcode v1.0.1-0.20190219062509-6c824513bacc/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8=
github.com/boombuler/barcode v1.0.1 h1:NDBbPmhS+EqABEs5Kg3n/5ZNjy73Pz7SIV+KCeqyXcs=
github.com/boombuler/barcode v1.0.1/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8=
-github.com/bradfitz/gomemcache v0.0.0-20190329173943-551aad21a668/go.mod h1:H0wQNHz2YrLsuXOZozoeDmnHXkNCRmMW0gwFWDfEZDA=
github.com/bradfitz/gomemcache v0.0.0-20230905024940-24af94b03874 h1:N7oVaKyGp8bttX0bfZGmcGkjz7DLQXhAn3DNd3T0ous=
github.com/bradfitz/gomemcache v0.0.0-20230905024940-24af94b03874/go.mod h1:r5xuitiExdLAJ09PR7vBVENGvp4ZuTBeWTGtxuX3K+c=
github.com/bsm/ginkgo/v2 v2.12.0 h1:Ny8MWAHyOepLGlLKYmXG4IEkioBysk6GpaRTLC8zwWs=
@@ -168,7 +166,6 @@ github.com/cloudflare/circl v1.3.8/go.mod h1:PDRU+oXvdD7KCtgKxW95M5Z8BpSCJXQORiZ
github.com/cpuguy83/go-md2man/v2 v2.0.4 h1:wfIWP927BUkWJb2NmU/kNDYIBTh/ziUX91+lVfRxZq4=
github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
-github.com/cupcake/rdb v0.0.0-20161107195141-43ba34106c76/go.mod h1:vYwsqCOLxGiisLwp9rITslkFNpZD5rz43tf41QFkTWY=
github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg=
github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
@@ -199,7 +196,6 @@ github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkp
github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto=
github.com/editorconfig/editorconfig-core-go/v2 v2.6.2 h1:dKG8sc7n321deIVRcQtwlMNoBEra7j0qQ8RwxO8RN0w=
github.com/editorconfig/editorconfig-core-go/v2 v2.6.2/go.mod h1:7dvD3GCm7eBw53xZ/lsiq72LqobdMg3ITbMBxnmJmqY=
-github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M=
github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a h1:mATvB/9r/3gvcejNsXKSkQ6lcIaNec2nyfOdlTBR2lU=
github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a/go.mod h1:Ro8st/ElPeALwNFlcTpWmkr6IoMFfkjXAvTHpevnDsM=
github.com/emersion/go-imap v1.2.1 h1:+s9ZjMEjOB8NzZMVTM3cCenz2JrQIGGo5j1df19WjTA=
@@ -289,8 +285,6 @@ github.com/go-openapi/swag v0.22.7 h1:JWrc1uc/P9cSomxfnsFSVWoE1FW6bNbrVPmpQYpCcR
github.com/go-openapi/swag v0.22.7/go.mod h1:Gl91UqO+btAM0plGGxHqJcQZ1ZTy6jbmridBTsDy8A0=
github.com/go-openapi/validate v0.22.6 h1:+NhuwcEYpWdO5Nm4bmvhGLW0rt1Fcc532Mu3wpypXfo=
github.com/go-openapi/validate v0.22.6/go.mod h1:eaddXSqKeTg5XpSmj1dYyFTK/95n/XHwcOY+BMxKMyM=
-github.com/go-redis/redis v6.15.2+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA=
-github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
github.com/go-sql-driver/mysql v1.8.1 h1:LedoTUt/eveggdHS9qUFC1EFSa8bU2+1pZjSRpvNJ1Y=
github.com/go-sql-driver/mysql v1.8.1/go.mod h1:wEBSXgmK//2ZFJyE+qWnIsVGmvmEKlqwuVSjsCm7DZg=
github.com/go-swagger/go-swagger v0.30.5 h1:SQ2+xSonWjjoEMOV5tcOnZJVlfyUfCBhGQGArS1b9+U=
@@ -331,7 +325,6 @@ github.com/golang/geo v0.0.0-20230421003525-6adc56603217/go.mod h1:8wI0hitZ3a1Ix
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE=
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
-github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8=
github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA=
github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs=
@@ -372,10 +365,6 @@ github.com/google/uuid v1.3.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+
github.com/google/uuid v1.4.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
-github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
-github.com/gopherjs/gopherjs v0.0.0-20181103185306-d547d1d9531e/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
-github.com/gopherjs/gopherjs v0.0.0-20190910122728-9d188e94fb99 h1:twflg0XRTjwKpxb/jFExr4HGq6on2dEOmnL6FV+fgPw=
-github.com/gopherjs/gopherjs v0.0.0-20190910122728-9d188e94fb99/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
github.com/gorilla/context v1.1.1 h1:AWwleXJkX/nhcU9bZSnZoi3h/qGYqQAGhq6zZe/aQW8=
github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg=
github.com/gorilla/css v1.0.1 h1:ntNaBIghp6JmvWnxbZKANoLyuXTPZ4cAMlo6RyhlbO8=
@@ -448,9 +437,6 @@ github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8Hm
github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
-github.com/jtolds/gls v4.2.1+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
-github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo=
-github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs=
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8=
github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4=
@@ -480,13 +466,10 @@ github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/ledongthuc/pdf v0.0.0-20220302134840-0c2507a12d80/go.mod h1:imJHygn/1yfhB7XSJJKlFZKl/J+dCPAknuiaGOshXAs=
-github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
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/lunny/log v0.0.0-20160921050905-7887c61bf0de/go.mod h1:3q8WtuPQsoRbatJuy3nvq/hRSvuBJrHHr+ybPPiNvHQ=
-github.com/lunny/nodb v0.0.0-20160621015157-fc1ef06ad4af/go.mod h1:Cqz6pqow14VObJ7peltM+2n3PWOz7yTrfUuGbVFkzN0=
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/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY=
@@ -505,7 +488,6 @@ github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D
github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
github.com/mattn/go-runewidth v0.0.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZgg3U=
github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
-github.com/mattn/go-sqlite3 v1.11.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc=
github.com/mattn/go-sqlite3 v1.14.22 h1:2gZY6PC6kBnID23Tichd1K+Z0oS6nE/XwU+Vz/5o4kU=
github.com/mattn/go-sqlite3 v1.14.22/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y=
github.com/meilisearch/meilisearch-go v0.28.0 h1:f3XJ66ZM+R8bANAOLqsjvoq/HhQNpVJPYoNt6QgNzME=
@@ -558,12 +540,10 @@ github.com/olivere/elastic/v7 v7.0.32 h1:R7CXvbu8Eq+WlsLgxmKVKPox0oOwAE/2T9Si5Bn
github.com/olivere/elastic/v7 v7.0.32/go.mod h1:c7PVmLe3Fxq77PIfY/bZmxY/TAamBhCzZ8xDOE09a9k=
github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
-github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk=
github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE=
github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU=
github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
-github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY=
github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo=
github.com/onsi/gomega v1.27.10 h1:naR28SdDFlqrG6kScpT8VWpu1xWY5nJRCF3XaYyBjhI=
@@ -576,7 +556,6 @@ github.com/orisano/pixelmatch v0.0.0-20220722002657-fb0b55479cde/go.mod h1:nZgzb
github.com/paulmach/orb v0.11.1 h1:3koVegMC4X/WeiXYz9iswopaTwMem53NzTJuTF20JzU=
github.com/paulmach/orb v0.11.1/go.mod h1:5mULz1xQfs3bmQm63QEJA6lNGujuRafwA5S/EnuLaLU=
github.com/paulmach/protoscan v0.2.1/go.mod h1:SpcSwydNLrxUGSDvXvO0P7g7AuhJ7lcKfDlhJCDw2gY=
-github.com/pelletier/go-toml v1.8.1/go.mod h1:T2/BmBdy8dvIRq1a/8aqjN41wvWlN4lrapLU/GW4pbc=
github.com/pelletier/go-toml/v2 v2.1.1 h1:LWAJwfNvjQZCFIDKWYQaM62NcYeYViCmWIwmOStowAI=
github.com/pelletier/go-toml/v2 v2.1.1/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdUvyaeZurnPPDc=
github.com/pierrec/lz4/v4 v4.1.2/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4=
@@ -640,22 +619,11 @@ github.com/shopspring/decimal v1.4.0 h1:bxl37RwXBklmTi0C79JfXCEBD1cqqHt0bbgBAGFp
github.com/shopspring/decimal v1.4.0/go.mod h1:gawqmDU56v4yIKSwfBSFip1HdCCXN8/+DMd9qYNcwME=
github.com/shurcooL/httpfs v0.0.0-20230704072500-f1e31cf0ba5c h1:aqg5Vm5dwtvL+YgDpBcK1ITf3o96N/K7/wsRXQnUTEs=
github.com/shurcooL/httpfs v0.0.0-20230704072500-f1e31cf0ba5c/go.mod h1:owqhoLW1qZoYLZzLnBw+QkPP9WZnjlSWihhxAJC1+/M=
-github.com/siddontang/go v0.0.0-20180604090527-bdc77568d726/go.mod h1:3yhqj7WBBfRhbBlzyOC3gUxftwsU0u8gqevxwIHQpMw=
-github.com/siddontang/go-snappy v0.0.0-20140704025258-d8f7bb82a96d/go.mod h1:vq0tzqLRu6TS7Id0wMo2N5QzJoKedVeovOpHjnykSzY=
-github.com/siddontang/ledisdb v0.0.0-20190202134119-8ceb77e66a92/go.mod h1:mF1DpOSOUiJRMR+FDqaqu3EBqrybQtrDDszLUZ6oxPg=
-github.com/siddontang/rdb v0.0.0-20150307021120-fc89ed2e418d/go.mod h1:AMEsy7v5z92TR1JKMkLLoaOQk++LVnOKL3ScbJ8GNGA=
github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ=
github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
github.com/skeema/knownhosts v1.2.1 h1:SHWdIUa82uGZz+F+47k8SY4QhhI291cXCpopT1lK2AQ=
github.com/skeema/knownhosts v1.2.1/go.mod h1:xYbVRSPxqBZFrdmDyMmsOs+uX1UZC3nTN3ThzgDxUwo=
-github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
-github.com/smartystreets/assertions v0.0.0-20190116191733-b6c0e53d7304/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
-github.com/smartystreets/assertions v1.1.1 h1:T/YLemO5Yp7KPzS+lVtu+WsHn8yoSwTfItdAd1r3cck=
-github.com/smartystreets/assertions v1.1.1/go.mod h1:tcbTF8ujkAEcZ8TElKY+i30BzYlVhC/LOxJk7iOWnoo=
-github.com/smartystreets/goconvey v0.0.0-20181108003508-044398e4856c/go.mod h1:XDJAKZRPZ1CvBcN2aX5YOUTYGHki24fSF0Iv48Ibg0s=
-github.com/smartystreets/goconvey v0.0.0-20190731233626-505e41936337 h1:WN9BUFbdyOsSH/XohnWpXOlq9NBD5sGAB2FciQMUEe8=
-github.com/smartystreets/goconvey v0.0.0-20190731233626-505e41936337/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo=
github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0=
github.com/spf13/afero v1.11.0 h1:WJQKhtpdm3v2IzqG8VMqrr6Rf3UYpEF239Jy9wNepM8=
@@ -696,9 +664,6 @@ 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/unknwon/com v0.0.0-20190804042917-757f69c95f3e/go.mod h1:tOOxU81rwgoCLoOVVPHb6T/wt8HZygqH5id+GNnlCXM=
-github.com/unknwon/com v1.0.1 h1:3d1LTxD+Lnf3soQiD4Cp/0BRB+Rsa/+RTvz8GMMzIXs=
-github.com/unknwon/com v1.0.1/go.mod h1:tOOxU81rwgoCLoOVVPHb6T/wt8HZygqH5id+GNnlCXM=
github.com/urfave/cli/v2 v2.27.2 h1:6e0H+AkS+zDckwPCUrZkKX38mRaau4nL2uipkJpbkcI=
github.com/urfave/cli/v2 v2.27.2/go.mod h1:g0+79LmHHATl7DAcHO99smiR/T7uGLw84w8Y42x+4eM=
github.com/valyala/fastjson v1.6.4 h1:uAUNq9Z6ymTgGhcm0UynUAB6tlbakBrz6CQFax3BXVQ=
@@ -757,7 +722,6 @@ go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN8
go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8=
go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
-golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20210513164829-c07d793c2f9a/go.mod h1:P+XmwS30IXTQdn5tA2iutPOUgjI07+tq3H3K9MVA1s8=
@@ -781,11 +745,8 @@ golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/mod v0.20.0 h1:utOm6MM3R3dnawAiJgn0y+xvuYRsm1RKM/4giyfDgV0=
golang.org/x/mod v0.20.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
@@ -814,8 +775,6 @@ golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
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=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190730183949-1393eb018365/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191010194322-b09406accb47/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -856,7 +815,6 @@ golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0=
golang.org/x/term v0.23.0 h1:F6D4vR+EHoL9/sWAWgAR1H2DcHr4PareCbAaCo1RpuU=
golang.org/x/term v0.23.0/go.mod h1:DgV24QBUrK6jhZXl+20l6UWznPlwAHm1Q1mGHtydmSk=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
-golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
@@ -872,8 +830,6 @@ golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk=
golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
-golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20200325010219-a49f79bcc224/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8=
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
@@ -887,7 +843,6 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T
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=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0=
google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157 h1:Zy9XzmMEflZ/MAaA7vNcoebnRAld7FsPW1EeBB7V0m8=
google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0=
google.golang.org/grpc v1.65.0 h1:bs/cUb4lp1G5iImFFd3u5ixQzweKizoZJAwBNLR42lc=
@@ -913,7 +868,6 @@ gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df h1:n7WqCuqOuCbNr617RXOY0AWRXxgwEyPp2z+p0+hgMuE=
gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df/go.mod h1:LRQQ+SO6ZHR7tOkpBDuZnXENFzX8qRjMDMyPD6BRkCw=
-gopkg.in/ini.v1 v1.44.2/go.mod h1:M3Cogqpuv0QCi3ExAY5V4uOt4qb/R3xZubo9m8lK5wg=
gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA=
gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ=
diff --git a/modules/cache/cache.go b/modules/cache/cache.go
index 546c54dfe1..2148e028d5 100644
--- a/modules/cache/cache.go
+++ b/modules/cache/cache.go
@@ -10,9 +10,9 @@ import (
"code.gitea.io/gitea/modules/setting"
- mc "gitea.com/go-chi/cache"
+ mc "code.forgejo.org/go-chi/cache"
- _ "gitea.com/go-chi/cache/memcache" // memcache plugin for cache
+ _ "code.forgejo.org/go-chi/cache/memcache" // memcache plugin for cache
)
var conn mc.Cache
diff --git a/modules/cache/cache_redis.go b/modules/cache/cache_redis.go
index 6c358b0a78..e54887555d 100644
--- a/modules/cache/cache_redis.go
+++ b/modules/cache/cache_redis.go
@@ -11,7 +11,7 @@ import (
"code.gitea.io/gitea/modules/graceful"
"code.gitea.io/gitea/modules/nosql"
- "gitea.com/go-chi/cache"
+ "code.forgejo.org/go-chi/cache"
"github.com/redis/go-redis/v9"
)
diff --git a/modules/cache/cache_twoqueue.go b/modules/cache/cache_twoqueue.go
index f9de2563ec..c15ed52da1 100644
--- a/modules/cache/cache_twoqueue.go
+++ b/modules/cache/cache_twoqueue.go
@@ -10,7 +10,7 @@ import (
"code.gitea.io/gitea/modules/json"
- mc "gitea.com/go-chi/cache"
+ mc "code.forgejo.org/go-chi/cache"
lru "github.com/hashicorp/golang-lru/v2"
)
diff --git a/options/locale/locale_cs-CZ.ini b/options/locale/locale_cs-CZ.ini
index 8498f095ea..37ae42ed1d 100644
--- a/options/locale/locale_cs-CZ.ini
+++ b/options/locale/locale_cs-CZ.ini
@@ -2407,27 +2407,27 @@ settings.protect_enable_merge=Povolit sloučení
settings.protect_whitelist_committers=Povolit omezené nahrání
settings.protect_whitelist_committers_desc=Pouze povolení uživatelé budou moci nahrávat do této větve (ale ne vynucení nahrávání).
settings.protect_whitelist_deploy_keys=Povolit nahrání klíčům pro nasazení s přístupem pro zápis.
-settings.protect_whitelist_users=Povolení uživatelé pro nahrávání:
+settings.protect_whitelist_users=Povolení uživatelé pro nahrávání
settings.protect_whitelist_search_users=Hledat uživatele…
-settings.protect_whitelist_teams=Povolené týmy pro nahrávání:
+settings.protect_whitelist_teams=Povolené týmy pro nahrávání
settings.protect_whitelist_search_teams=Vyhledat týmy…
settings.protect_merge_whitelist_committers=Povolit whitelist pro slučování
settings.protect_merge_whitelist_committers_desc=Povolit pouze vyjmenovaným uživatelům nebo týmům slučovat požadavky na natažení do této větve.
-settings.protect_merge_whitelist_users=Povolení uživatelé pro slučování:
-settings.protect_merge_whitelist_teams=Povolené týmy pro slučování:
+settings.protect_merge_whitelist_users=Povolení uživatelé pro slučování
+settings.protect_merge_whitelist_teams=Povolené týmy pro slučování
settings.protect_check_status_contexts=Povolit kontrolu stavu
-settings.protect_status_check_patterns=Vzorce kontroly stavu:
+settings.protect_status_check_patterns=Vzorce kontroly stavu
settings.protect_check_status_contexts_desc=Požadovat kontrolu stavu před sloučením. Vyberte, jaké kontroly stavu musí projít před tím, než je možné větev sloučit do větve, která vyhovuje tomuto pravidlu. Pokud je povoleno, revize musí být nejprve nahrány do jiné větve, projít kontrolou stavu, a následné sloučeny nebo přímo nahrány do větve, která vyhovuje tomuto pravidlu. Pokud nejsou vybrány žádné kontexty, musí být poslední potvrzení úspěšné bez ohledu na kontext.
settings.protect_check_status_contexts_list=Kontroly stavu pro tento repozitář zjištěné během posledního týdne
settings.protect_status_check_matched=Odpovídá
settings.protect_invalid_status_check_pattern=Neplatný vzor kontroly stavu: „%s“.
settings.protect_no_valid_status_check_patterns=Žádné platné vzory kontroly stavu.
-settings.protect_required_approvals=Požadovaná schválení:
+settings.protect_required_approvals=Požadovaná schválení
settings.protect_required_approvals_desc=Umožnit sloučení pouze požadavkům na natažení s dostatečným pozitivním hodnocením.
settings.protect_approvals_whitelist_enabled=Omezit schválení na povolené uživatele nebo týmy
settings.protect_approvals_whitelist_enabled_desc=Do požadovaných schválení se započítají pouze posouzení od povolených uživatelů nebo týmů. Bez seznamu povolených se započítává schválení od kohokoli s právem zápisu.
-settings.protect_approvals_whitelist_users=Povolení posuzovatelé:
-settings.protect_approvals_whitelist_teams=Povolené týmy pro posuzování:
+settings.protect_approvals_whitelist_users=Povolení posuzovatelé
+settings.protect_approvals_whitelist_teams=Povolené týmy pro posuzování
settings.dismiss_stale_approvals=Odmítnout nekvalitní schválení
settings.dismiss_stale_approvals_desc=Pokud budou do větve nahrány nové revize, které mění obsah tohoto požadavku na natažení, všechna stará schválení budou zamítnuta.
settings.require_signed_commits=Vyžadovat podepsané commity
@@ -2435,9 +2435,9 @@ settings.require_signed_commits_desc=Odmítnout nahrání do této větve pokud
settings.protect_branch_name_pattern=Vzor jména chráněné větve
settings.protect_branch_name_pattern_desc=Vzory názvů chráněných větví. Pro vzorovou syntaxi viz dokumentace. Příklady: main, release/**
settings.protect_patterns=Vzory
-settings.protect_protected_file_patterns=Vzory chráněných souborů (oddělené středníkem „;“):
+settings.protect_protected_file_patterns=Vzory chráněných souborů (oddělené středníkem „;“)
settings.protect_protected_file_patterns_desc=Chráněné soubory, které nemají povoleno být měněny přímo, i když uživatel má právo přidávat, upravovat nebo mazat soubory v této větvi. Více vzorů lze oddělit pomocí středníku („;“). Podívejte se na github.com/gobwas/glob dokumentaci pro syntaxi vzoru. Příklady: .drone.yml, /docs/**/*.txt.
-settings.protect_unprotected_file_patterns=Vzory nechráněných souborů (oddělené středníkem „;“):
+settings.protect_unprotected_file_patterns=Vzory nechráněných souborů (oddělené středníkem „;“)
settings.protect_unprotected_file_patterns_desc=Nechráněné soubory, které je možné měnit přímo, pokud má uživatel právo zápisu, čímž se obejde omezení push. Více vzorů lze oddělit pomocí středníku („;“). Podívejte se na github.com/gobwas/glob dokumentaci pro syntaxi vzoru. Příklady: .drone.yml, /docs/**/*.txt.
settings.add_protected_branch=Zapnout ochranu
settings.delete_protected_branch=Vypnout ochranu
@@ -2833,6 +2833,14 @@ release.invalid_external_url = Neplatná externí URL: „%s“
no_eol.text = Žádný EOL
no_eol.tooltip = Tento soubor neobsahuje koncový znak ukončení řádku.
pulls.cmd_instruction_merge_warning = Varování: Nastavení „Autodetekce ručního sloučení“ není u tohoto repozitáře povoleno, tuto žádost o sloučení budete muset poté označit jako ručně sloučenou.
+settings.protect_new_rule = Vytvořit nové pravidlo ochrany větví
+mirror_use_ssh.helper = Pokud zvolíte tuto možnost, Forgejo bude zrcadlit repozitář pomocí Gitu přes SSH a vytvoří pro vás pár klíčů. Musíte zajistit, aby byl vygenerovaný veřejný klíč autorizován k odeslání do cílového repozitáře. Při výběru této možnosti nelze použít autorizaci založenou na hesle.
+settings.mirror_settings.push_mirror.copy_public_key = Kopírovat veřejný klíč
+mirror_use_ssh.text = Použít ověřování SSH
+mirror_denied_combination = Nelze použít kombinaci ověřování pomocí veřejného klíče a hesla.
+mirror_public_key = Veřejný klíč SSH
+settings.mirror_settings.push_mirror.none_ssh = Žádné
+mirror_use_ssh.not_available = Ověřování SSH není dostupné.
[graphs]
component_loading_info = Tohle může chvíli trvat…
@@ -2921,8 +2929,8 @@ teams.leave.detail=Opravdu chcete opustit tým „%s“?
teams.can_create_org_repo=Vytvořit repozitáře
teams.can_create_org_repo_helper=Členové mohou vytvářet nové repozitáře v organizaci. Tvůrce získá přístup správce do nového repozitáře.
teams.none_access=Bez přístupu
-teams.none_access_helper=Členové nemohou prohlížet ani dělat žádnou jinou akci pro tuto jednotku.
-teams.general_access=Obecný přístup
+teams.none_access_helper=Možnost „žádný přístup“ má vliv pouze na soukromé repozitáře.
+teams.general_access=Vlastní přístup
teams.general_access_helper=O oprávnění členů bude rozhodnuto níže uvedenou tabulkou oprávnění.
teams.read_access=Čtení
teams.read_access_helper=Členové mohou zobrazit a klonovat repozitáře týmu.
@@ -2944,7 +2952,7 @@ teams.delete_team_desc=Smazání týmu zruší přístup jeho členům. Pokračo
teams.delete_team_success=Tým byl odstraněn.
teams.read_permission_desc=Členství v tom týmu poskytuje právo čtení: členové mohou číst z a vytvářet klony repozitářů týmu.
teams.write_permission_desc=Členství v tom týmu poskytuje právo zápisu: členové mohou číst z a nahrávat do repozitářů týmu.
-teams.admin_permission_desc=Členství v tom týmu poskytuje právo správce: členové mohou číst z, nahrávat do a přidávat spolupracovníky do repozitářů týmu.
+teams.admin_permission_desc=Tento tým poskytuje přístup Správce: členové mohou číst, nahrávat a přidávat spolupracovníky do repozitářů týmu.
teams.create_repo_permission_desc=Navíc tento tým uděluje oprávnění vytvořit repozitář: členové mohou vytvářet nové repozitáře v organizaci.
teams.repositories=Repozitáře týmu
teams.search_repo_placeholder=Hledat repozitář…
diff --git a/options/locale/locale_es-ES.ini b/options/locale/locale_es-ES.ini
index be60437a4f..26d9a55752 100644
--- a/options/locale/locale_es-ES.ini
+++ b/options/locale/locale_es-ES.ini
@@ -159,6 +159,13 @@ copy_generic = Copiar al portapapeles
filter.not_fork = No forks
filter.is_fork = Forks
test = Test
+error413 = Has agotado tu cuota.
+new_repo.title = Nuevo repositorio
+new_migrate.title = Nueva migración
+new_org.title = Nueva organización
+new_repo.link = Nuevo repositorio
+new_migrate.link = Nueva migración
+new_org.link = Nueva organización
[aria]
navbar=Barra de navegación
@@ -400,10 +407,10 @@ forgot_password_title=Contraseña olvidada
forgot_password=¿Has olvidado tu contraseña?
sign_up_now=¿Necesitas una cuenta? Regístrate ahora.
sign_up_successful=La cuenta se ha creado correctamente. ¡Bienvenido!
-confirmation_mail_sent_prompt=Un nuevo correo de confirmación se ha enviado a %s. Comprueba tu bandeja de entrada en las siguientes %s para completar el registro.
+confirmation_mail_sent_prompt=Se ha enviado un nuevo correo de confirmación a %s. Para completar el proceso de registro, revisa tu bandeja de entrada y sigue el enlace proporcionado dentro de los próximos %s. Si la dirección no es correcto, puedes iniciar sesión y solicitar otro correo de confirmación para ser enviado a una dirección diferente.
must_change_password=Actualizar su contraseña
allow_password_change=Obligar al usuario a cambiar la contraseña (recomendado)
-reset_password_mail_sent_prompt=Un correo de confirmación se ha enviado a %s. Compruebe su bandeja de entrada en las siguientes %s para completar el proceso de recuperación de la cuenta.
+reset_password_mail_sent_prompt=Se ha enviado un correo de confirmación a %s. Para completar el proceso de recuperación de la cuenta, consulta tu bandeja de entrada y sigue el enlace proporcionado dentro de los próximos %s.
active_your_account=Activar tu cuenta
account_activated=La cuenta ha sido activada
prohibit_login=La cuenta está suspendida
@@ -815,7 +822,7 @@ add_new_email=Añadir nueva dirección de correo electrónico
add_new_openid=Añadir nueva dirección OpenID
add_email=Añadir dirección de correo electrónico
add_openid=Añadir nuevo OpenID URI
-add_email_confirmation_sent=Un correo de confirmación ha sido enviado a "%s". Por favor, comprueba tu bandeja de entrada en el siguiente %s para confirmar tu dirección de correo electrónico.
+add_email_confirmation_sent=Se ha enviado un correo de confirmación a "%s". Para confirmar tu dirección de correo electrónico, consulta tu bandeja de entrada y sigue el enlace proporcionado dentro de los próximos %s.
add_email_success=La nueva dirección de correo electrónico ha sido añadida.
email_preference_set_success=La preferencia de correo electrónico se ha establecido correctamente.
add_openid_success=La nueva dirección OpenID ha sido añadida.
@@ -1172,7 +1179,7 @@ migrate_options=Opciones de migración
migrate_service=Servicio de Migración
migrate_options_mirror_helper=Este repositorio será una réplica
migrate_options_lfs=Migrar archivos LFS
-migrate_options_lfs_endpoint.label=Punto final de LFS
+migrate_options_lfs_endpoint.label=Destino LFS
migrate_options_lfs_endpoint.description=Migración intentará usar su mando Git para determinar el servidor LFS. También puede especificar un punto final personalizado si los datos LFS del repositorio se almacenan en otro lugar.
migrate_options_lfs_endpoint.description.local=También se admite una ruta del servidor local.
migrate_options_lfs_endpoint.placeholder=Si se deja en blanco, el punto final se derivará de la URL de clonación
@@ -1181,12 +1188,12 @@ migrate_items_wiki=Wiki
migrate_items_milestones=Hitos
migrate_items_labels=Etiquetas
migrate_items_issues=Incidencias
-migrate_items_pullrequests=Pull Requests
-migrate_items_merge_requests=Merge Requests
+migrate_items_pullrequests=Pull requests
+migrate_items_merge_requests=Merge requests
migrate_items_releases=Lanzamientos
-migrate_repo=Migrar Repositorio
+migrate_repo=Migrar repositorio
migrate.clone_address=Migrar / Clonar desde URL
-migrate.clone_address_desc=La URL HTTP(S) o de Git 'clone' de un repositorio existente
+migrate.clone_address_desc=La URL HTTP(S) o de Git "clone" de un repositorio existente
migrate.github_token_desc=Puedes poner uno o más tokens con comas separadas aquí para hacer migrar más rápido debido al límite de velocidad de GitHub API. PRECAUCIÓN: Abusar esta característica puede violar la política del proveedor de servicios y llevar a bloquear la cuenta.
migrate.clone_local_path=o una ruta local del servidor
migrate.permission_denied=No te está permitido importar repositorios locales.
@@ -1194,7 +1201,7 @@ migrate.permission_denied_blocked=No puede importar desde hosts no permitidos, p
migrate.invalid_local_path=La ruta local no es válida. No existe o no es un directorio.
migrate.invalid_lfs_endpoint=El punto final de LFS no es válido.
migrate.failed=Migración fallida: %v
-migrate.migrate_items_options=Un token de acceso es necesario para migrar elementos adicionales
+migrate.migrate_items_options=Se necesita un token de acceso para migrar elementos adicionales
migrated_from=Migrado desde %[2]s
migrated_from_fake=Migrado desde %[1]s
migrate.migrate=Migrar desde %s
@@ -1202,7 +1209,7 @@ migrate.migrating=Migrando desde %s...
migrate.migrating_failed=La migración desde %s ha fallado.
migrate.migrating_failed.error=Error al migrar: %s
migrate.migrating_failed_no_addr=Migración fallida.
-migrate.github.description=Migrar datos desde github.com u otra instancia de GitHub.
+migrate.github.description=Migrar datos desde github.com o un servidor GitHub Enterprise.
migrate.git.description=Migrar un repositorio sólo desde cualquier servicio Git.
migrate.gitlab.description=Migrar datos de gitlab.com u otra instancia de GitLab.
migrate.gitea.description=Migrar datos de gitea.com u otra instancia de Gitea/Forgejo.
@@ -1211,12 +1218,12 @@ migrate.onedev.description=Migrar datos desde code.onedev.io u otra instancia de
migrate.codebase.description=Migrar datos desde codebasehq.com.
migrate.gitbucket.description=Migrar datos de instancias de GitBucket.
migrate.migrating_git=Migrando datos de Git
-migrate.migrating_topics=Migrando Temas
-migrate.migrating_milestones=Migrando Hitos
+migrate.migrating_topics=Migrando temas
+migrate.migrating_milestones=Migrando hitos
migrate.migrating_labels=Migrando etiquetas
-migrate.migrating_releases=Migrando Lanzamientos
+migrate.migrating_releases=Migrando lanzamientos
migrate.migrating_issues=Migrando incidencias
-migrate.migrating_pulls=Migrando Pull Requests
+migrate.migrating_pulls=Migrando pull requests
migrate.cancel_migrating_title=Cancelar la migración
migrate.cancel_migrating_confirm=¿Quiere cancelar esta migración?
@@ -1254,7 +1261,7 @@ find_tag=Buscar etiqueta
branches=Ramas
tags=Etiquetas
issues=Incidencias
-pulls=Pull Requests
+pulls=Pull requests
project_board=Proyectos
packages=Paquetes
actions=Acciones
@@ -1282,22 +1289,22 @@ invisible_runes_header=`Este archivo contiene caracteres Unicode invisibles`
invisible_runes_description=`Este archivo contiene caracteres Unicode invisibles que son indistinguibles para los humanos, pero que pueden ser procesados de forma diferente por un ordenador. Si crees que esto es intencional, puedes ignorar esta advertencia. Usa el botón de Escape para revelarlos.`
ambiguous_runes_header=`Este archivo contiene caracteres Unicode ambiguos`
ambiguous_runes_description=`Este archivo contiene caracteres Unicode que pueden confundirse con otros caracteres. Si crees que esto es intencional, puedes ignorar esta advertencia. Usa el botón de Escape para revelarlos.`
-invisible_runes_line=`Esta línea tiene caracteres unicode invisibles`
-ambiguous_runes_line=`Esta línea tiene caracteres unicode ambiguos`
+invisible_runes_line=`Esta línea tiene caracteres Unicode invisibles`
+ambiguous_runes_line=`Esta línea tiene caracteres Unicode ambiguos`
ambiguous_character=`%[1]c [U+%04[1]X] es confusable con %[2]c [U+%04[2]X]`
escape_control_characters=Escapar
unescape_control_characters=No Escapar
-file_copy_permalink=Copiar Permalink
-view_git_blame=Ver la culpa de Git
-video_not_supported_in_browser=Su navegador no soporta el tag video de HTML5.
-audio_not_supported_in_browser=Su navegador no soporta el tag audio de HTML5.
+file_copy_permalink=Copiar permalink
+view_git_blame=Ver Git blame
+video_not_supported_in_browser=Su navegador no soporta el tag "video" de HTML5.
+audio_not_supported_in_browser=Su navegador no soporta el tag "audio" de HTML5.
stored_lfs=Almacenados con Git LFS
symbolic_link=Enlace simbólico
-executable_file=Archivo Ejecutable
+executable_file=Archivo ejecutable
commit_graph=Gráfico de commits
commit_graph.select=Seleccionar ramas
-commit_graph.hide_pr_refs=Ocultar Pull Requests
+commit_graph.hide_pr_refs=Ocultar pull requests
commit_graph.monochrome=Mono
commit_graph.color=Color
commit.contained_in=Este commit está contenido en:
@@ -1311,13 +1318,13 @@ lines=líneas
from_comment=(comentario)
editor.add_file=Añadir archivo
-editor.new_file=Nuevo Archivo
+editor.new_file=Nuevo archivo
editor.upload_file=Subir archivo
-editor.edit_file=Editar Archivo
+editor.edit_file=Editar archivo
editor.preview_changes=Vista previa de los cambios
editor.cannot_edit_lfs_files=Los archivos LFS no se pueden editar en la interfaz web.
editor.cannot_edit_non_text_files=Los archivos binarios no se pueden editar en la interfaz web.
-editor.edit_this_file=Editar Archivo
+editor.edit_this_file=Editar archivo
editor.this_file_locked=El archivo está bloqueado
editor.must_be_on_a_branch=Debes estar en una rama para hacer o proponer cambios en este archivo.
editor.fork_before_edit=Debes hacer fork a este repositorio para hacer o proponer cambios a este archivo.
@@ -1325,12 +1332,12 @@ editor.delete_this_file=Eliminar archivo
editor.must_have_write_access=Debes tener permisos de escritura para hacer o proponer cambios a este archivo.
editor.file_delete_success=El archivo "%s" ha sido eliminado.
editor.name_your_file=Nombre su archivo…
-editor.filename_help=Añade un directorio escribiendo su nombre seguido de una barra ('/'). Para eliminar un directorio, presione la tecla de retroceso al comienzo del campo de entrada.
+editor.filename_help=Añade un directorio escribiendo su nombre seguido de una barra ("/"). Para eliminar un directorio, presione la tecla de retroceso al comienzo del campo de entrada.
editor.or=o
editor.cancel_lower=Cancelar
editor.commit_signed_changes=Crear commit firmado de los cambios
editor.commit_changes=Crear commit de los cambios
-editor.add_tmpl=Añadir ''
+editor.add_tmpl=Añadir ""
editor.add=Añadir %s
editor.update=Actualizar %s
editor.delete=Eliminar %s
@@ -1356,14 +1363,14 @@ editor.file_is_a_symlink=`"%s" es un enlace simbólico. Los enlaces simbólicos
editor.filename_is_a_directory=Nombre de archivo "%s" ya se utiliza como nombre de directorio en este repositorio.
editor.file_editing_no_longer_exists=El archivo que se está editando, "%s", ya no existe en este repositorio.
editor.file_deleting_no_longer_exists=El archivo que se está eliminando, "%s", ya no existe en este repositorio.
-editor.file_changed_while_editing=Desde que comenzó a editar, el contenido del archivo ha sido cambiado. Haga clic aquí para ver qué ha cambiado o presione confirmar de nuevo para sobrescribir los cambios.
+editor.file_changed_while_editing=El contenido del archivo ha sido modificado desde que comenzaste a editarlo. Haz clic aquí para verlo o confirma de nuevo para sobrescribir los cambios.
editor.file_already_exists=Ya existe un archivo llamado "%s" en este repositorio.
editor.commit_empty_file_header=Commit un archivo vacío
editor.commit_empty_file_text=El archivo que estás tratando de commit está vacío. ¿Proceder?
editor.no_changes_to_show=No existen cambios para mostrar.
editor.fail_to_update_file=Error al actualizar/crear el archivo "%s".
editor.fail_to_update_file_summary=Mensaje de error:
-editor.push_rejected_no_message=El cambio fue rechazado por el servidor sin un mensaje. Por favor, compruebe Git Hooks.
+editor.push_rejected_no_message=El cambio fue rechazado por el servidor sin un mensaje. Por favor, comprueba los Git Hooks.
editor.push_rejected=El cambio fue rechazado por el servidor. Por favor, comprueba los Git Hooks.
editor.push_rejected_summary=Mensaje completo de rechazo:
editor.add_subdir=Añadir un directorio…
@@ -1384,7 +1391,7 @@ commits.nothing_to_compare=Estas ramas son iguales.
commits.search=Buscar commits…
commits.search.tooltip=Puede prefijar palabras clave con "author:", "committer:", "after:", o "before:", p. ej., "revertir author:Alice before:2019-01-13".
commits.find=Buscar
-commits.search_all=Todas las Ramas
+commits.search_all=Todas las ramas
commits.author=Autor
commits.message=Mensaje
commits.date=Fecha
@@ -1394,7 +1401,7 @@ commits.signed_by=Firmado por
commits.signed_by_untrusted_user=Firmado por usuario no fiable
commits.signed_by_untrusted_user_unmatched=Firmado por un usuario no fiable que no coincide con el colaborador
commits.gpg_key_id=ID de clave GPG
-commits.ssh_key_fingerprint=Huella clave SSH
+commits.ssh_key_fingerprint=Huella de clave SSH
commits.view_path=Ver en este punto en el historial
commit.operations=Operaciones
@@ -1417,23 +1424,23 @@ projects=Proyectos
projects.desc=Gestionar problemas y pulls en los tablones del proyecto.
projects.description=Descripción (opcional)
projects.description_placeholder=Descripción
-projects.create=Crear Proyecto
+projects.create=Crear proyecto
projects.title=Título
projects.new=Nuevo proyecto
projects.new_subheader=Coordine, haga seguimiento y actualice su trabajo en un solo lugar, para que los proyectos se mantengan transparentes y en el calendario previsto.
projects.create_success=El proyecto "%s" ha sido creado.
-projects.deletion=Eliminar Proyecto
+projects.deletion=Eliminar proyecto
projects.deletion_desc=Eliminar un proyecto elimina todos las incidencias relacionadas. ¿Continuar?
projects.deletion_success=Se eliminó el proyecto.
-projects.edit=Editar Proyectos
+projects.edit=Editar proyectos
projects.edit_subheader=Los proyectos organizan las incidencias y el seguimiento del progreso.
-projects.modify=Actualizar Proyecto
+projects.modify=Actualizar proyecto
projects.edit_success=El proyecto "%s" ha sido actualizado.
projects.type.none=Ninguno
projects.type.basic_kanban=Kanban básico
-projects.type.bug_triage=Prueba de error
-projects.template.desc=Plantilla del proyecto
-projects.template.desc_helper=Seleccione una plantilla de proyecto para empezar
+projects.type.bug_triage=Triaje de errores
+projects.template.desc=Plantilla
+projects.template.desc_helper=Selecciona una plantilla de proyecto para empezar
projects.type.uncategorized=Sin categorizar
projects.column.edit=Editar columna
projects.column.edit_title=Nombre
@@ -1445,12 +1452,12 @@ projects.column.set_default_desc=Establecer esta columna como predeterminada par
projects.column.unset_default=Anular valor predeterminado
projects.column.unset_default_desc=Anular esta columna como la predeterminada
projects.column.delete=Borrar columna
-projects.column.deletion_desc=Eliminar una columna del proyecto mueve todos los problemas relacionados a 'Sin categorizar'. ¿Continuar?
+projects.column.deletion_desc=Eliminar una columna del proyecto mueve todos los problemas relacionados a la columna por defecto. ¿Continuar?
projects.column.color=Color
projects.open=Abrir
projects.close=Cerrar
projects.column.assigned_to=Asignado a
-projects.card_type.desc=Vista previa de tarjeta
+projects.card_type.desc=Vista previa de tarjetas
projects.card_type.images_and_text=Imágenes y texto
projects.card_type.text_only=Sólo texto
@@ -1468,17 +1475,17 @@ issues.new.clear_labels=Limpiar etiquetas
issues.new.projects=Proyectos
issues.new.clear_projects=Limpiar proyectos
issues.new.no_projects=Ningún proyecto
-issues.new.open_projects=Proyectos Abiertos
+issues.new.open_projects=Proyectos abiertos
issues.new.closed_projects=Proyectos cerrados
issues.new.no_items=No hay elementos
issues.new.milestone=Milestone
-issues.new.no_milestone=Sin Milestone
+issues.new.no_milestone=Sin hito
issues.new.clear_milestone=Limpiar Milestone
-issues.new.open_milestone=Milestones abiertas
-issues.new.closed_milestone=Milestones cerradas
+issues.new.open_milestone=Hitos abiertos
+issues.new.closed_milestone=Hitos cerradas
issues.new.assignees=Asignados
issues.new.clear_assignees=Limpiar asignados
-issues.new.no_assignees=No asignados
+issues.new.no_assignees=Sin encargados
issues.new.no_reviewers=No hay revisores
issues.choose.get_started=Comenzar
issues.choose.open_external_link=Abrir
@@ -1489,14 +1496,14 @@ issues.choose.invalid_templates=%v plantilla(s) no válida(s) encontradas
issues.choose.invalid_config=La configuración de la incidencia contiene errores:
issues.no_ref=Ninguna Rama/Etiqueta especificada
issues.create=Crear incidencia
-issues.new_label=Nueva Etiqueta
+issues.new_label=Nueva etiqueta
issues.new_label_placeholder=Nombre etiqueta
issues.new_label_desc_placeholder=Descripción
issues.create_label=Crear etiqueta
-issues.label_templates.title=Carga un conjunto predefinido de etiquetas
-issues.label_templates.info=Todavía no existen etiquetas. Cree una etiqueta con "Nueva Etiqueta" o use un conjunto predefinido de etiquetas:
-issues.label_templates.helper=Seleccionar un conjunto de etiquetas
-issues.label_templates.use=Usar este conjunto de etiquetas
+issues.label_templates.title=Cargar un conjunto predefinido de etiquetas
+issues.label_templates.info=Todavía no existen etiquetas. Crea una etiqueta con "Nueva etiqueta" o usa un conjunto predefinido de etiquetas:
+issues.label_templates.helper=Seleccionar un conjunto predefinido de etiquetas
+issues.label_templates.use=Usar este conjunto predefinido de etiquetas
issues.label_templates.fail_to_load_file=Error al cargar el archivo de plantilla de etiqueta "%s": %v
issues.add_label=añadió la etiqueta %s %s
issues.add_labels=añadió las etiquetas %s %s
@@ -1584,11 +1591,11 @@ issues.commented_at=`comentado %s`
issues.delete_comment_confirm=¿Seguro que deseas eliminar este comentario?
issues.context.copy_link=Copiar enlace
issues.context.quote_reply=Citar respuesta
-issues.context.reference_issue=Referencia en una nueva incidencia
+issues.context.reference_issue=Referenciar en una nueva incidencia
issues.context.edit=Editar
issues.context.delete=Eliminar
issues.no_content=No se ha proporcionado una descripción.
-issues.close=Cerrar Incidencia
+issues.close=Cerrar incidencia
issues.comment_pull_merged_at=commit fusionado %[1]s en %[2]s %[3]s
issues.comment_manually_pull_merged_at=commit manualmente fusionado %[1]s en %[2]s %[3]s
issues.close_comment_issue=Comentar y cerrar
@@ -1600,8 +1607,8 @@ issues.reopened_at=`reabrió esta incidencia %[2]s
issues.commit_ref_at=`referenció esta incidencia en un commit %[2]s`
issues.ref_issue_from=`referenció esta incidencia %[4]s%[2]s`
issues.ref_pull_from=`referenció este pull request %[4]s%[2]s`
-issues.ref_closing_from=`referenció un pull request %[4]s que cerrará esta incidencia%[2]s`
-issues.ref_reopening_from=`referenció un pull request %[4]s que reabrirá esta incidencia%[2]s`
+issues.ref_closing_from=`hizo referencia a esta incidencia desde un pull request %[4]s que lo cerrará , %[2]s`
+issues.ref_reopening_from=`hizo referencia a esta incidencia desde un pull request %[4]s que lo reabrirá, %[2]s`
issues.ref_closed_from=`cerró esta incidencia %[4]s%[2]s`
issues.ref_reopened_from=`reabrió esta incidencia %[4]s%[2]s`
issues.ref_from=`de %[1]s`
@@ -1616,7 +1623,7 @@ issues.role.collaborator_helper=Este usuario ha sido invitado a colaborar en el
issues.role.first_time_contributor=Contribuyente por primera vez
issues.role.first_time_contributor_helper=Esta es la primera contribución de este usuario al repositorio.
issues.role.contributor=Colaborador
-issues.role.contributor_helper=Este usuario ha realizado commit previamente con el repositorio.
+issues.role.contributor_helper=Este usuario ha realizado commit previamente en este repositorio.
issues.re_request_review=Solicitar revisión de nuevo
issues.is_stale=Ha habido cambios en este PR desde esta revisión
issues.remove_request_review=Eliminar solicitud de revisión
@@ -1655,15 +1662,15 @@ issues.subscribe=Suscribir
issues.unsubscribe=Desuscribirse
issues.unpin_issue=Desanclar incidencia
issues.max_pinned=No puedes anclar más incidencias
-issues.pin_comment=anclado este %s
-issues.unpin_comment=desanclado este %s
+issues.pin_comment=ancló este %s
+issues.unpin_comment=desancló este %s
issues.lock=Bloquear conversación
issues.unlock=Desbloquear conversación
issues.lock.unknown_reason=No se puede bloquear una incidencia con una razón desconocida.
issues.lock_duplicate=Una incidencia no puede ser bloqueada dos veces.
issues.unlock_error=No puede desbloquear una incidencia que no esta bloqueada.
-issues.lock_with_reason=bloqueado como %s y conversación limitada a colaboradores %s
-issues.lock_no_reason=conversación limitada y bloqueada a los colaboradores %s
+issues.lock_with_reason=bloqueó como %s y limitó la conversación a colaboradores %s
+issues.lock_no_reason=bloqueó y limitó la conversación a los colaboradores %s
issues.unlock_comment=desbloqueó esta conversación %s
issues.lock_confirm=Bloquear
issues.unlock_confirm=Desbloquear
@@ -1681,7 +1688,7 @@ issues.delete.title=¿Eliminar esta incidencia?
issues.delete.text=¿Realmente quieres eliminar esta incidencia? (Esto eliminará permanentemente todo el contenido. Considera cerrarlo en su lugar, si quieres mantenerlo archivado)
issues.tracker=Gestor de tiempo
issues.start_tracking_short=Iniciar temporizador
-issues.start_tracking=Inicio de seguimiento de tiempo
+issues.start_tracking=Iniciar seguimiento de tiempo
issues.start_tracking_history=`ha empezado a trabajar %s`
issues.tracker_auto_close=El temporizador se detendrá automáticamente cuando se cierre este problema
issues.tracking_already_started=`¡Ya has iniciado el seguimiento de tiempo en otro problema!`
@@ -1700,12 +1707,12 @@ issues.add_time_minutes=Minutos
issues.add_time_sum_to_small=No se ha entrado tiempo.
issues.time_spent_total=Tiempo total gastado
issues.time_spent_from_all_authors=`Tiempo total gastado: %s`
-issues.due_date=Fecha de vencimiento
+issues.due_date=Fecha límite
issues.invalid_due_date_format=El formato de la fecha de vencimiento debe ser 'aaaa-mm-dd'.
issues.error_modifying_due_date=Fallo al modificar la fecha de vencimiento.
issues.error_removing_due_date=Fallo al eliminar la fecha de vencimiento.
-issues.push_commit_1=añadido %d commit %s
-issues.push_commits_n=añadido %d commits %s
+issues.push_commit_1=añadió %d commit %s
+issues.push_commits_n=añadió %d commits %s
issues.force_push_codes=`hizo push forzado %[1]s de %[2]s a %[4]s %[6]s`
issues.force_push_compare=Comparar
issues.due_date_form=aaaa-mm-dd
@@ -1713,12 +1720,12 @@ issues.due_date_form_add=Añadir fecha de vencimiento
issues.due_date_form_edit=Editar
issues.due_date_form_remove=Eliminar
issues.due_date_not_writer=Necesitas acceso de escritura a este repositorio para actualizar la fecha límite de una incidencia.
-issues.due_date_not_set=Sin fecha de vencimiento.
-issues.due_date_added=añadió la fecha de vencimiento %s %s
-issues.due_date_modified=modificó la fecha de vencimiento de %[2]s a %[1]s %[3]s
-issues.due_date_remove=eliminó la fecha de vencimiento %s %s
-issues.due_date_overdue=Vencido
-issues.due_date_invalid=La fecha de vencimiento es inválida o está fuera de rango. Por favor utilice el formato 'aaaa-mm-dd'.
+issues.due_date_not_set=Fecha límite no definida.
+issues.due_date_added=añadió la fecha límite %s %s
+issues.due_date_modified=modificó la fecha límite de %[2]s a %[1]s %[3]s
+issues.due_date_remove=eliminó la fecha límite %s %s
+issues.due_date_overdue=Atrasado
+issues.due_date_invalid=La fecha límite es inválida o está fuera de rango. Por favor utiliza el formato "aaaa-mm-dd".
issues.dependency.title=Dependencias
issues.dependency.issue_no_dependencies=No se han establecido dependencias.
issues.dependency.pr_no_dependencies=No se han establecido dependencias.
@@ -1736,7 +1743,7 @@ issues.dependency.issue_closing_blockedby=Cerrando esta incidencia esta bloquead
issues.dependency.issue_close_blocks=Esta incidencia bloquea el cierre de las siguientes incidencias
issues.dependency.pr_close_blocks=Este pull request bloquea el cierre de las siguientes incidencias
issues.dependency.issue_close_blocked=Necesita cerrar todos las incidencias que bloquean esta incidencia antes de que se puede cerrar.
-issues.dependency.issue_batch_close_blocked=No se pueden cerrar por lotes las incidencias que has seleccionado, ya que la incidencia #%d todavía tiene dependencias abiertas
+issues.dependency.issue_batch_close_blocked=No se pueden cerrar por lote las incidencias que has seleccionado, ya que la incidencia #%d todavía tiene dependencias abiertas
issues.dependency.pr_close_blocked=Necesita cerrar todos las incidencias que bloquean este pull request antes de poder fusionarse.
issues.dependency.blocks_short=Bloquea
issues.dependency.blocked_by_short=Depende de
@@ -1752,17 +1759,17 @@ issues.dependency.add_error_cannot_create_circular=No puede crear una depenciena
issues.dependency.add_error_dep_not_same_repo=Ambas incidencias deben estar en el mismo repositorio.
issues.review.self.approval=No puede aprobar su propio pull request.
issues.review.self.rejection=No puede sugerir cambios en su propio pull request.
-issues.review.approve=aprobado estos cambios %s
-issues.review.comment=revisado %s
+issues.review.approve=aprobó estos cambios %s
+issues.review.comment=revisó %s
issues.review.dismissed=descartó la revisión de %s %s
issues.review.dismissed_label=Descartado
issues.review.left_comment=dejó un comentario
issues.review.content.empty=Es necesario dejar un comentario indicando los cambios solicitados.
issues.review.reject=cambios solicitados %s
-issues.review.wait=se solicitó para revisión %s
-issues.review.add_review_request=solicitud de revisión de %s %s
-issues.review.remove_review_request=solicitud de revisión eliminada para %s %s
-issues.review.remove_review_request_self=rechazó revisar %s
+issues.review.wait=fue solicitado para revisión %s
+issues.review.add_review_request=solicitó revisión de %s %s
+issues.review.remove_review_request=eliminó la solicitud de revisión para %s %s
+issues.review.remove_review_request_self=se negó a revisar %s
issues.review.pending=Pendiente
issues.review.pending.tooltip=Este comentario no es visible actualmente para otros usuarios. Para enviar sus comentarios pendientes, seleccione "%s" -> "%s/%s/%s" en la parte superior de la página.
issues.review.review=Revisar
@@ -1792,8 +1799,8 @@ compare.compare_base=base
compare.compare_head=comparar
pulls.desc=Activar Pull Requests y revisiones de código.
-pulls.new=Nuevo Pull Request
-pulls.view=Ver Pull Request
+pulls.new=Nuevo pull request
+pulls.view=Ver pull request
pulls.compare_changes=Nuevo pull request
pulls.allow_edits_from_maintainers=Permitir ediciones de mantenedores
pulls.allow_edits_from_maintainers_desc=Los usuarios con acceso de escritura a la rama base también pueden hacer push a esta rama
@@ -1820,9 +1827,9 @@ pulls.filter_changes_by_commit=Filtrar por commit
pulls.nothing_to_compare=Estas ramas son iguales. No hay necesidad para crear un pull request.
pulls.nothing_to_compare_and_allow_empty_pr=Estas ramas son iguales. Este PR estará vacío.
pulls.has_pull_request=`Ya existe un pull request entre estas ramas: %[2]s#%[3]d`
-pulls.create=Crear Pull Request
-pulls.title_desc_few=desea fusionar %[1]d commits de %[2]s en %[3]s
-pulls.merged_title_desc_few=fusionados %[1]d commits de %[2]s en %[3]s %[4]s
+pulls.create=Crear pull request
+pulls.title_desc_few=quiere fusionar %[1]d commits de %[2]s en %[3]s
+pulls.merged_title_desc_few=fusionó %[1]d commits de %[2]s en %[3]s %[4]s
pulls.change_target_branch_at=`cambió la rama objetivo de %s a %s %s`
pulls.tab_conversation=Conversación
pulls.tab_commits=Commits
@@ -1848,9 +1855,9 @@ pulls.is_empty=Los cambios en esta rama ya están en la rama de destino. Esto se
pulls.required_status_check_failed=Algunos controles requeridos no han tenido éxito.
pulls.required_status_check_missing=Faltan algunos controles necesarios.
pulls.required_status_check_administrator=Como administrador, aún puede fusionar este Pull Request.
-pulls.blocked_by_approvals=Esta pull request aún no tiene suficientes aprobaciones. %d de %d aprobaciones concedidas.
+pulls.blocked_by_approvals=Esta pull request aún no tiene aprobaciones suficientes. %d de %d aprobaciones concedidas.
pulls.blocked_by_rejection=Este pull request tiene cambios solicitados por un revisor oficial.
-pulls.blocked_by_official_review_requests=Esta pull request tiene solicitudes de revisión oficiales.
+pulls.blocked_by_official_review_requests=Esta pull request está bloqueada porque le falta la aprobación de uno o más revisores oficiales.
pulls.blocked_by_outdated_branch=Esta pull request está bloqueada porque está desactualizada.
pulls.blocked_by_changed_protected_files_1=Esta pull request está bloqueada porque cambia un archivo protegido:
pulls.blocked_by_changed_protected_files_n=Esta pull request está bloqueada porque cambia archivos protegidos:
@@ -1863,9 +1870,9 @@ pulls.approve_count_1=%d aprobación
pulls.approve_count_n=%d aprobaciones
pulls.reject_count_1=%d solicitud de cambio
pulls.reject_count_n=%d solicitudes de cambio
-pulls.waiting_count_1=%d esperando revisión
-pulls.waiting_count_n=%d esperando revisiónes
-pulls.wrong_commit_id=la identificación de commit debe ser para un commit en la rama de destino
+pulls.waiting_count_1=%d revisión pendiente
+pulls.waiting_count_n=%d revisiónes pendientes
+pulls.wrong_commit_id=la identificación del commit debe ser para un commit en la rama de destino
pulls.no_merge_desc=Este pull request no se puede combinar porque todas las opciones de combinación del repositorio están deshabilitadas.
pulls.no_merge_helper=Habilite las opciones de combinación en la configuración del repositorio o fusione el pull request manualmente.
@@ -1881,17 +1888,17 @@ pulls.merge_commit_id=La identificación del commit fusionado
pulls.require_signed_wont_sign=Esta rama requiere commits firmados pero esta fusión no será firmada
pulls.invalid_merge_option=No puede utilizar esta opción de combinación para esta solicitud de extracción.
-pulls.merge_conflict=Fusión fallida: Hubo un conflicto mientras se fusionaba. Pista: Pruebe una estrategia diferente
+pulls.merge_conflict=Fusión fallida: Hubo un conflicto durante la fusión. Sugerencia: Prueba una estrategia diferente
pulls.merge_conflict_summary=Mensaje de error
-pulls.rebase_conflict=Fusión fallida: Hubo un conflicto mientras se rebasaba el commit: %[1]s. Pista: Prueba una estrategia diferente
+pulls.rebase_conflict=Fusión fallida: Hubo un conflicto al rebasar el commit: %[1]s. Sugerencia: Prueba una estrategia diferente
pulls.rebase_conflict_summary=Mensaje de error
-pulls.unrelated_histories=Fusionar Fallidos: El jefe de fusión y la base no comparten un historial común. Pista: Prueba una estrategia diferente
-pulls.merge_out_of_date=Fusión fallida: Mientras se generaba la fusión, la base fue actualizada. Pista: Inténtelo de nuevo.
-pulls.head_out_of_date=Fusión fallida: Mientras se generaba la fusión, la cabeza fue actualizada. Pista: Inténtelo de nuevo.
+pulls.unrelated_histories=Fusión fallida: La cabeza de fusión y la base no tienen un historial común. Sugerencia: Prueba una estrategia diferente
+pulls.merge_out_of_date=Fusión fallida: Mientras se generaba la fusión, la base fue actualizada. Sugerencia: Inténtalo de nuevo.
+pulls.head_out_of_date=Fusión fallida: Mientras se generaba la fusión, la cabeza fue actualizada. Sugerencia: Inténtalo de nuevo.
pulls.has_merged=Error: La pull request ha sido fusionada, no puedes fusionarla de nuevo ni cambiar la rama objetivo.
-pulls.push_rejected=Fusión fallida: El push fue rechazado. Revise los Git Hooks para este repositorio.
+pulls.push_rejected=Fusión fallida: El push fue rechazado. Revisa los Git Hooks para este repositorio.
pulls.push_rejected_summary=Mensaje completo de rechazo
-pulls.push_rejected_no_message=Fusión fallida: El push fue rechazado pero no hubo mensaje remoto. Revise los Git Hooks para este repositorio
+pulls.push_rejected_no_message=Push fallida: El push fue rechazado pero no hubo mensaje remoto. Revisa los Git Hooks para este repositorio
pulls.open_unmerged_pull_exists=`No puede realizar la reapertura porque hay un pull request pendiente (#%d) con propiedades idénticas.`
pulls.status_checking=Algunas comprobaciones están pendientes
pulls.status_checks_success=Todas las comprobaciones han sido exitosas
@@ -1905,7 +1912,7 @@ pulls.update_branch_rebase=Actualizar rama por cambio de base
pulls.update_branch_success=La actualización de la rama ha finalizado correctamente
pulls.update_not_allowed=No tiene permisos para actualizar esta rama
pulls.outdated_with_base_branch=Esta rama está desactualizada con la rama base
-pulls.close=Cerrar Pull Request
+pulls.close=Cerrar pull request
pulls.closed_at=`cerró este pull request %[2]s`
pulls.reopened_at=`reabrió este pull request %[2]s`
pulls.clear_merge_message=Borrar mensaje de fusión
@@ -1943,9 +1950,9 @@ milestones.title=Título
milestones.desc=Descripción
milestones.due_date=Fecha límite (opcional)
milestones.clear=Limpiar
-milestones.invalid_due_date_format=El formato de fecha de vencimiento debe ser 'AAAA-mm-dd'.
+milestones.invalid_due_date_format=El formato de fecha límite debe ser "aaaa-mm-dd".
milestones.create_success=Se ha creado el hito "%s".
-milestones.edit=Editar Milestone
+milestones.edit=Editar hito
milestones.edit_subheader=Los hitos organizan los problemas y siguen el progreso.
milestones.cancel=Cancelar
milestones.modify=Actualizar hito
@@ -1953,8 +1960,8 @@ milestones.edit_success=Se ha actualizado el hito "%s".
milestones.deletion=Eliminar hito
milestones.deletion_desc=Eliminando un hito lo elimina de todos los problemas relacionados. ¿Continuar?
milestones.deletion_success=El hito se ha eliminado.
-milestones.filter_sort.earliest_due_data=Fecha de vencimiento más temprana
-milestones.filter_sort.latest_due_date=Fecha de vencimiento más lejana
+milestones.filter_sort.earliest_due_data=Fecha límite más próxima
+milestones.filter_sort.latest_due_date=Fecha límite más lejana
milestones.filter_sort.least_complete=Menos completa
milestones.filter_sort.most_complete=Más completa
milestones.filter_sort.most_issues=Mayoría de los problemas
@@ -1962,7 +1969,7 @@ milestones.filter_sort.least_issues=Menos problemas
signing.will_sign=Este commit se firmará con la clave "%s".
signing.wont_sign.error=Hubo un error mientras se comprobaba si la confirmación podía ser firmada.
-signing.wont_sign.nokey=No hay ninguna clave disponible para firmar este commit.
+signing.wont_sign.nokey=Esta instancia no tiene ninguna clave con la que firmar este commit.
signing.wont_sign.never=Nunca se firman los commits.
signing.wont_sign.always=Siempre se firman los commits.
signing.wont_sign.pubkey=El commit no se firmará porque no tiene una clave pública asociada a su cuenta.
@@ -1974,7 +1981,7 @@ signing.wont_sign.commitssigned=La fusión no se firmará ya que todos los commi
signing.wont_sign.approved=La fusión no se firmará ya que el PR no está aprobado.
signing.wont_sign.not_signed_in=No ha iniciado sesión.
-ext_wiki=Acceso a la wiki externa
+ext_wiki=Acceso a wiki externo
ext_wiki.desc=Enlace a una wiki externa.
wiki=Wiki
@@ -1993,7 +2000,7 @@ wiki.last_commit_info=%s editó esta página %s
wiki.edit_page_button=Editar
wiki.new_page_button=Nueva página
wiki.file_revision=Revisión de página
-wiki.wiki_page_revisions=Revisiones de la página Wiki
+wiki.wiki_page_revisions=Revisiones de la página
wiki.back_to_wiki=Volver a la página wiki
wiki.delete_page_button=Eliminar página
wiki.delete_page_notice_1=Eliminar la página wiki "%s" no se puede deshacer. ¿Continuar?
@@ -2001,7 +2008,7 @@ wiki.page_already_exists=Ya existe una página con el mismo nombre.
wiki.reserved_page=El nombre de la página wiki "%s" está reservado.
wiki.pages=Páginas
wiki.last_updated=Última actualización %s
-wiki.page_name_desc=Introduzca un nombre para esta página de Wiki. Algunos nombres especiales son: 'Home', '_Sidebar' y '_Footer'.
+wiki.page_name_desc=Introduce un nombre para esta página de Wiki. Algunos nombres especiales son: "Home", "_Sidebar" y "_Footer".
wiki.original_git_entry_tooltip=Ver el archivo Git original en vez de usar el enlace amigable.
activity=Actividad
@@ -2014,40 +2021,40 @@ activity.period.quarterly=3 meses
activity.period.semiyearly=6 meses
activity.period.yearly=1 año
activity.overview=Resumen
-activity.active_prs_count_1=%d Solicitud de extracción Activa
-activity.active_prs_count_n=%d Solicitudes "pull" activas
-activity.merged_prs_count_1=Solicitud de extracción combinada
-activity.merged_prs_count_n=Pull Requests Fusionados
-activity.opened_prs_count_1=Pull Request Propuesta
-activity.opened_prs_count_n=Pull Requests Propuestas
+activity.active_prs_count_1=%d pull request activa
+activity.active_prs_count_n=%d pull requests activas
+activity.merged_prs_count_1=Pull request fusionado
+activity.merged_prs_count_n=Pull requests fusionados
+activity.opened_prs_count_1=Pull request propuesta
+activity.opened_prs_count_n=Pull requests propuestas
activity.title.user_1=%d usuario
activity.title.user_n=%d usuarios
-activity.title.prs_1=%d Pull request
-activity.title.prs_n=%d Pull requests
+activity.title.prs_1=%d pull request
+activity.title.prs_n=%d pull requests
activity.title.prs_merged_by=%s fusionado por %s
activity.title.prs_opened_by=%s propuesto por %s
activity.merged_prs_label=Fusionado
activity.opened_prs_label=Propuesto
-activity.active_issues_count_1=%d Incidencia activa
-activity.active_issues_count_n=%d Incidencias activas
+activity.active_issues_count_1=%d incidencia activa
+activity.active_issues_count_n=%d incidencias activas
activity.closed_issues_count_1=Incidencia cerrada
activity.closed_issues_count_n=Incidencias cerradas
-activity.title.issues_1=%d Incidencia
+activity.title.issues_1=%d incidencia
activity.title.issues_n=%d incidencias
activity.title.issues_closed_from=%s cerrado de %s
activity.title.issues_created_by=%s creada por %s
activity.closed_issue_label=Cerrada
-activity.new_issues_count_1=Nueva incidencia
-activity.new_issues_count_n=Nuevas incidencias
+activity.new_issues_count_1=Incidencia nueva
+activity.new_issues_count_n=Incidencias nuevas
activity.new_issue_label=Abierta
-activity.title.unresolved_conv_1=%d Conversación no resuelta
+activity.title.unresolved_conv_1=%d conversación sin resolver
activity.title.unresolved_conv_n=%d conversaciones sin resolver
activity.unresolved_conv_desc=Estas incidencias y pull requests que han cambiado recientemente todavía no han sido resueltos.
activity.unresolved_conv_label=Abierta
-activity.title.releases_1=%d Lanzamiento
-activity.title.releases_n=%d Lanzamientos
+activity.title.releases_1=%d lanzamiento
+activity.title.releases_n=%d lanzamientos
activity.title.releases_published_by=%s publicado por %s
-activity.published_release_label=Publicado
+activity.published_release_label=Lanzamiento
activity.no_git_activity=No ha habido ningún commit en este período.
activity.git_stats_exclude_merges=Excluyendo fusiones,
activity.git_stats_author_1=%d autor
@@ -2093,8 +2100,8 @@ settings.collaboration.read=Lectura
settings.collaboration.owner=Propietario
settings.collaboration.undefined=Indefinido
settings.hooks=Webhooks
-settings.githooks=Git Hooks
-settings.basic_settings=Configuración Básica
+settings.githooks=Git hooks
+settings.basic_settings=Ajustes básicas
settings.mirror_settings=Configuración de réplica
settings.mirror_settings.docs=Configure su repositorio para sincronizar automáticamente commits, etiquetas y ramas con otro repositorio.
settings.mirror_settings.docs.disabled_pull_mirror.instructions=Configure su proyecto para enviar automáticamente commits, etiquetas y ramas a otro repositorio. Las réplicas han sido deshabilitadas por el administrador del sitio.
@@ -2115,23 +2122,23 @@ settings.mirror_settings.direction.push=Push
settings.mirror_settings.last_update=Última actualización
settings.mirror_settings.push_mirror.none=No hay Réplicas de Push configurados
settings.mirror_settings.push_mirror.remote_url=URL del repositorio remoto de Git
-settings.mirror_settings.push_mirror.add=Añadir Réplica de Push
+settings.mirror_settings.push_mirror.add=Añadir réplica de push
settings.mirror_settings.push_mirror.edit_sync_time=Editar intervalo de sincronización de réplica
settings.sync_mirror=Sincronizar ahora
settings.pull_mirror_sync_in_progress=Haciendo pull de los cambios desde el repositorio remoto %s ahora mismo.
settings.push_mirror_sync_in_progress=Haciendo push de los cambios en el repositorio remoto %s ahora mismo.
settings.site=Sitio web
-settings.update_settings=Actualizar configuración
+settings.update_settings=Guardar configuración
settings.update_mirror_settings=Actualizar ajustes de réplica
settings.branches.switch_default_branch=Cambiar rama por defecto
settings.branches.update_default_branch=Actualizar rama por defecto
settings.branches.add_new_rule=Añadir nueva regla
settings.advanced_settings=Ajustes avanzados
-settings.wiki_desc=Activar Wiki de repositorio
-settings.use_internal_wiki=Usar Wiki integrada
-settings.use_external_wiki=Usar Wiki externa
-settings.external_wiki_url=URL externa de la Wiki
+settings.wiki_desc=Activar wiki del repositorio
+settings.use_internal_wiki=Usar wiki integrada
+settings.use_external_wiki=Usar wiki externa
+settings.external_wiki_url=URL del wiki externo
settings.external_wiki_url_error=La URL de la Wiki externa no es una URL válida.
settings.external_wiki_url_desc=Los visitantes serán redirigidos a la URL de la Wiki externa al hacer click en la pestaña de la Wiki.
settings.issues_desc=Activar gestor de incidencias para este repositorio
@@ -2151,26 +2158,26 @@ settings.tracker_issue_style.regexp_pattern_desc=Se utilizará el primer grupo c
settings.tracker_url_format_desc=Utilice los marcadores {user}, {repo} y {index} para designar el usuario, el nombre del repositorio y el índice de incidencia.
settings.enable_timetracker=Habilitar gestor de tiempo
settings.allow_only_contributors_to_track_time=Deje que solo los colaboradores hagan un seguimiento del tiempo
-settings.pulls_desc=Activar Pull Requests para este repositorio
+settings.pulls_desc=Activar pull requests para este repositorio
settings.pulls.ignore_whitespace=Ignorar espacios en blanco en conflictos
settings.pulls.enable_autodetect_manual_merge=Habilitar la autodetección de los commits fusionado manualmente (Nota: en algunos casos especiales, pueden producirse errores de apreciación)
settings.pulls.allow_rebase_update=Habilitar la actualización de la rama de Pull Request por rebase
settings.pulls.default_delete_branch_after_merge=Eliminar por defecto la rama de pull request después de fusionar
settings.pulls.default_allow_edits_from_maintainers=Permitir ediciones de mantenedores por defecto
-settings.releases_desc=Activar lanzamientos del repositorio
-settings.packages_desc=Habilitar registro de paquetes de repositorio
-settings.projects_desc=Activar Proyectos de Repositorio
-settings.actions_desc=Activar Acciones del repositorio
+settings.releases_desc=Activar lanzamientos en el repositorio
+settings.packages_desc=Habilitar registro de paquetes en el repositorio
+settings.projects_desc=Activar proyectos en el repositorio
+settings.actions_desc=Habilite procesos CI/CD integrados con Forgejo Actions
settings.admin_settings=Ajustes de administrador
settings.admin_enable_health_check=Activar cheques de estado de salud del repositorio (git fsck)
settings.admin_code_indexer=Indexador de código
settings.admin_stats_indexer=Indexador de estadísticas de código
-settings.admin_indexer_commit_sha=Último SHA indexado
+settings.admin_indexer_commit_sha=Último commit indexado
settings.admin_indexer_unindexed=Sin indexar
settings.reindex_button=Añadir a la cola de reindexación
-settings.reindex_requested=Reindexar Solicitado
+settings.reindex_requested=Reindexación solicitada
settings.admin_enable_close_issues_via_commit_in_any_branch=Cerrar una incidencia a través de un commit realizado en una rama no principal
-settings.danger_zone=Zona de Peligro
+settings.danger_zone=Zona de peligro
settings.new_owner_has_same_repo=El nuevo propietario tiene un repositorio con el mismo nombre.
settings.convert=Convertir en repositorio normal
settings.convert_desc=Puede convertir este respositorio replicado en un repositorio normal. Esta acción no se puede revertir.
@@ -2194,12 +2201,12 @@ settings.transfer_in_progress=Actualmente hay una transferencia en curso. Por fa
settings.transfer_notices_1=- Perderá el acceso al repositorio si lo transfiere a un usuario individual.
settings.transfer_notices_2=- Mantendrá el acceso al repositorio si lo transfiere a una organización que usted (co-)posee.
settings.transfer_notices_3=- Si el repositorio es privado y se transfiere a un usuario individual, esta acción se asegura de que el usuario tenga al menos permisos de lectura (y cambie los permisos si es necesario).
-settings.transfer_owner=Nuevo Propietario
+settings.transfer_owner=Nuevo propietario
settings.transfer_perform=Realizar transferencia
settings.transfer_started=`Este repositorio ha sido marcado para transferencia y espera confirmación de "%s"`
settings.transfer_succeed=El repositorio ha sido transferido.
-settings.signing_settings=Configuración de verificación de firmas
-settings.trust_model=Modelo de confianza de firma
+settings.signing_settings=Ajustes de verificación de firmas
+settings.trust_model=Modelo de confianza de firmas
settings.trust_model.default=Modelo de confianza por defecto
settings.trust_model.default.desc=Utilice el modelo de confianza de repositorio por defecto para esta instalación.
settings.trust_model.collaborator=Colaborador
@@ -2211,10 +2218,10 @@ settings.trust_model.committer.desc=Las firmas válidas sólo se marcarán como
settings.trust_model.collaboratorcommitter=Colaborador+Comitter
settings.trust_model.collaboratorcommitter.long=Colaborador+Comitter: Confiar en firmas de colaboradores que coincidan con el committer
settings.trust_model.collaboratorcommitter.desc=Las firmas válidas de los colaboradores de este repositorio se marcarán como "de confianza" si coinciden con el confirmador. De lo contrario, las firmas válidas se marcarán como "no confiables" si la firma coincide con el autor de la confirmación y como "no coincidentes" en caso contrario. Esto obligará a Forgejo a ser marcado como el confirmador en los compromisos firmados con el confirmador real marcado como Coautor por: y Cocommitido por: tráiler en el compromiso. La clave Forgejo predeterminada debe coincidir con un usuario en la base de datos.
-settings.wiki_delete=Eliminar datos de Wiki
+settings.wiki_delete=Eliminar datos del wiki
settings.wiki_delete_desc=Eliminar los datos del wiki del repositorio es permanente y no se puede deshacer.
settings.wiki_delete_notices_1=- Esto eliminará y desactivará permanentemente el wiki del repositorio para %s.
-settings.confirm_wiki_delete=Eliminar los datos del Wiki
+settings.confirm_wiki_delete=Eliminar los datos del wiki
settings.wiki_deletion_success=La wiki del repositorio ha sido eliminada.
settings.delete=Eliminar este repositorio
settings.delete_desc=Eliminar un repositorio es permanente y no se puede deshacer.
@@ -2246,10 +2253,10 @@ settings.search_team=Buscar equipos…
settings.change_team_permission_tip=El permiso del equipo está establecido en la página de configuración del equipo y no puede ser cambiado por repositorio
settings.delete_team_tip=Este equipo tiene acceso a todos los repositorios y no puede ser eliminado
settings.remove_team_success=Se ha eliminado el acceso del equipo al repositorio.
-settings.add_webhook=Añadir Webhook
+settings.add_webhook=Añadir webhook
settings.add_webhook.invalid_channel_name=El nombre del canal Webhook no puede estar vacío y no puede contener sólo un # carácter.
settings.hooks_desc=Los webhooks automáticamente hacen peticiones HTTP POST a un servidor cuando ciertos eventos de Forgejo se activan. Lee más en la guía de webhooks.
-settings.webhook_deletion=Eliminar Webhook
+settings.webhook_deletion=Eliminar webhook
settings.webhook_deletion_desc=Eliminar un webhook borra sus ajustes e historial de entrega. ¿Continuar?
settings.webhook_deletion_success=El webhook ha sido eliminado.
settings.webhook.test_delivery=Test de entrega
@@ -2263,12 +2270,12 @@ settings.webhook.body=Cuerpo del mensaje
settings.webhook.replay.description=Reproducir este webhook.
settings.webhook.replay.description_disabled=Para volver a reproducir este webhook, actívalo.
settings.webhook.delivery.success=Se ha añadido un evento a la cola. Puede tardar unos segundos antes de que se muestre en el historial de entrega.
-settings.githooks_desc=Los Hooks de Git son ejecutados por el propio Git. Puede editar los archivos de hooks a continuación para configurar operaciones personalizadas.
+settings.githooks_desc=Los hooks de Git son ejecutados por el propio Git. Puedes editar los archivos de hooks a continuación para configurar operaciones personalizadas.
settings.githook_edit_desc=Si el hook no está activo, se mostrará contenido de ejemplo. Dejar el contenido vacío deshabilitará este hook.
-settings.githook_name=Nombre del Hook
-settings.githook_content=Contenido del Hook
-settings.update_githook=Actualizar Hook
-settings.add_webhook_desc=Forgejo enviará solicitudes POST con un tipo de contenido especificado a la URL de destino. Leer más en la guía webhooks.
+settings.githook_name=Nombre del hook
+settings.githook_content=Contenido del hook
+settings.update_githook=Actualizar hook
+settings.add_webhook_desc=Forgejo enviará solicitudes POST con un tipo de contenido especificado a la URL de destino. Lee más en la guía sobre webhooks.
settings.payload_url=Url destino
settings.http_method=Método HTTP
settings.content_type=Tipo de contenido POST
@@ -2278,11 +2285,11 @@ settings.slack_icon_url=URL de icono
settings.slack_color=Color
settings.discord_username=Usuario
settings.discord_icon_url=URL de icono
-settings.event_desc=Activar:
-settings.event_push_only=Eventos Push
+settings.event_desc=Activar en:
+settings.event_push_only=Eventos push
settings.event_send_everything=Todos los eventos
settings.event_choose=Eventos personalizados…
-settings.event_header_repository=Eventos de repositorio
+settings.event_header_repository=Eventos del repositorio
settings.event_create=Crear
settings.event_create_desc=Rama o etiqueta creada.
settings.event_delete=Eliminar
@@ -2304,29 +2311,29 @@ settings.event_issue_assign=Incidencia asignada
settings.event_issue_assign_desc=Incidencia asignada o no asignada.
settings.event_issue_label=Incidencia etiquetada
settings.event_issue_label_desc=Etiqueta de incidencia actualizada o borrada.
-settings.event_issue_milestone=Hito de incidencia
+settings.event_issue_milestone=Hito asignado a incidencia
settings.event_issue_milestone_desc=Hito de incidencia establecido o desestablecido.
settings.event_issue_comment=Comentario de incidencia
settings.event_issue_comment_desc=Comentario de incidencias creado, editado o borrado.
-settings.event_header_pull_request=Eventos de Pull Requests
-settings.event_pull_request=Pull Request
+settings.event_header_pull_request=Eventos de pull requests
+settings.event_pull_request=Pull request
settings.event_pull_request_desc=Pull request abierto, cerrado, reabierto o editado.
-settings.event_pull_request_assign=Pull Request asignado
+settings.event_pull_request_assign=Pull request asignado
settings.event_pull_request_assign_desc=Pull Request asignado o no asignado.
-settings.event_pull_request_label=Pull Request Etiquetado
+settings.event_pull_request_label=Pull request etiquetado
settings.event_pull_request_label_desc=Etiqueta de pull request actualizada o borrada.
-settings.event_pull_request_milestone=Hito de pull request
+settings.event_pull_request_milestone=Hito asignado a pull request
settings.event_pull_request_milestone_desc=Hito de pull request establecido o desestablecido.
-settings.event_pull_request_comment=Pull Request Comentario
+settings.event_pull_request_comment=Comentario en pull request
settings.event_pull_request_comment_desc=Comentario de pull request creado, editado o borrado.
-settings.event_pull_request_review=Pull Request revisado
+settings.event_pull_request_review=Pull request revisado
settings.event_pull_request_review_desc=Pull request aprobado, rechazado o comentario de revisión.
-settings.event_pull_request_sync=Pull Request sincronizado
+settings.event_pull_request_sync=Pull request sincronizado
settings.event_pull_request_sync_desc=Pull request sincronizado.
-settings.event_pull_request_review_request=Revisión de Pull Request solicitada
+settings.event_pull_request_review_request=Revisión de pull request solicitada
settings.event_pull_request_review_request_desc=La solicitud de Pull Request ha sido eliminada.
-settings.event_pull_request_approvals=Aprobaciones de Pull Request
-settings.event_pull_request_merge=Fusionar Pull Request
+settings.event_pull_request_approvals=Aprobaciones de pull request
+settings.event_pull_request_merge=Fusión de pull request
settings.event_package=Paquete
settings.event_package_desc=Paquete creado o eliminado en un repositorio.
settings.branch_filter=Filtro de rama
@@ -2336,11 +2343,11 @@ settings.authorization_header_desc=Se incluirá como encabezado de autorización
settings.active=Activo
settings.active_helper=La información sobre los eventos desencadenados se enviará a esta URL de webhook.
settings.add_hook_success=El webhook ha sido añadido.
-settings.update_webhook=Actualizar Webhook
+settings.update_webhook=Actualizar webhook
settings.update_hook_success=El webhook ha sido actualizado.
-settings.delete_webhook=Eliminar Webhook
-settings.recent_deliveries=Envíos Recientes
-settings.hook_type=Tipo de Hook
+settings.delete_webhook=Eliminar webhook
+settings.recent_deliveries=Envíos recientes
+settings.hook_type=Tipo de hook
settings.slack_token=Token
settings.slack_domain=Dominio
settings.slack_channel=Canal
@@ -2362,8 +2369,8 @@ settings.web_hook_name_packagist=Packagist
settings.packagist_username=Nombre de usuario Packagist
settings.packagist_api_token=Token de API
settings.packagist_package_url=URL del paquete Packagist
-settings.deploy_keys=Claves de Implementación
-settings.add_deploy_key=Añadir Clave de Implementación
+settings.deploy_keys=Claves de implementación
+settings.add_deploy_key=Añadir clave de implementación
settings.deploy_key_desc=Las claves de implementación tienen acceso de sólo lectura al repositorio.
settings.is_writable=Habilitar acceso de escritura
settings.is_writable_info=Permitir que esta clave de implementación pueda hacer push a este repositorio.
@@ -2383,49 +2390,49 @@ settings.protected_branch.delete_rule=Eliminar regla
settings.protected_branch_can_push=¿Permitir hacer push?
settings.protected_branch_can_push_yes=Puede hacer push
settings.protected_branch_can_push_no=No puede hacer push
-settings.branch_protection=Proteccion de la rama '%s'
+settings.branch_protection=Reglas de protección de la rama "%s"
settings.protect_this_branch=Activar protección de rama
settings.protect_this_branch_desc=Evita la eliminación y restringe hacer push y fusionar contra la rama.
-settings.protect_disable_push=Deshabilitar Push
+settings.protect_disable_push=Deshabilitar push
settings.protect_disable_push_desc=No se permitirá hacer push a esta rama.
-settings.protect_enable_push=Habilitar Push
+settings.protect_enable_push=Habilitar push
settings.protect_enable_push_desc=Cualquier usuario con permiso de escritura podrá hacer push a esta rama (pero no push --force).
settings.protect_enable_merge=Activar fusión
settings.protect_enable_merge_desc=Cualquiera con acceso de escritura podrá fusionar las pull requests en esta rama.
-settings.protect_whitelist_committers=Hacer push restringido a la lista blanca
+settings.protect_whitelist_committers=Push restringido a la lista blanca
settings.protect_whitelist_committers_desc=Sólo se permitirá a los usuarios o equipos de la lista blanca hacer push a esta rama (pero no forzar push).
settings.protect_whitelist_deploy_keys=Lista blanca de claves de despliegue con acceso de escritura a push.
-settings.protect_whitelist_users=Usuarios en la lista blanca para hacer push:
+settings.protect_whitelist_users=Usuarios en la lista blanca para hacer push
settings.protect_whitelist_search_users=Buscar usuarios…
-settings.protect_whitelist_teams=Equipos en la lista blanca para hacer push:
+settings.protect_whitelist_teams=Equipos en la lista blanca para hacer push
settings.protect_whitelist_search_teams=Buscar equipos…
settings.protect_merge_whitelist_committers=Activar lista blanca para fusionar
settings.protect_merge_whitelist_committers_desc=Permitir a los usuarios o equipos de la lista a fusionar peticiones pull dentro de esta rama.
-settings.protect_merge_whitelist_users=Usuarios en la lista blanca para fusionar:
-settings.protect_merge_whitelist_teams=Equipos en la lista blanca para fusionar:
+settings.protect_merge_whitelist_users=Usuarios en la lista blanca para fusionar
+settings.protect_merge_whitelist_teams=Equipos en la lista blanca para fusionar
settings.protect_check_status_contexts=Habilitar comprobación de estado
-settings.protect_status_check_patterns=Patrones de verificación de estado:
+settings.protect_status_check_patterns=Patrones de verificación de estado
settings.protect_status_check_patterns_desc=Introduzca los patrones para especificar qué comprobaciones de estado deben pasar antes de que las ramas puedan ser fusionadas en una rama que coincida con esta regla. Cada línea especifica un patrón. Los patrones no pueden estar vacíos.
settings.protect_check_status_contexts_desc=Requiere verificaciones de estado para pasar antes de fusionar. Elija qué verificaciones de estado deben pasar antes de que las ramas puedan fusionarse en una rama que coincida con esta regla. Cuando se active, los commits primero deben ser empujados a otra rama, y luego fusionados o empujados directamente a una rama que coincida con esta regla luego de que las verificaciones de estado hayan pasado. Si no se selecciona ningún contexto, el último commit debe ser exitoso sin importar el contexto.
settings.protect_check_status_contexts_list=Comprobaciones de estado para este repositorio encontradas durante la semana pasada
settings.protect_status_check_matched=Coincide
settings.protect_invalid_status_check_pattern=Patrón de verificación de estado no válido: "%s".
settings.protect_no_valid_status_check_patterns=No hay patrones de verificación de estado.
-settings.protect_required_approvals=Aprobaciones requeridas:
+settings.protect_required_approvals=Aprobaciones requeridas
settings.protect_required_approvals_desc=Permite fusionar sólo los pull request con suficientes comentarios positivos.
settings.protect_approvals_whitelist_enabled=Restringir las aprobaciones a los usuarios o equipos que estén en una lista blanca
settings.protect_approvals_whitelist_enabled_desc=Solo las revisiones de usuarios o equipos en la lista blanca contarán para las aprobaciones requeridas. Sin una lista de aprobación blanca, las revisiones de cualquier persona con acceso de escritura cuentan para las aprobaciones requeridas.
-settings.protect_approvals_whitelist_users=Lista blanca de usuarios revisores:
-settings.protect_approvals_whitelist_teams=Lista blanca de equipos revisores:
+settings.protect_approvals_whitelist_users=Lista blanca de usuarios revisores
+settings.protect_approvals_whitelist_teams=Lista blanca de equipos revisores
settings.dismiss_stale_approvals=Descartar aprobaciones obsoletas
settings.dismiss_stale_approvals_desc=Cuando los nuevos commits que cambien el contenido de la pull request sean empujados a la rama, se descartarán las aprobaciones antiguas.
-settings.require_signed_commits=Requiere commits firmados
+settings.require_signed_commits=Exigir commits firmados
settings.require_signed_commits_desc=Rechazar push en esta rama si los commits no están firmados o no son verificables.
-settings.protect_branch_name_pattern=Patrón de nombre de la rama protegida
+settings.protect_branch_name_pattern=Patrón de nombre de ramas protegidas
settings.protect_patterns=Patrones
-settings.protect_protected_file_patterns=Patrones de archivos protegidos (separados con punto y coma ';'):
+settings.protect_protected_file_patterns=Patrones de archivos protegidos (separados con punto y coma ';')
settings.protect_protected_file_patterns_desc=No está permitido cambiar archivos directamente incluso si el usuario tiene permiso para agregar, editar o borrar archivos en esta rama. Múltiples patrones pueden separarse usando punto y coma (';'). Refvisa la documentación de github.com/gobwas/glob para la sintaxis de patrones. Ejemplos: .drone.yml, /docs/**/*.txt.
-settings.protect_unprotected_file_patterns=Patrones de archivos sin protección (separados con punto y coma ';'):
+settings.protect_unprotected_file_patterns=Patrones de archivos sin protección (separados con punto y coma ";")
settings.protect_unprotected_file_patterns_desc=Los archivos sin protección se pueden cambiar directamente si el usuario tiene acceso de escritura, evitando la restricción push. Múltiples patrones pueden separarse usando punto y coma (';'). Vea la documentación de github.com/gobwas/glob para la sintaxis de patrones. Ejemplos: .drone.yml, /docs/**/*.txt.
settings.add_protected_branch=Activar protección
settings.delete_protected_branch=Desactivar protección
@@ -2686,7 +2693,7 @@ issues.archived_label_description = (Archivado) %s
n_commit_one = %s commit
generated = Generado
pulls.nothing_to_compare_have_tag = La rama/etiqueta seleccionada es igual.
-commits.search_branch = Esta Rama
+commits.search_branch = Esta rama
commits.renamed_from = Renombrado de %s
form.string_too_long = El texto introducido tiene más de %d caracteres.
object_format = Formato de objetos
@@ -2709,6 +2716,60 @@ subscribe.pull.guest.tooltip = Inicia sesión para suscribirte a este pull reque
admin.manage_flags = Gestionar indicadores
admin.enabled_flags = Indicadores habilitados para el repositorio:
editor.push_out_of_date = El empuje parece estar desactualizado.
+mirror_public_key = Clave de SSH pública
+mirror_use_ssh.text = Utilizar autenticación SSH
+no_eol.text = Sin EOL
+no_eol.tooltip = Este archivo no contiene un carácter de fin de línea.
+mirror_denied_combination = No se puede utilizar la autenticación mediante clave pública y contraseña en combinación.
+mirror_use_ssh.helper = Forgejo replicará el repositorio vía Git sobre SSH y creará un par de claves para ti cuando selecciones esta opción. Debes asegurarte de que la clave pública generada sea autorizada para empujar al repositorio de destino. No puedes usar autorización mediante contraseña cuando selecciones esta opción.
+issues.edit.already_changed = No fue posible guardar los cambios a la incidencia. Parece que el contenido ya fue modificado por otro usuario. Actualiza la página e intenta editar de nuevo para evitar sobrescribir los cambios
+issues.author.tooltip.issue = Este usuario es el autor de esta incidencia.
+mirror_use_ssh.not_available = La autenticación por SSH no está disponible.
+issues.author.tooltip.pr = Este usuario es el autor de este pull request.
+issues.blocked_by_user = No puedes crear una incidencia en este repositorio porque estas bloqueado por el propietario del repositorio.
+pulls.merged_title_desc_one = fusionó %[1]d commit de %[2]s en %[3]s %[4]s
+pulls.fast_forward_only_merge_pull_request = Sólo fast-forward
+pulls.blocked_by_user = No puedes crear una pull request en este repositorio porque estas bloqueado por el propietario del repositorio.
+issues.comment.blocked_by_user = No puedes crear un comentario en esta incidencia porque estás bloqueado por el propietario del repositorio o el autor de la incidencia.
+comments.edit.already_changed = No fue posible guardar los cambios al comentario. Parece que el contenido ya fue modificado por otro usuario. Actualiza la página e intenta editar de nuevo para evitar sobrescribir los cambios
+pulls.edit.already_changed = No fue posible guardar los cambios al pull request. Parece que el contenido ya fue modificado por otro usuario. Actualiza la página e intenta editar de nuevo para evitar sobrescribir los cambios
+pulls.title_desc_one = quiere fusionar %[1]d commit de %[2]s en %[3]s
+pulls.ready_for_review = Listo para revisar?
+activity.navbar.contributors = Contribuidores
+pulls.cmd_instruction_hint = Ver instrucciones para la línea de comandos
+settings.units.units = Unidades del repositorio
+settings.units.overview = Vista general
+pulls.status_checks_hide_all = Ocultar todas las verificaciones
+settings.federation_not_enabled = La federación no está habilitada en tu instancia.
+wiki.search = Buscar en wiki
+pulls.status_checks_show_all = Mostrar todas las verificaciones
+pulls.commit_ref_at = `hizo referencia a este pull request desde un commit %[2]s`
+pulls.cmd_instruction_merge_title = Fusionar
+contributors.contribution_type.deletions = Eliminaciones
+contributors.contribution_type.filter_label = Tipo de contribución:
+contributors.contribution_type.additions = Adiciones
+settings.units.add_more = Añadir más...
+wiki.cancel = Cancelar
+activity.published_prerelease_label = Pre-lanzamiento
+activity.published_tag_label = Etiqueta
+pulls.made_using_agit = AGit
+pulls.reopen_failed.head_branch = No se puede reabrir el pull request porque la rama de cabeza ya no existe.
+pulls.cmd_instruction_checkout_desc = Desde el repositorio de tu proyecto, crea una nueva rama y prueba los cambios.
+pulls.cmd_instruction_merge_desc = Fusionar los cambios y actualizar en Forgejo.
+pulls.reopen_failed.base_branch = No se puede reabrir el pull request, porque la rama base ya no existe.
+wiki.no_search_results = Sin resultados
+activity.navbar.pulse = Pulso
+activity.navbar.code_frequency = Frecuencia de código
+settings.federation_apapiurl = URL de federación de este repositorio. Copia y pega esto en los Ajustes de Federación de otro repositorio como el URL de un Repositorio Seguidor.
+settings.federation_following_repos = URLs de los Repositorios Seguidores. Separados por ";", sin espacios en blanco.
+activity.navbar.recent_commits = Commits recentes
+pulls.cmd_instruction_merge_warning = Atención: El ajuste "Autodetectar fusión manual" no está habilitado para este repositorio, tendrás que marcar este pull request como fusionado manualmente después.
+pulls.agit_explanation = Creado utilizando el flujo de trabajo AGit. AGit permite a los colaboradores proponer cambios mediante «git push» sin crear una bifurcación o una nueva rama.
+activity.commit = Commits hechos
+milestones.filter_sort.name = Nombre
+settings.federation_settings = Ajustes de federación
+settings.mirror_settings.push_mirror.none_ssh = Ninguna
+settings.mirror_settings.push_mirror.copy_public_key = Copiar clave pública
[graphs]
diff --git a/options/locale/locale_fil.ini b/options/locale/locale_fil.ini
index 9b629992c5..dbd2ee2756 100644
--- a/options/locale/locale_fil.ini
+++ b/options/locale/locale_fil.ini
@@ -387,7 +387,7 @@ sign_up_now = Kailangan ng isang account? Magrehistro ngayon.
sign_up_successful = Matagumpay na nagawa ang account. Maligayang pagdating!
must_change_password = Baguhin ang iyong password
allow_password_change = Kailanganin ang user na palitan ang password (inirerekomenda)
-reset_password_mail_sent_prompt = Ang isang bagong email pang-kumpirma ay ipinadala sa %s. Pakisuri ang iyong inbox sa loob ng %s para tapusin ang proseso ng pag-recover ng account.
+reset_password_mail_sent_prompt = Ang isang bagong email na pang-kumpirma ay ipinadala sa %s. Para kumpletuhin ang proseso ng pag-recover ng account, pakisuri ang iyong inbox at sundan ang ibinigay na link sa loob ng %s.
active_your_account = Aktibahin ang iyong account
account_activated = Naaktiba na ang account
prohibit_login = Nasuspinde ang account
@@ -424,7 +424,7 @@ openid_connect_desc = Ang piniling OpenID URI ay hindi alam. Iugnay iyan sa bago
invalid_code = Ang iyong confirmation code ay hindi wasto o nag-expire na.
oauth_signin_title = Mag-sign in para pahintulutan ang naka-link na account
invalid_code_forgot_password = Ang iyong confirmation code ay hindi wasto o nag-expire na. Mag-click dito para magsimula ng bagong session.
-confirmation_mail_sent_prompt = Ang isang bagong email pang-kumpirma ay ipinadala sa %s. Pakisuri ang iyong inbox sa loob ng %s para tapusin ang proseso ng pagrehistro. Kung mali ang email, maari kang mag-log in, at humingi ng isa pang email pang-kumpirma na ipapadala sa ibang address.
+confirmation_mail_sent_prompt = Ang isang bagong email na pang-kumpirma ay ipinadala sa %s. Para kumpletuhin ang proseso ng pagrehistro, pakisuri ang iyong inbox at sundan ang ibinigay na link sa loob ng %s. Kung mali ang email, maari kang mag-log in, at humingi ng isa pang email pang-kumpirma na ipapadala sa ibang address.
invalid_password = Ang iyong password ay hindi tugma sa password na ginamit para gawin ang account.
twofa_scratch_used = Ginamit mo na ang scratch code. Na-redirect ka sa two-factor settings page para tanggalin ang device enrollment o mag-generate ng bagong scratch code.
manual_activation_only = Makipag-ugnayan sa tagapangangasiwa ng site para kumpletuhin ang pagrehistro.
@@ -750,7 +750,7 @@ email_deletion_desc = Ang email address at mga kaugnay na impormasyon ay tatangg
add_email = Idagdag ang email eddress
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 pang-kumpirma ay ipinadala sa %s. Pakisuri ang iyong inbox sa loob ng %s para kumpirmahin ang iyong email address.
+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.
@@ -1480,7 +1480,7 @@ wiki.new_page_button = Bagong pahina
wiki.delete_page_button = Burahin ang pahina
milestones.title = Pamagat
milestones.desc = paglalarawan
-pulls.blocked_by_user = Hindi ka makakagawa ng [pull request] sa [repository] na ito dahil hinarang ka ng may-ari ng [repository].
+pulls.blocked_by_user = Hindi ka makakagawa ng hiling sa paghila sa repositoryo na ito dahil na-block ka ng may-ari ng repositoryo.
pulls.no_merge_access = Hindi ka pinapayagang isali ang [pull request] na ito.
editor.commit_directly_to_this_branch = Direktang mag-commit sa branch na %s.
editor.branch_already_exists = Umiiral na ang branch na "%s" sa repositoryo na ito.
@@ -2002,6 +2002,12 @@ pulls.data_broken = Sira ang hiling sa paghila na ito dahil sa nawawalang imporm
pulls.files_conflicted = May mga pagbabago ang hiling sa paghila na ito na sumasalungat sa target na branch.
pulls.is_checking = Ginagawa pa ang pagsuri ng merge conflict. Subukang muli sa ilang sandali.
wiki.welcome_desc = Pinapayagan ng wiki ang pagsulat at pagbahagi ng dokumentasyon sa mga katulong.
+activity.active_prs_count_1 = %d aktibong hiling sa paghila
+settings.mirror_settings.docs.disabled_push_mirror.pull_mirror_warning = Sa ngayon, magagawa lang ito sa "Bagong Paglipat" na menu. Para sa karagdagang impormasyon, mangyaring kumonsulta sa:
+settings.mirror_settings.docs.disabled_push_mirror.info = Na-disable ng iyong tagapangasiwa ng site ang mga push mirror.
+settings.mirror_settings.docs.disabled_push_mirror.instructions = I-set up ang iyong proyekto na awtomatikong hilahin ang mga commit, tag at branch mula sa isa pang repositoryo.
+settings.mirror_settings.docs.disabled_pull_mirror.instructions = I-set up ang iyong proyekto na awtomatikong magtulak ng mga commit, tag at branch sa isa pang repositoryo. Na-disable ng iyong tagapangasiwa ng site ang mga pull mirror.
+activity.overview = Pangkalahatang Ideya
[search]
commit_kind = Maghanap ng mga commit...
@@ -2454,6 +2460,7 @@ cargo.install = Para i-install ang package gamit ang Cargo, patakbuhin ang sumus
published_by_in = Na-publish ang %[1]s ni %[3]s sa %[5]s
alpine.registry.key = I-download ang registry public RSA key sa /etc/apk/keys folder para i-verify ang index signature:
swift.install2 = at patakbuhin ang sumusunod na utos:
+arch.version.description = Paglalarawan
[actions]
runners.last_online = Huling oras na online
@@ -2642,6 +2649,7 @@ deletion.success = Natanggal na ang lihim.
deletion.failed = Nabigong tanggalin ang lihim.
creation.failed = Nabigong idagdag ang lihim.
deletion = Tanggalin ang lihim
+creation = Idagdag ang Lihim
[markup]
filepreview.line = Linya %[1]d sa %[2]s
diff --git a/options/locale/locale_fr-FR.ini b/options/locale/locale_fr-FR.ini
index 643be64b52..436484371f 100644
--- a/options/locale/locale_fr-FR.ini
+++ b/options/locale/locale_fr-FR.ini
@@ -409,7 +409,7 @@ forgot_password_title=Mot de passe oublié
forgot_password=Mot de passe oublié ?
sign_up_now=Pas de compte ? Inscrivez-vous maintenant.
sign_up_successful=Le compte a été créé avec succès. Bienvenue !
-confirmation_mail_sent_prompt=Un nouveau mail de confirmation a été envoyé à %s. Veuillez vérifier votre boîte de réception dans les prochaines %s pour valider votre enregistrement.
+confirmation_mail_sent_prompt=Un nouveau mail de confirmation a été envoyé à %s. Pour terminer votre enregistrement, veuillez vérifier votre boîte de réception dans les prochaines %s . Si le courriel est incorrect, vous pouvez vous connecter et demander l'envoi d'un autre courriel de confirmation à une différente adresse.
must_change_password=Réinitialisez votre mot de passe
allow_password_change=Demande à l'utilisateur de changer son mot de passe (recommandé)
reset_password_mail_sent_prompt=Un mail de confirmation a été envoyé à %s. Veuillez vérifier votre boîte de réception dans les prochaines %s pour terminer la procédure de récupération du compte.
diff --git a/options/locale/locale_nl-NL.ini b/options/locale/locale_nl-NL.ini
index 5e12b5984a..862cfc5726 100644
--- a/options/locale/locale_nl-NL.ini
+++ b/options/locale/locale_nl-NL.ini
@@ -2128,23 +2128,23 @@ settings.protect_enable_push_desc=Iedereen met schrijftoegang heeft toegang om t
settings.protect_whitelist_committers=Whitelist beperkte push
settings.protect_whitelist_committers_desc=Alleen gewhiteliste gebruikers of teams mogen pushen naar deze branch (maar geen force push).
settings.protect_whitelist_deploy_keys=Whitelist deploy sleutels met schrijftoegang om te pushen.
-settings.protect_whitelist_users=Toegestane gebruikers voor push:
+settings.protect_whitelist_users=Toegestane gebruikers voor push
settings.protect_whitelist_search_users=Zoek gebruiker…
-settings.protect_whitelist_teams=Toegestane teams voor push:
+settings.protect_whitelist_teams=Toegestane teams voor push
settings.protect_whitelist_search_teams=Zoek teams…
settings.protect_merge_whitelist_committers=Samenvoegen whitelist inschakelen
settings.protect_merge_whitelist_committers_desc=Sta alleen gebruikers of teams van de whitelist toe om pull requests samen te voegen met deze branch.
-settings.protect_merge_whitelist_users=Toegestane gebruikers voor samenvoegen:
-settings.protect_merge_whitelist_teams=Toegestane teams voor samenvoegen:
+settings.protect_merge_whitelist_users=Toegestane gebruikers voor samenvoegen
+settings.protect_merge_whitelist_teams=Toegestane teams voor samenvoegen
settings.protect_check_status_contexts=Status controle inschakelen
settings.protect_check_status_contexts_desc=Statuscontroles zijn vereist om te kunnen samenvoegen. Kies welke statuscontroles moeten slagen voordat branches kunnen worden samengevoegd tot een branch die aan deze regel voldoet. Wanneer ingeschakeld, moeten commits eerst naar een andere branch worden gepusht, vervolgens samengevoegd of gepusht worden naar een branch die overeenkomt met deze regel nadat de statuscontroles zijn uitgevoerd. Als er geen contexten worden geselecteerd, moet de laatste commit succesvol zijn, ongeacht de context.
settings.protect_check_status_contexts_list=Status controles gevonden in de afgelopen week voor deze repository
-settings.protect_required_approvals=Vereiste goedkeuringen:
+settings.protect_required_approvals=Vereiste goedkeuringen
settings.protect_required_approvals_desc=Sta alleen toe om pull request samen te voegen met voldoende positieve beoordelingen.
settings.protect_approvals_whitelist_enabled=Beperk goedkeuringen tot gebruikers of teams op de whitelist
settings.protect_approvals_whitelist_enabled_desc=Alleen beoordelingen van gebruikers of teams op de whitelist zullen voor het vereiste aantal goedkeuringen tellen. Zonder een goedkeurings whitelist, tellen beoordelingen van iedereen met schrijfrechten mee voor het vereiste aantal goedkeuringen.
-settings.protect_approvals_whitelist_users=Toegestane reviewers:
-settings.protect_approvals_whitelist_teams=Toegestane teams voor beoordelingen:
+settings.protect_approvals_whitelist_users=Toegestane reviewers
+settings.protect_approvals_whitelist_teams=Toegestane teams voor beoordelingen
settings.dismiss_stale_approvals=Verouderde goedkeuringen afwijzen
settings.dismiss_stale_approvals_desc=Wanneer nieuwe commits die de inhoud van het pull-verzoek veranderen, naar de branch worden gepusht, worden oude goedkeuringen verwijderd.
settings.require_signed_commits=Ondertekende commits vereisen
@@ -2323,7 +2323,7 @@ settings.ignore_stale_approvals = Negeer verouderde goedkeuringen
settings.ignore_stale_approvals_desc = Tel goedkeuringen gemaakt op oudere commits (verouderde reviews) niet mee voor het aantal goedkeuringen dat het PR heeft. Irrelevant als verouderde reviews al afgekeurd zijn.
settings.protect_branch_name_pattern_desc = Beschermd branch naam patronen. Zie de documentatie voor patroon syntax. Bijvoorbeeld: main, release/**
settings.protect_patterns = Patronen
-settings.protect_protected_file_patterns = Beschermde bestand patronen (gescheiden door een puntkomma ";"):
+settings.protect_protected_file_patterns = Beschermde bestand patronen (gescheiden door een puntkomma ";")
issues.no_content = Geen beschrijving gegeven.
issues.close = Issue sluiten
issues.comment_pull_merged_at = commit %[1]s samengevoegd in %[2]s %[3]s
@@ -2623,14 +2623,14 @@ branch.already_exists = Een branch genaamd "%s" bestaat al.
settings.protected_branch_required_rule_name = Vereiste regelnaam
settings.protect_unprotected_file_patterns_desc = Onbeschermde bestanden die direct gewijzigd mogen worden als een gebruiker schrijftoegang heeft, waarbij pushbeperking omzeild zal worden. Meerdere patronen kunnen gescheiden worden d.m.v. een puntkomma (";"). Zie github.com/gobwas/glob documentatie voor patroon syntax. Bijvoorbeeld: .drone.yml, /docs/**/*.txt.
settings.tags.protection.pattern.description = U kunt een enkele naam, glob patroon of reguliere expressie gebruiken om tags te matchen. Lees meer in de beschermde tags gids.
-settings.protect_unprotected_file_patterns = Onbeschermde bestandspatronen (gescheiden d.m.v. een puntkomma ";"):
+settings.protect_unprotected_file_patterns = Onbeschermde bestandspatronen (gescheiden d.m.v. een puntkomma ";")
branch.delete_desc = Het verwijderen van een branch is permanent. Hoewel de verwijderde branch kan blijven bestaan voor een korte tijd voordat het daadwerkelijk wordt verwijderd, kan het in de meeste gevallen NIET ongedaan gemaakt worden. Wilt u doorgaan?
release.deletion_desc = Het verwijderen van een release zal het alleen verwijderen van Forgejo. Het zal niet de Git tag, de inhoud van uw repository of de geschiedenis ervan beïnvloeden. Wilt u doorgaan?
release.deletion_tag_desc = Verwijdert deze tag uit de repository. De inhoud van de repository en de geschiedenis ervan zullen ongewijzigd blijven. Wilt u doorgaan?
release.tag_name_protected = De tagnaam is beschermd.
release.tag_already_exist = Deze tagnaam bestaat al.
settings.mirror_settings.docs.disabled_pull_mirror.instructions = Stel je project in om automatisch commits, tags en branches naar een andere repository te pushen. Pull mirrors zijn uitgeschakeld door de beheerder van de site.
-settings.protect_status_check_patterns = Patronen voor statuscontrole:
+settings.protect_status_check_patterns = Patronen voor statuscontrole
settings.mirror_settings.docs = Stel je repository in om automatisch commits, tags en branches te synchroniseren met een andere repository.
settings.mirror_settings.docs.disabled_push_mirror.instructions = Stel je project in om automatisch commits, tags en branches uit een andere repository te halen.
pulls.made_using_agit = AGit
@@ -2813,6 +2813,14 @@ settings.transfer_quota_exceeded = De nieuwe eigenaar (%s) is over hun quotum he
no_eol.text = Geen EOL
no_eol.tooltip = Dit bestand bevat geen afsluitend regeleinde.
pulls.cmd_instruction_merge_warning = Waarschuwing: De instelling “Automatisch handmatig samenvoegen detecteren” is niet ingeschakeld voor deze repository, je zult deze pull request achteraf als handmatig samengevoegd moeten markeren.
+settings.protect_new_rule = Maak een nieuwe regel voor branch beveiliging
+settings.mirror_settings.push_mirror.copy_public_key = Kopieer openbare sleutel
+mirror_use_ssh.text = SSH-authenticatie gebruiken
+mirror_denied_combination = Kan openbare sleutel en wachtwoordgebaseerde authenticatie niet combineren.
+mirror_public_key = Publieke SSH-sleutel
+mirror_use_ssh.helper = Forgejo zal deze repository mirroren via Git over SSH en een sleutelpaar voor je aanmaken als je deze optie selecteert. Je moet ervoor zorgen dat de gegenereerde publieke sleutel geautoriseerd is om naar het doel-repository te pushen. Je kunt geen wachtwoord-gebaseerde autorisatie gebruiken als je dit selecteert.
+settings.mirror_settings.push_mirror.none_ssh = Geen
+mirror_use_ssh.not_available = SSH-authenticatie is niet beschikbaar.
@@ -2902,7 +2910,7 @@ teams.delete_team_desc=Het verwijderen van een team heeft de toegang tot de repo
teams.delete_team_success=Het team is verwijderd.
teams.read_permission_desc=Dit team heeft Lees rechten: leden kunnen repositories lezen en klonen.
teams.write_permission_desc=Dit team heeft Schrijf rechten: leden kunnen repositories lezen en push aanvragen verwerken.
-teams.admin_permission_desc=Dit team heeft beheersrechten: leden kunnen van en naar teamrepositories pullen, pushen, en er medewerkers aan toevoegen.
+teams.admin_permission_desc=Deze team heeft Beheerder rechten: leden kunnen van en naar teamrepositories pullen, pushen, en er medewerkers aan toevoegen.
teams.create_repo_permission_desc=Daarnaast verleent dit team Maak repository permissie: leden kunnen nieuwe repositories maken in de organisatie.
teams.repositories=Teamrepositories
teams.search_repo_placeholder=Repository zoeken…
@@ -2919,8 +2927,8 @@ teams.all_repositories=Alle repositories
teams.all_repositories_helper=Team heeft toegang tot alle repositories. Door dit te selecteren worden alle bestaande repositories aan het team toegevoegd.
teams.all_repositories_read_permission_desc=Dit team heeft Lees toegang tot alle repositories: leden kunnen repositories bekijken en klonen.
teams.none_access = Geen toegang
-teams.none_access_helper = Leden kunnen op deze eenheid kunnen geen actie ondernemen of zien. Het heeft geen effect op openbare repositories.
-teams.general_access = Globale toegang
+teams.none_access_helper = De optie "geen toegang" heeft alleen effect op privé repositories.
+teams.general_access = Aangepaste toegang
follow_blocked_user = Je kunt deze organisatie niet volgen omdat deze organisatie je geblokkeerd heeft.
code = Broncode
form.name_reserved = De organisatienaam "%s" is gereserveerd.
diff --git a/options/locale/locale_pl-PL.ini b/options/locale/locale_pl-PL.ini
index 558ea72d07..c00a102a70 100644
--- a/options/locale/locale_pl-PL.ini
+++ b/options/locale/locale_pl-PL.ini
@@ -158,6 +158,13 @@ filter.is_mirror = Kopie lustrzane
more_items = Więcej elementów
filter.is_fork = Forki
test = Test
+error413 = Wyczerpano limit.
+new_repo.title = Nowe repozytorium
+new_migrate.title = Nowa migracja
+new_org.title = Nowa organizacja
+new_repo.link = Nowe repozytorium
+new_migrate.link = Nowa migracja
+new_org.link = Nowa organizacja
[aria]
navbar = Pasek nawigacji
@@ -616,6 +623,8 @@ unfollow=Przestań obserwować
user_bio=Biografia
disabled_public_activity=Ten użytkownik wyłączył publiczne wyświetlanie jego aktywności.
code = Kod
+block = Zablokuj
+unblock = Odblokuj
[settings]
@@ -859,6 +868,7 @@ comment_type_group_reference = Odniesienie
webauthn_nickname = Pseudonim
comment_type_group_dependency = Zależność
permissions_list = Uprawnienia:
+hints = Wskazówki
[repo]
owner=Właściciel
@@ -2072,6 +2082,16 @@ mirror_sync = zsynchronizowano
settings.web_hook_name_gitea = Gitea
packages = Pakiety
actions = Akcje
+issues.role.collaborator = Współpracownik
+pulls.made_using_agit = AGit
+activity.navbar.contributors = Współtwórcy
+diff.image.swipe = Przesuń
+settings.web_hook_name_feishu_only = Feishu
+escape_control_characters = Escape
+stars = Gwiazdki
+generated = Wygenerowano
+pulls.cmd_instruction_checkout_title = Kontrola
+settings.units.overview = Podsumowanie
[graphs]
@@ -2616,6 +2636,9 @@ packages.published = Opublikowane
config.mailer_protocol = Protokół
monitor.stats = Statystyki
users.remote = Zdalnie
+users.list_status_filter.reset = Zresetuj
+config_summary = Podsumowanie
+config_settings = Ustawienia
[action]
@@ -2707,8 +2730,18 @@ filter.container.untagged = Nieoznaczone
title = Pakiety
dependencies = Zależności
details = Szczegóły
+debian.repository.distributions = Dystrybucje
+npm.details.tag = Znacznik
+container.labels = Etykiety
+container.labels.key = Klucz
+debian.repository.architectures = Architektury
+debian.repository.components = Komponenty
+container.labels.value = Wartość
+npm.dependencies = Zależności
+rpm.repository.architectures = Architektury
[secrets]
+secrets = Sekrety
[actions]
@@ -2723,6 +2756,25 @@ runners.task_list.commit=Commit
runners.status.active=Aktywne
runs.commit=Commit
+status.skipped = Pominięto
+runs.status = Status
+status.waiting = Oczekiwanie
+status.unknown = Nieznane
+runs.scheduled = Zaplanowane
+runners.id = ID
+status.failure = Niepowodzenie
+status.cancelled = Anulowano
+runners.status = Status
+runners.status.unspecified = Nieznane
+runners.status.idle = Bezczynne
+variables = Zmienne
+status.success = Sukces
+runs.actor = Aktor
+runners.status.offline = Offline
+runners.version = Wersja
+runners.task_list.status = Status
+runners.labels = Etykiety
+status.blocked = Zablokowano
@@ -2733,6 +2785,8 @@ runs.commit=Commit
; Ordered by git filemode value, ascending. E.g. directory has "040000", normal file has "100644", …
symbolic_link=Dowiązanie symboliczne
executable_file = Plik wykonywalny
+submodule = Podmoduł
+directory = Katalog
diff --git a/options/locale/locale_pt-BR.ini b/options/locale/locale_pt-BR.ini
index 2e91669bad..56c7ce3bf3 100644
--- a/options/locale/locale_pt-BR.ini
+++ b/options/locale/locale_pt-BR.ini
@@ -158,6 +158,12 @@ filter.not_fork = Sem forks
filter.not_mirror = Sem espelhos
filter.not_template = Sem modelos
copy_generic = Copiar para a área de transferência
+new_repo.title = Novo repositório
+new_migrate.title = Nova migração
+new_org.title = Nova organização
+new_repo.link = Novo repositório
+new_migrate.link = Nova migração
+new_org.link = Nova organização
[aria]
navbar=Barra de navegação
@@ -461,6 +467,10 @@ change_unconfirmed_email = Se você colocou o endereço de e-mail errado durante
remember_me.compromised = O identificador de sessão foi invalidado, o que pode indicar que a sua conta foi comprometida. Verifique se não há atividades suspeitas em sua conta.
tab_signin = Iniciar sessão
tab_signup = Inscrever-se
+hint_register = Precisa de uma conta? Registre-se agora.
+sign_up_button = Registre-se agora.
+hint_login = Já possui uma conta? Faça login agora!
+sign_in_openid = Continuar com OpenID
[mail]
view_it_on=Veja em %s
@@ -530,6 +540,15 @@ team_invite.text_3=Nota: este convite foi destinado a %[1]s. Se você não estav
admin.new_user.text = Clique aqui para gerenciar este usuário no painel de administração.
admin.new_user.user_info = Informações do usuário
admin.new_user.subject = Novo usuário %s acabou de se cadastrar
+password_change.subject = A sua senha foi alterada
+password_change.text_1 = A senha de sua conta foi alterada recentemente.
+account_security_caution.text_2 = Caso não tenha realizado esta ação, a sua conta pode ter sido roubada. Entre em contato com os administradores do site.
+primary_mail_change.subject = O seu endereço de e-mail principal foi alterado
+primary_mail_change.text_1 = O endereço de e-mail principal de sua conta foi alterado para %[1]s. Você não receberá mais notificações relativas à sua conta neste endereço.
+totp_disabled.subject = A autenticação em dois fatores foi desabilitada
+removed_security_key.subject = Uma chave de segurança foi removida
+removed_security_key.text_1 = A chave de segurança "%[1]s" foi removida de sua conta.
+account_security_caution.text_1 = Caso tenha sido você, este e-mail pode ser ignorado.
[modal]
yes=Sim
@@ -677,6 +696,10 @@ block_user.detail = Por favor, entenda que se você bloquear este usuário, outr
followers_one = %d seguidor
following_one = %d seguindo
block_user.detail_1 = Você deixará de seguir este usuário.
+following.title.few = seguindo
+following.title.one = seguindo
+followers.title.one = seguidor
+followers.title.few = seguidores
[settings]
profile=Perfil
@@ -1004,6 +1027,8 @@ additional_repo_units_hint = Sugira habilitar unidades de repositório adicionai
additional_repo_units_hint_description = Exiba um botão "Adicionar mais unidades..." para repositórios que não possuem todas as unidades disponíveis habilitadas.
update_hints = Dicas de atualização
update_hints_success = As dicas foram atualizadas.
+keep_activity_private.description = A sua atividade pública estará visível apenas para si e para os administradores do servidor.
+language.localization_project = Ajude-nos a traduzir Forgejo para o seu idioma! Mais informações.
[repo]
owner=Proprietário
@@ -2701,6 +2726,12 @@ editor.commit_id_not_matching = O arquivo foi alterado durante a edição. Salve
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.
settings.rename_branch_failed_protected = Não foi possível renomar o ramo %s porque ele está protegido.
+milestones.filter_sort.name = Nome
+activity.published_prerelease_label = Pré-lançamento
+activity.published_tag_label = Etiqueta
+issues.author.tooltip.issue = Este(a) usuário(a) é o(a) autor(a) desta questão.
+no_eol.text = Sem EOL
+no_eol.tooltip = Não há um caractere de fim de linha no final do arquivo.
[graphs]
@@ -3746,6 +3777,7 @@ branch_kind = Buscar ramos…
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...
[munits.data]
b = B
diff --git a/options/locale/locale_pt-PT.ini b/options/locale/locale_pt-PT.ini
index ee5971edab..c553917050 100644
--- a/options/locale/locale_pt-PT.ini
+++ b/options/locale/locale_pt-PT.ini
@@ -158,7 +158,7 @@ filter.not_template = Não modelos
toggle_menu = Comutar menu
filter = Filtro
copy_generic = Copiar para a área de transferência
-test = Testar
+test = Teste
error413 = Você esgotou a sua quota.
new_repo.title = Novo repositório
new_migrate.title = Nova migração
@@ -2426,28 +2426,28 @@ settings.protect_enable_merge_desc=Qualquer pessoa com permissão de escrita tem
settings.protect_whitelist_committers=Lista de permissões para restringir os envios
settings.protect_whitelist_committers_desc=Apenas os utilizadores ou equipas constantes na lista terão permissão para enviar para este ramo (mas não poderão fazer envios forçados).
settings.protect_whitelist_deploy_keys=Dar permissão às chaves de instalação para terem acesso de escrita para enviar.
-settings.protect_whitelist_users=Utilizadores com permissão para enviar:
+settings.protect_whitelist_users=Utilizadores com permissão para enviar
settings.protect_whitelist_search_users=Procurar utilizadores…
-settings.protect_whitelist_teams=Equipas com permissão para enviar:
+settings.protect_whitelist_teams=Equipas com permissão para enviar
settings.protect_whitelist_search_teams=Procurar equipas…
settings.protect_merge_whitelist_committers=Habilitar lista de permissão para integrar
settings.protect_merge_whitelist_committers_desc=Permitir que somente utilizadores ou equipas constantes na lista de permissão possam executar, neste ramo, integrações constantes em pedidos de integração.
-settings.protect_merge_whitelist_users=Utilizadores com permissão para executar integrações:
-settings.protect_merge_whitelist_teams=Equipas com permissão para executar integrações:
+settings.protect_merge_whitelist_users=Utilizadores com permissão para executar integrações
+settings.protect_merge_whitelist_teams=Equipas com permissão para executar integrações
settings.protect_check_status_contexts=Habilitar verificação de estado
-settings.protect_status_check_patterns=Padrões de verificação de estado:
+settings.protect_status_check_patterns=Padrões de verificação de estado
settings.protect_status_check_patterns_desc=Insira padrões para especificar que verificações de estado têm de passar antes que os ramos possam ser integrados num ramo correspondente a esta regra. Cada linha especifíca um padrão. Os padrões não podem estar em branco.
settings.protect_check_status_contexts_desc=Exigir que as verificações de estado passem antes de ser aplicada a integração. Escolha quais as verificações de estado que têm de passar para que os ramos possam ser integrados num ramo que corresponda a esta regra. Quando habilitado, os cometimentos primeiro têm de ser enviados para outro ramo e depois integrados, ou então enviados imediatamente para um ramo que corresponda a esta regra, após terem passado as verificações de estado. Se não forem escolhidos quaisquer contextos, o último cometimento tem que ser bem sucedido, independentemente do contexto.
settings.protect_check_status_contexts_list=Verificações de estado encontradas na última semana para este repositório
settings.protect_status_check_matched=Correspondido
settings.protect_invalid_status_check_pattern=Padrão de verificação de estado inválido: "%s".
settings.protect_no_valid_status_check_patterns=Não existem padrões de verificação de estado válidos.
-settings.protect_required_approvals=Aprovações necessárias:
+settings.protect_required_approvals=Aprovações necessárias
settings.protect_required_approvals_desc=Permitir somente a integração constante de pedidos que tenham revisões positivas suficientes.
settings.protect_approvals_whitelist_enabled=Restringir aprovações a utilizadores ou equipas da lista de permissão
settings.protect_approvals_whitelist_enabled_desc=Somente as revisões dos utilizadores ou equipas da lista de permissão irão contar para as aprovações necessárias. Se não houver uma lista de permissão de aprovações, revisões de qualquer pessoa com acesso de escrita contam para as aprovações necessárias.
-settings.protect_approvals_whitelist_users=Revisores com permissão:
-settings.protect_approvals_whitelist_teams=Equipas com permissão para rever:
+settings.protect_approvals_whitelist_users=Revisores com permissão
+settings.protect_approvals_whitelist_teams=Equipas com permissão para rever
settings.dismiss_stale_approvals=Descartar aprovações obsoletas
settings.dismiss_stale_approvals_desc=Quando novos cometimentos que mudam o conteúdo do pedido de integração forem enviados para o ramo, as aprovações antigas serão descartadas.
settings.ignore_stale_approvals=Ignorar aprovações obsoletas
@@ -2457,9 +2457,9 @@ settings.require_signed_commits_desc=Rejeitar envios para este ramo que não est
settings.protect_branch_name_pattern=Padrão do nome do ramo protegido
settings.protect_branch_name_pattern_desc=Padrões de nomes de ramos protegidos. Consulte a documentação para ver a sintaxe dos padrões. Exemplos: main, release/**
settings.protect_patterns=Padrões
-settings.protect_protected_file_patterns=Padrões de ficheiros protegidos (separados com ponto e vírgula ";"):
+settings.protect_protected_file_patterns=Padrões de ficheiros protegidos (separados com ponto e vírgula ";")
settings.protect_protected_file_patterns_desc=Ficheiros protegidos não podem ser modificados imediatamente, mesmo que o utilizador tenha direitos para adicionar, editar ou eliminar ficheiros neste ramo. Múltiplos padrões podem ser separados com ponto e vírgula (";"). Veja a documentação em github.com/gobwas/glob para ver a sintaxe. Exemplos: .drone.yml, /docs/**/*.txt.
-settings.protect_unprotected_file_patterns=Padrões de ficheiros desprotegidos (separados com ponto e vírgula ";"):
+settings.protect_unprotected_file_patterns=Padrões de ficheiros desprotegidos (separados com ponto e vírgula ";")
settings.protect_unprotected_file_patterns_desc=Ficheiros desprotegidos que podem ser modificados imediatamente se o utilizador tiver direitos de escrita, contornando a restrição no envio. Padrões múltiplos podem ser separados com ponto e vírgula (";"). Veja a documentação em github.com/gobwas/glob para ver a sintaxe. Exemplos: .drone.yml, /docs/**/*.txt.
settings.add_protected_branch=Habilitar salvaguarda
settings.delete_protected_branch=Desabilitar salvaguarda
@@ -2811,9 +2811,14 @@ activity.published_prerelease_label = Pré-lançamento
activity.published_tag_label = Etiqueta
settings.pull_mirror_sync_quota_exceeded = A quota foi excedida, as modificações não vão ser puxadas.
settings.transfer_quota_exceeded = O novo proprietário (%s) excedeu a quota. O repositório não foi transferido.
-no_eol.text = Não existe um EOL
+no_eol.text = Sem EOL
no_eol.tooltip = Este ficheiro não contém, no final, um caractere de fim da linha.
pulls.cmd_instruction_merge_warning = Aviso: A opção "Auto-identificar integração manual" não está habilitada para este repositório, depois vai ter de marcar este pedido de integração como tendo sido executado manualmente.
+mirror_public_key = Chave de SSH pública
+mirror_use_ssh.text = Utilizar a autenticação SSH
+mirror_denied_combination = Não é possível usar a autenticação baseada em chave pública e senha em combinação.
+settings.mirror_settings.push_mirror.copy_public_key = Copiar chave pública
+settings.mirror_settings.push_mirror.none_ssh = Nenhuma
[graphs]
component_loading=A carregar %s...
@@ -2902,8 +2907,8 @@ teams.leave.detail=Sair de %s?
teams.can_create_org_repo=Criar repositórios
teams.can_create_org_repo_helper=Os membros podem criar novos repositórios na organização. O criador terá acesso de administrador ao novo repositório.
teams.none_access=Sem acesso
-teams.none_access_helper=Os membros não podem ver nem fazer qualquer outra operação nesta unidade. Não tem qualquer efeito nos repositórios públicos.
-teams.general_access=Acesso geral
+teams.none_access_helper=A opção "sem acesso" só tem efeito nos repositórios privados.
+teams.general_access=Acesso personalizado
teams.general_access_helper=As permissões dos membros serão decididas pela tabela de permissões abaixo.
teams.read_access=Ler
teams.read_access_helper=Os membros podem ver e clonar os repositórios da equipa.
@@ -3926,7 +3931,7 @@ code_search_unavailable = A pesquisa de código não está disponível, neste mo
exact = Fiel
exact_tooltip = Incluir somente os resultados que correspondam rigorosamente ao termo de pesquisa
issue_kind = Procurar questões...
-pull_kind = Procurar puxadas...
+pull_kind = Procurar pedidos de integração...
union = Palavras-chave
union_tooltip = Incluir resultados correspondentes a qualquer das palavras-chave separadas por espaços em branco
milestone_kind = Procurar etapas...
diff --git a/options/locale/locale_ru-RU.ini b/options/locale/locale_ru-RU.ini
index c2b51e1cd2..29bdc1f2cd 100644
--- a/options/locale/locale_ru-RU.ini
+++ b/options/locale/locale_ru-RU.ini
@@ -408,10 +408,10 @@ forgot_password_title=Восстановление пароля
forgot_password=Забыли пароль?
sign_up_now=Нужна учётная запись? Зарегистрируйтесь.
sign_up_successful=Учётная запись успешно создана. Добро пожаловать!
-confirmation_mail_sent_prompt=Новое письмо для подтверждения направлено на %s. Пожалуйста, проверьте ваш почтовый ящик в течение %s для завершения регистрации.
+confirmation_mail_sent_prompt=Новое письмо для подтверждения было отправлено на %s. Для завершения регистрации, пожалуйста, перейдите по ссылке внутри в течение %s. Если был введён неправильный адрес, вы можете войти и изменить его.
must_change_password=Обновите пароль
allow_password_change=Требовать смену пароля пользователем (рекомендуется)
-reset_password_mail_sent_prompt=Письмо с подтверждением отправлено на %s. Пожалуйста, проверьте входящую почту в течение %s, чтобы завершить процесс восстановления учётной записи.
+reset_password_mail_sent_prompt=Письмо для подтверждения было отправлено на %s. Чтобы выполнить восстановление учётной записи, перейдите по ссылке внутри в течение %s.
active_your_account=Активация учётной записи
account_activated=Учётная запись активирована
prohibit_login=Учётная запись приостановлена
@@ -824,7 +824,7 @@ add_new_email=Добавить адрес эл. почты
add_new_openid=Добавить новый URI OpenID
add_email=Добавить адрес эл. почты
add_openid=Добавить адрес OpenID
-add_email_confirmation_sent=Письмо для подтверждения отправлено на «%s». Пожалуйста, проверьте ваш почтовый ящик в течение %s, чтобы завершить процесс подтверждения.
+add_email_confirmation_sent=Письмо для подтверждения отправлено на «%s». Чтобы подтвердить этот адрес эл. почты, пожалуйста, перейдите по ссылке внутри в течение %s.
add_email_success=Добавлен новый адрес эл. почты.
email_preference_set_success=Настройки эл. почты успешно установлены.
add_openid_success=Добавлен новый адрес OpenID.
@@ -1834,10 +1834,10 @@ pulls.cannot_merge_work_in_progress=Этот запрос слияния пом
pulls.still_in_progress=Всё ещё в процессе?
pulls.add_prefix=Добавить префикс %s
pulls.remove_prefix=Удалить префикс %s
-pulls.data_broken=Содержимое этого слияния нарушено из-за удаления информации об ответвлении.
+pulls.data_broken=Содержимое этого слияния нарушено из-за отсутствия информации об ответвлении.
pulls.files_conflicted=Этот запрос на слияние имеет изменения конфликтующие с целевой ветвью.
pulls.is_checking=Продолжается проверка конфликтов. Повторите попытку позже.
-pulls.is_ancestor=Эта ветвь уже включена в целевую ветвь. Объединять нечего.
+pulls.is_ancestor=Содержимое этой ветви уже включено в целевую ветвь. Объединять нечего.
pulls.is_empty=Изменения из этой ветви уже есть в целевой ветви. Получится пустой коммит.
pulls.required_status_check_failed=Некоторые необходимые проверки не были пройдены.
pulls.required_status_check_missing=Отсутствуют некоторые обязательные проверки.
@@ -2101,7 +2101,7 @@ settings.mirror_settings.direction=Направление
settings.mirror_settings.direction.pull=Отправка
settings.mirror_settings.direction.push=Отправка
settings.mirror_settings.last_update=Последнее обновление
-settings.mirror_settings.push_mirror.none=Push-зеркало не добавлено
+settings.mirror_settings.push_mirror.none=Push-зеркала не настроены
settings.mirror_settings.push_mirror.remote_url=Ссылка на удалённый Git-репозиторий
settings.mirror_settings.push_mirror.add=Добавить push-зеркало
settings.mirror_settings.push_mirror.edit_sync_time=Изменить интервал синхронизации зеркала
@@ -2268,42 +2268,42 @@ settings.event_push_only=События отправки
settings.event_send_everything=Все события
settings.event_choose=Другие события…
settings.event_header_repository=События репозитория
-settings.event_create=Создать
-settings.event_create_desc=Ветвь или тэг созданы.
-settings.event_delete=Удалить
-settings.event_delete_desc=Ветвь или тег удалены.
+settings.event_create=Создание
+settings.event_create_desc=Создание ветвей и тегов.
+settings.event_delete=Удаление
+settings.event_delete_desc=Удаление ветвей и тегов.
settings.event_fork=Ответвление
-settings.event_fork_desc=Ответвление создано.
+settings.event_fork_desc=Создание ответвлений репозиториев.
settings.event_wiki=Вики
-settings.event_wiki_desc=Страница вики создана, переименована, изменена или удалена.
+settings.event_wiki_desc=Создание, переименование, изменение и удаление страниц вики.
settings.event_release=Выпуск
-settings.event_release_desc=Выпуск опубликован, обновлён или удалён из репозитория.
-settings.event_push=Отправка
-settings.event_push_desc=Отправка в репозиторий.
+settings.event_release_desc=Публикация, изменение и удаление выпусков.
+settings.event_push=Отправка изменений
+settings.event_push_desc=Отправка изменений в репозиторий через Git.
settings.event_repository=Репозиторий
-settings.event_repository_desc=Репозиторий создан или удален.
+settings.event_repository_desc=Создание и удаление репозиториев.
settings.event_header_issue=События задач
settings.event_issues=Задачи
-settings.event_issues_desc=Задача открыта, закрыта, переоткрыта или отредактирована.
+settings.event_issues_desc=Создание, закрытие, переоткрытие и изменение задач.
settings.event_issue_assign=Назначение задач
-settings.event_issue_assign_desc=Задача назначена или снята с назначения.
-settings.event_issue_label=Изменение меток задач
-settings.event_issue_label_desc=Метки задач обновлены или очищены.
-settings.event_issue_milestone=Добавление задач в этапы
-settings.event_issue_milestone_desc=Этап или этап выполнения задания.
-settings.event_issue_comment=Комментарии в задаче
-settings.event_issue_comment_desc=Комментарий создан, изменён или удалён.
+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_comment=Комментарии задач
+settings.event_issue_comment_desc=Добавление, изменение и удаление комментариев в задачах.
settings.event_header_pull_request=События запросов слияний
-settings.event_pull_request=Запрос на слияние
-settings.event_pull_request_desc=Запрос на слияние открыт, закрыт, переоткрыт или отредактирован.
-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_comment=Комментарий на запрос на слияние
-settings.event_pull_request_comment_desc=Комментарий запроса на слияние создан, отредактирован или удалён.
+settings.event_pull_request=Запросы слияния
+settings.event_pull_request_desc=Создание, закрытие, переоткрытие и изменение запросов слияния.
+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_comment=Комментарии запросов на слияние
+settings.event_pull_request_comment_desc=Добавление, изменение и удаление комментариев в запросах на слияние.
settings.event_pull_request_review=Запрос на слияние рассмотрен
settings.event_pull_request_review_desc=Запрос на слияние утвержден, отклонён или оставлен комментарий.
settings.event_pull_request_sync=Запрос на слияние синхронизирован
@@ -2380,28 +2380,28 @@ settings.protect_enable_merge_desc=Все, у кого есть доступ н
settings.protect_whitelist_committers=Ограничение отправки по белому списку
settings.protect_whitelist_committers_desc=Только пользователям или командам из белого списка будет разрешена отправка изменений в эту ветвь (но не принудительная отправка).
settings.protect_whitelist_deploy_keys=Белый список развёртываемых ключей с доступом на запись в push.
-settings.protect_whitelist_users=Пользователи, которые могут отправлять изменения в эту ветвь:
+settings.protect_whitelist_users=Пользователи, которые могут отправлять изменения в эту ветвь
settings.protect_whitelist_search_users=Поиск пользователей…
-settings.protect_whitelist_teams=Команды, члены которых могут отправлять изменения в эту ветвь:
+settings.protect_whitelist_teams=Команды, члены которых могут отправлять изменения в эту ветвь
settings.protect_whitelist_search_teams=Поиск команд…
settings.protect_merge_whitelist_committers=Ограничить право на слияние белым списком
settings.protect_merge_whitelist_committers_desc=Разрешить принимать запросы на слияние в эту ветвь только пользователям и командам из «белого списка».
-settings.protect_merge_whitelist_users=Пользователи с правом на слияние:
-settings.protect_merge_whitelist_teams=Команды, члены которых обладают правом на слияние:
+settings.protect_merge_whitelist_users=Пользователи с правом на слияние
+settings.protect_merge_whitelist_teams=Команды, члены которых обладают правом на слияние
settings.protect_check_status_contexts=Включить проверку состояния
-settings.protect_status_check_patterns=Шаблоны проверки состояния:
+settings.protect_status_check_patterns=Шаблоны проверки состояния
settings.protect_status_check_patterns_desc=Добавьте шаблоны, чтобы указать, какие проверки состояния должны быть пройдены, прежде чем ветви могут быть объединены в ветвь, соответствующую этому правилу. В каждой строке указывается шаблон. Шаблоны не могут быть пустыми.
settings.protect_check_status_contexts_desc=Требовать успешнее прохождение проверок перед слиянием. Коммиты сначала должны будут быть перемещены в другую ветвь, а затем объединены или перемещены непосредственно в ветвь, соответствующую этому правилу, после прохождения проверки состояния. Если нет соответствующих контекстов, то последний коммит должен быть успешным вне зависимости от контекста.
settings.protect_check_status_contexts_list=Проверки состояния за последнюю неделю для этого репозитория
settings.protect_status_check_matched=Совпало
settings.protect_invalid_status_check_pattern=Неверный шаблон проверки состояния: «%s».
settings.protect_no_valid_status_check_patterns=Нет допустимых шаблонов проверки состояния.
-settings.protect_required_approvals=Необходимые одобрения:
+settings.protect_required_approvals=Необходимые одобрения
settings.protect_required_approvals_desc=Разрешить принятие запроса на слияние только с достаточным количеством положительных отзывов.
settings.protect_approvals_whitelist_enabled=Ограничить утверждения белым списком пользователей или команд
settings.protect_approvals_whitelist_enabled_desc=Только отзывы пользователей или команд из белого списка будут засчитаны до требуемых утверждений. Белый список без одобрения отзывов от всех, у кого есть количество прав на запись, к требуемым утверждениям.
-settings.protect_approvals_whitelist_users=Рецензенты в белом списке:
-settings.protect_approvals_whitelist_teams=Команды в белом списке для рецензирования:
+settings.protect_approvals_whitelist_users=Допущенные рецензенты
+settings.protect_approvals_whitelist_teams=Допущенные к рецензированию команды
settings.dismiss_stale_approvals=Отклонить устаревшие разрешения
settings.dismiss_stale_approvals_desc=Когда новые коммиты, изменяющие содержимое запроса на слияние, отправляются в ветвь, старые разрешения будут отклонены.
settings.require_signed_commits=Требовать подпись коммитов
@@ -2409,9 +2409,9 @@ settings.require_signed_commits_desc=Отклонить отправку изм
settings.protect_branch_name_pattern=Шаблон названий защищённых ветвей
settings.protect_branch_name_pattern_desc=Шаблоны названий защищённых ветвей. О синтаксисе шаблонов читайте в документации. Примеры: main, release/**
settings.protect_patterns=Шаблоны
-settings.protect_protected_file_patterns=Шаблоны защищённых файлов, разделённые точкой с запятой «;»:
+settings.protect_protected_file_patterns=Шаблоны защищённых файлов, разделённые точкой с запятой «;»
settings.protect_protected_file_patterns_desc=Защищенные файлы нельзя изменить напрямую, даже если пользователь имеет право добавлять, редактировать или удалять файлы в этой ветви. Можно указать несколько шаблонов, разделяя их точкой с запятой («;»). О синтаксисе шаблонов читайте в документации github.com/gobwas/glob . Примеры: .drone.yml, /docs/**/*.txt.
-settings.protect_unprotected_file_patterns=Шаблоны незащищённых файлов, разделённые точкой с запятой «;»:
+settings.protect_unprotected_file_patterns=Шаблоны незащищённых файлов, разделённые точкой с запятой «;»
settings.protect_unprotected_file_patterns_desc=Незащищенные файлы, которые допускается изменять напрямую, если пользователь имеет право на запись, несмотря на ограничение отправки изменений. Можно указать несколько шаблонов, разделяя их точкой с запятой («;»). О синтаксисе шаблонов читайте в документации github.com/gobwas/glob . Примеры: .drone.yml, /docs/**/*.txt.
settings.add_protected_branch=Включить защиту
settings.delete_protected_branch=Отключить защиту
@@ -2815,8 +2815,16 @@ activity.published_tag_label = Тег
settings.transfer_quota_exceeded = У нового владельца (%s) превышена квота. Репозиторий не будет передан.
settings.pull_mirror_sync_quota_exceeded = Квота исчерпана, синхронизация невозможна.
no_eol.text = Без EOL
-no_eol.tooltip = В этом файле отсутствует завершающий символ конца строки.
+no_eol.tooltip = В файле отсутствует завершающий символ конца строки.
pulls.cmd_instruction_merge_warning = Обратите внимание: «Автоопределение ручного слияния» не включено в этом репозитории. После выполнения слияния вам потребуется пометить этот запрос как принятый вручную.
+mirror_use_ssh.not_available = Аутентификация по SSH недоступна.
+settings.protect_new_rule = Создать новое правило доступа к ветвям
+mirror_public_key = Публичный ключ SSH
+mirror_use_ssh.text = Аутентификация по SSH
+mirror_use_ssh.helper = Forgejo будет синхронизировать изменения в этом репозитории Git по SSH. При включении этой опции будет создана пара ключей. Вам потребуется удостоверится, что с созданным публичным ключом Forgejo сможет отправлять изменения в удалённый репозиторий. Аутентификация по паролю недоступна при использовании этой опции.
+mirror_denied_combination = Невозможно одновременно использовать аутентификацию по SSH и по паролю.
+settings.mirror_settings.push_mirror.none_ssh = Нет
+settings.mirror_settings.push_mirror.copy_public_key = Копировать публичный ключ
[graphs]
@@ -2898,13 +2906,13 @@ teams.leave.detail=Вы точно хотите покинуть команду
teams.can_create_org_repo=Создать репозитории
teams.can_create_org_repo_helper=Участники могут создавать новые репозитории в организации. Создатель получит администраторский доступ к новому репозиторию.
teams.none_access=Нет доступа
-teams.none_access_helper=Участники не могут просматривать или выполнять любые другие действия над этим элементом. Это не влияет на публичные репозитории.
+teams.none_access_helper=Настройка «нет доступа» полезна лишь в частных репозиториях.
teams.general_access_helper=Разрешения участников будут определяться таблицей разрешений ниже.
teams.read_access=Чтение
teams.read_access_helper=Участники могут просматривать и клонировать командные репозитории.
teams.write_access=Запись
teams.write_access_helper=Участники могут читать и выполнять push в командные репозитории.
-teams.admin_access=Доступ администратора
+teams.admin_access=Административный доступ
teams.admin_access_helper=Участники могут выполнять pull, push в командные репозитории и добавлять соучастников в команду.
teams.no_desc=Эта группа не имеет описания
teams.settings=Настройки
@@ -3372,7 +3380,7 @@ config.cache_interval=Интервал кэширования
config.cache_conn=Подключение кэша
config.cache_item_ttl=Время жизни данных в кеше
-config.session_config=Конфигурация сессии
+config.session_config=Конфигурация сессий
config.session_provider=Провайдер сессии
config.provider_config=Конфигурация провайдера
config.cookie_name=Имя файла cookie
diff --git a/options/locale/locale_zh-CN.ini b/options/locale/locale_zh-CN.ini
index 5c7cc5f39e..a48c33568a 100644
--- a/options/locale/locale_zh-CN.ini
+++ b/options/locale/locale_zh-CN.ini
@@ -730,11 +730,11 @@ applications=应用
orgs=组织
repos=仓库列表
delete=删除帐户
-twofa=两步验证
+twofa=两步验证(TOTP)
account_link=已绑定的帐户
organization=组织
uid=UID
-webauthn=安全密钥
+webauthn=两步验证(安全密钥)
public_profile=公开信息
biography_placeholder=告诉我们一点您自己! (您可以使用Markdown)
@@ -972,7 +972,7 @@ twofa_desc=两步验证可以加强你的账号安全性。
twofa_recovery_tip=如果您丢失了您的设备,您将能够使用一次性恢复密钥来重新获得对您账户的访问。
twofa_is_enrolled=你的账号已启用了两步验证。
twofa_not_enrolled=你的账号未开启两步验证。
-twofa_disable=禁用两步认证
+twofa_disable=禁用两步验证
twofa_scratch_token_regenerate=重新生成一次性恢复令牌
twofa_scratch_token_regenerated=您的临时令牌现在是 %s。将其存放在安全的地方,它将不会再次显示。
twofa_enroll=启用两步验证
@@ -2425,28 +2425,28 @@ settings.protect_enable_merge_desc=任何具有写入权限的人都可以将合
settings.protect_whitelist_committers=受白名单限制的推送
settings.protect_whitelist_committers_desc=只有列入白名单的用户或团队才能被允许推送到此分支(但不能强行推送)。
settings.protect_whitelist_deploy_keys=具有推送权限的部署密钥白名单。
-settings.protect_whitelist_users=推送白名单用户:
+settings.protect_whitelist_users=推送白名单用户
settings.protect_whitelist_search_users=搜索用户...
-settings.protect_whitelist_teams=推送白名单团队:
+settings.protect_whitelist_teams=推送白名单团队
settings.protect_whitelist_search_teams=搜索团队...
settings.protect_merge_whitelist_committers=启用合并白名单
settings.protect_merge_whitelist_committers_desc=仅允许白名单用户或团队合并合并请求到此分支。
-settings.protect_merge_whitelist_users=合并白名单用户:
-settings.protect_merge_whitelist_teams=合并白名单团队:
+settings.protect_merge_whitelist_users=合并白名单用户
+settings.protect_merge_whitelist_teams=合并白名单团队
settings.protect_check_status_contexts=启用状态检查
-settings.protect_status_check_patterns=状态检查模式:
+settings.protect_status_check_patterns=状态检查模式
settings.protect_status_check_patterns_desc=输入模式,指定哪些状态检查必须通过,才能将分支合并到符合此规则的分支中去。每一行指定一个模式,模式不能为空。
settings.protect_check_status_contexts_desc=要求状态检查通过才能合并,选择必须先通过哪些状态检查才能合并。如果启用,推送的合并请求必须先通过状态检查才能够合并到对应的分支。如果没有选择具体的状态检查上下文,则所有的状态检查都通过才能合并。
settings.protect_check_status_contexts_list=此仓库上周进行过的状态检查
settings.protect_status_check_matched=匹配
settings.protect_invalid_status_check_pattern=无效的状态检查规则:“%s”。
settings.protect_no_valid_status_check_patterns=没有有效的状态检查规则。
-settings.protect_required_approvals=所需的批准:
+settings.protect_required_approvals=所需的批准
settings.protect_required_approvals_desc=只允许合并有足够审核人数的拉取请求。
settings.protect_approvals_whitelist_enabled=批准仅限列入白名单的用户或团队
settings.protect_approvals_whitelist_enabled_desc=只有白名单用户或团队的审核才能计数。 没有批准的白名单,来自任何有写访问权限的人的审核都将计数。
-settings.protect_approvals_whitelist_users=审查者白名单:
-settings.protect_approvals_whitelist_teams=审查团队白名单:
+settings.protect_approvals_whitelist_users=审查者白名单
+settings.protect_approvals_whitelist_teams=审查团队白名单
settings.dismiss_stale_approvals=取消过时的批准
settings.dismiss_stale_approvals_desc=当新的提交更改合并请求内容被推送到分支时,旧的批准将被撤销。
settings.ignore_stale_approvals=忽略过期批准
@@ -2456,9 +2456,9 @@ settings.require_signed_commits_desc=拒绝推送未签名或无法验证的提
settings.protect_branch_name_pattern=受保护的分支名称正则
settings.protect_branch_name_pattern_desc=分支保护的名称匹配规则。语法请参阅 文档 。如:main, release/**
settings.protect_patterns=规则
-settings.protect_protected_file_patterns=受保护的文件模式(使用半角分号“;”分隔):
+settings.protect_protected_file_patterns=受保护的文件模式(使用半角分号“;”分隔)
settings.protect_protected_file_patterns_desc=即使用户有权添加、编辑或删除此分支中的文件,也不允许直接更改受保护的文件。 可以使用半角分号(“;”)分隔多个模式。 见github.com/gobwas/glob文档了解模式语法。例如: .drone.yml, /docs/**/*.txt。
-settings.protect_unprotected_file_patterns=不受保护的文件模式(使用半角分号“;”分隔):
+settings.protect_unprotected_file_patterns=不受保护的文件模式(使用半角分号“;”分隔)
settings.protect_unprotected_file_patterns_desc=在用户有写权限的情况下允许绕过限制,直接修改设为不保护的文件。如有多个匹配模式,则可用半角分号(“;”)分隔开。见 github.com/gobwas/glob 的文档以了解匹配模式的格式。例子: .drone.yml、/docs/**/*.txt。
settings.add_protected_branch=启用保护
settings.delete_protected_branch=禁用保护
@@ -2828,6 +2828,14 @@ activity.published_tag_label = 标签
activity.published_prerelease_label = 预发行
activity.commit = 提交活动
pulls.cmd_instruction_merge_warning = 警告:未启用此仓库的“自动检测手动合并”设置,您之后必须将此合并请求标记为手动合并。
+settings.protect_new_rule = 创建新的分支保护规则
+mirror_denied_combination = 不能同时使用公钥和基于密码的验证。
+mirror_public_key = 公共 SSH 密钥
+mirror_use_ssh.text = 使用 SSH 验证
+mirror_use_ssh.helper = 选择此选项后,Forgejo 将通过 SSH 以 Git 方式镜像仓库,并为您创建一个密钥对。您必须确保已授权生成的公钥推送到目标仓库。选择此选项时,不能使用基于密码的授权。
+settings.mirror_settings.push_mirror.copy_public_key = 复制公钥
+settings.mirror_settings.push_mirror.none_ssh = 无
+mirror_use_ssh.not_available = SSH 验证不可用。
[graphs]
component_loading=正在加载 %s...
diff --git a/options/locale/locale_zh-TW.ini b/options/locale/locale_zh-TW.ini
index 0c317c7e32..49a05c1041 100644
--- a/options/locale/locale_zh-TW.ini
+++ b/options/locale/locale_zh-TW.ini
@@ -338,6 +338,7 @@ allow_dots_in_usernames = 允許使用者在使用者名稱中使用英文句點
enable_update_checker_helper_forgejo = 透過檢查 release.forgejo.org 的 DNS TXT 記錄來定期檢查新的 Forgejo 版本。
app_slogan = 站點標語
app_slogan_helper = 在這裡輸入您站點的標語。留空來停用。
+allow_only_external_registration = 僅允許透過外部服務註冊
[home]
uname_holder=帳號名稱或電子信箱
@@ -551,6 +552,7 @@ removed_security_key.subject = 已移除一把安全金鑰
removed_security_key.text_1 = 從您的帳號移除了安全金鑰「%[1]s」。
account_security_caution.text_1 = 如果這是您,那您可以安全的忽略這則電子郵件。
account_security_caution.text_2 = 如果這不是您,您的帳號已被盜用。請連絡網站管理員。
+totp_disabled.text_1 = 你帳號上的基於時間的一次性密碼(TOTP)剛剛已停用。
[modal]
yes=是
@@ -2711,6 +2713,14 @@ settings.branches.switch_default_branch = 切換預設分支
settings.graphql_url = GraphQL 網址
activity.commit = 提交活動
settings.event_pull_request_approvals = 合併請求批准
+issues.dependency.issue_batch_close_blocked = 無法批次關閉選定的問題,因為問題 #%d 仍然具有開放的依賴項
+milestones.new_subheader = 里程碑可以幫助你組織問題並追蹤其進度。
+comments.edit.already_changed = 無法儲存對評論的變更。內容似乎已被其他使用者變更。請重新整理頁面並再次嘗試編輯以避免覆蓋其變更
+activity.published_prerelease_label = 預發行
+no_eol.tooltip = 此檔案不包含行尾字元。
+n_release_one = %s 發行
+n_release_few = %s 發行
+no_eol.text = 無檔案結尾符
[graphs]
component_loading = 載入中 %s…
@@ -2839,6 +2849,8 @@ teams.invite.by=邀請人 %s
teams.invite.description=請點擊下方按鈕加入團隊。
open_dashboard = 開啟儀錶板
settings.email = 聯絡電子郵件
+form.name_pattern_not_allowed = 組織名稱中不允許使用式樣「%s」。
+follow_blocked_user = 你無法關注此組織,因為此組織已封鎖你。
[admin]
dashboard=資訊主頁
@@ -3363,6 +3375,13 @@ users.reserved = 已保留
auths.tips.gmail_settings = Gmail 設定:
config.app_data_path = 應用程式資料路徑
integrations = 整合
+emails.delete_primary_email_error = 你無法刪除主要電子郵件。
+emails.deletion_success = 該電子郵件地址已被刪除。
+emails.delete_desc = 你確定你要刪除此電子郵件地址嗎?
+dashboard.start_schedule_tasks = 開始計劃 Actions 任務
+auths.default_domain_name = 用於電子郵件地址的預設域名
+users.organization_creation.description = 允許建立新組織。
+config.app_slogan = 站點口號
[action]
@@ -3599,6 +3618,22 @@ arch.version.description = 描述
arch.version.properties = 版本屬性
arch.version.backup = 備份
arch.version.conflicts = 衝突
+npm.dependencies.bundle = 已捆綁的依賴項
+arch.version.provides = 提供
+arch.pacman.repo.multi.item = %s 的組態
+arch.version.replaces = 取代
+arch.version.checkdepends = 檢查依賴
+arch.version.optdepends = 選擇性依賴
+arch.version.depends = 依賴
+owner.settings.cargo.rebuild.no_index = 無法重建,未初始化任何索引。
+cran.registry = 在你的 Rprofile.site 檔案中設定此註冊表:
+debian.repository.distributions = 發行版
+owner.settings.chef.keypair.description = 需要金鑰對才能向 Chef 註冊表進行身份驗證。如果你之前已經產生過金鑰對,產生新的金鑰對將會丟棄舊的金鑰對。
+owner.settings.cargo.initialize.description = 使用 Cargo 註冊表需要一個特殊的索引 Git 儲存庫。使用此選項將會(重新)建立儲存庫並自動配置它。
+rpm.repository.multiple_groups = 此套件可以在多個群組中使用。
+rpm.distros.suse = 在基於 SUSE 的發行版上
+rpm.distros.redhat = 在基於 RedHat 的發行版上
+owner.settings.cargo.rebuild.description = 如果索引與儲存的 Cargo 套件不同步,重建可能會很有用。
[secrets]
secrets=Secret
@@ -3702,6 +3737,18 @@ status.cancelled = 已取消
runs.workflow = 工作流程
runs.actors_no_select = 所有操作者
runs.actor = 操作者
+workflow.dispatch.input_required = 需要輸入「%s」的值。
+workflow.dispatch.run = 執行工作流程
+workflow.dispatch.trigger_found = 此工作流程有一個 workflow_dispatch 事件觸發器。
+workflow.dispatch.invalid_input_type = 無效的輸入類型「%s」。
+workflow.dispatch.warn_input_limit = 僅顯示前 %d 個輸入。
+runs.no_job = 工作流程必須包含至少一項作業
+runs.expire_log_message = 日誌已被清除,因為它們太舊了。
+runs.no_job_without_needs = 工作流程必須包含至少一項沒有依賴性的作業。
+runs.no_matching_online_runner_helper = 沒有在線執行器匹配標籤:%s
+workflow.dispatch.success = 已成功請求工作流程運行。
+runs.no_workflows.documentation = 有關 Forgejo Actions 的更多資訊,請參閱文件。
+runners.reset_registration_token = 重置註冊符記
[projects]
@@ -3755,4 +3802,12 @@ kib = KiB
mib = MiB
gib = GiB
tib = TiB
-pib = PiB
\ No newline at end of file
+pib = PiB
+
+[markup]
+filepreview.truncated = 預覽已被截斷
+filepreview.lines = %[3]s 中的第 %[1]d 至 %[2]d 行
+filepreview.line = %[2]s 中的第 %[1]d 行
+
+[translation_meta]
+test = 好的
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index ac7b111d19..5cfd4bbe7b 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -64,7 +64,7 @@
"@eslint-community/eslint-plugin-eslint-comments": "4.4.0",
"@playwright/test": "1.46.1",
"@stoplight/spectral-cli": "6.11.1",
- "@stylistic/eslint-plugin-js": "2.6.4",
+ "@stylistic/eslint-plugin-js": "2.6.5",
"@stylistic/stylelint-plugin": "3.0.1",
"@vitejs/plugin-vue": "5.1.1",
"@vitest/coverage-v8": "2.0.5",
@@ -83,12 +83,12 @@
"eslint-plugin-vitest-globals": "1.5.0",
"eslint-plugin-vue": "9.27.0",
"eslint-plugin-vue-scoped-css": "2.8.1",
- "eslint-plugin-wc": "2.1.0",
- "happy-dom": "15.0.0",
+ "eslint-plugin-wc": "2.1.1",
+ "happy-dom": "15.3.1",
"license-checker-rseidelsohn": "4.3.0",
"markdownlint-cli": "0.41.0",
"postcss-html": "1.7.0",
- "stylelint": "16.8.2",
+ "stylelint": "16.9.0",
"stylelint-declaration-block-no-ignored-properties": "2.8.0",
"stylelint-declaration-strict-value": "1.10.6",
"stylelint-value-no-unknown-custom-properties": "6.0.1",
@@ -4401,9 +4401,9 @@
}
},
"node_modules/@stylistic/eslint-plugin-js": {
- "version": "2.6.4",
- "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin-js/-/eslint-plugin-js-2.6.4.tgz",
- "integrity": "sha512-kx1hS3xTvzxZLdr/DCU/dLBE++vcP97sHeEFX2QXhk1Ipa4K1rzPOLw1HCbf4mU3s+7kHP5eYpDe+QteEOFLug==",
+ "version": "2.6.5",
+ "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin-js/-/eslint-plugin-js-2.6.5.tgz",
+ "integrity": "sha512-RSXHczNa9RO5aLKUB+3P3iLOtM52rfIt11zxnmp5qdXUs2ve7rPAWVoom9krdzYNSARnNpeKH5c5uQ3VuHoEaA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -9062,9 +9062,9 @@
}
},
"node_modules/eslint-plugin-wc": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-wc/-/eslint-plugin-wc-2.1.0.tgz",
- "integrity": "sha512-s/BGOtmpgQ2yifR6EC1OM9t0DwYLgg4ZAL07Kw4eXvBb5TYaPafI+65tswvnZvhH8FqcjERLbBZPPvYsvinkfg==",
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-wc/-/eslint-plugin-wc-2.1.1.tgz",
+ "integrity": "sha512-GfJo05ZgWfwAFbW6Gkf+9CMOIU6fmbd3b4nm+PKESHgUdUTmi7vawlELCrzOhdiQjXUPZxDfFIVxYt9D/v/GdQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -9926,9 +9926,9 @@
}
},
"node_modules/happy-dom": {
- "version": "15.0.0",
- "resolved": "https://registry.npmjs.org/happy-dom/-/happy-dom-15.0.0.tgz",
- "integrity": "sha512-DsvANUcxxY20iCo3Yllm7dqwzPVPduGfVFxa7mONwMBLczFeQgkN0LpDir1kIY322JMh+hrcPV3aGLyHCESDlA==",
+ "version": "15.3.1",
+ "resolved": "https://registry.npmjs.org/happy-dom/-/happy-dom-15.3.1.tgz",
+ "integrity": "sha512-3nwi8abkBUHzdq/6UhseErN6b6J1obWZFl5XKKMUEp+OL4Vq7AIiLSVDmXQp83qykJHjhdrBxsae3CTA5nB36A==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -11819,9 +11819,9 @@
}
},
"node_modules/micromatch": {
- "version": "4.0.7",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz",
- "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==",
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
+ "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
"license": "MIT",
"dependencies": {
"braces": "^3.0.3",
@@ -14596,9 +14596,9 @@
"license": "ISC"
},
"node_modules/stylelint": {
- "version": "16.8.2",
- "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.8.2.tgz",
- "integrity": "sha512-fInKATippQhcSm7AB+T32GpI+626yohrg33GkFT/5jzliUw5qhlwZq2UQQwgl3HsHrf09oeARi0ZwgY/UWEv9A==",
+ "version": "16.9.0",
+ "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.9.0.tgz",
+ "integrity": "sha512-31Nm3WjxGOBGpQqF43o3wO9L5AC36TPIe6030Lnm13H3vDMTcS21DrLh69bMX+DBilKqMMVLian4iG6ybBoNRQ==",
"dev": true,
"funding": [
{
@@ -14612,9 +14612,9 @@
],
"license": "MIT",
"dependencies": {
- "@csstools/css-parser-algorithms": "^3.0.0",
- "@csstools/css-tokenizer": "^3.0.0",
- "@csstools/media-query-list-parser": "^3.0.0",
+ "@csstools/css-parser-algorithms": "^3.0.1",
+ "@csstools/css-tokenizer": "^3.0.1",
+ "@csstools/media-query-list-parser": "^3.0.1",
"@csstools/selector-specificity": "^4.0.0",
"@dual-bundle/import-meta-resolve": "^4.1.0",
"balanced-match": "^2.0.0",
@@ -14636,7 +14636,7 @@
"known-css-properties": "^0.34.0",
"mathml-tag-names": "^2.1.3",
"meow": "^13.2.0",
- "micromatch": "^4.0.7",
+ "micromatch": "^4.0.8",
"normalize-path": "^3.0.0",
"picocolors": "^1.0.1",
"postcss": "^8.4.41",
@@ -14647,7 +14647,7 @@
"resolve-from": "^5.0.0",
"string-width": "^4.2.3",
"strip-ansi": "^7.1.0",
- "supports-hyperlinks": "^3.0.0",
+ "supports-hyperlinks": "^3.1.0",
"svg-tags": "^1.0.0",
"table": "^6.8.2",
"write-file-atomic": "^5.0.1"
@@ -14746,9 +14746,9 @@
"license": "MIT"
},
"node_modules/stylelint/node_modules/file-entry-cache": {
- "version": "9.0.0",
- "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-9.0.0.tgz",
- "integrity": "sha512-6MgEugi8p2tiUhqO7GnPsmbCCzj0YRCwwaTbpGRyKZesjRSzkqkAE9fPp7V2yMs5hwfgbQLgdvSSkGNg1s5Uvw==",
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-9.1.0.tgz",
+ "integrity": "sha512-/pqPFG+FdxWQj+/WSuzXSDaNzxgTLr/OrR1QuqfEZzDakpdYE70PwUxL7BPUa8hpjbvY1+qvCl8k+8Tq34xJgg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -14941,9 +14941,9 @@
}
},
"node_modules/supports-hyperlinks": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.0.0.tgz",
- "integrity": "sha512-QBDPHyPQDRTy9ku4URNGY5Lah8PAaXs6tAAwp55sL5WCsSW7GIfdf6W5ixfziW+t7wh3GVvHyHHyQ1ESsoRvaA==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.1.0.tgz",
+ "integrity": "sha512-2rn0BZ+/f7puLOHZm1HOJfwBggfaHXUpPUSSG/SWM4TWp5KCfmNYwnC3hruy2rZlMnmWZ+QAGpZfchu3f3695A==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -14952,6 +14952,9 @@
},
"engines": {
"node": ">=14.18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/supports-preserve-symlinks-flag": {
diff --git a/package.json b/package.json
index fe2b2c46ad..d9583a5594 100644
--- a/package.json
+++ b/package.json
@@ -63,7 +63,7 @@
"@eslint-community/eslint-plugin-eslint-comments": "4.4.0",
"@playwright/test": "1.46.1",
"@stoplight/spectral-cli": "6.11.1",
- "@stylistic/eslint-plugin-js": "2.6.4",
+ "@stylistic/eslint-plugin-js": "2.6.5",
"@stylistic/stylelint-plugin": "3.0.1",
"@vitejs/plugin-vue": "5.1.1",
"@vitest/coverage-v8": "2.0.5",
@@ -82,12 +82,12 @@
"eslint-plugin-vitest-globals": "1.5.0",
"eslint-plugin-vue": "9.27.0",
"eslint-plugin-vue-scoped-css": "2.8.1",
- "eslint-plugin-wc": "2.1.0",
- "happy-dom": "15.0.0",
+ "eslint-plugin-wc": "2.1.1",
+ "happy-dom": "15.3.1",
"license-checker-rseidelsohn": "4.3.0",
"markdownlint-cli": "0.41.0",
"postcss-html": "1.7.0",
- "stylelint": "16.8.2",
+ "stylelint": "16.9.0",
"stylelint-declaration-block-no-ignored-properties": "2.8.0",
"stylelint-declaration-strict-value": "1.10.6",
"stylelint-value-no-unknown-custom-properties": "6.0.1",
diff --git a/poetry.lock b/poetry.lock
index 67fa5001ca..6b8fa81eab 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -59,13 +59,13 @@ six = ">=1.13.0"
[[package]]
name = "djlint"
-version = "1.34.1"
+version = "1.34.2"
description = "HTML Template Linter and Formatter"
optional = false
-python-versions = ">=3.8.0,<4.0.0"
+python-versions = "<4.0.0,>=3.8.0"
files = [
- {file = "djlint-1.34.1-py3-none-any.whl", hash = "sha256:96ff1c464fb6f061130ebc88663a2ea524d7ec51f4b56221a2b3f0320a3cfce8"},
- {file = "djlint-1.34.1.tar.gz", hash = "sha256:db93fa008d19eaadb0454edf1704931d14469d48508daba2df9941111f408346"},
+ {file = "djlint-1.34.2-py3-none-any.whl", hash = "sha256:4825389e395eb77371857c77f547fa5ebd1a644b1bc4fe9fed19d49a2786b9e5"},
+ {file = "djlint-1.34.2.tar.gz", hash = "sha256:db9b2e59203a452b83532499bc243c749279090b905cc1f657973f78e7a31ddd"},
]
[package.dependencies]
@@ -377,4 +377,4 @@ dev = ["doc8", "flake8", "flake8-import-order", "rstcheck[sphinx]", "sphinx"]
[metadata]
lock-version = "2.0"
python-versions = "^3.10"
-content-hash = "758325127b0a863bf7d1f0dbc50e3740c47ffe0073ff60fc6d7dce9759879125"
+content-hash = "8a9d5f6ab45ee8bf75b8472ea467c4111c43ed4c6678f4b42426327ef5e492e3"
diff --git a/pyproject.toml b/pyproject.toml
index 8670587b1e..1af2eb4a35 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -5,7 +5,7 @@ package-mode = false
python = "^3.10"
[tool.poetry.group.dev.dependencies]
-djlint = "1.34.1"
+djlint = "1.34.2"
yamllint = "1.35.1"
codespell = "^2.2.6"
diff --git a/renovate.json b/renovate.json
index f6df339207..ff8ababc63 100644
--- a/renovate.json
+++ b/renovate.json
@@ -18,13 +18,13 @@
"packageRules": [
{
"description": "Require approval for python minor version",
- "matchDepNames": ["python"],
+ "matchPackageNames": ["containerbase/python-prebuild", "python"],
"matchUpdateTypes": ["minor"],
"dependencyDashboardApproval": true
},
{
"description": "Require dashboard approval for some deps",
- "matchDepNames": [
+ "matchPackageNames": [
"docker.io/bitnami/minio",
"github.com/go-ap/activitypub",
"github.com/nektos/act",
@@ -34,7 +34,7 @@
},
{
"description": "Schedule some deps less frequently",
- "matchDepNames": [
+ "matchPackageNames": [
"code.forgejo.org/f3/gof3/v3",
"github.com/google/pprof",
"github.com/golangci/misspell/cmd/misspell"
@@ -43,7 +43,7 @@
},
{
"description": "elasticsearch CI images are published about once a month and do not use semantic versioning or short tags",
- "matchDepNames": ["elasticsearch"],
+ "matchPackageNames": ["elasticsearch"],
"extends": ["schedule:quarterly"]
},
{
@@ -58,7 +58,7 @@
},
{
"description": "Group nodejs packages",
- "matchDepNames": [
+ "matchPackageNames": [
"code.forgejo.org/oci/node",
"docker.io/library/node",
"docker.io/node",
@@ -83,7 +83,8 @@
},
{
"description": "Split minor and patch updates",
- "matchDepNames": [
+ "matchPackageNames": [
+ "containerbase/python-prebuild",
"github.com/urfave/cli/v2",
"python",
"swagger-ui-dist",
@@ -93,7 +94,11 @@
},
{
"description": "Automerge patch updates",
- "matchDepNames": ["vue", "github.com/urfave/cli/v2", "swagger-ui-dist"],
+ "matchPackageNames": [
+ "vue",
+ "github.com/urfave/cli/v2",
+ "swagger-ui-dist"
+ ],
"matchUpdateTypes": ["patch"],
"automerge": true
},
@@ -131,35 +136,34 @@
{
"description": "Automerge some packages when CI succeeds",
"extends": ["packages:linters", "packages:test"],
- "matchDepNames": [
+ "matchPackageNames": [
+ "@eslint-community/**",
+ "@playwright/**",
+ "@stoplight/spectral-cli",
+ "@stylistic/**",
+ "djlint",
"github.com/editorconfig-checker/editorconfig-checker/v2/cmd/editorconfig-checker",
"github.com/golangci/golangci-lint/cmd/golangci-lint",
"github.com/go-testfixtures/testfixtures",
"github.com/PuerkitoBio/goquery",
"happy-dom",
"markdownlint-cli",
+ "mcr.microsoft.com/devcontainers/**",
"mvdan.cc/gofumpt",
"updates",
"vite-string-plugin",
"@vue/test-utils"
],
- "automerge": true,
- "matchPackageNames": [
- "@eslint-community/**",
- "@playwright/**",
- "@stoplight/spectral-cli",
- "@stylistic/**",
- "mcr.microsoft.com/devcontainers/**"
- ]
+ "automerge": true
},
{
"description": "Hold back on some package updates for a few days",
- "matchDepNames": ["monaco-editor"],
+ "matchPackageNames": ["monaco-editor"],
"minimumReleaseAge": "30 days"
},
{
"description": "disallow `eslint-plugin-no-use-extend-native` v0.6.0+, requires eslint v9",
- "matchDepNames": ["eslint-plugin-no-use-extend-native"],
+ "matchPackageNames": ["eslint-plugin-no-use-extend-native"],
"allowedVersions": "<0.6.0"
},
{
diff --git a/routers/web/web.go b/routers/web/web.go
index dccb391270..a1499c7645 100644
--- a/routers/web/web.go
+++ b/routers/web/web.go
@@ -51,7 +51,7 @@ import (
_ "code.gitea.io/gitea/modules/session" // to registers all internal adapters
- "gitea.com/go-chi/captcha"
+ "code.forgejo.org/go-chi/captcha"
chi_middleware "github.com/go-chi/chi/v5/middleware"
"github.com/go-chi/cors"
"github.com/klauspost/compress/gzhttp"
@@ -254,7 +254,7 @@ func Routes() *web.Route {
if setting.Service.EnableCaptcha {
// The captcha http.Handler should only fire on /captcha/* so we can just mount this on that url
- routes.Methods("GET,HEAD", "/captcha/*", append(mid, captcha.Captchaer(context.GetImageCaptcha()))...)
+ routes.Methods("GET,HEAD", "/captcha/*", append(mid, captcha.Server(captcha.StdWidth, captcha.StdHeight).ServeHTTP)...)
}
if setting.Metrics.Enabled {
diff --git a/services/context/api.go b/services/context/api.go
index 89078ebf66..8e255c8573 100644
--- a/services/context/api.go
+++ b/services/context/api.go
@@ -24,7 +24,7 @@ import (
"code.gitea.io/gitea/modules/web"
web_types "code.gitea.io/gitea/modules/web/types"
- "gitea.com/go-chi/cache"
+ "code.forgejo.org/go-chi/cache"
)
// APIContext is a specific context for API service
diff --git a/services/context/captcha.go b/services/context/captcha.go
index fa8d779f56..da837acb00 100644
--- a/services/context/captcha.go
+++ b/services/context/captcha.go
@@ -16,23 +16,46 @@ import (
"code.gitea.io/gitea/modules/setting"
"code.gitea.io/gitea/modules/turnstile"
- "gitea.com/go-chi/captcha"
+ mc "code.forgejo.org/go-chi/cache"
+ "code.forgejo.org/go-chi/captcha"
)
var (
imageCaptchaOnce sync.Once
- cpt *captcha.Captcha
+ imageCachePrefix = "captcha:"
)
-// GetImageCaptcha returns global image captcha
-func GetImageCaptcha() *captcha.Captcha {
+type imageCaptchaStore struct {
+ c mc.Cache
+}
+
+func (c *imageCaptchaStore) Set(id string, digits []byte) {
+ if err := c.c.Put(imageCachePrefix+id, string(digits), int64(captcha.Expiration.Seconds())); err != nil {
+ log.Error("Couldn't store captcha cache for %q: %v", id, err)
+ }
+}
+
+func (c *imageCaptchaStore) Get(id string, clear bool) (digits []byte) {
+ val, ok := c.c.Get(imageCachePrefix + id).(string)
+ if !ok {
+ return digits
+ }
+
+ if clear {
+ if err := c.c.Delete(imageCachePrefix + id); err != nil {
+ log.Error("Couldn't delete captcha cache for %q: %v", id, err)
+ }
+ }
+
+ return []byte(val)
+}
+
+// GetImageCaptcha returns image captcha ID.
+func GetImageCaptcha() string {
imageCaptchaOnce.Do(func() {
- cpt = captcha.NewCaptcha(captcha.Options{
- SubURL: setting.AppSubURL,
- })
- cpt.Store = cache.GetCache()
+ captcha.SetCustomStore(&imageCaptchaStore{c: cache.GetCache()})
})
- return cpt
+ return captcha.New()
}
// SetCaptchaData sets common captcha data
@@ -52,6 +75,8 @@ func SetCaptchaData(ctx *Context) {
}
const (
+ imgCaptchaIDField = "img-captcha-id"
+ imgCaptchaResponseField = "img-captcha-response"
gRecaptchaResponseField = "g-recaptcha-response"
hCaptchaResponseField = "h-captcha-response"
mCaptchaResponseField = "m-captcha-response"
@@ -69,7 +94,7 @@ func VerifyCaptcha(ctx *Context, tpl base.TplName, form any) {
var err error
switch setting.Service.CaptchaType {
case setting.ImageCaptcha:
- valid = GetImageCaptcha().VerifyReq(ctx.Req)
+ valid = captcha.VerifyString(ctx.Req.Form.Get(imgCaptchaIDField), ctx.Req.Form.Get(imgCaptchaResponseField))
case setting.ReCaptcha:
valid, err = recaptcha.Verify(ctx, ctx.Req.Form.Get(gRecaptchaResponseField))
case setting.HCaptcha:
diff --git a/services/context/context.go b/services/context/context.go
index 6ab3ae761d..c0819ab11e 100644
--- a/services/context/context.go
+++ b/services/context/context.go
@@ -27,8 +27,8 @@ import (
"code.gitea.io/gitea/modules/web/middleware"
web_types "code.gitea.io/gitea/modules/web/types"
+ "code.forgejo.org/go-chi/cache"
"code.forgejo.org/go-chi/session"
- "gitea.com/go-chi/cache"
)
// Render represents a template render
diff --git a/services/repository/contributors_graph.go b/services/repository/contributors_graph.go
index 6b35c82726..48871813bd 100644
--- a/services/repository/contributors_graph.go
+++ b/services/repository/contributors_graph.go
@@ -25,7 +25,7 @@ import (
"code.gitea.io/gitea/modules/setting"
api "code.gitea.io/gitea/modules/structs"
- "gitea.com/go-chi/cache"
+ "code.forgejo.org/go-chi/cache"
)
const contributorStatsCacheKey = "GetContributorStats/%s/%s"
diff --git a/services/repository/contributors_graph_test.go b/services/repository/contributors_graph_test.go
index 3caffa190c..8cfe69d284 100644
--- a/services/repository/contributors_graph_test.go
+++ b/services/repository/contributors_graph_test.go
@@ -15,7 +15,7 @@ import (
"code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/test"
- "gitea.com/go-chi/cache"
+ "code.forgejo.org/go-chi/cache"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
diff --git a/templates/user/auth/captcha.tmpl b/templates/user/auth/captcha.tmpl
index 8dd4d1cc51..03e360703b 100644
--- a/templates/user/auth/captcha.tmpl
+++ b/templates/user/auth/captcha.tmpl
@@ -1,10 +1,11 @@
{{if .EnableCaptcha}}{{if eq .CaptchaType "image"}}