Merge branch 'forgejo' into upload_with_path_structure

This commit is contained in:
David Rotermund 2025-06-26 12:50:04 +02:00
commit be3c659b51
97 changed files with 1621 additions and 911 deletions

View file

@ -6,7 +6,7 @@ body:
- type: markdown - type: markdown
attributes: attributes:
value: | value: |
**NOTE: If your issue is a security concern, please email <security@forgejo.org> (GPG: `A4676E79`) instead of opening a public issue.** **NOTE: If your issue is a security concern, please email <security@forgejo.org> ([security.txt](https://forgejo.org/.well-known/security.txt)) instead of opening a public issue.**
- type: markdown - type: markdown
attributes: attributes:
value: | value: |

View file

@ -6,7 +6,7 @@ body:
- type: markdown - type: markdown
attributes: attributes:
value: | value: |
**NOTE: If your issue is a security concern, please email <security@forgejo.org> (GPG: `A4676E79`) instead of opening a public issue.** **NOTE: If your issue is a security concern, please email <security@forgejo.org> ([security.txt](https://forgejo.org/.well-known/security.txt)) instead of opening a public issue.**
- type: markdown - type: markdown
attributes: attributes:
value: | value: |

View file

@ -10,6 +10,7 @@
# Javascript and CSS code. # Javascript and CSS code.
web_src/.* @beowulf @gusted web_src/.* @beowulf @gusted
web_src/css/.* @0ko
# HTML templates used by the backend. # HTML templates used by the backend.
templates/.* @beowulf @gusted templates/.* @beowulf @gusted

View file

@ -595,8 +595,8 @@
"licenseText": "The MIT License (MIT)\n\nCopyright (c) 2015 Huan Du\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\n" "licenseText": "The MIT License (MIT)\n\nCopyright (c) 2015 Huan Du\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\n"
}, },
{ {
"name": "github.com/jaytaylor/html2text", "name": "github.com/inbucket/html2text",
"path": "github.com/jaytaylor/html2text/LICENSE", "path": "github.com/inbucket/html2text/LICENSE",
"licenseText": "The MIT License (MIT)\n\nCopyright (c) 2015 Jay Taylor\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\n" "licenseText": "The MIT License (MIT)\n\nCopyright (c) 2015 Jay Taylor\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\n"
}, },
{ {
@ -779,6 +779,16 @@
"path": "github.com/nwaples/rardecode/LICENSE", "path": "github.com/nwaples/rardecode/LICENSE",
"licenseText": "Copyright (c) 2015, Nicholas Waples\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\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" "licenseText": "Copyright (c) 2015, Nicholas Waples\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\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/olekukonko/errors",
"path": "github.com/olekukonko/errors/LICENSE",
"licenseText": "MIT License\n\nCopyright (c) 2025 Oleku Konko\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
},
{
"name": "github.com/olekukonko/ll",
"path": "github.com/olekukonko/ll/LICENSE",
"licenseText": "MIT License\n\nCopyright (c) 2025 Oleku Konko\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
},
{ {
"name": "github.com/olekukonko/tablewriter", "name": "github.com/olekukonko/tablewriter",
"path": "github.com/olekukonko/tablewriter/LICENSE.md", "path": "github.com/olekukonko/tablewriter/LICENSE.md",

View file

@ -37,6 +37,7 @@ func TestLocalizationPolicy(t *testing.T) {
assert.Empty(t, checkLocaleContent([]byte("teams.specific_repositories_helper = Members will only have access to repositories explicitly added to the team. Selecting this <strong>will not</strong> automatically remove repositories already added with <i>All repositories</i>."))) assert.Empty(t, checkLocaleContent([]byte("teams.specific_repositories_helper = Members will only have access to repositories explicitly added to the team. Selecting this <strong>will not</strong> automatically remove repositories already added with <i>All repositories</i>.")))
assert.Empty(t, checkLocaleContent([]byte("sqlite_helper = File path for the SQLite3 database.<br>Enter an absolute path if you run Forgejo as a service."))) assert.Empty(t, checkLocaleContent([]byte("sqlite_helper = File path for the SQLite3 database.<br>Enter an absolute path if you run Forgejo as a service.")))
assert.Empty(t, checkLocaleContent([]byte("hi_user_x = Hi <b>%s</b>,"))) assert.Empty(t, checkLocaleContent([]byte("hi_user_x = Hi <b>%s</b>,")))
assert.Empty(t, checkLocaleContent([]byte("key = Press <kbd>Shift</kbd>")))
assert.Equal(t, []string{"error404: The page you are trying to reach either <strong\x1b[31m title='aaa'\x1b[0m>does not exist</strong> or <strong>you are not authorized</strong> to view it."}, checkLocaleContent([]byte("error404 = The page you are trying to reach either <strong title='aaa'>does not exist</strong> or <strong>you are not authorized</strong> to view it."))) assert.Equal(t, []string{"error404: The page you are trying to reach either <strong\x1b[31m title='aaa'\x1b[0m>does not exist</strong> or <strong>you are not authorized</strong> to view it."}, checkLocaleContent([]byte("error404 = The page you are trying to reach either <strong title='aaa'>does not exist</strong> or <strong>you are not authorized</strong> to view it.")))
}) })

12
go.mod
View file

@ -63,8 +63,8 @@ require (
github.com/hashicorp/go-version v1.7.0 github.com/hashicorp/go-version v1.7.0
github.com/hashicorp/golang-lru/v2 v2.0.7 github.com/hashicorp/golang-lru/v2 v2.0.7
github.com/huandu/xstrings v1.5.0 github.com/huandu/xstrings v1.5.0
github.com/jaytaylor/html2text v0.0.0-20230321000545-74c2419ad056 github.com/inbucket/html2text v0.9.0
github.com/jhillyerd/enmime/v2 v2.1.0 github.com/jhillyerd/enmime/v2 v2.2.0
github.com/json-iterator/go v1.1.12 github.com/json-iterator/go v1.1.12
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51
github.com/klauspost/compress v1.18.0 github.com/klauspost/compress v1.18.0
@ -158,7 +158,7 @@ require (
github.com/dlclark/regexp2 v1.11.5 // indirect github.com/dlclark/regexp2 v1.11.5 // indirect
github.com/emersion/go-sasl v0.0.0-20231106173351-e73c9f7bad43 // indirect github.com/emersion/go-sasl v0.0.0-20231106173351-e73c9f7bad43 // indirect
github.com/emirpasic/gods v1.18.1 // indirect github.com/emirpasic/gods v1.18.1 // indirect
github.com/fatih/color v1.16.0 // indirect github.com/fatih/color v1.18.0 // indirect
github.com/fxamacker/cbor/v2 v2.8.0 // indirect github.com/fxamacker/cbor/v2 v2.8.0 // indirect
github.com/go-ap/errors v0.0.0-20231003111023-183eef4b31b7 // indirect github.com/go-ap/errors v0.0.0-20231003111023-183eef4b31b7 // indirect
github.com/go-asn1-ber/asn1-ber v1.5.5 // indirect github.com/go-asn1-ber/asn1-ber v1.5.5 // indirect
@ -192,7 +192,7 @@ require (
github.com/libdns/libdns v1.0.0-beta.1 // indirect github.com/libdns/libdns v1.0.0-beta.1 // indirect
github.com/mailru/easyjson v0.9.0 // indirect github.com/mailru/easyjson v0.9.0 // indirect
github.com/markbates/going v1.0.3 // indirect github.com/markbates/going v1.0.3 // indirect
github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-colorable v0.1.14 // indirect
github.com/mattn/go-runewidth v0.0.16 // indirect github.com/mattn/go-runewidth v0.0.16 // indirect
github.com/mholt/acmez/v3 v3.1.2 // indirect github.com/mholt/acmez/v3 v3.1.2 // indirect
github.com/miekg/dns v1.1.63 // indirect github.com/miekg/dns v1.1.63 // indirect
@ -205,7 +205,9 @@ require (
github.com/mschoch/smat v0.2.0 // indirect github.com/mschoch/smat v0.2.0 // indirect
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
github.com/nwaples/rardecode v1.1.3 // indirect github.com/nwaples/rardecode v1.1.3 // indirect
github.com/olekukonko/tablewriter v0.0.5 // indirect github.com/olekukonko/errors v1.1.0 // indirect
github.com/olekukonko/ll v0.0.9 // indirect
github.com/olekukonko/tablewriter v1.0.7 // indirect
github.com/onsi/ginkgo v1.16.5 // indirect github.com/onsi/ginkgo v1.16.5 // indirect
github.com/philhofer/fwd v1.1.3-0.20240916144458-20a13a1f6b7c // indirect github.com/philhofer/fwd v1.1.3-0.20240916144458-20a13a1f6b7c // indirect
github.com/pierrec/lz4/v4 v4.1.21 // indirect github.com/pierrec/lz4/v4 v4.1.21 // indirect

27
go.sum
View file

@ -192,8 +192,8 @@ github.com/emersion/go-sasl v0.0.0-20231106173351-e73c9f7bad43/go.mod h1:iL2twTe
github.com/emersion/go-textwrapper v0.0.0-20200911093747-65d896831594/go.mod h1:aqO8z8wPrjkscevZJFVE1wXJrLpC5LtJG7fqLOsPb2U= github.com/emersion/go-textwrapper v0.0.0-20200911093747-65d896831594/go.mod h1:aqO8z8wPrjkscevZJFVE1wXJrLpC5LtJG7fqLOsPb2U=
github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc=
github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ=
github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM= github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM=
github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE= github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU=
github.com/felixge/fgprof v0.9.5 h1:8+vR6yu2vvSKn08urWyEuxx75NWPEvybbkBirEpsbVY= github.com/felixge/fgprof v0.9.5 h1:8+vR6yu2vvSKn08urWyEuxx75NWPEvybbkBirEpsbVY=
github.com/felixge/fgprof v0.9.5/go.mod h1:yKl+ERSa++RYOs32d8K6WEXCB4uXdLls4ZaZPpayhMM= github.com/felixge/fgprof v0.9.5/go.mod h1:yKl+ERSa++RYOs32d8K6WEXCB4uXdLls4ZaZPpayhMM=
github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw=
@ -341,12 +341,12 @@ github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpO
github.com/huandu/xstrings v1.5.0 h1:2ag3IFq9ZDANvthTwTiqSSZLjDc+BedvHPAp5tJy2TI= github.com/huandu/xstrings v1.5.0 h1:2ag3IFq9ZDANvthTwTiqSSZLjDc+BedvHPAp5tJy2TI=
github.com/huandu/xstrings v1.5.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= github.com/huandu/xstrings v1.5.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
github.com/ianlancetaylor/demangle v0.0.0-20230524184225-eabc099b10ab/go.mod h1:gx7rwoVhcfuVKG5uya9Hs3Sxj7EIvldVofAWIUtGouw= github.com/ianlancetaylor/demangle v0.0.0-20230524184225-eabc099b10ab/go.mod h1:gx7rwoVhcfuVKG5uya9Hs3Sxj7EIvldVofAWIUtGouw=
github.com/jaytaylor/html2text v0.0.0-20230321000545-74c2419ad056 h1:iCHtR9CQyktQ5+f3dMVZfwD2KWJUgm7M0gdL9NGr8KA= github.com/inbucket/html2text v0.9.0 h1:ULJmVcBEMAcmLE+/rN815KG1Fx6+a4HhbUxiDiN+qks=
github.com/jaytaylor/html2text v0.0.0-20230321000545-74c2419ad056/go.mod h1:CVKlgaMiht+LXvHG173ujK6JUhZXKb2u/BQtjPDIvyk= github.com/inbucket/html2text v0.9.0/go.mod h1:QDaumzl+/OzlSVbNohhmg+yAy5pKjUjzCKW2BMvztKE=
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A=
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo=
github.com/jhillyerd/enmime/v2 v2.1.0 h1:c8Qwi5Xq5EdtMN6byQWoZ/8I2RMTo6OJ7Xay+s1oPO0= github.com/jhillyerd/enmime/v2 v2.2.0 h1:Pe35MB96eZK5Q0XjlvPftOgWypQpd1gcbfJKAt7rsB8=
github.com/jhillyerd/enmime/v2 v2.1.0/go.mod h1:EJ74dcRbBcqHSP2TBu08XRoy6y3Yx0cevwb1YkGMEmQ= github.com/jhillyerd/enmime/v2 v2.2.0/go.mod h1:SOBXlCemjhiV2DvHhAKnJiWrtJGS/Ffuw4Iy7NjBTaI=
github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY=
github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= 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 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
@ -389,12 +389,10 @@ github.com/markbates/going v1.0.3 h1:mY45T5TvW+Xz5A6jY7lf4+NLg9D8+iuStIHyR7M8qsE
github.com/markbates/going v1.0.3/go.mod h1:fQiT6v6yQar9UD6bd/D4Z5Afbk9J6BBVBtLiyY4gp2o= github.com/markbates/going v1.0.3/go.mod h1:fQiT6v6yQar9UD6bd/D4Z5Afbk9J6BBVBtLiyY4gp2o=
github.com/markbates/goth v1.80.0 h1:NnvatczZDzOs1hn9Ug+dVYf2Viwwkp/ZDX5K+GLjan8= github.com/markbates/goth v1.80.0 h1:NnvatczZDzOs1hn9Ug+dVYf2Viwwkp/ZDX5K+GLjan8=
github.com/markbates/goth v1.80.0/go.mod h1:4/GYHo+W6NWisrMPZnq0Yr2Q70UntNLn7KXEFhrIdAY= github.com/markbates/goth v1.80.0/go.mod h1:4/GYHo+W6NWisrMPZnq0Yr2Q70UntNLn7KXEFhrIdAY=
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE=
github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8=
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
github.com/mattn/go-runewidth v0.0.16 h1:E5ScNMtiwvlvB5paMFdw9p4kSQzbXFikJ5SQO6TULQc= github.com/mattn/go-runewidth v0.0.16 h1:E5ScNMtiwvlvB5paMFdw9p4kSQzbXFikJ5SQO6TULQc=
github.com/mattn/go-runewidth v0.0.16/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/mattn/go-runewidth v0.0.16/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
github.com/mattn/go-sqlite3 v1.14.28 h1:ThEiQrnbtumT+QMknw63Befp/ce/nUPgBPMlRFEum7A= github.com/mattn/go-sqlite3 v1.14.28 h1:ThEiQrnbtumT+QMknw63Befp/ce/nUPgBPMlRFEum7A=
@ -436,8 +434,12 @@ github.com/nwaples/rardecode v1.1.3/go.mod h1:5DzqNKiOdpKKBH87u8VlvAnPZMXcGRhxWk
github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A=
github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE=
github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU=
github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= github.com/olekukonko/errors v1.1.0 h1:RNuGIh15QdDenh+hNvKrJkmxxjV4hcS50Db478Ou5sM=
github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= github.com/olekukonko/errors v1.1.0/go.mod h1:ppzxA5jBKcO1vIpCXQ9ZqgDh8iwODz6OXIGKU8r5m4Y=
github.com/olekukonko/ll v0.0.9 h1:Y+1YqDfVkqMWuEQMclsF9HUR5+a82+dxJuL1HHSRpxI=
github.com/olekukonko/ll v0.0.9/go.mod h1:En+sEW0JNETl26+K8eZ6/W4UQ7CYSrrgg/EdIYT2H8g=
github.com/olekukonko/tablewriter v1.0.7 h1:HCC2e3MM+2g72M81ZcJU11uciw6z/p82aEnm4/ySDGw=
github.com/olekukonko/tablewriter v1.0.7/go.mod h1:H428M+HzoUXC6JU2Abj9IT9ooRmdq9CxuDmKMtrOCMs=
github.com/olivere/elastic/v7 v7.0.32 h1:R7CXvbu8Eq+WlsLgxmKVKPox0oOwAE/2T9Si5BnvK6E= github.com/olivere/elastic/v7 v7.0.32 h1:R7CXvbu8Eq+WlsLgxmKVKPox0oOwAE/2T9Si5BnvK6E=
github.com/olivere/elastic/v7 v7.0.32/go.mod h1:c7PVmLe3Fxq77PIfY/bZmxY/TAamBhCzZ8xDOE09a9k= 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.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
@ -645,7 +647,6 @@ golang.org/x/sys v0.0.0-20220310020820-b874c991c1a5/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=

View file

@ -67,6 +67,13 @@ type Milestone struct {
TotalTrackedTime int64 `xorm:"-"` TotalTrackedTime int64 `xorm:"-"`
} }
// Ghost milestone is a milestone which has been deleted
const GhostMilestoneID = -1
func (m *Milestone) IsGhost() bool {
return m.ID == GhostMilestoneID
}
func init() { func init() {
db.RegisterModel(new(Milestone)) db.RegisterModel(new(Milestone))
} }

View file

@ -172,33 +172,6 @@ func (b *Blob) GetBlobContent(limit int64) (string, error) {
return string(buf), err return string(buf), err
} }
// GetBlobLineCount gets line count of the blob
func (b *Blob) GetBlobLineCount() (int, error) {
reader, err := b.DataAsync()
if err != nil {
return 0, err
}
defer reader.Close()
buf := make([]byte, 32*1024)
count := 1
lineSep := []byte{'\n'}
c, err := reader.Read(buf)
if c == 0 && err == io.EOF {
return 0, nil
}
for {
count += bytes.Count(buf[:c], lineSep)
switch {
case err == io.EOF:
return count, nil
case err != nil:
return count, err
}
c, err = reader.Read(buf)
}
}
// GetBlobContentBase64 Reads the content of the blob with a base64 encode and returns the encoded string // GetBlobContentBase64 Reads the content of the blob with a base64 encode and returns the encoded string
func (b *Blob) GetBlobContentBase64() (string, error) { func (b *Blob) GetBlobContentBase64() (string, error) {
dataRc, err := b.DataAsync() dataRc, err := b.DataAsync()

View file

@ -25,7 +25,7 @@ type Token struct {
func (tk *Token) ParseIssueReference() (int64, error) { func (tk *Token) ParseIssueReference() (int64, error) {
term := tk.Term term := tk.Term
if term[0] == '#' || term[0] == '!' { if len(term) > 1 && (term[0] == '#' || term[0] == '!') {
term = term[1:] term = term[1:]
} }
return strconv.ParseInt(term, 10, 64) return strconv.ParseInt(term, 10, 64)

View file

@ -169,3 +169,35 @@ func TestIssueQueryString(t *testing.T) {
}) })
} }
} }
func TestToken_ParseIssueReference(t *testing.T) {
var tk Token
{
tk.Term = "123"
id, err := tk.ParseIssueReference()
require.NoError(t, err)
assert.Equal(t, int64(123), id)
}
{
tk.Term = "#123"
id, err := tk.ParseIssueReference()
require.NoError(t, err)
assert.Equal(t, int64(123), id)
}
{
tk.Term = "!123"
id, err := tk.ParseIssueReference()
require.NoError(t, err)
assert.Equal(t, int64(123), id)
}
{
tk.Term = "text"
_, err := tk.ParseIssueReference()
require.Error(t, err)
}
{
tk.Term = ""
_, err := tk.ParseIssueReference()
require.Error(t, err)
}
}

View file

@ -104,7 +104,7 @@ func TestRender_Images(t *testing.T) {
test( test(
"!["+title+"]("+url+")", "!["+title+"]("+url+")",
`<p><a href="`+result+`" target="_blank" rel="nofollow noopener"><img src="`+result+`" alt="`+title+`"/></a></p>`) `<p><a href="`+result+`" target="_blank" rel="nofollow noopener"><img src="`+result+`" alt="`+title+`" loading="lazy"/></a></p>`)
test( test(
"[["+title+"|"+url+"]]", "[["+title+"|"+url+"]]",
@ -115,7 +115,7 @@ func TestRender_Images(t *testing.T) {
test( test(
"!["+title+"]("+url+")", "!["+title+"]("+url+")",
`<p><a href="`+result+`" target="_blank" rel="nofollow noopener"><img src="`+result+`" alt="`+title+`"/></a></p>`) `<p><a href="`+result+`" target="_blank" rel="nofollow noopener"><img src="`+result+`" alt="`+title+`" loading="lazy"/></a></p>`)
test( test(
"[["+title+"|"+url+"]]", "[["+title+"|"+url+"]]",
@ -412,8 +412,8 @@ func TestRenderSiblingImages_Issue12925(t *testing.T) {
testcase := `![image1](/image1) testcase := `![image1](/image1)
![image2](/image2) ![image2](/image2)
` `
expected := `<p><a href="/image1" target="_blank" rel="nofollow noopener"><img src="/image1" alt="image1"></a><br> expected := `<p><a href="/image1" target="_blank" rel="nofollow noopener"><img src="/image1" alt="image1" loading="lazy"></a><br>
<a href="/image2" target="_blank" rel="nofollow noopener"><img src="/image2" alt="image2"></a></p> <a href="/image2" target="_blank" rel="nofollow noopener"><img src="/image2" alt="image2" loading="lazy"></a></p>
` `
res, err := markdown.RenderRawString(&markup.RenderContext{Ctx: git.DefaultContext}, testcase) res, err := markdown.RenderRawString(&markup.RenderContext{Ctx: git.DefaultContext}, testcase)
require.NoError(t, err) require.NoError(t, err)
@ -845,10 +845,10 @@ mail@domain.com
<a href="https://example.com" rel="nofollow">remote link</a><br/> <a href="https://example.com" rel="nofollow">remote link</a><br/>
<a href="/src/file.bin" rel="nofollow">local link</a><br/> <a href="/src/file.bin" rel="nofollow">local link</a><br/>
<a href="https://example.com" rel="nofollow">remote link</a><br/> <a href="https://example.com" rel="nofollow">remote link</a><br/>
<a href="/image.jpg" target="_blank" rel="nofollow noopener"><img src="/image.jpg" alt="local image"/></a><br/> <a href="/image.jpg" target="_blank" rel="nofollow noopener"><img src="/image.jpg" alt="local image" loading="lazy"/></a><br/>
<a href="/path/file" target="_blank" rel="nofollow noopener"><img src="/path/file" alt="local image"/></a><br/> <a href="/path/file" target="_blank" rel="nofollow noopener"><img src="/path/file" alt="local image" loading="lazy"/></a><br/>
<a href="/path/file" target="_blank" rel="nofollow noopener"><img src="/path/file" alt="local image"/></a><br/> <a href="/path/file" target="_blank" rel="nofollow noopener"><img src="/path/file" alt="local image" loading="lazy"/></a><br/>
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image"/></a><br/> <a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image" loading="lazy"/></a><br/>
<a href="/image.jpg" rel="nofollow"><img src="/image.jpg" title="local image" alt=""/></a><br/> <a href="/image.jpg" rel="nofollow"><img src="/image.jpg" title="local image" alt=""/></a><br/>
<a href="https://example.com/image.jpg" rel="nofollow"><img src="https://example.com/image.jpg" title="remote link" alt=""/></a><br/> <a href="https://example.com/image.jpg" rel="nofollow"><img src="https://example.com/image.jpg" title="remote link" alt=""/></a><br/>
<a href="https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash" rel="nofollow">https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash</a><br/> <a href="https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash" rel="nofollow">https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash</a><br/>
@ -872,10 +872,10 @@ space</p>
<a href="https://example.com" rel="nofollow">remote link</a><br/> <a href="https://example.com" rel="nofollow">remote link</a><br/>
<a href="/wiki/file.bin" rel="nofollow">local link</a><br/> <a href="/wiki/file.bin" rel="nofollow">local link</a><br/>
<a href="https://example.com" rel="nofollow">remote link</a><br/> <a href="https://example.com" rel="nofollow">remote link</a><br/>
<a href="/wiki/raw/image.jpg" target="_blank" rel="nofollow noopener"><img src="/wiki/raw/image.jpg" alt="local image"/></a><br/> <a href="/wiki/raw/image.jpg" target="_blank" rel="nofollow noopener"><img src="/wiki/raw/image.jpg" alt="local image" loading="lazy"/></a><br/>
<a href="/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/wiki/raw/path/file" alt="local image"/></a><br/> <a href="/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/wiki/raw/path/file" alt="local image" loading="lazy"/></a><br/>
<a href="/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/wiki/raw/path/file" alt="local image"/></a><br/> <a href="/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/wiki/raw/path/file" alt="local image" loading="lazy"/></a><br/>
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image"/></a><br/> <a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image" loading="lazy"/></a><br/>
<a href="/wiki/raw/image.jpg" rel="nofollow"><img src="/wiki/raw/image.jpg" title="local image" alt=""/></a><br/> <a href="/wiki/raw/image.jpg" rel="nofollow"><img src="/wiki/raw/image.jpg" title="local image" alt=""/></a><br/>
<a href="https://example.com/image.jpg" rel="nofollow"><img src="https://example.com/image.jpg" title="remote link" alt=""/></a><br/> <a href="https://example.com/image.jpg" rel="nofollow"><img src="https://example.com/image.jpg" title="remote link" alt=""/></a><br/>
<a href="https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash" rel="nofollow">https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash</a><br/> <a href="https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash" rel="nofollow">https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash</a><br/>
@ -901,10 +901,10 @@ space</p>
<a href="https://example.com" rel="nofollow">remote link</a><br/> <a href="https://example.com" rel="nofollow">remote link</a><br/>
<a href="https://gitea.io/src/file.bin" rel="nofollow">local link</a><br/> <a href="https://gitea.io/src/file.bin" rel="nofollow">local link</a><br/>
<a href="https://example.com" rel="nofollow">remote link</a><br/> <a href="https://example.com" rel="nofollow">remote link</a><br/>
<a href="https://gitea.io/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://gitea.io/image.jpg" alt="local image"/></a><br/> <a href="https://gitea.io/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://gitea.io/image.jpg" alt="local image" loading="lazy"/></a><br/>
<a href="https://gitea.io/path/file" target="_blank" rel="nofollow noopener"><img src="https://gitea.io/path/file" alt="local image"/></a><br/> <a href="https://gitea.io/path/file" target="_blank" rel="nofollow noopener"><img src="https://gitea.io/path/file" alt="local image" loading="lazy"/></a><br/>
<a href="https://gitea.io/path/file" target="_blank" rel="nofollow noopener"><img src="https://gitea.io/path/file" alt="local image"/></a><br/> <a href="https://gitea.io/path/file" target="_blank" rel="nofollow noopener"><img src="https://gitea.io/path/file" alt="local image" loading="lazy"/></a><br/>
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image"/></a><br/> <a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image" loading="lazy"/></a><br/>
<a href="https://gitea.io/image.jpg" rel="nofollow"><img src="https://gitea.io/image.jpg" title="local image" alt=""/></a><br/> <a href="https://gitea.io/image.jpg" rel="nofollow"><img src="https://gitea.io/image.jpg" title="local image" alt=""/></a><br/>
<a href="https://example.com/image.jpg" rel="nofollow"><img src="https://example.com/image.jpg" title="remote link" alt=""/></a><br/> <a href="https://example.com/image.jpg" rel="nofollow"><img src="https://example.com/image.jpg" title="remote link" alt=""/></a><br/>
<a href="https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash" rel="nofollow">https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash</a><br/> <a href="https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash" rel="nofollow">https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash</a><br/>
@ -930,10 +930,10 @@ space</p>
<a href="https://example.com" rel="nofollow">remote link</a><br/> <a href="https://example.com" rel="nofollow">remote link</a><br/>
<a href="https://gitea.io/wiki/file.bin" rel="nofollow">local link</a><br/> <a href="https://gitea.io/wiki/file.bin" rel="nofollow">local link</a><br/>
<a href="https://example.com" rel="nofollow">remote link</a><br/> <a href="https://example.com" rel="nofollow">remote link</a><br/>
<a href="https://gitea.io/wiki/raw/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://gitea.io/wiki/raw/image.jpg" alt="local image"/></a><br/> <a href="https://gitea.io/wiki/raw/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://gitea.io/wiki/raw/image.jpg" alt="local image" loading="lazy"/></a><br/>
<a href="https://gitea.io/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="https://gitea.io/wiki/raw/path/file" alt="local image"/></a><br/> <a href="https://gitea.io/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="https://gitea.io/wiki/raw/path/file" alt="local image" loading="lazy"/></a><br/>
<a href="https://gitea.io/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="https://gitea.io/wiki/raw/path/file" alt="local image"/></a><br/> <a href="https://gitea.io/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="https://gitea.io/wiki/raw/path/file" alt="local image" loading="lazy"/></a><br/>
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image"/></a><br/> <a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image" loading="lazy"/></a><br/>
<a href="https://gitea.io/wiki/raw/image.jpg" rel="nofollow"><img src="https://gitea.io/wiki/raw/image.jpg" title="local image" alt=""/></a><br/> <a href="https://gitea.io/wiki/raw/image.jpg" rel="nofollow"><img src="https://gitea.io/wiki/raw/image.jpg" title="local image" alt=""/></a><br/>
<a href="https://example.com/image.jpg" rel="nofollow"><img src="https://example.com/image.jpg" title="remote link" alt=""/></a><br/> <a href="https://example.com/image.jpg" rel="nofollow"><img src="https://example.com/image.jpg" title="remote link" alt=""/></a><br/>
<a href="https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash" rel="nofollow">https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash</a><br/> <a href="https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash" rel="nofollow">https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash</a><br/>
@ -959,10 +959,10 @@ space</p>
<a href="https://example.com" rel="nofollow">remote link</a><br/> <a href="https://example.com" rel="nofollow">remote link</a><br/>
<a href="/relative/path/src/file.bin" rel="nofollow">local link</a><br/> <a href="/relative/path/src/file.bin" rel="nofollow">local link</a><br/>
<a href="https://example.com" rel="nofollow">remote link</a><br/> <a href="https://example.com" rel="nofollow">remote link</a><br/>
<a href="/relative/path/image.jpg" target="_blank" rel="nofollow noopener"><img src="/relative/path/image.jpg" alt="local image"/></a><br/> <a href="/relative/path/image.jpg" target="_blank" rel="nofollow noopener"><img src="/relative/path/image.jpg" alt="local image" loading="lazy"/></a><br/>
<a href="/relative/path/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/path/file" alt="local image"/></a><br/> <a href="/relative/path/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/path/file" alt="local image" loading="lazy"/></a><br/>
<a href="/relative/path/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/path/file" alt="local image"/></a><br/> <a href="/relative/path/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/path/file" alt="local image" loading="lazy"/></a><br/>
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image"/></a><br/> <a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image" loading="lazy"/></a><br/>
<a href="/relative/path/image.jpg" rel="nofollow"><img src="/relative/path/image.jpg" title="local image" alt=""/></a><br/> <a href="/relative/path/image.jpg" rel="nofollow"><img src="/relative/path/image.jpg" title="local image" alt=""/></a><br/>
<a href="https://example.com/image.jpg" rel="nofollow"><img src="https://example.com/image.jpg" title="remote link" alt=""/></a><br/> <a href="https://example.com/image.jpg" rel="nofollow"><img src="https://example.com/image.jpg" title="remote link" alt=""/></a><br/>
<a href="https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash" rel="nofollow">https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash</a><br/> <a href="https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash" rel="nofollow">https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash</a><br/>
@ -988,10 +988,10 @@ space</p>
<a href="https://example.com" rel="nofollow">remote link</a><br/> <a href="https://example.com" rel="nofollow">remote link</a><br/>
<a href="/relative/path/wiki/file.bin" rel="nofollow">local link</a><br/> <a href="/relative/path/wiki/file.bin" rel="nofollow">local link</a><br/>
<a href="https://example.com" rel="nofollow">remote link</a><br/> <a href="https://example.com" rel="nofollow">remote link</a><br/>
<a href="/relative/path/wiki/raw/image.jpg" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/image.jpg" alt="local image"/></a><br/> <a href="/relative/path/wiki/raw/image.jpg" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/image.jpg" alt="local image" loading="lazy"/></a><br/>
<a href="/relative/path/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/path/file" alt="local image"/></a><br/> <a href="/relative/path/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/path/file" alt="local image" loading="lazy"/></a><br/>
<a href="/relative/path/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/path/file" alt="local image"/></a><br/> <a href="/relative/path/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/path/file" alt="local image" loading="lazy"/></a><br/>
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image"/></a><br/> <a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image" loading="lazy"/></a><br/>
<a href="/relative/path/wiki/raw/image.jpg" rel="nofollow"><img src="/relative/path/wiki/raw/image.jpg" title="local image" alt=""/></a><br/> <a href="/relative/path/wiki/raw/image.jpg" rel="nofollow"><img src="/relative/path/wiki/raw/image.jpg" title="local image" alt=""/></a><br/>
<a href="https://example.com/image.jpg" rel="nofollow"><img src="https://example.com/image.jpg" title="remote link" alt=""/></a><br/> <a href="https://example.com/image.jpg" rel="nofollow"><img src="https://example.com/image.jpg" title="remote link" alt=""/></a><br/>
<a href="https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash" rel="nofollow">https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash</a><br/> <a href="https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash" rel="nofollow">https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash</a><br/>
@ -1018,10 +1018,10 @@ space</p>
<a href="https://example.com" rel="nofollow">remote link</a><br/> <a href="https://example.com" rel="nofollow">remote link</a><br/>
<a href="/user/repo/src/branch/main/file.bin" rel="nofollow">local link</a><br/> <a href="/user/repo/src/branch/main/file.bin" rel="nofollow">local link</a><br/>
<a href="https://example.com" rel="nofollow">remote link</a><br/> <a href="https://example.com" rel="nofollow">remote link</a><br/>
<a href="/user/repo/media/branch/main/image.jpg" target="_blank" rel="nofollow noopener"><img src="/user/repo/media/branch/main/image.jpg" alt="local image"/></a><br/> <a href="/user/repo/media/branch/main/image.jpg" target="_blank" rel="nofollow noopener"><img src="/user/repo/media/branch/main/image.jpg" alt="local image" loading="lazy"/></a><br/>
<a href="/user/repo/media/branch/main/path/file" target="_blank" rel="nofollow noopener"><img src="/user/repo/media/branch/main/path/file" alt="local image"/></a><br/> <a href="/user/repo/media/branch/main/path/file" target="_blank" rel="nofollow noopener"><img src="/user/repo/media/branch/main/path/file" alt="local image" loading="lazy"/></a><br/>
<a href="/user/repo/media/branch/main/path/file" target="_blank" rel="nofollow noopener"><img src="/user/repo/media/branch/main/path/file" alt="local image"/></a><br/> <a href="/user/repo/media/branch/main/path/file" target="_blank" rel="nofollow noopener"><img src="/user/repo/media/branch/main/path/file" alt="local image" loading="lazy"/></a><br/>
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image"/></a><br/> <a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image" loading="lazy"/></a><br/>
<a href="/user/repo/media/branch/main/image.jpg" rel="nofollow"><img src="/user/repo/media/branch/main/image.jpg" title="local image" alt=""/></a><br/> <a href="/user/repo/media/branch/main/image.jpg" rel="nofollow"><img src="/user/repo/media/branch/main/image.jpg" title="local image" alt=""/></a><br/>
<a href="https://example.com/image.jpg" rel="nofollow"><img src="https://example.com/image.jpg" title="remote link" alt=""/></a><br/> <a href="https://example.com/image.jpg" rel="nofollow"><img src="https://example.com/image.jpg" title="remote link" alt=""/></a><br/>
<a href="https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash" rel="nofollow">https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash</a><br/> <a href="https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash" rel="nofollow">https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash</a><br/>
@ -1048,10 +1048,10 @@ space</p>
<a href="https://example.com" rel="nofollow">remote link</a><br/> <a href="https://example.com" rel="nofollow">remote link</a><br/>
<a href="/relative/path/wiki/file.bin" rel="nofollow">local link</a><br/> <a href="/relative/path/wiki/file.bin" rel="nofollow">local link</a><br/>
<a href="https://example.com" rel="nofollow">remote link</a><br/> <a href="https://example.com" rel="nofollow">remote link</a><br/>
<a href="/relative/path/wiki/raw/image.jpg" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/image.jpg" alt="local image"/></a><br/> <a href="/relative/path/wiki/raw/image.jpg" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/image.jpg" alt="local image" loading="lazy"/></a><br/>
<a href="/relative/path/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/path/file" alt="local image"/></a><br/> <a href="/relative/path/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/path/file" alt="local image" loading="lazy"/></a><br/>
<a href="/relative/path/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/path/file" alt="local image"/></a><br/> <a href="/relative/path/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/path/file" alt="local image" loading="lazy"/></a><br/>
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image"/></a><br/> <a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image" loading="lazy"/></a><br/>
<a href="/relative/path/wiki/raw/image.jpg" rel="nofollow"><img src="/relative/path/wiki/raw/image.jpg" title="local image" alt=""/></a><br/> <a href="/relative/path/wiki/raw/image.jpg" rel="nofollow"><img src="/relative/path/wiki/raw/image.jpg" title="local image" alt=""/></a><br/>
<a href="https://example.com/image.jpg" rel="nofollow"><img src="https://example.com/image.jpg" title="remote link" alt=""/></a><br/> <a href="https://example.com/image.jpg" rel="nofollow"><img src="https://example.com/image.jpg" title="remote link" alt=""/></a><br/>
<a href="https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash" rel="nofollow">https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash</a><br/> <a href="https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash" rel="nofollow">https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash</a><br/>
@ -1078,10 +1078,10 @@ space</p>
<a href="https://example.com" rel="nofollow">remote link</a><br/> <a href="https://example.com" rel="nofollow">remote link</a><br/>
<a href="/user/repo/src/sub/folder/file.bin" rel="nofollow">local link</a><br/> <a href="/user/repo/src/sub/folder/file.bin" rel="nofollow">local link</a><br/>
<a href="https://example.com" rel="nofollow">remote link</a><br/> <a href="https://example.com" rel="nofollow">remote link</a><br/>
<a href="/user/repo/image.jpg" target="_blank" rel="nofollow noopener"><img src="/user/repo/image.jpg" alt="local image"/></a><br/> <a href="/user/repo/image.jpg" target="_blank" rel="nofollow noopener"><img src="/user/repo/image.jpg" alt="local image" loading="lazy"/></a><br/>
<a href="/user/repo/path/file" target="_blank" rel="nofollow noopener"><img src="/user/repo/path/file" alt="local image"/></a><br/> <a href="/user/repo/path/file" target="_blank" rel="nofollow noopener"><img src="/user/repo/path/file" alt="local image" loading="lazy"/></a><br/>
<a href="/user/repo/path/file" target="_blank" rel="nofollow noopener"><img src="/user/repo/path/file" alt="local image"/></a><br/> <a href="/user/repo/path/file" target="_blank" rel="nofollow noopener"><img src="/user/repo/path/file" alt="local image" loading="lazy"/></a><br/>
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image"/></a><br/> <a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image" loading="lazy"/></a><br/>
<a href="/user/repo/image.jpg" rel="nofollow"><img src="/user/repo/image.jpg" title="local image" alt=""/></a><br/> <a href="/user/repo/image.jpg" rel="nofollow"><img src="/user/repo/image.jpg" title="local image" alt=""/></a><br/>
<a href="https://example.com/image.jpg" rel="nofollow"><img src="https://example.com/image.jpg" title="remote link" alt=""/></a><br/> <a href="https://example.com/image.jpg" rel="nofollow"><img src="https://example.com/image.jpg" title="remote link" alt=""/></a><br/>
<a href="https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash" rel="nofollow">https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash</a><br/> <a href="https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash" rel="nofollow">https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash</a><br/>
@ -1108,10 +1108,10 @@ space</p>
<a href="https://example.com" rel="nofollow">remote link</a><br/> <a href="https://example.com" rel="nofollow">remote link</a><br/>
<a href="/relative/path/wiki/file.bin" rel="nofollow">local link</a><br/> <a href="/relative/path/wiki/file.bin" rel="nofollow">local link</a><br/>
<a href="https://example.com" rel="nofollow">remote link</a><br/> <a href="https://example.com" rel="nofollow">remote link</a><br/>
<a href="/relative/path/wiki/raw/image.jpg" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/image.jpg" alt="local image"/></a><br/> <a href="/relative/path/wiki/raw/image.jpg" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/image.jpg" alt="local image" loading="lazy"/></a><br/>
<a href="/relative/path/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/path/file" alt="local image"/></a><br/> <a href="/relative/path/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/path/file" alt="local image" loading="lazy"/></a><br/>
<a href="/relative/path/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/path/file" alt="local image"/></a><br/> <a href="/relative/path/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/path/file" alt="local image" loading="lazy"/></a><br/>
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image"/></a><br/> <a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image" loading="lazy"/></a><br/>
<a href="/relative/path/wiki/raw/image.jpg" rel="nofollow"><img src="/relative/path/wiki/raw/image.jpg" title="local image" alt=""/></a><br/> <a href="/relative/path/wiki/raw/image.jpg" rel="nofollow"><img src="/relative/path/wiki/raw/image.jpg" title="local image" alt=""/></a><br/>
<a href="https://example.com/image.jpg" rel="nofollow"><img src="https://example.com/image.jpg" title="remote link" alt=""/></a><br/> <a href="https://example.com/image.jpg" rel="nofollow"><img src="https://example.com/image.jpg" title="remote link" alt=""/></a><br/>
<a href="https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash" rel="nofollow">https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash</a><br/> <a href="https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash" rel="nofollow">https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash</a><br/>
@ -1139,10 +1139,10 @@ space</p>
<a href="https://example.com" rel="nofollow">remote link</a><br/> <a href="https://example.com" rel="nofollow">remote link</a><br/>
<a href="/user/repo/src/branch/main/sub/folder/file.bin" rel="nofollow">local link</a><br/> <a href="/user/repo/src/branch/main/sub/folder/file.bin" rel="nofollow">local link</a><br/>
<a href="https://example.com" rel="nofollow">remote link</a><br/> <a href="https://example.com" rel="nofollow">remote link</a><br/>
<a href="/user/repo/media/branch/main/sub/folder/image.jpg" target="_blank" rel="nofollow noopener"><img src="/user/repo/media/branch/main/sub/folder/image.jpg" alt="local image"/></a><br/> <a href="/user/repo/media/branch/main/sub/folder/image.jpg" target="_blank" rel="nofollow noopener"><img src="/user/repo/media/branch/main/sub/folder/image.jpg" alt="local image" loading="lazy"/></a><br/>
<a href="/user/repo/media/branch/main/sub/folder/path/file" target="_blank" rel="nofollow noopener"><img src="/user/repo/media/branch/main/sub/folder/path/file" alt="local image"/></a><br/> <a href="/user/repo/media/branch/main/sub/folder/path/file" target="_blank" rel="nofollow noopener"><img src="/user/repo/media/branch/main/sub/folder/path/file" alt="local image" loading="lazy"/></a><br/>
<a href="/user/repo/media/branch/main/sub/folder/path/file" target="_blank" rel="nofollow noopener"><img src="/user/repo/media/branch/main/sub/folder/path/file" alt="local image"/></a><br/> <a href="/user/repo/media/branch/main/sub/folder/path/file" target="_blank" rel="nofollow noopener"><img src="/user/repo/media/branch/main/sub/folder/path/file" alt="local image" loading="lazy"/></a><br/>
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image"/></a><br/> <a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image" loading="lazy"/></a><br/>
<a href="/user/repo/media/branch/main/sub/folder/image.jpg" rel="nofollow"><img src="/user/repo/media/branch/main/sub/folder/image.jpg" title="local image" alt=""/></a><br/> <a href="/user/repo/media/branch/main/sub/folder/image.jpg" rel="nofollow"><img src="/user/repo/media/branch/main/sub/folder/image.jpg" title="local image" alt=""/></a><br/>
<a href="https://example.com/image.jpg" rel="nofollow"><img src="https://example.com/image.jpg" title="remote link" alt=""/></a><br/> <a href="https://example.com/image.jpg" rel="nofollow"><img src="https://example.com/image.jpg" title="remote link" alt=""/></a><br/>
<a href="https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash" rel="nofollow">https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash</a><br/> <a href="https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash" rel="nofollow">https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash</a><br/>
@ -1170,10 +1170,10 @@ space</p>
<a href="https://example.com" rel="nofollow">remote link</a><br/> <a href="https://example.com" rel="nofollow">remote link</a><br/>
<a href="/relative/path/wiki/file.bin" rel="nofollow">local link</a><br/> <a href="/relative/path/wiki/file.bin" rel="nofollow">local link</a><br/>
<a href="https://example.com" rel="nofollow">remote link</a><br/> <a href="https://example.com" rel="nofollow">remote link</a><br/>
<a href="/relative/path/wiki/raw/image.jpg" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/image.jpg" alt="local image"/></a><br/> <a href="/relative/path/wiki/raw/image.jpg" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/image.jpg" alt="local image" loading="lazy"/></a><br/>
<a href="/relative/path/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/path/file" alt="local image"/></a><br/> <a href="/relative/path/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/path/file" alt="local image" loading="lazy"/></a><br/>
<a href="/relative/path/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/path/file" alt="local image"/></a><br/> <a href="/relative/path/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/path/file" alt="local image" loading="lazy"/></a><br/>
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image"/></a><br/> <a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image" loading="lazy"/></a><br/>
<a href="/relative/path/wiki/raw/image.jpg" rel="nofollow"><img src="/relative/path/wiki/raw/image.jpg" title="local image" alt=""/></a><br/> <a href="/relative/path/wiki/raw/image.jpg" rel="nofollow"><img src="/relative/path/wiki/raw/image.jpg" title="local image" alt=""/></a><br/>
<a href="https://example.com/image.jpg" rel="nofollow"><img src="https://example.com/image.jpg" title="remote link" alt=""/></a><br/> <a href="https://example.com/image.jpg" rel="nofollow"><img src="https://example.com/image.jpg" title="remote link" alt=""/></a><br/>
<a href="https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash" rel="nofollow">https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash</a><br/> <a href="https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash" rel="nofollow">https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash</a><br/>

View file

@ -44,6 +44,7 @@ func (g *ASTTransformer) transformImage(ctx *markup.RenderContext, v *ast.Image)
for _, attr := range v.Attributes() { for _, attr := range v.Attributes() {
image.SetAttribute(attr.Name, attr.Value) image.SetAttribute(attr.Name, attr.Value)
} }
image.SetAttributeString("loading", []byte("lazy"))
for child := v.FirstChild(); child != nil; { for child := v.FirstChild(); child != nil; {
next := child.NextSibling() next := child.NextSibling()
image.AppendChild(image, child) image.AppendChild(image, child)

View file

@ -108,6 +108,9 @@ func createDefaultPolicy() *bluemonday.Policy {
// Allow classes for emojis // Allow classes for emojis
policy.AllowAttrs("class").Matching(regexp.MustCompile(`^emoji$`)).OnElements("img") policy.AllowAttrs("class").Matching(regexp.MustCompile(`^emoji$`)).OnElements("img")
// Allow attributes for images
policy.AllowAttrs("loading").Matching(regexp.MustCompile(`^lazy$`)).OnElements("img")
// Allow icons, emojis, chroma syntax and keyword markup on span // Allow icons, emojis, chroma syntax and keyword markup on span
policy.AllowAttrs("class").Matching(regexp.MustCompile(`^((icon(\s+[\p{L}\p{N}_-]+)+)|(emoji)|(language-math display)|(language-math inline))$|^([a-z][a-z0-9]{0,2})$|^` + keywordClass + `$`)).OnElements("span") policy.AllowAttrs("class").Matching(regexp.MustCompile(`^((icon(\s+[\p{L}\p{N}_-]+)+)|(emoji)|(language-math display)|(language-math inline))$|^([a-z][a-z0-9]{0,2})$|^` + keywordClass + `$`)).OnElements("span")
policy.AllowAttrs("data-alias").Matching(regexp.MustCompile(`^[a-zA-Z0-9-_+]+$`)).OnElements("span") policy.AllowAttrs("data-alias").Matching(regexp.MustCompile(`^[a-zA-Z0-9-_+]+$`)).OnElements("span")

View file

@ -75,6 +75,10 @@ func Test_Sanitizer(t *testing.T) {
// Emoji // Emoji
`<span class="emoji" aria-label="thumbs up" data-alias="+1">THUMBS UP</span>`, `<span class="emoji" aria-label="thumbs up" data-alias="+1">THUMBS UP</span>`, `<span class="emoji" aria-label="thumbs up" data-alias="+1">THUMBS UP</span>`, `<span class="emoji" aria-label="thumbs up" data-alias="+1">THUMBS UP</span>`,
`<span class="emoji" aria-label="thumbs up" data-alias="(+!)">THUMBS UP</span>`, `<span class="emoji" aria-label="thumbs up">THUMBS UP</span>`, `<span class="emoji" aria-label="thumbs up" data-alias="(+!)">THUMBS UP</span>`, `<span class="emoji" aria-label="thumbs up">THUMBS UP</span>`,
// Images lazy loading
`<img src="/image1" alt="image1" loading="lazy">`, `<img src="/image1" alt="image1" loading="lazy">`,
`<img src="/image1" alt="image1" loading="eager">`, `<img src="/image1" alt="image1">`,
} }
for i := 0; i < len(testCases); i += 2 { for i := 0; i < len(testCases); i += 2 {

View file

@ -53,8 +53,7 @@ type CreateHookOption struct {
BranchFilter string `json:"branch_filter" binding:"GlobPattern"` BranchFilter string `json:"branch_filter" binding:"GlobPattern"`
AuthorizationHeader string `json:"authorization_header"` AuthorizationHeader string `json:"authorization_header"`
// default: false // default: false
Active bool `json:"active"` Active bool `json:"active"`
IsSystemWebhook bool `json:"is_system_webhook"`
} }
// EditHookOption options when modify one hook // EditHookOption options when modify one hook

View file

@ -192,8 +192,8 @@ func TestRenderMarkdownToHtml(t *testing.T) {
<a href="https://example.com" rel="nofollow">remote link</a> <a href="https://example.com" rel="nofollow">remote link</a>
<a href="/src/file.bin" rel="nofollow">local link</a> <a href="/src/file.bin" rel="nofollow">local link</a>
<a href="https://example.com" rel="nofollow">remote link</a> <a href="https://example.com" rel="nofollow">remote link</a>
<a href="/image.jpg" target="_blank" rel="nofollow noopener"><img src="/image.jpg" alt="local image"/></a> <a href="/image.jpg" target="_blank" rel="nofollow noopener"><img src="/image.jpg" alt="local image" loading="lazy"/></a>
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image"/></a> <a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image" loading="lazy"/></a>
<a href="/image.jpg" rel="nofollow"><img src="/image.jpg" title="local image" alt=""/></a> <a href="/image.jpg" rel="nofollow"><img src="/image.jpg" title="local image" alt=""/></a>
<a href="https://example.com/image.jpg" rel="nofollow"><img src="https://example.com/image.jpg" title="remote link" alt=""/></a> <a href="https://example.com/image.jpg" rel="nofollow"><img src="https://example.com/image.jpg" title="remote link" alt=""/></a>
<a href="https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash" rel="nofollow"><code>88fc37a3c0...12fc37a3c0 (hash)</code></a> <a href="https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash" rel="nofollow"><code>88fc37a3c0...12fc37a3c0 (hash)</code></a>

View file

@ -699,7 +699,7 @@ issues.filter_milestone_all = كل الأهداف
issues.unlock.notice_2 = - يمكنك دوما إقفال هذه المسألة من جديد في المستقبل. issues.unlock.notice_2 = - يمكنك دوما إقفال هذه المسألة من جديد في المستقبل.
issues.num_participants_few = %d متحاور issues.num_participants_few = %d متحاور
release.title = عنوان الإصدار release.title = عنوان الإصدار
issues.closed_at = `أغلق هذه المسألة <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.closed_at = `أغلق هذه المسألة %s`
issues.lock.title = إقفال التحاور في هذه المسألة. issues.lock.title = إقفال التحاور في هذه المسألة.
issues.new.no_label = بلا تصنيف issues.new.no_label = بلا تصنيف
issues.filter_sort.mostforks = الأعلى اشتقاقا issues.filter_sort.mostforks = الأعلى اشتقاقا
@ -759,7 +759,7 @@ branch.renamed = غُيّر اسم الفرع %s إلى %s.
delete_preexisting = احذف الملفات الموجودة سابقا delete_preexisting = احذف الملفات الموجودة سابقا
branch.included_desc = هذا الفرع جزء من الفرع المبدئي branch.included_desc = هذا الفرع جزء من الفرع المبدئي
trust_model_helper_collaborator_committer = مشترك+مودع: ثق بتوقيعات المشتركين التي تطابق المودع trust_model_helper_collaborator_committer = مشترك+مودع: ثق بتوقيعات المشتركين التي تطابق المودع
issues.reopened_at = `أعاد فتح هذه المسألة <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.reopened_at = `أعاد فتح هذه المسألة %s`
issues.action_milestone = هدف issues.action_milestone = هدف
issues.new.assignees = المكلَّفون issues.new.assignees = المكلَّفون
release.tag_name_protected = اسم الوسم محمي. release.tag_name_protected = اسم الوسم محمي.
@ -1166,7 +1166,7 @@ pulls.status_checking = في انتظار بعض الفحوص
pulls.status_checks_failure = بعض الفحوص فشلت pulls.status_checks_failure = بعض الفحوص فشلت
pulls.status_checks_success = جميع الفحوص ناجحة pulls.status_checks_success = جميع الفحوص ناجحة
pulls.status_checks_warning = بعض الفحوص تعطي تحذيرات pulls.status_checks_warning = بعض الفحوص تعطي تحذيرات
pulls.commit_ref_at = `أشار إلى طلب الدمج من إيداع <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.commit_ref_at = `أشار إلى طلب الدمج من إيداع %s`
pulls.cmd_instruction_hint = `أظهر شرح استخدام سطر الأوامر.` pulls.cmd_instruction_hint = `أظهر شرح استخدام سطر الأوامر.`
pulls.cmd_instruction_checkout_title = اسحب pulls.cmd_instruction_checkout_title = اسحب
pulls.cmd_instruction_checkout_desc = من مستودع مشروعك، اسحب (check out) فرعا جديدا واختبر التغييرات. pulls.cmd_instruction_checkout_desc = من مستودع مشروعك، اسحب (check out) فرعا جديدا واختبر التغييرات.
@ -1257,8 +1257,8 @@ pulls.status_checks_details = تفاصيل
pulls.status_checks_hide_all = أخفِ كل الفحوص pulls.status_checks_hide_all = أخفِ كل الفحوص
pulls.status_checks_show_all = أظهر كل الفحوص pulls.status_checks_show_all = أظهر كل الفحوص
pulls.close = أغلق طلب الدمج pulls.close = أغلق طلب الدمج
pulls.closed_at = `أغلق طلب الدمج <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.closed_at = `أغلق طلب الدمج %s`
pulls.reopened_at = `أعاد فتح طلب الدمج <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.reopened_at = `أعاد فتح طلب الدمج %s`
milestones.title = العنوان milestones.title = العنوان
milestones.desc = الوصف milestones.desc = الوصف
milestones.edit = عدّل الهدف milestones.edit = عدّل الهدف
@ -1302,11 +1302,11 @@ issues.closed_by_fake = من %[2]s أُغلقت %[1]s
issues.num_comments_1 = %d تعليق issues.num_comments_1 = %d تعليق
issues.num_comments = %d تعليقا issues.num_comments = %d تعليقا
issues.commented_at = `علّق <a href="#%s">%s</a>` issues.commented_at = `علّق <a href="#%s">%s</a>`
issues.commit_ref_at = `أشار إلى هذه المسألة من إيداع <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.commit_ref_at = `أشار إلى هذه المسألة من إيداع %s`
issues.ref_issue_from = `<a href="%[3]s">أشار إلى هذه المسألة %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_issue_from = `<a href="%[2]s">أشار إلى هذه المسألة %[3]s</a> %[1]s`
issues.ref_pull_from = `<a href="%[3]s">أشار إلى هذا الطلب %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_pull_from = `<a href="%[2]s">أشار إلى هذا الطلب %[3]s</a> %[1]s`
issues.ref_closing_from = `<a href="%[3]s">أشار إلى طلب دمج %[4]s سيغلق هذه المسألة</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_closing_from = `<a href="%[2]s">أشار إلى طلب دمج %[3]s سيغلق هذه المسألة</a> %[1]s`
issues.ref_reopening_from = `<a href="%[3]s">أشار إلى طلب دمج %[4]s سيعيد فتح هذه المسألة</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_reopening_from = `<a href="%[2]s">أشار إلى طلب دمج %[3]s سيعيد فتح هذه المسألة</a> %[1]s`
issues.ref_closed_from = `<a href="%[3]s">أغلق هذه المسألة %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_closed_from = `<a href="%[3]s">أغلق هذه المسألة %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopened_from = `<a href="%[3]s">أعاد فتح هذه المسألة %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_reopened_from = `<a href="%[3]s">أعاد فتح هذه المسألة %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.reference_issue.body = المحتوى issues.reference_issue.body = المحتوى

View file

@ -749,7 +749,7 @@ settings.admin_settings = Администраторски настройки
issues.role.owner = Притежател issues.role.owner = Притежател
settings.transfer.title = Прехвърляне на притежанието settings.transfer.title = Прехвърляне на притежанието
issues.author = Автор issues.author = Автор
issues.closed_at = `затвори тази задача <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.closed_at = `затвори тази задача %s`
settings.collaborator_deletion_desc = Премахването на сътрудник ще отнеме достъпа му до това хранилище. Продължаване? settings.collaborator_deletion_desc = Премахването на сътрудник ще отнеме достъпа му до това хранилище. Продължаване?
commits.message = Съобщение commits.message = Съобщение
issues.due_date_not_set = Няма зададен краен срок. issues.due_date_not_set = Няма зададен краен срок.
@ -773,9 +773,9 @@ issues.filter_type.all_issues = Всички задачи
issues.filter_poster_no_select = Всички автори issues.filter_poster_no_select = Всички автори
issues.opened_by = отворена %[1]s от <a href="%[2]s">%[3]s</a> issues.opened_by = отворена %[1]s от <a href="%[2]s">%[3]s</a>
issues.action_open = Отваряне issues.action_open = Отваряне
pulls.closed_at = `затвори тази заявка за сливане <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.closed_at = `затвори тази заявка за сливане %s`
pulls.reopened_at = `отвори наново тази заявка за сливане <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.reopened_at = `отвори наново тази заявка за сливане %s`
issues.reopened_at = `отвори наново тази задача <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.reopened_at = `отвори наново тази задача %s`
projects.column.edit = Редактиране на колоната projects.column.edit = Редактиране на колоната
issues.close = Затваряне на задачата issues.close = Затваряне на задачата
issues.ref_reopened_from = `<a href="%[3]s">отвори наново тази задача %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_reopened_from = `<a href="%[3]s">отвори наново тази задача %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
@ -1205,7 +1205,7 @@ issues.dependency.cancel = Отказ
issues.dependency.add_error_dep_exists = Зависимостта вече съществува. issues.dependency.add_error_dep_exists = Зависимостта вече съществува.
issues.dependency.add_error_dep_not_exist = Зависимостта не съществува. issues.dependency.add_error_dep_not_exist = Зависимостта не съществува.
issues.remove_ref_at = `премахна препратката <b>%s</b> %s` issues.remove_ref_at = `премахна препратката <b>%s</b> %s`
issues.ref_pull_from = `<a href="%[3]s">спомена тази заявка за сливане %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_pull_from = `<a href="%[2]s">спомена тази заявка за сливане %[3]s</a> %[1]s`
issues.dependency.pr_no_dependencies = Няма зададени зависимости. issues.dependency.pr_no_dependencies = Няма зададени зависимости.
issues.dependency.remove_info = Премахване на тази зависимост issues.dependency.remove_info = Премахване на тази зависимост
issues.dependency.removed_dependency = `премахна зависимостта %s` issues.dependency.removed_dependency = `премахна зависимостта %s`
@ -1230,11 +1230,11 @@ issues.dependency.title = Зависимости
issues.dependency.issue_no_dependencies = Няма зададени зависимости. issues.dependency.issue_no_dependencies = Няма зададени зависимости.
issues.dependency.pr_close_blocked = Трябва да затворите всички задачи, блокиращи тази заявка за сливане, преди да можете да я слеете. issues.dependency.pr_close_blocked = Трябва да затворите всички задачи, блокиращи тази заявка за сливане, преди да можете да я слеете.
issues.dependency.pr_close_blocks = Тази заявка за сливане блокира затварянето на следните задачи issues.dependency.pr_close_blocks = Тази заявка за сливане блокира затварянето на следните задачи
issues.ref_issue_from = `<a href="%[3]s">спомена тази задача %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_issue_from = `<a href="%[2]s">спомена тази задача %[3]s</a> %[1]s`
issues.commit_ref_at = `спомена тази задача в подаване <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.commit_ref_at = `спомена тази задача в подаване %s`
issues.add_ref_at = `добави препратка <b>%s</b> %s` issues.add_ref_at = `добави препратка <b>%s</b> %s`
pulls.merged_info_text = Клонът %s вече може да бъде изтрит. pulls.merged_info_text = Клонът %s вече може да бъде изтрит.
pulls.commit_ref_at = `спомена тази заявка за сливане в подаване <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.commit_ref_at = `спомена тази заявка за сливане в подаване %s`
issues.change_ref_at = `промени препратката от <b><strike>%s</strike></b> на <b>%s</b> %s` issues.change_ref_at = `промени препратката от <b><strike>%s</strike></b> на <b>%s</b> %s`
diff.review.reject = Поискване на промени diff.review.reject = Поискване на промени
diff.bin_not_shown = Двоичният файл не е показан. diff.bin_not_shown = Двоичният файл не е показан.
@ -1299,9 +1299,9 @@ branch.create_new_branch = Създаване на клон от клон:
pulls.status_checks_show_all = Показване на всички проверки pulls.status_checks_show_all = Показване на всички проверки
size_format = %[1]s: %[2]s; %[3]s: %[4]s size_format = %[1]s: %[2]s; %[3]s: %[4]s
pulls.filter_changes_by_commit = Филтриране по подаване pulls.filter_changes_by_commit = Филтриране по подаване
issues.ref_closing_from = `<a href="%[3]s">спомена тази задача в заявка за сливане %[4]s, която ще я затвори</a>, <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_closing_from = `<a href="%[2]s">спомена тази задача в заявка за сливане %[3]s, която ще я затвори</a>, %[1]s`
issues.ref_from = `от %[1]s` issues.ref_from = `от %[1]s`
issues.ref_reopening_from = `<a href="%[3]s">спомена тази задача в заявка за сливане %[4]s, която ще я отвори наново </a>, <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_reopening_from = `<a href="%[2]s">спомена тази задача в заявка за сливане %[3]s, която ще я отвори наново </a>, %[1]s`
issues.draft_title = Чернова issues.draft_title = Чернова
pulls.reopen_to_merge = Моля, отворете наново тази заявка за сливане, за да извършите сливане. pulls.reopen_to_merge = Моля, отворете наново тази заявка за сливане, за да извършите сливане.
pulls.cant_reopen_deleted_branch = Тази заявка за сливане не може да бъде отворена наново, защото клонът е изтрит. pulls.cant_reopen_deleted_branch = Тази заявка за сливане не може да бъде отворена наново, защото клонът е изтрит.

View file

@ -1633,13 +1633,13 @@ issues.opened_by_fake=otevřeno %[1]s uživatelem %[2]s
issues.closed_by_fake=od %[2]s byl uzavřen %[1]s issues.closed_by_fake=od %[2]s byl uzavřen %[1]s
issues.previous=Předchozí issues.previous=Předchozí
issues.next=Další issues.next=Další
issues.open_title=Otevřeno issues.open_title=Otevřené
issues.closed_title=Uzavřeno issues.closed_title=Uzavřené
issues.draft_title=Koncept issues.draft_title=Koncept
issues.num_comments_1=%d komentář issues.num_comments_1=%d komentář
issues.num_comments=%d komentářů issues.num_comments=%d komentářů
issues.commented_at=`okomentoval/a <a href="#%s">%s</a>` issues.commented_at=`okomentoval/a <a href="#%s">%s</a>`
issues.delete_comment_confirm=Jste si jist, že chcete smazat tento komentář? issues.delete_comment_confirm=Opravdu chcete smazat tento komentář?
issues.context.copy_link=Kopírovat odkaz issues.context.copy_link=Kopírovat odkaz
issues.context.quote_reply=Citovat odpověď issues.context.quote_reply=Citovat odpověď
issues.context.reference_issue=Odkázat v novém problému issues.context.reference_issue=Odkázat v novém problému
@ -1653,13 +1653,13 @@ issues.close_comment_issue=Zavřít s komentářem
issues.reopen_issue=Znovu otevřít issues.reopen_issue=Znovu otevřít
issues.reopen_comment_issue=Znovu otevřít s komentářem issues.reopen_comment_issue=Znovu otevřít s komentářem
issues.create_comment=Komentovat issues.create_comment=Komentovat
issues.closed_at=`uzavřel/a tento problém <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.closed_at=`uzavřel/a tento problém %s`
issues.reopened_at=`znovu otevřel/a tento problém <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.reopened_at=`znovu otevřel/a tento problém %s`
issues.commit_ref_at=`odkázal/a na tento problém z revize <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.commit_ref_at=`odkázal/a na tento problém z revize %s`
issues.ref_issue_from=`<a href="%[3]s">odkázal/a na tento problém %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_issue_from=`<a href="%[2]s">odkázal/a na tento problém %[3]s</a> %[1]s`
issues.ref_pull_from=`<a href="%[3]s">odkázal/a na tuto žádost o sloučení %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_pull_from=`<a href="%[2]s">odkázal/a na tuto žádost o sloučení %[3]s</a> %[1]s`
issues.ref_closing_from=`<a href="%[3]s">odkazoval/a na tento problém ze žádosti o sloučení %[4]s, která jej uzavře</a>, <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_closing_from=`<a href="%[2]s">odkázal/a na tento problém ze žádosti o sloučení %[3]s, která jej uzavře</a>, %[1]s`
issues.ref_reopening_from=`<a href="%[3]s">odkazoval/a na tento problém ze žádosti o sloučení %[4]s, která jej znovu otevře</a>, <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_reopening_from=`<a href="%[2]s">odkázal/a na tento problém ze žádosti o sloučení %[3]s, která jej znovu otevře</a>, %[1]s`
issues.ref_closed_from=`<a href="%[3]s">uzavřel/a tento problém %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_closed_from=`<a href="%[3]s">uzavřel/a tento problém %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopened_from=`<a href="%[3]s">znovu otevřel/a tento problém %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_reopened_from=`<a href="%[3]s">znovu otevřel/a tento problém %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_from=`z %[1]s` issues.ref_from=`z %[1]s`
@ -1966,8 +1966,8 @@ pulls.update_branch_success=Aktualizace větve byla úspěšná
pulls.update_not_allowed=Nemáte oprávnění aktualizovat větev pulls.update_not_allowed=Nemáte oprávnění aktualizovat větev
pulls.outdated_with_base_branch=Tato větev je zastaralá oproti základní větvi pulls.outdated_with_base_branch=Tato větev je zastaralá oproti základní větvi
pulls.close=Zavřít žádost o sloučení pulls.close=Zavřít žádost o sloučení
pulls.closed_at=`uzavřel/a tuto žádost o sloučení <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.closed_at=`uzavřel/a tuto žádost o sloučení %s`
pulls.reopened_at=`znovu otevřel/a tuto žádost o sloučení <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.reopened_at=`znovu otevřel/a tuto žádost o sloučení %s`
pulls.cmd_instruction_hint=Zobrazit instrukce příkazové řádky pulls.cmd_instruction_hint=Zobrazit instrukce příkazové řádky
pulls.cmd_instruction_checkout_desc=Z vašeho repositáře projektu se podívejte na novou větev a vyzkoušejte změny. pulls.cmd_instruction_checkout_desc=Z vašeho repositáře projektu se podívejte na novou větev a vyzkoušejte změny.
pulls.cmd_instruction_merge_title=Sloučit pulls.cmd_instruction_merge_title=Sloučit
@ -2758,7 +2758,7 @@ settings.mirror_settings.docs.disabled_push_mirror.pull_mirror_warning = Tuto ak
settings.new_owner_blocked_doer = Nový majitel vás zablokoval. settings.new_owner_blocked_doer = Nový majitel vás zablokoval.
settings.mirror_settings.pushed_repository = Odeslaný repozitář settings.mirror_settings.pushed_repository = Odeslaný repozitář
settings.add_collaborator_blocked_our = Nepodařilo se přidat spolupracovníka, jelikož byl zablokován majitelem repozitáře. settings.add_collaborator_blocked_our = Nepodařilo se přidat spolupracovníka, jelikož byl zablokován majitelem repozitáře.
pulls.commit_ref_at = `se odkázal/a na tuto žádost o sloučení z revize <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.commit_ref_at = `odkázal/a na tuto žádost o sloučení z revize %s`
settings.wiki_rename_branch_main = Normalizovat název větve wiki settings.wiki_rename_branch_main = Normalizovat název větve wiki
settings.wiki_rename_branch_main_desc = Přejmenovat větev interně používanou pro wiki na „%s“. Tato změna je trvalá a nelze ji vrátit. settings.wiki_rename_branch_main_desc = Přejmenovat větev interně používanou pro wiki na „%s“. Tato změna je trvalá a nelze ji vrátit.
pulls.fast_forward_only_merge_pull_request = Pouze zrychlené pulls.fast_forward_only_merge_pull_request = Pouze zrychlené

View file

@ -1520,15 +1520,15 @@ issues.add_labels = tilføjede %s etiketterne %s
issues.add_remove_labels = tilføjede %s og fjernede %s etiketter %s issues.add_remove_labels = tilføjede %s og fjernede %s etiketter %s
issues.add_milestone_at = `føjede dette til <b>%s</b> milepælen %s` issues.add_milestone_at = `føjede dette til <b>%s</b> milepælen %s`
issues.add_project_at = `føjede dette til <b>%s</b>- projektet %s` issues.add_project_at = `føjede dette til <b>%s</b>- projektet %s`
issues.ref_reopening_from = `<a href="%[3]s">henviste til dette problem fra en pull-anmodning %[4]s, der vil genåbne den</a>, <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_reopening_from = `<a href="%[2]s">henviste til dette problem fra en pull-anmodning %[3]s, der vil genåbne den</a>, %[1]s`
issues.ref_closed_from = `<a href="%[3]s">lukkede dette problem %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2 ]s</a>` issues.ref_closed_from = `<a href="%[3]s">lukkede dette problem %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2 ]s</a>`
issues.ref_reopened_from = `<a href="%[3]s">genåbnede dette problem %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2 ]s</a>` issues.ref_reopened_from = `<a href="%[3]s">genåbnede dette problem %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2 ]s</a>`
issues.ref_from = `fra %[1]s` issues.ref_from = `fra %[1]s`
issues.author = Forfatter issues.author = Forfatter
issues.commit_ref_at = `henviste til dette problem fra en commit <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.commit_ref_at = `henviste til dette problem fra en commit %s`
issues.ref_issue_from = `<a href="%[3]s">henviste til dette problem %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2 ]s</a>` issues.ref_issue_from = `<a href="%[2]s">henviste til dette problem %[3]s</a> <a id="%[1]s" href="#%[1]s">%[2 ]s</a>`
issues.ref_pull_from = `<a href="%[3]s">henviste til denne pull-anmodning %[4]s</a> <a id="%[1]s" href="#%[1]s">%[ 2]s</a>` issues.ref_pull_from = `<a href="%[2]s">henviste til denne pull-anmodning %[3]s</a> %[1]s`
issues.ref_closing_from = `<a href="%[3]s">henviste til dette problem fra en pull-anmodning %[4]s, der vil lukke det</a>, <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_closing_from = `<a href="%[2]s">henviste til dette problem fra en pull-anmodning %[3]s, der vil lukke det</a>, %[1]s`
issues.author.tooltip.issue = Denne bruger er forfatteren til dette problem. issues.author.tooltip.issue = Denne bruger er forfatteren til dette problem.
issues.author.tooltip.pr = Denne bruger er forfatteren af denne pull-anmodning. issues.author.tooltip.pr = Denne bruger er forfatteren af denne pull-anmodning.
issues.role.owner = Ejer issues.role.owner = Ejer
@ -1564,8 +1564,8 @@ issues.reaction.alt_add = Tilføj %[1]s reaktion til kommentar.
issues.context.menu = Kommentar menu issues.context.menu = Kommentar menu
issues.reopen_comment_issue = Genåbner med kommentar issues.reopen_comment_issue = Genåbner med kommentar
issues.create_comment = Kommentar issues.create_comment = Kommentar
issues.closed_at = `lukkede dette problem <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.closed_at = `lukkede dette problem %s`
issues.reopened_at = `genåbnede dette problem <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.reopened_at = `genåbnede dette problem %s`
issues.remove_label = fjernede %s etiketten %s issues.remove_label = fjernede %s etiketten %s
issues.remove_labels = fjernede %s etiketterne %s issues.remove_labels = fjernede %s etiketterne %s
issues.change_project_at = `modificerede projektet fra <b>%s</b> til <b>%s</b> %s` issues.change_project_at = `modificerede projektet fra <b>%s</b> til <b>%s</b> %s`
@ -1911,10 +1911,10 @@ pulls.editable_explanation = Denne pull-anmodning tillader redigeringer fra vedl
pulls.auto_merge_button_when_succeed = (Når kontroller lykkes) pulls.auto_merge_button_when_succeed = (Når kontroller lykkes)
pulls.status_checks_requested = Påkrævet pulls.status_checks_requested = Påkrævet
pulls.close = Luk pull anmodning pulls.close = Luk pull anmodning
pulls.commit_ref_at = `henviste til denne pull-anmodning fra en commit <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.commit_ref_at = `henviste til denne pull-anmodning fra en commit %s`
pulls.cmd_instruction_hint = Se instruktionerne på kommandolinjen pulls.cmd_instruction_hint = Se instruktionerne på kommandolinjen
pulls.reopened_at = `genåbnede denne pull-anmodning <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.reopened_at = `genåbnede denne pull-anmodning %s`
pulls.closed_at = `lukkede denne pull-anmodning <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.closed_at = `lukkede denne pull-anmodning %s`
pulls.cmd_instruction_checkout_desc = Fra dit projektdepot, tjek en ny gren og test ændringerne. pulls.cmd_instruction_checkout_desc = Fra dit projektdepot, tjek en ny gren og test ændringerne.
pulls.editable = Redigerbar pulls.editable = Redigerbar
pulls.made_using_agit = AGit pulls.made_using_agit = AGit

View file

@ -1577,7 +1577,7 @@ issues.remove_ref_at=`hat die Referenz <b>%s</b> %s entfernt`
issues.add_ref_at=`hat die Referenz <b>%s</b> %s hinzugefügt` issues.add_ref_at=`hat die Referenz <b>%s</b> %s hinzugefügt`
issues.delete_branch_at=`löschte den Branch <b>%s</b> %s` issues.delete_branch_at=`löschte den Branch <b>%s</b> %s`
issues.filter_label=Label issues.filter_label=Label
issues.filter_label_exclude=`<code>Alt</code> + <code>Klick/Enter</code> verwenden, um Labels auszuschließen` issues.filter_label_exclude=`Verwende <kbd>Alt</kbd> + <kbd>Klick/Enter</kbd>, um Labels auszuschließen`
issues.filter_label_no_select=Alle Labels issues.filter_label_no_select=Alle Labels
issues.filter_label_select_no_label=Kein Label issues.filter_label_select_no_label=Kein Label
issues.filter_milestone=Meilenstein issues.filter_milestone=Meilenstein
@ -1651,13 +1651,13 @@ issues.close_comment_issue=Mit Kommentar schließen
issues.reopen_issue=Wieder öffnen issues.reopen_issue=Wieder öffnen
issues.reopen_comment_issue=Mit Kommentar wieder öffnen issues.reopen_comment_issue=Mit Kommentar wieder öffnen
issues.create_comment=Kommentieren issues.create_comment=Kommentieren
issues.closed_at=`hat diesen Issue <a id="%[1]s" href="#%[1]s">%[2]s</a> geschlossen` issues.closed_at=`hat dieses Issue %s geschlossen`
issues.reopened_at=`hat dieses Issue <a id="%[1]s" href="#%[1]s">%[2]s</a> wieder geöffnet` issues.reopened_at=`hat dieses Issue %s wieder geöffnet`
issues.commit_ref_at=`hat dieses Issue <a id="%[1]s" href="#%[1]s">%[2]s</a> aus einem Commit referenziert` issues.commit_ref_at=`hat dieses Issue %s aus einem Commit referenziert`
issues.ref_issue_from=`<a href="%[3]s">hat</a> <a id="%[1]s" href="#%[1]s">%[2]s</a> <a href="%[3]s">auf dieses Issue verwiesen %[4]s</a>` issues.ref_issue_from=`<a href="%[2]s">hat</a> %[1]s <a href="%[2]s">auf dieses Issue verwiesen %[3]s</a>`
issues.ref_pull_from=`<a href="%[3]s">hat</a> <a id="%[1]s" href="#%[1]s">%[2]s</a> <a href="%[3]s">auf diesen Pull-Request verwiesen %[4]s</a>` issues.ref_pull_from=`<a href="%[2]s">referenzierte diesen Pull-Request %[3]s</a> %[1]s`
issues.ref_closing_from=`<a href="%[3]s">hat</a> <a id="%[1]s" href="#%[1]s">%[2]s</a> <a href="%[3]s">in einem Pull-Request %[4]s auf dieses Issue verwiesen, welcher es schließen wird</a>` issues.ref_closing_from=`<a href="%[2]s">referenzierte dieses Issue aus einem Pull-Request %[3]s der es schließen wird</a>, %[1]s`
issues.ref_reopening_from=`<a href="%[3]s">hat</a> <a id="%[1]s" href="#%[1]s">%[2]s</a> <a href="%[3]s"> in einem Pull-Request %[4]s auf dieses Issue verwiesen, welcher es erneut öffnen wird</a>` issues.ref_reopening_from=`<a href="%[2]s">referenzierte dieses Issue aus einem Pull-Request %[3]s der es wieder öffnen wird</a>, %[1]s`
issues.ref_closed_from=`<a href="%[3]s">hat dieses Issue %[4]s geschlossen</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_closed_from=`<a href="%[3]s">hat dieses Issue %[4]s geschlossen</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopened_from=`<a href="%[3]s">hat dieses Issue %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a> wieder geöffnet` issues.ref_reopened_from=`<a href="%[3]s">hat dieses Issue %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a> wieder geöffnet`
issues.ref_from=`von %[1]s` issues.ref_from=`von %[1]s`
@ -1962,8 +1962,8 @@ pulls.update_branch_success=Branch-Aktualisierung erfolgreich
pulls.update_not_allowed=Du hast keine Berechtigung, den Branch zu updaten pulls.update_not_allowed=Du hast keine Berechtigung, den Branch zu updaten
pulls.outdated_with_base_branch=Dieser Branch enthält nicht die neusten Commits des Basis-Branches pulls.outdated_with_base_branch=Dieser Branch enthält nicht die neusten Commits des Basis-Branches
pulls.close=Pull-Request schließen pulls.close=Pull-Request schließen
pulls.closed_at=`hat diesen Pull-Request <a id="%[1]s" href="#%[1]s">%[2]s</a> geschlossen` pulls.closed_at=`hat diesen Pull-Request %s geschlossen`
pulls.reopened_at=`hat diesen Pull-Request <a id="%[1]s" href="#%[1]s">%[2]s</a> wieder geöffnet` pulls.reopened_at=`hat diesen Pull-Request %s wieder geöffnet`
pulls.clear_merge_message=Merge-Nachricht löschen pulls.clear_merge_message=Merge-Nachricht löschen
pulls.clear_merge_message_hint=Das Löschen der Merge-Nachricht wird nur den Inhalt der Commit-Nachricht entfernen und generierte Git-Trailer wie „Co-Authored-By …“ erhalten. pulls.clear_merge_message_hint=Das Löschen der Merge-Nachricht wird nur den Inhalt der Commit-Nachricht entfernen und generierte Git-Trailer wie „Co-Authored-By …“ erhalten.
@ -2767,7 +2767,7 @@ settings.wiki_globally_editable = Allen erlauben, das Wiki zu bearbeiten
settings.protect_branch_name_pattern_desc = Geschützte Branch-Namens-Patterns. Siehe <a href="%s">die Dokumentation</a> für Pattern-Syntax. Beispiele: main, release/** settings.protect_branch_name_pattern_desc = Geschützte Branch-Namens-Patterns. Siehe <a href="%s">die Dokumentation</a> für Pattern-Syntax. Beispiele: main, release/**
settings.ignore_stale_approvals = Abgestandene Genehmigungen ignorieren settings.ignore_stale_approvals = Abgestandene Genehmigungen ignorieren
settings.ignore_stale_approvals_desc = Genehmigungen, welche für ältere Commits gemacht wurden (abgestandene Reviews), nicht in die Gesamtzahl der Genehmigung des PRs mitzählen. Irrelevant, falls abgestandene Reviews bereits verworfen werden. settings.ignore_stale_approvals_desc = Genehmigungen, welche für ältere Commits gemacht wurden (abgestandene Reviews), nicht in die Gesamtzahl der Genehmigung des PRs mitzählen. Irrelevant, falls abgestandene Reviews bereits verworfen werden.
pulls.commit_ref_at = `hat sich auf diesen Pull-Request von einem Commit <a id="%[1]s" href="#%[1]s">%[2]s</a> bezogen` pulls.commit_ref_at = `referenzierte diesen Pull-Request aus einem Commit %s`
pulls.fast_forward_only_merge_pull_request = Nur Fast-forward pulls.fast_forward_only_merge_pull_request = Nur Fast-forward
pulls.cmd_instruction_checkout_desc = Checke einen neuen Branch aus deinem Projekt-Repository aus und teste die Änderungen. pulls.cmd_instruction_checkout_desc = Checke einen neuen Branch aus deinem Projekt-Repository aus und teste die Änderungen.
pulls.cmd_instruction_merge_title = Zusammenführen pulls.cmd_instruction_merge_title = Zusammenführen
@ -3061,8 +3061,8 @@ teams.invite.by=Von %s eingeladen
teams.invite.description=Bitte klicke auf die folgende Schaltfläche, um dem Team beizutreten. teams.invite.description=Bitte klicke auf die folgende Schaltfläche, um dem Team beizutreten.
follow_blocked_user = Du kannst dieser Organisation nicht folgen, weil diese Organisation dich blockiert hat. follow_blocked_user = Du kannst dieser Organisation nicht folgen, weil diese Organisation dich blockiert hat.
open_dashboard = Übersicht öffnen open_dashboard = Übersicht öffnen
settings.change_orgname_redirect_prompt.with_cooldown.one = Der alte Organisationsname ist nach einer Abkühldauer von einem Tag wieder für alle verfügbar. Du kannst den alten Namen während dieser Abkühldauer erneut beanspruchen. settings.change_orgname_redirect_prompt.with_cooldown.one = Der alte Organisationsname ist nach einer Schutzzeit von einem Tag wieder für alle verfügbar. Du kannst den alten Namen während dieser Schutzzeit erneut beanspruchen.
settings.change_orgname_redirect_prompt.with_cooldown.few = Der alte Organisationsname ist nach einer Abkühldauer von %[1]d Tagen wieder für alle verfügbar. Du kannst den alten Namen während dieser Abkühldauer erneut beanspruchen. settings.change_orgname_redirect_prompt.with_cooldown.few = Der alte Organisationsname ist nach einer Schutzzeit von %[1]d Tagen wieder für alle verfügbar. Du kannst den alten Namen während dieser Schutzzeit erneut beanspruchen.
[admin] [admin]
dashboard=Übersicht dashboard=Übersicht

View file

@ -1626,13 +1626,13 @@ issues.close_comment_issue=Αποστολή σχολίου και κλείσιμ
issues.reopen_issue=Ανοίξτε ξανά issues.reopen_issue=Ανοίξτε ξανά
issues.reopen_comment_issue=Αποστολή σχολίου και επανάνοιγμα ζητήματος issues.reopen_comment_issue=Αποστολή σχολίου και επανάνοιγμα ζητήματος
issues.create_comment=Προσθήκη Σχολίου issues.create_comment=Προσθήκη Σχολίου
issues.closed_at=`αυτό το ζήτημα έκλεισε <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.closed_at=`αυτό το ζήτημα έκλεισε %s`
issues.reopened_at=`ξανά άνοιξε αυτό το ζήτημα <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.reopened_at=`ξανά άνοιξε αυτό το ζήτημα %s`
issues.commit_ref_at=`αναφορά σε αυτό το ζήτημα από την παραπομπή <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.commit_ref_at=`αναφορά σε αυτό το ζήτημα από την παραπομπή %s`
issues.ref_issue_from=`<a href="%[3]s">αναφέρθηκε σε αυτό το ζήτημα %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_issue_from=`<a href="%[2]s">αναφέρθηκε σε αυτό το ζήτημα %[3]s</a> %[1]s`
issues.ref_pull_from=`<a href="%[3]s">αναφέρθηκε σε αυτό το pull request %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_pull_from=`<a href="%[2]s">αναφέρθηκε σε αυτό το pull request %[3]s</a> %[1]s`
issues.ref_closing_from=`<a href="%[3]s">ανέφερε αυτό το ζήτημα σε ένα pull request %[4]s που στοχεύει να κλείσει το ζήτημα</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_closing_from=`<a href="%[2]s">ανέφερε αυτό το ζήτημα σε ένα pull request %[3]s που στοχεύει να κλείσει το ζήτημα</a> %[1]s`
issues.ref_reopening_from=`<a href="%[3]s">αναφέρθηκε σε αυτό το ζήτημα σε ένα pull request %[4]s που θα ξαναανοίξει αυτό το ζήτημα</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_reopening_from=`<a href="%[2]s">αναφέρθηκε σε αυτό το ζήτημα σε ένα pull request %[3]s που θα ξαναανοίξει αυτό το ζήτημα</a> %[1]s`
issues.ref_closed_from=`<a href="%[3]s">έκλεισε αυτό το ζήτημα %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_closed_from=`<a href="%[3]s">έκλεισε αυτό το ζήτημα %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopened_from=`<a href="%[3]s">άνοιξε ξανά αυτό το ζήτημα %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_reopened_from=`<a href="%[3]s">άνοιξε ξανά αυτό το ζήτημα %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_from=`από %[1]s` issues.ref_from=`από %[1]s`
@ -1939,8 +1939,8 @@ pulls.update_branch_success=Η ενημέρωση του κλάδου ήταν
pulls.update_not_allowed=Δεν επιτρέπεται να ενημερώσετε τον κλάδο pulls.update_not_allowed=Δεν επιτρέπεται να ενημερώσετε τον κλάδο
pulls.outdated_with_base_branch=Αυτός ο κλάδος δεν είναι ενημερωμένος με τον βασικό κλάδο pulls.outdated_with_base_branch=Αυτός ο κλάδος δεν είναι ενημερωμένος με τον βασικό κλάδο
pulls.close=Κλείσιμο pull request pulls.close=Κλείσιμο pull request
pulls.closed_at=`έκλεισε αυτό το pull request <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.closed_at=`έκλεισε αυτό το pull request %s`
pulls.reopened_at=`άνοιξε ξανά αυτό το pull request <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.reopened_at=`άνοιξε ξανά αυτό το pull request %s`
pulls.cmd_instruction_hint=Προβολή οδηγιών γραμμής εντολών pulls.cmd_instruction_hint=Προβολή οδηγιών γραμμής εντολών
pulls.cmd_instruction_checkout_title=Έλεγχος pulls.cmd_instruction_checkout_title=Έλεγχος
pulls.cmd_instruction_checkout_desc=Από το repository του έργου σας, ελέγξτε έναν νέο κλάδο και δοκιμάστε τις αλλαγές. pulls.cmd_instruction_checkout_desc=Από το repository του έργου σας, ελέγξτε έναν νέο κλάδο και δοκιμάστε τις αλλαγές.
@ -2720,7 +2720,7 @@ settings.new_owner_blocked_doer = Ο νέος κάτοχος του αποθετ
settings.enter_repo_name = Γράψτε το όνομα του κατόχου και του αποθετηρίου ακριβώς όπως το βλέπετε: settings.enter_repo_name = Γράψτε το όνομα του κατόχου και του αποθετηρίου ακριβώς όπως το βλέπετε:
settings.confirmation_string = Κείμενο επιβεβαίωσης settings.confirmation_string = Κείμενο επιβεβαίωσης
settings.units.overview = Επισκόπηση settings.units.overview = Επισκόπηση
pulls.commit_ref_at = `ανέφερε το pull request στο commit <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.commit_ref_at = `ανέφερε το pull request στο commit %s`
contributors.contribution_type.filter_label = Είδος συνεισφοράς: contributors.contribution_type.filter_label = Είδος συνεισφοράς:
settings.wiki_rename_branch_main_notices_1 = Αυτή η ενέργεια <strong>ΔΕΝ</strong> αναιρείται. settings.wiki_rename_branch_main_notices_1 = Αυτή η ενέργεια <strong>ΔΕΝ</strong> αναιρείται.
activity.navbar.contributors = Συνεισφέροντες activity.navbar.contributors = Συνεισφέροντες

View file

@ -1610,7 +1610,7 @@ issues.remove_ref_at = `removed reference <b>%s</b> %s`
issues.add_ref_at = `added reference <b>%s</b> %s` issues.add_ref_at = `added reference <b>%s</b> %s`
issues.delete_branch_at = `deleted branch <b>%s</b> %s` issues.delete_branch_at = `deleted branch <b>%s</b> %s`
issues.filter_label = Label issues.filter_label = Label
issues.filter_label_exclude = `Use <code>alt</code> + <code>click/enter</code> to exclude labels` issues.filter_label_exclude = Use <kbd>Alt</kbd> + <kbd>Click</kbd> to exclude labels
issues.filter_label_no_select = All labels issues.filter_label_no_select = All labels
issues.filter_label_select_no_label = No label issues.filter_label_select_no_label = No label
issues.filter_milestone = Milestone issues.filter_milestone = Milestone

View file

@ -1648,13 +1648,13 @@ issues.close_comment_issue=Cerrar con comentario
issues.reopen_issue=Reabrir issues.reopen_issue=Reabrir
issues.reopen_comment_issue=Reabrir con comentario issues.reopen_comment_issue=Reabrir con comentario
issues.create_comment=Comentar issues.create_comment=Comentar
issues.closed_at=`cerró esta incidencia <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.closed_at=`cerró esta incidencia %s`
issues.reopened_at=`reabrió esta incidencia <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.reopened_at=`reabrió esta incidencia %s`
issues.commit_ref_at=`referenció esta incidencia en un commit <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.commit_ref_at=`referenció esta incidencia en un commit %s`
issues.ref_issue_from=`<a href="%[3]s">referenció esta incidencia %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_issue_from=`<a href="%[2]s">referenció esta incidencia %[3]s</a> %[1]s`
issues.ref_pull_from=`<a href="%[3]s">referenció este pull request %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_pull_from=`<a href="%[2]s">referenció este pull request %[3]s</a> %[1]s`
issues.ref_closing_from=`<a href="%[3]s">hizo referencia a esta incidencia desde un pull request %[4]s que lo cerrará</a> , <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_closing_from=`<a href="%[2]s">hizo referencia a esta incidencia desde un pull request %[3]s que lo cerrará</a> , %[1]s`
issues.ref_reopening_from=`<a href="%[3]s">hizo referencia a esta incidencia desde un pull request %[4]s que lo reabrirá</a>, <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_reopening_from=`<a href="%[2]s">hizo referencia a esta incidencia desde un pull request %[3]s que lo reabrirá</a>, %[1]s`
issues.ref_closed_from=`<a href="%[3]s">cerró esta incidencia %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_closed_from=`<a href="%[3]s">cerró esta incidencia %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopened_from=`<a href="%[3]s">reabrió esta incidencia %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_reopened_from=`<a href="%[3]s">reabrió esta incidencia %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_from=`de %[1]s` issues.ref_from=`de %[1]s`
@ -1959,8 +1959,8 @@ pulls.update_branch_success=La actualización de la rama ha finalizado correctam
pulls.update_not_allowed=No tiene permisos para actualizar esta rama 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.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 <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.closed_at=`cerró este pull request %s`
pulls.reopened_at=`reabrió este pull request <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.reopened_at=`reabrió este pull request %s`
pulls.clear_merge_message=Borrar mensaje de fusión pulls.clear_merge_message=Borrar mensaje de fusión
pulls.clear_merge_message_hint=Limpiar el mensaje de fusión solo eliminará el contenido del mensaje de commit y mantendrá frases generadas como "Co-Autorizado por …". pulls.clear_merge_message_hint=Limpiar el mensaje de fusión solo eliminará el contenido del mensaje de commit y mantendrá frases generadas como "Co-Autorizado por …".
@ -2789,7 +2789,7 @@ pulls.status_checks_hide_all = Ocultar todas las verificaciones
settings.federation_not_enabled = La federación no está habilitada en tu instancia. settings.federation_not_enabled = La federación no está habilitada en tu instancia.
wiki.search = Buscar en wiki wiki.search = Buscar en wiki
pulls.status_checks_show_all = Mostrar todas las verificaciones pulls.status_checks_show_all = Mostrar todas las verificaciones
pulls.commit_ref_at = `hizo referencia a este pull request desde un commit <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.commit_ref_at = `hizo referencia a este pull request desde un commit %s`
pulls.cmd_instruction_merge_title = Fusionar pulls.cmd_instruction_merge_title = Fusionar
contributors.contribution_type.deletions = Eliminaciones contributors.contribution_type.deletions = Eliminaciones
contributors.contribution_type.filter_label = Tipo de contribución: contributors.contribution_type.filter_label = Tipo de contribución:

View file

@ -1250,13 +1250,13 @@ issues.close_comment_issue=ثبت دیدگاه و بستن
issues.reopen_issue=بازگشایی issues.reopen_issue=بازگشایی
issues.reopen_comment_issue=ثبت دیدگاه و بازگشایی issues.reopen_comment_issue=ثبت دیدگاه و بازگشایی
issues.create_comment=دیدگاه issues.create_comment=دیدگاه
issues.closed_at=`<a id="%[1]s" href="#%[1]s">%[2]s</a> این موضوع را بست` issues.closed_at=`%s این موضوع را بست`
issues.reopened_at=`<a id="%[1]s" href="#%[1]s">%[2]s</a> این موضوع را دوباره باز کرد` issues.reopened_at=`%s این موضوع را دوباره باز کرد`
issues.commit_ref_at=`ارجاع این مسئله به کامیت <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.commit_ref_at=`ارجاع این مسئله به کامیت %s`
issues.ref_issue_from=`<a href="%[3]s"> ارجاعات این مسائله %[4]</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_issue_from=`<a href="%[2]s"> ارجاعات این مسائله %[3]</a> %[1]s`
issues.ref_pull_from=`<a href="%[3]s"> ارجاعات این تقاضای ادغام %[4]</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_pull_from=`<a href="%[2]s"> ارجاعات این تقاضای ادغام %[4]</a> %[1]s`
issues.ref_closing_from=`<a href="%[3]s"> ارجاعات این تقاضای واکشی %[4]</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_closing_from=`<a href="%[2]s"> ارجاعات این تقاضای واکشی %[4]</a> %[1]s`
issues.ref_reopening_from=`<a href="%[3]s"> تقاضای واکشی ارجاع شده %[4] که مسائله بازگشایی خواهد کرد</a> <a id="%[1]s" href="#%[1]s">%[2] </a>` issues.ref_reopening_from=`<a href="%[2]s"> تقاضای واکشی ارجاع شده %[3]sکه مسائله بازگشایی خواهد کرد</a> <a id="%[1]s" href="#%[1]s">%[2] </a>`
issues.ref_closed_from=`<a href="%[3]s"> بسته شده این مسائله %[4]</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_closed_from=`<a href="%[3]s"> بسته شده این مسائله %[4]</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopened_from=`<a href="%[3]s"> بازگشایی این مسائله %[4]</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_reopened_from=`<a href="%[3]s"> بازگشایی این مسائله %[4]</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_from=`از %[1]` issues.ref_from=`از %[1]`
@ -1493,8 +1493,8 @@ pulls.update_branch_rebase=بروزآوری شاخه با بازسازی مجد
pulls.update_branch_success=شاخه به موفقیت بروز شد pulls.update_branch_success=شاخه به موفقیت بروز شد
pulls.update_not_allowed=شما اجازه بروزرسانی شاخه را ندارید pulls.update_not_allowed=شما اجازه بروزرسانی شاخه را ندارید
pulls.outdated_with_base_branch=این شاخه با شاخه پایه منسوخ شده است pulls.outdated_with_base_branch=این شاخه با شاخه پایه منسوخ شده است
pulls.closed_at=`این درخواست pull بسته شده <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.closed_at=`این درخواست pull بسته شده %s`
pulls.reopened_at=`این درخواست pull را بازگشایی کرد <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.reopened_at=`این درخواست pull را بازگشایی کرد %s`

View file

@ -1293,9 +1293,9 @@ issues.close_comment_issue=Kommentoi ja sulje
issues.reopen_issue=Avaa uudelleen issues.reopen_issue=Avaa uudelleen
issues.reopen_comment_issue=Kommentoi ja avaa uudelleen issues.reopen_comment_issue=Kommentoi ja avaa uudelleen
issues.create_comment=Kommentoi issues.create_comment=Kommentoi
issues.closed_at=`sulki tämän ongelman <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.closed_at=`sulki tämän ongelman %s`
issues.reopened_at=`uudelleenavasi tämän ongelman <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.reopened_at=`uudelleenavasi tämän ongelman %s`
issues.commit_ref_at=`viittasi tähän ongelmaan kommitissa <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.commit_ref_at=`viittasi tähän ongelmaan kommitissa %s`
issues.author=Tekijä issues.author=Tekijä
issues.role.owner=Omistaja issues.role.owner=Omistaja
issues.role.member=Jäsen issues.role.member=Jäsen
@ -2185,7 +2185,7 @@ settings.confirmation_string = Vahvistusteksti
settings.delete_notices_2 = - Tämä toiminto poistaa pysyvästi tietovaraston <strong>%s</strong> mukaan lukien koodin, ongelmat, kommentit, wikidatan ja avustaja-asetukset. settings.delete_notices_2 = - Tämä toiminto poistaa pysyvästi tietovaraston <strong>%s</strong> mukaan lukien koodin, ongelmat, kommentit, wikidatan ja avustaja-asetukset.
issues.filter_assginee_no_select = Kaikki käsittelijät issues.filter_assginee_no_select = Kaikki käsittelijät
issues.new.assign_to_me = Osoita itselle issues.new.assign_to_me = Osoita itselle
pulls.closed_at = `sulki tämän vetopyynnön <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.closed_at = `sulki tämän vetopyynnön %s`
tree_path_not_found_branch = Polkua %[1]s ei ole olemassa haarassa %[2]s tree_path_not_found_branch = Polkua %[1]s ei ole olemassa haarassa %[2]s
transfer.no_permission_to_reject = Sinulla ei ole oikeutta hylätä tätä siirtoa. transfer.no_permission_to_reject = Sinulla ei ole oikeutta hylätä tätä siirtoa.
generate_repo = Luo tietovarasto generate_repo = Luo tietovarasto
@ -2199,8 +2199,8 @@ issues.new.no_reviewers = Ei katselmoijia
issues.add_label = lisäsi nimilapun %s %s issues.add_label = lisäsi nimilapun %s %s
issues.due_date_added = lisäsi eräpäivän %s %s issues.due_date_added = lisäsi eräpäivän %s %s
issues.review.add_review_request = pyysi katselmointia käyttäjältä %[1]s %[2]s issues.review.add_review_request = pyysi katselmointia käyttäjältä %[1]s %[2]s
issues.ref_pull_from = `<a href="%[3]s">viittasi tähän vetopyyntöön %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_pull_from = `<a href="%[2]s">viittasi tähän vetopyyntöön %[3]s</a> %[1]s`
pulls.commit_ref_at = `viittasi tähän vetopyyntöön kommitista <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.commit_ref_at = `viittasi tähän vetopyyntöön kommitista %s`
issues.review.comment = katselmoi %s issues.review.comment = katselmoi %s
issues.add_labels = lisäsi nimilaput %s %s issues.add_labels = lisäsi nimilaput %s %s
issues.review.add_review_requests = pyysi katselmointeja käyttäjiltä %[1]s %[2]s issues.review.add_review_requests = pyysi katselmointeja käyttäjiltä %[1]s %[2]s
@ -2381,7 +2381,7 @@ wiki.page_name_desc = Kirjoita tämän wikisivun nimi. Joitain erikoisnimiä ova
pulls.blocked_by_changed_protected_files_1 = Tämä vetopyyntö sisältää suojatun tiedoston ja on siksi estetty: pulls.blocked_by_changed_protected_files_1 = Tämä vetopyyntö sisältää suojatun tiedoston ja on siksi estetty:
pulls.status_checks_warning = Jotkin tarkistukset raportoivat varoituksia pulls.status_checks_warning = Jotkin tarkistukset raportoivat varoituksia
pulls.status_checks_error = Jotkin tarkistukset raportoivat virheitä pulls.status_checks_error = Jotkin tarkistukset raportoivat virheitä
pulls.reopened_at = `avasi uudelleen tämän vetopyynnön <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.reopened_at = `avasi uudelleen tämän vetopyynnön %s`
pulls.auto_merge_when_succeed = Yhdistä automaatisesti kun kaikki tarkistukset onnistuvat pulls.auto_merge_when_succeed = Yhdistä automaatisesti kun kaikki tarkistukset onnistuvat
signing.wont_sign.error = Tapahtui virhe tarkistaessa voiko kommitin allekirjoittaa. signing.wont_sign.error = Tapahtui virhe tarkistaessa voiko kommitin allekirjoittaa.
signing.wont_sign.twofa = Sinulla tulee olla kaksivaiheinen todennus käytössä, jotta kommitit voi allekirjoittaa. signing.wont_sign.twofa = Sinulla tulee olla kaksivaiheinen todennus käytössä, jotta kommitit voi allekirjoittaa.

View file

@ -365,7 +365,7 @@ table_modal.label.columns = Mga Column
link_modal.header = Magdagdag ng link link_modal.header = Magdagdag ng link
link_modal.url = Url link_modal.url = Url
link_modal.description = Deskripsyon link_modal.description = Deskripsyon
link_modal.paste_reminder = Pahiwatig: Kapag may URL sa clipboard, maari mong direktang i-paste sa editor para gumawa ng link. link_modal.paste_reminder = Pahiwatig: Kapag may URL sa clipboard, maaari mong direktang i-paste sa editor para gumawa ng link.
[filter] [filter]
string.asc = A - Z string.asc = A - Z
@ -432,7 +432,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. 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 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 <a href="%s">dito</a> para magsimula ng bagong session. invalid_code_forgot_password = Ang iyong confirmation code ay hindi wasto o nag-expire na. Mag-click <a href="%s">dito</a> para magsimula ng bagong session.
confirmation_mail_sent_prompt = Ang isang bagong email na pang-kumpirma ay ipinadala sa <b>%s</b>. 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. confirmation_mail_sent_prompt = Ang isang bagong email na pang-kumpirma ay ipinadala sa <b>%s</b>. Para kumpletuhin ang proseso ng pagrehistro, pakisuri ang iyong inbox at sundan ang ibinigay na link sa loob ng %s. Kung mali ang email, maaari 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. 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. 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. manual_activation_only = Makipag-ugnayan sa tagapangangasiwa ng site para kumpletuhin ang pagrehistro.
@ -484,7 +484,7 @@ admin.new_user.text = Mangyaring <a href="%s">mag-click dito</a> para ipamahala
register_notify = Maligayang Pagdating sa %s register_notify = Maligayang Pagdating sa %s
register_notify.title = %[1]s, maligayang pagdating sa %[2]s register_notify.title = %[1]s, maligayang pagdating sa %[2]s
register_notify.text_1 = ito ang iyong registration confirmation email para sa %s! register_notify.text_1 = ito ang iyong registration confirmation email para sa %s!
register_notify.text_2 = Maari kang mag-sign in sa iyong account gamit ng iyong username: %s register_notify.text_2 = Maaari kang mag-sign in sa iyong account gamit ng iyong username: %s
reset_password = I-recover ang iyong account reset_password = I-recover ang iyong account
reset_password.title = %s, nagkaroon kami ng hiling para i-recover ang iyong account reset_password.title = %s, nagkaroon kami ng hiling para i-recover ang iyong account
reset_password.text = Kung ikaw ito, paki-click ang sumusunod na link para i-recover ang iyong account sa loob ng <b>%s</b>: reset_password.text = Kung ikaw ito, paki-click ang sumusunod na link para i-recover ang iyong account sa loob ng <b>%s</b>:
@ -535,7 +535,7 @@ totp_disabled.text_1 = Ngayon lang na-disable ang Time-based one-time password (
totp_disabled.no_2fa = Wala nang mga ibang paraan ng 2FA ang naka-configure, nangangahulugan na hindi na kailangang mag-log in sa iyong account gamit ang 2FA. totp_disabled.no_2fa = Wala nang mga ibang paraan ng 2FA ang naka-configure, nangangahulugan na hindi na kailangang mag-log in sa iyong account gamit ang 2FA.
removed_security_key.subject = May tinanggal na security key removed_security_key.subject = May tinanggal na security key
removed_security_key.text_1 = Tinanggal ngayon lang ang security key na "%[1]s" sa iyong account. removed_security_key.text_1 = Tinanggal ngayon lang ang security key na "%[1]s" sa iyong account.
account_security_caution.text_1 = Kung ikaw ito, maari mong ligtas na huwag pansinin ang mail na ito. account_security_caution.text_1 = Kung ikaw ito, maaari mong ligtas na huwag pansinin ang mail na ito.
account_security_caution.text_2 = Kung hindi ito ikaw, nakompromiso ang iyong account. Mangyaring makipag-ugnayan sa mga tagapangasiwa ng site na ito. account_security_caution.text_2 = Kung hindi ito ikaw, nakompromiso ang iyong account. Mangyaring makipag-ugnayan sa mga tagapangasiwa ng site na ito.
totp_enrolled.subject = Nag-activate ka ng TOTP bilang paraan ng 2FA totp_enrolled.subject = Nag-activate ka ng TOTP bilang paraan ng 2FA
totp_enrolled.text_1.has_webauthn = Na-enable mo lang ang TOTP para sa iyong account. Nangangahulugan ito na para sa lahat ng mga hinaharap na pag-login sa iyong account, kailangan mong gumamit ng TOTP bilang paraan ng 2FA o gamitin ang iyong mga security key. totp_enrolled.text_1.has_webauthn = Na-enable mo lang ang TOTP para sa iyong account. Nangangahulugan ito na para sa lahat ng mga hinaharap na pag-login sa iyong account, kailangan mong gumamit ng TOTP bilang paraan ng 2FA o gamitin ang iyong mga security key.
@ -644,7 +644,7 @@ AccessToken = Token ng pag-access
Biography = Byograpya Biography = Byograpya
Location = Lokasyon Location = Lokasyon
visit_rate_limit = Natugunan ang limitasyon sa rate ng malayuang pagbisita. visit_rate_limit = Natugunan ang limitasyon sa rate ng malayuang pagbisita.
username_claiming_cooldown = Hindi ma-claim ang username na ito, dahil hindi pa tapos ang panahon ng cooldown. Maari itong i-claim sa %[1]s. username_claiming_cooldown = Hindi ma-claim ang username na ito, dahil hindi pa tapos ang panahon ng cooldown. Maaari itong i-claim sa %[1]s.
email_domain_is_not_allowed = Sumasalungat ang domain ng email address ng user <b>%s</b> sa EMAIL_DOMAIN_ALLOWLIST o EMAIL_DOMAIN_BLOCKLIST. Siguraduhing natakda mo ang email address nang tama. email_domain_is_not_allowed = Sumasalungat ang domain ng email address ng user <b>%s</b> sa EMAIL_DOMAIN_ALLOWLIST o EMAIL_DOMAIN_BLOCKLIST. Siguraduhing natakda mo ang email address nang tama.
[user] [user]
@ -685,7 +685,7 @@ followers.title.few = Mga tagasunod
following.title.one = Sinusundan following.title.one = Sinusundan
followers.title.one = Tagasunod followers.title.one = Tagasunod
public_activity.visibility_hint.self_public = Nakikita ng lahat ang iyong aktibidad, maliban sa mga interaksyon sa pribadong espasyo. <a href="%s">I-configure</a>. public_activity.visibility_hint.self_public = Nakikita ng lahat ang iyong aktibidad, maliban sa mga interaksyon sa pribadong espasyo. <a href="%s">I-configure</a>.
public_activity.visibility_hint.admin_public = Nakikita ng lahat ang aktibidad na ito, ngunit bilang tagapangasiwa maari mo ring makita ang mga interaksyon sa mga pribadong espasyo. public_activity.visibility_hint.admin_public = Nakikita ng lahat ang aktibidad na ito, ngunit bilang tagapangasiwa maaari mo ring makita ang mga interaksyon sa mga pribadong espasyo.
public_activity.visibility_hint.self_private = Nakikita mo lang at mga tagapangasiwa ng instansya ang iyong aktibidad. <a href="%s">I-configure</a>. public_activity.visibility_hint.self_private = Nakikita mo lang at mga tagapangasiwa ng instansya ang iyong aktibidad. <a href="%s">I-configure</a>.
public_activity.visibility_hint.admin_private = Nakikita mo ang aktibidad na ito dahil isa kang tagapangasiwa, ngunit gusto ng user na panatilihin itong pribado. public_activity.visibility_hint.admin_private = Nakikita mo ang aktibidad na ito dahil isa kang tagapangasiwa, ngunit gusto ng user na panatilihin itong pribado.
public_activity.visibility_hint.self_private_profile = Ikaw lang at ang mga tagapangasiwa ng instansya ang makakakita ng iyong aktibidad dahil pribado ang iyong profile. <a href="%s">I-configure</a>. public_activity.visibility_hint.self_private_profile = Ikaw lang at ang mga tagapangasiwa ng instansya ang makakakita ng iyong aktibidad dahil pribado ang iyong profile. <a href="%s">I-configure</a>.
@ -842,7 +842,7 @@ gpg_key_verify = I-verify
gpg_invalid_token_signature = Ang ibinigay na GPG key, signature, at token ay hindi tumutugma o luma. gpg_invalid_token_signature = Ang ibinigay na GPG key, signature, at token ay hindi tumutugma o luma.
gpg_token_required = Kailangan mong magbigay ng signature para sa token sa ibaba gpg_token_required = Kailangan mong magbigay ng signature para sa token sa ibaba
gpg_token = Token gpg_token = Token
gpg_token_help = Maari kang mag-generate ng signature gamit ng: gpg_token_help = Maaari kang mag-generate ng signature gamit ng:
gpg_token_signature = Naka-armor na GPG signature gpg_token_signature = Naka-armor na GPG signature
key_signature_gpg_placeholder = Nagsisimula sa "-----BEGIN PGP SIGNATURE-----" key_signature_gpg_placeholder = Nagsisimula sa "-----BEGIN PGP SIGNATURE-----"
verify_gpg_key_success = Na-verify na ang GPG key na "%s". verify_gpg_key_success = Na-verify na ang GPG key na "%s".
@ -851,7 +851,7 @@ ssh_key_verify = I-verify
ssh_invalid_token_signature = Ang ibinigay na SSH key, signature, o token ay hindi tumutugma o luma. ssh_invalid_token_signature = Ang ibinigay na SSH key, signature, o token ay hindi tumutugma o luma.
ssh_token_required = Kailangan mong magbigay ng signature para sa token sa ibaba ssh_token_required = Kailangan mong magbigay ng signature para sa token sa ibaba
ssh_token = Token ssh_token = Token
ssh_token_help = Maari kang mag-generate ng signature gamit ng: ssh_token_help = Maaari kang mag-generate ng signature gamit ng:
ssh_token_signature = Naka-armor na SSH signature ssh_token_signature = Naka-armor na SSH signature
key_signature_ssh_placeholder = Nagsisimula sa "-----BEGIN SSH SIGNATURE-----" key_signature_ssh_placeholder = Nagsisimula sa "-----BEGIN SSH SIGNATURE-----"
verify_ssh_key_success = Na-verify na ang SSH key na "%s". verify_ssh_key_success = Na-verify na ang SSH key na "%s".
@ -912,10 +912,10 @@ create_oauth2_application_success = Matagumpay kang gumawa ang bagong OAuth2 app
oauth2_confidential_client = Kumpidensyal na kliyente. Piliin para sa mga app na pinapatilihing kumpidensyal ang sikreto, tulad ng mga web app. Huwag piliin para sa mga web app kasama ang mga desktop at mobile app. oauth2_confidential_client = Kumpidensyal na kliyente. Piliin para sa mga app na pinapatilihing kumpidensyal ang sikreto, tulad ng mga web app. Huwag piliin para sa mga web app kasama ang mga desktop at mobile app.
twofa_desc = Para protektahin ang iyong account laban sa pagnanakaw ng password, pwede mo gamitin ang iyong smartphone o ibang device para sa pagtanggap ng time-based one-time password ("TOTP"). twofa_desc = Para protektahin ang iyong account laban sa pagnanakaw ng password, pwede mo gamitin ang iyong smartphone o ibang device para sa pagtanggap ng time-based one-time password ("TOTP").
twofa_scratch_token_regenerated = Ang iyong isang-beses na paggamit na recovery key ngayon ay %s. Ilagay ito sa ligtas na lugar, dahil hindi na ito ipapakita muli. twofa_scratch_token_regenerated = Ang iyong isang-beses na paggamit na recovery key ngayon ay %s. Ilagay ito sa ligtas na lugar, dahil hindi na ito ipapakita muli.
regenerate_scratch_token_desc = Kapag nawala mo ang iyong recovery key o ginamit mo na oara mag-sign in, maari mong i-reset dito. regenerate_scratch_token_desc = Kapag nawala mo ang iyong recovery key o ginamit mo na oara mag-sign in, maaari mong i-reset dito.
twofa_disable_desc = Ang pag-disable ng authentikasyong two-factor ay gagawing hindi gaanong ligtas ang iyong account. Magpatuloy? twofa_disable_desc = Ang pag-disable ng authentikasyong two-factor ay gagawing hindi gaanong ligtas ang iyong account. Magpatuloy?
twofa_enrolled = Matagumpay na na-enroll ang iyong account. Ilagay ang iyong isang-beses na paggamit na recovery key (%s) sa isang ligtas na lugar, dahil hindi na ito ipapakita muli. twofa_enrolled = Matagumpay na na-enroll ang iyong account. Ilagay ang iyong isang-beses na paggamit na recovery key (%s) sa isang ligtas na lugar, dahil hindi na ito ipapakita muli.
webauthn_desc = Ang mga security key ay isang hardware device na naglalaman ng mga cryptographic key. Maari silang gamitin para sa authentikasyong two-factor. Ang mga security key ay dapat suportahan ang <a rel="noreferrer" target="_blank" href="%s">WebAuthn Authenticator</a> na standard. webauthn_desc = Ang mga security key ay isang hardware device na naglalaman ng mga cryptographic key. Maaari silang gamitin para sa authentikasyong two-factor. Ang mga security key ay dapat suportahan ang <a rel="noreferrer" target="_blank" href="%s">WebAuthn Authenticator</a> na standard.
remove_oauth2_application = Tanggalin ang OAuth2 Application remove_oauth2_application = Tanggalin ang OAuth2 Application
remove_oauth2_application_desc = Ang pagtanggal ng OAuth2 application ay babawiin ang access sa lahat ng mga naka-sign na access token. Magpatuloy? remove_oauth2_application_desc = Ang pagtanggal ng OAuth2 application ay babawiin ang access sa lahat ng mga naka-sign na access token. Magpatuloy?
remove_oauth2_application_success = Binura na ang application. remove_oauth2_application_success = Binura na ang application.
@ -931,13 +931,13 @@ oauth2_regenerate_secret = I-regenerate ang sikreto
oauth2_regenerate_secret_hint = Nawala mo ang iyong sikreto? oauth2_regenerate_secret_hint = Nawala mo ang iyong sikreto?
oauth2_client_secret_hint = Ang sikreto ay hindi ipapakita muli pagkatapos umalis ka o i-refresh ang page na ito. Mangyaring siguraduhin na na-save mo iyan. oauth2_client_secret_hint = Ang sikreto ay hindi ipapakita muli pagkatapos umalis ka o i-refresh ang page na ito. Mangyaring siguraduhin na na-save mo iyan.
oauth2_application_edit = I-edit oauth2_application_edit = I-edit
twofa_recovery_tip = Kapag mawala mo ang iyong device, maari kang gumamit ng isang isang-beses na paggamit na recovery key para makakuha muli ng access sa iyong account. twofa_recovery_tip = Kapag mawala mo ang iyong device, maaari kang gumamit ng isang isang-beses na paggamit na recovery key para makakuha muli ng access sa iyong account.
twofa_is_enrolled = Ang iyong account ay kasalukuyang <strong>naka-enroll</strong> sa autentikasyong two-factor. twofa_is_enrolled = Ang iyong account ay kasalukuyang <strong>naka-enroll</strong> sa autentikasyong two-factor.
twofa_not_enrolled = Kasalukuyang hindi naka-enroll ang iyong account sa authentikasyong two-factor. twofa_not_enrolled = Kasalukuyang hindi naka-enroll ang iyong account sa authentikasyong two-factor.
twofa_disable = I-disable ang authentikasyong two-factor twofa_disable = I-disable ang authentikasyong two-factor
twofa_scratch_token_regenerate = I-regenerate ang isang-beses na paggamit na recovery key twofa_scratch_token_regenerate = I-regenerate ang isang-beses na paggamit na recovery key
twofa_enroll = Mag-enroll sa authentikasyong two-factor twofa_enroll = Mag-enroll sa authentikasyong two-factor
twofa_disable_note = Maari mong i-disable ang authentikasyong two-factor kapag kinakailangan. twofa_disable_note = Maaari mong i-disable ang authentikasyong two-factor kapag kinakailangan.
twofa_disabled = Na-disable na ang authentikasyong two-factor. twofa_disabled = Na-disable na ang authentikasyong two-factor.
scan_this_image = I-scan ang image na ito gamit ng iyong aplikasyong pang-authentikasyon: scan_this_image = I-scan ang image na ito gamit ng iyong aplikasyong pang-authentikasyon:
or_enter_secret = O ilagay ang sikreto: %s or_enter_secret = O ilagay ang sikreto: %s
@ -1005,8 +1005,8 @@ language.description = Mase-save ang wika sa iyong account at gagamitin bilang d
language.localization_project = Tulungan kaming isalin ang Forgejo sa iyong wika! <a href="%s">Matuto pa</a>. language.localization_project = Tulungan kaming isalin ang Forgejo sa iyong wika! <a href="%s">Matuto pa</a>.
pronouns_custom_label = Mga pasadyang pronoun pronouns_custom_label = Mga pasadyang pronoun
user_block_yourself = Hindi mo maaaring harangan ang sarili mo. user_block_yourself = Hindi mo maaaring harangan ang sarili mo.
change_username_redirect_prompt.with_cooldown.one = Magiging available ang lumang username sa lahat pagkatapos ng panahon ng cooldown ng %[1]d araw, maari mo pa ring ma-claim muli ang lumang username sa panahon ng panahon ng cooldown. change_username_redirect_prompt.with_cooldown.one = Magiging available ang lumang username sa lahat pagkatapos ng panahon ng cooldown ng %[1]d araw. Maaari mo pa ring ma-claim muli ang lumang username sa panahon ng panahon ng cooldown.
change_username_redirect_prompt.with_cooldown.few = Magiging available ang lumang username sa lahat pagkatapos ng panahon ng cooldown ng %[1]d araw, maari mo pa ring ma-claim muli ang lumang username sa panahon ng panahon ng cooldown. change_username_redirect_prompt.with_cooldown.few = Magiging available ang lumang username sa lahat pagkatapos ng panahon ng cooldown ng %[1]d araw. Maaari mo pa ring ma-claim muli ang lumang username sa panahon ng panahon ng cooldown.
keep_pronouns_private = Ipakita lang ang mga panghalip sa mga naka-authenticate na user keep_pronouns_private = Ipakita lang ang mga panghalip sa mga naka-authenticate na user
keep_pronouns_private.description = Itatago nito ang iyong mga panghalip mula sa mga bisita na hindi naka-log in. keep_pronouns_private.description = Itatago nito ang iyong mga panghalip mula sa mga bisita na hindi naka-log in.
quota.applies_to_user = Nag-aapply ang mga sumusunod na panuntunan ng quota sa iyong account quota.applies_to_user = Nag-aapply ang mga sumusunod na panuntunan ng quota sa iyong account
@ -1071,7 +1071,7 @@ readme_helper_desc = Ito ang lugar kung saan makakasulat ka ng kumpletong deskri
trust_model_helper_collaborator_committer = Katulong+Committer: I-trust ang mga signature batay sa mga katulong na tumutugma sa committer trust_model_helper_collaborator_committer = Katulong+Committer: I-trust ang mga signature batay sa mga katulong na tumutugma sa committer
mirror_interval = Interval ng mirror (ang mga wastong unit ng oras ay "h", "m", "s"). 0 para i-disable ang periodic sync. (Pinakamababang interval: %s) mirror_interval = Interval ng mirror (ang mga wastong unit ng oras ay "h", "m", "s"). 0 para i-disable ang periodic sync. (Pinakamababang interval: %s)
transfer.reject_desc = Kanselahin ang pag-transfer mula sa "%s" transfer.reject_desc = Kanselahin ang pag-transfer mula sa "%s"
mirror_lfs_endpoint_desc = Ang sync ay susubukang gamitin ang clone url upang <a target="_blank" rel="noopener noreferrer" href="%s">matukoy ang LFS server</a>. Maari ka rin tumukoy ng isang custom na endpoint kapag ang LFS data ng repositoryo ay nilalagay sa ibang lugar. mirror_lfs_endpoint_desc = Ang sync ay susubukang gamitin ang clone url upang <a target="_blank" rel="noopener noreferrer" href="%s">matukoy ang LFS server</a>. Maaari ka rin tumukoy ng isang custom na endpoint kapag ang LFS data ng repositoryo ay nilalagay sa ibang lugar.
adopt_search = Ilagay ang username para maghanap ng mga unadopted na repositoryo… (iwanang walang laman para hanapin lahat) adopt_search = Ilagay ang username para maghanap ng mga unadopted na repositoryo… (iwanang walang laman para hanapin lahat)
object_format = Format ng object object_format = Format ng object
readme_helper = Pumili ng README file template readme_helper = Pumili ng README file template
@ -1164,8 +1164,8 @@ tree_path_not_found_commit = Hindi umiiral ang path na %[1]s sa commit %[2]s
tree_path_not_found_branch = Hindi umiiral ang daanang %[1]s sa branch %[2]s tree_path_not_found_branch = Hindi umiiral ang daanang %[1]s sa branch %[2]s
migrate_items_pullrequests = Mga hiling sa paghila migrate_items_pullrequests = Mga hiling sa paghila
archive.pull.nocomment = Naka-archive ang repositoryong ito. Hindi ka makakakomento sa mga pull request. archive.pull.nocomment = Naka-archive ang repositoryong ito. Hindi ka makakakomento sa mga pull request.
archive.title = Naka-archive ang repositoryong ito. Maari mong itignan ang mga file at i-clone ito, pero hindi ka makakagawa ng anumang pagbabago sa estado ito, tulad ng pagtulak at paggawa ng mga isyu, pull request o mga komento. archive.title = Naka-archive ang repositoryong ito. Maaari mong itignan ang mga file at i-clone ito, pero hindi ka makakagawa ng anumang pagbabago sa estado ito, tulad ng pagtulak at paggawa ng mga isyu, pull request o mga komento.
archive.title_date = Naka-archive ang repositoryo na ito noong %s. Maari mong itignan ang mga file at i-clone ito, pero hindi ka makakagawa ng anumang pagbabago sa estado nito, tulad ng pagtulak o paggawa ng mga bagong isyu, mga pull request, o komento. archive.title_date = Naka-archive ang repositoryo na ito noong %s. Maaari mong itignan ang mga file at i-clone ito, pero hindi ka makakagawa ng anumang pagbabago sa estado nito, tulad ng pagtulak o paggawa ng mga bagong isyu, mga pull request, o komento.
pulls = Mga hiling sa paghila pulls = Mga hiling sa paghila
activity.merged_prs_count_n = Mga naisamang hiling sa paghila activity.merged_prs_count_n = Mga naisamang hiling sa paghila
wiki.last_updated = Huling binago %s wiki.last_updated = Huling binago %s
@ -1183,7 +1183,7 @@ issues.action_open = Buksan
issues.closed_title = Sarado issues.closed_title = Sarado
issues.reopen_issue = Buksang muli issues.reopen_issue = Buksang muli
pulls.merged = Naisama na pulls.merged = Naisama na
pulls.merged_info_text = Maari nang burahin ang branch %s. pulls.merged_info_text = Maaari nang burahin ang branch %s.
milestones.update_ago = Binago %s milestones.update_ago = Binago %s
activity.closed_issue_label = Sarado activity.closed_issue_label = Sarado
activity.merged_prs_label = Naisama activity.merged_prs_label = Naisama
@ -1205,7 +1205,7 @@ migrate.clone_address_desc = Ang HTTP(S) o Git "clone" URL ng umiiral na reposit
need_auth = Awtorisasyon need_auth = Awtorisasyon
migrate.github_token_desc = Maaari kang maglagay ng isa o higit pang mga token na hinihiwalay ng kuwit dito upang gawing mas-mabilis ang pagmigrate dahil sa rate limit ng GitHub API. BABALA: Ang pagabuso ng feature na ito ay maaaring maglabag sa patakaran ng tagapagbigay ng serbisyo at maaaring magdulot ng pag-block ng account. migrate.github_token_desc = Maaari kang maglagay ng isa o higit pang mga token na hinihiwalay ng kuwit dito upang gawing mas-mabilis ang pagmigrate dahil sa rate limit ng GitHub API. BABALA: Ang pagabuso ng feature na ito ay maaaring maglabag sa patakaran ng tagapagbigay ng serbisyo at maaaring magdulot ng pag-block ng account.
template.invalid = Kailangang pumili ng kahit isang template na repositoryo template.invalid = Kailangang pumili ng kahit isang template na repositoryo
migrate_options_lfs_endpoint.description = Susubukan ng migration na gamitin ang iyong Git remote upang <a target="_blank" rel="noopener noreferrer" href="%s">matukoy ang LFS server</a>. Maari mong magtiyak ng custom na endpoint kapag ang LFS data ng repositoryo ay nakalagay sa ibang lugar. migrate_options_lfs_endpoint.description = Susubukan ng migration na gamitin ang iyong Git remote upang <a target="_blank" rel="noopener noreferrer" href="%s">matukoy ang LFS server</a>. Maaari mong magtiyak ng custom na endpoint kapag ang LFS data ng repositoryo ay nakalagay sa ibang lugar.
blame.ignore_revs.failed = Nabigong hindi pansinin ang mga rebisyon sa <a href="%s">.git-blame-ignore-revs</a>. blame.ignore_revs.failed = Nabigong hindi pansinin ang mga rebisyon sa <a href="%s">.git-blame-ignore-revs</a>.
tree_path_not_found_tag = Hindi umiiral ang path na %[1]s sa tag %[2]s tree_path_not_found_tag = Hindi umiiral ang path na %[1]s sa tag %[2]s
form.reach_limit_of_creation_n = Naabot na ng may-ari ang limitasyon na %d mga repositoryo. form.reach_limit_of_creation_n = Naabot na ng may-ari ang limitasyon na %d mga repositoryo.
@ -1471,10 +1471,10 @@ activity.new_issue_label = Nabuksan
activity.merged_prs_count_1 = Naisamang hiling sa paghila activity.merged_prs_count_1 = Naisamang hiling sa paghila
activity.opened_prs_count_1 = Inimungkahing hiling sa paghila activity.opened_prs_count_1 = Inimungkahing hiling sa paghila
activity.opened_prs_label = Inimungkahi activity.opened_prs_label = Inimungkahi
pulls.reopened_at = `nabuksang muli ang hiling sa paghatak na <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.reopened_at = `binuksan muli ang hiling sa paghila %s`
issues.opened_by_fake = binuksan ang %[1]s ni/ng %[2]s issues.opened_by_fake = binuksan ang %[1]s ni/ng %[2]s
pulls.reopen_failed.base_branch = Hindi mabuksang muli ang hiling sa paghatak na ito dahil hindi na umiiral ang base branch. pulls.reopen_failed.base_branch = Hindi mabuksang muli ang hiling sa paghatak na ito dahil hindi na umiiral ang base branch.
issues.reopened_at = `binuksang muli ang isyung ito <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.reopened_at = `binuksang muli ang isyung ito %s`
pulls.reopen_failed.head_branch = Hindi mabubuksan muli ang hiling sa paghila, dahil hindi na umiiral ang head branch. pulls.reopen_failed.head_branch = Hindi mabubuksan muli ang hiling sa paghila, dahil hindi na umiiral ang head branch.
settings.event_pull_request_desc = Binuksan, sinara, muling binuksan, o binago ang hiling sa paghatak. settings.event_pull_request_desc = Binuksan, sinara, muling binuksan, o binago ang hiling sa paghatak.
activity.opened_prs_count_n = Mga inimungkahing hiling sa paghila activity.opened_prs_count_n = Mga inimungkahing hiling sa paghila
@ -1500,7 +1500,7 @@ issues.content_history.created = ginawa
editor.patching = Pina-patch: editor.patching = Pina-patch:
editor.fail_to_apply_patch = Hindi malapat ang patch na "%s" editor.fail_to_apply_patch = Hindi malapat ang patch na "%s"
settings.danger_zone = Mapanganib na lugar settings.danger_zone = Mapanganib na lugar
issues.closed_at = `isinara ang isyung ito <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.closed_at = `isinara ang isyung ito %s`
settings.collaboration.admin = Tagapangasiwa settings.collaboration.admin = Tagapangasiwa
settings.admin_settings = Mga setting ng tagapangasiwa settings.admin_settings = Mga setting ng tagapangasiwa
issues.start_tracking_history = `sinimulan ang trabaho %s` issues.start_tracking_history = `sinimulan ang trabaho %s`
@ -1627,7 +1627,7 @@ projects.column.edit_title = Pangalan
projects.column.new_title = Pangalan projects.column.new_title = Pangalan
projects.card_type.desc = Mga preview ng card projects.card_type.desc = Mga preview ng card
commits.desc = I-browse ang history ng pagbabago ng source code. commits.desc = I-browse ang history ng pagbabago ng source code.
commits.search.tooltip = Maari kang mag-prefix ng mga keyword gamit ang "author:", "committer:", "after:", o "before:", hal. "revert author:Nijika before:2022-10-09". commits.search.tooltip = Maaari kang mag-prefix ng mga keyword gamit ang "author:", "committer:", "after:", o "before:", hal. "revert author:Nijika before:2022-10-09".
issues.force_push_codes = `puwersahang itinulak ang %[1]s mula <a class="%[7]s" href="%[3]s"><code>%[2]s</code></a> sa <a class="%[7]s" href="%[5]s"><code>%[4]s</code></a> %[6]s` issues.force_push_codes = `puwersahang itinulak ang %[1]s mula <a class="%[7]s" href="%[3]s"><code>%[2]s</code></a> sa <a class="%[7]s" href="%[5]s"><code>%[4]s</code></a> %[6]s`
issues.push_commit_1 = idinagdag ang %d commit %s issues.push_commit_1 = idinagdag ang %d commit %s
issues.push_commits_n = idinagdag ang %d mga commit %s issues.push_commits_n = idinagdag ang %d mga commit %s
@ -1707,7 +1707,7 @@ issues.action_milestone = Milestone
issues.action_milestone_no_select = Walang milestone issues.action_milestone_no_select = Walang milestone
issues.delete_branch_at = `binura ang branch na <b>%s</b> %s` issues.delete_branch_at = `binura ang branch na <b>%s</b> %s`
issues.filter_label = Label issues.filter_label = Label
issues.filter_label_exclude = `Gamitin ang <code>alt</code> + <code>click/enter</code> para hindi isama ang mga label` issues.filter_label_exclude = `Gamitin ang <kbd>Alt</kbd> + <kbd>Click</kbd> para hindi isama ang mga label`
issues.filter_label_no_select = Lahat ng mga label issues.filter_label_no_select = Lahat ng mga label
issues.filter_milestone_closed = Mga nakasarang milestone issues.filter_milestone_closed = Mga nakasarang milestone
issues.filter_assignee = Mangangasiwa issues.filter_assignee = Mangangasiwa
@ -1771,7 +1771,7 @@ issues.lock = I-lock ang usapan
issues.unlock = I-unlock ang usapan issues.unlock = I-unlock ang usapan
issues.unlock_comment = na-unlock ang usapang ito %s issues.unlock_comment = na-unlock ang usapang ito %s
issues.unlock.notice_1 = - Makakakomento muli ang lahat ng mga tao sa isyung ito. issues.unlock.notice_1 = - Makakakomento muli ang lahat ng mga tao sa isyung ito.
issues.unlock.notice_2 = - Maari mong i-lock muli ang isyung ito sa hinaharap. issues.unlock.notice_2 = - Maaari mong i-lock muli ang isyung ito sa hinaharap.
issues.comment_on_locked = Hindi ka makakakomento sa naka-lock na isyu. issues.comment_on_locked = Hindi ka makakakomento sa naka-lock na isyu.
issues.closed_by_fake = ni/ng %[2]s ay isinara %[1]s issues.closed_by_fake = ni/ng %[2]s ay isinara %[1]s
issues.comment_manually_pull_merged_at = manwal na isinama ang commit %[1]s sa %[2]s %[3]s issues.comment_manually_pull_merged_at = manwal na isinama ang commit %[1]s sa %[2]s %[3]s
@ -1787,10 +1787,10 @@ issues.label_archive_tooltip = Ang mga naka-archive na label ay hindi isasama bi
issues.is_stale = May mga pagbabago sa PR na ito mula sa pagsuri na ito issues.is_stale = May mga pagbabago sa PR na ito mula sa pagsuri na ito
issues.role.first_time_contributor = Unang-beses na contributor issues.role.first_time_contributor = Unang-beses na contributor
issues.lock.notice_1 = - Hindi makakadagdag ng mga bagong komento ang mga ibang user sa isyu na ito. issues.lock.notice_1 = - Hindi makakadagdag ng mga bagong komento ang mga ibang user sa isyu na ito.
issues.lock.notice_3 = - Maari mong i-unlock muli ang isyung ito sa hinaharap. issues.lock.notice_3 = - Maaari mong i-unlock muli ang isyung ito sa hinaharap.
issues.label_deletion_desc = Ang pagbura ng label ay tatanggalin ito sa lahat ng mga isyu. Magpatuloy? issues.label_deletion_desc = Ang pagbura ng label ay tatanggalin ito sa lahat ng mga isyu. Magpatuloy?
issues.commit_ref_at = `isinangguni ang isyu na ito mula sa commit <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.commit_ref_at = `isinangguni ang isyu na ito mula sa commit %s`
issues.ref_issue_from = `<a href="%[3]s">isinangguni ang isyu na ito sa %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_issue_from = `<a href="%[2]s">isinangguni ang isyu na ito sa %[3]s</a> %[1]s`
issues.num_participants_one = %d kasali issues.num_participants_one = %d kasali
issues.attachment.download = `I-click para i-download ang "%s" ` issues.attachment.download = `I-click para i-download ang "%s" `
issues.num_participants_few = %d mga kasali issues.num_participants_few = %d mga kasali
@ -1815,10 +1815,10 @@ issues.sign_in_require_desc = <a href="%s">Mag-sign in</a> upang sumali sa usapa
issues.num_comments = %d mga komento issues.num_comments = %d mga komento
issues.role.contributor_helper = Nakaraang nag-commit ang user na ito sa repositoryo na ito. issues.role.contributor_helper = Nakaraang nag-commit ang user na ito sa repositoryo na ito.
issues.comment_pull_merged_at = isinama ang commit %[1]s sa %[2]s %[3]s issues.comment_pull_merged_at = isinama ang commit %[1]s sa %[2]s %[3]s
pulls.commit_ref_at = `isinangguni ang hiling sa paghila mula sa isang commit <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.commit_ref_at = `isinangguni ang hiling sa paghila mula sa isang commit %s`
wiki.last_commit_info = Binago ni %s ang pahinang ito %s wiki.last_commit_info = Binago ni %s ang pahinang ito %s
issues.content_history.edited = binago issues.content_history.edited = binago
issues.ref_pull_from = `<a href="%[3]s">isinangguni ang hiling sa paghila na ito %[4]s </a><a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_pull_from = `<a href="%[2]s">isinangguni ang hiling sa paghila na ito %[3]s</a> %[1]s`
pulls.merged_title_desc_few = isinali ang %[1]d mga commit mula sa <code>%[2]s</code> patungong <code>%[3]s</code> %[4]s pulls.merged_title_desc_few = isinali ang %[1]d mga commit mula sa <code>%[2]s</code> patungong <code>%[3]s</code> %[4]s
settings.org_not_allowed_to_be_collaborator = Hindi maaaring idagdag ang mga organisasyon bilang tagatulong. settings.org_not_allowed_to_be_collaborator = Hindi maaaring idagdag ang mga organisasyon bilang tagatulong.
settings.add_collaborator_success = Naidagdag ang tagatulong. settings.add_collaborator_success = Naidagdag ang tagatulong.
@ -1828,7 +1828,7 @@ pulls.create = Gumawa ng hiling sa paghila
issues.dependency.pr_close_blocked = Kailangan mong isara ang lahat ng mga isyu na humaharang sa hiling sa paghila na ito bago mo ito isama. issues.dependency.pr_close_blocked = Kailangan mong isara ang lahat ng mga isyu na humaharang sa hiling sa paghila na ito bago mo ito isama.
pulls.delete.title = Burahin ang hiling sa paghila na ito? pulls.delete.title = Burahin ang hiling sa paghila na ito?
issues.dependency.pr_closing_blockedby = Hinarang ng mga sumusunod na isyu mula sa pagsara ng hiling sa paghila na ito issues.dependency.pr_closing_blockedby = Hinarang ng mga sumusunod na isyu mula sa pagsara ng hiling sa paghila na ito
pulls.closed_at = `isinara ang hiling sa paghila na <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.closed_at = `isinara ang hiling sa paghila na ito %s`
pulls.close = Isara ang hiling sa paghila pulls.close = Isara ang hiling sa paghila
pulls.cmd_instruction_hint = Tingnan ang mga panuto para sa command line pulls.cmd_instruction_hint = Tingnan ang mga panuto para sa command line
project = Mga proyekto project = Mga proyekto
@ -1836,8 +1836,8 @@ issues.content_history.deleted = binura
pulls.no_results = Walang mga nahanap na resulta. pulls.no_results = Walang mga nahanap na resulta.
pulls.closed = Sarado ang hiling sa paghila pulls.closed = Sarado ang hiling sa paghila
pulls.is_closed = Naisara na ang hiling sa paghila. pulls.is_closed = Naisara na ang hiling sa paghila.
issues.ref_closing_from = `<a href="%[3]s">nagsangguni ang isyu mula sa hiling sa paghila %[4]s na magsasara sa isyu</a>, <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_closing_from = `<a href="%[2]s">nagsangguni ang isyu mula sa hiling sa paghila %[3]s na magsasara sa isyu</a>, %[1]s`
issues.ref_reopening_from = `<a href="%[3]s">nagsangguni ang isyu na ito mula sa hiling sa paghila %[4]s na muling bubukas</a>, <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_reopening_from = `<a href="%[2]s">nagsangguni ang isyu na ito mula sa hiling sa paghila %[3]s na muling bubukas nito</a>, %[1]s`
issues.ref_closed_from = `<a href="%[3]s">isinara ang isyung ito %[4]s</a><a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_closed_from = `<a href="%[3]s">isinara ang isyung ito %[4]s</a><a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.review.wait = hiniling sa pagsuri %s issues.review.wait = hiniling sa pagsuri %s
issues.review.reject = hinihiling ang mga pagbago %s issues.review.reject = hinihiling ang mga pagbago %s
@ -2015,14 +2015,14 @@ wiki.cancel = Kanselahin
settings.collaboration.undefined = Hindi Natukoy settings.collaboration.undefined = Hindi Natukoy
settings.federation_settings = Mga Setting ng Federation settings.federation_settings = Mga Setting ng Federation
settings = Mga Setting settings = Mga Setting
settings.desc = Ang mga setting ang lugar kung saan maari mong ipamahala ang mga setting para sa repositoryo settings.desc = Ang mga setting ang lugar kung saan maaari mong ipamahala ang mga setting para sa repositoryo
pulls.collapse_files = I-collapse ang lahat ng mga file pulls.collapse_files = I-collapse ang lahat ng mga file
pulls.add_prefix = Magdagdag ng <strong>%s</strong> na prefix pulls.add_prefix = Magdagdag ng <strong>%s</strong> na prefix
pulls.still_in_progress = Ginagawa pa? pulls.still_in_progress = Ginagawa pa?
activity.title.prs_1 = %d hiling sa paghila activity.title.prs_1 = %d hiling sa paghila
activity.active_issues_count_n = <strong>%d</strong> mga aktibong isyu activity.active_issues_count_n = <strong>%d</strong> mga aktibong isyu
pulls.required_status_check_missing = Nawawala ang ilang mga kinakailangang pagsusuri. pulls.required_status_check_missing = Nawawala ang ilang mga kinakailangang pagsusuri.
pulls.required_status_check_administrator = Bilang tagapangasiwa, maari mo pa ring isama ang hiling sa paghila na ito. pulls.required_status_check_administrator = Bilang tagapangasiwa, maaari mo pa ring isama ang hiling sa paghila na ito.
pulls.blocked_by_approvals = Wala pang sapat na pag-apruba ang hiling sa paghila na ito. %d ng %d na pag-apruba ang ibinigay. pulls.blocked_by_approvals = Wala pang sapat na pag-apruba ang hiling sa paghila na ito. %d ng %d na pag-apruba ang ibinigay.
settings.options = Repositoryo settings.options = Repositoryo
wiki.back_to_wiki = Bumalik sa pahina ng wiki wiki.back_to_wiki = Bumalik sa pahina ng wiki
@ -2110,7 +2110,7 @@ settings.actions_desc = I-enable ang mga kasamang CI/CD pipeline gamit ang Forge
settings.admin_indexer_commit_sha = Huling na-index na commit settings.admin_indexer_commit_sha = Huling na-index na commit
settings.admin_indexer_unindexed = Hindi naka-index settings.admin_indexer_unindexed = Hindi naka-index
settings.transfer_notices_3 = - Kung pribado ang repositoryo at ilipat sa isang indibidwal na user, ang aksyon na ito ay sinisigurado na ang user ay may pahintulot na basahin (at palitan ang mga pahintulot kung kailangan). settings.transfer_notices_3 = - Kung pribado ang repositoryo at ilipat sa isang indibidwal na user, ang aksyon na ito ay sinisigurado na ang user ay may pahintulot na basahin (at palitan ang mga pahintulot kung kailangan).
settings.convert_desc = Maari mong i-convert ang repositoryo na ito sa regular na repositoryo. Hindi ito mababawi. settings.convert_desc = Maaari mong i-convert ang repositoryo na ito sa regular na repositoryo. Hindi ito mababawi.
settings.transfer.button = Ilipat ang pagmamay-ari settings.transfer.button = Ilipat ang pagmamay-ari
settings.signing_settings = Mga setting sa pagpapatunay ng pag-sign settings.signing_settings = Mga setting sa pagpapatunay ng pag-sign
settings.admin_enable_close_issues_via_commit_in_any_branch = Isara ang isyu sa pamamagitan ng commit na ginawa sa hindi default na branch settings.admin_enable_close_issues_via_commit_in_any_branch = Isara ang isyu sa pamamagitan ng commit na ginawa sa hindi default na branch
@ -2137,7 +2137,7 @@ settings.deploy_key_deletion = Tanggalin ang deploy key
settings.protect_enable_push = I-enable ang pagtulak settings.protect_enable_push = I-enable ang pagtulak
settings.discord_icon_url.exceeds_max_length = Kailangang bababa o equal sa 2048 characters ang URL ng icon settings.discord_icon_url.exceeds_max_length = Kailangang bababa o equal sa 2048 characters ang URL ng icon
settings.protected_branch.save_rule = I-save ang rule settings.protected_branch.save_rule = I-save ang rule
settings.mirror_settings.docs.can_still_use = Bagama't na hindi ka makakabago ng mga umiiral na mirror o gumawa ng bago, maari mo pa rin gamitin ang iyong umiiral na mirror. settings.mirror_settings.docs.can_still_use = Bagama't na hindi ka makakabago ng mga umiiral na mirror o gumawa ng bago, maaari mo pa rin gamitin ang iyong umiiral na mirror.
settings.slack_color = Kulay settings.slack_color = Kulay
settings.discord_icon_url = URL ng icon settings.discord_icon_url = URL ng icon
settings.convert_fork_confirm = I-convert ang repositoryo settings.convert_fork_confirm = I-convert ang repositoryo
@ -2254,7 +2254,7 @@ settings.pulls.allow_rebase_update = I-enable ang pag-update ng hiling sa paghil
settings.admin_enable_health_check = I-enable ang pagsusuri ng kalusugan ng repositoryo (git fsck) settings.admin_enable_health_check = I-enable ang pagsusuri ng kalusugan ng repositoryo (git fsck)
settings.new_owner_has_same_repo = Ang bagong may-ari ay may repositoryo na may katulad na pangalan. Mangyaring pumili ng ibang pangalan. settings.new_owner_has_same_repo = Ang bagong may-ari ay may repositoryo na may katulad na pangalan. Mangyaring pumili ng ibang pangalan.
settings.convert = I-convert sa regular na repositoryo settings.convert = I-convert sa regular na repositoryo
settings.convert_fork_desc = Maari mong i-convert ang fork na ito bilang regular na repositoryo. Hindi ito mababawi. settings.convert_fork_desc = Maaari mong i-convert ang fork na ito bilang regular na repositoryo. Hindi ito mababawi.
settings.convert_fork_notices_1 = Ang operasyon na ito ay ico-convert ang fork bilang regular na repositoryo at hindi mababawi. settings.convert_fork_notices_1 = Ang operasyon na ito ay ico-convert ang fork bilang regular na repositoryo at hindi mababawi.
settings.transfer_abort_invalid = Hindi mo makakansela ang isang hindi umiiral na paglipat ng repositoryo. settings.transfer_abort_invalid = Hindi mo makakansela ang isang hindi umiiral na paglipat ng repositoryo.
settings.transfer_quota_exceeded = Ang bagong may-ari (%s) ay lumalagpas sa quota. Hindi nailipat ang repositoryo. settings.transfer_quota_exceeded = Ang bagong may-ari (%s) ay lumalagpas sa quota. Hindi nailipat ang repositoryo.
@ -2290,8 +2290,8 @@ settings.webhook.headers = Mga header
settings.webhook.payload = Nilalaman settings.webhook.payload = Nilalaman
settings.webhook.body = Katawan settings.webhook.body = Katawan
settings.webhook.replay.description = I-replay ang webhook na ito. settings.webhook.replay.description = I-replay ang webhook na ito.
settings.webhook.delivery.success = May nadagdag na event sa delivery queue. Maari magtagal ng ilang segundo bago makita sa delivery history. settings.webhook.delivery.success = May nadagdag na event sa delivery queue. Maaari magtagal ng ilang segundo bago makita sa delivery history.
settings.githooks_desc = Pinapagana ng Git ang mga Git hook. Maari mong baguhin ang mga hook file sa ibaba para mag-set up ng mga custom na operasyon. settings.githooks_desc = Pinapagana ng Git ang mga Git hook. Maaari mong baguhin ang mga hook file sa ibaba para mag-set up ng mga custom na operasyon.
settings.githook_name = Pangalan ng hook settings.githook_name = Pangalan ng hook
settings.githook_content = Nilalaman ng hook settings.githook_content = Nilalaman ng hook
settings.update_githook = I-update ang hook settings.update_githook = I-update ang hook
@ -2362,7 +2362,7 @@ settings.mirror_settings.docs.pull_mirror_instructions = Para mag-set up ng pull
milestones.invalid_due_date_format = Kailangang "yyyy-mm-dd" na format ang takdang petsa. milestones.invalid_due_date_format = Kailangang "yyyy-mm-dd" na format ang takdang petsa.
signing.wont_sign.nokey = Walang key ang instansya na ito para i-sign ang commit na ito. signing.wont_sign.nokey = Walang key ang instansya na ito para i-sign ang commit na ito.
activity.title.releases_1 = %d paglabas activity.title.releases_1 = %d paglabas
settings.mirror_settings.docs.more_information_if_disabled = Maari kang matuto pa tungkol sa mga push at pull na mirror dito: settings.mirror_settings.docs.more_information_if_disabled = Maaari kang matuto pa tungkol sa mga push at pull na mirror dito:
settings.branches.switch_default_branch = Magpalit ng default branch settings.branches.switch_default_branch = Magpalit ng default branch
settings.convert_notices_1 = Ang operasyon na ito ay ico-covert ang mirror sa regular na repositoryo at hindi mababawi. settings.convert_notices_1 = Ang operasyon na ito ay ico-covert ang mirror sa regular na repositoryo at hindi mababawi.
settings.convert_fork_succeed = Na-convert na ang fork sa regular na repositoryo. settings.convert_fork_succeed = Na-convert na ang fork sa regular na repositoryo.
@ -2732,7 +2732,7 @@ settings.protect_protected_file_patterns = Mga pattern ng nakaprotektang file (h
settings.update_protect_branch_success = Binago na ang branch protection rule na "%s". settings.update_protect_branch_success = Binago na ang branch protection rule na "%s".
settings.remove_protected_branch_success = Tinanggal ang branch protection rule na "%s". settings.remove_protected_branch_success = Tinanggal ang branch protection rule na "%s".
settings.tags.protection.pattern = Pattern ng tag settings.tags.protection.pattern = Pattern ng tag
settings.tags.protection.pattern.description = Maari kang gumamit ng iisang pangalan o glob pattern o regular expression para magtugma ng maraming tag. Magbasa pa sa <a target="_blank" rel="noopener" href="%s">guide ng mga nakaprotektang tag</a>. settings.tags.protection.pattern.description = Maaari kang gumamit ng iisang pangalan o glob pattern o regular expression para magtugma ng maraming tag. Magbasa pa sa <a target="_blank" rel="noopener" href="%s">guide ng mga nakaprotektang tag</a>.
settings.thread_id = ID ng thread settings.thread_id = ID ng thread
settings.matrix.room_id = ID ng room settings.matrix.room_id = ID ng room
diff.has_escaped = May mga nakatagong Unicode character ang linya na ito diff.has_escaped = May mga nakatagong Unicode character ang linya na ito
@ -2746,7 +2746,7 @@ diff.bin = BIN
settings.default_update_style_desc = Ang default na istilio na gagamitin sa pag-update ng mga hiling sa paghila na nalilipas sa base branch. settings.default_update_style_desc = Ang default na istilio na gagamitin sa pag-update ng mga hiling sa paghila na nalilipas sa base branch.
pulls.sign_in_require = <a href="%s">Mag-sign in</a> para gumawa ng bagong hiling sa paghila. pulls.sign_in_require = <a href="%s">Mag-sign in</a> para gumawa ng bagong hiling sa paghila.
new_from_template = Gumamit ng template new_from_template = Gumamit ng template
new_from_template_description = Maari kang pumili ng umiiral na repository template sa instansya na ito at i-apply ang mga setting nito. new_from_template_description = Maaari kang pumili ng umiiral na repository template sa instansya na ito at i-apply ang mga setting nito.
new_advanced = Mga advanced na setting new_advanced = Mga advanced na setting
new_advanced_expand = I-click para i-expand new_advanced_expand = I-click para i-expand
auto_init_description = Simulan ang kasaysayan ng Git gamit ang README at opsyonal na magdagdag ng mga lisensya at .gitignore na file. auto_init_description = Simulan ang kasaysayan ng Git gamit ang README at opsyonal na magdagdag ng mga lisensya at .gitignore na file.
@ -2780,6 +2780,7 @@ settings.event_action_recover = I-recover
settings.event_action_success = Matagumpay settings.event_action_success = Matagumpay
settings.event_action_success_desc = Matagumpay na natapos ang Action Run. settings.event_action_success_desc = Matagumpay na natapos ang Action Run.
settings.event_action_recover_desc = Matagumpay na natapos ang Action Run pagkatapos na nabigo ang huling Action Run sa katulad na workflow. settings.event_action_recover_desc = Matagumpay na natapos ang Action Run pagkatapos na nabigo ang huling Action Run sa katulad na workflow.
issues.filter_type.all_pull_requests = Lahat ng mga hiling sa paghila
[search] [search]
commit_kind = Maghanap ng mga commit… commit_kind = Maghanap ng mga commit…
@ -3205,7 +3206,7 @@ self_check.database_collation_mismatch = Inaasahan ang database na gamitin ang c
auths.oauth2_admin_group = Group claim value para sa mga tagapangasiwa. (Opsyonal - kinakailangan ang claim name sa itaas) auths.oauth2_admin_group = Group claim value para sa mga tagapangasiwa. (Opsyonal - kinakailangan ang claim name sa itaas)
auths.tip.facebook = Magrehistro ng bagong application sa %s at idagdag ang produktong "Facebook Login" auths.tip.facebook = Magrehistro ng bagong application sa %s at idagdag ang produktong "Facebook Login"
users.restricted.description = Payagan lamang ang interaksyon sa mga repositoryo at organisasyon kung saan ang user ay dinagdag bilang tagatulong. Iniiwasan nito ang pag-access sa publikong repositoryo sa instansya na ito. users.restricted.description = Payagan lamang ang interaksyon sa mga repositoryo at organisasyon kung saan ang user ay dinagdag bilang tagatulong. Iniiwasan nito ang pag-access sa publikong repositoryo sa instansya na ito.
users.local_import.description = Payagan ang pag-import ng mga repositoryo mula sa local file system ng user. Maari itong maging isyu sa seguridad. users.local_import.description = Payagan ang pag-import ng mga repositoryo mula sa local file system ng user. Maaari itong maging isyu sa seguridad.
emails.delete = Burahin ang Email emails.delete = Burahin ang Email
emails.deletion_success = Binura na ang email address. emails.deletion_success = Binura na ang email address.
auths.oauth2_required_claim_value = Kinakailangan na claim value auths.oauth2_required_claim_value = Kinakailangan na claim value
@ -3450,8 +3451,8 @@ teams.owners_permission_desc = Ang mga owner ay may punong access sa <strong>lah
teams.add_nonexistent_repo = Hindi pa umiiral ang repositoryo na sinusubukan mong idagdag. Mangyaring gawin iyan muna. teams.add_nonexistent_repo = Hindi pa umiiral ang repositoryo na sinusubukan mong idagdag. Mangyaring gawin iyan muna.
teams.all_repositories = Lahat ng mga repositoryo teams.all_repositories = Lahat ng mga repositoryo
teams.all_repositories_helper = Ang koponan ay may access sa lahat ng mga repositoryo. Ang pagpili nito ay <strong>idadagdag ang lahat ng mga umiiral</strong> na repositoryo sa koponan. teams.all_repositories_helper = Ang koponan ay may access sa lahat ng mga repositoryo. Ang pagpili nito ay <strong>idadagdag ang lahat ng mga umiiral</strong> na repositoryo sa koponan.
settings.change_orgname_redirect_prompt.with_cooldown.few = Magiging available ang lumang pangalan ng organisasyon sa lahat pagkatapos ng panahon ng cooldown ng %[1]d araw, maari mo pa ring ma-claim muli ang lumang pangalan sa panahon ng cooldown. settings.change_orgname_redirect_prompt.with_cooldown.few = Magiging available ang lumang pangalan ng organisasyon sa lahat pagkatapos ng panahon ng cooldown ng %[1]d araw. Maaari mo pa ring ma-claim muli ang lumang pangalan sa panahon ng cooldown.
settings.change_orgname_redirect_prompt.with_cooldown.one = Magiging available ang lumang pangalan ng organisasyon sa lahat pagkatapos ng panahon ng cooldown ng %[1]d araw, maari mo pa ring ma-claim muli ang lumang pangalan ng panahon ng cooldown. settings.change_orgname_redirect_prompt.with_cooldown.one = Magiging available ang lumang pangalan ng organisasyon sa lahat pagkatapos ng panahon ng cooldown ng %[1]d araw. Maaari mo pa ring ma-claim muli ang lumang pangalan ng panahon ng cooldown.
[packages] [packages]

View file

@ -1062,8 +1062,8 @@ language.localization_project = Aidez-nous à traduire Forgejo dans votre langue
language.description = Cette langue sera enregistrée dans votre compte et utilisée comme langue par défaut après votre connexion. language.description = Cette langue sera enregistrée dans votre compte et utilisée comme langue par défaut après votre connexion.
user_block_yourself = Vous ne pouvez pas vous bloquer vous même. user_block_yourself = Vous ne pouvez pas vous bloquer vous même.
pronouns_custom_label = Pronoms personnalisés pronouns_custom_label = Pronoms personnalisés
change_username_redirect_prompt.with_cooldown.one = L'ancien pseudonyme sera disponible pour n'importe qui après une période d'%[1]d jour, vous pouvez toujours réclamer votre ancien pseudonyme pendant cette période. change_username_redirect_prompt.with_cooldown.one = L'ancien pseudonyme sera disponible pour n'importe qui après une période d'%[1]d jour. Vous pouvez toujours réclamer votre ancien pseudonyme pendant cette période.
change_username_redirect_prompt.with_cooldown.few = L'ancien pseudonyme sera disponible pour n'importe qui après une période de %[1]d jours, vous pouvez toujours réclamer votre ancien pseudonyme pendant cette période. change_username_redirect_prompt.with_cooldown.few = L'ancien pseudonyme sera disponible pour n'importe qui après une période de %[1]d jours. Vous pouvez toujours réclamer votre ancien pseudonyme pendant cette période.
quota.rule.exceeded = Dépassé quota.rule.exceeded = Dépassé
regenerate_token = Régénérer regenerate_token = Régénérer
access_token_regeneration = Régénérer le token d'accès access_token_regeneration = Régénérer le token d'accès
@ -1653,13 +1653,13 @@ issues.close_comment_issue=Fermer avec le commentaire
issues.reopen_issue=Rouvrir issues.reopen_issue=Rouvrir
issues.reopen_comment_issue=Réouvrir avec le commentaire issues.reopen_comment_issue=Réouvrir avec le commentaire
issues.create_comment=Commenter issues.create_comment=Commenter
issues.closed_at=`a fermé ce ticket <a id="%[1]s" href="#%[1]s">%[2]s</a>.` issues.closed_at=`a fermé ce ticket %s`
issues.reopened_at=`a rouvert ce ticket <a id="%[1]s" href="#%[1]s">%[2]s</a>.` issues.reopened_at=`a rouvert ce ticket %s`
issues.commit_ref_at=`a référencé ce ticket depuis une révision <a id="%[1]s" href="#%[1]s"> %[2]s</a>.` issues.commit_ref_at=`a référencé ce ticket depuis une révision %s`
issues.ref_issue_from=`<a href="%[3]s">a fait référence à %[4]s</a> ce ticket <a id="%[1]s" href="#%[1]s">%[2]s</a>.` issues.ref_issue_from=`<a href="%[2]s">a fait référence à ce ticket %[3]s</a> %[1]s`
issues.ref_pull_from=`<a href="%[3]s">a fait référence</a> à cette demande d'ajout %[4]s <a id="%[1]s" href="#%[1]s">%[2]s</a>.` issues.ref_pull_from=`<a href="%[2]s">a fait référence à cette demande d'ajout %[3]s</a> %[1]s`
issues.ref_closing_from=`<a href="%[3]s">a fait référence</a> à une demande d'ajout %[4]s qui clora ce ticket, <a id="%[1]s" href="#%[1]s">%[2]s</a>.` issues.ref_closing_from=`<a href="%[2]s">a fait référence à une demande d'ajout %[3]s qui clora ce ticket</a>, %[1]s`
issues.ref_reopening_from=`<a href="%[3]s">a référencé une pull request %[4]s qui va ré-ouvrir ce ticket</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_reopening_from=`<a href="%[2]s">a référencé ce ticket dans une pull request %[3]s qui va ré-ouvrir ce ticket</a>, %[1]s`
issues.ref_closed_from=`<a href="%[3]s">a fermé ce ticket %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_closed_from=`<a href="%[3]s">a fermé ce ticket %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopened_from=`<a href="%[3]s">a rouvert</a> ce ticket %[4]s <a id="%[1]s" href="#%[1]s">%[2]s</a>.` issues.ref_reopened_from=`<a href="%[3]s">a rouvert</a> ce ticket %[4]s <a id="%[1]s" href="#%[1]s">%[2]s</a>.`
issues.ref_from=`de %[1]s` issues.ref_from=`de %[1]s`
@ -1967,8 +1967,8 @@ pulls.update_branch_success=La mise à jour de la branche a réussi
pulls.update_not_allowed=Vous n'êtes pas autorisé à mettre à jour la branche pulls.update_not_allowed=Vous n'êtes pas autorisé à mettre à jour la branche
pulls.outdated_with_base_branch=Cette branche est désynchronisée avec la branche de base pulls.outdated_with_base_branch=Cette branche est désynchronisée avec la branche de base
pulls.close=Fermer la demande dajout pulls.close=Fermer la demande dajout
pulls.closed_at=`a fermé cette demande d'ajout <a id="%[1]s" href="#%[1]s">%[2]s</a>.` pulls.closed_at=`a fermé cette demande d'ajout %s`
pulls.reopened_at=`a rouvert cette demande d'ajout <a id="%[1]s" href="#%[1]s">%[2]s</a>.` pulls.reopened_at=`a rouvert cette demande d'ajout %s`
pulls.cmd_instruction_hint=Voir les instructions en ligne de commande pulls.cmd_instruction_hint=Voir les instructions en ligne de commande
pulls.cmd_instruction_checkout_title=Basculer pulls.cmd_instruction_checkout_title=Basculer
pulls.cmd_instruction_checkout_desc=Depuis votre dépôt, basculer sur une nouvelle branche et tester des modifications. pulls.cmd_instruction_checkout_desc=Depuis votre dépôt, basculer sur une nouvelle branche et tester des modifications.
@ -2762,7 +2762,7 @@ issues.blocked_by_user = Vous ne pouvez pas créer de tickets sur ce dépôt car
pulls.blocked_by_user = Vous ne pouvez pas créer une pull request sur ce dépôt car vous êtes bloqué par son propriétaire. pulls.blocked_by_user = Vous ne pouvez pas créer une pull request sur ce dépôt car vous êtes bloqué par son propriétaire.
wiki.cancel = Annuler wiki.cancel = Annuler
settings.wiki_globally_editable = Permettre l'édition du wiki a tout le monde settings.wiki_globally_editable = Permettre l'édition du wiki a tout le monde
pulls.commit_ref_at = `a référencé cette pull request depuis le commit <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.commit_ref_at = `a référencé cette pull request depuis un commit %s`
settings.new_owner_blocked_doer = Le nouveau propriétaire vous a bloqué. settings.new_owner_blocked_doer = Le nouveau propriétaire vous a bloqué.
settings.enter_repo_name = Confirmez en entrant le propriétaire et le nom du dépôt exactement comme affiché : settings.enter_repo_name = Confirmez en entrant le propriétaire et le nom du dépôt exactement comme affiché :
settings.wiki_rename_branch_main = Normalise le nom de la branche du Wiki settings.wiki_rename_branch_main = Normalise le nom de la branche du Wiki
@ -3058,8 +3058,8 @@ teams.invite.by=Invité par %s
teams.invite.description=Veuillez cliquer sur le bouton ci-dessous pour rejoindre léquipe. teams.invite.description=Veuillez cliquer sur le bouton ci-dessous pour rejoindre léquipe.
follow_blocked_user = Vous ne pouvez pas suivre cette organisation car elle vous a bloqué. follow_blocked_user = Vous ne pouvez pas suivre cette organisation car elle vous a bloqué.
open_dashboard = Ouvrir le tableau de bord open_dashboard = Ouvrir le tableau de bord
settings.change_orgname_redirect_prompt.with_cooldown.few = L'ancien nom d'organisation sera disponible pour n'importe qui après une période de %[1]d jours, vous pouvez toujours réclamer votre ancien nom d'organisation pendant cette période. settings.change_orgname_redirect_prompt.with_cooldown.few = L'ancien nom d'organisation sera disponible pour n'importe qui après une période de %[1]d jours. Vous pouvez toujours réclamer votre ancien nom d'organisation pendant cette période.
settings.change_orgname_redirect_prompt.with_cooldown.one = L'ancien nom d'organisation sera disponible pour n'importe qui après une période d'%[1]d jour, vous pouvez toujours réclamer votre ancien nom d'organisation pendant cette période. settings.change_orgname_redirect_prompt.with_cooldown.one = L'ancien nom d'organisation sera disponible pour n'importe qui après une période d'%[1]d jour. Vous pouvez toujours réclamer votre ancien nom d'organisation pendant cette période.
[admin] [admin]
dashboard=Tableau de bord dashboard=Tableau de bord

View file

@ -1219,11 +1219,11 @@ issues.close_comment_issue = Dún le trácht
issues.reopen_issue = Athoscail issues.reopen_issue = Athoscail
issues.reopen_comment_issue = Athoscail le trácht issues.reopen_comment_issue = Athoscail le trácht
issues.create_comment = Trácht issues.create_comment = Trácht
issues.closed_at = `dhún an cheist seo <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.closed_at = `dhún an cheist seo %s`
issues.reopened_at = `athoscail an t-eagrán seo <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.reopened_at = `athoscail an t-eagrán seo %s`
issues.commit_ref_at = `rinne tagairt don cheist seo ó ghealltanas <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.commit_ref_at = `rinne tagairt don cheist seo ó ghealltanas %s`
issues.ref_issue_from = `<a href="%[3]s">rinne dagairt don cheist seo %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_issue_from = `<a href="%[2]s">rinne dagairt don cheist seo %[3]s</a> %[1]s`
issues.ref_pull_from = `<a href="%[3]s">rinne dagairt don iarratas tarraingthe seo %[4]s</a> <a id="%[1]s" href="#%[1]s">%[ 2]s</a>` issues.ref_pull_from = `<a href="%[2]s">rinne dagairt don iarratas tarraingthe seo %[3]s</a> %[1]s`
issues.ref_closed_from = `<a href="%[3]s">dhún an cheist seo %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_closed_from = `<a href="%[3]s">dhún an cheist seo %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopened_from = `<a href="%[3]s">d'athoscail an eagrán seo %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_reopened_from = `<a href="%[3]s">d'athoscail an eagrán seo %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_from = `ó %[1]s` issues.ref_from = `ó %[1]s`
@ -1456,8 +1456,8 @@ pulls.update_branch_success = Bhí nuashonrú brainse rathúil
pulls.update_not_allowed = Ní cheadaítear duit brainse a nuashonrú pulls.update_not_allowed = Ní cheadaítear duit brainse a nuashonrú
pulls.outdated_with_base_branch = Tá an brainse seo as dáta leis an mbunbhrainse pulls.outdated_with_base_branch = Tá an brainse seo as dáta leis an mbunbhrainse
pulls.close = Dún Iarratas Tarraing pulls.close = Dún Iarratas Tarraing
pulls.closed_at = `dhún an t-iarratas tarraingthe seo <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.closed_at = `dhún an t-iarratas tarraingthe seo %s`
pulls.reopened_at = `athoscail an t-iarratas tarraingthe seo <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.reopened_at = `athoscail an t-iarratas tarraingthe seo %s`
pulls.cmd_instruction_checkout_title = Seiceáil pulls.cmd_instruction_checkout_title = Seiceáil
pulls.cmd_instruction_checkout_desc = Ó stór tionscadail, seiceáil brainse nua agus déan tástáil ar na hathruithe. pulls.cmd_instruction_checkout_desc = Ó stór tionscadail, seiceáil brainse nua agus déan tástáil ar na hathruithe.
pulls.cmd_instruction_merge_title = Cumaisc pulls.cmd_instruction_merge_title = Cumaisc

View file

@ -932,7 +932,7 @@ issues.close_comment_issue=Hozzászólás és lezárás
issues.reopen_issue=Újranyitás issues.reopen_issue=Újranyitás
issues.reopen_comment_issue=Hozzászólás és újranyitás issues.reopen_comment_issue=Hozzászólás és újranyitás
issues.create_comment=Hozzászólás issues.create_comment=Hozzászólás
issues.commit_ref_at=`hivatkozott erre a hibajegyre egy commit-ból <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.commit_ref_at=`hivatkozott erre a hibajegyre egy commit-ból %s`
issues.role.owner=Tulajdonos issues.role.owner=Tulajdonos
issues.role.member=Tag issues.role.member=Tag
issues.re_request_review=Véleményezés újrakérése issues.re_request_review=Véleményezés újrakérése

View file

@ -796,7 +796,7 @@ issues.close_comment_issue=Komentar dan Tutup
issues.reopen_issue=Buka kembali issues.reopen_issue=Buka kembali
issues.reopen_comment_issue=Komentar dan Buka Kembali issues.reopen_comment_issue=Komentar dan Buka Kembali
issues.create_comment=Komentar issues.create_comment=Komentar
issues.commit_ref_at=`merujuk masalah dari komit <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.commit_ref_at=`merujuk masalah dari komit %s`
issues.role.owner=Pemilik issues.role.owner=Pemilik
issues.role.member=Anggota issues.role.member=Anggota
issues.sign_in_require_desc=<a href="%s">Masuk</a> untuk bergabung dengan percakapan ini. issues.sign_in_require_desc=<a href="%s">Masuk</a> untuk bergabung dengan percakapan ini.

View file

@ -805,8 +805,8 @@ issues.close_comment_issue=Senda ummæli og Loka
issues.reopen_issue=Enduropna issues.reopen_issue=Enduropna
issues.reopen_comment_issue=Senda ummæli og Enduropna issues.reopen_comment_issue=Senda ummæli og Enduropna
issues.create_comment=Senda Ummæli issues.create_comment=Senda Ummæli
issues.closed_at=`lokaði þessu vandamáli <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.closed_at=`lokaði þessu vandamáli %s`
issues.reopened_at=`enduropnaði þetta vandamál <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.reopened_at=`enduropnaði þetta vandamál %s`
issues.ref_reopened_from=`<a href="%[3]s">enduropnaði þetta vandamál %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_reopened_from=`<a href="%[3]s">enduropnaði þetta vandamál %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.author=Höfundur issues.author=Höfundur
issues.role.owner=Eigandi issues.role.owner=Eigandi

View file

@ -54,7 +54,7 @@ mirror=Mirror
new_repo=Nuovo repository new_repo=Nuovo repository
new_migrate=Nuova migrazione new_migrate=Nuova migrazione
new_mirror=Nuovo mirror new_mirror=Nuovo mirror
new_fork=Nuova derivazione new_fork=Nuova biforcazione
new_org=Nuova organizzazione new_org=Nuova organizzazione
new_project=Nuovo progetto new_project=Nuovo progetto
manage_org=Gestisci le organizzazioni manage_org=Gestisci le organizzazioni
@ -143,12 +143,12 @@ confirm_delete_selected = Confermare l'eliminazione di tutti gli elementi selezi
sign_in_with_provider = Accedi con %s sign_in_with_provider = Accedi con %s
new_project_column = Nuova colonna new_project_column = Nuova colonna
toggle_menu = Mostra/Nascondi menu toggle_menu = Mostra/Nascondi menu
filter.not_fork = Non fork filter.not_fork = Non biforcazioni
filter = Filtro filter = Filtro
filter.clear = Rimuovi filtri filter.clear = Rimuovi filtri
filter.is_archived = Archiviato filter.is_archived = Archiviato
filter.not_archived = Non archiviato filter.not_archived = Non archiviato
filter.is_fork = Da fork filter.is_fork = Biforcazioni
filter.is_mirror = Mirror filter.is_mirror = Mirror
filter.not_mirror = Non mirror filter.not_mirror = Non mirror
filter.is_template = Modelli filter.is_template = Modelli
@ -209,6 +209,7 @@ table_modal.label.columns = Colonne
link_modal.header = Aggiungi collegamento link_modal.header = Aggiungi collegamento
link_modal.url = Url link_modal.url = Url
link_modal.description = Descrizione link_modal.description = Descrizione
link_modal.paste_reminder = Suggerimento: se hai già copiato un URL negli appunti, puoi incollarlo direttamente nelleditor per creare un collegamento.
[filter] [filter]
string.asc = A - Z string.asc = A - Z
@ -232,6 +233,7 @@ lightweight_desc=Forgejo ha requisiti minimi bassi e può funzionare su un econo
license=Open Source license=Open Source
license_desc=Ottieni <a target="_blank" rel="noopener noreferrer" href="%[1]s">Forgejo</a>! Partecipa per <a target="_blank" rel="noopener noreferrer" href="%[2]s">contribuire</a> a rendere questo progetto ancora più bello. Non aver paura di diventare collaborante! license_desc=Ottieni <a target="_blank" rel="noopener noreferrer" href="%[1]s">Forgejo</a>! Partecipa per <a target="_blank" rel="noopener noreferrer" href="%[2]s">contribuire</a> a rendere questo progetto ancora più bello. Non aver paura di diventare collaborante!
install_desc = Semplicemente <a target="_blank" rel="noopener noreferrer" href="%[1]s">avvia l'eseguibile</a> per la tua piattaforma, distribuiscilo con <a target="_blank" rel="noopener noreferrer" href="%[2]s">Docker</a>, oppure scarica il <a target="_blank" rel="noopener noreferrer" href="%[3]s">pacchetto</a>. install_desc = Semplicemente <a target="_blank" rel="noopener noreferrer" href="%[1]s">avvia l'eseguibile</a> per la tua piattaforma, distribuiscilo con <a target="_blank" rel="noopener noreferrer" href="%[2]s">Docker</a>, oppure scarica il <a target="_blank" rel="noopener noreferrer" href="%[3]s">pacchetto</a>.
platform_desc = È stato verificato che Forgejo è pienamente compatibile con sistemi operativi liberi, come Linux e FreeBSD, nonché con diverse architetture CPU. Scegli liberamente la piattaforma che preferisci!
[install] [install]
install=Installazione install=Installazione
@ -396,12 +398,12 @@ go_to = Vai a
search.type.tooltip = Tipo di ricerca search.type.tooltip = Tipo di ricerca
search.fuzzy.tooltip = Includi anche i risultati che corrispondono parzialmente ai termini di ricerca search.fuzzy.tooltip = Includi anche i risultati che corrispondono parzialmente ai termini di ricerca
code_search_results = Risultati di ricerca per "%s" code_search_results = Risultati di ricerca per "%s"
relevant_repositories_tooltip = I repositori derivati o che non hanno argomento, icona, né descrizione sono nascosti. relevant_repositories_tooltip = I repositori che sono biforcazioni o che non hanno argomento, icona, né descrizione sono nascosti.
relevant_repositories = Sono visibili solo i repositori pertinenti, <a href="%s">mostra risultati non filtrati</a>. relevant_repositories = Sono visibili solo i repositori pertinenti, <a href="%s">mostra risultati non filtrati</a>.
search.match.tooltip = Includi solo risultati che combaciano perfettamente con i termini di ricerca search.match.tooltip = Includi solo risultati che combaciano perfettamente con i termini di ricerca
stars_few = %d stelle stars_few = %d stelle
forks_one = %d fork forks_one = %d biforcazioni
forks_few = %d fork forks_few = %d biforcazioni
stars_one = %d stella stars_one = %d stella
[auth] [auth]
@ -485,6 +487,8 @@ sign_in_openid = Procedi con OpenID
hint_login = Hai già un'utenza? <a href="%s">Accedi!</a> hint_login = Hai già un'utenza? <a href="%s">Accedi!</a>
hint_register = Non hai un'utenza? <a href="%s">Registrati ora.</a> hint_register = Non hai un'utenza? <a href="%s">Registrati ora.</a>
sign_up_button = Registrati ora. sign_up_button = Registrati ora.
unauthorized_credentials = Le credenziali non sono corrette o sono scadute. Controlla il comando o vedi %s per maggiori informazioni
use_onetime_code = Usa un codice monouso
[mail] [mail]
view_it_on=Visualizza su %s view_it_on=Visualizza su %s
@ -680,6 +684,8 @@ Location = Posizione
AccessToken = Token di accesso AccessToken = Token di accesso
FullName = Nome e cognome FullName = Nome e cognome
To = Nome del ramo To = Nome del ramo
email_domain_is_not_allowed = Il dominio dell'indirizzo email dell'utente <b>%s</b> è in conflitto con EMAIL_DOMAIN_ALLOWLIST o EMAIL_DOMAIN_BLOCKLIST. Assicurati di aver inserito correttamente l'indirizzo email.
username_claiming_cooldown = Il nome utente non può essere assegnato, poiché il periodo di attesa non è ancora terminato. Sarà disponibile il %[1]s.
[user] [user]
@ -723,6 +729,7 @@ followers.title.one = Seguace
followers.title.few = Seguaci followers.title.few = Seguaci
following.title.one = Seguito following.title.one = Seguito
following.title.few = Osservato following.title.few = Osservato
public_activity.visibility_hint.self_private_profile = Poiché il tuo profilo è privato, la tua attività è visibile solo a te e agli amministratori dell'istanza. <a href="%s">Configura</a>.
[settings] [settings]
@ -1045,7 +1052,7 @@ added_on = Aggiunto su %s
additional_repo_units_hint = Suggerisci l'attivazione di unità aggiuntive nel repositorio additional_repo_units_hint = Suggerisci l'attivazione di unità aggiuntive nel repositorio
update_hints = Aggiorna suggerimenti update_hints = Aggiorna suggerimenti
update_hints_success = I suggerimenti sono stati aggiornati. update_hints_success = I suggerimenti sono stati aggiornati.
additional_repo_units_hint_description = Mostra un pulsante "Aggiungi più sezioni..." per i repositori che non hanno tutte le sezioni disponibili aggiunte. additional_repo_units_hint_description = Visualizza un suggerimento “Abilita altro” per i repositori che non hanno tutte le unità disponibili abilitate.
hints = Suggerimenti hints = Suggerimenti
pronouns = Pronomi pronouns = Pronomi
pronouns_custom = Personalizzato pronouns_custom = Personalizzato
@ -1053,6 +1060,34 @@ pronouns_unspecified = Non specificato
language.title = Lingua predefinita language.title = Lingua predefinita
language.description = Questa lingua verrà salvata nella tua utenza e verrà usata come predefinita ogni volta che farai l'accesso. language.description = Questa lingua verrà salvata nella tua utenza e verrà usata come predefinita ogni volta che farai l'accesso.
language.localization_project = Aiutaci a tradurre Forgejo nella tua lingua! <a href="%s">Più informazioni</a>. language.localization_project = Aiutaci a tradurre Forgejo nella tua lingua! <a href="%s">Più informazioni</a>.
quota.sizes.assets.attachments.all = Allegati
quota.rule.no_limit = Illimitato
quota.sizes.assets.attachments.releases = Allegati del rilascio
quota.rule.exceeded = Superato
regenerate_token = Rigenera
access_token_regeneration = Rigenera il token d'accesso
access_token_regeneration_desc = Rigenerare un token comporterà la revoca dell'accesso al tuo account per tutte le applicazioni che lo utilizzano. Questa operazione è irreversibile. Vuoi procedere?
regenerate_token_success = Il token è stato rigenerato. Le applicazioni che lo utilizzano non hanno più accesso alla tua utenza e devono essere aggiornate con il nuovo token.
user_block_yourself = Non puoi bloccare te stesso.
quota.applies_to_user = Le seguenti regole di quota si applicano al tuo account
quota.applies_to_org = Le seguenti regole di quota si applicano a questa organizzazione
quota.rule.exceeded.helper = La dimensione totale degli oggetti per questa regola ha superato la quota.
quota.sizes.all = Tutti
quota.sizes.repos.all = Repositori
quota.sizes.repos.public = Repositori pubblici
quota.sizes.repos.private = Repositori privati
quota.sizes.git.all = Contenuto git
quota.sizes.git.lfs = Git LFS
quota.sizes.assets.all = Risorse
quota.sizes.assets.attachments.issues = Allegati della segnalazione
quota.sizes.assets.artifacts = Artefatti
quota.sizes.assets.packages.all = Pacchetti
quota.sizes.wiki = Wiki
keep_pronouns_private = Mostra i pronomi solo agli utenti che hanno effettuato il login
keep_pronouns_private.description = Questa impostazione nasconderà i tuoi pronomi agli utenti non ancora autenticati.
storage_overview = Panoramica spazio di archiviazione
quota = Quota
change_username_redirect_prompt.with_cooldown.one = Il vecchio nome utente sarà disponibile per tutti dopo un periodo di protezione di %\[1]d giorni. Durante questo periodo di attesa potrai comunque tornare al vecchio nome utente.
[repo] [repo]
owner=Proprietario owner=Proprietario
@ -1067,10 +1102,10 @@ template_description=I modelli di repositori consentono allɜ utenti di generare
visibility=Visibilità visibility=Visibilità
visibility_description=Solo il proprietario o i membri dell'organizzazione se hanno diritti, saranno in grado di vederlo. visibility_description=Solo il proprietario o i membri dell'organizzazione se hanno diritti, saranno in grado di vederlo.
visibility_helper_forced=L'amministratorə del sito impone che i nuovi repositori siano privati. visibility_helper_forced=L'amministratorə del sito impone che i nuovi repositori siano privati.
visibility_fork_helper=(Questa modifica influenzerà la visibilità di tutti i fork.) visibility_fork_helper=(Questa modifica influenzerà la visibilità di tutte le biforcazioni.)
clone_helper=Hai bisogno di aiuto per la clonazione? Visita <a target="_blank" rel="noopener noreferrer" href="%s">Help</a>. clone_helper=Hai bisogno di aiuto per la clonazione? Visita <a target="_blank" rel="noopener noreferrer" href="%s">Help</a>.
fork_repo=Deriva repositorio fork_repo=Deriva repositorio
fork_from=Deriva da fork_from=Biforcazione di
already_forked=Hai già fatto il fork di %s already_forked=Hai già fatto il fork di %s
fork_to_different_account=Fai Fork a un account diverso fork_to_different_account=Fai Fork a un account diverso
fork_visibility_helper=La visibilità di un repositorio derivato non può essere modificata. fork_visibility_helper=La visibilità di un repositorio derivato non può essere modificata.
@ -1514,13 +1549,13 @@ issues.close_comment_issue=Commenta e chiudi
issues.reopen_issue=Riapri issues.reopen_issue=Riapri
issues.reopen_comment_issue=Commenta e riapri issues.reopen_comment_issue=Commenta e riapri
issues.create_comment=Commento issues.create_comment=Commento
issues.closed_at=`ha chiuso questa segnalazione <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.closed_at=`ha chiuso questa segnalazione %s`
issues.reopened_at=`ha riaperto questa segnalazione <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.reopened_at=`ha riaperto questa segnalazione %s`
issues.commit_ref_at=`ha fatto riferimento a questa segnalazione dal commit <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.commit_ref_at=`ha fatto riferimento a questa segnalazione dal commit %s`
issues.ref_issue_from=`<a href="%[3]s">ha fatto riferimento a questa segnalazione %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_issue_from=`<a href="%[2]s">ha fatto riferimento a questa segnalazione %[3]s</a> %[1]s`
issues.ref_pull_from=`<a href="%[3]s">ha fatto riferimento a questa richiesta di modifica %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_pull_from=`<a href="%[2]s">ha fatto riferimento a questa richiesta di modifica %[3]s</a> %[1]s`
issues.ref_closing_from=`<a href="%[3]s">ha fatto riferimento a questa segnalazione da una richiesta di modifica %[4]s che la chiuderà</a>, <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_closing_from=`<a href="%[2]s">ha fatto riferimento a questa segnalazione da una richiesta di modifica %[3]s che la chiuderà</a>, %[1]s`
issues.ref_reopening_from=`<a href="%[3]s">ha fatto riferimento a questa segnalazione da una richiesta di modifica %[4]s che la riaprirà</a>, <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_reopening_from=`<a href="%[2]s">ha fatto riferimento a questa segnalazione da una richiesta di modifica %[3]s che la riaprirà</a>, %[1]s`
issues.ref_closed_from=`<a href="%[3]s">chiuso questa segnalazione %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_closed_from=`<a href="%[3]s">chiuso questa segnalazione %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopened_from=`<a href="%[3]s">ha riaperto questa segnalazione %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_reopened_from=`<a href="%[3]s">ha riaperto questa segnalazione %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_from=`da %[1]s` issues.ref_from=`da %[1]s`
@ -1718,7 +1753,7 @@ pulls.cannot_merge_work_in_progress=Questa richiesta di modifica è contrassegna
pulls.still_in_progress=Ancora in corso? pulls.still_in_progress=Ancora in corso?
pulls.add_prefix=Aggiungi prefisso <strong>%s</strong> pulls.add_prefix=Aggiungi prefisso <strong>%s</strong>
pulls.remove_prefix=Rimuovi il prefisso <strong>%s</strong> pulls.remove_prefix=Rimuovi il prefisso <strong>%s</strong>
pulls.data_broken=Questa richiesta di modifica è rovinata a causa di informazioni mancanti riguardo la derivazione. pulls.data_broken=Questa richiesta di modifica non è valida a causa di informazioni mancanti sulla biforcazione.
pulls.files_conflicted=Questa richiesta di modifica va in conflitto con il ramo di destinazione. pulls.files_conflicted=Questa richiesta di modifica va in conflitto con il ramo di destinazione.
pulls.is_checking=Verifica dei conflitti di fusione in corso. Riprova tra qualche istante. pulls.is_checking=Verifica dei conflitti di fusione in corso. Riprova tra qualche istante.
pulls.is_ancestor=Questo ramo è già incluso nel ramo di destinazione. Non c'è nulla da fondere. pulls.is_ancestor=Questo ramo è già incluso nel ramo di destinazione. Non c'è nulla da fondere.
@ -1776,8 +1811,8 @@ pulls.update_branch_rebase=Aggiorna il ramo per cambio base
pulls.update_branch_success=Ramo aggiornato con successo pulls.update_branch_success=Ramo aggiornato con successo
pulls.update_not_allowed=Non ti è permesso aggiornare il ramo pulls.update_not_allowed=Non ti è permesso aggiornare il ramo
pulls.outdated_with_base_branch=Questo ramo non è aggiornato con il ramo di base pulls.outdated_with_base_branch=Questo ramo non è aggiornato con il ramo di base
pulls.closed_at=`ha chiuso questa richiesta di modifica <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.closed_at=`ha chiuso questa richiesta di modifica %s`
pulls.reopened_at=`ha riaperto questa richiesta di modifica <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.reopened_at=`ha riaperto questa richiesta di modifica %s`
pulls.auto_merge_button_when_succeed=(Quando i controlli sono superati) pulls.auto_merge_button_when_succeed=(Quando i controlli sono superati)
pulls.auto_merge_when_succeed=Unione automatica quando tutti i controlli sono superati pulls.auto_merge_when_succeed=Unione automatica quando tutti i controlli sono superati
@ -2100,7 +2135,7 @@ settings.event_create_desc=Ramo o etichetta creati.
settings.event_delete=Elimina settings.event_delete=Elimina
settings.event_delete_desc=Ramo o etichetta eliminati. settings.event_delete_desc=Ramo o etichetta eliminati.
settings.event_fork=Deriva settings.event_fork=Deriva
settings.event_fork_desc=Repository derivato. settings.event_fork_desc=Creata una biforcazione del repositorio.
settings.event_wiki=Wiki settings.event_wiki=Wiki
settings.event_release=Release settings.event_release=Release
settings.event_release_desc=Release pubblicata, aggiornata o rimossa in una repository. settings.event_release_desc=Release pubblicata, aggiornata o rimossa in una repository.
@ -2137,7 +2172,7 @@ settings.event_pull_request_sync_desc=Pull request sincronizzata.
settings.event_package=Pacchetto settings.event_package=Pacchetto
settings.event_package_desc=Pacchetto creato o eliminato in un repository. settings.event_package_desc=Pacchetto creato o eliminato in un repository.
settings.branch_filter=Filtro rami settings.branch_filter=Filtro rami
settings.branch_filter_desc=Whitelist dei rami per gli eventi di spinta, creazione dei rami e cancellazione dei rami, specificati come modello globo. Se vuoto o <code>*</code>, gli eventi per tutti i rami sono segnalati. Vedi la documentazione <a href="%[1]s">%[2]s</a> per la sintassi. Esempi: <code>master</code>, <code>{master,release*}</code>. settings.branch_filter_desc=Filtro, scritto come pattern glob, da applicare ai rami per gli eventi di tipo immissione, creazione di rami e rimozione di rami. Se vuoto o <code>*</code>, vengono considerati tutti gli eventi di tutti i rami. Maggiori dettagli sulla sintassi presso <a href="%[1]s">%[2]s</a>. Esempi: <code>master</code>, <code>{master,release*}</code>.
settings.active=Attivo settings.active=Attivo
settings.active_helper=Le informazioni sugli eventi innescati saranno inviate a questo URL del webhook. settings.active_helper=Le informazioni sugli eventi innescati saranno inviate a questo URL del webhook.
settings.add_hook_success=Il webhook è stato aggiunto. settings.add_hook_success=Il webhook è stato aggiunto.
@ -2167,8 +2202,8 @@ settings.web_hook_name_packagist=Packagist
settings.packagist_username=Nome utente Packagist settings.packagist_username=Nome utente Packagist
settings.packagist_api_token=API token settings.packagist_api_token=API token
settings.packagist_package_url=Url pacchetto pacchetti settings.packagist_package_url=Url pacchetto pacchetti
settings.deploy_keys=Dispiega chiavi settings.deploy_keys=Chiavi di distribuzione
settings.add_deploy_key=Aggiungi chiave di dispiego settings.add_deploy_key=Aggiungi chiave di distribuzione
settings.deploy_key_desc=Le deploy key possiedono l'accesso solamente alla lettura di un repository. settings.deploy_key_desc=Le deploy key possiedono l'accesso solamente alla lettura di un repository.
settings.is_writable=Abilita accesso scrittura settings.is_writable=Abilita accesso scrittura
settings.is_writable_info=Permetti a questa deploy key di <strong>pushare</strong> nella repository. settings.is_writable_info=Permetti a questa deploy key di <strong>pushare</strong> nella repository.
@ -2177,7 +2212,7 @@ settings.title=Titolo
settings.deploy_key_content=Contenuto settings.deploy_key_content=Contenuto
settings.key_been_used=Una deploy key con contenuto identico è già in uso. settings.key_been_used=Una deploy key con contenuto identico è già in uso.
settings.key_name_used=Esiste già una deploy key con questo nome. settings.key_name_used=Esiste già una deploy key con questo nome.
settings.deploy_key_deletion=Rimuovi chiave di dispiego settings.deploy_key_deletion=Rimuovi chiave di distribuzione
settings.deploy_key_deletion_desc=Rimuovere una chiave di distribuzione ne revocherà l'accesso a questo repository. Continuare? settings.deploy_key_deletion_desc=Rimuovere una chiave di distribuzione ne revocherà l'accesso a questo repository. Continuare?
settings.deploy_key_deletion_success=La chiave di distribuzione è stata rimossa. settings.deploy_key_deletion_success=La chiave di distribuzione è stata rimossa.
settings.branches=Rami settings.branches=Rami
@ -2620,7 +2655,7 @@ issues.filter_type.reviewed_by_you = Revisionati da te
projects.edit_success = Il progetto "%s" è stato aggiornato. projects.edit_success = Il progetto "%s" è stato aggiornato.
issues.keyword_search_unavailable = La ricerca per parola chiave non è attualmente disponibile. Contatta l'amministratore del sito. issues.keyword_search_unavailable = La ricerca per parola chiave non è attualmente disponibile. Contatta l'amministratore del sito.
issues.role.collaborator_helper = Quest*utente è statə invitatə a collaborare al progetto. issues.role.collaborator_helper = Quest*utente è statə invitatə a collaborare al progetto.
pulls.commit_ref_at = `ha fatto riferimento a questa richiesta di modifica da un commit <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.commit_ref_at = `ha fatto riferimento a questa richiesta di modifica da un commit %s`
settings.thread_id = ID della discussione settings.thread_id = ID della discussione
release.title = Titolo del rilascio release.title = Titolo del rilascio
visibility_helper = Rendi il repositorio privato visibility_helper = Rendi il repositorio privato
@ -2660,7 +2695,7 @@ wiki.page_title = Titolo della pagina
wiki.page_content = Contenuto della pagina wiki.page_content = Contenuto della pagina
settings.mirror_settings.pushed_repository = Repositorio immesso settings.mirror_settings.pushed_repository = Repositorio immesso
settings.mirror_settings.push_mirror.edit_sync_time = Modifica intervallo di sincronizzazione degli specchi settings.mirror_settings.push_mirror.edit_sync_time = Modifica intervallo di sincronizzazione degli specchi
settings.units.units = Unità della repository settings.units.units = Sezioni del repositorio
settings.units.add_more = Aggiungi ancora... settings.units.add_more = Aggiungi ancora...
settings.wiki_globally_editable = Consenti a tutti di modificare la wiki settings.wiki_globally_editable = Consenti a tutti di modificare la wiki
settings.pull_mirror_sync_in_progress = Prelevando cambiamenti dal progetto remoto %s. settings.pull_mirror_sync_in_progress = Prelevando cambiamenti dal progetto remoto %s.
@ -2732,7 +2767,7 @@ pulls.merged_title_desc_one = ha fuso %[1]d commit da <code>%[2]s</code> in <cod
settings.event_pull_request_approvals = Approvazioni della richiesta di modifica settings.event_pull_request_approvals = Approvazioni della richiesta di modifica
settings.event_pull_request_merge = Fusione della richiesta di modifica settings.event_pull_request_merge = Fusione della richiesta di modifica
settings.authorization_header = Intestazione dell'autorizzazione settings.authorization_header = Intestazione dell'autorizzazione
settings.add_key_success = La chiave di dispiego "%s" è stata aggiunta. settings.add_key_success = La chiave di distribuzione "%s" è stata aggiunta.
settings.protected_branch.save_rule = Salva regola settings.protected_branch.save_rule = Salva regola
settings.protected_branch.delete_rule = Elimina regola settings.protected_branch.delete_rule = Elimina regola
settings.protect_invalid_status_check_pattern = Sequenza per il controllo dello stato non valida: "%s". settings.protect_invalid_status_check_pattern = Sequenza per il controllo dello stato non valida: "%s".
@ -2810,6 +2845,79 @@ wiki.search = Cerca nel wiki
wiki.no_search_results = Nessun risultato wiki.no_search_results = Nessun risultato
mirror_use_ssh.helper = Selezionando quest'opzione, Forgejo replicherà il repositorio tramite Git con SSH e creerà un paio di chiavi per te. Assicurati che la chiave pubblica generata sia autorizzata per l'immissione nel repositorio di destinazione. Non puoi usare l'autorizzazione tramite password se selezioni quest'opzione. mirror_use_ssh.helper = Selezionando quest'opzione, Forgejo replicherà il repositorio tramite Git con SSH e creerà un paio di chiavi per te. Assicurati che la chiave pubblica generata sia autorizzata per l'immissione nel repositorio di destinazione. Non puoi usare l'autorizzazione tramite password se selezioni quest'opzione.
archive.pull.noreview = Il repositorio è archiviato. Non puoi revisionare le richieste di modifica. archive.pull.noreview = Il repositorio è archiviato. Non puoi revisionare le richieste di modifica.
settings.event_action_failure = Fallimento
release.asset_external_url = URL esterno
release.add_external_asset = Aggiungi risorsa esterna
pulls.delete_after_merge.head_branch.insufficient_branch = Non hai i permessi per eliminare il ramo genitore.
settings.mirror_settings.push_mirror.copy_public_key = Copia chiave pubblica
issues.context.menu = Menu commenti
activity.published_tag_label = Etichetta
settings.event_header_action = Eventi di esecuzione delle azioni
settings.event_action_failure_desc = L'esecuzione dell'azione è terminata con un fallimento.
settings.event_action_recover_desc = L'esecuzione dell'azione ha avuto successo dopo che l'ultima esecuzione dell'azione nello stesso flusso di lavoro è fallita.
mirror_use_ssh.text = Utilizza SSH per l'autenticazione
mirror_use_ssh.not_available = L'autenticazione tramite SSH non è disponibile.
archive.nocomment = Non è possibile commentare perché il repositorio è archiviato.
settings.event_action_recover = Recupera
issues.all_title = Tutti
issues.review.add_remove_review_requests = aggiunte richieste di revisione da %\[1]s e rimosse richieste di revisione da %\[2]s %\[3]s
commits.view_single_diff = Visualizza le modifiche apportate a questo file in questo commit
issues.new.assign_to_me = Assegna a me
issues.reaction.alt_few = %[1] ha reagito %[2]s.
pulls.delete_after_merge.head_branch.is_protected = Il ramo head che desideri eliminare è protetto e non può essere eliminato.
issues.filter_type.all_pull_requests = Tutte le richieste di modifica
migrate.repo_desc_helper = Lascia vuoto per importare una descrizione esistente
settings.discord_icon_url.exceeds_max_length = L'URL dell'icona non deve essere più lungo di 2048 caratteri
issues.review.add_review_requests = richiesto revisioni da %[1]s %[2]s
diff.git-notes.add = Aggiunti nota
release.type_external_asset = Risorsa esterna
issues.reopen.blocked_by_user = Non puoi riaprire questa segnalazione perché sei bloccato dal proprietario del repositorio o dallautore di questa segnalazione.
pulls.editable_explanation = Questa richiesta di modifica consente modifiche da parte dei manutentori. Puoi contribuire direttamente.
activity.published_prerelease_label = Pre-rilascio
settings.pull_mirror_sync_quota_exceeded = Quota superata, non è possibile unire le modifiche.
settings.default_update_style_desc = Stile di aggiornamento predefinito utilizzato per aggiornare le richieste di modifica che sono indietro rispetto al ramo di base.
release.asset_name = Nome della risorsa
settings.transfer_quota_exceeded = Il nuovo proprietario (%s) è sopra la sua quota. Il repositorio non è stato trasferito.
release.summary_card_alt = Scheda riepilogativa di un rilascio con titolo "%s" nel repositorio %s
issues.filter_no_results = Nessun risultato
issues.filter_no_results_placeholder = Prova a modificare i filtri di ricerca.
auto_init_description = Inizializza la cronologia Git con un README e, opzionalmente, aggiungi i file di licenza e .gitignore.
sync_fork.button = Sincronizza
pulls.editable = Modificabile
pulls.sign_in_require = <a href="%s">Accedi</a> per creare una richiesta di modifica.
settings.mirror_settings.push_mirror.none_ssh = Nessuno
sync_fork.branch_behind_one = Questo ramo è indietro di %[1]d commit rispetto a %[2]s
sync_fork.branch_behind_few = Questo ramo è indietro di %[1]d commit rispetto a %[2]s
no_eol.text = Nessun fine linea
no_eol.tooltip = Questo file non contiene un carattere di fine linea finale.
milestones.filter_sort.name = Nome
settings.protect_new_rule = Crea una nuova regola di protezione dei rami
editor.commit_email = E-mail di commit
mirror_public_key = Chiave SSH pubblica
mirror_denied_combination = Non è possibile utilizzare contemporaneamente l'autenticazione tramite chiave pubblica e password.
release.type_attachment = Allegato
release.invalid_external_url = URL esterno invalido: "%s"
new_from_template = Utilizza un modello
new_from_template_description = Puoi selezionare un modello di repositorio esistente su questa istanza e applicare le sue impostazioni.
new_advanced = Impostazioni avanzate
new_advanced_expand = Clicca per espandere
summary_card_alt = Scheda riepilogativa del repository %s
issues.filter_sort.relevance = Rilevanza
issues.num_reviews_one = %d revisioni
issues.num_reviews_few = %d revisioni
issues.reaction.add = Aggiungi reazione
issues.reaction.alt_many = %[1] e altri %[2]d hanno reagito %[3]s.
issues.reaction.alt_remove = Rimuovi la reazione %[1]s dal commento.
issues.reaction.alt_add = Aggiungi la reazione %[1]s al commento.
issues.review.remove_review_requests = rimosso richieste di revisione per %\[1]s %\[2]s
comment.blocked_by_user = Non è possibile commentare perché sei stato bloccato dal proprietario del repositorio o dall'autore.
issues.summary_card_alt = Scheda riepilogativa di una segnalazione intitolata "%s" nel repositorio %s
pulls.delete_after_merge.head_branch.is_default = Il ramo head che desideri eliminare è il ramo predefinito e non può essere eliminato.
settings.event_action_success = Successo
settings.event_action_success_desc = L'esecuzione dell'azione è andata a buon fine.
diff.git-notes.remove-header = Rimuovi nota
diff.git-notes.remove-body = Questa nota verrà rimossa.
activity.commit = Attività di commit
[graphs] [graphs]
contributors.what = contribuzioni contributors.what = contribuzioni
@ -2839,7 +2947,7 @@ team_name_helper=I nomi dei team devono essere brevi e semplici da ricordare.
team_desc_helper=Descrivi lo scopo o il ruolo del team. team_desc_helper=Descrivi lo scopo o il ruolo del team.
team_access_desc=Accesso al repository team_access_desc=Accesso al repository
team_permission_desc=Autorizzazione team_permission_desc=Autorizzazione
team_unit_desc=Consenti l'accesso a sezioni di progetto team_unit_desc=Consenti l'accesso alle sezioni del repositorio
team_unit_disabled=(Disabilitato) team_unit_disabled=(Disabilitato)
form.create_org_not_allowed=Non disponi dell'autorizzazione per creare un organizzazione. form.create_org_not_allowed=Non disponi dell'autorizzazione per creare un organizzazione.
@ -3493,6 +3601,12 @@ config.cache_test_slow = Successo nel controllo della cache, ma la risposta è l
config.app_slogan = Slogan dell'istanza config.app_slogan = Slogan dell'istanza
auths.default_domain_name = Nome di dominio predefinito utilizzato per l'indirizzo e-mail auths.default_domain_name = Nome di dominio predefinito utilizzato per l'indirizzo e-mail
users.restricted.description = Permetti di interagire solo con i repositori e le organizzazioni in cui l'utente è aggiuntə come collaborante. Ciò evita l'accesso ai repositori pubblici di quest'istanza. users.restricted.description = Permetti di interagire solo con i repositori e le organizzazioni in cui l'utente è aggiuntə come collaborante. Ciò evita l'accesso ai repositori pubblici di quest'istanza.
emails.deletion_success = L'indirizzo e-mail è stato eliminato.
monitor.duration = Durata (s)
emails.delete_desc = Confermare leliminazione di questo indirizzo email?
emails.delete_primary_email_error = Non puoi eliminare la e-mail primaria.
emails.delete = Elimina e-mail
users.organization_creation.description = Abilita la creazione di nuove organizzazioni.
[action] [action]
@ -3737,6 +3851,31 @@ owner.settings.cargo.initialize.success = L'indice di Cargo è stato creato corr
owner.settings.cargo.rebuild.no_index = Impossibile ricostruire, nessun indice è inizializzato. owner.settings.cargo.rebuild.no_index = Impossibile ricostruire, nessun indice è inizializzato.
owner.settings.cargo.rebuild.description = La ricostruzione può essere utile se l'indice non è sincronizzato con i pacchetti Cargo conservati. owner.settings.cargo.rebuild.description = La ricostruzione può essere utile se l'indice non è sincronizzato con i pacchetti Cargo conservati.
npm.dependencies.bundle = Dipendenze raggruppate npm.dependencies.bundle = Dipendenze raggruppate
arch.version.groups = Gruppo
arch.version.conflicts = Va in conflitto con
arch.version.depends = Dipende da
arch.version.makedepends = Dipendenze di build
arch.version.checkdepends = Dipendenze di controllo
arch.version.replaces = Sostituisce
arch.version.optdepends = Dipende opzionalmente da
arch.version.backup = Backup
search_in_external_registry = Cerca in %s
arch.version.provides = Fornisce
arch.pacman.conf = Aggiungi il server con la relativa distribuzione e architettura a <code>/etc/pacman.conf</code>:
alt.setup = Aggiungi il repositorio alla lista dei repositori in rete (seleziona l'architettura necessaria al posto di "_arch_"):
container.images.title = Immagini
arch.version.properties = Proprietà della versione
alt.registry.install = Per installare il pacchetto, esegui il comando seguente:
alt.install = Installa pacchetto
alt.registry = Configura questo registro dalla riga di comando:
arch.pacman.helper.gpg = Aggiungi il certificato a pacman:
arch.pacman.repo.multi = %s ha la stessa versione in diverse distribuzioni.
arch.pacman.repo.multi.item = Configurazione per %s
arch.pacman.sync = Sincronizza il paccketto con pacman:
arch.version.description = Descrizione
alt.repository = Informazioni del repositorio
alt.repository.architectures = Architetture
alt.repository.multiple_groups = Questo pacchetto è disponibile per più gruppi.
[secrets] [secrets]
secrets = Segreti secrets = Segreti
@ -3834,7 +3973,7 @@ runs.empty_commit_message = (messaggio di commit vuoto)
runs.no_runs = Il flusso di lavoro non è stato ancora eseguito. runs.no_runs = Il flusso di lavoro non è stato ancora eseguito.
variables.creation.success = La variabile "%s" è stata aggiunta. variables.creation.success = La variabile "%s" è stata aggiunta.
variables.description = Le variabili saranno passate a determinate azioni e non possono essere lette altrimenti. variables.description = Le variabili saranno passate a determinate azioni e non possono essere lette altrimenti.
need_approval_desc = È necessaria l'approvazione per eseguire flussi di lavoro per richieste di modifica da derivazioni. need_approval_desc = È necessaria l'approvazione per eseguire flussi di lavoro per richieste di modifica da biforcazioni.
runs.no_workflows.documentation = Per ulteriori informazioni sulle Forgejo Actions vedi <a target="_blank" rel="noopener noreferrer" href="%s">la documentazione</a>. runs.no_workflows.documentation = Per ulteriori informazioni sulle Forgejo Actions vedi <a target="_blank" rel="noopener noreferrer" href="%s">la documentazione</a>.
runs.no_workflows.quick_start = Non sai come iniziare con le Forgejo Actions? Vedi <a target="_blank" rel="noopener noreferrer" href="%s">la guida rapida</a>. runs.no_workflows.quick_start = Non sai come iniziare con le Forgejo Actions? Vedi <a target="_blank" rel="noopener noreferrer" href="%s">la guida rapida</a>.
runners.delete_runner_notice = Se un'attività è in esecuzione su questo esecutore sarà terminata ed etichettata fallito. Potrebbe rompere flussi di lavoro di costruzione. runners.delete_runner_notice = Se un'attività è in esecuzione su questo esecutore sarà terminata ed etichettata fallito. Potrebbe rompere flussi di lavoro di costruzione.
@ -3848,6 +3987,8 @@ workflow.dispatch.invalid_input_type = Tipo ingresso "%s" non valido.
workflow.dispatch.warn_input_limit = Visualizzati solo i primi %d ingressi. workflow.dispatch.warn_input_limit = Visualizzati solo i primi %d ingressi.
runs.no_job = Il flusso di lavoro deve contenere almeno un incarico runs.no_job = Il flusso di lavoro deve contenere almeno un incarico
workflow.dispatch.use_from = Usa flusso di lavoro da workflow.dispatch.use_from = Usa flusso di lavoro da
variables.not_found = Non è stato possibile trovare la variabile.
runs.expire_log_message = I log sono stati eliminati in quanto troppo vecchi.
@ -3856,6 +3997,7 @@ workflow.dispatch.use_from = Usa flusso di lavoro da
type-3.display_name = Progetto dell'organizzazione type-3.display_name = Progetto dell'organizzazione
type-1.display_name = Progetto individuale type-1.display_name = Progetto individuale
type-2.display_name = Progetto type-2.display_name = Progetto
deleted.display_name = Progetto eliminato
[git.filemode] [git.filemode]
symbolic_link=Link Simbolico symbolic_link=Link Simbolico
@ -3896,6 +4038,7 @@ milestone_kind = Ricerca tappe...
regexp_tooltip = Interpreta i termini di ricerca come un'espressione regolare regexp_tooltip = Interpreta i termini di ricerca come un'espressione regolare
regexp = Espressione Regolare regexp = Espressione Regolare
union_tooltip = Include i risultati che combaciano con una qualsiasi delle parole chiave separata da spazi union_tooltip = Include i risultati che combaciano con una qualsiasi delle parole chiave separata da spazi
union = Parole chiavi
[munits.data] [munits.data]
gib = GiB gib = GiB
@ -3914,4 +4057,16 @@ filepreview.line = Linea %[1]d in %[2]s
[repo.permissions] [repo.permissions]
issues.write = <b>Scrittura:</b> Chiudere segnalazioni e gestire metadati come etichette, traguardi, assegnatarɜ, scadenze e dipendenze. issues.write = <b>Scrittura:</b> Chiudere segnalazioni e gestire metadati come etichette, traguardi, assegnatarɜ, scadenze e dipendenze.
pulls.write = <b>Scrittura:</b> Chiudere richieste di modifica e gestire metadati come etichette, traguardi, assegnatarɜ, scadenze e dipendenze. pulls.write = <b>Scrittura:</b> Chiudere richieste di modifica e gestire metadati come etichette, traguardi, assegnatarɜ, scadenze e dipendenze.
releases.write = <b>Scrittura:</b> Può pubblicare, modificare ed eliminare rilasci e le risorse ad essi allegate.
code.write = <b>Scrittura:</b> Può aggiungere commit al repositorio, creare rami ed etichette.
wiki.read = <b>Lettura:</b> Può leggere la wiki integrata e la sua cronologia.
releases.read = <b>Lettura:</b> Può visualizzare e scaricare i rilasci.
projects.read = <b>Lettura:</b> Può accedere alle board di progetto del repositorio.
code.read = <b>Lettura:</b> Può accedere e clonare il codice del repositorio.
wiki.write = <b>Scrittura:</b> Può creare, aggiornare ed eliminare pagine nella wiki integrata.
issues.read = <b>Lettura:</b> Può leggere e creare segnalazioni e commenti.
pulls.read = <b>Lettura:</b> Può leggere e creare richieste di modifica.
[translation_meta]
test = daje Roma

View file

@ -1610,13 +1610,13 @@ issues.close_comment_issue=コメントしてクローズ
issues.reopen_issue=再オープンする issues.reopen_issue=再オープンする
issues.reopen_comment_issue=コメントして再オープン issues.reopen_comment_issue=コメントして再オープン
issues.create_comment=コメントする issues.create_comment=コメントする
issues.closed_at=`がイシューをクローズ <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.closed_at=`がイシューをクローズ %s`
issues.reopened_at=`がイシューを再オープン <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.reopened_at=`がイシューを再オープン %s`
issues.commit_ref_at=`がコミットでこのイシューを参照 <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.commit_ref_at=`がコミットでこのイシューを参照 %s`
issues.ref_issue_from=`<a href="%[3]s">が%[4]s、このイシューを参照</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_issue_from=`<a href="%[2]s">が%[3]s、このイシューを参照</a> %[1]s`
issues.ref_pull_from=`<a href="%[3]s">が%[4]s、このプルリクエストを参照</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_pull_from=`<a href="%[2]s">が%[3]s、このプルリクエストを参照</a> %[1]s`
issues.ref_closing_from=`<a href="%[3]s">が%[4]s、プルリクエストがこのイシューをクローズするよう参照</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_closing_from=`<a href="%[2]s">が%[3]s、プルリクエストがこのイシューをクローズするよう参照</a> %[1]s`
issues.ref_reopening_from=`<a href="%[3]s">が%[4]s、プルリクエストがこのイシューを再オープンするよう参照</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_reopening_from=`<a href="%[2]s">が%[3]s、プルリクエストがこのイシューを再オープンするよう参照</a> %[1]s`
issues.ref_closed_from=`<a href="%[3]s">が%[4]s、このイシューをクローズ</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_closed_from=`<a href="%[3]s">が%[4]s、このイシューをクローズ</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopened_from=`<a href="%[3]s">が%[4]s、このイシューを再オープン</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_reopened_from=`<a href="%[3]s">が%[4]s、このイシューを再オープン</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_from=` %[1]s にて` issues.ref_from=` %[1]s にて`
@ -1923,8 +1923,8 @@ pulls.update_branch_success=ブランチの更新が成功しました
pulls.update_not_allowed=ブランチを更新する権限がありません pulls.update_not_allowed=ブランチを更新する権限がありません
pulls.outdated_with_base_branch=このブランチはベースブランチに対して最新ではありません pulls.outdated_with_base_branch=このブランチはベースブランチに対して最新ではありません
pulls.close=プルリクエストをクローズ pulls.close=プルリクエストをクローズ
pulls.closed_at=`がプルリクエストをクローズ <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.closed_at=`がプルリクエストをクローズ %s`
pulls.reopened_at=`がプルリクエストを再オープン <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.reopened_at=`がプルリクエストを再オープン %s`
pulls.cmd_instruction_hint=コマンドラインの手順を表示 pulls.cmd_instruction_hint=コマンドラインの手順を表示
pulls.cmd_instruction_checkout_title=チェックアウト pulls.cmd_instruction_checkout_title=チェックアウト
pulls.cmd_instruction_checkout_desc=プロジェクトリポジトリから新しいブランチをチェックアウトし、変更内容をテストします。 pulls.cmd_instruction_checkout_desc=プロジェクトリポジトリから新しいブランチをチェックアウトし、変更内容をテストします。
@ -2721,7 +2721,7 @@ settings.wiki_rename_branch_main = wikiのブランチ名を正規化する
settings.wiki_rename_branch_main_desc = wikiによって内部的に使われているブランチ名を "%s" に変更します。これは恒久的で元に戻すことはできません。 settings.wiki_rename_branch_main_desc = wikiによって内部的に使われているブランチ名を "%s" に変更します。これは恒久的で元に戻すことはできません。
contributors.contribution_type.additions = 追加 contributors.contribution_type.additions = 追加
vendored = vendor済み vendored = vendor済み
pulls.commit_ref_at = `このプルリクエストを言及するコミット <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.commit_ref_at = `このプルリクエストを言及するコミット %s`
pulls.fast_forward_only_merge_pull_request = Fast-forwardのみ pulls.fast_forward_only_merge_pull_request = Fast-forwardのみ
admin.manage_flags = フラグ管理 admin.manage_flags = フラグ管理
admin.update_flags = フラグを更新 admin.update_flags = フラグを更新

View file

@ -2,4 +2,12 @@
[common] [common]
home = zdani home = zdani
dashboard = jitypalna
explore = sisku
help = se sidju
logo = se'isni
sign_in = co'a nerkla
sign_in_with_provider = co'a nerka sepi'o la .%s.
sign_out = co'a cliva
sign_up = co'a gumri

View file

@ -943,7 +943,7 @@ issues.close_comment_issue=클로즈 및 코멘트
issues.reopen_issue=다시 열기 issues.reopen_issue=다시 열기
issues.reopen_comment_issue=다시 오픈 및 코멘트 issues.reopen_comment_issue=다시 오픈 및 코멘트
issues.create_comment=코멘트 issues.create_comment=코멘트
issues.commit_ref_at=` 커밋 <a id="%[1]s" href="#%[1]s">%[2]s</a>에서 이 이슈 언급` issues.commit_ref_at=` 커밋 %s에서 이 이슈 언급`
issues.role.owner=소유자 issues.role.owner=소유자
issues.role.member=멤버 issues.role.member=멤버
issues.sign_in_require_desc=<a href="%s">로그인</a>하여 이 대화에 참여하세요. issues.sign_in_require_desc=<a href="%s">로그인</a>하여 이 대화에 참여하세요.
@ -1378,7 +1378,7 @@ issues.closed_by_fake = %[2]s님이 %[1]s에 닫음
issues.new.closed_projects = 닫힌 프로젝트 issues.new.closed_projects = 닫힌 프로젝트
pulls.merged_by_fake = %[2]s님이 %[1]s 병합함 pulls.merged_by_fake = %[2]s님이 %[1]s 병합함
issues.closed_by = <a href="%[2]s">%[3]s</a>님이 %[1]s에 닫음 issues.closed_by = <a href="%[2]s">%[3]s</a>님이 %[1]s에 닫음
issues.closed_at = `<a id="%[1]s" href="#%[1]s">%[2]s</a>`에 이 이슈를 닫음 issues.closed_at = `%s`에 이 이슈를 닫음
issues.filter_milestone_closed = 닫힌 마일스톤 issues.filter_milestone_closed = 닫힌 마일스톤
issues.opened_by_fake = %[2]s님이 %[1]s에 열음 issues.opened_by_fake = %[2]s님이 %[1]s에 열음
issues.filter_project_none = 프로젝트 없음 issues.filter_project_none = 프로젝트 없음

View file

@ -1651,13 +1651,13 @@ issues.close_comment_issue=Aizvērt ar piebildi
issues.reopen_issue=Atvērt atkārtoti issues.reopen_issue=Atvērt atkārtoti
issues.reopen_comment_issue=Atkārtoti atvērt ar piebildi issues.reopen_comment_issue=Atkārtoti atvērt ar piebildi
issues.create_comment=Pievienot piebildi issues.create_comment=Pievienot piebildi
issues.closed_at=`aizvēra šo pieteikumu <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.closed_at=`aizvēra šo pieteikumu %s`
issues.reopened_at=`atkārtoti atvēra šo pieteikumu <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.reopened_at=`atkārtoti atvēra šo pieteikumu %s`
issues.commit_ref_at=`atsaucās uz šo pieteikumu iesūtījumā <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.commit_ref_at=`atsaucās uz šo pieteikumu iesūtījumā %s`
issues.ref_issue_from=`<a href="%[3]s">atsaucās uz šo pieteikumu %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_issue_from=`<a href="%[2]s">atsaucās uz šo pieteikumu %[3]s</a> %[1]s`
issues.ref_pull_from=`<a href="%[3]s">atsaucās uz šo izmaiņu pieprasījumu %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_pull_from=`<a href="%[2]s">atsaucās uz šo izmaiņu pieprasījumu %[3]s</a> %[1]s`
issues.ref_closing_from=`<a href="%[3]s">atsaucās uz šo pieteikumu izmaiņu pieprasījumā %[4]s, kas aizvērs to</a>, <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_closing_from=`<a href="%[2]s">atsaucās uz šo pieteikumu izmaiņu pieprasījumā %[3]s, kas aizvērs to</a>, %[1]s`
issues.ref_reopening_from=`<a href="%[3]s">atsaucās uz šo pieteikumu izmaiņu pieprasījumā %[4]s, kas atkārtoti atvērs to</a>, <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_reopening_from=`<a href="%[2]s">atsaucās uz šo pieteikumu izmaiņu pieprasījumā %[3]s, kas atkārtoti atvērs to</a>, %[1]s`
issues.ref_closed_from=`<a href="%[3]s">aizvēra pieteikumu %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_closed_from=`<a href="%[3]s">aizvēra pieteikumu %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopened_from=`<a href="%[3]s">atkārtoti atvēra pieteikumu %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_reopened_from=`<a href="%[3]s">atkārtoti atvēra pieteikumu %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_from=`no %[1]s` issues.ref_from=`no %[1]s`
@ -1964,8 +1964,8 @@ pulls.update_branch_success=Zara atjaunināšana bija sekmīga
pulls.update_not_allowed=Nav ļauts atjaunināt zaru pulls.update_not_allowed=Nav ļauts atjaunināt zaru
pulls.outdated_with_base_branch=Šis zars ir novecojis salīdzinājumā ar pamata zaru pulls.outdated_with_base_branch=Šis zars ir novecojis salīdzinājumā ar pamata zaru
pulls.close=Aizvērt izmaiņu pieprasījumu pulls.close=Aizvērt izmaiņu pieprasījumu
pulls.closed_at=`aizvēra šo izmaiņu pieprasījumu <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.closed_at=`aizvēra šo izmaiņu pieprasījumu %s`
pulls.reopened_at=`atkārtoti atvēra šo izmaiņu pieprasījumu <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.reopened_at=`atkārtoti atvēra šo izmaiņu pieprasījumu %s`
pulls.cmd_instruction_hint=Apskatīt komandrindas izmantošanas norādes pulls.cmd_instruction_hint=Apskatīt komandrindas izmantošanas norādes
pulls.cmd_instruction_checkout_title=Paņemt pulls.cmd_instruction_checkout_title=Paņemt
pulls.cmd_instruction_checkout_desc=Projekta glabātavā jāizveido jauns zars un jāpārbauda izmaiņas. pulls.cmd_instruction_checkout_desc=Projekta glabātavā jāizveido jauns zars un jāpārbauda izmaiņas.
@ -2826,7 +2826,7 @@ issues.author.tooltip.pr = Šis lietotājs ir šī izmaiņu pieprasījuma izveid
pulls.edit.already_changed = Neizdevās saglabāt izmaiņu pieprasījuma izmaiņas. Izskatās, ka saturu jau ir mainījis kāds cits lietotājs. Lūgums atsvaidzināt lapu un mēģināt labot vēlreiz, lai izvairītos no izmaiņu pārrakstīšanas pulls.edit.already_changed = Neizdevās saglabāt izmaiņu pieprasījuma izmaiņas. Izskatās, ka saturu jau ir mainījis kāds cits lietotājs. Lūgums atsvaidzināt lapu un mēģināt labot vēlreiz, lai izvairītos no izmaiņu pārrakstīšanas
pulls.blocked_by_user = Tu nevari izveidot izmaiņu pieprasījumu šajā glabātavā, jo tās īpašnieks ir Tevi liedzis. pulls.blocked_by_user = Tu nevari izveidot izmaiņu pieprasījumu šajā glabātavā, jo tās īpašnieks ir Tevi liedzis.
issues.all_title = Visi issues.all_title = Visi
pulls.commit_ref_at = ` atsaucāš uz šo izmaiņu pieprasījumu iesūtījumā <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.commit_ref_at = ` atsaucās uz šo izmaiņu pieprasījumu iesūtījumā %s`
issues.num_participants_one = %d dalībnieks issues.num_participants_one = %d dalībnieks
pulls.title_desc_one = vēlas iekļaut %[1]d iesūtījumu no <code>%[2]s</code> <code id="%[4]s">%[3]s</code> pulls.title_desc_one = vēlas iekļaut %[1]d iesūtījumu no <code>%[2]s</code> <code id="%[4]s">%[3]s</code>
issues.archived_label_description = (Arhivēts) %s issues.archived_label_description = (Arhivēts) %s

View file

@ -1347,7 +1347,7 @@ issues.change_title_at = `hett %[3]s de Titel vun <b><strike>%[1]s</strike></b>
issues.change_ref_at = `hett %[3]s de Nömen vun <b><strike>%[1]s</strike></b> to <b>%[2]s</b> ännert` issues.change_ref_at = `hett %[3]s de Nömen vun <b><strike>%[1]s</strike></b> to <b>%[2]s</b> ännert`
issues.delete_branch_at = `hett %[2]s de Twieg <b>%[1]s</b> lösket` issues.delete_branch_at = `hett %[2]s de Twieg <b>%[1]s</b> lösket`
issues.filter_label = Vermark issues.filter_label = Vermark
issues.filter_label_exclude = `Bruuk <code>Alt</code>+<code>Klick/Enter</code>, um Vermarkens uttosluten` issues.filter_label_exclude = Bruuk <kbd>Alt</kbd> + <kbd>Klick</kbd>, um Vermarkens uttosluten
issues.filter_label_no_select = All Vermarkens issues.filter_label_no_select = All Vermarkens
issues.filter_label_select_no_label = Keen Vermark issues.filter_label_select_no_label = Keen Vermark
issues.filter_milestone = Marksteen issues.filter_milestone = Marksteen
@ -1434,12 +1434,12 @@ issues.comment_pull_merged_at = hett Kommitteren %[1]s in %[2]s %[3]s tosamenfö
issues.close_comment_issue = Mit Kommentaar dichtmaken issues.close_comment_issue = Mit Kommentaar dichtmaken
issues.reopen_comment_issue = Mit Kommentaar weer opmaken issues.reopen_comment_issue = Mit Kommentaar weer opmaken
issues.create_comment = Kommenteren issues.create_comment = Kommenteren
issues.reopened_at = `hett deeses Gefall <a id="%[1]s" href="#%[1]s">%[2]s</a> weer opmaakt` issues.reopened_at = `hett deeses Gefall %s weer opmaakt`
issues.comment_manually_pull_merged_at = hett Kommitteren %[1]s in %[2]s %[3]s vun Hand tosamenföhrt issues.comment_manually_pull_merged_at = hett Kommitteren %[1]s in %[2]s %[3]s vun Hand tosamenföhrt
issues.reopen_issue = Weer opmaken issues.reopen_issue = Weer opmaken
issues.closed_at = `hett deeses Gefall <a id="%[1]s" href="#%[1]s">%[2]s</a> dichtmaakt` issues.closed_at = `hett deeses Gefall %s dichtmaakt`
issues.commit_ref_at = `hett deeses Gefall <a id="%[1]s" href="#%[1]s">%[2]s</a> vun eenem Kommitteren benöömt` issues.commit_ref_at = `hett deeses Gefall %s vun eenem Kommitteren benöömt`
issues.ref_closing_from = `<a href="%[3]s">hett deeses Gefall</a> <a id="%[1]s" href="#%[1]s">%[2]s</a> <a href="%[3]s"> vun eenem Haalvörslag, wat t %[4]s dichtmaken word, benöömt</a>` issues.ref_closing_from = `<a href="%[2]s">hett deeses Gefall</a> %[1]s <a href="%[2]s"> vun eenem Haalvörslag, wat t %[3]s dichtmaken word, benöömt</a>`
issues.ref_closed_from = `<a href="%[3]s">hett deeses Gefall %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a> <a href="%[3]s">dichtmaakt</a>` issues.ref_closed_from = `<a href="%[3]s">hett deeses Gefall %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a> <a href="%[3]s">dichtmaakt</a>`
issues.ref_reopened_from = `<a href="%[3]s">hett deeses Gefall %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a> <a href="%[3]s">weer opmaakt</a>` issues.ref_reopened_from = `<a href="%[3]s">hett deeses Gefall %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a> <a href="%[3]s">weer opmaakt</a>`
issues.ref_from = `vun %[1]s` issues.ref_from = `vun %[1]s`
@ -1477,12 +1477,12 @@ issues.label.filter_sort.reverse_alphabetically = Umdreiht na de Alphabeet
issues.label.filter_sort.by_size = Lüttste Grött issues.label.filter_sort.by_size = Lüttste Grött
issues.num_participants_one = %d Mitmaker issues.num_participants_one = %d Mitmaker
issues.num_participants_few = %d Mitmakers issues.num_participants_few = %d Mitmakers
issues.ref_pull_from = `<a href="%[3]s">hett deesen Haalvörslag %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a> <a href="%[3]s">benöömt</a>` issues.ref_pull_from = `<a href="%[2]s">hett deesen Haalvörslag %[3]s</a> %[1]s <a href="%[2]s">benöömt</a>`
issues.label_title = Naam issues.label_title = Naam
issues.label_archived_filter = Archiveert Vermarkens wiesen issues.label_archived_filter = Archiveert Vermarkens wiesen
issues.archived_label_description = (Archiveert) %s issues.archived_label_description = (Archiveert) %s
issues.ref_issue_from = `<a href="%[3]s">hett deeses Gefall %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a> <a href="%[3]s">benöömt</a>` issues.ref_issue_from = `<a href="%[2]s">hett deeses Gefall %[3]s</a> %[1]s benöömt`
issues.ref_reopening_from = `<a href="%[3]s">hett deeses Gefall vun eenem Haalvörslag, wat t %[4]s weer opmaken word,</a> <a id="%[1]s" href="#%[1]s">%[2]s</a> <a href="%[3]s">benöömt</a>` issues.ref_reopening_from = `<a href="%[2]s">hett deeses Gefall vun eenem Haalvörslag, wat t %[3]s weer opmaken word,</a> %[1]s <a href="%[2]s">benöömt</a>`
issues.author.tooltip.issue = Deeser Bruker is de Autor vun deesem Gefall. issues.author.tooltip.issue = Deeser Bruker is de Autor vun deesem Gefall.
issues.role.member_helper = Deeser Bruker is een Liddmaat vun de Vereenigung, wat de Eegner vun deesem Repositorium is. issues.role.member_helper = Deeser Bruker is een Liddmaat vun de Vereenigung, wat de Eegner vun deesem Repositorium is.
issues.role.collaborator_helper = Deeser Bruuker is inladen worden, in deesem Repositorium mittoarbeiden. issues.role.collaborator_helper = Deeser Bruuker is inladen worden, in deesem Repositorium mittoarbeiden.
@ -1740,8 +1740,8 @@ pulls.status_checks_show_all = All Överprüfens wiesen
pulls.update_branch_rebase = Twieg mit Umbaseren vernejen pulls.update_branch_rebase = Twieg mit Umbaseren vernejen
pulls.outdated_with_base_branch = De Twieg is tegen de Grund-Twieg verollt pulls.outdated_with_base_branch = De Twieg is tegen de Grund-Twieg verollt
pulls.close = Haalvörslag dichtmaken pulls.close = Haalvörslag dichtmaken
pulls.closed_at = `hett deesen Haalvörslag <a id="%[1]s" href="#%[1]s">%[2]s</a> dichtmaakt` pulls.closed_at = `hett deesen Haalvörslag %s dichtmaakt`
pulls.reopened_at = `hett deesen Haalvörslag <a id="%[1]s" href="#%[1]s">%[2]s</a> weer opmaakt` pulls.reopened_at = `hett deesen Haalvörslag %s weer opmaakt`
pulls.cmd_instruction_hint = Wies Oorderreeg-Instruksjes pulls.cmd_instruction_hint = Wies Oorderreeg-Instruksjes
pulls.cmd_instruction_checkout_title = Utchecken pulls.cmd_instruction_checkout_title = Utchecken
pulls.cmd_instruction_merge_title = Tosamenföhren pulls.cmd_instruction_merge_title = Tosamenföhren
@ -1771,7 +1771,7 @@ milestones.deletion = Marksteen lösken
pulls.has_merged = Fehlslagen: De Haalvörslag is tosamenföhrt worden, du kannst nich noch eenmaal tosamenföhren of de Enn-Twieg ännern. pulls.has_merged = Fehlslagen: De Haalvörslag is tosamenföhrt worden, du kannst nich noch eenmaal tosamenföhren of de Enn-Twieg ännern.
pulls.unrelated_histories = Tosamenföhren fehlslagen: De Tosamenföhrens-Kopp un -Grund hebben keene gemeensame Histoorje. Wenk: Versöök eene anner Tosamenföhrens-Aard pulls.unrelated_histories = Tosamenföhren fehlslagen: De Tosamenföhrens-Kopp un -Grund hebben keene gemeensame Histoorje. Wenk: Versöök eene anner Tosamenföhrens-Aard
pulls.update_not_allowed = Du düürst deesen Twieg nich vernejen pulls.update_not_allowed = Du düürst deesen Twieg nich vernejen
pulls.commit_ref_at = `hett deesen Haalvörslag <a id="%[1]s" href="#%[1]s">%[2]s</a> vun eenem Kommitteren benöömt` pulls.commit_ref_at = `hett deesen Haalvörslag %s vun eenem Kommitteren benöömt`
pulls.auto_merge_newly_scheduled = De Haalvörslag weer sett, sik tosamentoföhren, wenn all Överprüfens kumpleet sünd. pulls.auto_merge_newly_scheduled = De Haalvörslag weer sett, sik tosamentoföhren, wenn all Överprüfens kumpleet sünd.
milestones.clear = Leeg maken milestones.clear = Leeg maken
pulls.push_rejected_no_message = Schuven fehlslagen: Dat Schuven is sünner feerne Naricht oflehnt worden. Bidde överprüüf de Git-Hakens för deeses Repositorium pulls.push_rejected_no_message = Schuven fehlslagen: Dat Schuven is sünner feerne Naricht oflehnt worden. Bidde överprüüf de Git-Hakens för deeses Repositorium

View file

@ -1554,13 +1554,13 @@ issues.close_comment_issue=Sluit met commentaar
issues.reopen_issue=Heropen issues.reopen_issue=Heropen
issues.reopen_comment_issue=Heropen met commentaar issues.reopen_comment_issue=Heropen met commentaar
issues.create_comment=Reageer issues.create_comment=Reageer
issues.closed_at=`heeft dit probleem gesloten <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.closed_at=`heeft dit probleem gesloten %s`
issues.reopened_at=`heropende dit probleem <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.reopened_at=`heropende dit probleem %s`
issues.commit_ref_at=`verwees naar dit probleem vanuit commit <a id="%[1]s" href="#%[1]s"> %[2]s'</a>` issues.commit_ref_at=`verwees naar dit probleem vanuit commit %s`
issues.ref_issue_from=`<a href="%[3]s">refereerde aan dit issue %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_issue_from=`<a href="%[2]s">refereerde aan dit issue %[3]s</a> %[1]s`
issues.ref_pull_from=`<a href="%[3]s">refereerde aan deze pull request %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_pull_from=`<a href="%[2]s">refereerde aan deze pull request %[3]s</a> %[1]s`
issues.ref_closing_from=`<a href="%[3]s">verwees naar deze issue van een pull request %[4]s dat het zal sluiten</a>, <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_closing_from=`<a href="%[2]s">verwees naar deze issue van een pull request %[3]s dat het zal sluiten</a>, %[1]s`
issues.ref_reopening_from=`<a href="%[3]s">verwees naar een pull request %[4]s dat dit issue heropent</a> <a id="%[1]s" href="#%[1]s">%[2]s</a> ` issues.ref_reopening_from=`<a href="%[2]s">verwees naar een pull request %[3]s dat dit issue heropent</a> %[1]s `
issues.ref_closed_from=`<a href="%[3]s">sloot dit issue %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_closed_from=`<a href="%[3]s">sloot dit issue %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopened_from=`<a href="%[3]s">heropende dit issue %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_reopened_from=`<a href="%[3]s">heropende dit issue %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_from=`van %[1]s` issues.ref_from=`van %[1]s`
@ -1815,8 +1815,8 @@ pulls.update_branch_rebase=Update branch via herbaseren
pulls.update_branch_success=Branch update is geslaagd pulls.update_branch_success=Branch update is geslaagd
pulls.update_not_allowed=Je hebt geen toestemming om branch bij te werken pulls.update_not_allowed=Je hebt geen toestemming om branch bij te werken
pulls.outdated_with_base_branch=Deze branch is verouderd met de basis branch pulls.outdated_with_base_branch=Deze branch is verouderd met de basis branch
pulls.closed_at=`heeft deze pull request gesloten <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.closed_at=`heeft deze pull request gesloten %s`
pulls.reopened_at=`heropende deze pull request <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.reopened_at=`heropende deze pull request %s`
pulls.auto_merge_button_when_succeed=(Bij geslaagde controles) pulls.auto_merge_button_when_succeed=(Bij geslaagde controles)
pulls.auto_merge_when_succeed=Automatisch samenvoegen wanneer alle controles gelukt zijn pulls.auto_merge_when_succeed=Automatisch samenvoegen wanneer alle controles gelukt zijn
@ -2627,7 +2627,7 @@ projects.column.set_default_desc = Stel deze kolom in als standaard voor ongecat
issues.action_check = Aanvinken/uitvinken issues.action_check = Aanvinken/uitvinken
issues.dependency.issue_batch_close_blocked = Het is niet mogelijk om de issues die u gekozen heeft in bulk te sluiten, omdat issue #%d nog open afhankelijkheden heeft issues.dependency.issue_batch_close_blocked = Het is niet mogelijk om de issues die u gekozen heeft in bulk te sluiten, omdat issue #%d nog open afhankelijkheden heeft
pulls.review_only_possible_for_full_diff = Beoordeling is alleen mogelijk bij het bekijken van de volledige diff pulls.review_only_possible_for_full_diff = Beoordeling is alleen mogelijk bij het bekijken van de volledige diff
pulls.commit_ref_at = `heeft naar deze pull request verwezen vanuit een commit <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.commit_ref_at = `heeft naar deze pull request verwezen vanuit een commit %s`
pulls.cmd_instruction_hint = Bekijk opdrachtregelinstructies pulls.cmd_instruction_hint = Bekijk opdrachtregelinstructies
pulls.cmd_instruction_checkout_desc = Vanuit uw project repository, schakel over naar een nieuwe branch en test de veranderingen. pulls.cmd_instruction_checkout_desc = Vanuit uw project repository, schakel over naar een nieuwe branch en test de veranderingen.
pulls.showing_specified_commit_range = Alleen veranderingen weergeven tussen %[1]s..%[2]s pulls.showing_specified_commit_range = Alleen veranderingen weergeven tussen %[1]s..%[2]s

View file

@ -1460,13 +1460,13 @@ issues.close_comment_issue=Zamknij z komentarzem
issues.reopen_issue=Otwórz ponownie issues.reopen_issue=Otwórz ponownie
issues.reopen_comment_issue=Otwórz ponownie z komentarzem issues.reopen_comment_issue=Otwórz ponownie z komentarzem
issues.create_comment=Skomentuj issues.create_comment=Skomentuj
issues.closed_at=`zamknął(-ęła) to zgłoszenie <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.closed_at=`zamknął(-ęła) to zgłoszenie %s`
issues.reopened_at=`otworzył(-a) ponownie to zgłoszenie <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.reopened_at=`otworzył(-a) ponownie to zgłoszenie %s`
issues.commit_ref_at=`wspomniał(-a) to zgłoszenie z commita <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.commit_ref_at=`wspomniał(-a) to zgłoszenie z commita %s`
issues.ref_issue_from=`<a href="%[3]s">odwołał(-a) się do tego zgłoszenia %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_issue_from=`<a href="%[2]s">odwołał(-a) się do tego zgłoszenia %[3]s</a> %[1]s`
issues.ref_pull_from=`<a href="%[3]s">odwołał(-a) się do tego Pull Requesta %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_pull_from=`<a href="%[2]s">odwołał(-a) się do tego Pull Requesta %[3]s</a> %[1]s`
issues.ref_closing_from=`<a href="%[3]s">odwołał(-a) się do pull requesta %[4]s, który zamknie to zgłoszenie</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_closing_from=`<a href="%[2]s">odwołał(-a) się do pull requesta %[3]s, który zamknie to zgłoszenie</a> %[1]s`
issues.ref_reopening_from=`<a href="%[3]s">odwołał(-a) się z pull requesta %[4]s, który otworzy na nowo to zgłoszenie</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_reopening_from=`<a href="%[2]s">odwołał(-a) się z pull requesta %[3]s, który otworzy na nowo to zgłoszenie</a> %[1]s`
issues.ref_closed_from=`<a href="%[3]s">zamknął(-ęła) to zgłoszenie %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_closed_from=`<a href="%[3]s">zamknął(-ęła) to zgłoszenie %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopened_from=`<a href="%[3]s">ponownie otworzył(-a) to zgłoszenie %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_reopened_from=`<a href="%[3]s">ponownie otworzył(-a) to zgłoszenie %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_from=`z %[1]s` issues.ref_from=`z %[1]s`
@ -1679,8 +1679,8 @@ pulls.update_branch_rebase=Aktualizuj branch przez rebase
pulls.update_branch_success=Aktualizacja gałęzi powiodła się pulls.update_branch_success=Aktualizacja gałęzi powiodła się
pulls.update_not_allowed=Nie masz uprawnień do aktualizacji gałęzi pulls.update_not_allowed=Nie masz uprawnień do aktualizacji gałęzi
pulls.outdated_with_base_branch=Ta gałąź jest przestarzała w stosunku do gałęzi bazowej pulls.outdated_with_base_branch=Ta gałąź jest przestarzała w stosunku do gałęzi bazowej
pulls.closed_at=`zamknął(-ęła) ten pull request <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.closed_at=`zamknął(-ęła) ten pull request %s`
pulls.reopened_at=`otworzył(-a) ponownie ten Pull Request <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.reopened_at=`otworzył(-a) ponownie ten Pull Request %s`
@ -2643,7 +2643,7 @@ pulls.closed = Pull request zamknięty
pulls.blocked_by_outdated_branch = Ten pull request jest zablokowany ponieważ jest przedawniony. pulls.blocked_by_outdated_branch = Ten pull request jest zablokowany ponieważ jest przedawniony.
pulls.blocked_by_changed_protected_files_1 = Ten pull request jest zablokowany ponieważ wprowadza zmiany do chronionego pliku: pulls.blocked_by_changed_protected_files_1 = Ten pull request jest zablokowany ponieważ wprowadza zmiany do chronionego pliku:
pulls.push_rejected_no_message = Wypchnięcie nie powiodło się: Wypchnięcie zostało odrzucone, ale nie otrzymano zdalnej wiadomości. Sprawdź hooki Git dla tego repozytorium.= pulls.push_rejected_no_message = Wypchnięcie nie powiodło się: Wypchnięcie zostało odrzucone, ale nie otrzymano zdalnej wiadomości. Sprawdź hooki Git dla tego repozytorium.=
pulls.commit_ref_at = `odniósł się do tego pull requesta z commita <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.commit_ref_at = `odniósł się do tego pull requesta z commita %s`
pulls.cmd_instruction_checkout_desc = Ze swojego repozytorium projektu, utwórz nową gałąź i przetestuj zmiany. pulls.cmd_instruction_checkout_desc = Ze swojego repozytorium projektu, utwórz nową gałąź i przetestuj zmiany.
pulls.clear_merge_message_hint = Wyczyszczenie wiadomości scalenia usunie tylko treść wiadomości commitu pozostawiając wygenerowane przez git dopiski takie jak "Co-Authored-By ...". pulls.clear_merge_message_hint = Wyczyszczenie wiadomości scalenia usunie tylko treść wiadomości commitu pozostawiając wygenerowane przez git dopiski takie jak "Co-Authored-By ...".
pulls.delete_after_merge.head_branch.insufficient_branch = Nie masz uprawnień by usunąć head gałęzi. pulls.delete_after_merge.head_branch.insufficient_branch = Nie masz uprawnień by usunąć head gałęzi.

View file

@ -1063,8 +1063,8 @@ language.localization_project = Ajude-nos a traduzir Forgejo para o seu idioma!
language.description = Essa língua será salva em sua conta e será usada como padrão após você iniciar a sessão. language.description = Essa língua será salva em sua conta e será usada como padrão após você iniciar a sessão.
user_block_yourself = Você não pode se bloquear. user_block_yourself = Você não pode se bloquear.
pronouns_custom_label = Pronomes personalizados pronouns_custom_label = Pronomes personalizados
change_username_redirect_prompt.with_cooldown.one = O nome de usuário antigo ficará disponível para qualquer pessoa após um período de espera de %[1]d dia, você ainda pode recuperar o nome de usuário antigo durante este período de espera. change_username_redirect_prompt.with_cooldown.one = O nome de usuário antigo ficará disponível para qualquer pessoa após um período de proteção de %[1]d dia. Você ainda pode recuperar o nome de usuário antigo durante este período de proteção.
change_username_redirect_prompt.with_cooldown.few = O nome de usuário antigo ficará disponível para qualquer pessoa após um período de espera de %[1]d dias, você ainda pode recuperar o nome de usuário antigo durante este período de espera. change_username_redirect_prompt.with_cooldown.few = O nome de usuário antigo ficará disponível para qualquer pessoa após um período de proteção de %[1]d dias. Você ainda pode recuperar o nome de usuário antigo durante este período de proteção.
quota.applies_to_user = As seguintes regras de cota se aplicam à sua conta quota.applies_to_user = As seguintes regras de cota se aplicam à sua conta
quota.rule.exceeded.helper = O tamanho total de objetos para esta regra excedeu a cota. quota.rule.exceeded.helper = O tamanho total de objetos para esta regra excedeu a cota.
keep_pronouns_private = Mostrar pronomes apenas para usuários autenticados keep_pronouns_private = Mostrar pronomes apenas para usuários autenticados
@ -1568,7 +1568,7 @@ issues.remove_ref_at=`removeu a referência <b>%s</b> %s`
issues.add_ref_at=`adicionou a referência <b>%s</b> %s` issues.add_ref_at=`adicionou a referência <b>%s</b> %s`
issues.delete_branch_at=`excluiu branch <b>%s</b> %s` issues.delete_branch_at=`excluiu branch <b>%s</b> %s`
issues.filter_label=Etiqueta issues.filter_label=Etiqueta
issues.filter_label_exclude=`Use <code>alt</code> + <code>clique/enter</code> para excluir etiquetas` issues.filter_label_exclude=Use <kbd>Alt</kbd> + <kbd>Clique</kbd> para excluir etiquetas
issues.filter_label_no_select=Todas as etiquetas issues.filter_label_no_select=Todas as etiquetas
issues.filter_label_select_no_label=Sem etiqueta issues.filter_label_select_no_label=Sem etiqueta
issues.filter_milestone=Marco issues.filter_milestone=Marco
@ -1642,13 +1642,13 @@ issues.close_comment_issue=Comentar e fechar
issues.reopen_issue=Reabrir issues.reopen_issue=Reabrir
issues.reopen_comment_issue=Comentar e reabrir issues.reopen_comment_issue=Comentar e reabrir
issues.create_comment=Comentar issues.create_comment=Comentar
issues.closed_at=`fechou esta issue <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.closed_at=`fechou esta issue %s`
issues.reopened_at=`reabriu esta issue <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.reopened_at=`reabriu esta issue %s`
issues.commit_ref_at=`citou esta issue em um commit <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.commit_ref_at=`citou esta issue de um commit %s`
issues.ref_issue_from=`<a href="%[3]s">referenciado esta issue %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_issue_from=`<a href="%[2]s">citou esta issue %[3]s</a> %[1]s`
issues.ref_pull_from=`<a href="%[3]s">referenciado este pull request %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_pull_from=`<a href="%[2]s">citou este pull request %[3]s</a> %[1]s`
issues.ref_closing_from=`<a href="%[3]s">referenciado esta issue de um pull request %[4]s que a fechará</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_closing_from=`<a href="%[2]s">citou esta issue de um pull request %[3]s que a fechará</a> %[1]s`
issues.ref_reopening_from=`<a href="%[3]s">referenciado esta issue de um pull request %[4]s que a reabrirá</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_reopening_from=`<a href="%[2]s">citou esta issue de um pull request %[3]s que a reabrirá</a>, %[1]s`
issues.ref_closed_from=`<a href="%[3]s">fechou esta issue %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_closed_from=`<a href="%[3]s">fechou esta issue %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopened_from=`<a href="%[3]s">reabriu esta issue %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_reopened_from=`<a href="%[3]s">reabriu esta issue %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_from=`de %[1]s` issues.ref_from=`de %[1]s`
@ -1942,8 +1942,8 @@ pulls.update_branch_success=Atualização do branch foi bem-sucedida
pulls.update_not_allowed=Você não tem permissão para atualizar o branch pulls.update_not_allowed=Você não tem permissão para atualizar o branch
pulls.outdated_with_base_branch=Este branch está desatualizado com o branch base pulls.outdated_with_base_branch=Este branch está desatualizado com o branch base
pulls.close=Fechar pull request pulls.close=Fechar pull request
pulls.closed_at=`fechou este pull request <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.closed_at=`fechou este pull request %s`
pulls.reopened_at=`reabriu este pull request <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.reopened_at=`reabriu este pull request %s`
pulls.clear_merge_message=Limpar mensagem do merge pulls.clear_merge_message=Limpar mensagem do merge
pulls.clear_merge_message_hint=Limpar a mensagem de merge só irá remover o conteúdo da mensagem de commit e manter trailers git gerados, como "Co-Authored-By …". pulls.clear_merge_message_hint=Limpar a mensagem de merge só irá remover o conteúdo da mensagem de commit e manter trailers git gerados, como "Co-Authored-By …".
@ -2719,7 +2719,7 @@ issues.label_archive_tooltip = Etiquetas arquivadas não serão exibidas nas sug
activity.navbar.pulse = Recente activity.navbar.pulse = Recente
settings.units.overview = Geral settings.units.overview = Geral
settings.units.add_more = Habilitar mais settings.units.add_more = Habilitar mais
pulls.commit_ref_at = `referenciou este pedido de mesclagem no commit <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.commit_ref_at = `citou este pull request de um commit %s`
pulls.cmd_instruction_merge_title = Mesclar pulls.cmd_instruction_merge_title = Mesclar
settings.units.units = Unidades settings.units.units = Unidades
vendored = Externo vendored = Externo
@ -2920,6 +2920,7 @@ settings.event_action_recover = Recuperar
settings.event_action_recover_desc = A execução da Action teve sucesso após a última execução no mesmo workflow ter falhado. settings.event_action_recover_desc = A execução da Action teve sucesso após a última execução no mesmo workflow ter falhado.
settings.event_action_success = Sucesso settings.event_action_success = Sucesso
settings.event_action_success_desc = A execução da Action foi bem sucedida. settings.event_action_success_desc = A execução da Action foi bem sucedida.
issues.filter_type.all_pull_requests = Todos os pull requests
[graphs] [graphs]
component_loading = Carregando %s… component_loading = Carregando %s…
@ -3056,8 +3057,8 @@ open_dashboard = Abrir painel
settings.change_orgname_prompt = Obs.: Alterar o nome de uma organização resultará na alteração do URL dela e disponibilizará o nome antigo para uso. settings.change_orgname_prompt = Obs.: Alterar o nome de uma organização resultará na alteração do URL dela e disponibilizará o nome antigo para uso.
follow_blocked_user = Não foi possível seguir esta organização porque ela bloqueou-o(a). follow_blocked_user = Não foi possível seguir esta organização porque ela bloqueou-o(a).
form.name_pattern_not_allowed = O padrão "%s" não é permitido no nome de uma organização. form.name_pattern_not_allowed = O padrão "%s" não é permitido no nome de uma organização.
settings.change_orgname_redirect_prompt.with_cooldown.one = O nome de organização antigo ficará disponível para qualquer pessoa após um período de proteção de %[1]d dia, você ainda pode recuperar o nome antigo durante este período de proteção. settings.change_orgname_redirect_prompt.with_cooldown.one = O nome de organização antigo ficará disponível para qualquer pessoa após um período de proteção de %[1]d dia. Você ainda pode recuperar o nome antigo durante este período de proteção.
settings.change_orgname_redirect_prompt.with_cooldown.few = O nome de organização antigo ficará disponível para qualquer pessoa após um período de espera de %[1]d dia, você ainda pode recuperar o nome antigo durante este período de espera. settings.change_orgname_redirect_prompt.with_cooldown.few = O nome de organização antigo ficará disponível para qualquer pessoa após um período de proteção de %[1]d dia. Você ainda pode recuperar o nome antigo durante este período de proteção.
[admin] [admin]
dashboard=Painel dashboard=Painel

View file

@ -1657,13 +1657,13 @@ issues.close_comment_issue=Fechar com comentário
issues.reopen_issue=Reabrir issues.reopen_issue=Reabrir
issues.reopen_comment_issue=Reabrir com comentário issues.reopen_comment_issue=Reabrir com comentário
issues.create_comment=Comentar issues.create_comment=Comentar
issues.closed_at=`encerrou esta questão <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.closed_at=`encerrou esta questão %s`
issues.reopened_at=`reabriu esta questão <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.reopened_at=`reabriu esta questão %s`
issues.commit_ref_at=`referenciou esta questão num cometimento <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.commit_ref_at=`referenciou esta questão num cometimento %s`
issues.ref_issue_from=`<a href="%[3]s">referiu esta questão %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_issue_from=`<a href="%[2]s">referiu esta questão %[3]s</a> %[1]s`
issues.ref_pull_from=`<a href="%[3]s">referiu este pedido de integração %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_pull_from=`<a href="%[2]s">referiu este pedido de integração %[3]s</a> %[1]s`
issues.ref_closing_from=`<a href="%[3]s">referiu esta questão a partir de um pedido de integração %[4]s que a fechará</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_closing_from=`<a href="%[2]s">referiu esta questão a partir de um pedido de integração %[3]s que a fechará</a> %[1]s`
issues.ref_reopening_from=`<a href="%[3]s">referiu esta questão a partir de um pedido de integração %[4]s que a reabrirá</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_reopening_from=`<a href="%[2]s">referiu esta questão a partir de um pedido de integração %[3]s que a reabrirá</a> %[1]s`
issues.ref_closed_from=`<a href="%[3]s">encerrou esta questão %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_closed_from=`<a href="%[3]s">encerrou esta questão %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopened_from=`<a href="%[3]s">reabriu esta questão %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_reopened_from=`<a href="%[3]s">reabriu esta questão %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_from=`de %[1]s` issues.ref_from=`de %[1]s`
@ -1972,8 +1972,8 @@ pulls.update_branch_success=A sincronização do ramo foi bem sucedida
pulls.update_not_allowed=Não tem autorização para sincronizar o ramo pulls.update_not_allowed=Não tem autorização para sincronizar o ramo
pulls.outdated_with_base_branch=Este ramo é obsoleto em relação ao ramo base pulls.outdated_with_base_branch=Este ramo é obsoleto em relação ao ramo base
pulls.close=Encerrar pedido de integração pulls.close=Encerrar pedido de integração
pulls.closed_at=`fechou este pedido de integração <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.closed_at=`fechou este pedido de integração %s`
pulls.reopened_at=`reabriu este pedido de integração <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.reopened_at=`reabriu este pedido de integração %s`
pulls.cmd_instruction_hint=Ver instruções para a linha de comandos pulls.cmd_instruction_hint=Ver instruções para a linha de comandos
pulls.cmd_instruction_checkout_title=Conferir pulls.cmd_instruction_checkout_title=Conferir
pulls.cmd_instruction_checkout_desc=No seu repositório, irá criar um novo ramo para que possa testar as modificações. pulls.cmd_instruction_checkout_desc=No seu repositório, irá criar um novo ramo para que possa testar as modificações.
@ -2785,7 +2785,7 @@ settings.wiki_rename_branch_main_desc = Renomear o ramo usado internamente pelo
settings.add_collaborator_blocked_our = Não foi possível adicionar o/a colaborador/a porque o/a proprietário/a do repositório bloqueou-os. settings.add_collaborator_blocked_our = Não foi possível adicionar o/a colaborador/a porque o/a proprietário/a do repositório bloqueou-os.
settings.add_webhook.invalid_path = A localização não pode conter "." ou ".." ou ficar em branco. Não pode começar ou terminar com uma barra. settings.add_webhook.invalid_path = A localização não pode conter "." ou ".." ou ficar em branco. Não pode começar ou terminar com uma barra.
settings.graphql_url = URL do GraphQL settings.graphql_url = URL do GraphQL
pulls.commit_ref_at = `referiu este pedido de integração a partir de um cometimento <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.commit_ref_at = `referiu este pedido de integração a partir de um cometimento %s`
settings.confirm_wiki_branch_rename = Renomear o ramo do wiki settings.confirm_wiki_branch_rename = Renomear o ramo do wiki
settings.wiki_branch_rename_success = O nome do ramo do wiki do repositório foi normalizado com sucesso. settings.wiki_branch_rename_success = O nome do ramo do wiki do repositório foi normalizado com sucesso.
settings.wiki_branch_rename_failure = Falhou a normalização do nome do ramo do wiki do repositório. settings.wiki_branch_rename_failure = Falhou a normalização do nome do ramo do wiki do repositório.

View file

@ -1563,7 +1563,7 @@ issues.remove_ref_at=`убрана ссылка на <b>%s</b> %s`
issues.add_ref_at=`добавлена ссылка на <b>%s</b> %s` issues.add_ref_at=`добавлена ссылка на <b>%s</b> %s`
issues.delete_branch_at=`удалена ветвь <b>%s</b> %s` issues.delete_branch_at=`удалена ветвь <b>%s</b> %s`
issues.filter_label=Метки issues.filter_label=Метки
issues.filter_label_exclude=`Исключайте метки с помощью <code>alt</code> + <code>лкм/enter</code>` issues.filter_label_exclude=Исключайте метки с помощью <kbd>Alt</kbd> + <kbd>ЛКМ</kbd>
issues.filter_label_no_select=Любые метки issues.filter_label_no_select=Любые метки
issues.filter_label_select_no_label=Без меток issues.filter_label_select_no_label=Без меток
issues.filter_milestone=Этап issues.filter_milestone=Этап
@ -1637,13 +1637,13 @@ issues.close_comment_issue=Закрыть комментарием
issues.reopen_issue=Открыть снова issues.reopen_issue=Открыть снова
issues.reopen_comment_issue=Открыть снова комментарием issues.reopen_comment_issue=Открыть снова комментарием
issues.create_comment=Комментировать issues.create_comment=Комментировать
issues.closed_at=`задача была закрыта <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.closed_at=`задача была закрыта %s`
issues.reopened_at=`задача была открыта снова <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.reopened_at=`задача была открыта снова %s`
issues.commit_ref_at=`упоминание этой задачи в коммите <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.commit_ref_at=`упоминание этой задачи в коммите %s`
issues.ref_issue_from=`<a href="%[3]s">упоминание этой задачи %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_issue_from=`<a href="%[2]s">упоминание этой задачи %[3]s</a> %[1]s`
issues.ref_pull_from=`<a href="%[3]s">упоминание этого запроса слияния %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_pull_from=`<a href="%[2]s">упоминание этого запроса слияния %[3]s</a> %[1]s`
issues.ref_closing_from=`<a href="%[3]s">упоминание из запроса на слияние %[4]s, который закроет эту задачу</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_closing_from=`<a href="%[2]s">упоминание из запроса на слияние %[3]s, который закроет эту задачу</a> %[1]s`
issues.ref_reopening_from=`<a href="%[3]s">упоминание из запроса на слияние %[4]s, который повторно откроет эту задачу</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_reopening_from=`<a href="%[2]s">упоминание из запроса на слияние %[3]s, который повторно откроет эту задачу</a> %[1]s`
issues.ref_closed_from=`<a href="%[3]s">закрыл этот запрос %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_closed_from=`<a href="%[3]s">закрыл этот запрос %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopened_from=`<a href="%[3]s">задача была открыта снова %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_reopened_from=`<a href="%[3]s">задача была открыта снова %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_from=`из %[1]s` issues.ref_from=`из %[1]s`
@ -1943,8 +1943,8 @@ pulls.update_branch_success=Ветвь успешно обновлена
pulls.update_not_allowed=Недостаточно прав для обновления ветви pulls.update_not_allowed=Недостаточно прав для обновления ветви
pulls.outdated_with_base_branch=Эта ветвь отстает от базовой ветви pulls.outdated_with_base_branch=Эта ветвь отстает от базовой ветви
pulls.close=Закрыть запрос слияния pulls.close=Закрыть запрос слияния
pulls.closed_at=`закрыл этот запрос на слияние <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.closed_at=`закрыл этот запрос на слияние %s`
pulls.reopened_at=`переоткрыл этот запрос на слияние <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.reopened_at=`переоткрыл этот запрос на слияние %s`
pulls.cmd_instruction_hint=Показать инструкции для командной строки pulls.cmd_instruction_hint=Показать инструкции для командной строки
pulls.cmd_instruction_merge_title=Слейте изменения pulls.cmd_instruction_merge_title=Слейте изменения
pulls.cmd_instruction_merge_desc=Слейте изменения и отправьте их обратно. pulls.cmd_instruction_merge_desc=Слейте изменения и отправьте их обратно.
@ -2772,7 +2772,7 @@ settings.ignore_stale_approvals = Игнорировать устаревшие
contributors.contribution_type.additions = Добавления contributors.contribution_type.additions = Добавления
contributors.contribution_type.deletions = Удаления contributors.contribution_type.deletions = Удаления
contributors.contribution_type.filter_label = Вид деятельности: contributors.contribution_type.filter_label = Вид деятельности:
pulls.commit_ref_at = `упоминание этого запроса слияния в коммите <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.commit_ref_at = `сослался на этот запрос слияния в коммите %s`
settings.thread_id = ИД обсуждения settings.thread_id = ИД обсуждения
pulls.made_using_agit = AGit pulls.made_using_agit = AGit
activity.navbar.contributors = Соавторы activity.navbar.contributors = Соавторы

View file

@ -1100,12 +1100,12 @@ issues.close_comment_issue=අදහස් දක්වා වසන්න
issues.reopen_issue=නැවත විවෘත කරන්න issues.reopen_issue=නැවත විවෘත කරන්න
issues.reopen_comment_issue=අදහස් දක්වා විවෘත කරන්න issues.reopen_comment_issue=අදහස් දක්වා විවෘත කරන්න
issues.create_comment=අදහස issues.create_comment=අදහස
issues.closed_at=`මෙම ගැටළුව වසා <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.closed_at=`මෙම ගැටළුව වසා %s`
issues.reopened_at=`මෙම ගැටළුව නැවත විවෘත කරන ලදි <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.reopened_at=`මෙම ගැටළුව නැවත විවෘත කරන ලදි %s`
issues.ref_issue_from=`<a href="%[3]s">මෙම නිකුතුව %[4]s හි</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_issue_from=`<a href="%[2]s">මෙම නිකුතුව %[3]s හි</a> %[1]s`
issues.ref_pull_from=`<a href="%[3]s">මෙම අදින්න ඉල්ලීම%[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_pull_from=`<a href="%[2]s">මෙම අදින්න ඉල්ලීම%[3]s</a> %[1]s`
issues.ref_closing_from=`<a href="%[3]s">මෙම ගැටළුව වසා දමනු ඇත%[4]s මෙම ගැටළුව</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_closing_from=`<a href="%[2]s">මෙම ගැටළුව වසා දමනු ඇත%[3]s මෙම ගැටළුව</a> %[1]s`
issues.ref_reopening_from=`<a href="%[3]s">මෙම ගැටළුව නැවත විවෘත කරනු ඇත%[4]s මෙම ගැටළුව</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_reopening_from=`<a href="%[2]s">මෙම ගැටළුව නැවත විවෘත කරනු ඇත%[3]s මෙම ගැටළුව</a> %[1]s`
issues.ref_closed_from=`<a href="%[3]s">මෙම නිකුතුව%[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_closed_from=`<a href="%[3]s">මෙම නිකුතුව%[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopened_from=`<a href="%[3]s">මෙම නිකුතුව%[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>නැවත විවෘත කරන ලදි` issues.ref_reopened_from=`<a href="%[3]s">මෙම නිකුතුව%[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>නැවත විවෘත කරන ලදි`
issues.ref_from=`හිම%[1]s` issues.ref_from=`හිම%[1]s`
@ -1342,8 +1342,8 @@ pulls.update_branch_rebase=රිබේස් මගින් ශාඛාව
pulls.update_branch_success=ශාඛා යාවත්කාලීන කිරීම සාර්ථක විය pulls.update_branch_success=ශාඛා යාවත්කාලීන කිරීම සාර්ථක විය
pulls.update_not_allowed=ශාඛාව යාවත්කාලීන කිරීමට ඔබට අවසර නැත pulls.update_not_allowed=ශාඛාව යාවත්කාලීන කිරීමට ඔබට අවසර නැත
pulls.outdated_with_base_branch=මෙම ශාඛාව මූලික ශාඛාව සමඟ දිවයයි pulls.outdated_with_base_branch=මෙම ශාඛාව මූලික ශාඛාව සමඟ දිවයයි
pulls.closed_at=`මෙම අදින්න ඉල්ලීම වසා <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.closed_at=`මෙම අදින්න ඉල්ලීම වසා %s`
pulls.reopened_at=`මෙම අදින්න ඉල්ලීම නැවත විවෘත කරන ලදි <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.reopened_at=`මෙම අදින්න ඉල්ලීම නැවත විවෘත කරන ලදි %s`

View file

@ -326,7 +326,7 @@ issues.no_content=Још нема садржаја.
issues.close_issue=Затвори issues.close_issue=Затвори
issues.reopen_issue=Поново отвори issues.reopen_issue=Поново отвори
issues.create_comment=Коментирај issues.create_comment=Коментирај
issues.commit_ref_at=`поменуо овај задатак у комит <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.commit_ref_at=`поменуо овај задатак у комит %s`
issues.poster=Аутор issues.poster=Аутор
issues.collaborator=Коаутор issues.collaborator=Коаутор
issues.owner=Власник issues.owner=Власник

View file

@ -1157,13 +1157,13 @@ issues.close_comment_issue=Stäng med kommentar
issues.reopen_issue=Återöppna issues.reopen_issue=Återöppna
issues.reopen_comment_issue=Öppna igen med kommentar issues.reopen_comment_issue=Öppna igen med kommentar
issues.create_comment=Kommentera issues.create_comment=Kommentera
issues.closed_at=`stängde ärendet <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.closed_at=`stängde ärendet %s`
issues.reopened_at=`återöppnade detta ärende <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.reopened_at=`återöppnade detta ärende %s`
issues.commit_ref_at=`refererade till detta ärende från en incheckning <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.commit_ref_at=`refererade till detta ärende från en incheckning %s`
issues.ref_issue_from=`<a href="%[3]s">refererade till detta ärende %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_issue_from=`<a href="%[2]s">refererade till detta ärende %[3]s</a> %[1]s`
issues.ref_pull_from=`<a href="%[3]s">refererade till denna pull-förfrågan %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_pull_from=`<a href="%[2]s">refererade till denna pull-förfrågan %[3]s</a> %[1]s`
issues.ref_closing_from=`<a href="%[3]s">hänvisade till detta ärende från en pull-förfrågan %[4]s som kommer att stänga det</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_closing_from=`<a href="%[2]s">hänvisade till detta ärende från en pull-förfrågan %[3]s som kommer att stänga det</a> %[1]s`
issues.ref_reopening_from=`<a href="%[3]s">hänvisade till detta ärende från en pull-förfrågan %[4]s som kommer att öppna ärendet på nytt</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_reopening_from=`<a href="%[2]s">hänvisade till detta ärende från en pull-förfrågan %[3]s som kommer att öppna ärendet på nytt</a> %[1]s`
issues.ref_closed_from=`<a href="%[3]s">stängde detta ärende %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_closed_from=`<a href="%[3]s">stängde detta ärende %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopened_from=`<a href="%[3]s">öpnnade detta ärende igen %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_reopened_from=`<a href="%[3]s">öpnnade detta ärende igen %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_from=`från %[1]s` issues.ref_from=`från %[1]s`

View file

@ -1594,13 +1594,13 @@ issues.close_comment_issue=Yorum Yap ve Kapat
issues.reopen_issue=Yeniden aç issues.reopen_issue=Yeniden aç
issues.reopen_comment_issue=Yorum Yap ve Yeniden Aç issues.reopen_comment_issue=Yorum Yap ve Yeniden Aç
issues.create_comment=Yorum yap issues.create_comment=Yorum yap
issues.closed_at=`<a id="%[1]s" href="#%[1]s">%[2]s</a> konusunu kapattı` issues.closed_at=`%s konusunu kapattı`
issues.reopened_at=`<a id="%[1]s" href="#%[1]s">%[2]s</a> konusunu yeniden açtı` issues.reopened_at=`%s konusunu yeniden açtı`
issues.commit_ref_at=`<a id="%[1]s" href="#%[1]s">%[2]s</a> işlemesinde bu konuyu işaret etti` issues.commit_ref_at=`%s işlemesinde bu konuyu işaret etti`
issues.ref_issue_from=`<a href="%[3]s">bu konuya referansta bulundu %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_issue_from=`<a href="%[2]s">bu konuya referansta bulundu %[3]s</a> %[1]s`
issues.ref_pull_from=`<a href="%[3]s">bu değişiklik isteğine referansta bulundu %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_pull_from=`<a href="%[2]s">bu değişiklik isteğine referansta bulundu %[3]s</a> %[1]s`
issues.ref_closing_from=`<a href="%[3]s">bir değişiklik isteğine referansta bulundu %[4]s bu konu kapatılacak </a><a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_closing_from=`<a href="%[2]s">bir değişiklik isteğine referansta bulundu %[3]s bu konu kapatılacak </a>%[1]s`
issues.ref_reopening_from=`<a href="%[3]s">bir değişiklik isteğine referansta bulundu %[4]s bu konu yeniden açılacak</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_reopening_from=`<a href="%[2]s">bir değişiklik isteğine referansta bulundu %[3]s bu konu yeniden açılacak</a> %[1]s`
issues.ref_closed_from=`<a href="%[3]s">bu konuyu kapat%[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_closed_from=`<a href="%[3]s">bu konuyu kapat%[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopened_from=`<a href="%[3]s">konuyu yeniden aç%[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_reopened_from=`<a href="%[3]s">konuyu yeniden aç%[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_from=`%[1]s'den` issues.ref_from=`%[1]s'den`
@ -1907,8 +1907,8 @@ pulls.update_branch_success=Dal güncellemesi başarıyla gerçekleştirildi
pulls.update_not_allowed=Dalı güncelleme izniniz yok pulls.update_not_allowed=Dalı güncelleme izniniz yok
pulls.outdated_with_base_branch=Bu dal, temel dal ile güncel değil pulls.outdated_with_base_branch=Bu dal, temel dal ile güncel değil
pulls.close=Değişiklik İsteğini Kapat pulls.close=Değişiklik İsteğini Kapat
pulls.closed_at=`<a id="%[1]s" href="#%[1]s">%[2]s</a> değişiklik isteğini kapattı` pulls.closed_at=`%s değişiklik isteğini kapattı`
pulls.reopened_at=`<a id="%[1]s" href="#%[1]s">%[2]s</a> değişiklik isteğini yeniden açtı` pulls.reopened_at=`%s değişiklik isteğini yeniden açtı`
pulls.cmd_instruction_hint=`Komut satırı talimatlarını görüntüleyin.` pulls.cmd_instruction_hint=`Komut satırı talimatlarını görüntüleyin.`
pulls.cmd_instruction_checkout_title=Çekme pulls.cmd_instruction_checkout_title=Çekme
pulls.cmd_instruction_checkout_desc=Proje deponuzdan yeni bir dalı çekin ve değişiklikleri test edin. pulls.cmd_instruction_checkout_desc=Proje deponuzdan yeni bir dalı çekin ve değişiklikleri test edin.

View file

@ -694,7 +694,7 @@ disabled_public_activity=Цей користувач вимкнув публіч
joined_on = Реєстрація %s joined_on = Реєстрація %s
email_visibility.private = Ваш email видно лише вам і адміністраторам email_visibility.private = Ваш email видно лише вам і адміністраторам
email_visibility.limited = Вашу е-пошту видно всім авторизованим email_visibility.limited = Вашу е-пошту видно всім авторизованим
settings = Користувацькі параметри settings = Користувацькі налаштування
block_user.detail_3 = Ви не зможете додати один одного в якості співавтора репозиторію. block_user.detail_3 = Ви не зможете додати один одного в якості співавтора репозиторію.
show_on_map = Показати це місце на мапі show_on_map = Показати це місце на мапі
block_user.detail_2 = Цей користувач не зможе взаємодіяти з репозиторіями, власником яких є ви, а також із задачами та коментарями, які ви створили. block_user.detail_2 = Цей користувач не зможе взаємодіяти з репозиторіями, власником яких є ви, а також із задачами та коментарями, які ви створили.
@ -1447,7 +1447,7 @@ issues.remove_ref_at=`видалив посилання <b>%s</b> %s`
issues.add_ref_at=`додав посилання <b>%s</b> %s` issues.add_ref_at=`додав посилання <b>%s</b> %s`
issues.delete_branch_at=`видалена гілка <b>%s</b> %s` issues.delete_branch_at=`видалена гілка <b>%s</b> %s`
issues.filter_label=Мітка issues.filter_label=Мітка
issues.filter_label_exclude=`Використовуйте <code>Alt</code> + <code>клік/Enter</code> для виключення міток` issues.filter_label_exclude=Використовуйте <kbd>Alt</kbd> + <kbd>клік</kbd> для виключення міток
issues.filter_label_no_select=Всі мітки issues.filter_label_no_select=Всі мітки
issues.filter_milestone=Етап issues.filter_milestone=Етап
issues.filter_project=Проєкт issues.filter_project=Проєкт
@ -1496,17 +1496,17 @@ issues.context.quote_reply=Цитувати відповідь
issues.context.reference_issue=Послатися в новій задачі issues.context.reference_issue=Послатися в новій задачі
issues.context.edit=Редагувати issues.context.edit=Редагувати
issues.context.delete=Видалити issues.context.delete=Видалити
issues.close_comment_issue=Прокоментувати і закрити issues.close_comment_issue=Закрити з коментарем
issues.reopen_issue=Відкрити знову issues.reopen_issue=Відкрити знову
issues.reopen_comment_issue=Прокоментувати та відкрити знову issues.reopen_comment_issue=Відкрити знову з коментарем
issues.create_comment=Коментар issues.create_comment=Коментар
issues.closed_at=`закрив цю задачу <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.closed_at=`закриває цю задачу %s`
issues.reopened_at=`повторно відкрив цю задачу <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.reopened_at=`повторно відкриває цю задачу %s`
issues.commit_ref_at=`згадано цю задачу в коміті <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.commit_ref_at=`посилається на цю задачу в коміті %s`
issues.ref_issue_from=`<a href="%[3]s">посилається на цю задачу %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_issue_from=`<a href="%[2]s">посилається на цю задачу %[3]s</a> %[1]s`
issues.ref_pull_from=`<a href="%[3]s">послався на цей запит злиття %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_pull_from=`<a href="%[2]s">посилається на цей запит злиття %[3]s</a> %[1]s`
issues.ref_closing_from=`<a href="%[3]s">згадав запит на злиття %[4]s, які закриють цю задачу</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_closing_from=`<a href="%[2]s">посилається в запиті на злиття %[3]s, який закриє цю задачу</a>, %[1]s`
issues.ref_reopening_from=`<a href="%[3]s">згадав запит на злиття %[4]s, які повторно відкриють цю задачу</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_reopening_from=`<a href="%[2]s">посилається в запиті на злиття %[3]s, який повторно відкриє цю задачу</a>, %[1]s`
issues.ref_closed_from=`<a href="%[3]s">закрив цю задачу %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_closed_from=`<a href="%[3]s">закрив цю задачу %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopened_from=`<a href="%[3]s">повторно відкрито цю задачу %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_reopened_from=`<a href="%[3]s">повторно відкрито цю задачу %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_from=`із %[1]s` issues.ref_from=`із %[1]s`
@ -1743,8 +1743,8 @@ pulls.update_branch_rebase=Оновити гілку перебазування
pulls.update_branch_success=Оновлення гілки пройшло успішно pulls.update_branch_success=Оновлення гілки пройшло успішно
pulls.update_not_allowed=Ви не можете оновити гілку pulls.update_not_allowed=Ви не можете оновити гілку
pulls.outdated_with_base_branch=Ця гілка застаріла відносно базової гілки pulls.outdated_with_base_branch=Ця гілка застаріла відносно базової гілки
pulls.closed_at=`закрив цей запит на злиття <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.closed_at=`закриває цей запит на злиття %s`
pulls.reopened_at=`повторно відкрив цей запит на злиття <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.reopened_at=`повторно відкриває цей запит на злиття %s`
@ -1887,7 +1887,7 @@ settings.collaboration.owner=Власник
settings.collaboration.undefined=Не визначено settings.collaboration.undefined=Не визначено
settings.hooks=Веб-хуки settings.hooks=Веб-хуки
settings.githooks=Git хуки settings.githooks=Git хуки
settings.basic_settings=Базові налаштування settings.basic_settings=Основні налаштування
settings.mirror_settings=Налаштування дзеркала settings.mirror_settings=Налаштування дзеркала
settings.mirror_settings.mirrored_repository=Віддзеркалений репозиторій settings.mirror_settings.mirrored_repository=Віддзеркалений репозиторій
settings.mirror_settings.direction=Напрямок settings.mirror_settings.direction=Напрямок
@ -2055,12 +2055,12 @@ settings.event_issue_assign=Призначення
settings.event_issue_assign_desc=Задачу призначено або скасовано. settings.event_issue_assign_desc=Задачу призначено або скасовано.
settings.event_issue_label=Мітки settings.event_issue_label=Мітки
settings.event_issue_label_desc=Додавання або видалення міток задач. settings.event_issue_label_desc=Додавання або видалення міток задач.
settings.event_issue_milestone=Задача з етапом settings.event_issue_milestone=Етапи
settings.event_issue_milestone_desc=Етап призначено, видалено або змінено. settings.event_issue_milestone_desc=Етап призначено, видалено або змінено.
settings.event_issue_comment=Коментарі settings.event_issue_comment=Коментарі
settings.event_issue_comment_desc=Коментар задачі створено, видалено чи відредаговано. settings.event_issue_comment_desc=Коментар задачі створено, видалено чи відредаговано.
settings.event_header_pull_request=Події запиту на злиття settings.event_header_pull_request=Події запиту на злиття
settings.event_pull_request=Запити до злиття settings.event_pull_request=Зміна
settings.event_pull_request_desc=Запит до злиття відкрито, закрито, перевідкрито або відредаговано. settings.event_pull_request_desc=Запит до злиття відкрито, закрито, перевідкрито або відредаговано.
settings.event_pull_request_assign=Призначення settings.event_pull_request_assign=Призначення
settings.event_pull_request_assign_desc=Запит про злиття призначено або скасовано. settings.event_pull_request_assign_desc=Запит про злиття призначено або скасовано.
@ -2485,7 +2485,7 @@ signing.will_sign = Коміт буде підписано ключем «%s».
signing.wont_sign.error = Під час перевірки можливості підписати коміт сталася помилка. signing.wont_sign.error = Під час перевірки можливості підписати коміт сталася помилка.
commits.search_branch = У цій гілці commits.search_branch = У цій гілці
ext_wiki = Зовнішня вікі ext_wiki = Зовнішня вікі
pulls.commit_ref_at = `посилається на цей запит на злиття в коміті <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.commit_ref_at = `посилається на цей запит на злиття в коміті %s`
pulls.cmd_instruction_hint = Переглянути інструкції для командного рядка pulls.cmd_instruction_hint = Переглянути інструкції для командного рядка
issues.max_pinned = Неможливо закріпити більше задач issues.max_pinned = Неможливо закріпити більше задач
issues.unpin_comment = відкріпив %s issues.unpin_comment = відкріпив %s
@ -2847,7 +2847,7 @@ dashboard.update_migration_poster_id=Оновити мігровані ID авт
dashboard.git_gc_repos=Виконати очистку сміття для всіх репозиторіїв dashboard.git_gc_repos=Виконати очистку сміття для всіх репозиторіїв
dashboard.resync_all_sshkeys=Оновити файл «.ssh/authorized_keys» з SSH-ключами Forgejo. dashboard.resync_all_sshkeys=Оновити файл «.ssh/authorized_keys» з SSH-ключами Forgejo.
dashboard.resync_all_sshprincipals=Оновити файл «.ssh/authorized_principals» з SSH даними користувача Forgejo. dashboard.resync_all_sshprincipals=Оновити файл «.ssh/authorized_principals» з SSH даними користувача Forgejo.
dashboard.resync_all_hooks=Пересинхронізувати перед-прийнятні, оновлюючі та пост-прийнятні хуки в усіх репозиторіях dashboard.resync_all_hooks=Пересинхронізувати хуки pre-receive, update та post-receive в усіх репозиторіях
dashboard.reinit_missing_repos=Переініціалізувати усі репозитрії git-файли яких втрачено dashboard.reinit_missing_repos=Переініціалізувати усі репозитрії git-файли яких втрачено
dashboard.sync_external_users=Синхронізувати дані зовнішніх користувачів dashboard.sync_external_users=Синхронізувати дані зовнішніх користувачів
dashboard.cleanup_hook_task_table=Очистити hook_task таблицю dashboard.cleanup_hook_task_table=Очистити hook_task таблицю
@ -2906,7 +2906,7 @@ users.edit_account=Редагувати обліковий запис
users.max_repo_creation=Максимальна кількість репозиторіїв users.max_repo_creation=Максимальна кількість репозиторіїв
users.max_repo_creation_desc=(Введіть -1, щоб використовувати глобальний ліміт за замовчуванням.) users.max_repo_creation_desc=(Введіть -1, щоб використовувати глобальний ліміт за замовчуванням.)
users.is_activated=Обліковий запис користувача увімкнено users.is_activated=Обліковий запис користувача увімкнено
users.prohibit_login=Вимкнути вхід users.prohibit_login=Заблокований обліковий запис
users.is_admin=Обліковий запис адміністратора users.is_admin=Обліковий запис адміністратора
users.is_restricted=Обмежений users.is_restricted=Обмежений
users.allow_git_hook=Може створювати Git хуки users.allow_git_hook=Може створювати Git хуки
@ -3305,6 +3305,7 @@ dashboard.cron.cancelled = Cron: %[1]s скасовано: %[3]s
defaulthooks.desc = Вебхуки автоматично сповіщають HTTP-сервер POST-запитами, коли в Forgejo відбуваються певні події. Вказані тут вебхуки є типовими і будуть скопійовані до всіх нових репозиторіїв. Докладніше — в <a target="_blank" rel="noopener" href="%s">посібнику з вебхуків</a>. defaulthooks.desc = Вебхуки автоматично сповіщають HTTP-сервер POST-запитами, коли в Forgejo відбуваються певні події. Вказані тут вебхуки є типовими і будуть скопійовані до всіх нових репозиторіїв. Докладніше — в <a target="_blank" rel="noopener" href="%s">посібнику з вебхуків</a>.
assets = Ресурси коду assets = Ресурси коду
auths.invalid_openIdConnectAutoDiscoveryURL = Неправильна URL-адреса автоматичного виявлення (повинна бути дійсна URL-адреса, що починається з http:// або https://) auths.invalid_openIdConnectAutoDiscoveryURL = Неправильна URL-адреса автоматичного виявлення (повинна бути дійсна URL-адреса, що починається з http:// або https://)
settings = Налаштування адміністратора
[action] [action]

View file

@ -1062,8 +1062,8 @@ language.description = 此语言将保存到您的账号中,并在您登录后
language.localization_project = 帮助我们将 Forgejo 翻译成您的语言!<a href="%s">了解更多</a>。 language.localization_project = 帮助我们将 Forgejo 翻译成您的语言!<a href="%s">了解更多</a>。
user_block_yourself = 您不能屏蔽自己。 user_block_yourself = 您不能屏蔽自己。
pronouns_custom_label = 自定义代词 pronouns_custom_label = 自定义代词
change_username_redirect_prompt.with_cooldown.one = 用户名将在%[1]d天的保护期后对所有人可用您仍可以在此期间重新认领旧用户名。 change_username_redirect_prompt.with_cooldown.one = 用户名将在 %[1]d 天的保护期后对所有人可用,您仍可以在此期间重新认领旧用户名。
change_username_redirect_prompt.with_cooldown.few = 用户名将在%[1]d天的保护期后对所有人可用您仍可以在此期间重新认领旧用户名。 change_username_redirect_prompt.with_cooldown.few = 用户名将在 %[1]d 天的保护期后对所有人可用,您仍可以在此期间重新认领旧用户名。
keep_pronouns_private = 仅向已认证用户显示代词 keep_pronouns_private = 仅向已认证用户显示代词
keep_pronouns_private.description = 这将对未登录的访问者隐藏您的代词。 keep_pronouns_private.description = 这将对未登录的访问者隐藏您的代词。
quota = 配额 quota = 配额
@ -1581,7 +1581,7 @@ issues.remove_ref_at=`删除了引用 <b>%s</b> %s`
issues.add_ref_at=`添加了引用 <b>%s</b> %s` issues.add_ref_at=`添加了引用 <b>%s</b> %s`
issues.delete_branch_at=`于 %[2]s 删除了分支 <b>%[1]s</b>` issues.delete_branch_at=`于 %[2]s 删除了分支 <b>%[1]s</b>`
issues.filter_label=标签筛选 issues.filter_label=标签筛选
issues.filter_label_exclude=`使用 <code>alt</code> + <code>鼠标左键 / 回车</code> 排除标签` issues.filter_label_exclude=使用 <kbd>Alt</kbd> + <kbd>单击</kbd> 排除标签
issues.filter_label_no_select=所有标签 issues.filter_label_no_select=所有标签
issues.filter_label_select_no_label=无标签 issues.filter_label_select_no_label=无标签
issues.filter_milestone=里程碑筛选 issues.filter_milestone=里程碑筛选
@ -1655,13 +1655,13 @@ issues.close_comment_issue=评论并关闭
issues.reopen_issue=重新开放 issues.reopen_issue=重新开放
issues.reopen_comment_issue=重新打开并评论 issues.reopen_comment_issue=重新打开并评论
issues.create_comment=评论 issues.create_comment=评论
issues.closed_at=`于<a id="%[1]s" href="#%[1]s">%[2]s</a>关闭此议题` issues.closed_at=`于 %s 关闭了此议题`
issues.reopened_at=`重新打开此问题 <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.reopened_at=`于 %s 重新打开了此议题`
issues.commit_ref_at=`于<a id="%[1]s" href="#%[1]s">%[2]s</a>在代码提交中引用了该议题` issues.commit_ref_at=`于 %s 从提交中引用了此议题`
issues.ref_issue_from=`<a href="%[3]s">引用了议题 %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_issue_from=`<a href="%[2]s">引用了此议题 %[3]s</a> %[1]s`
issues.ref_pull_from=`<a href="%[3]s">引用了合并请求 %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_pull_from=`<a href="%[2]s">引用了此合并请求 %[3]s</a> %[1]s`
issues.ref_closing_from=`于 <a id="%[1]s" href="#%[1]s">%[2]s</a> <a href="%[3]s">从合并请求 %[4]s引用了此议题,将关闭此议题</a>` issues.ref_closing_from=`于 %[1]s <a href="%[2]s">从合并请求 %[3]s 引用了此议题,将关闭此议题</a>`
issues.ref_reopening_from=`于 <a id="%[1]s" href="#%[1]s">%[2]s</a> <a href="%[3]s"> 引用了合并请求 %[4]s 将重新讨论此议题</a> ` issues.ref_reopening_from=`于 %[1]s <a href="%[2]s">从合并请求 %[3]s 引用了此议题,将重新打开此议题</a> `
issues.ref_closed_from=`<a href="%[3]s">关闭了这个议题 %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_closed_from=`<a href="%[3]s">关闭了这个议题 %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopened_from=`<a href="%[3]s">重新打开这个议题 %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_reopened_from=`<a href="%[3]s">重新打开这个议题 %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_from=`来自 %[1]s` issues.ref_from=`来自 %[1]s`
@ -1969,8 +1969,8 @@ pulls.update_branch_success=分支更新成功
pulls.update_not_allowed=您无权更新分支 pulls.update_not_allowed=您无权更新分支
pulls.outdated_with_base_branch=此分支相比基础分支已过期 pulls.outdated_with_base_branch=此分支相比基础分支已过期
pulls.close=关闭 pulls.close=关闭
pulls.closed_at=`于<a id="%[1]s" href="#%[1]s">%[2]s</a>关闭此合并请求 ` pulls.closed_at=`于 %s 关闭了此合并请求 `
pulls.reopened_at=`重新打开此合并请求 <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.reopened_at=`于 %s 重新打开此合并请求`
pulls.cmd_instruction_hint=查看命令行说明 pulls.cmd_instruction_hint=查看命令行说明
pulls.cmd_instruction_checkout_title=检出 pulls.cmd_instruction_checkout_title=检出
pulls.cmd_instruction_checkout_desc=从你的仓库中检出一个新的分支并测试变更。 pulls.cmd_instruction_checkout_desc=从你的仓库中检出一个新的分支并测试变更。
@ -2770,7 +2770,7 @@ settings.wiki_rename_branch_main = 标准化百科分支名称
settings.wiki_rename_branch_main_notices_1 = 此操作<strong>无法</strong>撤消。 settings.wiki_rename_branch_main_notices_1 = 此操作<strong>无法</strong>撤消。
settings.wiki_branch_rename_success = 百科仓库的分支名称已成功规范化。 settings.wiki_branch_rename_success = 百科仓库的分支名称已成功规范化。
settings.confirm_wiki_branch_rename = 重命名百科分支 settings.confirm_wiki_branch_rename = 重命名百科分支
pulls.commit_ref_at = `在提交 <a id="%[1]s" href="#%[1]s">%[2]s</a> 中引用了此合并请求` pulls.commit_ref_at = `于 %s 从提交中引用了此合并请求`
settings.wiki_rename_branch_main_notices_2 = 这将永久重命名 %s 的仓库百科的内部分支。现存的检出方式需要更新。 settings.wiki_rename_branch_main_notices_2 = 这将永久重命名 %s 的仓库百科的内部分支。现存的检出方式需要更新。
settings.wiki_branch_rename_failure = 无法标准化仓库百科的分支名称。 settings.wiki_branch_rename_failure = 无法标准化仓库百科的分支名称。
settings.add_collaborator_blocked_our = 因仓库所有者已将其拉黑,不能添加该用户为协作者。 settings.add_collaborator_blocked_our = 因仓库所有者已将其拉黑,不能添加该用户为协作者。
@ -2922,6 +2922,7 @@ settings.event_action_success = 成功
settings.event_action_success_desc = Action运行以成功结束。 settings.event_action_success_desc = Action运行以成功结束。
settings.event_action_failure_desc = Action运行以失败结束。 settings.event_action_failure_desc = Action运行以失败结束。
settings.event_header_action = Action运行事件 settings.event_header_action = Action运行事件
issues.filter_type.all_pull_requests = 所有合并请求
[graphs] [graphs]
component_loading=正在加载 %s… component_loading=正在加载 %s…
@ -3057,8 +3058,8 @@ teams.invite.by=邀请人 %s
teams.invite.description=请点击下面的按钮加入团队。 teams.invite.description=请点击下面的按钮加入团队。
follow_blocked_user = 你无法关注此组织,因为此组织已屏蔽你。 follow_blocked_user = 你无法关注此组织,因为此组织已屏蔽你。
open_dashboard = 打开仪表盘 open_dashboard = 打开仪表盘
settings.change_orgname_redirect_prompt.with_cooldown.one = 组织名将在%[1]d天的保护期后对所有人可用您仍可以在此期间重新认领旧的名字 settings.change_orgname_redirect_prompt.with_cooldown.one = 组织名将在 %[1]d 天的保护期后对所有人可用,您仍可以在此期间重新认领旧名称
settings.change_orgname_redirect_prompt.with_cooldown.few = 组织名将在%[1]d天的保护期后对所有人可用您仍可以在此期间重新认领旧名 settings.change_orgname_redirect_prompt.with_cooldown.few = 组织名将在 %[1]d 天的保护期后对所有人可用,您仍可以在此期间重新认领旧名
[admin] [admin]
dashboard=管理面板 dashboard=管理面板

View file

@ -574,7 +574,7 @@ issues.delete_comment_confirm=您確定要刪除該條評論嗎?
issues.context.edit=編輯 issues.context.edit=編輯
issues.reopen_issue=重新開啟 issues.reopen_issue=重新開啟
issues.create_comment=評論 issues.create_comment=評論
issues.commit_ref_at=`在代碼提交 <a id="%[1]s" href="#%[1]s">%[2]s</a> 中引用了該問題` issues.commit_ref_at=`在代碼提交 %s 中引用了該問題`
issues.role.owner=管理員 issues.role.owner=管理員
issues.role.member=普通成員 issues.role.member=普通成員
issues.sign_in_require_desc=<a href="%s"> 登入</a> 才能加入這對話。 issues.sign_in_require_desc=<a href="%s"> 登入</a> 才能加入這對話。

View file

@ -1604,13 +1604,13 @@ issues.close_comment_issue=留言並關閉
issues.reopen_issue=重新開放 issues.reopen_issue=重新開放
issues.reopen_comment_issue=留言並重新開放 issues.reopen_comment_issue=留言並重新開放
issues.create_comment=留言 issues.create_comment=留言
issues.closed_at=`關閉了這個問題 <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.closed_at=`關閉了這個問題 %s`
issues.reopened_at=`重新開放了這個問題 <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.reopened_at=`重新開放了這個問題 %s`
issues.commit_ref_at=`在提交中關聯了這個問題 <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.commit_ref_at=`在提交中關聯了這個問題 %s`
issues.ref_issue_from=`<a href="%[3]s">關聯了這個問題 %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_issue_from=`<a href="%[2]s">關聯了這個問題 %[3]s</a> %[1]s`
issues.ref_pull_from=`<a href="%[3]s">關聯了這個合併請求 %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_pull_from=`<a href="%[2]s">關聯了這個合併請求 %[3]s</a> %[1]s`
issues.ref_closing_from=<a href="%[3]s">從將關閉此問題的拉取請求 %[4]s 中提及了此問題</a><a id="%[1]s" href="#%[1]s">%[2]s</a> issues.ref_closing_from=<a href="%[2]s">從將關閉此問題的拉取請求 %[3]s 中提及了此問題</a>%[1]s
issues.ref_reopening_from=<a href="%[3]s">從將重新開啟此問題的拉取請求 %[4]s 中提及了此問題</a><a id="%[1]s" href="#%[1]s">%[2]s</a> issues.ref_reopening_from=<a href="%[2]s">從將重新開啟此問題的拉取請求 %[3]s 中提及了此問題</a>%[1]s
issues.ref_closed_from=`<a href="%[3]s">關閉了這個問題 %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_closed_from=`<a href="%[3]s">關閉了這個問題 %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopened_from=`<a href="%[3]s">重新開放了這個問題 %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_reopened_from=`<a href="%[3]s">重新開放了這個問題 %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_from=`自 %[1]s` issues.ref_from=`自 %[1]s`
@ -1879,8 +1879,8 @@ pulls.update_branch_success=分支更新成功
pulls.update_not_allowed=您無權更新分支 pulls.update_not_allowed=您無權更新分支
pulls.outdated_with_base_branch=相對於基底分支,此分支已過時 pulls.outdated_with_base_branch=相對於基底分支,此分支已過時
pulls.close=關閉合併請求 pulls.close=關閉合併請求
pulls.closed_at=`關閉了這個合併請求 <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.closed_at=`關閉了這個合併請求 %s`
pulls.reopened_at=`重新開放了這個合併請求 <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.reopened_at=`重新開放了這個合併請求 %s`
pulls.clear_merge_message=清除合併訊息 pulls.clear_merge_message=清除合併訊息
pulls.clear_merge_message_hint=清除合併訊息將僅移除提交訊息內容,留下產生的 git 結尾如「Co-Authored-By …」。 pulls.clear_merge_message_hint=清除合併訊息將僅移除提交訊息內容,留下產生的 git 結尾如「Co-Authored-By …」。
@ -2634,7 +2634,7 @@ commits.search_branch = 此分支
commits.browse_further = 進一步瀏覽 commits.browse_further = 進一步瀏覽
commits.renamed_from = 自 %s 重新命名 commits.renamed_from = 自 %s 重新命名
issues.filter_milestone_none = 沒有里程碑 issues.filter_milestone_none = 沒有里程碑
issues.num_comments_1 = %s 則留言 issues.num_comments_1 = %d 則留言
issues.no_content = 沒有提供敘述。 issues.no_content = 沒有提供敘述。
settings.new_owner_blocked_doer = 新的所有者已封鎖您。 settings.new_owner_blocked_doer = 新的所有者已封鎖您。
new_repo_helper = 一個儲存庫包含專案的所有檔案和它們的修訂歷史。在別處已經有儲存庫了嗎?<a href="%s">遷移儲存庫</a>。 new_repo_helper = 一個儲存庫包含專案的所有檔案和它們的修訂歷史。在別處已經有儲存庫了嗎?<a href="%s">遷移儲存庫</a>。
@ -2693,7 +2693,7 @@ signing.wont_sign.never = 永不簽署提交。
editor.push_out_of_date = 該推送似乎過期了。 editor.push_out_of_date = 該推送似乎過期了。
issues.cancel_tracking_history = `已取消時間追蹤 %s` issues.cancel_tracking_history = `已取消時間追蹤 %s`
issues.due_date_not_writer = 您需要有寫入這個儲存庫的權限才能更新其問題的到期日。 issues.due_date_not_writer = 您需要有寫入這個儲存庫的權限才能更新其問題的到期日。
pulls.commit_ref_at = `在提交 <a id="%[1]s" href="#%[1]s">%[2]s</a> 引用了這個合併請求` pulls.commit_ref_at = `在提交 %s 引用了這個合併請求`
pulls.cmd_instruction_checkout_desc = 從您的專案儲存庫中,建立並切換到一個新分支以測試這些變更。 pulls.cmd_instruction_checkout_desc = 從您的專案儲存庫中,建立並切換到一個新分支以測試這些變更。
pulls.cmd_instruction_merge_title = 合併 pulls.cmd_instruction_merge_title = 合併
pulls.ready_for_review = 可以開始審閱了嗎? pulls.ready_for_review = 可以開始審閱了嗎?

View file

@ -97,5 +97,10 @@
"settings.visibility.description": "Die Profilsichtbarkeit beeinflusst die Möglichkeit anderer, auf deine nicht-privaten Repositorys zuzugreifen. <a href=\"%s\" target=\"_blank\">Erfahre mehr</a>", "settings.visibility.description": "Die Profilsichtbarkeit beeinflusst die Möglichkeit anderer, auf deine nicht-privaten Repositorys zuzugreifen. <a href=\"%s\" target=\"_blank\">Erfahre mehr</a>",
"avatar.constraints_hint": "Individuelles Profilbild darf %[1]s in der Größe nicht überschreiten, und nicht größer als %[2]dx%[3]d Pixel sein", "avatar.constraints_hint": "Individuelles Profilbild darf %[1]s in der Größe nicht überschreiten, und nicht größer als %[2]dx%[3]d Pixel sein",
"repo.diff.commit.next-short": "Nächste", "repo.diff.commit.next-short": "Nächste",
"repo.diff.commit.previous-short": "Vorherige" "repo.diff.commit.previous-short": "Vorherige",
"profile.edit.link": "Profil bearbeiten",
"feed.atom.link": "Atom-Feed",
"keys.ssh.link": "SSH-Schlüssel",
"keys.gpg.link": "GPG-Schlüssel",
"profile.actions.tooltip": "Mehr Aktionen"
} }

View file

@ -63,6 +63,11 @@
"alert.asset_load_failed": "Failed to load asset files from {path}. Please make sure the asset files can be accessed.", "alert.asset_load_failed": "Failed to load asset files from {path}. Please make sure the asset files can be accessed.",
"alert.range_error": " must be a number between %[1]s and %[2]s.", "alert.range_error": " must be a number between %[1]s and %[2]s.",
"install.invalid_lfs_path": "Unable to create the LFS root at the specified path: %[1]s", "install.invalid_lfs_path": "Unable to create the LFS root at the specified path: %[1]s",
"profile.actions.tooltip": "More actions",
"profile.edit.link": "Edit profile",
"feed.atom.link": "Atom feed",
"keys.ssh.link": "SSH keys",
"keys.gpg.link": "GPG keys",
"admin.config.moderation_config": "Moderation configuration", "admin.config.moderation_config": "Moderation configuration",
"moderation.report_abuse": "Report abuse", "moderation.report_abuse": "Report abuse",
"moderation.report_content": "Report content", "moderation.report_content": "Report content",

View file

@ -21,7 +21,7 @@
"alert.asset_load_failed": "Nabigong i-load ang mga asset file mula sa {path}. Siguraduhin na maa-access ang mga asset file.", "alert.asset_load_failed": "Nabigong i-load ang mga asset file mula sa {path}. Siguraduhin na maa-access ang mga asset file.",
"install.invalid_lfs_path": "Nabigong gawin ang LFS root sa tinakdang path: %[1]s", "install.invalid_lfs_path": "Nabigong gawin ang LFS root sa tinakdang path: %[1]s",
"alert.range_error": " dapat ay numero sa pagitan ng %[1]s at %[2]s.", "alert.range_error": " dapat ay numero sa pagitan ng %[1]s at %[2]s.",
"meta.last_line": "Sayori... I love you. — MC from Doki Doki Literature Club", "meta.last_line": "Every day, I imagine a future where I can be with you. In my hand is a pen that will write a poem of me and you. The ink flows down into a dark puddle... Just move your hand, write the way into his heart. But in this world of infinite choices. What will it take just to find that special day? Have I found everybody a fun assignment to do today? When you're here, everything that we do is fun for them anyway... When I can't even read my own feelings. What good are words when a smile says it all? And if this world won't write me an ending... What will it take just for me to have it all? Does my pen only write bitter words for those who are dear to me? Is it love if I take you, or is it love if I set you free? The ink flows down into a dark puddle... How can I write love into reality? If I can't hear the sound of your heartbeat What do you call love in your reality? And in your reality, if I don't know how to love you... I'll leave you be.",
"mail.actions.successful_run_after_failure": "Na-recover ang workflow na %[1]s sa repositoryong %[2]s", "mail.actions.successful_run_after_failure": "Na-recover ang workflow na %[1]s sa repositoryong %[2]s",
"mail.actions.not_successful_run": "Nabigo ang workflow na %[1]s sa repositoryong %[2]s", "mail.actions.not_successful_run": "Nabigo ang workflow na %[1]s sa repositoryong %[2]s",
"mail.actions.run_info_previous_status": "Nakaraang Status ng Run: %[1]s", "mail.actions.run_info_previous_status": "Nakaraang Status ng Run: %[1]s",
@ -94,5 +94,13 @@
"editor.textarea.tab_hint": "Naka-indent na ang linya. Pindutin ulit ang <kbd>Tab</kbd> o <kbd>Escape</kbd> para umalis sa editor.", "editor.textarea.tab_hint": "Naka-indent na ang linya. Pindutin ulit ang <kbd>Tab</kbd> o <kbd>Escape</kbd> para umalis sa editor.",
"editor.textarea.shift_tab_hint": "Walang indentation sa linyang ito. Pindutin ang <kbd>Shift</kbd> + <kbd>Tab</kbd> ulit o <kbd>Escape</kbd> para umalis sa editor.", "editor.textarea.shift_tab_hint": "Walang indentation sa linyang ito. Pindutin ang <kbd>Shift</kbd> + <kbd>Tab</kbd> ulit o <kbd>Escape</kbd> para umalis sa editor.",
"admin.dashboard.cleanup_offline_runners": "Linisin ang mga offline na runner", "admin.dashboard.cleanup_offline_runners": "Linisin ang mga offline na runner",
"settings.visibility.description": "Maaapektuhan ng visibility ng profile ang kakayahan ng iba na i-access ang iyong mga hindi pribadong repositoryo. <a href=\"%s\" target=\"_blank\">Matuto pa</a>" "settings.visibility.description": "Maaapektuhan ng visibility ng profile ang kakayahan ng iba na i-access ang iyong mga hindi pribadong repositoryo. <a href=\"%s\" target=\"_blank\">Matuto pa</a>",
"avatar.constraints_hint": "Hindi maaaring lumagpas sa laking %[1]s o mas malaki sa %[2]dx%[3]d pixel ang custom na avatar",
"repo.diff.commit.next-short": "Susunod",
"repo.diff.commit.previous-short": "Nakaraan",
"profile.edit.link": "I-edit ang profile",
"feed.atom.link": "Atom feed",
"keys.ssh.link": "Mga SSH key",
"keys.gpg.link": "Mga GPG key",
"profile.actions.tooltip": "Higit pang mga aksyon"
} }

View file

@ -6,7 +6,7 @@
}, },
"repo.pulls.title_desc": { "repo.pulls.title_desc": {
"one": "veut fusionner %[1]d commit depuis <code>%[2]s</code> vers <code id=\"%[4]s\">%[3]s</code>", "one": "veut fusionner %[1]d commit depuis <code>%[2]s</code> vers <code id=\"%[4]s\">%[3]s</code>",
"many": "souhaite fusionner %[1]d révision(s) depuis <code>%[2]s</code> vers <code id=\"%[4]s\">%[3]s</code>", "many": "veut fusionner %[1]d commits depuis <code>%[2]s</code> vers <code id=\"%[4]s\">%[3]s</code>",
"other": "" "other": ""
}, },
"search.milestone_kind": "Recherche dans les jalons…", "search.milestone_kind": "Recherche dans les jalons…",

View file

@ -15,5 +15,83 @@
"home.welcome.no_activity": "Nessun'attività", "home.welcome.no_activity": "Nessun'attività",
"home.explore_repos": "Esplora i repositori", "home.explore_repos": "Esplora i repositori",
"home.explore_users": "Esplora l'utenza", "home.explore_users": "Esplora l'utenza",
"home.explore_orgs": "Esplora le organizzazioni" "home.explore_orgs": "Esplora le organizzazioni",
"mail.actions.successful_run_after_failure_subject": "Il flusso di lavoro %[1] ha ripreso a funzionare nel repositorio %[2]s",
"mail.actions.not_successful_run_subject": "Il flusso di lavoro %[1]s è fallito nel repositorio %[2]s",
"relativetime.future": "nel futuro",
"relativetime.days": {
"one": "ieri",
"many": "%d giorni fa",
"other": "%d giorni fa"
},
"relativetime.1day": "ieri",
"repo.form.cannot_create": "Tutti gli spazi in cui puoi creare repositori hanno raggiunto il limite di repositori.",
"discussion.locked": "Questa discussione è stata bloccata. Solo i contributori possono commentare.",
"relativetime.hours": {
"one": "un'ora fa",
"many": "%d ore fa",
"other": "%d ore fa"
},
"relativetime.2years": "due anni fa",
"relativetime.now": "adesso",
"relativetime.weeks": {
"one": "una settimana fa",
"many": "%d settimane fa",
"other": "%d settimane fa"
},
"relativetime.months": {
"one": "un mese fa",
"many": "%d mesi fa",
"other": "%d mesi fa"
},
"relativetime.years": {
"one": "un anno fa",
"many": "%d anni fa",
"other": "%d anni fa"
},
"repo.issue_indexer.title": "Indicizzatore delle segnalazioni",
"admin.config.moderation_config": "Impostazioni di moderazione",
"moderation.report_abuse": "Segnala abuso",
"moderation.report_content": "Segnala contenuto",
"moderation.report_abuse_form.already_reported": "Hai già segnalato questo contenuto",
"moderation.abuse_category": "Categoria",
"moderation.abuse_category.placeholder": "Seleziona una categoria",
"moderation.abuse_category.spam": "Spam",
"moderation.abuse_category.malware": "Malware",
"moderation.abuse_category.illegal_content": "Contenuti illegali",
"moderation.abuse_category.other_violations": "Altre violazioni delle regole della piattaforma",
"moderation.report_remarks": "Note aggiuntive",
"moderation.report_remarks.placeholder": "Aggiungi dettagli riguardanti l'abuso che stai segnalando.",
"moderation.submit_report": "Invia segnalazione",
"error.not_found.title": "Pagina non trovata",
"themes.names.forgejo-auto": "Forgejo (segui le impostazioni di sistema)",
"stars.list.none": "Nessuno ha messo una stella a questo repo.",
"watch.list.none": "Nessuno sta osservando questo repo.",
"followers.incoming.list.self.none": "Nessuno sta seguendo il tuo profilo.",
"followers.incoming.list.none": "Nessuno sta seguendo questo utente.",
"followers.outgoing.list.self.none": "Non segui nessuno.",
"followers.outgoing.list.none": "%s non sta seguendo nessuno.",
"relativetime.2days": "due giorni fa",
"relativetime.2weeks": "due settimane fa",
"relativetime.1week": "la settimana scorsa",
"relativetime.1month": "il mese scorso",
"relativetime.2months": "due mesi fa",
"relativetime.1year": "l'anno scorso",
"moderation.report_abuse_form.header": "Segnala abuso all'amministratore",
"moderation.report_abuse_form.details": "Questo modulo dovrebbe essere utilizzato per segnalare utenti che creano profili, repositori, segnalazioni o commenti spam o che si comportano in modo non adeguato.",
"moderation.report_abuse_form.invalid": "Argomenti non validi",
"moderation.reporting_failed": "Impossibile inviare segnalazione: %v",
"moderation.reported_thank_you": "Grazie per la segnalazione. L'amministratore è stato avvertito.",
"mail.actions.run_info_ref": "Ramo: %[1]s (%[2]s)",
"alert.asset_load_failed": "Impossibile caricare i file di risorsa da {path}. Controlla che i file di risorsa siano accessibili.",
"install.invalid_lfs_path": "Non è possibile creare una root LFS nel percorso specificato: %[1]s",
"home.welcome.activity_hint": "Non c'è nulla nel tuo feed. Le tue azioni e le attività dei repositori che segui verranno mostrate qui.",
"relativetime.mins": {
"one": "un minuto fa",
"many": "%d minuti fa",
"other": "%d minuti fa"
},
"editor.textarea.tab_hint": "Linea già indentata. Premi di nuovo <kbd>Tab</kbd> o <kbd>Esc</kbd> per uscire dall'editor.",
"repo.diff.commit.previous-short": "Precedente",
"meta.last_line": "Ambaraba cicci cocco."
} }

View file

@ -97,5 +97,10 @@
"settings.visibility.description": "De Profil-Sichtbaarkeid maakt daar wat an, of un wo anner Lüü diene nich-privaaten Repositoriums ankieken könen. <a href=\"%s\" target=\"_blank\">Mehr unnerhören</a>", "settings.visibility.description": "De Profil-Sichtbaarkeid maakt daar wat an, of un wo anner Lüü diene nich-privaaten Repositoriums ankieken könen. <a href=\"%s\" target=\"_blank\">Mehr unnerhören</a>",
"avatar.constraints_hint": "Dat eegene Kontobill düür nich groter as %[1]s wesen of groter as %[2]d×%[3]d Billtüttels wesen", "avatar.constraints_hint": "Dat eegene Kontobill düür nich groter as %[1]s wesen of groter as %[2]d×%[3]d Billtüttels wesen",
"repo.diff.commit.next-short": "Anner", "repo.diff.commit.next-short": "Anner",
"repo.diff.commit.previous-short": "Vörig" "repo.diff.commit.previous-short": "Vörig",
"feed.atom.link": "Atom-Schuuv",
"keys.ssh.link": "SSH-Slötels",
"keys.gpg.link": "GPG-Slötels",
"profile.actions.tooltip": "Mehr Aktioonen",
"profile.edit.link": "Profil bewarken"
} }

View file

@ -103,5 +103,7 @@
"editor.textarea.shift_tab_hint": "Sem indentação nesta linha. Pressione <kbd>Shift</kbd> + <kbd>Tab</kbd> novamente ou <kbd>Esc</kbd> para sair do editor.", "editor.textarea.shift_tab_hint": "Sem indentação nesta linha. Pressione <kbd>Shift</kbd> + <kbd>Tab</kbd> novamente ou <kbd>Esc</kbd> para sair do editor.",
"admin.dashboard.cleanup_offline_runners": "Limpar runners desconectados", "admin.dashboard.cleanup_offline_runners": "Limpar runners desconectados",
"avatar.constraints_hint": "Imagem de perfil personalizada não pode exceder %[1]s em tamanho ou ser maior que %[2]dx%[3]d pixels", "avatar.constraints_hint": "Imagem de perfil personalizada não pode exceder %[1]s em tamanho ou ser maior que %[2]dx%[3]d pixels",
"settings.visibility.description": "A visibilidade do perfil afeta a habilidade de acessarem seus repositórios não-privados. <a href=\"%s\" target=\"_blank\">Saiba mais</a>" "settings.visibility.description": "A visibilidade do perfil afeta a habilidade de acessarem seus repositórios não-privados. <a href=\"%s\" target=\"_blank\">Saiba mais</a>",
"repo.diff.commit.next-short": "Próximo",
"repo.diff.commit.previous-short": "Anterior"
} }

View file

@ -23,7 +23,7 @@
"alert.asset_load_failed": "Не удалось получить ресурсы из {path}. Убедитесь, что файлы ресурсов доступны.", "alert.asset_load_failed": "Не удалось получить ресурсы из {path}. Убедитесь, что файлы ресурсов доступны.",
"install.invalid_lfs_path": "Не удалось расположить корень LFS по указанному пути: %[1]s", "install.invalid_lfs_path": "Не удалось расположить корень LFS по указанному пути: %[1]s",
"alert.range_error": " - число должно быть в диапазоне от %[1]s-%[2]s.", "alert.range_error": " - число должно быть в диапазоне от %[1]s-%[2]s.",
"meta.last_line": "Unskip.", "meta.last_line": "Unskip..",
"mail.actions.not_successful_run_subject": "Провал раб. потока %[1]s в репозитории %[2]s", "mail.actions.not_successful_run_subject": "Провал раб. потока %[1]s в репозитории %[2]s",
"mail.actions.successful_run_after_failure_subject": "Возобновление раб. потока %[1]s в репозитории %[2]s", "mail.actions.successful_run_after_failure_subject": "Возобновление раб. потока %[1]s в репозитории %[2]s",
"mail.actions.run_info_ref": "Ветвь: %[1]s (%[2]s)", "mail.actions.run_info_ref": "Ветвь: %[1]s (%[2]s)",
@ -104,6 +104,11 @@
"admin.dashboard.cleanup_offline_runners": "Удалить недоступных исполнителей", "admin.dashboard.cleanup_offline_runners": "Удалить недоступных исполнителей",
"avatar.constraints_hint": "Изображение профиля не может быть более %[1]s и крупнее %[2]dx%[3]d пикселей", "avatar.constraints_hint": "Изображение профиля не может быть более %[1]s и крупнее %[2]dx%[3]d пикселей",
"settings.visibility.description": "Видимость профиля влияет на доступ других до ваших не частных репозиториев. <a href=\"%s\" target=\"_blank\">Подробнее</a>", "settings.visibility.description": "Видимость профиля влияет на доступ других до ваших не частных репозиториев. <a href=\"%s\" target=\"_blank\">Подробнее</a>",
"repo.diff.commit.previous-short": "Предыдущий", "repo.diff.commit.previous-short": "Пред.",
"repo.diff.commit.next-short": "Далее" "repo.diff.commit.next-short": "След.",
"profile.actions.tooltip": "Показать действия",
"feed.atom.link": "Atom-лента",
"keys.ssh.link": "Ключи SSH",
"keys.gpg.link": "Ключи GPG",
"profile.edit.link": "Изменить профиль"
} }

View file

@ -105,5 +105,10 @@
"settings.visibility.description": "Видимість профілю впливає на можливість інших користувачів отримати доступ до ваших неприватних репозиторіїв. <a href=\"%s\" target=\"_blank\">Дізнатися більше</a>", "settings.visibility.description": "Видимість профілю впливає на можливість інших користувачів отримати доступ до ваших неприватних репозиторіїв. <a href=\"%s\" target=\"_blank\">Дізнатися більше</a>",
"avatar.constraints_hint": "Розмір користувацького аватара не може перевищувати %[1]s або бути більшим за %[2]d×%[3]d пікселів", "avatar.constraints_hint": "Розмір користувацького аватара не може перевищувати %[1]s або бути більшим за %[2]d×%[3]d пікселів",
"repo.diff.commit.next-short": "Наступний", "repo.diff.commit.next-short": "Наступний",
"repo.diff.commit.previous-short": "Попередній" "repo.diff.commit.previous-short": "Попередній",
"keys.ssh.link": "Ключі SSH",
"keys.gpg.link": "Ключі GPG",
"profile.edit.link": "Редагувати профіль",
"feed.atom.link": "Стрічка Atom",
"profile.actions.tooltip": "Більше дій"
} }

View file

@ -71,5 +71,12 @@
"editor.textarea.shift_tab_hint": "此行无缩进。再次按 <kbd>Shift</kbd> + <kbd>Tab</kbd> 或按 <kbd>Escape</kbd> 退出编辑器。", "editor.textarea.shift_tab_hint": "此行无缩进。再次按 <kbd>Shift</kbd> + <kbd>Tab</kbd> 或按 <kbd>Escape</kbd> 退出编辑器。",
"admin.dashboard.cleanup_offline_runners": "清理离线运行器", "admin.dashboard.cleanup_offline_runners": "清理离线运行器",
"settings.visibility.description": "个人资料可见性设置会影响他人对您的非私有仓库的访问。<a href=\"%s\" target=\"_blank\">了解更多</a>", "settings.visibility.description": "个人资料可见性设置会影响他人对您的非私有仓库的访问。<a href=\"%s\" target=\"_blank\">了解更多</a>",
"avatar.constraints_hint": "自定义头像大小不得超过 %[1]s或大于 %[2]d×%[3]d 像素" "avatar.constraints_hint": "自定义头像大小不得超过 %[1]s或大于 %[2]d×%[3]d 像素",
"keys.ssh.link": "SSH 密钥",
"keys.gpg.link": "GPG 密钥",
"profile.actions.tooltip": "更多操作",
"repo.diff.commit.next-short": "下个",
"repo.diff.commit.previous-short": "上个",
"feed.atom.link": "Atom 订阅源",
"profile.edit.link": "编辑个人资料"
} }

View file

@ -68,5 +68,10 @@
"moderation.report_abuse_form.details": "這個表單是用來檢舉用戶建立垃圾帳號、儲存庫、問題、留言,或其他不當行為。", "moderation.report_abuse_form.details": "這個表單是用來檢舉用戶建立垃圾帳號、儲存庫、問題、留言,或其他不當行為。",
"moderation.report_abuse_form.invalid": "無效參數", "moderation.report_abuse_form.invalid": "無效參數",
"moderation.report_abuse_form.already_reported": "您已檢舉此內容", "moderation.report_abuse_form.already_reported": "您已檢舉此內容",
"meta.last_line": "Rubi-chan? Hai! Nani ga suki? Choko minto yori mo a・na・ta♡ Ayumu-chan? Hai! Nani ga suki? Sutoroberii fureibaa yori mo a・na・ta♡ Shiki-chan! Hai! Nani ga suki? Kukkii and kuriimu yori mo a・na・ta♡ Minna? Hai! Nani ga suki? Mochiron daisuki AiScReam." "meta.last_line": "Rubi-chan? Hai! Nani ga suki? Choko minto yori mo a・na・ta♡ Ayumu-chan? Hai! Nani ga suki? Sutoroberii fureibaa yori mo a・na・ta♡ Shiki-chan! Hai! Nani ga suki? Kukkii and kuriimu yori mo a・na・ta♡ Minna? Hai! Nani ga suki? Mochiron daisuki AiScReam.",
"admin.dashboard.cleanup_offline_runners": "清理離線 runners",
"settings.visibility.description": "個人資料的可見度會影響他人存取您非私人儲存庫的能力。<a href=\"%s\" target=\"_blank\">了解更多</a>",
"avatar.constraints_hint": "自定義大頭貼的大小不得超過 %[1]s且解析度不得大於 %[2]d×%[3]d 像素",
"repo.diff.commit.next-short": "下一個",
"repo.diff.commit.previous-short": "上一個"
} }

398
package-lock.json generated
View file

@ -32,7 +32,7 @@
"idiomorph": "0.3.0", "idiomorph": "0.3.0",
"jquery": "3.7.1", "jquery": "3.7.1",
"katex": "0.16.22", "katex": "0.16.22",
"mermaid": "11.6.0", "mermaid": "11.7.0",
"mini-css-extract-plugin": "2.9.2", "mini-css-extract-plugin": "2.9.2",
"minimatch": "10.0.3", "minimatch": "10.0.3",
"monaco-editor": "0.52.2", "monaco-editor": "0.52.2",
@ -2088,9 +2088,9 @@
} }
}, },
"node_modules/@mermaid-js/parser": { "node_modules/@mermaid-js/parser": {
"version": "0.4.0", "version": "0.5.0",
"resolved": "https://registry.npmjs.org/@mermaid-js/parser/-/parser-0.4.0.tgz", "resolved": "https://registry.npmjs.org/@mermaid-js/parser/-/parser-0.5.0.tgz",
"integrity": "sha512-wla8XOWvQAwuqy+gxiZqY+c7FokraOTHRWMsbB4AgRx9Sy7zKslNyejy7E+a77qHfey5GXw/ik3IXv/NHMJgaA==", "integrity": "sha512-AiaN7+VjXC+3BYE+GwNezkpjIcCI2qIMB/K4S2/vMWe0q/XJCBbx5+K7iteuz7VyltX9iAK4FmVTvGc9kjOV4w==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"langium": "3.3.1" "langium": "3.3.1"
@ -2269,9 +2269,9 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/@rollup/rollup-android-arm-eabi": { "node_modules/@rollup/rollup-android-arm-eabi": {
"version": "4.43.0", "version": "4.44.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.43.0.tgz", "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.44.0.tgz",
"integrity": "sha512-Krjy9awJl6rKbruhQDgivNbD1WuLb8xAclM4IR4cN5pHGAs2oIMMQJEiC3IC/9TZJ+QZkmZhlMO/6MBGxPidpw==", "integrity": "sha512-xEiEE5oDW6tK4jXCAyliuntGR+amEMO7HLtdSshVuhFnKTYoeYMyXQK7pLouAJJj5KHdwdn87bfHAR2nSdNAUA==",
"cpu": [ "cpu": [
"arm" "arm"
], ],
@ -2283,9 +2283,9 @@
] ]
}, },
"node_modules/@rollup/rollup-android-arm64": { "node_modules/@rollup/rollup-android-arm64": {
"version": "4.43.0", "version": "4.44.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.43.0.tgz", "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.44.0.tgz",
"integrity": "sha512-ss4YJwRt5I63454Rpj+mXCXicakdFmKnUNxr1dLK+5rv5FJgAxnN7s31a5VchRYxCFWdmnDWKd0wbAdTr0J5EA==", "integrity": "sha512-uNSk/TgvMbskcHxXYHzqwiyBlJ/lGcv8DaUfcnNwict8ba9GTTNxfn3/FAoFZYgkaXXAdrAA+SLyKplyi349Jw==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@ -2297,9 +2297,9 @@
] ]
}, },
"node_modules/@rollup/rollup-darwin-arm64": { "node_modules/@rollup/rollup-darwin-arm64": {
"version": "4.43.0", "version": "4.44.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.43.0.tgz", "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.44.0.tgz",
"integrity": "sha512-eKoL8ykZ7zz8MjgBenEF2OoTNFAPFz1/lyJ5UmmFSz5jW+7XbH1+MAgCVHy72aG59rbuQLcJeiMrP8qP5d/N0A==", "integrity": "sha512-VGF3wy0Eq1gcEIkSCr8Ke03CWT+Pm2yveKLaDvq51pPpZza3JX/ClxXOCmTYYq3us5MvEuNRTaeyFThCKRQhOA==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@ -2311,9 +2311,9 @@
] ]
}, },
"node_modules/@rollup/rollup-darwin-x64": { "node_modules/@rollup/rollup-darwin-x64": {
"version": "4.43.0", "version": "4.44.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.43.0.tgz", "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.44.0.tgz",
"integrity": "sha512-SYwXJgaBYW33Wi/q4ubN+ldWC4DzQY62S4Ll2dgfr/dbPoF50dlQwEaEHSKrQdSjC6oIe1WgzosoaNoHCdNuMg==", "integrity": "sha512-fBkyrDhwquRvrTxSGH/qqt3/T0w5Rg0L7ZIDypvBPc1/gzjJle6acCpZ36blwuwcKD/u6oCE/sRWlUAcxLWQbQ==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@ -2325,9 +2325,9 @@
] ]
}, },
"node_modules/@rollup/rollup-freebsd-arm64": { "node_modules/@rollup/rollup-freebsd-arm64": {
"version": "4.43.0", "version": "4.44.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.43.0.tgz", "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.44.0.tgz",
"integrity": "sha512-SV+U5sSo0yujrjzBF7/YidieK2iF6E7MdF6EbYxNz94lA+R0wKl3SiixGyG/9Klab6uNBIqsN7j4Y/Fya7wAjQ==", "integrity": "sha512-u5AZzdQJYJXByB8giQ+r4VyfZP+walV+xHWdaFx/1VxsOn6eWJhK2Vl2eElvDJFKQBo/hcYIBg/jaKS8ZmKeNQ==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@ -2339,9 +2339,9 @@
] ]
}, },
"node_modules/@rollup/rollup-freebsd-x64": { "node_modules/@rollup/rollup-freebsd-x64": {
"version": "4.43.0", "version": "4.44.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.43.0.tgz", "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.44.0.tgz",
"integrity": "sha512-J7uCsiV13L/VOeHJBo5SjasKiGxJ0g+nQTrBkAsmQBIdil3KhPnSE9GnRon4ejX1XDdsmK/l30IYLiAaQEO0Cg==", "integrity": "sha512-qC0kS48c/s3EtdArkimctY7h3nHicQeEUdjJzYVJYR3ct3kWSafmn6jkNCA8InbUdge6PVx6keqjk5lVGJf99g==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@ -2353,9 +2353,9 @@
] ]
}, },
"node_modules/@rollup/rollup-linux-arm-gnueabihf": { "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
"version": "4.43.0", "version": "4.44.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.43.0.tgz", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.44.0.tgz",
"integrity": "sha512-gTJ/JnnjCMc15uwB10TTATBEhK9meBIY+gXP4s0sHD1zHOaIh4Dmy1X9wup18IiY9tTNk5gJc4yx9ctj/fjrIw==", "integrity": "sha512-x+e/Z9H0RAWckn4V2OZZl6EmV0L2diuX3QB0uM1r6BvhUIv6xBPL5mrAX2E3e8N8rEHVPwFfz/ETUbV4oW9+lQ==",
"cpu": [ "cpu": [
"arm" "arm"
], ],
@ -2367,9 +2367,9 @@
] ]
}, },
"node_modules/@rollup/rollup-linux-arm-musleabihf": { "node_modules/@rollup/rollup-linux-arm-musleabihf": {
"version": "4.43.0", "version": "4.44.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.43.0.tgz", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.44.0.tgz",
"integrity": "sha512-ZJ3gZynL1LDSIvRfz0qXtTNs56n5DI2Mq+WACWZ7yGHFUEirHBRt7fyIk0NsCKhmRhn7WAcjgSkSVVxKlPNFFw==", "integrity": "sha512-1exwiBFf4PU/8HvI8s80icyCcnAIB86MCBdst51fwFmH5dyeoWVPVgmQPcKrMtBQ0W5pAs7jBCWuRXgEpRzSCg==",
"cpu": [ "cpu": [
"arm" "arm"
], ],
@ -2381,9 +2381,9 @@
] ]
}, },
"node_modules/@rollup/rollup-linux-arm64-gnu": { "node_modules/@rollup/rollup-linux-arm64-gnu": {
"version": "4.43.0", "version": "4.44.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.43.0.tgz", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.44.0.tgz",
"integrity": "sha512-8FnkipasmOOSSlfucGYEu58U8cxEdhziKjPD2FIa0ONVMxvl/hmONtX/7y4vGjdUhjcTHlKlDhw3H9t98fPvyA==", "integrity": "sha512-ZTR2mxBHb4tK4wGf9b8SYg0Y6KQPjGpR4UWwTFdnmjB4qRtoATZ5dWn3KsDwGa5Z2ZBOE7K52L36J9LueKBdOQ==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@ -2395,9 +2395,9 @@
] ]
}, },
"node_modules/@rollup/rollup-linux-arm64-musl": { "node_modules/@rollup/rollup-linux-arm64-musl": {
"version": "4.43.0", "version": "4.44.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.43.0.tgz", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.44.0.tgz",
"integrity": "sha512-KPPyAdlcIZ6S9C3S2cndXDkV0Bb1OSMsX0Eelr2Bay4EsF9yi9u9uzc9RniK3mcUGCLhWY9oLr6er80P5DE6XA==", "integrity": "sha512-GFWfAhVhWGd4r6UxmnKRTBwP1qmModHtd5gkraeW2G490BpFOZkFtem8yuX2NyafIP/mGpRJgTJ2PwohQkUY/Q==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@ -2409,9 +2409,9 @@
] ]
}, },
"node_modules/@rollup/rollup-linux-loongarch64-gnu": { "node_modules/@rollup/rollup-linux-loongarch64-gnu": {
"version": "4.43.0", "version": "4.44.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.43.0.tgz", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.44.0.tgz",
"integrity": "sha512-HPGDIH0/ZzAZjvtlXj6g+KDQ9ZMHfSP553za7o2Odegb/BEfwJcR0Sw0RLNpQ9nC6Gy8s+3mSS9xjZ0n3rhcYg==", "integrity": "sha512-xw+FTGcov/ejdusVOqKgMGW3c4+AgqrfvzWEVXcNP6zq2ue+lsYUgJ+5Rtn/OTJf7e2CbgTFvzLW2j0YAtj0Gg==",
"cpu": [ "cpu": [
"loong64" "loong64"
], ],
@ -2423,9 +2423,9 @@
] ]
}, },
"node_modules/@rollup/rollup-linux-powerpc64le-gnu": { "node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
"version": "4.43.0", "version": "4.44.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.43.0.tgz", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.44.0.tgz",
"integrity": "sha512-gEmwbOws4U4GLAJDhhtSPWPXUzDfMRedT3hFMyRAvM9Mrnj+dJIFIeL7otsv2WF3D7GrV0GIewW0y28dOYWkmw==", "integrity": "sha512-bKGibTr9IdF0zr21kMvkZT4K6NV+jjRnBoVMt2uNMG0BYWm3qOVmYnXKzx7UhwrviKnmK46IKMByMgvpdQlyJQ==",
"cpu": [ "cpu": [
"ppc64" "ppc64"
], ],
@ -2437,9 +2437,9 @@
] ]
}, },
"node_modules/@rollup/rollup-linux-riscv64-gnu": { "node_modules/@rollup/rollup-linux-riscv64-gnu": {
"version": "4.43.0", "version": "4.44.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.43.0.tgz", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.44.0.tgz",
"integrity": "sha512-XXKvo2e+wFtXZF/9xoWohHg+MuRnvO29TI5Hqe9xwN5uN8NKUYy7tXUG3EZAlfchufNCTHNGjEx7uN78KsBo0g==", "integrity": "sha512-vV3cL48U5kDaKZtXrti12YRa7TyxgKAIDoYdqSIOMOFBXqFj2XbChHAtXquEn2+n78ciFgr4KIqEbydEGPxXgA==",
"cpu": [ "cpu": [
"riscv64" "riscv64"
], ],
@ -2451,9 +2451,9 @@
] ]
}, },
"node_modules/@rollup/rollup-linux-riscv64-musl": { "node_modules/@rollup/rollup-linux-riscv64-musl": {
"version": "4.43.0", "version": "4.44.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.43.0.tgz", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.44.0.tgz",
"integrity": "sha512-ruf3hPWhjw6uDFsOAzmbNIvlXFXlBQ4nk57Sec8E8rUxs/AI4HD6xmiiasOOx/3QxS2f5eQMKTAwk7KHwpzr/Q==", "integrity": "sha512-TDKO8KlHJuvTEdfw5YYFBjhFts2TR0VpZsnLLSYmB7AaohJhM8ctDSdDnUGq77hUh4m/djRafw+9zQpkOanE2Q==",
"cpu": [ "cpu": [
"riscv64" "riscv64"
], ],
@ -2465,9 +2465,9 @@
] ]
}, },
"node_modules/@rollup/rollup-linux-s390x-gnu": { "node_modules/@rollup/rollup-linux-s390x-gnu": {
"version": "4.43.0", "version": "4.44.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.43.0.tgz", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.44.0.tgz",
"integrity": "sha512-QmNIAqDiEMEvFV15rsSnjoSmO0+eJLoKRD9EAa9rrYNwO/XRCtOGM3A5A0X+wmG+XRrw9Fxdsw+LnyYiZWWcVw==", "integrity": "sha512-8541GEyktXaw4lvnGp9m84KENcxInhAt6vPWJ9RodsB/iGjHoMB2Pp5MVBCiKIRxrxzJhGCxmNzdu+oDQ7kwRA==",
"cpu": [ "cpu": [
"s390x" "s390x"
], ],
@ -2479,9 +2479,9 @@
] ]
}, },
"node_modules/@rollup/rollup-linux-x64-gnu": { "node_modules/@rollup/rollup-linux-x64-gnu": {
"version": "4.43.0", "version": "4.44.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.43.0.tgz", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.44.0.tgz",
"integrity": "sha512-jAHr/S0iiBtFyzjhOkAics/2SrXE092qyqEg96e90L3t9Op8OTzS6+IX0Fy5wCt2+KqeHAkti+eitV0wvblEoQ==", "integrity": "sha512-iUVJc3c0o8l9Sa/qlDL2Z9UP92UZZW1+EmQ4xfjTc1akr0iUFZNfxrXJ/R1T90h/ILm9iXEY6+iPrmYB3pXKjw==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@ -2493,9 +2493,9 @@
] ]
}, },
"node_modules/@rollup/rollup-linux-x64-musl": { "node_modules/@rollup/rollup-linux-x64-musl": {
"version": "4.43.0", "version": "4.44.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.43.0.tgz", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.44.0.tgz",
"integrity": "sha512-3yATWgdeXyuHtBhrLt98w+5fKurdqvs8B53LaoKD7P7H7FKOONLsBVMNl9ghPQZQuYcceV5CDyPfyfGpMWD9mQ==", "integrity": "sha512-PQUobbhLTQT5yz/SPg116VJBgz+XOtXt8D1ck+sfJJhuEsMj2jSej5yTdp8CvWBSceu+WW+ibVL6dm0ptG5fcA==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@ -2507,9 +2507,9 @@
] ]
}, },
"node_modules/@rollup/rollup-win32-arm64-msvc": { "node_modules/@rollup/rollup-win32-arm64-msvc": {
"version": "4.43.0", "version": "4.44.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.43.0.tgz", "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.44.0.tgz",
"integrity": "sha512-wVzXp2qDSCOpcBCT5WRWLmpJRIzv23valvcTwMHEobkjippNf+C3ys/+wf07poPkeNix0paTNemB2XrHr2TnGw==", "integrity": "sha512-M0CpcHf8TWn+4oTxJfh7LQuTuaYeXGbk0eageVjQCKzYLsajWS/lFC94qlRqOlyC2KvRT90ZrfXULYmukeIy7w==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@ -2521,9 +2521,9 @@
] ]
}, },
"node_modules/@rollup/rollup-win32-ia32-msvc": { "node_modules/@rollup/rollup-win32-ia32-msvc": {
"version": "4.43.0", "version": "4.44.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.43.0.tgz", "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.44.0.tgz",
"integrity": "sha512-fYCTEyzf8d+7diCw8b+asvWDCLMjsCEA8alvtAutqJOJp/wL5hs1rWSqJ1vkjgW0L2NB4bsYJrpKkiIPRR9dvw==", "integrity": "sha512-3XJ0NQtMAXTWFW8FqZKcw3gOQwBtVWP/u8TpHP3CRPXD7Pd6s8lLdH3sHWh8vqKCyyiI8xW5ltJScQmBU9j7WA==",
"cpu": [ "cpu": [
"ia32" "ia32"
], ],
@ -2535,9 +2535,9 @@
] ]
}, },
"node_modules/@rollup/rollup-win32-x64-msvc": { "node_modules/@rollup/rollup-win32-x64-msvc": {
"version": "4.43.0", "version": "4.44.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.43.0.tgz", "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.44.0.tgz",
"integrity": "sha512-SnGhLiE5rlK0ofq8kzuDkM0g7FN1s5VYY+YSMTibP7CqShxCQvqtNxTARS4xX4PFJfHjG0ZQYX9iGzI3FQh5Aw==", "integrity": "sha512-Q2Mgwt+D8hd5FIPUuPDsvPR7Bguza6yTkJxspDGkZj7tBRn2y4KSWYuIXpftFSjBra76TbKerCV7rgFPQrn+wQ==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@ -3509,9 +3509,9 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/@types/node": { "node_modules/@types/node": {
"version": "20.19.0", "version": "20.19.1",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.0.tgz", "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.1.tgz",
"integrity": "sha512-hfrc+1tud1xcdVTABC2JiomZJEklMcXYNTVtZLAeqTVWD+qL5jkHKT+1lOtqDdGxt+mB53DTtiz673vfjU8D1Q==", "integrity": "sha512-jJD50LtlD2dodAEO653i3YF04NWak6jN3ky+Ri3Em3mGR39/glWiboM/IePaRbgwSfqM1TpGXfAg8ohn/4dTgA==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"undici-types": "~6.21.0" "undici-types": "~6.21.0"
@ -3825,9 +3825,9 @@
} }
}, },
"node_modules/@unrs/resolver-binding-android-arm-eabi": { "node_modules/@unrs/resolver-binding-android-arm-eabi": {
"version": "1.9.0", "version": "1.9.1",
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.9.0.tgz", "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.9.1.tgz",
"integrity": "sha512-h1T2c2Di49ekF2TE8ZCoJkb+jwETKUIPDJ/nO3tJBKlLFPu+fyd93f0rGP/BvArKx2k2HlRM4kqkNarj3dvZlg==", "integrity": "sha512-dd7yIp1hfJFX9ZlVLQRrh/Re9WMUHHmF9hrKD1yIvxcyNr2BhQ3xc1upAVhy8NijadnCswAxWQu8MkkSMC1qXQ==",
"cpu": [ "cpu": [
"arm" "arm"
], ],
@ -3839,9 +3839,9 @@
] ]
}, },
"node_modules/@unrs/resolver-binding-android-arm64": { "node_modules/@unrs/resolver-binding-android-arm64": {
"version": "1.9.0", "version": "1.9.1",
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.9.0.tgz", "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.9.1.tgz",
"integrity": "sha512-sG1NHtgXtX8owEkJ11yn34vt0Xqzi3k9TJ8zppDmyG8GZV4kVWw44FHwKwHeEFl07uKPeC4ZoyuQaGh5ruJYPA==", "integrity": "sha512-EzUPcMFtDVlo5yrbzMqUsGq3HnLXw+3ZOhSd7CUaDmbTtnrzM+RO2ntw2dm2wjbbc5djWj3yX0wzbbg8pLhx8g==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@ -3853,9 +3853,9 @@
] ]
}, },
"node_modules/@unrs/resolver-binding-darwin-arm64": { "node_modules/@unrs/resolver-binding-darwin-arm64": {
"version": "1.9.0", "version": "1.9.1",
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.9.0.tgz", "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.9.1.tgz",
"integrity": "sha512-nJ9z47kfFnCxN1z/oYZS7HSNsFh43y2asePzTEZpEvK7kGyuShSl3RRXnm/1QaqFL+iP+BjMwuB+DYUymOkA5A==", "integrity": "sha512-nB+dna3q4kOleKFcSZJ/wDXIsAd1kpMO9XrVAt8tG3RDWJ6vi+Ic6bpz4cmg5tWNeCfHEY4KuqJCB+pKejPEmQ==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@ -3867,9 +3867,9 @@
] ]
}, },
"node_modules/@unrs/resolver-binding-darwin-x64": { "node_modules/@unrs/resolver-binding-darwin-x64": {
"version": "1.9.0", "version": "1.9.1",
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.9.0.tgz", "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.9.1.tgz",
"integrity": "sha512-TK+UA1TTa0qS53rjWn7cVlEKVGz2B6JYe0C++TdQjvWYIyx83ruwh0wd4LRxYBM5HeuAzXcylA9BH2trARXJTw==", "integrity": "sha512-aKWHCrOGaCGwZcekf3TnczQoBxk5w//W3RZ4EQyhux6rKDwBPgDU9Y2yGigCV1Z+8DWqZgVGQi+hdpnlSy3a1w==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@ -3881,9 +3881,9 @@
] ]
}, },
"node_modules/@unrs/resolver-binding-freebsd-x64": { "node_modules/@unrs/resolver-binding-freebsd-x64": {
"version": "1.9.0", "version": "1.9.1",
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.9.0.tgz", "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.9.1.tgz",
"integrity": "sha512-6uZwzMRFcD7CcCd0vz3Hp+9qIL2jseE/bx3ZjaLwn8t714nYGwiE84WpaMCYjU+IQET8Vu/+BNAGtYD7BG/0yA==", "integrity": "sha512-4dIEMXrXt0UqDVgrsUd1I+NoIzVQWXy/CNhgpfS75rOOMK/4Abn0Mx2M2gWH4Mk9+ds/ASAiCmqoUFynmMY5hA==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@ -3895,9 +3895,9 @@
] ]
}, },
"node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": {
"version": "1.9.0", "version": "1.9.1",
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.9.0.tgz", "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.9.1.tgz",
"integrity": "sha512-bPUBksQfrgcfv2+mm+AZinaKq8LCFvt5PThYqRotqSuuZK1TVKkhbVMS/jvSRfYl7jr3AoZLYbDkItxgqMKRkg==", "integrity": "sha512-vtvS13IXPs1eE8DuS/soiosqMBeyh50YLRZ+p7EaIKAPPeevRnA9G/wu/KbVt01ZD5qiGjxS+CGIdVC7I6gTOw==",
"cpu": [ "cpu": [
"arm" "arm"
], ],
@ -3909,9 +3909,9 @@
] ]
}, },
"node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": {
"version": "1.9.0", "version": "1.9.1",
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.9.0.tgz", "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.9.1.tgz",
"integrity": "sha512-uT6E7UBIrTdCsFQ+y0tQd3g5oudmrS/hds5pbU3h4s2t/1vsGWbbSKhBSCD9mcqaqkBwoqlECpUrRJCmldl8PA==", "integrity": "sha512-BfdnN6aZ7NcX8djW8SR6GOJc+K+sFhWRF4vJueVE0vbUu5N1bLnBpxJg1TGlhSyo+ImC4SR0jcNiKN0jdoxt+A==",
"cpu": [ "cpu": [
"arm" "arm"
], ],
@ -3923,9 +3923,9 @@
] ]
}, },
"node_modules/@unrs/resolver-binding-linux-arm64-gnu": { "node_modules/@unrs/resolver-binding-linux-arm64-gnu": {
"version": "1.9.0", "version": "1.9.1",
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.9.0.tgz", "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.9.1.tgz",
"integrity": "sha512-vdqBh911wc5awE2bX2zx3eflbyv8U9xbE/jVKAm425eRoOVv/VseGZsqi3A3SykckSpF4wSROkbQPvbQFn8EsA==", "integrity": "sha512-Jhge7lFtH0QqfRz2PyJjJXWENqywPteITd+nOS0L6AhbZli+UmEyGBd2Sstt1c+l9C+j/YvKTl9wJo9PPmsFNg==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@ -3937,9 +3937,9 @@
] ]
}, },
"node_modules/@unrs/resolver-binding-linux-arm64-musl": { "node_modules/@unrs/resolver-binding-linux-arm64-musl": {
"version": "1.9.0", "version": "1.9.1",
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.9.0.tgz", "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.9.1.tgz",
"integrity": "sha512-/8JFZ/SnuDr1lLEVsxsuVwrsGquTvT51RZGvyDB/dOK3oYK2UqeXzgeyq6Otp8FZXQcEYqJwxb9v+gtdXn03eQ==", "integrity": "sha512-ofdK/ow+ZSbSU0pRoB7uBaiRHeaAOYQFU5Spp87LdcPL/P1RhbCTMSIYVb61XWzsVEmYKjHFtoIE0wxP6AFvrA==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@ -3951,9 +3951,9 @@
] ]
}, },
"node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": {
"version": "1.9.0", "version": "1.9.1",
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.9.0.tgz", "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.9.1.tgz",
"integrity": "sha512-FkJjybtrl+rajTw4loI3L6YqSOpeZfDls4SstL/5lsP2bka9TiHUjgMBjygeZEis1oC8LfJTS8FSgpKPaQx2tQ==", "integrity": "sha512-eC8SXVn8de67HacqU7PoGdHA+9tGbqfEdD05AEFRAB81ejeQtNi5Fx7lPcxpLH79DW0BnMAHau3hi4RVkHfSCw==",
"cpu": [ "cpu": [
"ppc64" "ppc64"
], ],
@ -3965,9 +3965,9 @@
] ]
}, },
"node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": {
"version": "1.9.0", "version": "1.9.1",
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.9.0.tgz", "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.9.1.tgz",
"integrity": "sha512-w/NZfHNeDusbqSZ8r/hp8iL4S39h4+vQMc9/vvzuIKMWKppyUGKm3IST0Qv0aOZ1rzIbl9SrDeIqK86ZpUK37w==", "integrity": "sha512-fIkwvAAQ41kfoGWfzeJ33iLGShl0JEDZHrMnwTHMErUcPkaaZRJYjQjsFhMl315NEQ4mmTlC+2nfK/J2IszDOw==",
"cpu": [ "cpu": [
"riscv64" "riscv64"
], ],
@ -3979,9 +3979,9 @@
] ]
}, },
"node_modules/@unrs/resolver-binding-linux-riscv64-musl": { "node_modules/@unrs/resolver-binding-linux-riscv64-musl": {
"version": "1.9.0", "version": "1.9.1",
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.9.0.tgz", "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.9.1.tgz",
"integrity": "sha512-bEPBosut8/8KQbUixPry8zg/fOzVOWyvwzOfz0C0Rw6dp+wIBseyiHKjkcSyZKv/98edrbMknBaMNJfA/UEdqw==", "integrity": "sha512-RAAszxImSOFLk44aLwnSqpcOdce8sBcxASledSzuFAd8Q5ZhhVck472SisspnzHdc7THCvGXiUeZ2hOC7NUoBQ==",
"cpu": [ "cpu": [
"riscv64" "riscv64"
], ],
@ -3993,9 +3993,9 @@
] ]
}, },
"node_modules/@unrs/resolver-binding-linux-s390x-gnu": { "node_modules/@unrs/resolver-binding-linux-s390x-gnu": {
"version": "1.9.0", "version": "1.9.1",
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.9.0.tgz", "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.9.1.tgz",
"integrity": "sha512-LDtMT7moE3gK753gG4pc31AAqGUC86j3AplaFusc717EUGF9ZFJ356sdQzzZzkBk1XzMdxFyZ4f/i35NKM/lFA==", "integrity": "sha512-QoP9vkY+THuQdZi05bA6s6XwFd6HIz3qlx82v9bTOgxeqin/3C12Ye7f7EOD00RQ36OtOPWnhEMMm84sv7d1XQ==",
"cpu": [ "cpu": [
"s390x" "s390x"
], ],
@ -4007,9 +4007,9 @@
] ]
}, },
"node_modules/@unrs/resolver-binding-linux-x64-gnu": { "node_modules/@unrs/resolver-binding-linux-x64-gnu": {
"version": "1.9.0", "version": "1.9.1",
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.9.0.tgz", "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.9.1.tgz",
"integrity": "sha512-WmFd5KINHIXj8o1mPaT8QRjA9HgSXhN1gl9Da4IZihARihEnOylu4co7i/yeaIpcfsI6sYs33cNZKyHYDh0lrA==", "integrity": "sha512-/p77cGN/h9zbsfCseAP5gY7tK+7+DdM8fkPfr9d1ye1fsF6bmtGbtZN6e/8j4jCZ9NEIBBkT0GhdgixSelTK9g==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@ -4021,9 +4021,9 @@
] ]
}, },
"node_modules/@unrs/resolver-binding-linux-x64-musl": { "node_modules/@unrs/resolver-binding-linux-x64-musl": {
"version": "1.9.0", "version": "1.9.1",
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.9.0.tgz", "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.9.1.tgz",
"integrity": "sha512-CYuXbANW+WgzVRIl8/QvZmDaZxrqvOldOwlbUjIM4pQ46FJ0W5cinJ/Ghwa/Ng1ZPMJMk1VFdsD/XwmCGIXBWg==", "integrity": "sha512-wInTqT3Bu9u50mDStEig1v8uxEL2Ht+K8pir/YhyyrM5ordJtxoqzsL1vR/CQzOJuDunUTrDkMM0apjW/d7/PA==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@ -4035,9 +4035,9 @@
] ]
}, },
"node_modules/@unrs/resolver-binding-wasm32-wasi": { "node_modules/@unrs/resolver-binding-wasm32-wasi": {
"version": "1.9.0", "version": "1.9.1",
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.9.0.tgz", "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.9.1.tgz",
"integrity": "sha512-6Rp2WH0OoitMYR57Z6VE8Y6corX8C6QEMWLgOV6qXiJIeZ1F9WGXY/yQ8yDC4iTraotyLOeJ2Asea0urWj2fKQ==", "integrity": "sha512-eNwqO5kUa+1k7yFIircwwiniKWA0UFHo2Cfm8LYgkh9km7uMad+0x7X7oXbQonJXlqfitBTSjhA0un+DsHIrhw==",
"cpu": [ "cpu": [
"wasm32" "wasm32"
], ],
@ -4052,9 +4052,9 @@
} }
}, },
"node_modules/@unrs/resolver-binding-win32-arm64-msvc": { "node_modules/@unrs/resolver-binding-win32-arm64-msvc": {
"version": "1.9.0", "version": "1.9.1",
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.9.0.tgz", "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.9.1.tgz",
"integrity": "sha512-rknkrTRuvujprrbPmGeHi8wYWxmNVlBoNW8+4XF2hXUnASOjmuC9FNF1tGbDiRQWn264q9U/oGtixyO3BT8adQ==", "integrity": "sha512-Eaz1xMUnoa2mFqh20mPqSdbYl6crnk8HnIXDu6nsla9zpgZJZO8w3c1gvNN/4Eb0RXRq3K9OG6mu8vw14gIqiA==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@ -4066,9 +4066,9 @@
] ]
}, },
"node_modules/@unrs/resolver-binding-win32-ia32-msvc": { "node_modules/@unrs/resolver-binding-win32-ia32-msvc": {
"version": "1.9.0", "version": "1.9.1",
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.9.0.tgz", "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.9.1.tgz",
"integrity": "sha512-Ceymm+iBl+bgAICtgiHyMLz6hjxmLJKqBim8tDzpX61wpZOx2bPK6Gjuor7I2RiUynVjvvkoRIkrPyMwzBzF3A==", "integrity": "sha512-H/+d+5BGlnEQif0gnwWmYbYv7HJj563PUKJfn8PlmzF8UmF+8KxdvXdwCsoOqh4HHnENnoLrav9NYBrv76x1wQ==",
"cpu": [ "cpu": [
"ia32" "ia32"
], ],
@ -4080,9 +4080,9 @@
] ]
}, },
"node_modules/@unrs/resolver-binding-win32-x64-msvc": { "node_modules/@unrs/resolver-binding-win32-x64-msvc": {
"version": "1.9.0", "version": "1.9.1",
"resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.9.0.tgz", "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.9.1.tgz",
"integrity": "sha512-k59o9ZyeyS0hAlcaKFezYSH2agQeRFEB7KoQLXl3Nb3rgkqT1NY9Vwy+SqODiLmYnEjxWJVRE/yq2jFVqdIxZw==", "integrity": "sha512-rS86wI4R6cknYM3is3grCb/laE8XBEbpWAMSIPjYfmYp75KL5dT87jXF2orDa4tQYg5aajP5G8Fgh34dRyR+Rw==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@ -5346,9 +5346,9 @@
} }
}, },
"node_modules/caniuse-lite": { "node_modules/caniuse-lite": {
"version": "1.0.30001723", "version": "1.0.30001724",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001723.tgz", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001724.tgz",
"integrity": "sha512-1R/elMjtehrFejxwmexeXAtae5UO9iSyFn6G/I806CYC/BLyyBk1EPhrKBkWhy6wM6Xnm47dSJQec+tLJ39WHw==", "integrity": "sha512-WqJo7p0TbHDOythNTqYujmaJTvtYRZrjpP8TCvH6Vb9CYJerJNKamKzIWOM4BkQatWj9H2lYulpdAQNBe7QhNA==",
"funding": [ "funding": [
{ {
"type": "opencollective", "type": "opencollective",
@ -6916,9 +6916,9 @@
} }
}, },
"node_modules/electron-to-chromium": { "node_modules/electron-to-chromium": {
"version": "1.5.167", "version": "1.5.171",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.167.tgz", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.171.tgz",
"integrity": "sha512-LxcRvnYO5ez2bMOFpbuuVuAI5QNeY1ncVytE/KXaL6ZNfzX1yPlAO0nSOyIHx2fVAuUprMqPs/TdVhUFZy7SIQ==", "integrity": "sha512-scWpzXEJEMrGJa4Y6m/tVotb0WuvNmasv3wWVzUAeCgKU0ToFOhUW6Z+xWnRQANMYGxN4ngJXIThgBJOqzVPCQ==",
"license": "ISC" "license": "ISC"
}, },
"node_modules/emoji-regex": { "node_modules/emoji-regex": {
@ -7927,9 +7927,9 @@
} }
}, },
"node_modules/exsolve": { "node_modules/exsolve": {
"version": "1.0.5", "version": "1.0.7",
"resolved": "https://registry.npmjs.org/exsolve/-/exsolve-1.0.5.tgz", "resolved": "https://registry.npmjs.org/exsolve/-/exsolve-1.0.7.tgz",
"integrity": "sha512-pz5dvkYYKQ1AHVrgOzBKWeP4u4FRb3a6DNK2ucr0OoNwYIU4QWsJ+NM36LLzORT+z845MzKHHhpXiUF5nvQoJg==", "integrity": "sha512-VO5fQUzZtI6C+vx4w/4BWJpg3s/5l+6pRQEHzFRM8WFi4XffSP1Z+4qi7GbjWbvRQEbdIco5mIMq+zX4rPuLrw==",
"license": "MIT" "license": "MIT"
}, },
"node_modules/fast-deep-equal": { "node_modules/fast-deep-equal": {
@ -10251,9 +10251,9 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/loupe": { "node_modules/loupe": {
"version": "3.1.3", "version": "3.1.4",
"resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.3.tgz", "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.4.tgz",
"integrity": "sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==", "integrity": "sha512-wJzkKwJrheKtknCOKNEtDK4iqg/MxmZheEMtSTYvnzRdEYaZzmgH976nenp8WdJRdx5Vc1X/9MO0Oszl6ezeXg==",
"dev": true, "dev": true,
"license": "MIT" "license": "MIT"
}, },
@ -10562,14 +10562,14 @@
} }
}, },
"node_modules/mermaid": { "node_modules/mermaid": {
"version": "11.6.0", "version": "11.7.0",
"resolved": "https://registry.npmjs.org/mermaid/-/mermaid-11.6.0.tgz", "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-11.7.0.tgz",
"integrity": "sha512-PE8hGUy1LDlWIHWBP05SFdqUHGmRcCcK4IzpOKPE35eOw+G9zZgcnMpyunJVUEOgb//KBORPjysKndw8bFLuRg==", "integrity": "sha512-/1/5R0rt0Z1Ak0CuznAnCF3HtQgayRXUz6SguzOwN4L+DuCobz0UxnQ+ZdTSZ3AugKVVh78tiVmsHpHWV25TCw==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@braintree/sanitize-url": "^7.0.4", "@braintree/sanitize-url": "^7.0.4",
"@iconify/utils": "^2.1.33", "@iconify/utils": "^2.1.33",
"@mermaid-js/parser": "^0.4.0", "@mermaid-js/parser": "^0.5.0",
"@types/d3": "^7.4.3", "@types/d3": "^7.4.3",
"cytoscape": "^3.29.3", "cytoscape": "^3.29.3",
"cytoscape-cose-bilkent": "^4.1.0", "cytoscape-cose-bilkent": "^4.1.0",
@ -10578,7 +10578,7 @@
"d3-sankey": "^0.12.3", "d3-sankey": "^0.12.3",
"dagre-d3-es": "7.0.11", "dagre-d3-es": "7.0.11",
"dayjs": "^1.11.13", "dayjs": "^1.11.13",
"dompurify": "^3.2.4", "dompurify": "^3.2.5",
"katex": "^0.16.9", "katex": "^0.16.9",
"khroma": "^2.1.0", "khroma": "^2.1.0",
"lodash-es": "^4.17.21", "lodash-es": "^4.17.21",
@ -14376,9 +14376,9 @@
} }
}, },
"node_modules/terser": { "node_modules/terser": {
"version": "5.42.0", "version": "5.43.1",
"resolved": "https://registry.npmjs.org/terser/-/terser-5.42.0.tgz", "resolved": "https://registry.npmjs.org/terser/-/terser-5.43.1.tgz",
"integrity": "sha512-UYCvU9YQW2f/Vwl+P0GfhxJxbUGLwd+5QrrGgLajzWAtC/23AX0vcise32kkP7Eu0Wu9VlzzHAXkLObgjQfFlQ==", "integrity": "sha512-+6erLbBm0+LROX2sPXlUYx/ux5PyE9K/a92Wrt6oA+WDAoFTdpHE5tCYCI5PNzq2y8df4rA+QgHLJuR4jNymsg==",
"license": "BSD-2-Clause", "license": "BSD-2-Clause",
"dependencies": { "dependencies": {
"@jridgewell/source-map": "^0.3.3", "@jridgewell/source-map": "^0.3.3",
@ -14611,9 +14611,9 @@
} }
}, },
"node_modules/tinypool": { "node_modules/tinypool": {
"version": "1.1.0", "version": "1.1.1",
"resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.1.0.tgz", "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz",
"integrity": "sha512-7CotroY9a8DKsKprEy/a14aCCm8jYVmR7aFy4fpkZM8sdpNJbKkixuNjgM50yCmip2ezc8z4N7k3oe2+rfRJCQ==", "integrity": "sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"engines": { "engines": {
@ -14955,9 +14955,9 @@
} }
}, },
"node_modules/unrs-resolver": { "node_modules/unrs-resolver": {
"version": "1.9.0", "version": "1.9.1",
"resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.9.0.tgz", "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.9.1.tgz",
"integrity": "sha512-wqaRu4UnzBD2ABTC1kLfBjAqIDZ5YUTr/MLGa7By47JV1bJDSW7jq/ZSLigB7enLe7ubNaJhtnBXgrc/50cEhg==", "integrity": "sha512-4AZVxP05JGN6DwqIkSP4VKLOcwQa5l37SWHF/ahcuqBMbfxbpN1L1QKafEhWCziHhzKex9H/AR09H0OuVyU+9g==",
"dev": true, "dev": true,
"hasInstallScript": true, "hasInstallScript": true,
"license": "MIT", "license": "MIT",
@ -14968,25 +14968,25 @@
"url": "https://opencollective.com/unrs-resolver" "url": "https://opencollective.com/unrs-resolver"
}, },
"optionalDependencies": { "optionalDependencies": {
"@unrs/resolver-binding-android-arm-eabi": "1.9.0", "@unrs/resolver-binding-android-arm-eabi": "1.9.1",
"@unrs/resolver-binding-android-arm64": "1.9.0", "@unrs/resolver-binding-android-arm64": "1.9.1",
"@unrs/resolver-binding-darwin-arm64": "1.9.0", "@unrs/resolver-binding-darwin-arm64": "1.9.1",
"@unrs/resolver-binding-darwin-x64": "1.9.0", "@unrs/resolver-binding-darwin-x64": "1.9.1",
"@unrs/resolver-binding-freebsd-x64": "1.9.0", "@unrs/resolver-binding-freebsd-x64": "1.9.1",
"@unrs/resolver-binding-linux-arm-gnueabihf": "1.9.0", "@unrs/resolver-binding-linux-arm-gnueabihf": "1.9.1",
"@unrs/resolver-binding-linux-arm-musleabihf": "1.9.0", "@unrs/resolver-binding-linux-arm-musleabihf": "1.9.1",
"@unrs/resolver-binding-linux-arm64-gnu": "1.9.0", "@unrs/resolver-binding-linux-arm64-gnu": "1.9.1",
"@unrs/resolver-binding-linux-arm64-musl": "1.9.0", "@unrs/resolver-binding-linux-arm64-musl": "1.9.1",
"@unrs/resolver-binding-linux-ppc64-gnu": "1.9.0", "@unrs/resolver-binding-linux-ppc64-gnu": "1.9.1",
"@unrs/resolver-binding-linux-riscv64-gnu": "1.9.0", "@unrs/resolver-binding-linux-riscv64-gnu": "1.9.1",
"@unrs/resolver-binding-linux-riscv64-musl": "1.9.0", "@unrs/resolver-binding-linux-riscv64-musl": "1.9.1",
"@unrs/resolver-binding-linux-s390x-gnu": "1.9.0", "@unrs/resolver-binding-linux-s390x-gnu": "1.9.1",
"@unrs/resolver-binding-linux-x64-gnu": "1.9.0", "@unrs/resolver-binding-linux-x64-gnu": "1.9.1",
"@unrs/resolver-binding-linux-x64-musl": "1.9.0", "@unrs/resolver-binding-linux-x64-musl": "1.9.1",
"@unrs/resolver-binding-wasm32-wasi": "1.9.0", "@unrs/resolver-binding-wasm32-wasi": "1.9.1",
"@unrs/resolver-binding-win32-arm64-msvc": "1.9.0", "@unrs/resolver-binding-win32-arm64-msvc": "1.9.1",
"@unrs/resolver-binding-win32-ia32-msvc": "1.9.0", "@unrs/resolver-binding-win32-ia32-msvc": "1.9.1",
"@unrs/resolver-binding-win32-x64-msvc": "1.9.0" "@unrs/resolver-binding-win32-x64-msvc": "1.9.1"
} }
}, },
"node_modules/update-browserslist-db": { "node_modules/update-browserslist-db": {
@ -15198,9 +15198,9 @@
"license": "BSD-2-Clause" "license": "BSD-2-Clause"
}, },
"node_modules/vite/node_modules/@types/estree": { "node_modules/vite/node_modules/@types/estree": {
"version": "1.0.7", "version": "1.0.8",
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
"integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==", "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
"dev": true, "dev": true,
"license": "MIT" "license": "MIT"
}, },
@ -15248,13 +15248,13 @@
} }
}, },
"node_modules/vite/node_modules/rollup": { "node_modules/vite/node_modules/rollup": {
"version": "4.43.0", "version": "4.44.0",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.43.0.tgz", "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.44.0.tgz",
"integrity": "sha512-wdN2Kd3Twh8MAEOEJZsuxuLKCsBEo4PVNLK6tQWAn10VhsVewQLzcucMgLolRlhFybGxfclbPeEYBaP6RvUFGg==", "integrity": "sha512-qHcdEzLCiktQIfwBq420pn2dP+30uzqYxv9ETm91wdt2R9AFcWfjNAmje4NWlnCIQ5RMTzVf0ZyisOKqHR6RwA==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@types/estree": "1.0.7" "@types/estree": "1.0.8"
}, },
"bin": { "bin": {
"rollup": "dist/bin/rollup" "rollup": "dist/bin/rollup"
@ -15264,26 +15264,26 @@
"npm": ">=8.0.0" "npm": ">=8.0.0"
}, },
"optionalDependencies": { "optionalDependencies": {
"@rollup/rollup-android-arm-eabi": "4.43.0", "@rollup/rollup-android-arm-eabi": "4.44.0",
"@rollup/rollup-android-arm64": "4.43.0", "@rollup/rollup-android-arm64": "4.44.0",
"@rollup/rollup-darwin-arm64": "4.43.0", "@rollup/rollup-darwin-arm64": "4.44.0",
"@rollup/rollup-darwin-x64": "4.43.0", "@rollup/rollup-darwin-x64": "4.44.0",
"@rollup/rollup-freebsd-arm64": "4.43.0", "@rollup/rollup-freebsd-arm64": "4.44.0",
"@rollup/rollup-freebsd-x64": "4.43.0", "@rollup/rollup-freebsd-x64": "4.44.0",
"@rollup/rollup-linux-arm-gnueabihf": "4.43.0", "@rollup/rollup-linux-arm-gnueabihf": "4.44.0",
"@rollup/rollup-linux-arm-musleabihf": "4.43.0", "@rollup/rollup-linux-arm-musleabihf": "4.44.0",
"@rollup/rollup-linux-arm64-gnu": "4.43.0", "@rollup/rollup-linux-arm64-gnu": "4.44.0",
"@rollup/rollup-linux-arm64-musl": "4.43.0", "@rollup/rollup-linux-arm64-musl": "4.44.0",
"@rollup/rollup-linux-loongarch64-gnu": "4.43.0", "@rollup/rollup-linux-loongarch64-gnu": "4.44.0",
"@rollup/rollup-linux-powerpc64le-gnu": "4.43.0", "@rollup/rollup-linux-powerpc64le-gnu": "4.44.0",
"@rollup/rollup-linux-riscv64-gnu": "4.43.0", "@rollup/rollup-linux-riscv64-gnu": "4.44.0",
"@rollup/rollup-linux-riscv64-musl": "4.43.0", "@rollup/rollup-linux-riscv64-musl": "4.44.0",
"@rollup/rollup-linux-s390x-gnu": "4.43.0", "@rollup/rollup-linux-s390x-gnu": "4.44.0",
"@rollup/rollup-linux-x64-gnu": "4.43.0", "@rollup/rollup-linux-x64-gnu": "4.44.0",
"@rollup/rollup-linux-x64-musl": "4.43.0", "@rollup/rollup-linux-x64-musl": "4.44.0",
"@rollup/rollup-win32-arm64-msvc": "4.43.0", "@rollup/rollup-win32-arm64-msvc": "4.44.0",
"@rollup/rollup-win32-ia32-msvc": "4.43.0", "@rollup/rollup-win32-ia32-msvc": "4.44.0",
"@rollup/rollup-win32-x64-msvc": "4.43.0", "@rollup/rollup-win32-x64-msvc": "4.44.0",
"fsevents": "~2.3.2" "fsevents": "~2.3.2"
} }
}, },
@ -15708,9 +15708,9 @@
} }
}, },
"node_modules/webpack/node_modules/webpack-sources": { "node_modules/webpack/node_modules/webpack-sources": {
"version": "3.3.2", "version": "3.3.3",
"resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.3.2.tgz", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.3.3.tgz",
"integrity": "sha512-ykKKus8lqlgXX/1WjudpIEjqsafjOTcOJqxnAbMLAu/KCsDCJ6GBtvscewvTkrn24HsnvFwrSCbenFrhtcCsAA==", "integrity": "sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==",
"license": "MIT", "license": "MIT",
"engines": { "engines": {
"node": ">=10.13.0" "node": ">=10.13.0"

View file

@ -31,7 +31,7 @@
"idiomorph": "0.3.0", "idiomorph": "0.3.0",
"jquery": "3.7.1", "jquery": "3.7.1",
"katex": "0.16.22", "katex": "0.16.22",
"mermaid": "11.6.0", "mermaid": "11.7.0",
"mini-css-extract-plugin": "2.9.2", "mini-css-extract-plugin": "2.9.2",
"minimatch": "10.0.3", "minimatch": "10.0.3",
"monaco-editor": "0.52.2", "monaco-editor": "0.52.2",

View file

View file

@ -25,7 +25,7 @@ import (
"forgejo.org/services/context" "forgejo.org/services/context"
"github.com/gorilla/feeds" "github.com/gorilla/feeds"
"github.com/jaytaylor/html2text" "github.com/inbucket/html2text"
) )
func toBranchLink(ctx *context.Context, act *activities_model.Action) string { func toBranchLink(ctx *context.Context, act *activities_model.Action) string {

View file

@ -82,19 +82,19 @@ func RefBlame(ctx *context.Context) {
return return
} }
ctx.Data["NumLinesSet"] = true
ctx.Data["NumLines"], err = blob.GetBlobLineCount()
if err != nil {
ctx.ServerError("GetBlobLineCount", err)
return
}
result, err := performBlame(ctx, ctx.Repo.Commit, ctx.Repo.TreePath, ctx.FormBool("bypass-blame-ignore")) result, err := performBlame(ctx, ctx.Repo.Commit, ctx.Repo.TreePath, ctx.FormBool("bypass-blame-ignore"))
if err != nil { if err != nil {
ctx.ServerError("performBlame", err) ctx.ServerError("performBlame", err)
return return
} }
ctx.Data["NumLinesSet"] = true
numLines := 0
for _, p := range result.Parts {
numLines += len(p.Lines)
}
ctx.Data["NumLines"] = numLines
ctx.Data["UsesIgnoreRevs"] = result.UsesIgnoreRevs ctx.Data["UsesIgnoreRevs"] = result.UsesIgnoreRevs
ctx.Data["FaultyIgnoreRevsFile"] = result.FaultyIgnoreRevsFile ctx.Data["FaultyIgnoreRevsFile"] = result.FaultyIgnoreRevsFile

View file

@ -1693,7 +1693,7 @@ func ViewIssue(ctx *context.Context) {
return return
} }
ghostMilestone := &issues_model.Milestone{ ghostMilestone := &issues_model.Milestone{
ID: -1, ID: issues_model.GhostMilestoneID,
Name: ctx.Locale.TrString("repo.issues.deleted_milestone"), Name: ctx.Locale.TrString("repo.issues.deleted_milestone"),
} }
if comment.OldMilestoneID > 0 && comment.OldMilestone == nil { if comment.OldMilestoneID > 0 && comment.OldMilestone == nil {

View file

@ -440,11 +440,29 @@ func getCommitFileLineCount(commit *git.Commit, filePath string) int {
if err != nil { if err != nil {
return 0 return 0
} }
lineCount, err := blob.GetBlobLineCount() reader, err := blob.DataAsync()
if err != nil { if err != nil {
return 0 return 0
} }
return lineCount defer reader.Close()
buf := make([]byte, 32*1024)
count := 1
lineSep := []byte{'\n'}
c, err := reader.Read(buf)
if c == 0 && err == io.EOF {
return 0
}
for {
count += bytes.Count(buf[:c], lineSep)
switch {
case err == io.EOF:
return count
case err != nil:
return count
}
c, err = reader.Read(buf)
}
} }
// Diff represents a difference between two git trees. // Diff represents a difference between two git trees.

View file

@ -712,6 +712,8 @@ func TestGetDiffFull(t *testing.T) {
assert.Equal(t, ".gitattributes", diff.Files[0].Name) assert.Equal(t, ".gitattributes", diff.Files[0].Name)
assert.Equal(t, "24139dae656713ba861751fb2c2ac38839349a7a", diff.Files[0].NameHash) assert.Equal(t, "24139dae656713ba861751fb2c2ac38839349a7a", diff.Files[0].NameHash)
assert.Len(t, diff.Files[0].Sections, 2)
assert.Equal(t, 4, diff.Files[0].Sections[1].Lines[0].SectionInfo.LeftIdx)
}) })
} }

View file

@ -29,7 +29,7 @@ import (
notify_service "forgejo.org/services/notify" notify_service "forgejo.org/services/notify"
ntlmssp "github.com/Azure/go-ntlmssp" ntlmssp "github.com/Azure/go-ntlmssp"
"github.com/jaytaylor/html2text" "github.com/inbucket/html2text"
"gopkg.in/gomail.v2" "gopkg.in/gomail.v2"
) )

View file

@ -25,7 +25,7 @@
{{template "base/head_style" .}} {{template "base/head_style" .}}
{{template "custom/header" .}} {{template "custom/header" .}}
</head> </head>
<body hx-headers='{"x-csrf-token": "{{.CsrfToken}}"}' hx-swap="outerHTML" hx-ext="morph" hx-push-url="false"> <body class="no-js" hx-headers='{"x-csrf-token": "{{.CsrfToken}}"}' hx-swap="outerHTML" hx-ext="morph" hx-push-url="false">
{{template "custom/body_outer_pre" .}} {{template "custom/body_outer_pre" .}}
<div class="full height"> <div class="full height">

View file

@ -4,7 +4,7 @@
{{if $attachments}} {{if $attachments}}
<div class="card-attachment-images"> <div class="card-attachment-images">
{{range $attachments}} {{range $attachments}}
<img src="{{.DownloadURL}}" alt="{{.Name}}" /> <img src="{{.DownloadURL}}" alt="{{.Name}}" loading="lazy"/>
{{end}} {{end}}
</div> </div>
{{end}} {{end}}

View file

@ -31,7 +31,7 @@
{{if FilenameIsImage .Name}} {{if FilenameIsImage .Name}}
{{if not (StringUtils.Contains (StringUtils.ToString $.RenderedContent) .UUID)}} {{if not (StringUtils.Contains (StringUtils.ToString $.RenderedContent) .UUID)}}
<a target="_blank" rel="noopener noreferrer" href="{{.DownloadURL}}"> <a target="_blank" rel="noopener noreferrer" href="{{.DownloadURL}}">
<img alt="{{.Name}}" src="{{.DownloadURL}}" title="{{ctx.Locale.Tr "repo.issues.attachment.open_tab" .Name}}"> <img alt="{{.Name}}" src="{{.DownloadURL}}" title="{{ctx.Locale.Tr "repo.issues.attachment.open_tab" .Name}}" loading="lazy">
</a> </a>
{{end}} {{end}}
{{end}} {{end}}

View file

@ -191,7 +191,31 @@
{{template "shared/user/avatarlink" dict "user" .Poster}} {{template "shared/user/avatarlink" dict "user" .Poster}}
<span class="text grey muted-links"> <span class="text grey muted-links">
{{template "shared/user/authorlink" .Poster}} {{template "shared/user/authorlink" .Poster}}
{{if gt .OldMilestoneID 0}}{{if gt .MilestoneID 0}}{{ctx.Locale.Tr "repo.issues.change_milestone_at" .OldMilestone.Name .Milestone.Name $createdStr}}{{else}}{{ctx.Locale.Tr "repo.issues.remove_milestone_at" .OldMilestone.Name $createdStr}}{{end}}{{else if gt .MilestoneID 0}}{{ctx.Locale.Tr "repo.issues.add_milestone_at" .Milestone.Name $createdStr}}{{end}} {{$newMilestoneDisplayHtml := ""}}
{{if gt .MilestoneID 0}}
{{if .Milestone.IsGhost}}
{{$newMilestoneDisplayHtml = .Milestone.Name}}
{{else}}
{{$newMilestoneDisplayHtml = HTMLFormat `<a href='%s/milestone/%d' rel='nofollow'>%s</a>` $.RepoLink .MilestoneID .Milestone.Name}}
{{end}}
{{end}}
{{$oldMilestoneDisplayHtml := ""}}
{{if gt .OldMilestoneID 0}}
{{if .OldMilestone.IsGhost}}
{{$oldMilestoneDisplayHtml = .OldMilestone.Name}}
{{else}}
{{$oldMilestoneDisplayHtml = HTMLFormat `<a href='%s/milestone/%d' rel='nofollow'>%s</a>` $.RepoLink .OldMilestoneID .OldMilestone.Name}}
{{end}}
{{end}}
{{if gt .OldMilestoneID 0}}
{{if gt .MilestoneID 0}}
{{ctx.Locale.Tr "repo.issues.change_milestone_at" $oldMilestoneDisplayHtml $newMilestoneDisplayHtml $createdStr}}
{{else}}
{{ctx.Locale.Tr "repo.issues.remove_milestone_at" $oldMilestoneDisplayHtml $createdStr}}
{{end}}
{{else}}
{{ctx.Locale.Tr "repo.issues.add_milestone_at" $newMilestoneDisplayHtml $createdStr}}
{{end}}
</span> </span>
</div> </div>
{{else if and (eq .Type 9) (gt .AssigneeID 0)}} {{else if and (eq .Type 9) (gt .AssigneeID 0)}}
@ -574,27 +598,33 @@
{{template "shared/user/avatarlink" dict "user" .Poster}} {{template "shared/user/avatarlink" dict "user" .Poster}}
<span class="text grey muted-links"> <span class="text grey muted-links">
{{template "shared/user/authorlink" .Poster}} {{template "shared/user/authorlink" .Poster}}
{{$oldProjectDisplayHtml := "Unknown Project"}} {{$oldProjectDisplayHtml := ""}}
{{if .OldProject}} {{if .OldProject}}
{{$tooltip := ctx.Locale.Tr "projects.deleted.display_name"}} {{if .OldProject.IsGhost}}
{{if not .OldProject.IsGhost}} {{$tooltip := ctx.Locale.Tr "projects.deleted.display_name"}}
{{$tooltip = ctx.Locale.Tr (printf "projects.type-%d.display_name" .OldProject.Type)}} {{$oldProjectDisplayHtml = HTMLFormat `<span data-tooltip-content="%s">%s</span>` $tooltip .OldProject.Title}}
{{else}}
{{$tooltip := ctx.Locale.Tr (printf "projects.type-%d.display_name" .OldProject.Type)}}
{{$oldProjectDisplayHtml = HTMLFormat `<a href="%s/projects/%d" rel="nofollow"><span data-tooltip-content="%s">%s</span></a>` $.RepoLink .OldProjectID $tooltip .OldProject.Title}}
{{end}} {{end}}
{{$oldProjectDisplayHtml = HTMLFormat `<span data-tooltip-content="%s">%s</span>` $tooltip .OldProject.Title}}
{{end}} {{end}}
{{$newProjectDisplayHtml := "Unknown Project"}} {{$newProjectDisplayHtml := ""}}
{{if .Project}} {{if .Project}}
{{$tooltip := ctx.Locale.Tr "projects.deleted.display_name"}} {{if .Project.IsGhost}}
{{if not .Project.IsGhost}} {{$tooltip := ctx.Locale.Tr "projects.deleted.display_name"}}
{{$tooltip = ctx.Locale.Tr (printf "projects.type-%d.display_name" .Project.Type)}} {{$newProjectDisplayHtml = HTMLFormat `<span data-tooltip-content="%s">%s</span>` $tooltip .Project.Title}}
{{else}}
{{$tooltip := ctx.Locale.Tr (printf "projects.type-%d.display_name" .Project.Type)}}
{{$newProjectDisplayHtml = HTMLFormat `<a href="%s/projects/%d" rel="nofollow"><span data-tooltip-content="%s">%s</span></a>` $.RepoLink .ProjectID $tooltip .Project.Title}}
{{end}} {{end}}
{{$newProjectDisplayHtml = HTMLFormat `<span data-tooltip-content="%s">%s</span>` $tooltip .Project.Title}}
{{end}} {{end}}
{{if and (gt .OldProjectID 0) (gt .ProjectID 0)}} {{if .OldProject}}
{{ctx.Locale.Tr "repo.issues.change_project_at" $oldProjectDisplayHtml $newProjectDisplayHtml $createdStr}} {{if .Project}}
{{else if gt .OldProjectID 0}} {{ctx.Locale.Tr "repo.issues.change_project_at" $oldProjectDisplayHtml $newProjectDisplayHtml $createdStr}}
{{ctx.Locale.Tr "repo.issues.remove_project_at" $oldProjectDisplayHtml $createdStr}} {{else}}
{{else if gt .ProjectID 0}} {{ctx.Locale.Tr "repo.issues.remove_project_at" $oldProjectDisplayHtml $createdStr}}
{{end}}
{{else}}
{{ctx.Locale.Tr "repo.issues.add_project_at" $newProjectDisplayHtml $createdStr}} {{ctx.Locale.Tr "repo.issues.add_project_at" $newProjectDisplayHtml $createdStr}}
{{end}} {{end}}
</span> </span>
@ -604,7 +634,7 @@
<div class="timeline-item-group"> <div class="timeline-item-group">
<div class="timeline-item event" id="{{.HashTag}}"> <div class="timeline-item event" id="{{.HashTag}}">
<a class="timeline-avatar"{{if gt .Poster.ID 0}} href="{{.Poster.HomeLink}}"{{end}}> <a class="timeline-avatar"{{if gt .Poster.ID 0}} href="{{.Poster.HomeLink}}"{{end}}>
<img src="{{.Poster.AvatarLink $.Context}}" alt="" width="40" height="40"> <img src="{{.Poster.AvatarLink $.Context}}" alt="" width="40" height="40" loading="lazy">
</a> </a>
<span class="badge grey">{{svg "octicon-x" 16}}</span> <span class="badge grey">{{svg "octicon-x" 16}}</span>
<span class="text grey muted-links"> <span class="text grey muted-links">

View file

@ -46,7 +46,7 @@
</div> </div>
<div class="eleven wide tw-pt-0"> <div class="eleven wide tw-pt-0">
<div class="field {{if .Err_Title}}error{{end}}"> <div class="field {{if .Err_Title}}error{{end}}">
<input id="release-title" name="title" aria-label="{{ctx.Locale.Tr "repo.release.title"}}" placeholder="{{ctx.Locale.Tr "repo.release.title"}}" value="{{.tag_name}}" autofocus maxlength="255"> <input id="release-title" name="title" aria-label="{{ctx.Locale.Tr "repo.release.title"}}" placeholder="{{ctx.Locale.Tr "repo.release.title"}}" value="{{if .PageIsEditRelease}}{{.title}}{{else}}{{.tag_name}}{{end}}" autofocus maxlength="255">
</div> </div>
<div class="field"> <div class="field">
{{template "shared/combomarkdowneditor" (dict {{template "shared/combomarkdowneditor" (dict

View file

@ -0,0 +1,47 @@
<details class="dropdown dir-auto">
<summary data-tooltip-content="{{ctx.Locale.Tr "profile.actions.tooltip"}}">{{svg "octicon-kebab-horizontal"}}</summary>
<ul>
{{if eq .SignedUserID .ContextUser.ID}}
<li>
<a href="{{AppSubUrl}}/user/settings" class="item">{{svg "octicon-pencil"}}{{ctx.Locale.Tr "profile.edit.link"}}</a>
</li>
{{end}}
{{if .IsAdmin}}
<li>
<a href="{{AppSubUrl}}/admin/users/{{.ContextUser.ID}}" class="item">{{svg "octicon-gear"}}{{ctx.Locale.Tr "admin.users.details"}}</a>
</li>
{{end}}
{{if and .EnableFeed (or .IsAdmin (eq .SignedUserID .ContextUser.ID) (not .ContextUser.KeepActivityPrivate))}}
<li>
<a href="{{.ContextUser.HomeLink}}.rss" class="item">{{svg "octicon-rss"}}{{ctx.Locale.Tr "rss_feed"}}</a>
</li>
<li>
<a href="{{.ContextUser.HomeLink}}.atom" class="item">{{svg "octicon-rss"}}{{ctx.Locale.Tr "feed.atom.link"}}</a>
</li>
{{end}}
<li>
<a href="{{.ContextUser.HomeLink}}.keys" class="item">{{svg "octicon-key"}}{{ctx.Locale.Tr "keys.ssh.link"}}</a>
</li>
<li>
<a href="{{.ContextUser.HomeLink}}.gpg" class="item">{{svg "octicon-key"}}{{ctx.Locale.Tr "keys.gpg.link"}}</a>
</li>
{{if and .IsSigned (ne .SignedUserID .ContextUser.ID)}}
<li hx-target="#profile-avatar-card" hx-indicator="#profile-avatar-card" id="action-block">
{{if .IsBlocked}}
<button class="item orange text" hx-post="{{.ContextUser.HomeLink}}?action=unblock">
{{svg "octicon-person"}} {{ctx.Locale.Tr "user.unblock"}}
</button>
{{else}}
<button class="item orange text" data-modal-id="block-user" hx-post="{{.ContextUser.HomeLink}}?action=block" hx-confirm="-">
{{svg "octicon-blocked"}} {{ctx.Locale.Tr "user.block"}}
</button>
{{end}}
</li>
{{end}}
{{if and .IsModerationEnabled .IsSigned (ne .SignedUserID .ContextUser.ID)}}
<li>
<a href="{{AppSubUrl}}/report_abuse?type=user&id={{.ContextUser.ID}}" class="item orange text">{{svg "octicon-stop"}}{{ctx.Locale.Tr "moderation.report_abuse"}}</a>
</li>
{{end}}
</ul>
</details>

View file

@ -1,6 +1,9 @@
{{if .IsHTMX}} {{if .IsHTMX}}
{{template "base/alert" .}} {{template "base/alert" .}}
{{end}} {{end}}
{{$showFollow := and .IsSigned (ne .SignedUserID .ContextUser.ID)}}
<div id="profile-avatar-card" class="ui card" hx-swap="morph"> <div id="profile-avatar-card" class="ui card" hx-swap="morph">
<div id="profile-avatar" class="content tw-flex"> <div id="profile-avatar" class="content tw-flex">
{{if eq .SignedUserID .ContextUser.ID}} {{if eq .SignedUserID .ContextUser.ID}}
@ -16,18 +19,32 @@
</div> </div>
<div class="content tw-break-anywhere profile-avatar-name"> <div class="content tw-break-anywhere profile-avatar-name">
{{if .ContextUser.FullName}}<span class="header text center">{{.ContextUser.FullName}}</span>{{end}} {{if .ContextUser.FullName}}<span class="header text center">{{.ContextUser.FullName}}</span>{{end}}
<span class="username text center">{{.ContextUser.Name}} {{if .ContextUser.GetPronouns .IsSigned}} · {{.ContextUser.GetPronouns .IsSigned}}{{end}} {{if .IsAdmin}} <span class="username">{{.ContextUser.Name}} {{if .ContextUser.GetPronouns .IsSigned}} · {{.ContextUser.GetPronouns .IsSigned}}{{end}}</span>
<a class="muted" href="{{AppSubUrl}}/admin/users/{{.ContextUser.ID}}" data-tooltip-content="{{ctx.Locale.Tr "admin.users.details"}}"> <div class="tw-mt-2 tw-flex tw-items-center tw-gap-2 tw-justify-center">
{{svg "octicon-gear" 18}} <span>
</a> <a class="muted" href="{{.ContextUser.HomeLink}}?tab=followers">{{svg "octicon-people" 18 "tw-mr-1"}}{{ctx.Locale.TrN .NumFollowers "user.followers_one" "user.followers_few" .NumFollowers}}</a> · <a class="muted" href="{{.ContextUser.HomeLink}}?tab=following">{{ctx.Locale.TrN .NumFollowing "user.following_one" "user.following_few" .NumFollowing}}</a>
{{end}}</span> </span>
<div class="tw-mt-2"> {{if not $showFollow}}
<a class="muted" href="{{.ContextUser.HomeLink}}?tab=followers">{{svg "octicon-people" 18 "tw-mr-1"}}{{ctx.Locale.TrN .NumFollowers "user.followers_one" "user.followers_few" .NumFollowers}}</a> · <a class="muted" href="{{.ContextUser.HomeLink}}?tab=following">{{ctx.Locale.TrN .NumFollowing "user.following_one" "user.following_few" .NumFollowing}}</a> {{template "shared/user/actions_menu" .}}
{{if and .EnableFeed (or .IsAdmin (eq .SignedUserID .ContextUser.ID) (not .ContextUser.KeepActivityPrivate))}}
<a href="{{.ContextUser.HomeLink}}.rss"><i class="ui text grey tw-ml-2" data-tooltip-content="{{ctx.Locale.Tr "rss_feed"}}">{{svg "octicon-rss" 18}}</i></a>
{{end}} {{end}}
</div> </div>
</div> </div>
{{if $showFollow}}
<div class="actions">
<div class="primary-action" hx-target="#profile-avatar-card" hx-indicator="#profile-avatar-card">
{{if .IsFollowing}}
<button hx-post="{{.ContextUser.HomeLink}}?action=unfollow" class="ui basic red button tw-flex tw-gap-1">
{{svg "octicon-person"}} {{ctx.Locale.Tr "user.unfollow"}}
</button>
{{else}}
<button hx-post="{{.ContextUser.HomeLink}}?action=follow" class="ui basic primary button tw-flex tw-gap-1">
{{svg "octicon-person"}} {{ctx.Locale.Tr "user.follow"}}
</button>
{{end}}
</div>
{{template "shared/user/actions_menu" .}}
</div>
{{end}}
<div class="extra content tw-break-anywhere"> <div class="extra content tw-break-anywhere">
<ul> <ul>
{{if .ContextUser.Location}} {{if .ContextUser.Location}}
@ -42,17 +59,17 @@
</li> </li>
{{end}} {{end}}
{{if .ShowUserEmail}} {{if .ShowUserEmail}}
<li> <li>
{{svg "octicon-mail"}} {{svg "octicon-mail"}}
<a class="tw-flex-1" href="mailto:{{.ContextUser.Email}}" rel="nofollow">{{.ContextUser.Email}}</a> <a class="tw-flex-1" href="mailto:{{.ContextUser.Email}}" rel="nofollow">{{.ContextUser.Email}}</a>
{{if (eq .SignedUserID .ContextUser.ID)}} {{if (eq .SignedUserID .ContextUser.ID)}}
<a href="{{AppSubUrl}}/user/settings#privacy-user-settings"> <a href="{{AppSubUrl}}/user/settings#privacy-user-settings">
<i data-tooltip-content="{{ctx.Locale.Tr "user.email_visibility.limited"}}"> <i data-tooltip-content="{{ctx.Locale.Tr "user.email_visibility.limited"}}">
{{svg "octicon-unlock"}} {{svg "octicon-unlock"}}
</i> </i>
</a> </a>
{{end}} {{end}}
</li> </li>
{{end}} {{end}}
{{if .ContextUser.Website}} {{if .ContextUser.Website}}
<li> <li>
@ -73,7 +90,10 @@
</li> </li>
{{end}} {{end}}
{{end}} {{end}}
<li>{{svg "octicon-calendar"}} <span>{{ctx.Locale.Tr "user.joined_on" (DateUtils.AbsoluteShort .ContextUser.CreatedUnix)}}</span></li> <li>
{{svg "octicon-calendar"}}
<span>{{ctx.Locale.Tr "user.joined_on" (DateUtils.AbsoluteShort .ContextUser.CreatedUnix)}}</span>
</li>
{{if and .Orgs .HasOrgsVisible}} {{if and .Orgs .HasOrgsVisible}}
<li> <li>
<ul class="user-orgs"> <ul class="user-orgs">
@ -100,35 +120,6 @@
</ul> </ul>
</li> </li>
{{end}} {{end}}
{{if and .IsSigned (ne .SignedUserID .ContextUser.ID)}}
<li class="follow" hx-target="#profile-avatar-card" hx-indicator="#profile-avatar-card">
{{if $.IsFollowing}}
<button hx-post="{{.ContextUser.HomeLink}}?action=unfollow" class="ui basic red button">
{{svg "octicon-person"}} {{ctx.Locale.Tr "user.unfollow"}}
</button>
{{else}}
<button hx-post="{{.ContextUser.HomeLink}}?action=follow" class="ui basic primary button">
{{svg "octicon-person"}} {{ctx.Locale.Tr "user.follow"}}
</button>
{{end}}
</li>
<li class="block" hx-target="#profile-avatar-card" hx-indicator="#profile-avatar-card">
{{if $.IsBlocked}}
<button class="ui basic red button" hx-post="{{.ContextUser.HomeLink}}?action=unblock">
{{svg "octicon-person"}} {{ctx.Locale.Tr "user.unblock"}}
</button>
{{else}}
<button type="submit" class="ui basic orange button" data-modal-id="block-user" hx-post="{{.ContextUser.HomeLink}}?action=block" hx-confirm="-">
{{svg "octicon-blocked"}} {{ctx.Locale.Tr "user.block"}}
</button>
{{end}}
</li>
{{if .IsModerationEnabled}}
<li class="report">
<a class="ui basic orange button" href="{{AppSubUrl}}/report_abuse?type=user&id={{.ContextUser.ID}}">{{ctx.Locale.Tr "moderation.report_abuse"}}</a>
</li>
{{end}}
{{end}}
</ul> </ul>
</div> </div>
</div> </div>

View file

@ -22701,10 +22701,6 @@
}, },
"x-go-name": "Events" "x-go-name": "Events"
}, },
"is_system_webhook": {
"type": "boolean",
"x-go-name": "IsSystemWebhook"
},
"type": { "type": {
"type": "string", "type": "string",
"enum": [ "enum": [

View file

@ -90,7 +90,7 @@
<div class="tw-flex tw-flex-col tw-gap-1"> <div class="tw-flex tw-flex-col tw-gap-1">
{{range $push.Commits}} {{range $push.Commits}}
<div class="flex-text-block"> <div class="flex-text-block">
<img class="ui avatar" src="{{$push.AvatarLink $.Context .AuthorEmail}}" alt="" title="{{.AuthorName}}" width="16" height="16"> <img class="ui avatar" src="{{$push.AvatarLink $.Context .AuthorEmail}}" alt="" title="{{.AuthorName}}" width="16" height="16" loading="lazy">
{{template "repo/shabox" (dict {{template "repo/shabox" (dict
"sha1" .Sha1 "sha1" .Sha1
"commitLink" (printf "%s/commit/%s" $repoLink .Sha1) "commitLink" (printf "%s/commit/%s" $repoLink .Sha1)

View file

@ -364,7 +364,7 @@ the click will succeed,
but the depending interaction won't, but the depending interaction won't,
although playwright repeatedly tries to find the content. although playwright repeatedly tries to find the content.
You can [group statements using toPass]()https://playwright.dev/docs/test-assertions#expecttopass). You can [group statements using toPass](https://playwright.dev/docs/test-assertions#expecttopass).
This code retries the dropdown click until the second item is found. This code retries the dropdown click until the second item is found.
~~~js ~~~js

View file

@ -12,12 +12,13 @@ test.use({user: 'user2'});
test('Dimmed modal', async ({page}) => { test('Dimmed modal', async ({page}) => {
await page.goto('/user1'); await page.goto('/user1');
await expect(page.locator('.block')).toContainText('Block'); await expect(page.locator('#action-block')).toContainText('Block');
// Ensure the modal is hidden // Ensure the modal is hidden
await expect(page.locator('#block-user')).toBeHidden(); await expect(page.locator('#block-user')).toBeHidden();
await page.locator('.block').click(); await page.locator('.actions .dropdown').click();
await page.locator('#action-block').click();
// Modal and dimmer should be visible. // Modal and dimmer should be visible.
await expect(page.locator('#block-user')).toBeVisible(); await expect(page.locator('#block-user')).toBeVisible();
@ -31,7 +32,8 @@ test('Dimmed modal', async ({page}) => {
await save_visual(page); await save_visual(page);
// Open the block modal and make the dimmer visible again. // Open the block modal and make the dimmer visible again.
await page.locator('.block').click(); await page.locator('.actions .dropdown').click();
await page.locator('#action-block').click();
await expect(page.locator('#block-user')).toBeVisible(); await expect(page.locator('#block-user')).toBeVisible();
await expect(page.locator('.ui.dimmer')).toBeVisible(); await expect(page.locator('.ui.dimmer')).toBeVisible();
await expect(page.locator('.ui.dimmer')).toHaveCount(1); await expect(page.locator('.ui.dimmer')).toHaveCount(1);

View file

@ -0,0 +1,106 @@
// Copyright 2025 The Forgejo Authors. All rights reserved.
// SPDX-License-Identifier: GPL-3.0-or-later
// @watch start
// templates/shared/user/**
// web_src/js/modules/dropdown.ts
// @watch end
import {expect} from '@playwright/test';
import {test} from './utils_e2e.ts';
test('JS enhanced', async ({page}) => {
await page.goto('/user1');
await expect(page.locator('body')).not.toContainClass('no-js');
const nojsNotice = page.locator('body .full noscript');
await expect(nojsNotice).toBeHidden();
// Open and close by clicking summary
const dropdownSummary = page.locator('details.dropdown summary');
const dropdownContent = page.locator('details.dropdown ul');
await expect(dropdownContent).toBeHidden();
await dropdownSummary.click();
await expect(dropdownContent).toBeVisible();
await dropdownSummary.click();
await expect(dropdownContent).toBeHidden();
// Close by clicking elsewhere
const elsewhere = page.locator('.username');
await expect(dropdownContent).toBeHidden();
await dropdownSummary.click();
await expect(dropdownContent).toBeVisible();
await elsewhere.click();
await expect(dropdownContent).toBeHidden();
// Open and close with keypressing
await dropdownSummary.focus();
await dropdownSummary.press(`Enter`);
await expect(dropdownContent).toBeVisible();
await dropdownSummary.press(`Space`);
await expect(dropdownContent).toBeHidden();
await dropdownSummary.press(`Space`);
await expect(dropdownContent).toBeVisible();
await dropdownSummary.press(`Enter`);
await expect(dropdownContent).toBeHidden();
await dropdownSummary.press(`Enter`);
await expect(dropdownContent).toBeVisible();
await dropdownSummary.press(`Escape`);
await expect(dropdownContent).toBeHidden();
// Open and close by opening a different dropdown
const languageMenu = page.locator('.language-menu');
await dropdownSummary.click();
await expect(dropdownContent).toBeVisible();
await expect(languageMenu).toBeHidden();
await page.locator('.language.dropdown').click();
await expect(dropdownContent).toBeHidden();
await expect(languageMenu).toBeVisible();
});
test('No JS', async ({browser}) => {
const context = await browser.newContext({javaScriptEnabled: false});
const nojsPage = await context.newPage();
await nojsPage.goto('/user1');
const nojsNotice = nojsPage.locator('body .full noscript');
await expect(nojsNotice).toBeVisible();
await expect(nojsPage.locator('body')).toContainClass('no-js');
// Open and close by clicking summary
const dropdownSummary = nojsPage.locator('details.dropdown summary');
const dropdownContent = nojsPage.locator('details.dropdown ul');
await expect(dropdownContent).toBeHidden();
await dropdownSummary.click();
await expect(dropdownContent).toBeVisible();
await dropdownSummary.click();
await expect(dropdownContent).toBeHidden();
// Close by clicking elsewhere (by hitting ::before with increased z-index)
const elsewhere = nojsPage.locator('#navbar');
await expect(dropdownContent).toBeHidden();
await dropdownSummary.click();
await expect(dropdownContent).toBeVisible();
// eslint-disable-next-line playwright/no-force-option
await elsewhere.click({force: true});
await expect(dropdownContent).toBeHidden();
// Open and close with keypressing
await dropdownSummary.press(`Enter`);
await expect(dropdownContent).toBeVisible();
await dropdownSummary.press(`Space`);
await expect(dropdownContent).toBeHidden();
await dropdownSummary.press(`Space`);
await expect(dropdownContent).toBeVisible();
await dropdownSummary.press(`Enter`);
await expect(dropdownContent).toBeHidden();
// Escape is not usable w/o JS enhancements
await dropdownSummary.press(`Enter`);
await expect(dropdownContent).toBeVisible();
await dropdownSummary.press(`Escape`);
await expect(dropdownContent).toBeVisible();
});

View file

@ -2,6 +2,7 @@
// routers/web/user/** // routers/web/user/**
// templates/shared/user/** // templates/shared/user/**
// web_src/js/features/common-global.js // web_src/js/features/common-global.js
// web_src/js/modules/dropdown.ts
// @watch end // @watch end
import {expect} from '@playwright/test'; import {expect} from '@playwright/test';
@ -9,13 +10,11 @@ import {save_visual, test} from './utils_e2e.ts';
test.use({user: 'user2'}); test.use({user: 'user2'});
test('Follow actions', async ({page}) => { test('Follow and block actions', async ({page}) => {
await page.goto('/user1'); await page.goto('/user1');
// Check if following and then unfollowing works. // Check if following and then unfollowing works.
// This checks that the event listeners of const followButton = page.locator('.primary-action button');
// the buttons aren't disappearing.
const followButton = page.locator('.follow');
await expect(followButton).toContainText('Follow'); await expect(followButton).toContainText('Follow');
await followButton.click(); await followButton.click();
await expect(followButton).toContainText('Unfollow'); await expect(followButton).toContainText('Unfollow');
@ -23,13 +22,19 @@ test('Follow actions', async ({page}) => {
await expect(followButton).toContainText('Follow'); await expect(followButton).toContainText('Follow');
// Simple block interaction. // Simple block interaction.
await expect(page.locator('.block')).toContainText('Block'); const actionsDropdownBtn = page.locator('.actions .dropdown summary');
const blockButton = page.locator('#action-block');
await expect(blockButton).toBeHidden();
await page.locator('.block').click(); await actionsDropdownBtn.click();
await expect(blockButton).toBeVisible();
await expect(blockButton).toContainText('Block');
await blockButton.click();
await expect(page.locator('#block-user')).toBeVisible(); await expect(page.locator('#block-user')).toBeVisible();
await save_visual(page); await save_visual(page);
await page.locator('#block-user .ok').click(); await page.locator('#block-user .ok').click();
await expect(page.locator('.block')).toContainText('Unblock'); await expect(blockButton).toContainText('Unblock');
await expect(page.locator('#block-user')).toBeHidden(); await expect(page.locator('#block-user')).toBeHidden();
// Check that following the user yields in a error being shown. // Check that following the user yields in a error being shown.
@ -40,6 +45,7 @@ test('Follow actions', async ({page}) => {
await save_visual(page); await save_visual(page);
// Unblock interaction. // Unblock interaction.
await page.locator('.block').click(); await actionsDropdownBtn.click();
await expect(page.locator('.block')).toContainText('Block'); await blockButton.click();
await expect(blockButton).toContainText('Block');
}); });

View file

@ -14,78 +14,100 @@ import {validate_form} from './shared/forms.ts';
test.use({user: 'user2'}); test.use({user: 'user2'});
test.describe.configure({ test.describe('repo branch protection settings', () => {
timeout: 30000, test('External Release Attachments', async ({page, isMobile}, workerInfo) => {
}); test.skip(isMobile || workerInfo.project.name === 'webkit');
test('External Release Attachments', async ({page, isMobile}) => { // Click "New Release"
test.skip(isMobile); await page.goto('/user2/repo2/releases');
await page.click('.button.small.primary');
// Click "New Release"
await page.goto('/user2/repo2/releases'); // Fill out form and create new release
await page.click('.button.small.primary'); await expect(page).toHaveURL('/user2/repo2/releases/new');
await validate_form({page}, 'fieldset');
// Fill out form and create new release const textarea = page.locator('input[name=tag_name]');
await expect(page).toHaveURL('/user2/repo2/releases/new'); await textarea.pressSequentially('2.0');
await validate_form({page}, 'fieldset'); await expect(page.locator('input[name=title]')).toHaveValue('2.0');
const textarea = page.locator('input[name=tag_name]'); await page.click('#add-external-link');
await textarea.pressSequentially('2.0'); await page.click('#add-external-link');
await expect(page.locator('input[name=title]')).toHaveValue('2.0'); await page.fill('input[name=attachment-new-name-2]', 'Test');
await page.click('#add-external-link'); await page.fill('input[name=attachment-new-exturl-2]', 'https://forgejo.org/');
await page.click('#add-external-link'); await page.click('.remove-rel-attach');
await page.fill('input[name=attachment-new-name-2]', 'Test'); await save_visual(page);
await page.fill('input[name=attachment-new-exturl-2]', 'https://forgejo.org/'); await page.click('.button.small.primary');
await page.click('.remove-rel-attach');
await save_visual(page); // Validate release page and click edit
await page.click('.button.small.primary'); await expect(page).toHaveURL('/user2/repo2/releases');
await expect(page.locator('.download[open] li')).toHaveCount(3);
// Validate release page and click edit
await expect(page).toHaveURL('/user2/repo2/releases'); await expect(page.locator('.download[open] li:nth-of-type(1)')).toContainText('Source code (ZIP)');
await expect(page.locator('.download[open] li')).toHaveCount(3); await expect(page.locator('.download[open] li:nth-of-type(1) span[data-tooltip-content]')).toHaveAttribute('data-tooltip-content', 'This attachment is automatically generated.');
await expect(page.locator('.download[open] li:nth-of-type(1) a')).toHaveAttribute('href', '/user2/repo2/archive/2.0.zip');
await expect(page.locator('.download[open] li:nth-of-type(1)')).toContainText('Source code (ZIP)'); await expect(page.locator('.download[open] li:nth-of-type(1) a')).toHaveAttribute('type', 'application/zip');
await expect(page.locator('.download[open] li:nth-of-type(1) span[data-tooltip-content]')).toHaveAttribute('data-tooltip-content', 'This attachment is automatically generated.');
await expect(page.locator('.download[open] li:nth-of-type(1) a')).toHaveAttribute('href', '/user2/repo2/archive/2.0.zip'); await expect(page.locator('.download[open] li:nth-of-type(2)')).toContainText('Source code (TAR.GZ)');
await expect(page.locator('.download[open] li:nth-of-type(1) a')).toHaveAttribute('type', 'application/zip'); await expect(page.locator('.download[open] li:nth-of-type(2) span[data-tooltip-content]')).toHaveAttribute('data-tooltip-content', 'This attachment is automatically generated.');
await expect(page.locator('.download[open] li:nth-of-type(2) a')).toHaveAttribute('href', '/user2/repo2/archive/2.0.tar.gz');
await expect(page.locator('.download[open] li:nth-of-type(2)')).toContainText('Source code (TAR.GZ)'); await expect(page.locator('.download[open] li:nth-of-type(2) a')).toHaveAttribute('type', 'application/gzip');
await expect(page.locator('.download[open] li:nth-of-type(2) span[data-tooltip-content]')).toHaveAttribute('data-tooltip-content', 'This attachment is automatically generated.');
await expect(page.locator('.download[open] li:nth-of-type(2) a')).toHaveAttribute('href', '/user2/repo2/archive/2.0.tar.gz'); await expect(page.locator('.download[open] li:nth-of-type(3)')).toContainText('Test');
await expect(page.locator('.download[open] li:nth-of-type(2) a')).toHaveAttribute('type', 'application/gzip'); await expect(page.locator('.download[open] li:nth-of-type(3) a')).toHaveAttribute('href', 'https://forgejo.org/');
await save_visual(page);
await expect(page.locator('.download[open] li:nth-of-type(3)')).toContainText('Test'); await page.locator('.octicon-pencil').first().click();
await expect(page.locator('.download[open] li:nth-of-type(3) a')).toHaveAttribute('href', 'https://forgejo.org/');
await save_visual(page); // Validate edit page and edit the release
await page.locator('.octicon-pencil').first().click(); await expect(page).toHaveURL('/user2/repo2/releases/edit/2.0');
await validate_form({page}, 'fieldset');
// Validate edit page and edit the release await expect(page.locator('.attachment_edit:visible')).toHaveCount(2);
await expect(page).toHaveURL('/user2/repo2/releases/edit/2.0'); await expect(page.locator('.attachment_edit:visible').nth(0)).toHaveValue('Test');
await validate_form({page}, 'fieldset'); await expect(page.locator('.attachment_edit:visible').nth(1)).toHaveValue('https://forgejo.org/');
await expect(page.locator('.attachment_edit:visible')).toHaveCount(2); await page.locator('.attachment_edit:visible').nth(0).fill('Test2');
await expect(page.locator('.attachment_edit:visible').nth(0)).toHaveValue('Test'); await page.locator('.attachment_edit:visible').nth(1).fill('https://gitea.io/');
await expect(page.locator('.attachment_edit:visible').nth(1)).toHaveValue('https://forgejo.org/'); await page.click('#add-external-link');
await page.locator('.attachment_edit:visible').nth(0).fill('Test2'); await expect(page.locator('.attachment_edit:visible')).toHaveCount(4);
await page.locator('.attachment_edit:visible').nth(1).fill('https://gitea.io/'); await page.locator('.attachment_edit:visible').nth(2).fill('Test3');
await page.click('#add-external-link'); await page.locator('.attachment_edit:visible').nth(3).fill('https://gitea.com/');
await expect(page.locator('.attachment_edit:visible')).toHaveCount(4); await save_visual(page);
await page.locator('.attachment_edit:visible').nth(2).fill('Test3'); await page.click('.button.small.primary');
await page.locator('.attachment_edit:visible').nth(3).fill('https://gitea.com/');
await save_visual(page); // Validate release page and click edit
await page.click('.button.small.primary'); await expect(page).toHaveURL('/user2/repo2/releases');
await expect(page.locator('.download[open] li')).toHaveCount(4);
// Validate release page and click edit await expect(page.locator('.download[open] li:nth-of-type(3)')).toContainText('Test2');
await expect(page).toHaveURL('/user2/repo2/releases'); await expect(page.locator('.download[open] li:nth-of-type(3) a')).toHaveAttribute('href', 'https://gitea.io/');
await expect(page.locator('.download[open] li')).toHaveCount(4); await expect(page.locator('.download[open] li:nth-of-type(4)')).toContainText('Test3');
await expect(page.locator('.download[open] li:nth-of-type(3)')).toContainText('Test2'); await expect(page.locator('.download[open] li:nth-of-type(4) a')).toHaveAttribute('href', 'https://gitea.com/');
await expect(page.locator('.download[open] li:nth-of-type(3) a')).toHaveAttribute('href', 'https://gitea.io/'); await save_visual(page);
await expect(page.locator('.download[open] li:nth-of-type(4)')).toContainText('Test3'); await page.locator('.octicon-pencil').first().click();
await expect(page.locator('.download[open] li:nth-of-type(4) a')).toHaveAttribute('href', 'https://gitea.com/'); });
await save_visual(page);
await page.locator('.octicon-pencil').first().click(); test('Release name equals tag name if created from tag', async ({page}) => {
await page.goto('/user2/repo2/releases/new?tag=v1.1');
// Delete release
await expect(page).toHaveURL('/user2/repo2/releases/edit/2.0'); await expect(page.locator('input[name=title]')).toHaveValue('v1.1');
await page.click('.delete-button'); });
await page.click('.button.ok');
await expect(page).toHaveURL('/user2/repo2/releases'); test('Release name equals release name if edit', async ({page, isMobile}) => {
test.skip(isMobile);
await page.goto('/user2/repo2/releases/new');
await page.locator('input[name=title]').pressSequentially('v2.0');
await page.locator('input[name=tag_name]').pressSequentially('2.0');
await page.click('.button.small.primary');
await page.goto('/user2/repo2/releases/edit/2.0');
await expect(page.locator('input[name=title]')).toHaveValue('v2.0');
});
test.afterEach(async ({page}) => {
// Delete release
const response = await page.goto('/user2/repo2/releases/edit/2.0');
test.skip(response.status() === 404, 'No release to delete');
await page.locator('.delete-button').dispatchEvent('click');
await page.locator('.button.ok').click();
await expect(page).toHaveURL('/user2/repo2/releases');
});
}); });

View file

@ -88,22 +88,19 @@ func TestIssueCommentChangeMilestone(t *testing.T) {
testIssueCommentChangeEvent(t, htmlDoc, "2000", testIssueCommentChangeEvent(t, htmlDoc, "2000",
"octicon-milestone", "User One", "/user1", "octicon-milestone", "User One", "/user1",
[]string{"user1 added this to the milestone1 milestone"}, []string{"user1 added this to the milestone1 milestone"},
[]string{"/user1"}) []string{"/user1", "/user2/repo1/milestone/1"})
// []string{"/user1", "/user2/repo1/milestone/1"})
// Modify milestone // Modify milestone
testIssueCommentChangeEvent(t, htmlDoc, "2001", testIssueCommentChangeEvent(t, htmlDoc, "2001",
"octicon-milestone", "User One", "/user1", "octicon-milestone", "User One", "/user1",
[]string{"user1 modified the milestone from milestone1 to milestone2"}, []string{"user1 modified the milestone from milestone1 to milestone2"},
[]string{"/user1"}) []string{"/user1", "/user2/repo1/milestone/1", "/user2/repo1/milestone/2"})
// []string{"/user1", "/user2/repo1/milestone/1", "/user2/repo1/milestone/2"})
// Remove milestone // Remove milestone
testIssueCommentChangeEvent(t, htmlDoc, "2002", testIssueCommentChangeEvent(t, htmlDoc, "2002",
"octicon-milestone", "User One", "/user1", "octicon-milestone", "User One", "/user1",
[]string{"user1 removed this from the milestone2 milestone"}, []string{"user1 removed this from the milestone2 milestone"},
[]string{"/user1"}) []string{"/user1", "/user2/repo1/milestone/2"})
// []string{"/user1", "/user2/repo1/milestone/2"})
// Deleted milestone // Deleted milestone
testIssueCommentChangeEvent(t, htmlDoc, "2003", testIssueCommentChangeEvent(t, htmlDoc, "2003",
@ -123,22 +120,19 @@ func TestIssueCommentChangeProject(t *testing.T) {
testIssueCommentChangeEvent(t, htmlDoc, "2010", testIssueCommentChangeEvent(t, htmlDoc, "2010",
"octicon-project", "User One", "/user1", "octicon-project", "User One", "/user1",
[]string{"user1 added this to the First project project"}, []string{"user1 added this to the First project project"},
[]string{"/user1"}) []string{"/user1", "/user2/repo1/projects/1"})
// []string{"/user1", "/user2/repo1/projects/1"})
// Modify project // Modify project
testIssueCommentChangeEvent(t, htmlDoc, "2011", testIssueCommentChangeEvent(t, htmlDoc, "2011",
"octicon-project", "User One", "/user1", "octicon-project", "User One", "/user1",
[]string{"user1 modified the project from First project to second project"}, []string{"user1 modified the project from First project to second project"},
[]string{"/user1"}) []string{"/user1", "/user2/repo1/projects/1", "/user2/repo1/projects/2"})
// []string{"/user1", "/user2/repo1/projects/1", "/user2/repo1/projects/2"})
// Remove project // Remove project
testIssueCommentChangeEvent(t, htmlDoc, "2012", testIssueCommentChangeEvent(t, htmlDoc, "2012",
"octicon-project", "User One", "/user1", "octicon-project", "User One", "/user1",
[]string{"user1 removed this from the second project project"}, []string{"user1 removed this from the second project project"},
[]string{"/user1"}) []string{"/user1", "/user2/repo1/projects/2"})
// []string{"/user1", "/user2/repo1/projects/2"})
// Deleted project // Deleted project
testIssueCommentChangeEvent(t, htmlDoc, "2013", testIssueCommentChangeEvent(t, htmlDoc, "2013",

View file

@ -16,15 +16,15 @@ import (
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
) )
// TestUserProfileActivity ensures visibility and correctness of elements related to activity of a user: // TestUserProfileAttributes ensures visibility and correctness of elements related to activity of a user:
// - RSS feed button (doesn't test `other.ENABLE_FEED:false`) // - RSS/atom feed links (doesn't test `other.ENABLE_FEED:false`) and a few other links nearby
// - Public activity tab // - Public activity tab
// - Banner/hint in the tab // - Banner/hint in the tab
// - "Configure" link in the hint // - "Configure" link in the hint
// These elements might depend on the following: // These elements might depend on the following:
// - Profile visibility // - Profile visibility
// - Public activity visibility // - Public activity visibility
func TestUserProfileActivity(t *testing.T) { func TestUserProfileAttributes(t *testing.T) {
defer test.MockVariableValue(&setting.AppSubURL, "/sub")() defer test.MockVariableValue(&setting.AppSubURL, "/sub")()
defer tests.PrepareTestEnv(t)() defer tests.PrepareTestEnv(t)()
// This test needs multiple users with different access statuses to check for all possible states // This test needs multiple users with different access statuses to check for all possible states
@ -38,10 +38,10 @@ func TestUserProfileActivity(t *testing.T) {
// Set activity visibility of user2 to public. This is the default, but won't hurt to set it before testing. // Set activity visibility of user2 to public. This is the default, but won't hurt to set it before testing.
testChangeUserActivityVisibility(t, userRegular, "off") testChangeUserActivityVisibility(t, userRegular, "off")
// Verify availability of RSS button and activity tab // Verify availability of activity tab and other links
testUser2ActivityButtonsAvailability(t, userAdmin, true) testUser2ActivityLinksAvailability(t, userAdmin, true, true, false)
testUser2ActivityButtonsAvailability(t, userRegular, true) testUser2ActivityLinksAvailability(t, userRegular, true, false, true)
testUser2ActivityButtonsAvailability(t, userGuest, true) testUser2ActivityLinksAvailability(t, userGuest, true, false, false)
// Verify the hint for all types of users: admin, self, guest // Verify the hint for all types of users: admin, self, guest
testUser2ActivityVisibility(t, userAdmin, "This activity is visible to everyone, but as an administrator you can also see interactions in private spaces.", true) testUser2ActivityVisibility(t, userAdmin, "This activity is visible to everyone, but as an administrator you can also see interactions in private spaces.", true)
@ -63,15 +63,15 @@ func TestUserProfileActivity(t *testing.T) {
// Set profile visibility of user2 back to public // Set profile visibility of user2 back to public
testChangeUserProfileVisibility(t, userRegular, structs.VisibleTypePublic) testChangeUserProfileVisibility(t, userRegular, structs.VisibleTypePublic)
// = Private acitivty = // = Private activity =
// Set activity visibility of user2 to private // Set activity visibility of user2 to private
testChangeUserActivityVisibility(t, userRegular, "on") testChangeUserActivityVisibility(t, userRegular, "on")
// Verify availability of RSS button and activity tab // Verify availability of activity tab and other links
testUser2ActivityButtonsAvailability(t, userAdmin, true) testUser2ActivityLinksAvailability(t, userAdmin, true, true, false)
testUser2ActivityButtonsAvailability(t, userRegular, true) testUser2ActivityLinksAvailability(t, userRegular, true, false, true)
testUser2ActivityButtonsAvailability(t, userGuest, false) testUser2ActivityLinksAvailability(t, userGuest, false, false, false)
// Verify the hint for all types of users: admin, self, guest // Verify the hint for all types of users: admin, self, guest
testUser2ActivityVisibility(t, userAdmin, "This activity is visible to you because you're an administrator, but the user wants it to remain private.", true) testUser2ActivityVisibility(t, userAdmin, "This activity is visible to you because you're an administrator, but the user wants it to remain private.", true)
@ -112,10 +112,7 @@ func testUser2ActivityVisibility(t *testing.T, session *TestSession, hint string
hintLink, hintLinkExists := page.Find("#visibility-hint a").Attr("href") hintLink, hintLinkExists := page.Find("#visibility-hint a").Attr("href")
// Check that the hint aligns with the actual feed availability // Check that the hint aligns with the actual feed availability
assert.Equal(t, availability, page.Find("#activity-feed").Length() > 0) page.AssertElement(t, "#activity-feed", availability)
// Check availability of RSS feed button too
assert.Equal(t, availability, page.Find("#profile-avatar-card a[href='/sub/user2.rss']").Length() > 0)
// Check that the current tab is displayed and is active regardless of it's actual availability // Check that the current tab is displayed and is active regardless of it's actual availability
// For example, on /<user> it wouldn't be available to guest, but it should be still present on /<user>?tab=activity // For example, on /<user> it wouldn't be available to guest, but it should be still present on /<user>?tab=activity
@ -126,10 +123,21 @@ func testUser2ActivityVisibility(t *testing.T, session *TestSession, hint string
return "" return ""
} }
// testUser2ActivityButtonsAvailability checks visibility of Public activity tab on main profile page // testUser2ActivityLinksAvailability checks visibility of:
func testUser2ActivityButtonsAvailability(t *testing.T, session *TestSession, buttons bool) { // * Public activity tab on main profile page
// * user details, profile edit, feed links
func testUser2ActivityLinksAvailability(t *testing.T, session *TestSession, activity, adminLink, editLink bool) {
t.Helper() t.Helper()
response := session.MakeRequest(t, NewRequest(t, "GET", "/user2"), http.StatusOK) response := session.MakeRequest(t, NewRequest(t, "GET", "/user2"), http.StatusOK)
page := NewHTMLParser(t, response.Body) page := NewHTMLParser(t, response.Body)
assert.Equal(t, buttons, page.Find("overflow-menu .item[href='/sub/user2?tab=activity']").Length() > 0) page.AssertElement(t, "overflow-menu .item[href='/sub/user2?tab=activity']", activity)
// User details - for admins only
page.AssertElement(t, "#profile-avatar-card a[href='/sub/admin/users/2']", adminLink)
// Edit profile - for self only
page.AssertElement(t, "#profile-avatar-card a[href='/sub/user/settings']", editLink)
// Feed links
page.AssertElement(t, "#profile-avatar-card a[href='/sub/user2.rss']", activity)
page.AssertElement(t, "#profile-avatar-card a[href='/sub/user2.atom']", activity)
} }

View file

@ -19,6 +19,7 @@
@import "./modules/dimmer.css"; @import "./modules/dimmer.css";
@import "./modules/switch.css"; @import "./modules/switch.css";
@import "./modules/dropdown.css";
@import "./modules/select.css"; @import "./modules/select.css";
@import "./modules/tippy.css"; @import "./modules/tippy.css";
@import "./modules/breadcrumb.css"; @import "./modules/breadcrumb.css";

View file

@ -0,0 +1,118 @@
/* This is an implementation of a dropdown menu based on details HTML tag.
* It is inspired by https://picocss.com/docs/dropdown.
*
* NoJS mode could be improved by forcing the same [name] onto all dropdowns, so
* that the browser will automatically close all but the one that was just opened
* using keyboard. But the code doing that will not be as clean.
*/
:root details.dropdown {
--dropdown-box-shadow: 0 6px 18px var(--color-shadow);
--dropdown-item-padding: 0.5rem 0.75rem;
}
@media (pointer: coarse) {
:root details.dropdown {
--dropdown-item-padding: 0.75rem 1rem;
}
}
details.dropdown {
position: relative;
}
details.dropdown > summary {
/* Optional flex+gap in case summary contains multiple elements */
display: flex;
gap: 0.75rem;
align-items: center;
/* Cancel some of default styling */
user-select: none;
list-style-type: none;
/* Main visual properties */
border-radius: var(--border-radius);
padding: 0.5rem;
}
details.dropdown > summary:hover,
details.dropdown > summary + ul > li:hover {
background: var(--color-hover);
}
details.dropdown[open] > summary,
details.dropdown > summary + ul > li:focus-within {
background: var(--color-active);
}
/* NoJS mode. Creates a virtual fullscreen area. Clicking it closes the dropdown. */
.no-js details.dropdown[open] > summary::before {
z-index: 1;
position: fixed;
width: 100vw;
height: 100vh;
inset: 0;
background: 0 0;
content: "";
cursor: default;
}
details.dropdown > summary + ul {
z-index: 99;
position: absolute;
min-width: max-content;
margin: 0;
margin-top: 0.5rem;
padding: 0;
display: flex;
flex-direction: column;
list-style-type: none;
border-radius: var(--border-radius);
background: var(--color-body);
box-shadow: var(--dropdown-box-shadow);
border: 1px solid var(--color-secondary);
}
details.dropdown > summary + ul > li {
width: 100%;
background: none;
}
details.dropdown > summary + ul > li:first-child {
border-radius: var(--border-radius) var(--border-radius) 0 0;
}
details.dropdown > summary + ul > li:last-child {
border-radius: 0 0 var(--border-radius) var(--border-radius);
}
/* dir-auto option - switch the direction at a width point where most of layout changes occur. */
/* There's no way to check with CSS if LTR dropdown will fit on screen without JS. */
@media (max-width: 767.98px) {
details.dropdown.dir-auto > summary + ul {
inset-inline: 0 auto;
direction: rtl;
}
details.dropdown.dir-auto > summary + ul > li {
direction: ltr;
}
}
/* Note: https://css-tricks.com/css-anchor-positioning-guide/
* looks like a great thing but FF still doesn't support it. */
/* Note: dropdown.dir-rtl can be implemented when needed, e.g. for navbar profile dropdown on desktop layout. */
details.dropdown > summary + ul > li > .item {
padding: var(--dropdown-item-padding);
width: 100%;
display: flex;
gap: 0.75rem;
align-items: center;
color: var(--color-text);
/* Suppress underline - hover is indicated by background color */
text-decoration: none;
}
/* Cancel default styling of button elements */
details.dropdown > summary + ul > li button {
background: none;
}

View file

@ -21,25 +21,26 @@
} }
.user.profile .ui.card .extra.content > ul > li { .user.profile .ui.card .extra.content > ul > li {
padding: 10px;
display: flex; display: flex;
padding: 0.75rem;
gap: 0.5rem;
list-style: none; list-style: none;
align-items: center; align-items: center;
gap: 0.25em;
} }
.user.profile .ui.card .extra.content > ul > li:not(:last-child) { .user.profile .ui.card .extra.content > ul > li:not(:last-child) {
border-bottom: 1px solid var(--color-secondary); border-bottom: 1px solid var(--color-secondary);
} }
.user.profile .ui.card .extra.content > ul > li .svg { .user.profile .ui.card .actions {
margin-left: 1px; padding: 0.75rem;
margin-right: 5px; display: grid;
grid-template-columns: 1fr auto;
align-items: center;
gap: 0.75rem;
} }
.user.profile .ui.card .extra.content > ul > li.follow .ui.button, .user.profile .ui.card .primary-action .ui.button {
.user.profile .ui.card .extra.content > ul > li.block .ui.button,
.user.profile .ui.card .extra.content > ul > li.report .ui.button {
align-items: center; align-items: center;
display: flex; display: flex;
justify-content: center; justify-content: center;

View file

@ -182,9 +182,9 @@
"peer": true "peer": true
}, },
"node_modules/@octokit/core/node_modules/@octokit/request": { "node_modules/@octokit/core/node_modules/@octokit/request": {
"version": "10.0.2", "version": "10.0.3",
"resolved": "https://registry.npmjs.org/@octokit/request/-/request-10.0.2.tgz", "resolved": "https://registry.npmjs.org/@octokit/request/-/request-10.0.3.tgz",
"integrity": "sha512-iYj4SJG/2bbhh+iIpFmG5u49DtJ4lipQ+aPakjL9OKpsGY93wM8w06gvFbEQxcMsZcCvk5th5KkIm2m8o14aWA==", "integrity": "sha512-V6jhKokg35vk098iBqp2FBKunk3kMTXlmq+PtbV9Gl3TfskWlebSofU9uunVKhUN7xl+0+i5vt0TGTG8/p/7HA==",
"license": "MIT", "license": "MIT",
"peer": true, "peer": true,
"dependencies": { "dependencies": {
@ -289,9 +289,9 @@
"peer": true "peer": true
}, },
"node_modules/@octokit/graphql/node_modules/@octokit/request": { "node_modules/@octokit/graphql/node_modules/@octokit/request": {
"version": "10.0.2", "version": "10.0.3",
"resolved": "https://registry.npmjs.org/@octokit/request/-/request-10.0.2.tgz", "resolved": "https://registry.npmjs.org/@octokit/request/-/request-10.0.3.tgz",
"integrity": "sha512-iYj4SJG/2bbhh+iIpFmG5u49DtJ4lipQ+aPakjL9OKpsGY93wM8w06gvFbEQxcMsZcCvk5th5KkIm2m8o14aWA==", "integrity": "sha512-V6jhKokg35vk098iBqp2FBKunk3kMTXlmq+PtbV9Gl3TfskWlebSofU9uunVKhUN7xl+0+i5vt0TGTG8/p/7HA==",
"license": "MIT", "license": "MIT",
"peer": true, "peer": true,
"dependencies": { "dependencies": {
@ -494,9 +494,9 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/@types/node": { "node_modules/@types/node": {
"version": "24.0.1", "version": "24.0.3",
"resolved": "https://registry.npmjs.org/@types/node/-/node-24.0.1.tgz", "resolved": "https://registry.npmjs.org/@types/node/-/node-24.0.3.tgz",
"integrity": "sha512-MX4Zioh39chHlDJbKmEgydJDS3tspMP/lnQC67G3SWsTnb9NeYVWOjkxpOSy4oMfPs4StcWHwBrvUb4ybfnuaw==", "integrity": "sha512-R4I/kzCYAdRLzfiCabn9hxWfbuHS573x+r0dJMkkzThEa7pbrcDWK+9zu3e7aBOouf+rQAciqPFMnxwr0aWgKg==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"undici-types": "~7.8.0" "undici-types": "~7.8.0"
@ -1249,9 +1249,9 @@
} }
}, },
"node_modules/caniuse-lite": { "node_modules/caniuse-lite": {
"version": "1.0.30001723", "version": "1.0.30001724",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001723.tgz", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001724.tgz",
"integrity": "sha512-1R/elMjtehrFejxwmexeXAtae5UO9iSyFn6G/I806CYC/BLyyBk1EPhrKBkWhy6wM6Xnm47dSJQec+tLJ39WHw==", "integrity": "sha512-WqJo7p0TbHDOythNTqYujmaJTvtYRZrjpP8TCvH6Vb9CYJerJNKamKzIWOM4BkQatWj9H2lYulpdAQNBe7QhNA==",
"funding": [ "funding": [
{ {
"type": "opencollective", "type": "opencollective",
@ -2005,9 +2005,9 @@
} }
}, },
"node_modules/electron-to-chromium": { "node_modules/electron-to-chromium": {
"version": "1.5.167", "version": "1.5.171",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.167.tgz", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.171.tgz",
"integrity": "sha512-LxcRvnYO5ez2bMOFpbuuVuAI5QNeY1ncVytE/KXaL6ZNfzX1yPlAO0nSOyIHx2fVAuUprMqPs/TdVhUFZy7SIQ==", "integrity": "sha512-scWpzXEJEMrGJa4Y6m/tVotb0WuvNmasv3wWVzUAeCgKU0ToFOhUW6Z+xWnRQANMYGxN4ngJXIThgBJOqzVPCQ==",
"license": "ISC" "license": "ISC"
}, },
"node_modules/emoji-regex": { "node_modules/emoji-regex": {
@ -2017,9 +2017,9 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/end-of-stream": { "node_modules/end-of-stream": {
"version": "1.4.4", "version": "1.4.5",
"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz",
"integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"once": "^1.4.0" "once": "^1.4.0"
@ -2787,9 +2787,9 @@
} }
}, },
"node_modules/get-stream/node_modules/pump": { "node_modules/get-stream/node_modules/pump": {
"version": "3.0.2", "version": "3.0.3",
"resolved": "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.3.tgz",
"integrity": "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==", "integrity": "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"end-of-stream": "^1.1.0", "end-of-stream": "^1.1.0",

View file

@ -391,7 +391,7 @@ export default {
<div class="ui top attached header tw-flex tw-flex-1"> <div class="ui top attached header tw-flex tw-flex-1">
<b class="ui right">#{{ index + 1 }}</b> <b class="ui right">#{{ index + 1 }}</b>
<a :href="contributor.home_link"> <a :href="contributor.home_link">
<img class="ui avatar tw-align-middle" height="40" width="40" :src="contributor.avatar_link" alt=""> <img class="ui avatar tw-align-middle" height="40" width="40" :src="contributor.avatar_link" alt="" loading="lazy">
</a> </a>
<div class="tw-ml-2"> <div class="tw-ml-2">
<a v-if="contributor.home_link !== ''" :href="contributor.home_link"><h4>{{ contributor.name }}</h4></a> <a v-if="contributor.home_link !== ''" :href="contributor.home_link"><h4>{{ contributor.name }}</h4></a>

View file

@ -167,6 +167,7 @@ export function initRepoIssueSidebarList() {
}); });
}); });
// FIXME: this is broken, see discussion https://codeberg.org/forgejo/forgejo/pulls/8199
$('.menu .ui.dropdown.label-filter').on('keydown', (e) => { $('.menu .ui.dropdown.label-filter').on('keydown', (e) => {
if (e.altKey && e.keyCode === 13) { if (e.altKey && e.keyCode === 13) {
const selectedItem = document.querySelector('.menu .ui.dropdown.label-filter .menu .item.selected'); const selectedItem = document.querySelector('.menu .ui.dropdown.label-filter .menu .item.selected');

View file

@ -75,6 +75,7 @@ import {initCopyContent} from './features/copycontent.js';
import {initCaptcha} from './features/captcha.js'; import {initCaptcha} from './features/captcha.js';
import {initRepositoryActionView} from './components/RepoActionView.vue'; import {initRepositoryActionView} from './components/RepoActionView.vue';
import {initGlobalTooltips} from './modules/tippy.js'; import {initGlobalTooltips} from './modules/tippy.js';
import {initDropdowns} from './modules/dropdown.ts';
import {initGiteaFomantic} from './modules/fomantic.js'; import {initGiteaFomantic} from './modules/fomantic.js';
import {onDomReady} from './utils/dom.js'; import {onDomReady} from './utils/dom.js';
import {initRepoIssueList} from './features/repo-issue-list.js'; import {initRepoIssueList} from './features/repo-issue-list.js';
@ -103,6 +104,7 @@ onDomReady(() => {
initGlobalEnterQuickSubmit(); initGlobalEnterQuickSubmit();
initGlobalFormDirtyLeaveConfirm(); initGlobalFormDirtyLeaveConfirm();
initGlobalLinkActions(); initGlobalLinkActions();
initDropdowns();
initCommonOrganization(); initCommonOrganization();
initCommonIssueListQuickGoto(); initCommonIssueListQuickGoto();
@ -191,4 +193,7 @@ onDomReady(() => {
initGltfViewer(); initGltfViewer();
initScopedAccessTokenCategories(); initScopedAccessTokenCategories();
initColorPickers(); initColorPickers();
// Deactivate CSS-only noJS usability supplements
document.body.classList.remove('no-js');
}); });

View file

@ -0,0 +1,35 @@
// Copyright 2025 The Forgejo Authors. All rights reserved.
// SPDX-License-Identifier: GPL-3.0-or-later
// Details can be opened by clicking summary or by pressing Space or Enter while
// being focused on summary. But without JS options for closing it are limited.
// Event listeners in this file provide more convenient options for that:
// click iteration with anything on the page and pressing Escape.
export function initDropdowns() {
document.addEventListener('click', (event) => {
const dropdown = document.querySelector<HTMLDetailsElement>('details.dropdown[open]');
// No open dropdowns on page, nothing to do.
if (dropdown === null) return;
const target = event.target as HTMLElement;
// User clicked something in the open dropdown, don't interfere.
if (dropdown.contains(target)) return;
// User clicked something that isn't the open dropdown, so close it.
dropdown.removeAttribute('open');
});
// Close open dropdowns on Escape press
document.addEventListener('keydown', (event) => {
// This press wasn't escape, nothing to do.
if (event.key !== 'Escape') return;
const dropdown = document.querySelector<HTMLDetailsElement>('details.dropdown[open]');
// No open dropdowns on page, nothing to do.
if (dropdown === null) return;
// User pressed Escape while having an open dropdown, probably wants it be closed.
dropdown.removeAttribute('open');
});
}

View file

@ -1,3 +1,4 @@
import {expect, test} from 'vitest';
import { import {
basename, extname, isObject, stripTags, parseIssueHref, basename, extname, isObject, stripTags, parseIssueHref,
parseUrl, translateMonth, translateDay, blobToDataURI, parseUrl, translateMonth, translateDay, blobToDataURI,
@ -182,5 +183,5 @@ async function testSleep(ms) {
await sleep(ms); await sleep(ms);
const endTime = Date.now(); // Record the end time const endTime = Date.now(); // Record the end time
const actualSleepTime = endTime - startTime; const actualSleepTime = endTime - startTime;
expect(actualSleepTime >= ms).toBeTruthy(); expect(actualSleepTime).toBeGreaterThanOrEqual(ms);
} }