Compare commits

...

71 Commits

Author SHA1 Message Date
silverwind 934fa46f76
Add `/options/license` and `/options/gitignore` to `.ignore` (#30219)
Ignore this folder in tools like `rg` or `ag`. Also sorted the entries
alphabetically.
2024-03-31 22:22:29 +02:00
silverwind ff334749f5
Remove fomantic input module (#30194)
Another pure CSS module. Some styling is part of the `form` module which
will likely follow next.
2024-03-31 16:06:06 +00:00
Yarden Shoham 0497b2607d
Remove most jQuery function calls from the repository topic box (#30191)
Remove most jQuery function calls

---------

Signed-off-by: Yarden Shoham <git@yardenshoham.com>
Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2024-03-31 15:39:50 +00:00
silverwind 8da9130c1f
Prevent flash of dropdown menu on labels list (#30215)
On the labels list, This `left` class caused the dropdown content to
flash on page load until JS had hidden it. Remove it as I see no purpose
to it.

<img width="215" alt="image"
src="https://github.com/go-gitea/gitea/assets/115237/9e1de97f-dd89-41e0-9229-5c4a786ba762">

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2024-03-31 16:58:55 +02:00
Yarden Shoham ef5892d988
Remove jQuery class from the `repo-issue.js` file (#30192)
Switched from jQuery class functions to plain JavaScript `classList`.

Tested the following functionalities and they work as before:
- delete issue comment
- cancel code comment
- update (merge or rebase) pull request
- re-request review
- reply to code comment
- show/hide outdated comments
- add code comment
- edit issue title

---------

Signed-off-by: Yarden Shoham <git@yardenshoham.com>
Co-authored-by: silverwind <me@silverwind.io>
2024-03-31 12:01:21 +00:00
silverwind 38d56ca106
Ignore fomantic folder in linters (#30200)
We are not linting these files but editor integrations will still try to
lint, disable that.
2024-03-31 11:41:28 +00:00
silverwind f691721714
Remove `modifies/frontend` from labeler (#30198)
Remove this label, I find it barely useful and we already have more
useful labels like `modifies/js`. Backport so that we can eventually
delete that label.

Co-authored-by: Giteabot <teabot@gitea.io>
2024-03-31 13:35:11 +02:00
Yarden Shoham f8fbaaf26f
Make a distinction between `active` and `selected` in the issue author dropdown (#30207)
Signed-off-by: Yarden Shoham <git@yardenshoham.com>
2024-03-31 11:27:39 +00:00
silverwind 44dd6d6927
Move and simplify tab-size helpers (#30196)
Tailwind does not support. Dropped the vendor-prefix.

Co-authored-by: Giteabot <teabot@gitea.io>
2024-03-31 11:22:28 +00:00
wxiaoguang ab028356c7
Fix markdown color code detection (#30208)
When reviewing PRs, some color names might be mentioned, the
`transformCodeSpan` (which calls `css.ColorHandler`) considered it as a
valid color, but actually it shouldn't be rendered as a color codespan.
2024-03-31 19:17:34 +08:00
wxiaoguang 6d34ce25b1
Do not allow different storage configurations to point to the same directory (#30169)
Replace #29171
2024-03-31 03:03:24 +00:00
KN4CK3R 82ffd91607
Fix GPG subkey verify (#30193)
Fixes #30189

Can't verify subkeys if they are not loaded.
2024-03-31 02:35:19 +00:00
GiteaBot 7eb3ab0765 [skip ci] Updated translations via Crowdin 2024-03-31 00:27:17 +00:00
silverwind 640850e15f
Fix unclickable checkboxes (#30195)
Fix https://github.com/go-gitea/gitea/issues/30185, regression from
https://github.com/go-gitea/gitea/pull/30162.

The checkboxes were unclickable because the label was positioned over
the checkbox with `padding`. Now it uses `margin` so the checkbox itself
will be clickable in all cases.

Secondly, I changed the for/id linking to also add missing `for`
attributes when `id` is present. The other way around (only `for`
present) is currently not handled and I think there are likey no
occurences in the code and introducing new non-generated `id`s might
cause problems elsewhere if we do, so I skipped on that.
2024-03-31 02:00:58 +02:00
Yarden Shoham 72a5d3faa8
Remove jQuery class from the issue author dropdown (#30188)
- Switched from jQuery class functions to plain JavaScript `classList`
- Tested the issue author dropdown functionality and it works as before

Signed-off-by: Yarden Shoham <git@yardenshoham.com>
Co-authored-by: Giteabot <teabot@gitea.io>
2024-03-30 22:14:57 +00:00
Yarden Shoham 6aeff21b76
Remove jQuery class from the comment edit history (#30186)
- Switched from jQuery class functions to plain JavaScript `classList`
- Tested the comment edit history functionality and it works as before

Signed-off-by: Yarden Shoham <git@yardenshoham.com>
Co-authored-by: Giteabot <teabot@gitea.io>
2024-03-30 23:09:46 +01:00
Yarden Shoham 2b3f7d3e96
Remove jQuery class from the repository branch settings (#30184)
- Switched from jQuery class functions to plain JavaScript `classList`
- Tested the repository branch settings functionality and it works as
before

Signed-off-by: Yarden Shoham <git@yardenshoham.com>
2024-03-30 22:30:00 +01:00
GiteaBot bcf3be3a6c [skip ci] Updated translations via Crowdin 2024-03-30 18:47:50 +00:00
Denys Konovalov f32ce753f6
Use Crowdin action for translation sync (#30054)
Switch from the old self-built action to the official one.

We get:
- config managed inside the repo
- automatic upload when source file changes
- automatic invalidation if source string changes (tested)
- automatic download of new translation files

Tested both upload and download.
2024-03-30 18:11:50 +00:00
Yarden Shoham b535c6ca7b
Remove jQuery class from the project page (#30183)
- Switched from jQuery class functions to plain JavaScript `classList`
- Tested the edit column modal functionality and it works as before

Signed-off-by: Yarden Shoham <git@yardenshoham.com>
2024-03-30 18:36:28 +01:00
Yarden Shoham 66f7d47d2c
Remove jQuery class from the comment context menu (#30179)
- Switched from jQuery class functions to plain JavaScript
- Tested the comment context menu functionality and it works as before

---------

Signed-off-by: Yarden Shoham <git@yardenshoham.com>
Co-authored-by: silverwind <me@silverwind.io>
2024-03-30 10:40:39 +01:00
KN4CK3R b6a3cd4b8d
Include encoding in signature payload (#30174)
Fixes #30119

Include the encoding in the signature payload.

before

![grafik](https://github.com/go-gitea/gitea/assets/1666336/01ab94a3-8af5-4d6f-be73-a10b65a15421)

after

![grafik](https://github.com/go-gitea/gitea/assets/1666336/3a37d438-c70d-4d69-b178-d170e74aa683)
2024-03-29 21:55:10 +00:00
silverwind f31a88d3cb
Add `stylelint-value-no-unknown-custom-properties` and convert stylelint config to js (#30117)
Add
[`stylelint-value-no-unknown-custom-properties`](https://github.com/csstools/stylelint-value-no-unknown-custom-properties)
which lints for undefined CSS variables. No current violations.

To make it work properly with editor integrations, I had to convert the
config to JS to be able to pass absolute paths to the plugin, but this
is a needed change anyways.
2024-03-29 20:32:35 +00:00
Yarden Shoham 42870cf402
Remove jQuery class from the commit button (#30178)
- Switched from jQuery class functions to plain JavaScript `classList`
- Tested the commit button disabled toggling functionality and it works
as before

---------

Signed-off-by: Yarden Shoham <git@yardenshoham.com>
Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: Giteabot <teabot@gitea.io>
2024-03-29 20:24:17 +01:00
Yarden Shoham c487a32bcd
Remove jQuery class from the diff view (#30176)
- Switched from jQuery class functions to plain JavaScript `classList`
- Tested the diff view functionality and it works as before

---------

Signed-off-by: Yarden Shoham <git@yardenshoham.com>
Co-authored-by: silverwind <me@silverwind.io>
2024-03-29 18:51:44 +00:00
Yarden Shoham 56ac5f18e8
Remove jQuery class from the notification count (#30172)
- Switched from jQuery class functions to plain JavaScript `classList`
- Tested the notification count and it works as before

---------

Signed-off-by: Yarden Shoham <git@yardenshoham.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: Giteabot <teabot@gitea.io>
2024-03-29 17:17:21 +00:00
Yarden Shoham 911993429f
Remove jQuery class from the code range selection (#30173)
- Switched from jQuery class functions to plain JavaScript `classList`
- Tested the code range selection functionality and it works as before

Signed-off-by: Yarden Shoham <git@yardenshoham.com>
2024-03-29 18:08:54 +01:00
HEREYUA c9068ef9e4
Fix:the rounded corners of the folded file are not displayed correctly (#29953)
Fix:    [#29933](https://github.com/go-gitea/gitea/issues/29933)

**Before**


![image](https://github.com/go-gitea/gitea/assets/37935145/71ec80f6-5896-4e4a-b686-4d792c11ebe2)


**After**


![image](https://github.com/go-gitea/gitea/assets/37935145/81348a61-946a-4562-881d-8d873e50228f)

---------

Co-authored-by: silverwind <me@silverwind.io>
2024-03-29 15:39:46 +00:00
Jack Hay 59d4aadba5
Add setting to disable user features when user login type is not plain (#29615)
## Changes
- Adds setting `EXTERNAL_USER_DISABLE_FEATURES` to disable any supported
user features when login type is not plain
- In general, this is necessary for SSO implementations to avoid
inconsistencies between the external account management and the linked
account
- Adds helper functions to encourage correct use
2024-03-29 16:05:41 +01:00
Yarden Shoham 849eee8db7
Remove jQuery class from the image diff (#30140)
- Switched from jQuery class functions to plain JavaScript `classList`
- Tested the image diff and it works as before

---------

Signed-off-by: Yarden Shoham <git@yardenshoham.com>
Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2024-03-29 12:40:17 +00:00
silverwind 8fd15990c5
Remove fomantic checkbox module (#30162)
CSS is pretty slim already and the `.ui.toggle.checkbox` sliders on
admin page also still work. The only necessary JS is the one that links
`input` and `label` so that it can be toggled via label. All checkboxes
except the markdown ones render at `--checkbox-size: 16px` now.

<img width="174" alt="Screenshot 2024-03-28 at 22 15 10"
src="https://github.com/go-gitea/gitea/assets/115237/3455c1bb-166b-47e4-9847-2d20dd1f04db">

<img width="499" alt="Screenshot 2024-03-28 at 21 00 07"
src="https://github.com/go-gitea/gitea/assets/115237/412be2b3-d5a0-478a-b17b-43e6bc12e8ce">

<img width="83" alt="Screenshot 2024-03-28 at 22 14 34"
src="https://github.com/go-gitea/gitea/assets/115237/d8c89838-a420-4723-8c49-89405bb39474">

---------

Co-authored-by: delvh <dev.lh@web.de>
2024-03-29 04:56:01 +00:00
Lunny Xiao 8acc7aab4c
Refactor topic Find functions and add more tests for pagination (#30127)
This also fixed #22238
2024-03-29 11:38:16 +08:00
silverwind dd8dde2be8
replace jquery-minicolors with coloris (#30055)
Get rid of one more jQuery dependant and have a nicer color picker as
well.

Now there is only a single global color picker init because that is all
that's necessary because the elements are present on the page when the
init code runs. The init is slightly weird because the module only takes
a selector instead of DOM elements directly.

The label modals now also perform form validation because previously it
was possible to trigger a 500 error `Color cannot be empty.` by clearing
out the color value on labels.

<img width="867" alt="Screenshot 2024-03-25 at 00 21 05"
src="https://github.com/go-gitea/gitea/assets/115237/71215c39-abb1-4881-b5c1-9954b4a89adb">
<img width="860" alt="Screenshot 2024-03-25 at 00 20 48"
src="https://github.com/go-gitea/gitea/assets/115237/a12cb68f-c38b-4433-ba05-53bbb4b1023e">
2024-03-29 04:00:07 +01:00
sillyguodong 62b073e6f3
Add API for `Variables` (#29520)
close #27801

---------

Co-authored-by: silverwind <me@silverwind.io>
2024-03-28 20:40:35 +00:00
yp05327 6103623596
Fix `DEFAULT_SHOW_FULL_NAME=false` has no effect in commit list and commit graph page (#30096)
Fix #20446

This PR will fix the username in:
repo home page

![image](https://github.com/go-gitea/gitea/assets/18380374/347c0f70-ea42-432d-aae3-bf87a7e07ae1)
repo commit list page

![image](https://github.com/go-gitea/gitea/assets/18380374/b3b1f5d5-c371-4222-ac2e-64b8994c7551)
repo commit graph page

![image](https://github.com/go-gitea/gitea/assets/18380374/01b7117c-3aea-4d7d-8bd1-35e5ea942821)
pr commit page

![image](https://github.com/go-gitea/gitea/assets/18380374/4d180c30-2150-4348-8eeb-0b4b2559ec19)

Will not fix:
wiki revisions page:

![image](https://github.com/go-gitea/gitea/assets/18380374/b49df6bf-d751-4374-b7ea-1ac85e2739e3)
ps: the author name is `FullName` by default
2024-03-28 15:15:39 -04:00
Lunny Xiao 40cdc84b36
Fix migration v292 (#30153)
Fix https://github.com/go-gitea/gitea/pull/29874#discussion_r1542227686

- The migration of v292 will miss many projects. These projects will
have no default board. This PR introduced a new migration number and
removed v292 migration.

- This PR also added the missed transactions on project-related
operations.

- Only `SetDefaultBoard` will remove duplicated defaults but not in
`GetDefaultBoard`
2024-03-28 16:14:30 +00:00
Paweł Bogusławski 9585e19bb4
Adjust VS Code debug filename match in .gitignore (#30158) 2024-03-28 11:24:30 -04:00
Kemal Zebari 242b331260
Prevent re-review and dismiss review actions on closed and merged PRs (#30065)
Resolves #29965.

---
Manually tested this by:
- Following the
[installation](https://docs.gitea.com/next/installation/install-with-docker#basics)
guide (but built a local Docker image instead)
- Creating 2 users, one who is the `Owner` of a newly-created repository
and the other a `Collaborator`
- Had the `Collaborator` create a PR that the `Owner` reviews
- `Collaborator` resolves conversation and `Owner` merges PR

And with this change we see that we can no longer see re-request review
button for the `Owner`:

<img width="1351" alt="Screenshot 2024-03-25 at 12 39 18 AM"
src="https://github.com/go-gitea/gitea/assets/60799661/bcd9c579-3cf7-474f-a51e-b436fe1a39a4">
2024-03-28 15:19:24 +00:00
silverwind e40fc75bac
Render code tags in commit messages (#30146)
Extend https://github.com/go-gitea/gitea/pull/21432 to commit messages.
Color is changed because the markup code block bg does not offer enough
contrast on varying backgrounds.

<img width="568" alt="Screenshot 2024-03-27 at 19 52 55"
src="https://github.com/go-gitea/gitea/assets/115237/ddc9307e-f32f-4e97-8b88-91f88ced2a36">
<img width="573" alt="Screenshot 2024-03-27 at 19 53 33"
src="https://github.com/go-gitea/gitea/assets/115237/14b30fd2-bf28-46b8-9e82-eb60a28f6bf2">
<img width="422" alt="Screenshot 2024-03-27 at 19 53 01"
src="https://github.com/go-gitea/gitea/assets/115237/a12136b5-c02b-460c-9830-f830542987ae">
<img width="397" alt="Screenshot 2024-03-27 at 19 53 27"
src="https://github.com/go-gitea/gitea/assets/115237/c9f05d81-c73e-468e-98e9-e5929bc0da3e">
<img width="333" alt="Screenshot 2024-03-27 at 19 53 07"
src="https://github.com/go-gitea/gitea/assets/115237/06b5a9f9-f95d-46b6-8c57-df0b02555652">
<img width="279" alt="Screenshot 2024-03-27 at 19 53 21"
src="https://github.com/go-gitea/gitea/assets/115237/b06a0afc-ddd8-48ae-b557-a6dc47802e68">
2024-03-28 10:42:31 +00:00
Yarden Shoham eca4c48534
Bump `@github/relative-time-element` to v4.4.0 (#30154)
I tested and all timestamps work as before.

Signed-off-by: Yarden Shoham <git@yardenshoham.com>
2024-03-28 10:42:08 +01:00
silverwind 226a82a939
Migrate font-family to tailwind (#30118)
Enable us to use tailwind's
[`font-family`](https://tailwindcss.com/docs/font-family) classes as
well as remove `gt-mono` in favor of `tw-font-mono`. I also merged the
"compensation" to one selector, previously this was two different values
0.9em and 0.95em. I did not declare a `serif` font because I don't think
there will ever be a use case for those. Command ran:

```sh
perl -p -i -e 's#gt-mono#tw-font-mono#g' web_src/js/**/* templates/**/*
2024-03-28 08:31:07 +00:00
YR Chen 7443a10fc3
Move from `max( id )` to `max( index )` for latest commit statuses (#30076)
This PR replaces the use of `max( id )`, and instead using ``max(
`index` )`` for determining the latest commit status. Building business
logic over an `auto_increment` primary key like `id` is risky and
there’re already plenty of discussions on the Internet.

There‘s no guarantee for `auto_increment` values to be monotonic,
especially upon failures or with a cluster. In the specific case, we met
the problem of commit statuses being outdated when using TiDB as the
database. As [being
documented](https://docs.pingcap.com/tidb/stable/auto-increment),
`auto_increment` values assigned to an `insert` statement will only be
monotonic on a per server (node) basis.

Closes #30074.
2024-03-28 16:01:15 +08:00
delvh 0d5abe3454
Remember login for a month by default (#30150)
Previously, the default was a week.
As most instances don't set the setting, this leads to a bad user
experience by default.

## ⚠️ Breaking

If your instance requires a high level of security,
you may want to set `[security].LOGIN_REMEMBER_DAYS` so that logins are
not valid as long.

---------

Co-authored-by: Jason Song <i@wolfogre.com>
2024-03-28 03:13:42 +00:00
HEREYUA 7ba485bd49
Apply to become a maintainer (#30151)
PRs:https://github.com/go-gitea/gitea/pulls?q=is%3Apr+author%3AHEREYUA+is%3Aclosed

Discord: hereyua
2024-03-28 02:47:05 +00:00
wxiaoguang 71706126b5
Refactor markdown render (#30139)
Only split the file into small ones (and rename AttentionTypes to
attentionTypes)
2024-03-28 02:26:13 +00:00
silverwind 7fda109aba
Drag-and-drop improvements for projects and issue pins (#29875)
1. Add "grabbing" cursor while dragging items:


![](https://github.com/go-gitea/gitea/assets/115237/c60845ff-7544-4215-aeaa-408e8c4ef03a)

2. Make project board only drag via their header, not via their whole
body.


![](https://github.com/go-gitea/gitea/assets/115237/62c27f3d-993a-481d-9cc3-b6226b4c5d61)

3. Fix some cursor problems in projects
4. Move shared options into `createSortable`.
2024-03-28 00:20:38 +01:00
silverwind b08c7afe5f
Fix table alignment classes (#30144)
Fixes https://github.com/go-gitea/gitea/issues/30142, regression from
https://github.com/go-gitea/gitea/pull/30047. I searched the codebase
and only `bottom aligned` was definitely not in use so I removed it.
2024-03-27 21:47:40 +00:00
Denys Konovalov e5160185ed
Add default board to new projects, remove uncategorized pseudo-board (#29874)
On creation of an empty project (no template) a default board will be
created instead of falling back to the uneditable pseudo-board.

Every project now has to have exactly one default boards. As a
consequence, you cannot unset a board as default, instead you have to
set another board as default. Existing projects will be modified using a
cron job, additionally this check will run every midnight by default.

Deleting the default board is not allowed, you have to set another board
as default to do it.

Fixes #29873
Fixes #14679 along the way
Fixes #29853

Co-authored-by: delvh <dev.lh@web.de>
2024-03-27 20:54:32 +00:00
silverwind 4eb86d6823
Fix loading spinner on ContextPopup (#30145)
Fix regression from https://github.com/go-gitea/gitea/pull/26670. Here
with simulated delay:


![](https://github.com/go-gitea/gitea/assets/115237/9de5a136-c8a6-4d69-adc7-07e1184e3311)
2024-03-27 20:18:04 +00:00
silverwind c85619b82d
Fix download buttons on branches page (#30147)
Fixes https://github.com/go-gitea/gitea/issues/30143, regression from
https://github.com/go-gitea/gitea/pull/29920.

We have `.button` on the repo page, but on the branch page it's a
`.btn`. Eventually we should find a solution to have a single button
class but until then this solution should be acceptable.
2024-03-27 21:05:49 +01:00
wxiaoguang 1ad48f781e
Relax generic package filename restrictions (#30135)
Now, the chars `=:;()[]{}~!@#$%^ &` are possible as well
Fixes #30134

---------

Co-authored-by: KN4CK3R <admin@oldschoolhack.me>
2024-03-27 16:55:05 +00:00
Yarden Shoham 1551d73d3f
Remove jQuery class from the common admin functions (#30137)
- Switched from jQuery class functions to plain JavaScript `classList`
- Tested the new authentication source form and the deletion of system
notices. They work as before

Signed-off-by: Yarden Shoham <git@yardenshoham.com>
Co-authored-by: Giteabot <teabot@gitea.io>
2024-03-27 16:14:18 +00:00
Yarden Shoham 1a71dbfb78
Remove jQuery class from the reaction selector (#30138)
- Switched from jQuery class functions to plain JavaScript `classList`
- Tested the reaction selector and it works as before

Signed-off-by: Yarden Shoham <git@yardenshoham.com>
Co-authored-by: Giteabot <teabot@gitea.io>
2024-03-27 17:09:34 +01:00
Yarden Shoham 34acd8e376
Forbid jQuery `.attr` (#30116)
Use `.getAttribute`, `.setAttribute`, or `.removeAttribute` instead

Signed-off-by: Yarden Shoham <git@yardenshoham.com>
2024-03-27 21:49:54 +08:00
wxiaoguang f1707f4562
Refactor render (#30136) 2024-03-27 13:14:34 +00:00
HEREYUA 0262c66ba6
Fix: Organization Interface Display Issue (#30133)
**Before**

![image](https://github.com/go-gitea/gitea/assets/37935145/88d04a4b-6dc5-4399-9813-2c339eae3722)

**After**

![image](https://github.com/go-gitea/gitea/assets/37935145/e97a64b8-ea24-4de7-992d-5928888872d0)
2024-03-27 12:48:09 +00:00
Yarden Shoham 0922ce8191
Remove jQuery `.attr` from the Fomantic dropdowns (#30114)
- Switched from jQuery `attr` to plain javascript `getAttribute` and
`setAttribute`
- Tested the dropdowns and they work as before

Signed-off-by: Yarden Shoham <git@yardenshoham.com>
Co-authored-by: Giteabot <teabot@gitea.io>
2024-03-27 10:50:07 +00:00
Yarden Shoham a190f68f1b
Remove jQuery `.attr` from the common admin functions (#30115)
- Switched from jQuery `attr` to plain javascript `getAttribute` and
`setAttribute`
- Tested most of the functions and they work as before

---------

Signed-off-by: Yarden Shoham <git@yardenshoham.com>
Co-authored-by: Giteabot <teabot@gitea.io>
2024-03-27 10:45:05 +00:00
Yarden Shoham 4efe7884a3
Remove jQuery from the create/rename branch modals (except Fomantic) (#30109)
- Switched to plain JavaScript
- Tested the create/rename branch modals' functionality and they work as
before

# Demo using JavaScript without jQuery

![demo](https://github.com/go-gitea/gitea/assets/20454870/ca53155e-856e-44ca-9852-12ff60065735)

---------

Signed-off-by: Yarden Shoham <git@yardenshoham.com>
Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: delvh <dev.lh@web.de>
Co-authored-by: Giteabot <teabot@gitea.io>
2024-03-27 11:40:21 +01:00
silverwind 643e6b0958
Remove fomantic label module (#30081)
Of note is the CSS has references to "floating label" and "transparent
label" but I could not find those anywhere in the code. They are related
to https://github.com/go-gitea/gitea/pull/3939, but I think these have
long been removed.

---------

Co-authored-by: delvh <dev.lh@web.de>
Co-authored-by: Giteabot <teabot@gitea.io>
2024-03-27 09:58:02 +00:00
Lunny Xiao 400bb7ced4
Fix bug for markdown rendering of blockquote (#30130)
Caused by #29984

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2024-03-27 17:09:25 +08:00
HEREYUA 4640441a0e
Fix: The interface is broken when modifying code comments under mobile devices (#30125)
**Fix**: [#30123](https://github.com/go-gitea/gitea/issues/30123)

**Before**

![image](https://github.com/go-gitea/gitea/assets/37935145/2a186399-85b0-480a-b2f9-f4feffd9a8e2)


**After**

![image](https://github.com/go-gitea/gitea/assets/37935145/ce1ce3e4-3bbb-4a4b-b0e7-e7943a0774f2)
2024-03-27 08:13:12 +00:00
HEREYUA 1261dd6742
When the title in the issue has a value, set the text cursor at the end of the text. (#30090)
Fix:  [#25055](https://github.com/go-gitea/gitea/issues/25055)

Before

![image](https://github.com/go-gitea/gitea/assets/37935145/1b89cd7b-4fa3-49aa-9b5e-a8413add436e)

After

![image](https://github.com/go-gitea/gitea/assets/37935145/fa808f8d-d3ce-4245-a4fe-dd0282ba3fdf)

ps: I've noticed that we are gradually replacing jQuery, so I didn't use jQuery here.
2024-03-27 15:20:10 +08:00
yp05327 ce3c351226
Load attachments for code comments (#30124)
Fix #30103

ps: comments has `LoadAttributes`, but maybe considering performance
problem, we don't call it.
2024-03-27 04:44:26 +00:00
silverwind a9e5706696
Upgrade fabric to 6.0.0-beta20 (#30121)
Fixes https://github.com/go-gitea/gitea/issues/29326 because it includes
https://github.com/fabricjs/fabric.js/pull/9707.
2024-03-27 04:17:14 +00:00
silverwind 57539bcdc0
Fix click handler in job-step-summary (#30122)
Fix mistake from https://github.com/go-gitea/gitea/pull/29977 where the
click handler wasn't updated for the change with the `isExpandable`
function.
2024-03-27 03:50:24 +00:00
Lunny Xiao 538790ad1d
Put an edit file button on pull request files to allow a quick operation (#29697)
Resolve #23848

This PR put an edit file button on pull request files to allow a quick
edit for a file. After the edit finished, it will return back to the
viewed file position on pull request files tab.

It also use a branch view file link instead of commit link when it's a
non-commit pull request files view.

<img width="1532" alt="image"
src="https://github.com/go-gitea/gitea/assets/81045/3637ca4c-89d5-4621-847b-79702a44f617">

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: silverwind <me@silverwind.io>
2024-03-27 02:34:10 +00:00
Yarden Shoham f47e00d9d3
Remove jQuery `.attr` from the Fomantic modal cancel buttons (#30113)
- Switched from jQuery `attr` to plain javascript `setAttribute`
- Tested the modals and they work as before

---------

Co-authored-by: silverwind <me@silverwind.io>
2024-03-26 19:57:57 +00:00
Yarden Shoham 5687aca4fc
Remove jQuery `.attr` from the code comments (#30112)
- Switched from jQuery `attr` to plain javascript `getAttribute`
- Tested the code comments and they work as before

---------

Signed-off-by: Yarden Shoham <git@yardenshoham.com>
Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: Giteabot <teabot@gitea.io>
2024-03-26 20:49:38 +01:00
Yarden Shoham a1f11e2e33
Remove jQuery calls that have no effect on `showElem` and `hideElem` (#30110)
There's no need to initialize a jQuery object with a CSS selector when
we can pass the CSS selector directly.

Signed-off-by: Yarden Shoham <git@yardenshoham.com>
2024-03-26 19:38:37 +00:00
Yarden Shoham e0b018706f
Remove jQuery `.attr` from the common issue page functions (#30083)
- Switched from jQuery `attr` to plain javascript `getAttribute` and
`setAttribute`
- Tested most of the functions and they work as before

---------

Signed-off-by: Yarden Shoham <git@yardenshoham.com>
Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: delvh <dev.lh@web.de>
2024-03-26 20:33:32 +01:00
225 changed files with 6547 additions and 6697 deletions

View File

@ -14,7 +14,7 @@ _test
# MS VSCode
.vscode
__debug_bin
__debug_bin*
# Architecture specific extensions/prefixes
*.[568vq]
@ -78,7 +78,6 @@ cpu.out
/public/assets/css
/public/assets/fonts
/public/assets/img/avatar
/public/assets/img/webpack
/vendor
/web_src/fomantic/node_modules
/web_src/fomantic/build/*

View File

@ -3,6 +3,7 @@ reportUnusedDisableDirectives: true
ignorePatterns:
- /web_src/js/vendor
- /web_src/fomantic
parserOptions:
sourceType: module
@ -281,7 +282,7 @@ rules:
jquery/no-ajax-events: [2]
jquery/no-ajax: [2]
jquery/no-animate: [2]
jquery/no-attr: [0]
jquery/no-attr: [2]
jquery/no-bind: [2]
jquery/no-class: [0]
jquery/no-clone: [2]
@ -397,7 +398,7 @@ rules:
no-jquery/no-animate-toggle: [2]
no-jquery/no-animate: [2]
no-jquery/no-append-html: [2]
no-jquery/no-attr: [0]
no-jquery/no-attr: [2]
no-jquery/no-bind: [2]
no-jquery/no-box-model: [2]
no-jquery/no-browser: [2]

9
.github/labeler.yml vendored
View File

@ -4,13 +4,6 @@ modifies/docs:
- "**/*.md"
- "docs/**"
modifies/frontend:
- changed-files:
- any-glob-to-any-file:
- "web_src/**"
- "tailwind.config.js"
- "webpack.config.js"
modifies/templates:
- changed-files:
- all-globs-to-any-file:
@ -53,7 +46,7 @@ modifies/internal:
- ".gitpod.yml"
- ".markdownlint.yaml"
- ".spectral.yaml"
- ".stylelintrc.yaml"
- "stylelint.config.js"
- ".yamllint.yaml"
- ".github/**"
- ".gitea/"

View File

@ -11,14 +11,19 @@ jobs:
if: github.repository == 'go-gitea/gitea'
steps:
- uses: actions/checkout@v4
- name: download from crowdin
uses: docker://jonasfranz/crowdin
- uses: crowdin/github-action@v1
with:
upload_sources: true
upload_translations: false
download_sources: false
download_translations: true
push_translations: false
push_sources: false
create_pull_request: false
config: crowdin.yml
env:
CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }}
CROWDIN_KEY: ${{ secrets.CROWDIN_KEY }}
PLUGIN_DOWNLOAD: true
PLUGIN_EXPORT_DIR: options/locale/
PLUGIN_IGNORE_BRANCH: true
PLUGIN_PROJECT_IDENTIFIER: gitea
- name: update locales
run: ./build/update-locales.sh
- name: push translations to repo
@ -31,19 +36,3 @@ jobs:
commit_message: "[skip ci] Updated translations via Crowdin"
remote: "git@github.com:go-gitea/gitea.git"
ssh_key: ${{ secrets.DEPLOY_KEY }}
crowdin-push:
runs-on: ubuntu-latest
if: github.repository == 'go-gitea/gitea'
steps:
- uses: actions/checkout@v4
- name: push translations to crowdin
uses: docker://jonasfranz/crowdin
env:
CROWDIN_KEY: ${{ secrets.CROWDIN_KEY }}
PLUGIN_UPLOAD: true
PLUGIN_EXPORT_DIR: options/locale/
PLUGIN_IGNORE_BRANCH: true
PLUGIN_PROJECT_IDENTIFIER: gitea
PLUGIN_FILES: |
locale_en-US.ini: options/locale/locale_en-US.ini
PLUGIN_BRANCH: main

View File

@ -58,7 +58,7 @@ jobs:
- "package-lock.json"
- "Makefile"
- ".eslintrc.yaml"
- ".stylelintrc.yaml"
- "stylelint.config.js"
- ".npmrc"
docs:

1
.gitignore vendored
View File

@ -77,7 +77,6 @@ cpu.out
/public/assets/css
/public/assets/fonts
/public/assets/licenses.txt
/public/assets/img/webpack
/vendor
/web_src/fomantic/node_modules
/web_src/fomantic/build/*

View File

@ -4,6 +4,8 @@
/modules/options/bindata.go
/modules/public/bindata.go
/modules/templates/bindata.go
/vendor
/options/gitignore
/options/license
/public/assets
/vendor
node_modules

View File

@ -1,223 +0,0 @@
plugins:
- stylelint-declaration-strict-value
- stylelint-declaration-block-no-ignored-properties
- "@stylistic/stylelint-plugin"
ignoreFiles:
- "**/*.go"
overrides:
- files: ["**/chroma/*", "**/codemirror/*", "**/standalone/*", "**/console.css", "font_i18n.css"]
rules:
scale-unlimited/declaration-strict-value: null
- files: ["**/chroma/*", "**/codemirror/*"]
rules:
block-no-empty: null
- files: ["**/*.vue"]
customSyntax: postcss-html
rules:
"@stylistic/at-rule-name-case": null
"@stylistic/at-rule-name-newline-after": null
"@stylistic/at-rule-name-space-after": null
"@stylistic/at-rule-semicolon-newline-after": null
"@stylistic/at-rule-semicolon-space-before": null
"@stylistic/block-closing-brace-empty-line-before": null
"@stylistic/block-closing-brace-newline-after": null
"@stylistic/block-closing-brace-newline-before": null
"@stylistic/block-closing-brace-space-after": null
"@stylistic/block-closing-brace-space-before": null
"@stylistic/block-opening-brace-newline-after": null
"@stylistic/block-opening-brace-newline-before": null
"@stylistic/block-opening-brace-space-after": null
"@stylistic/block-opening-brace-space-before": always
"@stylistic/color-hex-case": lower
"@stylistic/declaration-bang-space-after": never
"@stylistic/declaration-bang-space-before": null
"@stylistic/declaration-block-semicolon-newline-after": null
"@stylistic/declaration-block-semicolon-newline-before": null
"@stylistic/declaration-block-semicolon-space-after": null
"@stylistic/declaration-block-semicolon-space-before": never
"@stylistic/declaration-block-trailing-semicolon": null
"@stylistic/declaration-colon-newline-after": null
"@stylistic/declaration-colon-space-after": null
"@stylistic/declaration-colon-space-before": never
"@stylistic/function-comma-newline-after": null
"@stylistic/function-comma-newline-before": null
"@stylistic/function-comma-space-after": null
"@stylistic/function-comma-space-before": null
"@stylistic/function-max-empty-lines": 0
"@stylistic/function-parentheses-newline-inside": never-multi-line
"@stylistic/function-parentheses-space-inside": null
"@stylistic/function-whitespace-after": null
"@stylistic/indentation": 2
"@stylistic/linebreaks": null
"@stylistic/max-empty-lines": 1
"@stylistic/max-line-length": null
"@stylistic/media-feature-colon-space-after": null
"@stylistic/media-feature-colon-space-before": never
"@stylistic/media-feature-name-case": null
"@stylistic/media-feature-parentheses-space-inside": null
"@stylistic/media-feature-range-operator-space-after": always
"@stylistic/media-feature-range-operator-space-before": always
"@stylistic/media-query-list-comma-newline-after": null
"@stylistic/media-query-list-comma-newline-before": null
"@stylistic/media-query-list-comma-space-after": null
"@stylistic/media-query-list-comma-space-before": null
"@stylistic/named-grid-areas-alignment": null
"@stylistic/no-empty-first-line": null
"@stylistic/no-eol-whitespace": true
"@stylistic/no-extra-semicolons": true
"@stylistic/no-missing-end-of-source-newline": null
"@stylistic/number-leading-zero": null
"@stylistic/number-no-trailing-zeros": null
"@stylistic/property-case": lower
"@stylistic/selector-attribute-brackets-space-inside": null
"@stylistic/selector-attribute-operator-space-after": null
"@stylistic/selector-attribute-operator-space-before": null
"@stylistic/selector-combinator-space-after": null
"@stylistic/selector-combinator-space-before": null
"@stylistic/selector-descendant-combinator-no-non-space": null
"@stylistic/selector-list-comma-newline-after": null
"@stylistic/selector-list-comma-newline-before": null
"@stylistic/selector-list-comma-space-after": always-single-line
"@stylistic/selector-list-comma-space-before": never-single-line
"@stylistic/selector-max-empty-lines": 0
"@stylistic/selector-pseudo-class-case": lower
"@stylistic/selector-pseudo-class-parentheses-space-inside": never
"@stylistic/selector-pseudo-element-case": lower
"@stylistic/string-quotes": double
"@stylistic/unicode-bom": null
"@stylistic/unit-case": lower
"@stylistic/value-list-comma-newline-after": null
"@stylistic/value-list-comma-newline-before": null
"@stylistic/value-list-comma-space-after": null
"@stylistic/value-list-comma-space-before": null
"@stylistic/value-list-max-empty-lines": 0
alpha-value-notation: null
annotation-no-unknown: true
at-rule-allowed-list: null
at-rule-disallowed-list: null
at-rule-empty-line-before: null
at-rule-no-unknown: [true, {ignoreAtRules: [tailwind]}]
at-rule-no-vendor-prefix: true
at-rule-property-required-list: null
block-no-empty: true
color-function-notation: null
color-hex-alpha: null
color-hex-length: null
color-named: null
color-no-hex: null
color-no-invalid-hex: true
comment-empty-line-before: null
comment-no-empty: true
comment-pattern: null
comment-whitespace-inside: null
comment-word-disallowed-list: null
custom-media-pattern: null
custom-property-empty-line-before: null
custom-property-no-missing-var-function: true
custom-property-pattern: null
declaration-block-no-duplicate-custom-properties: true
declaration-block-no-duplicate-properties: [true, {ignore: [consecutive-duplicates-with-different-values]}]
declaration-block-no-redundant-longhand-properties: null
declaration-block-no-shorthand-property-overrides: null
declaration-block-single-line-max-declarations: null
declaration-empty-line-before: null
declaration-no-important: null
declaration-property-max-values: null
declaration-property-unit-allowed-list: null
declaration-property-unit-disallowed-list: {line-height: [em]}
declaration-property-value-allowed-list: null
declaration-property-value-disallowed-list: null
declaration-property-value-no-unknown: true
font-family-name-quotes: always-where-recommended
font-family-no-duplicate-names: true
font-family-no-missing-generic-family-keyword: true
font-weight-notation: null
function-allowed-list: null
function-calc-no-unspaced-operator: true
function-disallowed-list: null
function-linear-gradient-no-nonstandard-direction: true
function-name-case: lower
function-no-unknown: true
function-url-no-scheme-relative: null
function-url-quotes: always
function-url-scheme-allowed-list: null
function-url-scheme-disallowed-list: null
hue-degree-notation: null
import-notation: string
keyframe-block-no-duplicate-selectors: true
keyframe-declaration-no-important: true
keyframe-selector-notation: null
keyframes-name-pattern: null
length-zero-no-unit: [true, ignore: [custom-properties], ignoreFunctions: [var]]
max-nesting-depth: null
media-feature-name-allowed-list: null
media-feature-name-disallowed-list: null
media-feature-name-no-unknown: true
media-feature-name-no-vendor-prefix: true
media-feature-name-unit-allowed-list: null
media-feature-name-value-allowed-list: null
media-feature-name-value-no-unknown: true
media-feature-range-notation: null
media-query-no-invalid: true
named-grid-areas-no-invalid: true
no-descending-specificity: null
no-duplicate-at-import-rules: true
no-duplicate-selectors: true
no-empty-source: true
no-invalid-double-slash-comments: true
no-invalid-position-at-import-rule: [true, ignoreAtRules: [tailwind]]
no-irregular-whitespace: true
no-unknown-animations: null
no-unknown-custom-properties: null
number-max-precision: null
plugin/declaration-block-no-ignored-properties: true
property-allowed-list: null
property-disallowed-list: null
property-no-unknown: true
property-no-vendor-prefix: null
rule-empty-line-before: null
rule-selector-property-disallowed-list: null
scale-unlimited/declaration-strict-value: [[/color$/, font-weight], {ignoreValues: /^(inherit|transparent|unset|initial|currentcolor|none)$/, ignoreFunctions: false, disableFix: true, expandShorthand: true}]
selector-anb-no-unmatchable: true
selector-attribute-name-disallowed-list: null
selector-attribute-operator-allowed-list: null
selector-attribute-operator-disallowed-list: null
selector-attribute-quotes: always
selector-class-pattern: null
selector-combinator-allowed-list: null
selector-combinator-disallowed-list: null
selector-disallowed-list: null
selector-id-pattern: null
selector-max-attribute: null
selector-max-class: null
selector-max-combinators: null
selector-max-compound-selectors: null
selector-max-id: null
selector-max-pseudo-class: null
selector-max-specificity: null
selector-max-type: null
selector-max-universal: null
selector-nested-pattern: null
selector-no-qualifying-type: null
selector-no-vendor-prefix: true
selector-not-notation: null
selector-pseudo-class-allowed-list: null
selector-pseudo-class-disallowed-list: null
selector-pseudo-class-no-unknown: true
selector-pseudo-element-allowed-list: null
selector-pseudo-element-colon-notation: double
selector-pseudo-element-disallowed-list: null
selector-pseudo-element-no-unknown: true
selector-type-case: lower
selector-type-no-unknown: [true, {ignore: [custom-elements]}]
shorthand-property-no-redundant-values: true
string-no-newline: true
time-min-milliseconds: null
unit-allowed-list: null
unit-disallowed-list: null
unit-no-unknown: true
value-keyword-case: null
value-no-vendor-prefix: [true, {ignoreValues: [box, inline-box]}]

View File

@ -60,3 +60,4 @@ Nanguan Lin <nanguanlin6@gmail.com> (@lng2020)
kerwin612 <kerwin612@qq.com> (@kerwin612)
Gary Wang <git@blumia.net> (@BLumia)
Tim-Niclas Oelschläger <zokki.softwareschmiede@gmail.com> (@zokkis)
Yu Liu <1240335630@qq.com> (@HEREYUA)

View File

@ -119,7 +119,7 @@ FOMANTIC_WORK_DIR := web_src/fomantic
WEBPACK_SOURCES := $(shell find web_src/js web_src/css -type f)
WEBPACK_CONFIGS := webpack.config.js tailwind.config.js
WEBPACK_DEST := public/assets/js/index.js public/assets/css/index.css
WEBPACK_DEST_ENTRIES := public/assets/js public/assets/css public/assets/fonts public/assets/img/webpack
WEBPACK_DEST_ENTRIES := public/assets/js public/assets/css public/assets/fonts
BINDATA_DEST := modules/public/bindata.go modules/options/bindata.go modules/templates/bindata.go
BINDATA_HASH := $(addsuffix .hash,$(BINDATA_DEST))
@ -959,7 +959,7 @@ generate-gitignore:
.PHONY: generate-images
generate-images: | node_modules
npm install --no-save fabric@6.0.0-beta19 imagemin-zopfli@7
npm install --no-save fabric@6.0.0-beta20 imagemin-zopfli@7
node tools/generate-images.js $(TAGS)
.PHONY: generate-manpage

12
crowdin.yml Normal file
View File

@ -0,0 +1,12 @@
project_id_env: CROWDIN_PROJECT_ID
api_token_env: CROWDIN_KEY
base_path: "."
base_url: "https://api.crowdin.com"
preserve_hierarchy: true
files:
- source: "/options/locale/locale_en-US.ini"
translation: "/options/locale/locale_%locale%.ini"
type: "ini"
skip_untranslated_strings: true
export_only_approved: true
update_option: "update_as_unapproved"

View File

@ -441,7 +441,7 @@ INTERNAL_TOKEN =
;INTERNAL_TOKEN_URI = file:/etc/gitea/internal_token
;;
;; How long to remember that a user is logged in before requiring relogin (in days)
;LOGIN_REMEMBER_DAYS = 7
;LOGIN_REMEMBER_DAYS = 31
;;
;; Name of the cookie used to store the current username.
;COOKIE_USERNAME = gitea_awesome
@ -1485,6 +1485,11 @@ LEVEL = Info
;; - manage_ssh_keys: a user cannot configure ssh keys
;; - manage_gpg_keys: a user cannot configure gpg keys
;USER_DISABLED_FEATURES =
;; Comma separated list of disabled features ONLY if the user has an external login type (eg. LDAP, Oauth, etc.), could be `deletion`, `manage_ssh_keys`, `manage_gpg_keys`. This setting is independent from `USER_DISABLED_FEATURES` and supplements its behavior.
;; - deletion: a user cannot delete their own account
;; - manage_ssh_keys: a user cannot configure ssh keys
;; - manage_gpg_keys: a user cannot configure gpg keys
;;EXTERNAL_USER_DISABLE_FEATURES =
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

View File

@ -522,13 +522,17 @@ And the following unique queues:
- `deletion`: User cannot delete their own account.
- `manage_ssh_keys`: User cannot configure ssh keys.
- `manage_gpg_keys`: User cannot configure gpg keys.
- `EXTERNAL_USER_DISABLE_FEATURES`: **_empty_**: Comma separated list of disabled features ONLY if the user has an external login type (eg. LDAP, Oauth, etc.), could be `deletion`, `manage_ssh_keys`, `manage_gpg_keys`. This setting is independent from `USER_DISABLED_FEATURES` and supplements its behavior.
- `deletion`: User cannot delete their own account.
- `manage_ssh_keys`: User cannot configure ssh keys.
- `manage_gpg_keys`: User cannot configure gpg keys.
## Security (`security`)
- `INSTALL_LOCK`: **false**: Controls access to the installation page. When set to "true", the installation page is not accessible.
- `SECRET_KEY`: **\<random at every install\>**: Global secret key. This key is VERY IMPORTANT, if you lost it, the data encrypted by it (like 2FA secret) can't be decrypted anymore.
- `SECRET_KEY_URI`: **_empty_**: Instead of defining SECRET_KEY, this option can be used to use the key stored in a file (example value: `file:/etc/gitea/secret_key`). It shouldn't be lost like SECRET_KEY.
- `LOGIN_REMEMBER_DAYS`: **7**: Cookie lifetime, in days.
- `LOGIN_REMEMBER_DAYS`: **31**: How long to remember that a user is logged in before requiring relogin (in days).
- `COOKIE_REMEMBER_NAME`: **gitea\_incredible**: Name of cookie used to store authentication
information.
- `REVERSE_PROXY_AUTHENTICATION_USER`: **X-WEBAUTH-USER**: Header name for reverse proxy

View File

@ -507,7 +507,7 @@ Gitea 创建以下非唯一队列:
- `INSTALL_LOCK`: **false**:控制是否能够访问安装向导页面,设置为 `true` 则禁止访问安装向导页面。
- `SECRET_KEY`: **\<每次安装时随机生成\>**:全局服务器安全密钥。这个密钥非常重要,如果丢失将无法解密加密的数据(例如 2FA
- `SECRET_KEY_URI`: **_empty_**:与定义 `SECRET_KEY` 不同,此选项可用于使用存储在文件中的密钥(示例值:`file:/etc/gitea/secret_key`)。它不应该像 `SECRET_KEY` 一样容易丢失。
- `LOGIN_REMEMBER_DAYS`: **7**Cookie 保存时间,单位为天
- `LOGIN_REMEMBER_DAYS`: **31**:在要求重新登录之前,记住用户的登录状态多长时间(以天为单位)
- `COOKIE_REMEMBER_NAME`: **gitea\_incredible**:保存自动登录信息的 Cookie 名称。
- `REVERSE_PROXY_AUTHENTICATION_USER`: **X-WEBAUTH-USER**:反向代理认证的 HTTP 头部名称,用于提供用户信息。
- `REVERSE_PROXY_AUTHENTICATION_EMAIL`: **X-WEBAUTH-EMAIL**:反向代理认证的 HTTP 头部名称,用于提供邮箱信息。

View File

@ -47,7 +47,7 @@ We recommend [Google HTML/CSS Style Guide](https://google.github.io/styleguide/h
9. Avoid unnecessary `!important` in CSS, add comments to explain why it's necessary if it can't be avoided.
10. Avoid mixing different events in one event listener, prefer to use individual event listeners for every event.
11. Custom event names are recommended to use `ce-` prefix.
12. Prefer using Tailwind CSS which is available via `tw-` prefix, e.g. `tw-relative`. Gitea's helper CSS classes use `gt-` prefix (`gt-mono`), while Gitea's own private framework-level CSS classes use `g-` prefix (`g-modal-confirm`).
12. Prefer using Tailwind CSS which is available via `tw-` prefix, e.g. `tw-relative`. Gitea's helper CSS classes use `gt-` prefix (`gt-word-break`), while Gitea's own private framework-level CSS classes use `g-` prefix (`g-modal-confirm`).
13. Avoid inline scripts & styles as much as possible, it's recommended to put JS code into JS files and use CSS classes. If inline scripts & styles are unavoidable, explain the reason why it can't be avoided.
### Accessibility / ARIA

View File

@ -47,7 +47,7 @@ HTML 页面由[Go HTML Template](https://pkg.go.dev/html/template)渲染。
9. 避免在 CSS 中使用不必要的`!important`,如果无法避免,添加注释解释为什么需要它。
10. 避免在一个事件监听器中混合不同的事件,优先为每个事件使用独立的事件监听器。
11. 推荐使用自定义事件名称前缀`ce-`。
12. 建议使用 Tailwind CSS它可以通过 `tw-` 前缀获得,例如 `tw-relative`. Gitea 自身的助手类 CSS 使用 `gt-` 前缀(`gt-mono`Gitea 自身的私有框架级 CSS 类使用 `g-` 前缀(`g-modal-confirm`)。
12. 建议使用 Tailwind CSS它可以通过 `tw-` 前缀获得,例如 `tw-relative`. Gitea 自身的助手类 CSS 使用 `gt-` 前缀(`gt-word-break`Gitea 自身的私有框架级 CSS 类使用 `g-` 前缀(`g-modal-confirm`)。
13. 尽量避免内联脚本和样式建议将JS代码放入JS文件中并使用CSS类。如果内联脚本和样式不可避免请解释无法避免的原因。
### 可访问性 / ARIA

View File

@ -6,13 +6,11 @@ package actions
import (
"context"
"errors"
"fmt"
"strings"
"code.gitea.io/gitea/models/db"
"code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/timeutil"
"code.gitea.io/gitea/modules/util"
"xorm.io/builder"
)
@ -55,24 +53,24 @@ type FindVariablesOpts struct {
db.ListOptions
OwnerID int64
RepoID int64
Name string
}
func (opts FindVariablesOpts) ToConds() builder.Cond {
cond := builder.NewCond()
// Since we now support instance-level variables,
// there is no need to check for null values for `owner_id` and `repo_id`
cond = cond.And(builder.Eq{"owner_id": opts.OwnerID})
cond = cond.And(builder.Eq{"repo_id": opts.RepoID})
if opts.Name != "" {
cond = cond.And(builder.Eq{"name": strings.ToUpper(opts.Name)})
}
return cond
}
func GetVariableByID(ctx context.Context, variableID int64) (*ActionVariable, error) {
var variable ActionVariable
has, err := db.GetEngine(ctx).Where("id=?", variableID).Get(&variable)
if err != nil {
return nil, err
} else if !has {
return nil, fmt.Errorf("variable with id %d: %w", variableID, util.ErrNotExist)
}
return &variable, nil
func FindVariables(ctx context.Context, opts FindVariablesOpts) ([]*ActionVariable, error) {
return db.Find[ActionVariable](ctx, opts)
}
func UpdateVariable(ctx context.Context, variable *ActionVariable) (bool, error) {
@ -84,6 +82,13 @@ func UpdateVariable(ctx context.Context, variable *ActionVariable) (bool, error)
return count != 0, err
}
func DeleteVariable(ctx context.Context, id int64) error {
if _, err := db.DeleteByID[ActionVariable](ctx, id); err != nil {
return err
}
return nil
}
func GetVariablesOfRun(ctx context.Context, run *ActionRun) (map[string]string, error) {
variables := map[string]string{}

View File

@ -46,6 +46,10 @@ func VerifyGPGKey(ctx context.Context, ownerID int64, keyID, token, signature st
return "", ErrGPGKeyNotExist{}
}
if err := key.LoadSubKeys(ctx); err != nil {
return "", err
}
sig, err := extractSignature(signature)
if err != nil {
return "", ErrGPGInvalidTokenSignature{

View File

@ -45,3 +45,27 @@
type: 2
created_unix: 1688973000
updated_unix: 1688973000
-
id: 5
title: project without default column
owner_id: 2
repo_id: 0
is_closed: false
creator_id: 2
board_type: 1
type: 2
created_unix: 1688973000
updated_unix: 1688973000
-
id: 6
title: project with multiple default columns
owner_id: 2
repo_id: 0
is_closed: false
creator_id: 2
board_type: 1
type: 2
created_unix: 1688973000
updated_unix: 1688973000

View File

@ -3,6 +3,7 @@
project_id: 1
title: To Do
creator_id: 2
default: true
created_unix: 1588117528
updated_unix: 1588117528
@ -29,3 +30,48 @@
creator_id: 2
created_unix: 1588117528
updated_unix: 1588117528
-
id: 5
project_id: 2
title: Backlog
creator_id: 2
default: true
created_unix: 1588117528
updated_unix: 1588117528
-
id: 6
project_id: 4
title: Backlog
creator_id: 2
default: true
created_unix: 1588117528
updated_unix: 1588117528
-
id: 7
project_id: 5
title: Done
creator_id: 2
default: false
created_unix: 1588117528
updated_unix: 1588117528
-
id: 8
project_id: 6
title: Backlog
creator_id: 2
default: true
created_unix: 1588117528
updated_unix: 1588117528
-
id: 9
project_id: 6
title: Uncategorized
creator_id: 2
default: true
created_unix: 1588117528
updated_unix: 1588117528

View File

@ -25,6 +25,7 @@ import (
"code.gitea.io/gitea/modules/translation"
"xorm.io/builder"
"xorm.io/xorm"
)
// CommitStatus holds a single Status of a single Commit
@ -269,44 +270,48 @@ type CommitStatusIndex struct {
// GetLatestCommitStatus returns all statuses with a unique context for a given commit.
func GetLatestCommitStatus(ctx context.Context, repoID int64, sha string, listOptions db.ListOptions) ([]*CommitStatus, int64, error) {
ids := make([]int64, 0, 10)
sess := db.GetEngine(ctx).Table(&CommitStatus{}).
Where("repo_id = ?", repoID).And("sha = ?", sha).
Select("max( id ) as id").
GroupBy("context_hash").OrderBy("max( id ) desc")
getBase := func() *xorm.Session {
return db.GetEngine(ctx).Table(&CommitStatus{}).
Where("repo_id = ?", repoID).And("sha = ?", sha)
}
indices := make([]int64, 0, 10)
sess := getBase().Select("max( `index` ) as `index`").
GroupBy("context_hash").OrderBy("max( `index` ) desc")
if !listOptions.IsListAll() {
sess = db.SetSessionPagination(sess, &listOptions)
}
count, err := sess.FindAndCount(&ids)
count, err := sess.FindAndCount(&indices)
if err != nil {
return nil, count, err
}
statuses := make([]*CommitStatus, 0, len(ids))
if len(ids) == 0 {
statuses := make([]*CommitStatus, 0, len(indices))
if len(indices) == 0 {
return statuses, count, nil
}
return statuses, count, db.GetEngine(ctx).In("id", ids).Find(&statuses)
return statuses, count, getBase().And(builder.In("`index`", indices)).Find(&statuses)
}
// GetLatestCommitStatusForPairs returns all statuses with a unique context for a given list of repo-sha pairs
func GetLatestCommitStatusForPairs(ctx context.Context, repoIDsToLatestCommitSHAs map[int64]string, listOptions db.ListOptions) (map[int64][]*CommitStatus, error) {
type result struct {
ID int64
Index int64
RepoID int64
}
results := make([]result, 0, len(repoIDsToLatestCommitSHAs))
sess := db.GetEngine(ctx).Table(&CommitStatus{})
getBase := func() *xorm.Session {
return db.GetEngine(ctx).Table(&CommitStatus{})
}
// Create a disjunction of conditions for each repoID and SHA pair
conds := make([]builder.Cond, 0, len(repoIDsToLatestCommitSHAs))
for repoID, sha := range repoIDsToLatestCommitSHAs {
conds = append(conds, builder.Eq{"repo_id": repoID, "sha": sha})
}
sess = sess.Where(builder.Or(conds...)).
Select("max( id ) as id, repo_id").
GroupBy("context_hash, repo_id").OrderBy("max( id ) desc")
sess := getBase().Where(builder.Or(conds...)).
Select("max( `index` ) as `index`, repo_id").
GroupBy("context_hash, repo_id").OrderBy("max( `index` ) desc")
if !listOptions.IsListAll() {
sess = db.SetSessionPagination(sess, &listOptions)
@ -317,15 +322,21 @@ func GetLatestCommitStatusForPairs(ctx context.Context, repoIDsToLatestCommitSHA
return nil, err
}
ids := make([]int64, 0, len(results))
repoStatuses := make(map[int64][]*CommitStatus)
for _, result := range results {
ids = append(ids, result.ID)
}
statuses := make([]*CommitStatus, 0, len(ids))
if len(ids) > 0 {
err = db.GetEngine(ctx).In("id", ids).Find(&statuses)
if len(results) > 0 {
statuses := make([]*CommitStatus, 0, len(results))
conds = make([]builder.Cond, 0, len(results))
for _, result := range results {
cond := builder.Eq{
"`index`": result.Index,
"repo_id": result.RepoID,
"sha": repoIDsToLatestCommitSHAs[result.RepoID],
}
conds = append(conds, cond)
}
err = getBase().Where(builder.Or(conds...)).Find(&statuses)
if err != nil {
return nil, err
}
@ -342,42 +353,43 @@ func GetLatestCommitStatusForPairs(ctx context.Context, repoIDsToLatestCommitSHA
// GetLatestCommitStatusForRepoCommitIDs returns all statuses with a unique context for a given list of repo-sha pairs
func GetLatestCommitStatusForRepoCommitIDs(ctx context.Context, repoID int64, commitIDs []string) (map[string][]*CommitStatus, error) {
type result struct {
ID int64
Sha string
Index int64
SHA string
}
getBase := func() *xorm.Session {
return db.GetEngine(ctx).Table(&CommitStatus{}).Where("repo_id = ?", repoID)
}
results := make([]result, 0, len(commitIDs))
sess := db.GetEngine(ctx).Table(&CommitStatus{})
// Create a disjunction of conditions for each repoID and SHA pair
conds := make([]builder.Cond, 0, len(commitIDs))
for _, sha := range commitIDs {
conds = append(conds, builder.Eq{"sha": sha})
}
sess = sess.Where(builder.Eq{"repo_id": repoID}.And(builder.Or(conds...))).
Select("max( id ) as id, sha").
GroupBy("context_hash, sha").OrderBy("max( id ) desc")
sess := getBase().And(builder.Or(conds...)).
Select("max( `index` ) as `index`, sha").
GroupBy("context_hash, sha").OrderBy("max( `index` ) desc")
err := sess.Find(&results)
if err != nil {
return nil, err
}
ids := make([]int64, 0, len(results))
repoStatuses := make(map[string][]*CommitStatus)
for _, result := range results {
ids = append(ids, result.ID)
}
statuses := make([]*CommitStatus, 0, len(ids))
if len(ids) > 0 {
err = db.GetEngine(ctx).In("id", ids).Find(&statuses)
if len(results) > 0 {
statuses := make([]*CommitStatus, 0, len(results))
conds = make([]builder.Cond, 0, len(results))
for _, result := range results {
conds = append(conds, builder.Eq{"`index`": result.Index, "sha": result.SHA})
}
err = getBase().And(builder.Or(conds...)).Find(&statuses)
if err != nil {
return nil, err
}
// Group the statuses by repo ID
// Group the statuses by commit
for _, status := range statuses {
repoStatuses[status.SHA] = append(repoStatuses[status.SHA], status)
}
@ -388,22 +400,36 @@ func GetLatestCommitStatusForRepoCommitIDs(ctx context.Context, repoID int64, co
// FindRepoRecentCommitStatusContexts returns repository's recent commit status contexts
func FindRepoRecentCommitStatusContexts(ctx context.Context, repoID int64, before time.Duration) ([]string, error) {
type result struct {
Index int64
SHA string
}
getBase := func() *xorm.Session {
return db.GetEngine(ctx).Table(&CommitStatus{}).Where("repo_id = ?", repoID)
}
start := timeutil.TimeStampNow().AddDuration(-before)
ids := make([]int64, 0, 10)
if err := db.GetEngine(ctx).Table("commit_status").
Where("repo_id = ?", repoID).
And("updated_unix >= ?", start).
Select("max( id ) as id").
GroupBy("context_hash").OrderBy("max( id ) desc").
Find(&ids); err != nil {
results := make([]result, 0, 10)
sess := getBase().And("updated_unix >= ?", start).
Select("max( `index` ) as `index`, sha").
GroupBy("context_hash, sha").OrderBy("max( `index` ) desc")
err := sess.Find(&results)
if err != nil {
return nil, err
}
contexts := make([]string, 0, len(ids))
if len(ids) == 0 {
contexts := make([]string, 0, len(results))
if len(results) == 0 {
return contexts, nil
}
return contexts, db.GetEngine(ctx).Select("context").Table("commit_status").In("id", ids).Find(&contexts)
conds := make([]builder.Cond, 0, len(results))
for _, result := range results {
conds = append(conds, builder.Eq{"`index`": result.Index, "sha": result.SHA})
}
return contexts, getBase().And(builder.Or(conds...)).Select("context").Find(&contexts)
}
// NewCommitStatusOptions holds options for creating a CommitStatus

View File

@ -74,6 +74,10 @@ func findCodeComments(ctx context.Context, opts FindCommentsOptions, issue *Issu
return nil, err
}
if err := comments.LoadAttachments(ctx); err != nil {
return nil, err
}
// Find all reviews by ReviewID
reviews := make(map[int64]*Review)
ids := make([]int64, 0, len(comments))

View File

@ -49,18 +49,13 @@ func (issue *Issue) ProjectBoardID(ctx context.Context) int64 {
// LoadIssuesFromBoard load issues assigned to this board
func LoadIssuesFromBoard(ctx context.Context, b *project_model.Board) (IssueList, error) {
issueList := make(IssueList, 0, 10)
if b.ID > 0 {
issues, err := Issues(ctx, &IssuesOptions{
ProjectBoardID: b.ID,
ProjectID: b.ProjectID,
SortType: "project-column-sorting",
})
if err != nil {
return nil, err
}
issueList = issues
issueList, err := Issues(ctx, &IssuesOptions{
ProjectBoardID: b.ID,
ProjectID: b.ProjectID,
SortType: "project-column-sorting",
})
if err != nil {
return nil, err
}
if b.Default {

View File

@ -66,6 +66,23 @@ func (err ErrNotValidReviewRequest) Unwrap() error {
return util.ErrInvalidArgument
}
// ErrReviewRequestOnClosedPR represents an error when an user tries to request a re-review on a closed or merged PR.
type ErrReviewRequestOnClosedPR struct{}
// IsErrReviewRequestOnClosedPR checks if an error is an ErrReviewRequestOnClosedPR.
func IsErrReviewRequestOnClosedPR(err error) bool {
_, ok := err.(ErrReviewRequestOnClosedPR)
return ok
}
func (err ErrReviewRequestOnClosedPR) Error() string {
return "cannot request a re-review on a closed or merged PR"
}
func (err ErrReviewRequestOnClosedPR) Unwrap() error {
return util.ErrPermissionDenied
}
// ReviewType defines the sort of feedback a review gives
type ReviewType int
@ -618,9 +635,24 @@ func AddReviewRequest(ctx context.Context, issue *Issue, reviewer, doer *user_mo
return nil, err
}
// skip it when reviewer hase been request to review
if review != nil && review.Type == ReviewTypeRequest {
return nil, committer.Commit() // still commit the transaction, or committer.Close() will rollback it, even if it's a reused transaction.
if review != nil {
// skip it when reviewer hase been request to review
if review.Type == ReviewTypeRequest {
return nil, committer.Commit() // still commit the transaction, or committer.Close() will rollback it, even if it's a reused transaction.
}
if issue.IsClosed {
return nil, ErrReviewRequestOnClosedPR{}
}
if issue.IsPull {
if err := issue.LoadPullRequest(ctx); err != nil {
return nil, err
}
if issue.PullRequest.HasMerged {
return nil, ErrReviewRequestOnClosedPR{}
}
}
}
// if the reviewer is an official reviewer,

View File

@ -288,3 +288,33 @@ func TestDeleteDismissedReview(t *testing.T) {
assert.NoError(t, issues_model.DeleteReview(db.DefaultContext, review))
unittest.AssertNotExistsBean(t, &issues_model.Comment{ID: comment.ID})
}
func TestAddReviewRequest(t *testing.T) {
assert.NoError(t, unittest.PrepareTestDatabase())
pull := unittest.AssertExistsAndLoadBean(t, &issues_model.PullRequest{ID: 1})
assert.NoError(t, pull.LoadIssue(db.DefaultContext))
issue := pull.Issue
assert.NoError(t, issue.LoadRepo(db.DefaultContext))
reviewer := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1})
_, err := issues_model.CreateReview(db.DefaultContext, issues_model.CreateReviewOptions{
Issue: issue,
Reviewer: reviewer,
Type: issues_model.ReviewTypeReject,
})
assert.NoError(t, err)
pull.HasMerged = false
assert.NoError(t, pull.UpdateCols(db.DefaultContext, "has_merged"))
issue.IsClosed = true
_, err = issues_model.AddReviewRequest(db.DefaultContext, issue, reviewer, &user_model.User{})
assert.Error(t, err)
assert.True(t, issues_model.IsErrReviewRequestOnClosedPR(err))
pull.HasMerged = true
assert.NoError(t, pull.UpdateCols(db.DefaultContext, "has_merged"))
issue.IsClosed = false
_, err = issues_model.AddReviewRequest(db.DefaultContext, issue, reviewer, &user_model.User{})
assert.Error(t, err)
assert.True(t, issues_model.IsErrReviewRequestOnClosedPR(err))
}

View File

@ -0,0 +1,23 @@
-
id: 1
title: project without default column
owner_id: 2
repo_id: 0
is_closed: false
creator_id: 2
board_type: 1
type: 2
created_unix: 1688973000
updated_unix: 1688973000
-
id: 2
title: project with multiple default columns
owner_id: 2
repo_id: 0
is_closed: false
creator_id: 2
board_type: 1
type: 2
created_unix: 1688973000
updated_unix: 1688973000

View File

@ -0,0 +1,26 @@
-
id: 1
project_id: 1
title: Done
creator_id: 2
default: false
created_unix: 1588117528
updated_unix: 1588117528
-
id: 2
project_id: 2
title: Backlog
creator_id: 2
default: true
created_unix: 1588117528
updated_unix: 1588117528
-
id: 3
project_id: 2
title: Uncategorized
creator_id: 2
default: true
created_unix: 1588117528
updated_unix: 1588117528

View File

@ -568,6 +568,10 @@ var migrations = []Migration{
NewMigration("Add PayloadVersion to HookTask", v1_22.AddPayloadVersionToHookTaskTable),
// v291 -> v292
NewMigration("Add Index to attachment.comment_id", v1_22.AddCommentIDIndexofAttachment),
// v292 -> v293
NewMigration("Ensure every project has exactly one default column - No Op", noopMigration),
// v293 -> v294
NewMigration("Ensure every project has exactly one default column", v1_22.CheckProjectColumnsConsistency),
}
// GetCurrentDBVersion returns the current db version

View File

@ -0,0 +1,9 @@
// Copyright 2024 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT
package v1_22 //nolint
// NOTE: noop the original migration has bug which some projects will be skip, so
// these projects will have no default board.
// So that this migration will be skipped and go to v293.go
// This file is a placeholder so that readers can know what happened

View File

@ -0,0 +1,108 @@
// Copyright 2024 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT
package v1_22 //nolint
import (
"code.gitea.io/gitea/modules/setting"
"code.gitea.io/gitea/modules/timeutil"
"xorm.io/xorm"
)
// CheckProjectColumnsConsistency ensures there is exactly one default board per project present
func CheckProjectColumnsConsistency(x *xorm.Engine) error {
sess := x.NewSession()
defer sess.Close()
limit := setting.Database.IterateBufferSize
if limit <= 0 {
limit = 50
}
type Project struct {
ID int64
CreatorID int64
BoardID int64
}
type ProjectBoard struct {
ID int64 `xorm:"pk autoincr"`
Title string
Default bool `xorm:"NOT NULL DEFAULT false"` // issues not assigned to a specific board will be assigned to this board
Sorting int8 `xorm:"NOT NULL DEFAULT 0"`
Color string `xorm:"VARCHAR(7)"`
ProjectID int64 `xorm:"INDEX NOT NULL"`
CreatorID int64 `xorm:"NOT NULL"`
CreatedUnix timeutil.TimeStamp `xorm:"INDEX created"`
UpdatedUnix timeutil.TimeStamp `xorm:"INDEX updated"`
}
for {
if err := sess.Begin(); err != nil {
return err
}
// all these projects without defaults will be fixed in the same loop, so
// we just need to always get projects without defaults until no such project
var projects []*Project
if err := sess.Select("project.id as id, project.creator_id, project_board.id as board_id").
Join("LEFT", "project_board", "project_board.project_id = project.id AND project_board.`default`=?", true).
Where("project_board.id is NULL OR project_board.id = 0").
Limit(limit).
Find(&projects); err != nil {
return err
}
for _, p := range projects {
if _, err := sess.Insert(ProjectBoard{
ProjectID: p.ID,
Default: true,
Title: "Uncategorized",
CreatorID: p.CreatorID,
}); err != nil {
return err
}
}
if err := sess.Commit(); err != nil {
return err
}
if len(projects) == 0 {
break
}
}
sess.Close()
return removeDuplicatedBoardDefault(x)
}
func removeDuplicatedBoardDefault(x *xorm.Engine) error {
type ProjectInfo struct {
ProjectID int64
DefaultNum int
}
var projects []ProjectInfo
if err := x.Select("project_id, count(*) AS default_num").
Table("project_board").
Where("`default` = ?", true).
GroupBy("project_id").
Having("count(*) > 1").
Find(&projects); err != nil {
return err
}
for _, project := range projects {
if _, err := x.Where("project_id=?", project.ProjectID).
Table("project_board").
Limit(project.DefaultNum - 1).
Update(map[string]bool{
"`default`": false,
}); err != nil {
return err
}
}
return nil
}

View File

@ -0,0 +1,44 @@
// Copyright 2024 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT
package v1_22 //nolint
import (
"testing"
"code.gitea.io/gitea/models/db"
"code.gitea.io/gitea/models/migrations/base"
"code.gitea.io/gitea/models/project"
"github.com/stretchr/testify/assert"
)
func Test_CheckProjectColumnsConsistency(t *testing.T) {
// Prepare and load the testing database
x, deferable := base.PrepareTestEnv(t, 0, new(project.Project), new(project.Board))
defer deferable()
if x == nil || t.Failed() {
return
}
assert.NoError(t, CheckProjectColumnsConsistency(x))
// check if default board was added
var defaultBoard project.Board
has, err := x.Where("project_id=? AND `default` = ?", 1, true).Get(&defaultBoard)
assert.NoError(t, err)
assert.True(t, has)
assert.Equal(t, int64(1), defaultBoard.ProjectID)
assert.True(t, defaultBoard.Default)
// check if multiple defaults, previous were removed and last will be kept
expectDefaultBoard, err := project.GetBoard(db.DefaultContext, 2)
assert.NoError(t, err)
assert.Equal(t, int64(2), expectDefaultBoard.ProjectID)
assert.False(t, expectDefaultBoard.Default)
expectNonDefaultBoard, err := project.GetBoard(db.DefaultContext, 3)
assert.NoError(t, err)
assert.Equal(t, int64(2), expectNonDefaultBoard.ProjectID)
assert.True(t, expectNonDefaultBoard.Default)
}

View File

@ -123,6 +123,17 @@ func createBoardsForProjectsType(ctx context.Context, project *Project) error {
return nil
}
board := Board{
CreatedUnix: timeutil.TimeStampNow(),
CreatorID: project.CreatorID,
Title: "Backlog",
ProjectID: project.ID,
Default: true,
}
if err := db.Insert(ctx, board); err != nil {
return err
}
if len(items) == 0 {
return nil
}
@ -176,6 +187,10 @@ func deleteBoardByID(ctx context.Context, boardID int64) error {
return err
}
if board.Default {
return fmt.Errorf("deleteBoardByID: cannot delete default board")
}
if err = board.removeIssues(ctx); err != nil {
return err
}
@ -194,7 +209,6 @@ func deleteBoardByProjectID(ctx context.Context, projectID int64) error {
// GetBoard fetches the current board of a project
func GetBoard(ctx context.Context, boardID int64) (*Board, error) {
board := new(Board)
has, err := db.GetEngine(ctx).ID(boardID).Get(board)
if err != nil {
return nil, err
@ -228,7 +242,6 @@ func UpdateBoard(ctx context.Context, board *Board) error {
}
// GetBoards fetches all boards related to a project
// if no default board set, first board is a temporary "Uncategorized" board
func (p *Project) GetBoards(ctx context.Context) (BoardList, error) {
boards := make([]*Board, 0, 5)
@ -244,53 +257,64 @@ func (p *Project) GetBoards(ctx context.Context) (BoardList, error) {
return append([]*Board{defaultB}, boards...), nil
}
// getDefaultBoard return default board and create a dummy if none exist
// getDefaultBoard return default board and ensure only one exists
func (p *Project) getDefaultBoard(ctx context.Context) (*Board, error) {
var board Board
exist, err := db.GetEngine(ctx).Where("project_id=? AND `default`=?", p.ID, true).Get(&board)
has, err := db.GetEngine(ctx).
Where("project_id=? AND `default` = ?", p.ID, true).
Desc("id").Get(&board)
if err != nil {
return nil, err
}
if exist {
if has {
return &board, nil
}
// represents a board for issues not assigned to one
return &Board{
// create a default board if none is found
board = Board{
ProjectID: p.ID,
Title: "Uncategorized",
Default: true,
}, nil
Title: "Uncategorized",
CreatorID: p.CreatorID,
}
if _, err := db.GetEngine(ctx).Insert(&board); err != nil {
return nil, err
}
return &board, nil
}
// SetDefaultBoard represents a board for issues not assigned to one
// if boardID is 0 unset default
func SetDefaultBoard(ctx context.Context, projectID, boardID int64) error {
_, err := db.GetEngine(ctx).Where(builder.Eq{
"project_id": projectID,
"`default`": true,
}).Cols("`default`").Update(&Board{Default: false})
if err != nil {
return err
}
return db.WithTx(ctx, func(ctx context.Context) error {
if _, err := GetBoard(ctx, boardID); err != nil {
return err
}
if boardID > 0 {
_, err = db.GetEngine(ctx).ID(boardID).Where(builder.Eq{"project_id": projectID}).
if _, err := db.GetEngine(ctx).Where(builder.Eq{
"project_id": projectID,
"`default`": true,
}).Cols("`default`").Update(&Board{Default: false}); err != nil {
return err
}
_, err := db.GetEngine(ctx).ID(boardID).
Where(builder.Eq{"project_id": projectID}).
Cols("`default`").Update(&Board{Default: true})
}
return err
return err
})
}
// UpdateBoardSorting update project board sorting
func UpdateBoardSorting(ctx context.Context, bs BoardList) error {
for i := range bs {
_, err := db.GetEngine(ctx).ID(bs[i].ID).Cols(
"sorting",
).Update(bs[i])
if err != nil {
return err
return db.WithTx(ctx, func(ctx context.Context) error {
for i := range bs {
if _, err := db.GetEngine(ctx).ID(bs[i].ID).Cols(
"sorting",
).Update(bs[i]); err != nil {
return err
}
}
}
return nil
return nil
})
}

View File

@ -0,0 +1,44 @@
// Copyright 2020 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT
package project
import (
"testing"
"code.gitea.io/gitea/models/db"
"code.gitea.io/gitea/models/unittest"
"github.com/stretchr/testify/assert"
)
func TestGetDefaultBoard(t *testing.T) {
assert.NoError(t, unittest.PrepareTestDatabase())
projectWithoutDefault, err := GetProjectByID(db.DefaultContext, 5)
assert.NoError(t, err)
// check if default board was added
board, err := projectWithoutDefault.getDefaultBoard(db.DefaultContext)
assert.NoError(t, err)
assert.Equal(t, int64(5), board.ProjectID)
assert.Equal(t, "Uncategorized", board.Title)
projectWithMultipleDefaults, err := GetProjectByID(db.DefaultContext, 6)
assert.NoError(t, err)
// check if multiple defaults were removed
board, err = projectWithMultipleDefaults.getDefaultBoard(db.DefaultContext)
assert.NoError(t, err)
assert.Equal(t, int64(6), board.ProjectID)
assert.Equal(t, int64(9), board.ID)
// set 8 as default board
assert.NoError(t, SetDefaultBoard(db.DefaultContext, board.ProjectID, 8))
// then 9 will become a non-default board
board, err = GetBoard(db.DefaultContext, 9)
assert.NoError(t, err)
assert.Equal(t, int64(6), board.ProjectID)
assert.False(t, board.Default)
}

View File

@ -92,19 +92,19 @@ func TestProjectsSort(t *testing.T) {
}{
{
sortType: "default",
wants: []int64{1, 3, 2, 4},
wants: []int64{1, 3, 2, 6, 5, 4},
},
{
sortType: "oldest",
wants: []int64{4, 2, 3, 1},
wants: []int64{4, 5, 6, 2, 3, 1},
},
{
sortType: "recentupdate",
wants: []int64{1, 3, 2, 4},
wants: []int64{1, 3, 2, 6, 5, 4},
},
{
sortType: "leastupdate",
wants: []int64{4, 2, 3, 1},
wants: []int64{4, 5, 6, 2, 3, 1},
},
}
@ -113,8 +113,8 @@ func TestProjectsSort(t *testing.T) {
OrderBy: GetSearchOrderByBySortType(tt.sortType),
})
assert.NoError(t, err)
assert.EqualValues(t, int64(4), count)
if assert.Len(t, projects, 4) {
assert.EqualValues(t, int64(6), count)
if assert.Len(t, projects, 6) {
for i := range projects {
assert.EqualValues(t, tt.wants[i], projects[i].ID)
}

View File

@ -178,7 +178,7 @@ type FindTopicOptions struct {
Keyword string
}
func (opts *FindTopicOptions) toConds() builder.Cond {
func (opts *FindTopicOptions) ToConds() builder.Cond {
cond := builder.NewCond()
if opts.RepoID > 0 {
cond = cond.And(builder.Eq{"repo_topic.repo_id": opts.RepoID})
@ -191,29 +191,24 @@ func (opts *FindTopicOptions) toConds() builder.Cond {
return cond
}
// FindTopics retrieves the topics via FindTopicOptions
func FindTopics(ctx context.Context, opts *FindTopicOptions) ([]*Topic, int64, error) {
sess := db.GetEngine(ctx).Select("topic.*").Where(opts.toConds())
func (opts *FindTopicOptions) ToOrders() string {
orderBy := "topic.repo_count DESC"
if opts.RepoID > 0 {
sess.Join("INNER", "repo_topic", "repo_topic.topic_id = topic.id")
orderBy = "topic.name" // when render topics for a repo, it's better to sort them by name, to get consistent result
}
if opts.PageSize != 0 && opts.Page != 0 {
sess = db.SetSessionPagination(sess, opts)
}
topics := make([]*Topic, 0, 10)
total, err := sess.OrderBy(orderBy).FindAndCount(&topics)
return topics, total, err
return orderBy
}
// CountTopics counts the number of topics matching the FindTopicOptions
func CountTopics(ctx context.Context, opts *FindTopicOptions) (int64, error) {
sess := db.GetEngine(ctx).Where(opts.toConds())
if opts.RepoID > 0 {
sess.Join("INNER", "repo_topic", "repo_topic.topic_id = topic.id")
func (opts *FindTopicOptions) ToJoins() []db.JoinFunc {
if opts.RepoID <= 0 {
return nil
}
return []db.JoinFunc{
func(e db.Engine) error {
e.Join("INNER", "repo_topic", "repo_topic.topic_id = topic.id")
return nil
},
}
return sess.Count(new(Topic))
}
// GetRepoTopicByName retrieves topic from name for a repo if it exist
@ -283,7 +278,7 @@ func DeleteTopic(ctx context.Context, repoID int64, topicName string) (*Topic, e
// SaveTopics save topics to a repository
func SaveTopics(ctx context.Context, repoID int64, topicNames ...string) error {
topics, _, err := FindTopics(ctx, &FindTopicOptions{
topics, err := db.Find[Topic](ctx, &FindTopicOptions{
RepoID: repoID,
})
if err != nil {

View File

@ -19,18 +19,18 @@ func TestAddTopic(t *testing.T) {
assert.NoError(t, unittest.PrepareTestDatabase())
topics, _, err := repo_model.FindTopics(db.DefaultContext, &repo_model.FindTopicOptions{})
topics, err := db.Find[repo_model.Topic](db.DefaultContext, &repo_model.FindTopicOptions{})
assert.NoError(t, err)
assert.Len(t, topics, totalNrOfTopics)
topics, total, err := repo_model.FindTopics(db.DefaultContext, &repo_model.FindTopicOptions{
topics, total, err := db.FindAndCount[repo_model.Topic](db.DefaultContext, &repo_model.FindTopicOptions{
ListOptions: db.ListOptions{Page: 1, PageSize: 2},
})
assert.NoError(t, err)
assert.Len(t, topics, 2)
assert.EqualValues(t, 6, total)
topics, _, err = repo_model.FindTopics(db.DefaultContext, &repo_model.FindTopicOptions{
topics, err = db.Find[repo_model.Topic](db.DefaultContext, &repo_model.FindTopicOptions{
RepoID: 1,
})
assert.NoError(t, err)
@ -38,11 +38,11 @@ func TestAddTopic(t *testing.T) {
assert.NoError(t, repo_model.SaveTopics(db.DefaultContext, 2, "golang"))
repo2NrOfTopics := 1
topics, _, err = repo_model.FindTopics(db.DefaultContext, &repo_model.FindTopicOptions{})
topics, err = db.Find[repo_model.Topic](db.DefaultContext, &repo_model.FindTopicOptions{})
assert.NoError(t, err)
assert.Len(t, topics, totalNrOfTopics)
topics, _, err = repo_model.FindTopics(db.DefaultContext, &repo_model.FindTopicOptions{
topics, err = db.Find[repo_model.Topic](db.DefaultContext, &repo_model.FindTopicOptions{
RepoID: 2,
})
assert.NoError(t, err)
@ -55,11 +55,11 @@ func TestAddTopic(t *testing.T) {
assert.NoError(t, err)
assert.EqualValues(t, 1, topic.RepoCount)
topics, _, err = repo_model.FindTopics(db.DefaultContext, &repo_model.FindTopicOptions{})
topics, err = db.Find[repo_model.Topic](db.DefaultContext, &repo_model.FindTopicOptions{})
assert.NoError(t, err)
assert.Len(t, topics, totalNrOfTopics)
topics, _, err = repo_model.FindTopics(db.DefaultContext, &repo_model.FindTopicOptions{
topics, err = db.Find[repo_model.Topic](db.DefaultContext, &repo_model.FindTopicOptions{
RepoID: 2,
})
assert.NoError(t, err)

View File

@ -1232,3 +1232,21 @@ func GetOrderByName() string {
}
return "name"
}
// IsFeatureDisabledWithLoginType checks if a user feature is disabled, taking into account the login type of the
// user if applicable
func IsFeatureDisabledWithLoginType(user *User, feature string) bool {
// NOTE: in the long run it may be better to check the ExternalLoginUser table rather than user.LoginType
return (user != nil && user.LoginType > auth.Plain && setting.Admin.ExternalUserDisableFeatures.Contains(feature)) ||
setting.Admin.UserDisabledFeatures.Contains(feature)
}
// DisabledFeaturesWithLoginType returns the set of user features disabled, taking into account the login type
// of the user if applicable
func DisabledFeaturesWithLoginType(user *User) *container.Set[string] {
// NOTE: in the long run it may be better to check the ExternalLoginUser table rather than user.LoginType
if user != nil && user.LoginType > auth.Plain {
return &setting.Admin.ExternalUserDisableFeatures
}
return &setting.Admin.UserDisabledFeatures
}

View File

@ -16,6 +16,7 @@ import (
"code.gitea.io/gitea/models/unittest"
user_model "code.gitea.io/gitea/models/user"
"code.gitea.io/gitea/modules/auth/password/hash"
"code.gitea.io/gitea/modules/container"
"code.gitea.io/gitea/modules/optional"
"code.gitea.io/gitea/modules/setting"
"code.gitea.io/gitea/modules/structs"
@ -526,3 +527,37 @@ func Test_NormalizeUserFromEmail(t *testing.T) {
}
}
}
func TestDisabledUserFeatures(t *testing.T) {
assert.NoError(t, unittest.PrepareTestDatabase())
testValues := container.SetOf(setting.UserFeatureDeletion,
setting.UserFeatureManageSSHKeys,
setting.UserFeatureManageGPGKeys)
oldSetting := setting.Admin.ExternalUserDisableFeatures
defer func() {
setting.Admin.ExternalUserDisableFeatures = oldSetting
}()
setting.Admin.ExternalUserDisableFeatures = testValues
user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1})
assert.Len(t, setting.Admin.UserDisabledFeatures.Values(), 0)
// no features should be disabled with a plain login type
assert.LessOrEqual(t, user.LoginType, auth.Plain)
assert.Len(t, user_model.DisabledFeaturesWithLoginType(user).Values(), 0)
for _, f := range testValues.Values() {
assert.False(t, user_model.IsFeatureDisabledWithLoginType(user, f))
}
// check disabled features with external login type
user.LoginType = auth.OAuth2
// all features should be disabled
assert.NotEmpty(t, user_model.DisabledFeaturesWithLoginType(user).Values())
for _, f := range testValues.Values() {
assert.True(t, user_model.IsFeatureDisabledWithLoginType(user, f))
}
}

View File

@ -47,6 +47,12 @@ func convertPGPSignature(c *object.Commit) *CommitGPGSignature {
return nil
}
if c.Encoding != "" && c.Encoding != "UTF-8" {
if _, err = fmt.Fprintf(&w, "\nencoding %s\n", c.Encoding); err != nil {
return nil
}
}
if _, err = fmt.Fprintf(&w, "\n\n%s", c.Message); err != nil {
return nil
}

View File

@ -84,6 +84,8 @@ readLoop:
commit.Committer = &Signature{}
commit.Committer.Decode(data)
_, _ = payloadSB.Write(line)
case "encoding":
_, _ = payloadSB.Write(line)
case "gpgsig":
fallthrough
case "gpgsig-sha256": // FIXME: no intertop, so only 1 exists at present.

View File

@ -125,6 +125,73 @@ empty commit`, commitFromReader.Signature.Payload)
assert.EqualValues(t, commitFromReader, commitFromReader2)
}
func TestCommitWithEncodingFromReader(t *testing.T) {
commitString := `feaf4ba6bc635fec442f46ddd4512416ec43c2c2 commit 1074
tree ca3fad42080dd1a6d291b75acdfc46e5b9b307e5
parent 47b24e7ab977ed31c5a39989d570847d6d0052af
author KN4CK3R <admin@oldschoolhack.me> 1711702962 +0100
committer KN4CK3R <admin@oldschoolhack.me> 1711702962 +0100
encoding ISO-8859-1
gpgsig -----BEGIN PGP SIGNATURE-----
iQGzBAABCgAdFiEE9HRrbqvYxPT8PXbefPSEkrowAa8FAmYGg7IACgkQfPSEkrow
Aa9olwv+P0HhtCM6CRvlUmPaqswRsDPNR4i66xyXGiSxdI9V5oJL7HLiQIM7KrFR
gizKa2COiGtugv8fE+TKqXKaJx6uJUJEjaBd8E9Af9PrAzjWj+A84lU6/PgPS8hq
zOfZraLOEWRH4tZcS+u2yFLu3ez2Wqh1xW5LNy7xqEedMXEFD1HwSJ0+pjacNkzr
frp6Asyt7xRI6YmgFJZJoRsS3Ktr6rtKeRL2IErSQQyorOqj6gKrglhrhfG/114j
FKB1v4or0WZ1DE8iP2SJZ3n+/K1IuWAINh7MVdb7PndfBPEa+IL+ucNk5uzEE8Jd
G8smGxXUeFEt2cP1dj2W8EgAxuA9sTnH9dqI5aRqy5ifDjuya7Emm8sdOUvtGdmn
SONRzusmu5n3DgV956REL7x62h7JuqmBz/12HZkr0z0zgXkcZ04q08pSJATX5N1F
yN+tWxTsWg+zhDk96d5Esdo9JMjcFvPv0eioo30GAERaz1hoD7zCMT4jgUFTQwgz
jw4YcO5u
=r3UU
-----END PGP SIGNATURE-----
ISO-8859-1`
sha := &Sha1Hash{0xfe, 0xaf, 0x4b, 0xa6, 0xbc, 0x63, 0x5f, 0xec, 0x44, 0x2f, 0x46, 0xdd, 0xd4, 0x51, 0x24, 0x16, 0xec, 0x43, 0xc2, 0xc2}
gitRepo, err := openRepositoryWithDefaultContext(filepath.Join(testReposDir, "repo1_bare"))
assert.NoError(t, err)
assert.NotNil(t, gitRepo)
defer gitRepo.Close()
commitFromReader, err := CommitFromReader(gitRepo, sha, strings.NewReader(commitString))
assert.NoError(t, err)
if !assert.NotNil(t, commitFromReader) {
return
}
assert.EqualValues(t, sha, commitFromReader.ID)
assert.EqualValues(t, `-----BEGIN PGP SIGNATURE-----
iQGzBAABCgAdFiEE9HRrbqvYxPT8PXbefPSEkrowAa8FAmYGg7IACgkQfPSEkrow
Aa9olwv+P0HhtCM6CRvlUmPaqswRsDPNR4i66xyXGiSxdI9V5oJL7HLiQIM7KrFR
gizKa2COiGtugv8fE+TKqXKaJx6uJUJEjaBd8E9Af9PrAzjWj+A84lU6/PgPS8hq
zOfZraLOEWRH4tZcS+u2yFLu3ez2Wqh1xW5LNy7xqEedMXEFD1HwSJ0+pjacNkzr
frp6Asyt7xRI6YmgFJZJoRsS3Ktr6rtKeRL2IErSQQyorOqj6gKrglhrhfG/114j
FKB1v4or0WZ1DE8iP2SJZ3n+/K1IuWAINh7MVdb7PndfBPEa+IL+ucNk5uzEE8Jd
G8smGxXUeFEt2cP1dj2W8EgAxuA9sTnH9dqI5aRqy5ifDjuya7Emm8sdOUvtGdmn
SONRzusmu5n3DgV956REL7x62h7JuqmBz/12HZkr0z0zgXkcZ04q08pSJATX5N1F
yN+tWxTsWg+zhDk96d5Esdo9JMjcFvPv0eioo30GAERaz1hoD7zCMT4jgUFTQwgz
jw4YcO5u
=r3UU
-----END PGP SIGNATURE-----
`, commitFromReader.Signature.Signature)
assert.EqualValues(t, `tree ca3fad42080dd1a6d291b75acdfc46e5b9b307e5
parent 47b24e7ab977ed31c5a39989d570847d6d0052af
author KN4CK3R <admin@oldschoolhack.me> 1711702962 +0100
committer KN4CK3R <admin@oldschoolhack.me> 1711702962 +0100
encoding ISO-8859-1
ISO-8859-1`, commitFromReader.Signature.Payload)
assert.EqualValues(t, "KN4CK3R <admin@oldschoolhack.me>", commitFromReader.Author.String())
commitFromReader2, err := CommitFromReader(gitRepo, sha, strings.NewReader(commitString+"\n\n"))
assert.NoError(t, err)
commitFromReader.CommitMessage += "\n\n"
commitFromReader.Signature.Payload += "\n\n"
assert.EqualValues(t, commitFromReader, commitFromReader2)
}
func TestHasPreviousCommit(t *testing.T) {
bareRepo1Path := filepath.Join(testReposDir, "repo1_bare")

View File

@ -4,19 +4,14 @@
package markdown
import (
"bytes"
"fmt"
"regexp"
"strings"
"code.gitea.io/gitea/modules/container"
"code.gitea.io/gitea/modules/markup"
"code.gitea.io/gitea/modules/markup/common"
"code.gitea.io/gitea/modules/setting"
"code.gitea.io/gitea/modules/svg"
giteautil "code.gitea.io/gitea/modules/util"
"github.com/microcosm-cc/bluemonday/css"
"github.com/yuin/goldmark/ast"
east "github.com/yuin/goldmark/extension/ast"
"github.com/yuin/goldmark/parser"
@ -28,12 +23,12 @@ import (
// ASTTransformer is a default transformer of the goldmark tree.
type ASTTransformer struct {
AttentionTypes container.Set[string]
attentionTypes container.Set[string]
}
func NewASTTransformer() *ASTTransformer {
return &ASTTransformer{
AttentionTypes: container.SetOf("note", "tip", "important", "warning", "caution"),
attentionTypes: container.SetOf("note", "tip", "important", "warning", "caution"),
}
}
@ -66,123 +61,15 @@ func (g *ASTTransformer) Transform(node *ast.Document, reader text.Reader, pc pa
switch v := n.(type) {
case *ast.Heading:
for _, attr := range v.Attributes() {
if _, ok := attr.Value.([]byte); !ok {
v.SetAttribute(attr.Name, []byte(fmt.Sprintf("%v", attr.Value)))
}
}
txt := n.Text(reader.Source())
header := markup.Header{
Text: util.BytesToReadOnlyString(txt),
Level: v.Level,
}
if id, found := v.AttributeString("id"); found {
header.ID = util.BytesToReadOnlyString(id.([]byte))
}
tocList = append(tocList, header)
g.applyElementDir(v)
g.transformHeading(ctx, v, reader, &tocList)
case *ast.Paragraph:
g.applyElementDir(v)
case *ast.Image:
// Images need two things:
//
// 1. Their src needs to munged to be a real value
// 2. If they're not wrapped with a link they need a link wrapper
// Check if the destination is a real link
if len(v.Destination) > 0 && !markup.IsFullURLBytes(v.Destination) {
v.Destination = []byte(giteautil.URLJoin(
ctx.Links.ResolveMediaLink(ctx.IsWiki),
strings.TrimLeft(string(v.Destination), "/"),
))
}
parent := n.Parent()
// Create a link around image only if parent is not already a link
if _, ok := parent.(*ast.Link); !ok && parent != nil {
next := n.NextSibling()
// Create a link wrapper
wrap := ast.NewLink()
wrap.Destination = v.Destination
wrap.Title = v.Title
wrap.SetAttributeString("target", []byte("_blank"))
// Duplicate the current image node
image := ast.NewImage(ast.NewLink())
image.Destination = v.Destination
image.Title = v.Title
for _, attr := range v.Attributes() {
image.SetAttribute(attr.Name, attr.Value)
}
for child := v.FirstChild(); child != nil; {
next := child.NextSibling()
image.AppendChild(image, child)
child = next
}
// Append our duplicate image to the wrapper link
wrap.AppendChild(wrap, image)
// Wire in the next sibling
wrap.SetNextSibling(next)
// Replace the current node with the wrapper link
parent.ReplaceChild(parent, n, wrap)
// But most importantly ensure the next sibling is still on the old image too
v.SetNextSibling(next)
}
g.transformImage(ctx, v, reader)
case *ast.Link:
// Links need their href to munged to be a real value
link := v.Destination
isAnchorFragment := len(link) > 0 && link[0] == '#'
if !isAnchorFragment && !markup.IsFullURLBytes(link) {
base := ctx.Links.Base
if ctx.IsWiki {
base = ctx.Links.WikiLink()
} else if ctx.Links.HasBranchInfo() {
base = ctx.Links.SrcLink()
}
link = []byte(giteautil.URLJoin(base, string(link)))
}
if isAnchorFragment {
link = []byte("#user-content-" + string(link)[1:])
}
v.Destination = link
g.transformLink(ctx, v, reader)
case *ast.List:
if v.HasChildren() {
children := make([]ast.Node, 0, v.ChildCount())
child := v.FirstChild()
for child != nil {
children = append(children, child)
child = child.NextSibling()
}
v.RemoveChildren(v)
for _, child := range children {
listItem := child.(*ast.ListItem)
if !child.HasChildren() || !child.FirstChild().HasChildren() {
v.AppendChild(v, child)
continue
}
taskCheckBox, ok := child.FirstChild().FirstChild().(*east.TaskCheckBox)
if !ok {
v.AppendChild(v, child)
continue
}
newChild := NewTaskCheckBoxListItem(listItem)
newChild.IsChecked = taskCheckBox.IsChecked
newChild.SetAttributeString("class", []byte("task-list-item"))
segments := newChild.FirstChild().Lines()
if segments.Len() > 0 {
segment := segments.At(0)
newChild.SourcePosition = rc.metaLength + segment.Start
}
v.AppendChild(v, newChild)
}
}
g.applyElementDir(v)
g.transformList(ctx, v, reader, rc)
case *ast.Text:
if v.SoftLineBreak() && !v.HardLineBreak() {
if ctx.Metas["mode"] != "document" {
@ -192,10 +79,7 @@ func (g *ASTTransformer) Transform(node *ast.Document, reader text.Reader, pc pa
}
}
case *ast.CodeSpan:
colorContent := n.Text(reader.Source())
if css.ColorHandler(strings.ToLower(string(colorContent))) {
v.AppendChild(v, NewColorPreview(colorContent))
}
g.transformCodeSpan(ctx, v, reader)
case *ast.Blockquote:
return g.transformBlockquote(v, reader)
}
@ -219,50 +103,6 @@ func (g *ASTTransformer) Transform(node *ast.Document, reader text.Reader, pc pa
}
}
type prefixedIDs struct {
values container.Set[string]
}
// Generate generates a new element id.
func (p *prefixedIDs) Generate(value []byte, kind ast.NodeKind) []byte {
dft := []byte("id")
if kind == ast.KindHeading {
dft = []byte("heading")
}
return p.GenerateWithDefault(value, dft)
}
// GenerateWithDefault generates a new element id.
func (p *prefixedIDs) GenerateWithDefault(value, dft []byte) []byte {
result := common.CleanValue(value)
if len(result) == 0 {
result = dft
}
if !bytes.HasPrefix(result, []byte("user-content-")) {
result = append([]byte("user-content-"), result...)
}
if p.values.Add(util.BytesToReadOnlyString(result)) {
return result
}
for i := 1; ; i++ {
newResult := fmt.Sprintf("%s-%d", result, i)
if p.values.Add(newResult) {
return []byte(newResult)
}
}
}
// Put puts a given element id to the used ids table.
func (p *prefixedIDs) Put(value []byte) {
p.values.Add(util.BytesToReadOnlyString(value))
}
func newPrefixedIDs() *prefixedIDs {
return &prefixedIDs{
values: make(container.Set[string]),
}
}
// NewHTMLRenderer creates a HTMLRenderer to render
// in the gitea form.
func NewHTMLRenderer(opts ...html.Option) renderer.NodeRenderer {
@ -295,60 +135,6 @@ func (r *HTMLRenderer) RegisterFuncs(reg renderer.NodeRendererFuncRegisterer) {
reg.Register(east.KindTaskCheckBox, r.renderTaskCheckBox)
}
// renderCodeSpan renders CodeSpan elements (like goldmark upstream does) but also renders ColorPreview elements.
// See #21474 for reference
func (r *HTMLRenderer) renderCodeSpan(w util.BufWriter, source []byte, n ast.Node, entering bool) (ast.WalkStatus, error) {
if entering {
if n.Attributes() != nil {
_, _ = w.WriteString("<code")
html.RenderAttributes(w, n, html.CodeAttributeFilter)
_ = w.WriteByte('>')
} else {
_, _ = w.WriteString("<code>")
}
for c := n.FirstChild(); c != nil; c = c.NextSibling() {
switch v := c.(type) {
case *ast.Text:
segment := v.Segment
value := segment.Value(source)
if bytes.HasSuffix(value, []byte("\n")) {
r.Writer.RawWrite(w, value[:len(value)-1])
r.Writer.RawWrite(w, []byte(" "))
} else {
r.Writer.RawWrite(w, value)
}
case *ColorPreview:
_, _ = w.WriteString(fmt.Sprintf(`<span class="color-preview" style="background-color: %v"></span>`, string(v.Color)))
}
}
return ast.WalkSkipChildren, nil
}
_, _ = w.WriteString("</code>")
return ast.WalkContinue, nil
}
// renderAttention renders a quote marked with i.e. "> **Note**" or "> **Warning**" with a corresponding svg
func (r *HTMLRenderer) renderAttention(w util.BufWriter, source []byte, node ast.Node, entering bool) (ast.WalkStatus, error) {
if entering {
n := node.(*Attention)
var octiconName string
switch n.AttentionType {
case "tip":
octiconName = "light-bulb"
case "important":
octiconName = "report"
case "warning":
octiconName = "alert"
case "caution":
octiconName = "stop"
default: // including "note"
octiconName = "info"
}
_, _ = w.WriteString(string(svg.RenderHTML("octicon-"+octiconName, 16, "attention-icon attention-"+n.AttentionType)))
}
return ast.WalkContinue, nil
}
func (r *HTMLRenderer) renderDocument(w util.BufWriter, source []byte, node ast.Node, entering bool) (ast.WalkStatus, error) {
n := node.(*ast.Document)
@ -435,38 +221,3 @@ func (r *HTMLRenderer) renderIcon(w util.BufWriter, source []byte, node ast.Node
return ast.WalkContinue, nil
}
func (r *HTMLRenderer) renderTaskCheckBoxListItem(w util.BufWriter, source []byte, node ast.Node, entering bool) (ast.WalkStatus, error) {
n := node.(*TaskCheckBoxListItem)
if entering {
if n.Attributes() != nil {
_, _ = w.WriteString("<li")
html.RenderAttributes(w, n, html.ListItemAttributeFilter)
_ = w.WriteByte('>')
} else {
_, _ = w.WriteString("<li>")
}
fmt.Fprintf(w, `<input type="checkbox" disabled="" data-source-position="%d"`, n.SourcePosition)
if n.IsChecked {
_, _ = w.WriteString(` checked=""`)
}
if r.XHTML {
_, _ = w.WriteString(` />`)
} else {
_ = w.WriteByte('>')
}
fc := n.FirstChild()
if fc != nil {
if _, ok := fc.(*ast.TextBlock); !ok {
_ = w.WriteByte('\n')
}
}
} else {
_, _ = w.WriteString("</li>\n")
}
return ast.WalkContinue, nil
}
func (r *HTMLRenderer) renderTaskCheckBox(w util.BufWriter, source []byte, node ast.Node, entering bool) (ast.WalkStatus, error) {
return ast.WalkContinue, nil
}

View File

@ -436,6 +436,10 @@ func TestColorPreview(t *testing.T) {
testcase string
expected string
}{
{ // do not render color names
"The CSS class `red` is there",
"<p>The CSS class <code>red</code> is there</p>\n",
},
{ // hex
"`#FF0000`",
`<p><code>#FF0000<span class="color-preview" style="background-color: #FF0000"></span></code></p>` + nl,
@ -445,8 +449,8 @@ func TestColorPreview(t *testing.T) {
`<p><code>rgb(16, 32, 64)<span class="color-preview" style="background-color: rgb(16, 32, 64)"></span></code></p>` + nl,
},
{ // short hex
"This is the color white `#000`",
`<p>This is the color white <code>#000<span class="color-preview" style="background-color: #000"></span></code></p>` + nl,
"This is the color white `#0a0`",
`<p>This is the color white <code>#0a0<span class="color-preview" style="background-color: #0a0"></span></code></p>` + nl,
},
{ // hsl
"HSL stands for hue, saturation, and lightness. An example: `hsl(0, 100%, 50%)`.",

View File

@ -0,0 +1,59 @@
// Copyright 2024 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT
package markdown
import (
"bytes"
"fmt"
"code.gitea.io/gitea/modules/container"
"code.gitea.io/gitea/modules/markup/common"
"github.com/yuin/goldmark/ast"
"github.com/yuin/goldmark/util"
)
type prefixedIDs struct {
values container.Set[string]
}
// Generate generates a new element id.
func (p *prefixedIDs) Generate(value []byte, kind ast.NodeKind) []byte {
dft := []byte("id")
if kind == ast.KindHeading {
dft = []byte("heading")
}
return p.GenerateWithDefault(value, dft)
}
// GenerateWithDefault generates a new element id.
func (p *prefixedIDs) GenerateWithDefault(value, dft []byte) []byte {
result := common.CleanValue(value)
if len(result) == 0 {
result = dft
}
if !bytes.HasPrefix(result, []byte("user-content-")) {
result = append([]byte("user-content-"), result...)
}
if p.values.Add(util.BytesToReadOnlyString(result)) {
return result
}
for i := 1; ; i++ {
newResult := fmt.Sprintf("%s-%d", result, i)
if p.values.Add(newResult) {
return []byte(newResult)
}
}
}
// Put puts a given element id to the used ids table.
func (p *prefixedIDs) Put(value []byte) {
p.values.Add(util.BytesToReadOnlyString(value))
}
func newPrefixedIDs() *prefixedIDs {
return &prefixedIDs{
values: make(container.Set[string]),
}
}

View File

@ -6,12 +6,37 @@ package markdown
import (
"strings"
"code.gitea.io/gitea/modules/svg"
"github.com/yuin/goldmark/ast"
"github.com/yuin/goldmark/text"
"github.com/yuin/goldmark/util"
"golang.org/x/text/cases"
"golang.org/x/text/language"
)
// renderAttention renders a quote marked with i.e. "> **Note**" or "> **Warning**" with a corresponding svg
func (r *HTMLRenderer) renderAttention(w util.BufWriter, source []byte, node ast.Node, entering bool) (ast.WalkStatus, error) {
if entering {
n := node.(*Attention)
var octiconName string
switch n.AttentionType {
case "tip":
octiconName = "light-bulb"
case "important":
octiconName = "report"
case "warning":
octiconName = "alert"
case "caution":
octiconName = "stop"
default: // including "note"
octiconName = "info"
}
_, _ = w.WriteString(string(svg.RenderHTML("octicon-"+octiconName, 16, "attention-icon attention-"+n.AttentionType)))
}
return ast.WalkContinue, nil
}
func (g *ASTTransformer) transformBlockquote(v *ast.Blockquote, reader text.Reader) (ast.WalkStatus, error) {
// We only want attention blockquotes when the AST looks like:
// > Text("[") Text("!TYPE") Text("]")
@ -22,10 +47,16 @@ func (g *ASTTransformer) transformBlockquote(v *ast.Blockquote, reader text.Read
if firstParagraph.ChildCount() < 3 {
return ast.WalkContinue, nil
}
node1, ok1 := firstParagraph.FirstChild().(*ast.Text)
node2, ok2 := node1.NextSibling().(*ast.Text)
node3, ok3 := node2.NextSibling().(*ast.Text)
if !ok1 || !ok2 || !ok3 {
node1, ok := firstParagraph.FirstChild().(*ast.Text)
if !ok {
return ast.WalkContinue, nil
}
node2, ok := node1.NextSibling().(*ast.Text)
if !ok {
return ast.WalkContinue, nil
}
node3, ok := node2.NextSibling().(*ast.Text)
if !ok {
return ast.WalkContinue, nil
}
val1 := string(node1.Segment.Value(reader.Source()))
@ -37,7 +68,7 @@ func (g *ASTTransformer) transformBlockquote(v *ast.Blockquote, reader text.Read
// grab attention type from markdown source
attentionType := strings.ToLower(val2[1:])
if !g.AttentionTypes.Contains(attentionType) {
if !g.attentionTypes.Contains(attentionType) {
return ast.WalkContinue, nil
}

View File

@ -0,0 +1,76 @@
// Copyright 2024 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT
package markdown
import (
"bytes"
"fmt"
"strings"
"code.gitea.io/gitea/modules/markup"
"github.com/microcosm-cc/bluemonday/css"
"github.com/yuin/goldmark/ast"
"github.com/yuin/goldmark/renderer/html"
"github.com/yuin/goldmark/text"
"github.com/yuin/goldmark/util"
)
// renderCodeSpan renders CodeSpan elements (like goldmark upstream does) but also renders ColorPreview elements.
// See #21474 for reference
func (r *HTMLRenderer) renderCodeSpan(w util.BufWriter, source []byte, n ast.Node, entering bool) (ast.WalkStatus, error) {
if entering {
if n.Attributes() != nil {
_, _ = w.WriteString("<code")
html.RenderAttributes(w, n, html.CodeAttributeFilter)
_ = w.WriteByte('>')
} else {
_, _ = w.WriteString("<code>")
}
for c := n.FirstChild(); c != nil; c = c.NextSibling() {
switch v := c.(type) {
case *ast.Text:
segment := v.Segment
value := segment.Value(source)
if bytes.HasSuffix(value, []byte("\n")) {
r.Writer.RawWrite(w, value[:len(value)-1])
r.Writer.RawWrite(w, []byte(" "))
} else {
r.Writer.RawWrite(w, value)
}
case *ColorPreview:
_, _ = w.WriteString(fmt.Sprintf(`<span class="color-preview" style="background-color: %v"></span>`, string(v.Color)))
}
}
return ast.WalkSkipChildren, nil
}
_, _ = w.WriteString("</code>")
return ast.WalkContinue, nil
}
// cssColorHandler checks if a string is a render-able CSS color value.
// The code is from "github.com/microcosm-cc/bluemonday/css.ColorHandler", except that it doesn't handle color words like "red".
func cssColorHandler(value string) bool {
value = strings.ToLower(value)
if css.HexRGB.MatchString(value) {
return true
}
if css.RGB.MatchString(value) {
return true
}
if css.RGBA.MatchString(value) {
return true
}
if css.HSL.MatchString(value) {
return true
}
return css.HSLA.MatchString(value)
}
func (g *ASTTransformer) transformCodeSpan(ctx *markup.RenderContext, v *ast.CodeSpan, reader text.Reader) {
colorContent := v.Text(reader.Source())
if cssColorHandler(string(colorContent)) {
v.AppendChild(v, NewColorPreview(colorContent))
}
}

View File

@ -0,0 +1,32 @@
// Copyright 2024 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT
package markdown
import (
"fmt"
"code.gitea.io/gitea/modules/markup"
"github.com/yuin/goldmark/ast"
"github.com/yuin/goldmark/text"
"github.com/yuin/goldmark/util"
)
func (g *ASTTransformer) transformHeading(ctx *markup.RenderContext, v *ast.Heading, reader text.Reader, tocList *[]markup.Header) {
for _, attr := range v.Attributes() {
if _, ok := attr.Value.([]byte); !ok {
v.SetAttribute(attr.Name, []byte(fmt.Sprintf("%v", attr.Value)))
}
}
txt := v.Text(reader.Source())
header := markup.Header{
Text: util.BytesToReadOnlyString(txt),
Level: v.Level,
}
if id, found := v.AttributeString("id"); found {
header.ID = util.BytesToReadOnlyString(id.([]byte))
}
*tocList = append(*tocList, header)
g.applyElementDir(v)
}

View File

@ -0,0 +1,66 @@
// Copyright 2024 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT
package markdown
import (
"strings"
"code.gitea.io/gitea/modules/markup"
giteautil "code.gitea.io/gitea/modules/util"
"github.com/yuin/goldmark/ast"
"github.com/yuin/goldmark/text"
)
func (g *ASTTransformer) transformImage(ctx *markup.RenderContext, v *ast.Image, reader text.Reader) {
// Images need two things:
//
// 1. Their src needs to munged to be a real value
// 2. If they're not wrapped with a link they need a link wrapper
// Check if the destination is a real link
if len(v.Destination) > 0 && !markup.IsFullURLBytes(v.Destination) {
v.Destination = []byte(giteautil.URLJoin(
ctx.Links.ResolveMediaLink(ctx.IsWiki),
strings.TrimLeft(string(v.Destination), "/"),
))
}
parent := v.Parent()
// Create a link around image only if parent is not already a link
if _, ok := parent.(*ast.Link); !ok && parent != nil {
next := v.NextSibling()
// Create a link wrapper
wrap := ast.NewLink()
wrap.Destination = v.Destination
wrap.Title = v.Title
wrap.SetAttributeString("target", []byte("_blank"))
// Duplicate the current image node
image := ast.NewImage(ast.NewLink())
image.Destination = v.Destination
image.Title = v.Title
for _, attr := range v.Attributes() {
image.SetAttribute(attr.Name, attr.Value)
}
for child := v.FirstChild(); child != nil; {
next := child.NextSibling()
image.AppendChild(image, child)
child = next
}
// Append our duplicate image to the wrapper link
wrap.AppendChild(wrap, image)
// Wire in the next sibling
wrap.SetNextSibling(next)
// Replace the current node with the wrapper link
parent.ReplaceChild(parent, v, wrap)
// But most importantly ensure the next sibling is still on the old image too
v.SetNextSibling(next)
}
}

View File

@ -0,0 +1,31 @@
// Copyright 2024 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT
package markdown
import (
"code.gitea.io/gitea/modules/markup"
giteautil "code.gitea.io/gitea/modules/util"
"github.com/yuin/goldmark/ast"
"github.com/yuin/goldmark/text"
)
func (g *ASTTransformer) transformLink(ctx *markup.RenderContext, v *ast.Link, reader text.Reader) {
// Links need their href to munged to be a real value
link := v.Destination
isAnchorFragment := len(link) > 0 && link[0] == '#'
if !isAnchorFragment && !markup.IsFullURLBytes(link) {
base := ctx.Links.Base
if ctx.IsWiki {
base = ctx.Links.WikiLink()
} else if ctx.Links.HasBranchInfo() {
base = ctx.Links.SrcLink()
}
link = []byte(giteautil.URLJoin(base, string(link)))
}
if isAnchorFragment {
link = []byte("#user-content-" + string(link)[1:])
}
v.Destination = link
}

View File

@ -0,0 +1,86 @@
// Copyright 2024 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT
package markdown
import (
"fmt"
"code.gitea.io/gitea/modules/markup"
"github.com/yuin/goldmark/ast"
east "github.com/yuin/goldmark/extension/ast"
"github.com/yuin/goldmark/renderer/html"
"github.com/yuin/goldmark/text"
"github.com/yuin/goldmark/util"
)
func (r *HTMLRenderer) renderTaskCheckBoxListItem(w util.BufWriter, source []byte, node ast.Node, entering bool) (ast.WalkStatus, error) {
n := node.(*TaskCheckBoxListItem)
if entering {
if n.Attributes() != nil {
_, _ = w.WriteString("<li")
html.RenderAttributes(w, n, html.ListItemAttributeFilter)
_ = w.WriteByte('>')
} else {
_, _ = w.WriteString("<li>")
}
fmt.Fprintf(w, `<input type="checkbox" disabled="" data-source-position="%d"`, n.SourcePosition)
if n.IsChecked {
_, _ = w.WriteString(` checked=""`)
}
if r.XHTML {
_, _ = w.WriteString(` />`)
} else {
_ = w.WriteByte('>')
}
fc := n.FirstChild()
if fc != nil {
if _, ok := fc.(*ast.TextBlock); !ok {
_ = w.WriteByte('\n')
}
}
} else {
_, _ = w.WriteString("</li>\n")
}
return ast.WalkContinue, nil
}
func (r *HTMLRenderer) renderTaskCheckBox(w util.BufWriter, source []byte, node ast.Node, entering bool) (ast.WalkStatus, error) {
return ast.WalkContinue, nil
}
func (g *ASTTransformer) transformList(ctx *markup.RenderContext, v *ast.List, reader text.Reader, rc *RenderConfig) {
if v.HasChildren() {
children := make([]ast.Node, 0, v.ChildCount())
child := v.FirstChild()
for child != nil {
children = append(children, child)
child = child.NextSibling()
}
v.RemoveChildren(v)
for _, child := range children {
listItem := child.(*ast.ListItem)
if !child.HasChildren() || !child.FirstChild().HasChildren() {
v.AppendChild(v, child)
continue
}
taskCheckBox, ok := child.FirstChild().FirstChild().(*east.TaskCheckBox)
if !ok {
v.AppendChild(v, child)
continue
}
newChild := NewTaskCheckBoxListItem(listItem)
newChild.IsChecked = taskCheckBox.IsChecked
newChild.SetAttributeString("class", []byte("task-list-item"))
segments := newChild.FirstChild().Lines()
if segments.Len() > 0 {
segment := segments.At(0)
newChild.SourcePosition = rc.metaLength + segment.Start
}
v.AppendChild(v, newChild)
}
}
g.applyElementDir(v)
}

View File

@ -3,13 +3,16 @@
package setting
import "code.gitea.io/gitea/modules/container"
import (
"code.gitea.io/gitea/modules/container"
)
// Admin settings
var Admin struct {
DisableRegularOrgCreation bool
DefaultEmailNotification string
UserDisabledFeatures container.Set[string]
DisableRegularOrgCreation bool
DefaultEmailNotification string
UserDisabledFeatures container.Set[string]
ExternalUserDisableFeatures container.Set[string]
}
func loadAdminFrom(rootCfg ConfigProvider) {
@ -17,6 +20,7 @@ func loadAdminFrom(rootCfg ConfigProvider) {
Admin.DisableRegularOrgCreation = sec.Key("DISABLE_REGULAR_ORG_CREATION").MustBool(false)
Admin.DefaultEmailNotification = sec.Key("DEFAULT_EMAIL_NOTIFICATIONS").MustString("enabled")
Admin.UserDisabledFeatures = container.SetOf(sec.Key("USER_DISABLED_FEATURES").Strings(",")...)
Admin.ExternalUserDisableFeatures = container.SetOf(sec.Key("EXTERNAL_USER_DISABLE_FEATURES").Strings(",")...)
}
const (

View File

@ -58,7 +58,7 @@ func loadIndexerFrom(rootCfg ConfigProvider) {
if !filepath.IsAbs(Indexer.IssuePath) {
Indexer.IssuePath = filepath.ToSlash(filepath.Join(AppWorkPath, Indexer.IssuePath))
}
fatalDuplicatedPath("issue_indexer", Indexer.IssuePath)
checkOverlappedPath("indexer.ISSUE_INDEXER_PATH", Indexer.IssuePath)
} else {
Indexer.IssueConnStr = sec.Key("ISSUE_INDEXER_CONN_STR").MustString(Indexer.IssueConnStr)
if Indexer.IssueType == "meilisearch" {

View File

@ -66,12 +66,8 @@ func init() {
AppWorkPath = filepath.Dir(AppPath)
}
fatalDuplicatedPath("app_work_path", AppWorkPath)
appWorkPathBuiltin = AppWorkPath
customPathBuiltin = CustomPath
fatalDuplicatedPath("custom_path", CustomPath)
customConfBuiltin = CustomConf
}

View File

@ -286,7 +286,7 @@ func loadRepositoryFrom(rootCfg ConfigProvider) {
RepoRootPath = filepath.Clean(RepoRootPath)
}
fatalDuplicatedPath("repository.ROOT", RepoRootPath)
checkOverlappedPath("repository.ROOT", RepoRootPath)
defaultDetectedCharsetsOrder := make([]string, 0, len(Repository.DetectedCharsetsOrder))
for _, charset := range Repository.DetectedCharsetsOrder {

View File

@ -103,7 +103,7 @@ func generateSaveInternalToken(rootCfg ConfigProvider) {
func loadSecurityFrom(rootCfg ConfigProvider) {
sec := rootCfg.Section("security")
InstallLock = HasInstallLock(rootCfg)
LogInRememberDays = sec.Key("LOGIN_REMEMBER_DAYS").MustInt(7)
LogInRememberDays = sec.Key("LOGIN_REMEMBER_DAYS").MustInt(31)
SecretKey = loadSecret(sec, "SECRET_KEY_URI", "SECRET_KEY")
if SecretKey == "" {
// FIXME: https://github.com/go-gitea/gitea/issues/16832

View File

@ -324,7 +324,6 @@ func loadServerFrom(rootCfg ConfigProvider) {
if !filepath.IsAbs(AppDataPath) {
AppDataPath = filepath.ToSlash(filepath.Join(AppWorkPath, AppDataPath))
}
fatalDuplicatedPath("app_data_path", AppDataPath)
EnableGzip = sec.Key("ENABLE_GZIP").MustBool()
EnablePprof = sec.Key("ENABLE_PPROF").MustBool(false)
@ -332,7 +331,7 @@ func loadServerFrom(rootCfg ConfigProvider) {
if !filepath.IsAbs(PprofDataPath) {
PprofDataPath = filepath.Join(AppWorkPath, PprofDataPath)
}
fatalDuplicatedPath("pprof_data_path", PprofDataPath)
checkOverlappedPath("server.PPROF_DATA_PATH", PprofDataPath)
landingPage := sec.Key("LANDING_PAGE").MustString("home")
switch landingPage {

View File

@ -46,7 +46,7 @@ func loadSessionFrom(rootCfg ConfigProvider) {
SessionConfig.ProviderConfig = strings.Trim(sec.Key("PROVIDER_CONFIG").MustString(filepath.Join(AppDataPath, "sessions")), "\" ")
if SessionConfig.Provider == "file" && !filepath.IsAbs(SessionConfig.ProviderConfig) {
SessionConfig.ProviderConfig = filepath.Join(AppWorkPath, SessionConfig.ProviderConfig)
fatalDuplicatedPath("session", SessionConfig.ProviderConfig)
checkOverlappedPath("session.PROVIDER_CONFIG", SessionConfig.ProviderConfig)
}
SessionConfig.CookieName = sec.Key("COOKIE_NAME").MustString("i_like_gitea")
SessionConfig.CookiePath = AppSubURL

View File

@ -230,11 +230,14 @@ func LoadSettingsForInstall() {
loadMailerFrom(CfgProvider)
}
var uniquePaths = make(map[string]string)
var configuredPaths = make(map[string]string)
func fatalDuplicatedPath(name, p string) {
if targetName, ok := uniquePaths[p]; ok && targetName != name {
log.Fatal("storage path %q is being used by %q and %q and all storage paths must be unique to prevent data loss.", p, targetName, name)
func checkOverlappedPath(name, path string) {
// TODO: some paths shouldn't overlap (storage.xxx.path), while some could (data path is the base path for storage path)
if targetName, ok := configuredPaths[path]; ok && targetName != name {
msg := fmt.Sprintf("Configured path %q is used by %q and %q at the same time. The paths must be unique to prevent data loss.", path, targetName, name)
log.Error("%s", msg)
DeprecatedWarnings = append(DeprecatedWarnings, msg)
}
uniquePaths[p] = name
configuredPaths[path] = name
}

View File

@ -240,7 +240,7 @@ func getStorageForLocal(targetSec, overrideSec ConfigSection, tp targetSecType,
}
}
fatalDuplicatedPath("storage."+name, storage.Path)
checkOverlappedPath("storage."+name+".PATH", storage.Path)
return &storage, nil
}

View File

@ -0,0 +1,37 @@
// Copyright 2024 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT
package structs
// CreateVariableOption the option when creating variable
// swagger:model
type CreateVariableOption struct {
// Value of the variable to create
//
// required: true
Value string `json:"value" binding:"Required"`
}
// UpdateVariableOption the option when updating variable
// swagger:model
type UpdateVariableOption struct {
// New name for the variable. If the field is empty, the variable name won't be updated.
Name string `json:"name"`
// Value of the variable to update
//
// required: true
Value string `json:"value" binding:"Required"`
}
// ActionVariable return value of the query API
// swagger:model
type ActionVariable struct {
// the owner to which the variable belongs
OwnerID int64 `json:"owner_id"`
// the repository to which the variable belongs
RepoID int64 `json:"repo_id"`
// the name of the variable
Name string `json:"name"`
// the value of the variable
Data string `json:"data"`
}

View File

@ -41,7 +41,7 @@ func RenderCommitMessage(ctx context.Context, msg string, metas map[string]strin
if len(msgLines) == 0 {
return template.HTML("")
}
return template.HTML(msgLines[0])
return RenderCodeBlock(template.HTML(msgLines[0]))
}
// RenderCommitMessageLinkSubject renders commit message as a XSS-safe link to
@ -68,7 +68,7 @@ func RenderCommitMessageLinkSubject(ctx context.Context, msg, urlDefault string,
log.Error("RenderCommitMessageSubject: %v", err)
return template.HTML("")
}
return template.HTML(renderedMessage)
return RenderCodeBlock(template.HTML(renderedMessage))
}
// RenderCommitBody extracts the body of a commit message without its title.

View File

@ -221,3 +221,12 @@ func IfZero[T comparable](v, def T) T {
}
return v
}
func ReserveLineBreakForTextarea(input string) string {
// Since the content is from a form which is a textarea, the line endings are \r\n.
// It's a standard behavior of HTML.
// But we want to store them as \n like what GitHub does.
// And users are unlikely to really need to keep the \r.
// Other than this, we should respect the original content, even leading or trailing spaces.
return strings.ReplaceAll(input, "\r\n", "\n")
}

View File

@ -235,3 +235,8 @@ func TestToPointer(t *testing.T) {
val123 := 123
assert.False(t, &val123 == ToPointer(val123))
}
func TestReserveLineBreakForTextarea(t *testing.T) {
assert.Equal(t, ReserveLineBreakForTextarea("test\r\ndata"), "test\ndata")
assert.Equal(t, ReserveLineBreakForTextarea("test\r\ndata\r\n"), "test\ndata\n")
}

View File

@ -25,6 +25,7 @@ enable_javascript=Tato stránka vyžaduje JavaScript.
toc=Obsah
licenses=Licence
return_to_gitea=Vrátit se do Gitea
more_items=Více položek
username=Uživatelské jméno
email=E-mailová adresa
@ -75,7 +76,7 @@ collaborative=Spolupráce
forks=Rozštěpení
activities=Aktivity
pull_requests=Požadavky na natažení
pull_requests=Pull requesty
issues=Úkoly
milestones=Milníky
@ -113,6 +114,7 @@ loading=Načítá se…
error=Chyba
error404=Stránka, kterou se snažíte zobrazit, buď <strong>neexistuje</strong>, nebo <strong>nemáte oprávnění</strong> ji zobrazit.
go_back=Zpět
invalid_data=Neplatná data: %v
never=Nikdy
unknown=Neznámý
@ -142,6 +144,43 @@ confirm_delete_selected=Potvrdit odstranění všech vybraných položek?
name=Název
value=Hodnota
filter=Filtr
filter.clear=Vymazat filtr
filter.is_archived=Archivováno
filter.not_archived=Nearchivované
filter.is_fork=Rozštěpený
filter.not_fork=Není rozštěpený
filter.is_mirror=Zrcadlen
filter.not_mirror=Není zrcadleno
filter.is_template=Šablona
filter.not_template=Není šablona
filter.public=Veřejná
filter.private=Soukromý
no_results_found=Nebyly nalezeny žádné výsledky.
[search]
search=Hledat...
type_tooltip=Druh vyhledávání
fuzzy=Fuzzy
fuzzy_tooltip=Zahrnout výsledky, které také úzce odpovídají hledanému výrazu
match=Shoda
match_tooltip=Zahrnout pouze výsledky, které odpovídají přesnému hledanému výrazu
repo_kind=Hledat repozitáře...
user_kind=Hledat uživatele...
org_kind=Hledat organizace...
team_kind=Hledat týmy...
code_kind=Hledat kód...
code_search_unavailable=Vyhledávání kódu není momentálně dostupné. Obraťte se na správce webu.
code_search_by_git_grep=Aktuální výsledky vyhledávání kódu jsou poskytovány pomocí „git grep“. Pokud správce webu povolí index repozitáře, mohou být výsledky lepší.
package_kind=Hledat balíčky...
project_kind=Hledat projekty...
branch_kind=Hledat větve...
commit_kind=Hledat commity...
runner_kind=Hledat runnery...
no_results=Nebyly nalezeny žádné odpovídající výsledky.
keyword_search_unavailable=Hledání podle klíčového slova není momentálně dostupné. Obraťte se na správce webu.
[aria]
navbar=Navigační lišta
footer=Patička
@ -247,6 +286,7 @@ email_title=Nastavení e-mailu
smtp_addr=Server SMTP
smtp_port=Port SMTP
smtp_from=Odeslat e-mail jako
smtp_from_invalid=Adresa "Odeslat e-mail jako" je neplatná
smtp_from_helper=E-mailová adresa, kterou bude Gitea používat. Zadejte běžnou e-mailovou adresu, nebo použijte formát "Jméno"<email@example.com>.
mailer_user=Uživatelské jméno SMTP
mailer_password=Heslo pro SMTP
@ -306,6 +346,7 @@ env_config_keys=Konfigurace prostředí
env_config_keys_prompt=Následující proměnné prostředí budou také použity pro váš konfigurační soubor:
[home]
nav_menu=Navigační menu
uname_holder=Uživatelské jméno nebo e-mailová adresa
password_holder=Heslo
switch_dashboard_context=Přepnout kontext přehledu
@ -315,7 +356,6 @@ collaborative_repos=Společné repozitáře
my_orgs=Mé organizace
my_mirrors=Má zrcadla
view_home=Zobrazit %s
search_repos=Nalézt repozitář…
filter=Ostatní filtry
filter_by_team_repositories=Filtrovat podle repozitářů týmu
feed_of=Kanál z „%s“
@ -336,20 +376,8 @@ issues.in_your_repos=Ve vašich repozitářích
repos=Repozitáře
users=Uživatelé
organizations=Organizace
search=Vyhledat
go_to=Přejít na
code=Kód
search.type.tooltip=Druh vyhledávání
search.fuzzy=Fuzzy
search.fuzzy.tooltip=Zahrnout výsledky, které také úzce odpovídají hledanému výrazu
search.match=Shoda
search.match.tooltip=Zahrnout pouze výsledky, které odpovídají přesnému hledanému výrazu
code_search_unavailable=V současné době není vyhledávání kódu dostupné. Obraťte se na správce webu.
repo_no_results=Nebyly nalezeny žádné odpovídající repozitáře.
user_no_results=Nebyly nalezeni žádní odpovídající uživatelé.
org_no_results=Nebyly nalezeny žádné odpovídající organizace.
code_no_results=Nebyl nalezen žádný zdrojový kód odpovídající hledanému výrazu.
code_search_results=Výsledky hledání pro „%s“
code_last_indexed_at=Naposledy indexováno %s
relevant_repositories_tooltip=Repozitáře, které jsou rozštěpení nebo nemají žádné téma, ikonu a žádný popis jsou skryty.
relevant_repositories=Zobrazují se pouze relevantní repositáře, <a href="%s">zobrazit nefiltrované výsledky</a>.
@ -367,7 +395,7 @@ forgot_password_title=Zapomenuté heslo
forgot_password=Zapomenuté heslo?
sign_up_now=Potřebujete účet? Zaregistrujte se.
sign_up_successful=Účet byl úspěšně vytvořen. Vítejte!
confirmation_mail_sent_prompt=Na adresu <b>%s</b> byl zaslán nový potvrzovací e-mail. Zkontrolujte prosím vaši doručenou poštu během následujících %s, abyste dokončili proces registrace.
confirmation_mail_sent_prompt_ex=Nový potvrzovací e-mail byl odeslán na <b>%s</b>. Zkontrolujte prosím svou doručenou poštu během následujících %s a dokončete proces registrace. Pokud je Vaše registrační e-mailová adresa nesprávná, můžete se znovu přihlásit a změnit ji.
must_change_password=Aktualizujte své heslo
allow_password_change=Vyžádat od uživatele změnu hesla (doporučeno)
reset_password_mail_sent_prompt=Na adresu <b>%s</b> byl zaslán potvrzovací e-mail. Zkontrolujte prosím vaši doručenou poštu během následujících %s, abyste dokončili proces obnovení účtu.
@ -377,6 +405,7 @@ prohibit_login=Přihlášení zakázáno
prohibit_login_desc=Vašemu účtu je zakázáno se přihlásit, kontaktujte prosím správce webu.
resent_limit_prompt=Omlouváme se, ale před chvílí jste požádal o zaslání aktivačního e-mailu. Počkejte prosím 3 minuty a pak to zkuste znovu.
has_unconfirmed_mail=Zdravím, %s, máte nepotvrzenou e-mailovou adresu (<b>%s</b>). Pokud jste nedostali e-mail pro potvrzení nebo potřebujete zaslat nový, klikněte prosím na tlačítku níže.
change_unconfirmed_mail_address=Pokud je Vaše registrační e-mailová adresa nesprávná, můžete ji zde změnit a znovu odeslat nový potvrzovací e-mail.
resend_mail=Klikněte zde pro odeslání aktivačního e-mailu
email_not_associate=Tato e-mailová adresa není spojena s žádným účtem.
send_reset_mail=Zaslat e-mail pro obnovení účtu
@ -453,7 +482,7 @@ reset_password.text=Klikněte prosím na následující odkaz pro obnovení vaš
register_success=Registrace byla úspěšná
issue_assigned.pull=@%[1]s vás přiřadil/a k požadavku na natažení %[2]s repozitáři %[3]s.
issue_assigned.pull=@%[1]s vás přiřadil/a k pull requestu %[2]s v repozitáři %[3]s.
issue_assigned.issue=@%[1]s vás přiřadil/a k úkolu %[2]s repozitáři %[3]s.
issue.x_mentioned_you=<b>@%s</b> vás zmínil/a:
@ -463,11 +492,11 @@ issue.action.push_n=<b>@%[1]s</b> nahrál/a %[3]d commity do %[2]s
issue.action.close=<b>@%[1]s</b> uzavřel/a #%[2]d.
issue.action.reopen=<b>@%[1]s</b> znovu otevřel/a #%[2]d.
issue.action.merge=<b>@%[1]s</b> sloučil/a #%[2]d do %[3]s.
issue.action.approve=<b>@%[1]s</b> schválil/a tento požadavek na natažení.
issue.action.reject=<b>@%[1]s</b> požadoval/a změny v tomto požadavku na natažení.
issue.action.review=<b>@%[1]s</b> okomentoval/a tento požadavek na natažení.
issue.action.review_dismissed=<b>@%[1]s</b> odmítl/a poslední kontrolu z %[2]s pro tento požadavek na natažení.
issue.action.ready_for_review=<b>@%[1]s</b> označil/a tento požadavek na natažení jako připravený ke kontrole.
issue.action.approve=<b>@%[1]s</b> schválil/a tento pull request.
issue.action.reject=<b>@%[1]s</b> požadoval/a změny v tomto pull requestu.
issue.action.review=<b>@%[1]s</b> okomentoval/a tento pull request.
issue.action.review_dismissed=<b>@%[1]s</b> odmítl/a poslední kontrolu z %[2]s pro tento pull request.
issue.action.ready_for_review=<b>@%[1]s</b> označil/a tento pull request jako připravený ke kontrole.
issue.action.new=<b>@%[1]s</b> vytvořil/a #%[2]d.
issue.in_tree_path=V %s:
@ -557,6 +586,7 @@ team_name_been_taken=Název týmu je již použit.
team_no_units_error=Povolit přístup alespoň do jedné sekce repozitáře.
email_been_used=Tato e-mailová adresa je již používána.
email_invalid=Emailová adresa je neplatná.
email_domain_is_not_allowed=Doména uživatelského e-mailu <b>%s</b> je v rozporu s EMAIL_DOMAIN_ALLOWLIST nebo EMAIL_DOMAIN_BLOCKLIST. Ujistěte se, že je Vaše operace očekávána.
openid_been_used=OpenID addresa „%s“ je již použita.
username_password_incorrect=Uživatelské jméno nebo heslo není správné.
password_complexity=Heslo nesplňuje požadavky na složitost:
@ -568,6 +598,8 @@ enterred_invalid_repo_name=Zadaný název repozitáře není správný.
enterred_invalid_org_name=Zadaný název organizace není správný.
enterred_invalid_owner_name=Nové jméno vlastníka není správné.
enterred_invalid_password=Zadané heslo není správné.
unset_password=Přihlášený uživatel nenastavil heslo.
unsupported_login_type=Typ přihlášení není podporován pro odstranění účtu.
user_not_exist=Tento uživatel neexistuje.
team_not_exist=Tento tým neexistuje.
last_org_owner=Nemůžete odstranit posledního uživatele z týmu „vlastníci“. Musí existovat alespoň jeden vlastník pro organizaci.
@ -617,6 +649,30 @@ form.name_reserved=Uživatelské jméno „%s“ je rezervováno.
form.name_pattern_not_allowed=Vzor „%s“ není povolen v uživatelském jméně.
form.name_chars_not_allowed=Uživatelské jméno „%s“ obsahuje neplatné znaky.
block.block=Blokovat
block.block.user=Zablokovat Uživatele
block.block.org=Blokovat uživatele pro organizaci
block.block.failure=Nepodařilo se zablokovat uživatele: %s
block.unblock=Odblokovat
block.unblock.failure=Nepodařilo se odblokovat uživatele: %s
block.blocked=Zablokovali jste tohoto uživatele.
block.title=Zablokovat Uživatele
block.info=Blokování uživatele brání v interakci s repozitáři, jako je otevírání nebo komentování pull requestů nebo úkolů. Další informace o blokování uživatele.
block.info_1=Zablokování uživatele zabrání následujícím akcím na vašem účtu a repozirářích:
block.info_2=sledují váš účet
block.info_3=pošle vám oznámení pomocí @zmínění vašeho uživatelského jména
block.info_4=pozváním vás jako spolupracovníka do jejich repozitářů
block.info_5=oblíbení, rozštěpení nebo sledování repozitářů
block.info_6=otevření a komentování úkolů nebo pull requestů
block.info_7=reagovat na své komentáře v úkolech nebo pull requestů
block.user_to_block=Uživatel k blokování
block.note=Poznámka
block.note.title=Volitelná poznámka:
block.note.info=Poznámka není pro blokovaného uživatele viditelná.
block.note.edit=Upravit poznámku
block.list=Blokovaní uživatelé
block.list.none=Nemáte blokované žádné uživatele.
[settings]
profile=Profil
account=Účet
@ -761,7 +817,6 @@ gpg_invalid_token_signature=Zadaný GPG klíč, podpis a token se neshodují neb
gpg_token_required=Musíte zadat podpis pro níže uvedený token
gpg_token=Token
gpg_token_help=Podpis můžete vygenerovat pomocí:
gpg_token_code=echo "%s" | gpg -a --default-key %s --detach-sig
gpg_token_signature=Zakódovaný podpis GPG
key_signature_gpg_placeholder=Začíná s „-----BEGIN PGP SIGNATURE-----“
verify_gpg_key_success=GPG klíč „%s“ byl ověřen.
@ -833,6 +888,7 @@ select_permissions=Vyberte oprávnění
permission_no_access=Bez přístupu
permission_read=Přečtené
permission_write=čtení i zápis
access_token_desc=Vybraná oprávnění tokenu omezují autorizaci pouze na odpovídající trasy <a %s>API</a>. Přečtěte si <a %s>dokumentaci</a> pro více informací.
at_least_one_permission=Musíte vybrat alespoň jedno oprávnění pro vytvoření tokenu
permissions_list=Oprávnění:
@ -953,8 +1009,9 @@ fork_visibility_helper=Viditelnost rozštěpeného repozitáře nemůže být zm
fork_branch=Větev, která má být klonována pro fork
all_branches=Všechny větve
fork_no_valid_owners=Tento repozitář nemůže být rozštěpen, protože neexistují žádní platní vlastníci.
fork.blocked_user=Nelze rozštěpit repozitář, protože jste blokováni majitelem repozitáře.
use_template=Použít tuto šablonu
clone_in_vsc=Klonovat ve VS Code
open_with_editor=Otevřít pomocí %s
download_zip=Stáhnout ZIP
download_tar=Stáhnout TAR.GZ
download_bundle=Stáhnout BUNDLE
@ -984,11 +1041,12 @@ trust_model_helper_default=Výchozí: Použít výchozí model důvěry pro tuto
create_repo=Vytvořit repozitář
default_branch=Výchozí větev
default_branch_label=výchozí
default_branch_helper=Výchozí větev je základní větev pro požadavky na natažení a commity kódu.
default_branch_helper=Výchozí větev je základní větev pro pull requesty a commity kódu.
mirror_prune=Vyčistit
mirror_prune_desc=Odstranit zastaralé reference na vzdálené sledování
mirror_interval=Interval zrcadlení (platné časové jednotky jsou „h“, „m“ a „s“). 0 zakáže periodickou synchronizaci. (Minimální interval: %s)
mirror_interval_invalid=Interval zrcadlení není platný.
mirror_sync=synchronizováno
mirror_sync_on_commit=Synchronizovat při nahrávání revizí
mirror_address=Klonovat z URL
mirror_address_desc=Zadejte požadované přístupové údaje do sekce Ověření.
@ -1019,6 +1077,7 @@ delete_preexisting=Odstranit již existující soubory
delete_preexisting_content=Odstranit soubory v %s
delete_preexisting_success=Smazány nepřijaté soubory v %s
blame_prior=Zobrazit blame před touto změnou
blame.ignore_revs=Ignorování revizí v <a href="%s">.git-blame-ignorerevs</a>. Klikněte zde <a href="%s">pro obejití</a> a zobrazení normálního pohledu blame.
blame.ignore_revs.failed=Nepodařilo se ignorovat revize v <a href="%s">.git-blame-ignore-revs</a>.
author_search_tooltip=Zobrazí maximálně 30 uživatelů
@ -1051,10 +1110,10 @@ template.issue_labels=Štítky úkolů
template.one_item=Musíte vybrat alespoň jednu položku šablony
template.invalid=Musíte vybrat repositář šablony
archive.title=Tento repozitář je archivovaný. Můžete prohlížet soubory, klonovat, ale nemůžete nahrávat a vytvářet nové úkoly nebo požadavky na natažení.
archive.title_date=Tento repositář byl archivován %s. Můžete zobrazit soubory a klonovat je, ale nemůžete nahrávat ani otevírat problémy nebo požadavky na natažení.
archive.title=Tento repozitář je archivovaný. Můžete prohlížet soubory, klonovat, ale nemůžete nahrávat a vytvářet nové úkoly nebo pull requesty.
archive.title_date=Tento repositář byl archivován %s. Můžete zobrazit soubory a klonovat je, ale nemůžete nahrávat ani otevírat problémy nebo pull requesty.
archive.issue.nocomment=Tento repozitář je archivovaný. Nemůžete komentovat úkoly.
archive.pull.nocomment=Tento repozitář je archivovaný. Nemůžete komentovat požadavky na natažení.
archive.pull.nocomment=Tento repozitář je archivovaný. Nemůžete komentovat pull requesty.
form.reach_limit_of_creation_1=Již jste dosáhli svůj limit %d repozitář.
form.reach_limit_of_creation_n=Již jste dosáhli svůj limit %d repozitářů.
@ -1075,7 +1134,7 @@ migrate_items_wiki=Wiki
migrate_items_milestones=Milníky
migrate_items_labels=Štítky
migrate_items_issues=Úkoly
migrate_items_pullrequests=Požadavky na natažení
migrate_items_pullrequests=Pull requesty
migrate_items_merge_requests=Sloučit požadavky
migrate_items_releases=Vydání
migrate_repo=Migrovat repozitář
@ -1110,7 +1169,7 @@ migrate.migrating_milestones=Migrování milnků
migrate.migrating_labels=Migrování štítků
migrate.migrating_releases=Migrování vydání
migrate.migrating_issues=Migrování úkolů
migrate.migrating_pulls=Migrování požadavků na natažení
migrate.migrating_pulls=Migrování pull requestů
migrate.cancel_migrating_title=Zrušit migraci
migrate.cancel_migrating_confirm=Chcete zrušit tuto migraci?
@ -1126,6 +1185,7 @@ watch=Sledovat
unstar=Odoblíbit
star=Oblíbit
fork=Rozštěpit
action.blocked_user=Nelze provést akci, protože jste zablokování vlastníkem repozitáře.
download_archive=Stáhnout repozitář
more_operations=Další operace
@ -1148,7 +1208,7 @@ find_tag=Najít značku
branches=Větve
tags=Značky
issues=Úkoly
pulls=Požadavky na natažení
pulls=Pull requesty
project_board=Projekty
packages=Balíčky
actions=Akce
@ -1193,7 +1253,7 @@ vendored=Vendorováno
generated=Generováno
commit_graph=Graf commitů
commit_graph.select=Vybrat větve
commit_graph.hide_pr_refs=Skrýt požadavky na natažení
commit_graph.hide_pr_refs=Skrýt pull requesty
commit_graph.monochrome=Černobílé
commit_graph.color=Barva
commit.contained_in=Tento commit je obsažen v:
@ -1237,7 +1297,7 @@ editor.new_patch=Nová záplata
editor.commit_message_desc=Přidat volitelný rozšířený popis…
editor.signoff_desc=Přidat Signed-off-by podpis přispěvatele na konec zprávy o commitu.
editor.commit_directly_to_this_branch=Odevzdat přímo do větve <strong class="branch-name">%s</strong>.
editor.create_new_branch=Vytvořit <strong>novou větev</strong> pro tento commit a spustit požadavek na natažení.
editor.create_new_branch=Vytvořit <strong>novou větev</strong> pro tento commit a začít pull request.
editor.create_new_branch_np=Vytvořte <strong>novou větev</strong> z tohoto commitu.
editor.propose_file_change=Navrhnout změnu souboru
editor.new_branch_name=Pojmenujte novou větev pro tento commit
@ -1254,6 +1314,7 @@ editor.file_editing_no_longer_exists=Upravovaný soubor „%s“ již není sou
editor.file_deleting_no_longer_exists=Odstraňovaný soubor „%s“ již není součástí tohoto repozitáře.
editor.file_changed_while_editing=Obsah souboru byl změněn od doby, kdy jste začaly s úpravou. <a target="_blank" rel="noopener noreferrer" href="%s">Klikněte zde</a>, abyste je zobrazili, nebo <strong>potvrďte změny ještě jednou</strong> pro jejich přepsání.
editor.file_already_exists=Soubor „%s“ již existuje v tomto repozitáři.
editor.commit_id_not_matching=ID commitu se neshoduje s ID, když jsi začal/a s úpravami. Odevzdat do záplatové větve a poté sloučit.
editor.commit_empty_file_header=Odevzdat prázdný soubor
editor.commit_empty_file_text=Soubor, který se chystáte odevzdat, je prázdný. Pokračovat?
editor.no_changes_to_show=Žádné změny k zobrazení.
@ -1277,9 +1338,8 @@ commits.desc=Procházet historii změn zdrojového kódu.
commits.commits=Commity
commits.no_commits=Žádné společné commity. „%s“ a „%s“ mají zcela odlišnou historii.
commits.nothing_to_compare=Tyto větve jsou stejné.
commits.search=Hledání commitů…
commits.search.tooltip=Můžete předřadit klíčová slova s „author:“, „committer:“, „after:“ nebo „before:“, např. „revert author:Alice before:2019-01-03“.
commits.find=Vyhledat
commits.search_branch=Tato větev
commits.search_all=Všechny větve
commits.author=Autor
commits.message=Zpráva
@ -1330,7 +1390,6 @@ projects.type.basic_kanban=Základní Kanban
projects.type.bug_triage=Třídění chyb
projects.template.desc=Šablona projektu
projects.template.desc_helper=Vyberte šablonu projektu pro začátek
projects.type.uncategorized=Nezařazené
projects.column.edit=Upravit sloupec
projects.column.edit_title=Název
projects.column.new_title=Název
@ -1338,10 +1397,7 @@ projects.column.new_submit=Vytvořit sloupec
projects.column.new=Nový sloupec
projects.column.set_default=Nastavit jako výchozí
projects.column.set_default_desc=Nastavit tento sloupec jako výchozí pro nekategorizované úkoly a požadavky na natažení
projects.column.unset_default=Zrušit nastavení jako výchozí
projects.column.unset_default_desc=Zrušit nastavení tohoto sloupce jako výchozí
projects.column.delete=Smazat sloupec
projects.column.deletion_desc=Smazání projektového sloupce přesune všechny související problémy do kategorie „Nezařazené“. Pokračovat?
projects.column.color=Barva
projects.open=Otevřít
projects.close=Zavřít
@ -1376,6 +1432,8 @@ issues.new.assignees=Zpracovatelé
issues.new.clear_assignees=Smazat zpracovatele
issues.new.no_assignees=Bez zpracovatelů
issues.new.no_reviewers=Žádní posuzovatelé
issues.new.blocked_user=Nemůžete vytvořit úkol, protože jste zablokováni zadavatelem příspěvku nebo vlastníkem repozitáře.
issues.edit.blocked_user=Nemůžete upravovat obsah, protože jste zablokováni zadavatelem příspěvku nebo vlastníkem repozitáře.
issues.choose.get_started=Začínáme
issues.choose.open_external_link=Otevřít
issues.choose.blank=Výchozí
@ -1453,7 +1511,6 @@ issues.filter_sort.moststars=Nejvíce hvězdiček
issues.filter_sort.feweststars=Nejméně hvězdiček
issues.filter_sort.mostforks=Nejvíce rozštěpení
issues.filter_sort.fewestforks=Nejméně rozštěpení
issues.keyword_search_unavailable=Hledání podle klíčového slova není momentálně dostupné. Obraťte se na správce webu.
issues.action_open=Otevřít
issues.action_close=Zavřít
issues.action_label=Štítek
@ -1491,13 +1548,14 @@ issues.close_comment_issue=Okomentovat a zavřít
issues.reopen_issue=Znovuotevřít
issues.reopen_comment_issue=Okomentovat a znovuotevřít
issues.create_comment=Okomentovat
issues.comment.blocked_user=Nemůžete vytvořit nebo upravovat komentář, protože jste zablokováni zadavatelem příspěvku nebo vlastníkem repozitáře.
issues.closed_at=`uzavřel/a tento úkol <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.reopened_at=`znovuotevřel/a tento úkol <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.commit_ref_at=`odkázal na tento úkol z commitu <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_issue_from=`<a href="%[3]s">odkazoval/a na tento úkol %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_pull_from=`<a href="%[3]s">odkazoval/a na tento požadavek na natažení %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_closing_from=`<a href="%[3]s">odkazoval/a na požadavek na natažení %[4]s, který uzavře tento úkol</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopening_from=`<a href="%[3]s">odkazoval/a na požadavek na natažení %[4]s, který znovu otevře tento úkol</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_pull_from=`<a href="%[3]s">odkazoval/a na tento pull request %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_closing_from=`<a href="%[3]s">odkazoval/a na pull request %[4]s, který uzavře tento úkol</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopening_from=`<a href="%[3]s">odkazoval/a na pull request %[4]s, který znovu otevře tento úkol</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_closed_from=`<a href="%[3]s">uzavřel/a tento úkol %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopened_from=`<a href="%[3]s">znovu otevřel/a tento úkol %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_from=`z %[1]s`
@ -1509,6 +1567,7 @@ issues.role.member=Člen
issues.role.member_helper=Tento uživatel je členem organizace vlastnící tento repositář.
issues.role.collaborator=Spolupracovník
issues.role.collaborator_helper=Tento uživatel byl pozván ke spolupráci v repozitáři.
issues.role.first_time_contributor=Přispěvatel, který přispívá poprvé
issues.role.first_time_contributor_helper=Toto je první příspěvek tohoto uživatele do repozitáře.
issues.role.contributor=Přispěvatel
issues.role.contributor_helper=Tento uživatel již dříve přispíval do repozitáře.
@ -1530,7 +1589,7 @@ issues.label_archive=Archivovat štítek
issues.label_archived_filter=Zobrazit archivované popisky
issues.label_archive_tooltip=Archivované štítky jsou ve výchozím nastavení vyloučeny z návrhů při hledání podle popisku.
issues.label_exclusive_desc=Pojmenujte štítek <code>rozsah/položka</code>, aby se stal vzájemně exkluzivním s jinými štítky <code>rozsah/</code>.
issues.label_exclusive_warning=Jakékoliv protichůdné rozsahy štítků budou odstraněny při úpravě štítků u úkolů nebo u požadavku na natažení.
issues.label_exclusive_warning=Jakékoliv protichůdné rozsahy štítků budou odstraněny při úpravě štítků u úkolů nebo u pull requestů.
issues.label_count=%d štítků
issues.label_open_issues=%d otevřených úkolů
issues.label_edit=Upravit
@ -1626,27 +1685,27 @@ issues.dependency.remove=Odstranit
issues.dependency.remove_info=Odstranit tuto závislost
issues.dependency.added_dependency=`přidal/a novou závislost %s`
issues.dependency.removed_dependency=`odstranil/a závislost %s`
issues.dependency.pr_closing_blockedby=Uzavření tohoto požadavku na natažení je blokováno následujícími úkoly
issues.dependency.pr_closing_blockedby=Uzavření tohoto pull requestu je blokováno následujícími úkoly
issues.dependency.issue_closing_blockedby=Uzavření tohoto úkolu je blokováno následujícími úkoly
issues.dependency.issue_close_blocks=Tento úkol blokuje uzavření následujících úkolů
issues.dependency.pr_close_blocks=Tento požadavek na natažení blokuje uzavření následujících úkolů
issues.dependency.pr_close_blocks=Tento pull request blokuje uzavření následujících úkolů
issues.dependency.issue_close_blocked=Musíte zavřít všechny úkoly, které blokují tento úkol, aby jej bylo možné zavřít.
issues.dependency.issue_batch_close_blocked=Nelze uzavřít úkoly, které jste vybrali, protože úkol #%d má stále otevřené závislosti
issues.dependency.pr_close_blocked=Musíte zavřít všechny úkoly, které blokují tento požadavek na natažení, aby jej bylo možné sloučit.
issues.dependency.pr_close_blocked=Musíte zavřít všechny úkoly, které blokují tento pull request, aby jej bylo možné sloučit.
issues.dependency.blocks_short=Blokuje
issues.dependency.blocked_by_short=Závisí na
issues.dependency.remove_header=Odstranit závislost
issues.dependency.issue_remove_text=Tímto krokem odeberete závislost z úkolu. Pokračovat?
issues.dependency.pr_remove_text=Tímto krokem odeberete závislost z požadavku na natažení. Pokračovat?
issues.dependency.setting=Povolit závislosti pro úkoly a požadavky na natažení
issues.dependency.pr_remove_text=Tímto krokem odeberete závislost z pull requestu. Pokračovat?
issues.dependency.setting=Povolit závislosti pro úkoly a pull requesty
issues.dependency.add_error_same_issue=Úkol nemůže záviset sám na sobě.
issues.dependency.add_error_dep_issue_not_exist=Související úkol neexistuje.
issues.dependency.add_error_dep_not_exist=Závislost neexistuje.
issues.dependency.add_error_dep_exists=Závislost již existuje.
issues.dependency.add_error_cannot_create_circular=Nemůžete vytvořit závislost dvou úkolů, které se vzájemně blokují.
issues.dependency.add_error_dep_not_same_repo=Oba úkoly musí být ve stejném repozitáři.
issues.review.self.approval=Nemůžete schválit svůj požadavek na natažení.
issues.review.self.rejection=Nemůžete požadovat změny ve svém vlastním požadavku na natažení.
issues.review.self.approval=Nemůžete schválit svůj pull request.
issues.review.self.rejection=Nemůžete požadovat změny ve svém vlastním pull requestu.
issues.review.approve=schválil tyto změny %s
issues.review.comment=posoudil %s
issues.review.dismissed=zamítl/a posouzení od %s %s
@ -1686,10 +1745,11 @@ issues.reference_link=Reference: %s
compare.compare_base=základní
compare.compare_head=porovnat
pulls.desc=Povolit požadavky na natažení a posuzování kódu.
pulls.new=Nový požadavek na natažení
pulls.view=Zobrazit požadavek na natažení
pulls.compare_changes=Nový požadavek na natažení
pulls.desc=Povolit pull requesty a posuzování kódu.
pulls.new=Nový pull request
pulls.new.blocked_user=Nemůžete vytvořit pull request, protože jste zablokování vlastníkem repozitáře.
pulls.view=Zobrazit pull request
pulls.compare_changes=Nový pull request
pulls.allow_edits_from_maintainers=Povolit úpravy od správců
pulls.allow_edits_from_maintainers_desc=Uživatelé s přístupem k zápisu do základní větve mohou také nahrávat do této větve
pulls.allow_edits_from_maintainers_err=Aktualizace se nezdařila
@ -1704,7 +1764,6 @@ pulls.compare_compare=natáhnout z
pulls.switch_comparison_type=Přepnout typ porovnání
pulls.switch_head_and_base=Prohodit hlavní a základní větev
pulls.filter_branch=Filtrovat větev
pulls.no_results=Nebyly nalezeny žádné výsledky.
pulls.show_all_commits=Zobrazit všechny commity
pulls.show_changes_since_your_last_review=Zobrazit změny od vašeho posledního posouzení
pulls.showing_only_single_commit=Zobrazuji pouze změny commitu %[1]s
@ -1712,46 +1771,46 @@ pulls.showing_specified_commit_range=Zobrazují se pouze změny mezi %[1]s..%[2]
pulls.select_commit_hold_shift_for_range=Vyberte commit. Podržte klávesu shift + klepněte pro výběr rozsahu
pulls.review_only_possible_for_full_diff=Posouzení je možné pouze při zobrazení plného rozlišení
pulls.filter_changes_by_commit=Filtrovat podle commitu
pulls.nothing_to_compare=Tyto větve jsou stejné. Není potřeba vytvářet požadavek na natažení.
pulls.nothing_to_compare=Tyto větve jsou stejné. Není potřeba vytvářet pull request.
pulls.nothing_to_compare_have_tag=Vybraná větev/značka je stejná.
pulls.nothing_to_compare_and_allow_empty_pr=Tyto větve jsou stejné. Tento požadavek na natažení bude prázdný.
pulls.has_pull_request=`Požadavek na natažení mezi těmito větvemi již existuje: <a href="%[1]s">%[2]s#%[3]d</a>`
pulls.create=Vytvořit požadavek na natažení
pulls.nothing_to_compare_and_allow_empty_pr=Tyto větve jsou stejné. Tento pull request bude prázdný.
pulls.has_pull_request=`Pull request mezi těmito větvemi již existuje: <a href="%[1]s">%[2]s#%[3]d</a>`
pulls.create=Vytvořit pull request
pulls.title_desc=chce sloučit %[1]d commity z větve <code>%[2]s</code> do <code id="branch_target">%[3]s</code>
pulls.merged_title_desc=sloučil %[1]d commity z větve <code>%[2]s</code> do větve <code>%[3]s</code> před %[4]s
pulls.change_target_branch_at=`změnil/a cílovou větev z <b>%s</b> na <b>%s</b> %s`
pulls.tab_conversation=Konverzace
pulls.tab_commits=Commity
pulls.tab_files=Změněné soubory
pulls.reopen_to_merge=Prosíme, otevřete znovu tento požadavek na natažení, aby se provedlo sloučení.
pulls.cant_reopen_deleted_branch=Tento požadavek na natažení nemůže být znovu otevřen protože větev byla smazána.
pulls.reopen_to_merge=Prosíme, otevřete znovu tento pull request, aby se provedlo sloučení.
pulls.cant_reopen_deleted_branch=Tento pull request nemůže být znovu otevřen protože větev byla smazána.
pulls.merged=Sloučený
pulls.merged_success=Požadavek na natažení byl úspěšně sloučen a uzavřen
pulls.closed=Požadavek na natažení uzavřen
pulls.merged_success=Pull request byl úspěšně sloučen a uzavřen
pulls.closed=Pull request uzavřen
pulls.manually_merged=Sloučeno ručně
pulls.merged_info_text=Větev %s může být nyní odstraněna.
pulls.is_closed=Požadavek na natažení byl uzavřen.
pulls.title_wip_desc=`<a href="#">Začněte název s <strong>%s</strong></a> a zamezíte tak nechtěnému sloučení požadavku na natažení.`
pulls.cannot_merge_work_in_progress=Tento požadavek na natažení je označen jako probíhající práce.
pulls.is_closed=Pull request byl uzavřen.
pulls.title_wip_desc=`<a href="#">Začněte název s <strong>%s</strong></a> a zamezíte tak nechtěnému sloučení pull requestu.`
pulls.cannot_merge_work_in_progress=Tento pull request je označen jako probíhající práce.
pulls.still_in_progress=Stále probíhá?
pulls.add_prefix=Přidat prefix <strong>%s</strong>
pulls.remove_prefix=Odstranit prefix <strong>%s</strong>
pulls.data_broken=Tento požadavek na natažení je rozbitý kvůli chybějícím informacím o rozštěpení.
pulls.files_conflicted=Tento požadavek na natažení obsahuje změny, které kolidují s cílovou větví.
pulls.data_broken=Tento pull request je rozbitý kvůli chybějícím informacím o rozštěpení.
pulls.files_conflicted=Tento pull request obsahuje změny, které kolidují s cílovou větví.
pulls.is_checking=Právě probíhá kontrola konfliktů při sloučení. Zkuste to za chvíli.
pulls.is_ancestor=Tato větev je již součástí cílové větve. Není co sloučit.
pulls.is_empty=Změny na této větvi jsou již na cílové větvi. Toto bude prázdný commit.
pulls.required_status_check_failed=Některé požadované kontroly nebyly úspěšné.
pulls.required_status_check_missing=Některé požadované kontroly chybí.
pulls.required_status_check_administrator=Jako administrátor stále můžete sloučit tento požadavek na natažení.
pulls.blocked_by_approvals=Tento požadavek na natažení ještě nemá dostatek schválení. Uděleno %d z %d schválení.
pulls.blocked_by_rejection=Tento požadavek na natažení obsahuje změny požadované oficiálním posuzovatelem.
pulls.blocked_by_official_review_requests=Tento požadavek na natažení obsahuje oficiální žádosti o posouzení.
pulls.blocked_by_outdated_branch=Tento požadavek na natažení je zablokován, protože je zastaralý.
pulls.blocked_by_changed_protected_files_1=Tento požadavek na natažení je zablokován, protože mění chráněný soubor:
pulls.blocked_by_changed_protected_files_n=Tento požadavek na natažení je zablokován, protože mění chráněné soubory:
pulls.can_auto_merge_desc=Tento požadavek na natažení může být automaticky sloučen.
pulls.cannot_auto_merge_desc=Tento požadavek na natažení nemůže být automaticky sloučen, neboť se v něm nachází konflikty.
pulls.required_status_check_administrator=Jako administrátor stále můžete sloučit tento pull request.
pulls.blocked_by_approvals=Tento pull request ještě nemá dostatek schválení. Uděleno %d z %d schválení.
pulls.blocked_by_rejection=Tento pull request obsahuje změny požadované oficiálním posuzovatelem.
pulls.blocked_by_official_review_requests=Tento pull request obsahuje oficiální žádosti o posouzení.
pulls.blocked_by_outdated_branch=Tento pull request je zablokován, protože je zastaralý.
pulls.blocked_by_changed_protected_files_1=Tento pull request je zablokován, protože mění chráněný soubor:
pulls.blocked_by_changed_protected_files_n=Tento pull request je zablokován, protože mění chráněné soubory:
pulls.can_auto_merge_desc=Tento pull request může být automaticky sloučen.
pulls.cannot_auto_merge_desc=Tento pull request nemůže být automaticky sloučen, neboť se v něm nachází konflikty.
pulls.cannot_auto_merge_helper=Pro vyřešení konfliktů proveďte ruční sloučení.
pulls.num_conflicting_files_1=%d konfliktní soubor
pulls.num_conflicting_files_n=%d konfliktních souborů
@ -1763,20 +1822,21 @@ pulls.waiting_count_1=%d čekající posouzení
pulls.waiting_count_n=%d čekající posouzení
pulls.wrong_commit_id=ID commitu musí být ID commitu v cílové větvi
pulls.no_merge_desc=Tento požadavek na natažení nemůže být sloučen, protože všechny možnosti repozitáře na sloučení jsou zakázány.
pulls.no_merge_helper=Povolte možnosti sloučení v nastavení repozitáře nebo proveďte sloučení požadavku na natažení ručně.
pulls.no_merge_wip=Požadavek na natažení nemůže být sloučen protože je označen jako nedokončený.
pulls.no_merge_not_ready=Tento požadavek na natažení není připraven na sloučení, zkontrolujte stav posouzení a kontrolu stavu.
pulls.no_merge_access=Nemáte oprávnění sloučit tento požadavek na natažení.
pulls.no_merge_desc=Tento pull request nemůže být sloučen, protože všechny možnosti repozitáře na sloučení jsou zakázány.
pulls.no_merge_helper=Povolte možnosti sloučení v nastavení repozitáře nebo proveďte sloučení pull requestu ručně.
pulls.no_merge_wip=Pull request nemůže být sloučen protože je označen jako nedokončený.
pulls.no_merge_not_ready=Tento pull request není připraven na sloučení, zkontrolujte stav posouzení a kontrolu stavu.
pulls.no_merge_access=Nemáte oprávnění sloučit tento pull request.
pulls.merge_pull_request=Vytvořit slučovací commit
pulls.rebase_merge_pull_request=Rebase pak fast-forward
pulls.rebase_merge_commit_pull_request=Rebase a poté vytvořit slučovací commit
pulls.squash_merge_pull_request=Vytvořit squash commit
pulls.fast_forward_only_merge_pull_request=Pouze fast-forward
pulls.merge_manually=Sloučeno ručně
pulls.merge_commit_id=ID slučovacího commitu
pulls.require_signed_wont_sign=Větev vyžaduje podepsané commity, ale toto sloučení nebude podepsáno
pulls.invalid_merge_option=Nemůžete použít tuto možnost sloučení pro tento požadavek na natažení.
pulls.invalid_merge_option=Nemůžete použít tuto možnost sloučení pro tento pull request.
pulls.merge_conflict=Sloučení selhalo: Došlo ke konfliktu při sloučení. Tip: Zkuste jinou strategii
pulls.merge_conflict_summary=Chybové hlášení
pulls.rebase_conflict=Sloučení selhalo: Došlo ke konfliktu při rebase commitu: %[1]s. Tip: Zkuste jinou strategii
@ -1784,11 +1844,11 @@ pulls.rebase_conflict_summary=Chybové hlášení
pulls.unrelated_histories=Sloučení selhalo: Hlavní a základní revize nesdílí společnou historii. Tip: Zkuste jinou strategii
pulls.merge_out_of_date=Sloučení selhalo: Základ byl aktualizován při generování sloučení. Tip: Zkuste to znovu.
pulls.head_out_of_date=Sloučení selhalo: Hlavní revize byla aktualizován při generování sloučení. Tip: Zkuste to znovu.
pulls.has_merged=Chyba: Požadavek na natažení byl sloučen, nelze znovu sloučit nebo změnit cílovou větev.
pulls.has_merged=Chyba: Pull request byl sloučen, nelze znovu sloučit nebo změnit cílovou větev.
pulls.push_rejected=Sloučení selhalo: Nahrání bylo zamítnuto. Zkontrolujte háčky Gitu pro tento repozitář.
pulls.push_rejected_summary=Úplná zpráva o odmítnutí
pulls.push_rejected_no_message=Sloučení se nezdařilo: Nahrání bylo odmítnuto, ale nebyla nalezena žádná vzdálená zpráva.<br>Zkontrolujte háčky gitu pro tento repozitář
pulls.open_unmerged_pull_exists=`Nemůžete provést operaci znovuotevření protože je tu čekající požadavek na natažení (#%d) s identickými vlastnostmi.`
pulls.open_unmerged_pull_exists=`Nemůžete provést operaci znovuotevření protože je tu čekající pull request (#%d) s identickými vlastnostmi.`
pulls.status_checking=Některé kontroly jsou nedořešeny
pulls.status_checks_success=Všechny kontroly byly úspěšné
pulls.status_checks_warning=Některé kontroly nahlásily varování
@ -1803,30 +1863,32 @@ pulls.update_branch_rebase=Aktualizovat větev pomocí rebase
pulls.update_branch_success=Aktualizace větve byla úspěšná
pulls.update_not_allowed=Nemáte oprávnění aktualizovat větev
pulls.outdated_with_base_branch=Tato větev je zastaralá oproti základní větvi
pulls.close=Zavřít požadavek na natažení
pulls.closed_at=`uzavřel/a tento požadavek na natažení <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.reopened_at=`znovuotevřel/a tento požadavek na natažení <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.close=Zavřít pull request
pulls.closed_at=`uzavřel/a tento pull request <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.reopened_at=`znovuotevřel/a tento pull request <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.cmd_instruction_hint=`Zobrazit <a class="show-instruction">instrukce příkazové řádky</a>.`
pulls.cmd_instruction_checkout_desc=Z vašeho repositáře projektu se podívejte na novou větev a vyzkoušejte změny.
pulls.cmd_instruction_merge_title=Sloučit
pulls.cmd_instruction_merge_desc=Slučte změny a aktualizujte je na Gitea.
pulls.clear_merge_message=Vymazat zprávu o sloučení
pulls.clear_merge_message_hint=Vymazání zprávy o sloučení odstraní pouze obsah zprávy a ponechá generované přídavky gitu jako "Co-AuthoreBy …".
pulls.auto_merge_button_when_succeed=(Když kontroly uspějí)
pulls.auto_merge_when_succeed=Automaticky sloučit, když všechny kontroly uspějí
pulls.auto_merge_newly_scheduled=Požadavek na natažení byl naplánován na sloučení, jakmile všechny kontroly uspějí.
pulls.auto_merge_has_pending_schedule=%[1]s naplánoval/a tento požadavek na natažení pro automatické sloučení, když všechny kontroly uspějí v %[2]s.
pulls.auto_merge_newly_scheduled=Pull request byl naplánován na sloučení, jakmile všechny kontroly uspějí.
pulls.auto_merge_has_pending_schedule=%[1]s naplánoval/a tento pull request pro automatické sloučení, když všechny kontroly uspějí v %[2]s.
pulls.auto_merge_cancel_schedule=Zrušit automatické sloučení
pulls.auto_merge_not_scheduled=Tento požadavek na natažení není naplánován na automatické sloučení.
pulls.auto_merge_canceled_schedule=Automatické sloučení bylo zrušeno pro tento požadavek na natažení.
pulls.auto_merge_not_scheduled=Tento pull request není naplánován na automatické sloučení.
pulls.auto_merge_canceled_schedule=Automatické sloučení bylo zrušeno pro tento pull request.
pulls.auto_merge_newly_scheduled_comment=`požadavek na automatické sloučení tohoto požadavku na natažení je naplánován, když všechny kontroly uspějí %[1]s`
pulls.auto_merge_canceled_schedule_comment=`zrušil/a automatické sloučení tohoto požadavku na natažení, když všechny kontroly uspějí %[1]s`
pulls.auto_merge_newly_scheduled_comment=`požadavek na automatické sloučení tohoto pull requestu je naplánován, když všechny kontroly uspějí %[1]s`
pulls.auto_merge_canceled_schedule_comment=`zrušil/a automatické sloučení tohoto pull requestu, když všechny kontroly uspějí %[1]s`
pulls.delete.title=Odstranit tento požadavek na natažení?
pulls.delete.text=Opravdu chcete tento požadavek na natažení smazat? (Tím se trvale odstraní veškerý obsah. Pokud jej hodláte archivovat, zvažte raději jeho uzavření.)
pulls.delete.title=Odstranit tento pull request?
pulls.delete.text=Opravdu chcete tento pull request smazat? (Tím se trvale odstraní veškerý obsah. Pokud jej hodláte archivovat, zvažte raději jeho uzavření.)
pulls.recently_pushed_new_branches=Nahráli jste větev <strong>%[1]s</strong> %[2]s
pull.deleted_branch=(odstraněno):%s
@ -1871,7 +1933,7 @@ signing.wont_sign.parentsigned=Commit nebude podepsán, protože nadřazený com
signing.wont_sign.basesigned=Sloučení nebude podepsáno, protože základní commit není podepsaný.
signing.wont_sign.headsigned=Sloučení nebude podepsáno, protože hlavní revize není podepsána.
signing.wont_sign.commitssigned=Sloučení nebude podepsáno, protože všechny přidružené revize nejsou podepsány.
signing.wont_sign.approved=Sloučení nebude podepsáno, protože požadavek na natažení není schválen.
signing.wont_sign.approved=Sloučení nebude podepsáno, protože pull request není schválen.
signing.wont_sign.not_signed_in=Nejste přihlášeni.
ext_wiki=Přístup k externí Wiki
@ -1905,6 +1967,9 @@ wiki.page_name_desc=Zadejte název této Wiki stránky. Některé speciální n
wiki.original_git_entry_tooltip=Zobrazit originální Git soubor namísto použití přátelského odkazu.
activity=Aktivita
activity.navbar.code_frequency=Frekvence kódu
activity.navbar.contributors=Přispěvatelé
activity.navbar.recent_commits=Nedávné commity
activity.period.filter_label=Období:
activity.period.daily=1 den
activity.period.halfweekly=3 dny
@ -1914,16 +1979,16 @@ activity.period.quarterly=3 měsíce
activity.period.semiyearly=6 měsíců
activity.period.yearly=1 rok
activity.overview=Přehled
activity.active_prs_count_1=<strong>%d</strong> aktivní požadavek na natažení
activity.active_prs_count_n=<strong>%d</strong> aktivní požadavky na natažení
activity.merged_prs_count_1=Sloučený požadavek na natažení
activity.merged_prs_count_n=Sloučené požadavky na natažení
activity.opened_prs_count_1=Navrhovaný požadavek na natažení
activity.opened_prs_count_n=Navrhované požadavky na natažení
activity.active_prs_count_1=<strong>%d</strong> aktivní pull request
activity.active_prs_count_n=<strong>%d</strong> aktivních pull requestů
activity.merged_prs_count_1=Sloučený pull request
activity.merged_prs_count_n=Sloučené pull requesty
activity.opened_prs_count_1=Navrhovaný pull request
activity.opened_prs_count_n=Navrhované pull requesty
activity.title.user_1=%d uživatel
activity.title.user_n=%d uživatelů
activity.title.prs_1=%d Požadavek na natažení
activity.title.prs_n=%d Požadavků na natažení
activity.title.prs_1=%d pull request
activity.title.prs_n=%d pull requestů
activity.title.prs_merged_by=%s sloučil %s
activity.title.prs_opened_by=%s navrhl %s
activity.merged_prs_label=Sloučený
@ -1942,7 +2007,7 @@ activity.new_issues_count_n=Nové úkoly
activity.new_issue_label=Otevřený
activity.title.unresolved_conv_1=%d nevyřešená konverzace
activity.title.unresolved_conv_n=%d nevyřešených konverzací
activity.unresolved_conv_desc=Tyto nedávno změněné úkolu a požadavky na natažení ještě nebyly vyřešeny.
activity.unresolved_conv_desc=Tyto nedávno změněné úkolu a pull requestu ještě nebyly vyřešeny.
activity.unresolved_conv_label=Otevřít
activity.title.releases_1=%d Vydání
activity.title.releases_n=%d Vydání
@ -1972,17 +2037,8 @@ activity.git_stats_deletion_n=%d odebrání
contributors.contribution_type.filter_label=Typ příspěvku:
contributors.contribution_type.commits=Commity
search=Vyhledat
search.search_repo=Hledat repozitář
search.type.tooltip=Druh vyhledávání
search.fuzzy=Fuzzy
search.fuzzy.tooltip=Zahrnout výsledky, které také úzce odpovídají hledanému výrazu
search.match=Shoda
search.match.tooltip=Zahrnout pouze výsledky, které odpovídají přesnému hledanému výrazu
search.results=Výsledky hledání „%s“ v <a href="%s">%s</a>
search.code_no_results=Nebyl nalezen žádný zdrojový kód odpovídající hledanému výrazu.
search.code_search_unavailable=V současné době není vyhledávání kódu dostupné. Obraťte se na správce webu.
contributors.contribution_type.additions=Přidání
contributors.contribution_type.deletions=Odstranění
settings=Nastavení
settings.desc=Nastavení je místo, kde můžete měnit nastavení repozitáře
@ -2000,10 +2056,13 @@ settings.mirror_settings=Nastavení zrcadla
settings.mirror_settings.docs=Nastavte repozitář pro automatickou synchronizaci commitů, značek a větví s jiným repozitářem.
settings.mirror_settings.docs.disabled_pull_mirror.instructions=Nastavte váš projekt pro automatické nahrávání commitů, značek a větví do jiného repozitáře. Správce webu zakázal zrcadla pro natažení.
settings.mirror_settings.docs.disabled_push_mirror.instructions=Nastavte svůj projekt pro automatické natažení commitů, značek a větví z jiného repozitáře.
settings.mirror_settings.docs.disabled_push_mirror.pull_mirror_warning=Právě teď to lze provést pouze v menu "Nová migrace". Pro více informací prosím konzultujte:
settings.mirror_settings.docs.disabled_push_mirror.info=Push zrcadla byla zakázána administrátorem vašeho webu.
settings.mirror_settings.docs.no_new_mirrors=Váš repozitář zrcadlí změny do nebo z jiného repozitáře. Mějte prosím na paměti, že v tuto chvíli nemůžete vytvořit žádná nová zrcadla.
settings.mirror_settings.docs.can_still_use=I když nemůžete upravit stávající zrcadla nebo vytvořit nová, stále můžete použít své stávající zrcadlo.
settings.mirror_settings.docs.more_information_if_disabled=Více informací o zrcadlech pro nahrání a natažení naleznete zde:
settings.mirror_settings.docs.doc_link_title=Jak mohu zrcadlit repozitáře?
settings.mirror_settings.docs.doc_link_pull_section=sekci "stahovat ze vzdáleného úložiště" v dokumentaci.
settings.mirror_settings.docs.pulling_remote_title=Stažení ze vzdáleného úložiště
settings.mirror_settings.mirrored_repository=Zrcadlený repozitář
settings.mirror_settings.direction=Směr
@ -2016,6 +2075,8 @@ settings.mirror_settings.push_mirror.add=Přidat zrcadlo pro nahrání
settings.mirror_settings.push_mirror.edit_sync_time=Upravit interval synchronizace zrcadla
settings.sync_mirror=Synchronizovat nyní
settings.pull_mirror_sync_in_progress=V tuto chvíli probíhá nahrávání změn ze vzdáleného %s.
settings.push_mirror_sync_in_progress=Probíhá nahrávání změn do vzdáleného %s.
settings.site=Webová stránka
settings.update_settings=Aktualizovat nastavení
settings.update_mirror_settings=Aktualizovat nastavení zrcadla
@ -2025,6 +2086,8 @@ settings.branches.add_new_rule=Přidat nové pravidlo
settings.advanced_settings=Pokročilá nastavení
settings.wiki_desc=Povolit Wiki repozitáře
settings.use_internal_wiki=Používat vestavěnou Wiki
settings.default_wiki_branch_name=Výchozí název větve Wiki
settings.failed_to_change_default_wiki_branch=Změna výchozí větve wiki se nezdařila.
settings.use_external_wiki=Používat externí Wiki
settings.external_wiki_url=URL externí Wiki
settings.external_wiki_url_error=URL externí wiki platné URL.
@ -2046,15 +2109,19 @@ settings.tracker_issue_style.regexp_pattern_desc=První zachycená skupina bude
settings.tracker_url_format_desc=Použijte zástupné symboly <code>{user}</code>, <code>{repo}</code> a <code>{index}</code> pro uživatelské jméno, jméno repozitáře a číslo úkolu.
settings.enable_timetracker=Povolit sledování času
settings.allow_only_contributors_to_track_time=Povolit sledování času pouze přispěvatelům
settings.pulls_desc=Povolit požadavky na natažení
settings.pulls_desc=Povolit pull requesty repozitáře
settings.pulls.ignore_whitespace=Ignorovat bílé znaky při konfliktech
settings.pulls.enable_autodetect_manual_merge=Povolit autodetekci ručních sloučení (Poznámka: V některých zvláštních případech může dojít k nesprávnému rozhodnutí)
settings.pulls.allow_rebase_update=Povolit aktualizaci větve požadavku na natažení pomocí rebase
settings.pulls.default_delete_branch_after_merge=Ve výchozím nastavení mazat větev požadavku na natažení po jeho sloučení
settings.pulls.allow_rebase_update=Povolit aktualizaci větve pull requestu pomocí rebase
settings.pulls.default_delete_branch_after_merge=Ve výchozím nastavení mazat větev pull requestu po jeho sloučení
settings.pulls.default_allow_edits_from_maintainers=Ve výchozím nastavení povolit úpravy od správců
settings.releases_desc=Povolit vydání v repozitáři
settings.packages_desc=Povolit registr balíčků repozitáře
settings.projects_desc=Povolit projekty v repozitáři
settings.projects_mode_desc=Režim projektů (druhy projektů k zobrazení)
settings.projects_mode_repo=Pouze projekty repozitáře
settings.projects_mode_owner=Pouze projekty uživatele nebo organizace
settings.projects_mode_all=Všechny projekty
settings.actions_desc=Povolit akce repozitáře
settings.admin_settings=Nastavení správce
settings.admin_enable_health_check=Povolit kontrolu stavu repozitáře (git fsck)
@ -2080,6 +2147,7 @@ settings.convert_fork_succeed=Rozštěpení bylo překonvertován na běžný re
settings.transfer=Předat vlastnictví
settings.transfer.rejected=Převod repozitáře byl zamítnut.
settings.transfer.success=Převod repozitáře byl úspěšný.
settings.transfer.blocked_user=Nelze převést repozitář, protože jste blokování novým vlastníkem.
settings.transfer_abort=Zrušit převod
settings.transfer_abort_invalid=Nemůžete zrušit neexistující převod repozitáře.
settings.transfer_abort_success=Převod repozitáře do %s byl úspěšně zrušen.
@ -2125,11 +2193,11 @@ settings.add_collaborator_success=Spolupracovník byl přidán.
settings.add_collaborator_inactive_user=Nelze přidat neaktivního uživatele jako spolupracovníka.
settings.add_collaborator_owner=Vlastníka nelze přidat jako spolupracovníka.
settings.add_collaborator_duplicate=Spolupracovník je již přidán k tomuto repozitáři.
settings.add_collaborator.blocked_user=Spolupracovník je zablokován vlastníkem repozitáře nebo naopak.
settings.delete_collaborator=Odstranit
settings.collaborator_deletion=Odstranit spolupracovníka
settings.collaborator_deletion_desc=Odstranění spolupracovníka zruší jeho přístup do tohoto repozitáře. Pokračovat?
settings.remove_collaborator_success=Spolupracovník byl smazán.
settings.search_user_placeholder=Hledat uživatele…
settings.org_not_allowed_to_be_collaborator=Organizace nemůže být přidána jako spolupracovník.
settings.change_team_access_not_allowed=Změna přístupu týmu k repozitáře se omezuje na vlastníka organizace
settings.team_not_in_organization=Tým není ve stejné organizaci jako repozitář
@ -2137,7 +2205,6 @@ settings.teams=Týmy
settings.add_team=Přidat tým
settings.add_team_duplicate=Tým již má repozitář
settings.add_team_success=Tým má nyní přístup k repozitáři.
settings.search_team=Vyhledat tým…
settings.change_team_permission_tip=Oprávnění týmu je nastaveno na stránce nastavení týmu a nelze je změnit pro každý repozitář
settings.delete_team_tip=Tento tým má přístup ke všem repositářům a nemůže být odstraněn
settings.remove_team_success=Přístup týmu k repozitáři byl odstraněn.
@ -2203,22 +2270,25 @@ settings.event_issue_milestone=Úkolu přidán milník
settings.event_issue_milestone_desc=Úkolu přidán nebo odebrán milník.
settings.event_issue_comment=Komentář k úkolu
settings.event_issue_comment_desc=Komentář úkolu přidán, upraven nebo smazán.
settings.event_header_pull_request=Události požadavku na natažení
settings.event_pull_request=Požadavek na stažení
settings.event_pull_request_desc=Požadavek na natažení otevřen, uzavřen, znovu otevřen nebo upraven.
settings.event_pull_request_assign=Požadavek na natažení přiřazen
settings.event_pull_request_assign_desc=Požadavek na natažení přiřazen nebo nepřiřazen.
settings.event_pull_request_label=Požadavek na natažení oštítkován
settings.event_pull_request_label_desc=Štítky požadavku na natažení aktualizovány nebo vymazány.
settings.event_pull_request_milestone=Požadavku na natažení přidán milník
settings.event_pull_request_milestone_desc=Požadavku na natažení přidán nebo odebrán milník.
settings.event_pull_request_comment=Požadavek na natažení okomentován
settings.event_pull_request_comment_desc=Komentář požadavku na natažení vytvořen, upraven nebo odstraněn.
settings.event_pull_request_review=Požadavek na natažení přezkoumán
settings.event_pull_request_review_desc=Požadavek na natažení schválen, odmítnut nebo zkontrolován.
settings.event_pull_request_sync=Požadavek na natažení synchronizován
settings.event_pull_request_sync_desc=Požadavek na natažení synchronizován.
settings.event_pull_request_review_request=Vyžádán požadavek na natažení
settings.event_header_pull_request=Události pull requestu
settings.event_pull_request=Pull request
settings.event_pull_request_desc=Pull request otevřen, uzavřen, znovu otevřen nebo upraven.
settings.event_pull_request_assign=Pull request přiřazen
settings.event_pull_request_assign_desc=Pull request přiřazen nebo nepřiřazen.
settings.event_pull_request_label=Pull request oštítkován
settings.event_pull_request_label_desc=Štítky pull requestu aktualizovány nebo vymazány.
settings.event_pull_request_milestone=Přidán milník pull requestu
settings.event_pull_request_milestone_desc=Přidán nebo odebrán milník pull requestu.
settings.event_pull_request_comment=Pull request okomentován
settings.event_pull_request_comment_desc=Komentář pull requestu vytvořen, upraven nebo odstraněn.
settings.event_pull_request_review=Pull request posouzen
settings.event_pull_request_review_desc=Pull request schválen, odmítnut nebo zkontrolován.
settings.event_pull_request_sync=Pull request synchronizován
settings.event_pull_request_sync_desc=Pull request synchronizován.
settings.event_pull_request_review_request=Požádáno o posouzení pull requestu
settings.event_pull_request_review_request_desc=Přidána nebo ostraněna žádnost o kontrolu pull requestu.
settings.event_pull_request_approvals=Schválení pull requestu
settings.event_pull_request_merge=Sloučení pull requestu
settings.event_package=Balíček
settings.event_package_desc=Balíček vytvořen nebo odstraněn v repozitáři.
settings.branch_filter=Filtr větví
@ -2282,32 +2352,34 @@ settings.protect_disable_push_desc=Žádné nahrávání do této větve nebude
settings.protect_enable_push=Povolit nahrávání
settings.protect_enable_push_desc=Každý, kdo má přístup k zápisu, bude moci nahrávat do této větve (ale ne vynucená nahrávání).
settings.protect_enable_merge=Povolit sloučení
settings.protect_enable_merge_desc=Každému, kdo má přístup k zápisu, bude povoleno sloučit pull requesty do této větve.
settings.protect_whitelist_committers=Povolit nahrání jen vyjmenovaným
settings.protect_whitelist_committers_desc=Pouze povolení uživatelé budou moci nahrávat do této větve (ale ne vynucení nahrávání).
settings.protect_whitelist_deploy_keys=Povolit nahrání klíčům pro nasazení s přístupem pro zápis.
settings.protect_whitelist_users=Povolení uživatelé pro nahrávání:
settings.protect_whitelist_search_users=Hledat uživatele…
settings.protect_whitelist_teams=Povolené týmy pro nahrávání:
settings.protect_whitelist_search_teams=Vyhledat týmy…
settings.protect_merge_whitelist_committers=Povolit vyjmenovaným slučování
settings.protect_merge_whitelist_committers_desc=Povolit pouze vyjmenovaným uživatelům nebo týmům slučovat požadavky na natažení do této větve.
settings.protect_merge_whitelist_committers_desc=Povolit pouze vyjmenovaným uživatelům nebo týmům slučovat pull requesty do této větve.
settings.protect_merge_whitelist_users=Povolení uživatelé pro slučování:
settings.protect_merge_whitelist_teams=Povolené týmy pro slučování:
settings.protect_check_status_contexts=Povolit kontrolu stavu
settings.protect_status_check_patterns=Vzorce kontroly stavu:
settings.protect_status_check_patterns_desc=Zadejte vzory pro určení, které kontroly stavu musí projít před sloučením větví do větve, která odpovídá tomuto pravidlu. Každý řádek určuje vzor. Vzory nemohou být prázdné.
settings.protect_check_status_contexts_desc=Požadovat kontrolu stavu před sloučením. Vyberte, jaké kontroly stavu musí projít před tím, než je možné větev sloučit do větve, která vyhovuje tomuto pravidlu. Pokud je povoleno, revize musí být nejprve nahrány do jiné větve, projít kontrolou stavu, a následné sloučeny nebo přímo nahrány do větve, která vyhovuje tomuto pravidlu. Pokud nejsou vybrány žádné kontexty, musí být poslední potvrzení úspěšné bez ohledu na kontext.
settings.protect_check_status_contexts_list=Kontroly stavu pro tento repozitář zjištěné během posledního týdne
settings.protect_status_check_matched=Odpovídá
settings.protect_invalid_status_check_pattern=Neplatný vzor kontroly stavu: „%s“.
settings.protect_no_valid_status_check_patterns=Žádné platné vzory kontroly stavu.
settings.protect_required_approvals=Požadovaná schválení:
settings.protect_required_approvals_desc=Umožnit sloučení pouze požadavkům na natažení s dostatečným pozitivním hodnocením.
settings.protect_required_approvals_desc=Umožnit sloučení pouze pull requestů s dostatečným pozitivním hodnocením.
settings.protect_approvals_whitelist_enabled=Omezit schválení na povolené uživatele nebo týmy
settings.protect_approvals_whitelist_enabled_desc=Do požadovaných schválení se započítají pouze posouzení od povolených uživatelů nebo týmů. Bez seznamu povolených se započítává schválení od kohokoli s právem zápisu.
settings.protect_approvals_whitelist_users=Povolení posuzovatelé:
settings.protect_approvals_whitelist_teams=Povolené týmy pro posuzování:
settings.dismiss_stale_approvals=Odmítnout nekvalitní schválení
settings.dismiss_stale_approvals_desc=Pokud budou do větve nahrány nové revize, které mění obsah tohoto požadavku na natažení, všechna stará schválení budou zamítnuta.
settings.dismiss_stale_approvals_desc=Pokud budou do větve nahrány nové revize, které mění obsah tohoto pull requestu, všechna stará schválení budou zamítnuta.
settings.ignore_stale_approvals=Ignorovat zastaralá schválení
settings.ignore_stale_approvals_desc=Nezapočítávejte schválení, která byla provedena u starších commitů (zastaralých recenzí), do počtu schválení, která má PR. Pokud jsou zastaralá hodnocení již zamítnuta, je to irelevantní.
settings.require_signed_commits=Vyžadovat podepsané revize
settings.require_signed_commits_desc=Odmítnout nahrání do této větve pokud nejsou podepsaná nebo jsou neověřitelná.
settings.protect_branch_name_pattern=Vzor jména chráněných větví
@ -2328,9 +2400,9 @@ settings.block_rejected_reviews=Blokovat sloučení při zamítavých posouzení
settings.block_rejected_reviews_desc=Slučování nebude možné, pokud o změny požádají oficiální posuzovatelé, i když je k dispozici dostatek schválení.
settings.block_on_official_review_requests=Blokovat sloučení při oficiální žádosti o posouzení
settings.block_on_official_review_requests_desc=Slučování nebude možné, pokud mají oficiální požadavek na posouzení, i když mají k dispozici dostatek schválení.
settings.block_outdated_branch=Blokovat sloučení, pokud je požadavek na natažení zastaralý
settings.block_outdated_branch=Blokovat sloučení, pokud je pull request zastaralý
settings.block_outdated_branch_desc=Slučování nebude možné, pokud je hlavní větev za základní větví.
settings.default_branch_desc=Vybrat výchozí větev repozitáře pro požadavky na natažení a revize kódu:
settings.default_branch_desc=Vybrat výchozí větev repozitáře pro pull requesty a revize kódu:
settings.merge_style_desc=Sloučit styly
settings.default_merge_style_desc=Výchozí styl sloučení pro požadavky na natažení:
settings.choose_branch=Vyberte větev…
@ -2357,15 +2429,16 @@ settings.matrix.room_id=ID místnosti
settings.matrix.message_type=Typ zprávy
settings.archive.button=Archivovat repozitář
settings.archive.header=Archivovat tento repozitář
settings.archive.text=Archivace repozitáře způsobí, že bude zcela určen pouze pro čtení. Bude skryt z ovládacího panelu. Nikdo (ani vy!) nebude moci vytvářet nové revize ani otevírat nové úkoly nebo žádosti o natažení.
settings.archive.text=Archivace repozitáře způsobí, že bude zcela určen pouze pro čtení. Bude skryt z ovládacího panelu. Nikdo (ani vy!) nebude moci vytvářet nové revize ani otevírat nové úkoly nebo pull requesty.
settings.archive.success=Repozitář byl úspěšně archivován.
settings.archive.error=Nastala chyba při archivování repozitáře. Prohlédněte si záznam pro více detailů.
settings.archive.error_ismirror=Nemůžete archivovat zrcadlený repozitář.
settings.archive.branchsettings_unavailable=Nastavení větví není dostupné, pokud je repozitář archivovaný.
settings.archive.tagsettings_unavailable=Nastavení značek není k dispozici, pokud je repozitář archivován.
settings.archive.mirrors_unavailable=Zrcadla nejsou k dispozici, pokud je repozitář archivován.
settings.unarchive.button=Obnovit repozitář
settings.unarchive.header=Obnovit tento repozitář
settings.unarchive.text=Obnovení repozitáře vrátí možnost přijímání commitů a nahrávání. Stejně tak se obnoví i možnost zadávání nových úkolů a požadavků na natažení.
settings.unarchive.text=Obnovení repozitáře vrátí možnost přijímání commitů a nahrávání. Stejně tak se obnoví i možnost zadávání nových úkolů a pull requestů.
settings.unarchive.success=Repozitář byl úspěšně obnoven.
settings.unarchive.error=Nastala chyba při obnovování repozitáře. Prohlédněte si záznam pro více detailů.
settings.update_avatar_success=Avatar repozitáře byl aktualizován.
@ -2446,9 +2519,9 @@ diff.review.header=Odeslat posouzení
diff.review.placeholder=Posoudit komentář
diff.review.comment=Okomentovat
diff.review.approve=Schválit
diff.review.self_reject=Autoři požadavků na natažení nemohou požadovat změny na svém vlastním požadavku na natažení
diff.review.self_reject=Autoři pull requestu nemohou požadovat změny na svém vlastním pull requestu
diff.review.reject=Požadovat změny
diff.review.self_approve=Autoři požadavku na natažení nemohou schválit svůj vlastní požadavek na natažení
diff.review.self_approve=Autoři pull requestu nemohou schválit svůj vlastní pull request
diff.committed_by=odevzdal
diff.protected=Chráněno
diff.image.side_by_side=Vedle sebe
@ -2529,7 +2602,6 @@ branch.default_deletion_failed=Větev „%s“ je výchozí větev. Nelze ji ods
branch.restore=Obnovit větev „%s“
branch.download=Stáhnout větev „%s“
branch.rename=Přejmenovat větev „%s“
branch.search=Hledat větev
branch.included_desc=Tato větev je součástí výchozí větve
branch.included=Zahrnuje
branch.create_new_branch=Vytvořit větev z větve:
@ -2560,13 +2632,16 @@ find_file.no_matching=Nebyl nalezen žádný odpovídající soubor
error.csv.too_large=Tento soubor nelze vykreslit, protože je příliš velký.
error.csv.unexpected=Tento soubor nelze vykreslit, protože obsahuje neočekávaný znak na řádku %d ve sloupci %d.
error.csv.invalid_field_count=Soubor nelze vykreslit, protože má nesprávný počet polí na řádku %d.
error.broken_git_hook=Git háčky tohoto repozitáře se zdají být rozbité. Postupujte prosím podle <a target="_blank" rel="noreferrer" href="%s">dokumentace</a>, abyste je opravili, a poté nahrajte nějaké commity pro obnovení stavu.
[graphs]
component_loading=Načítání %s...
component_loading_failed=Nelze načíst %s
component_loading_info=Může to chvíli trvat…
component_failed_to_load=Došlo k neočekávané chybě.
code_frequency.what=frekvence kódu
contributors.what=příspěvky
recent_commits.what=nedávné commity
[org]
org_name_holder=Název organizace
@ -2672,7 +2747,6 @@ teams.write_permission_desc=Členství v tom týmu poskytuje právo <strong>záp
teams.admin_permission_desc=Členství v tom týmu poskytuje právo <strong>správce</strong>: členové mohou číst z, nahrávat do a přidávat spolupracovníky do repozitářů týmu.
teams.create_repo_permission_desc=Navíc tento tým uděluje oprávnění <strong>vytvořit repozitář</strong>: členové mohou vytvářet nové repozitáře v organizaci.
teams.repositories=Repozitáře týmu
teams.search_repo_placeholder=Hledat repozitář…
teams.remove_all_repos_title=Odstranit všechny repozitáře týmu
teams.remove_all_repos_desc=Tímto odeberete všechny repozitáře z týmu.
teams.add_all_repos_title=Přidat všechny repozitáře
@ -2681,6 +2755,7 @@ teams.add_nonexistent_repo=Repositář, který se snažíte přidat, neexistuje.
teams.add_duplicate_users=Uživatel je již členem týmu.
teams.repos.none=Tento tým nemůže přistoupit k žádným repozitářům.
teams.members.none=Žádní členové v tomto týmu.
teams.members.blocked_user=Nelze přidat uživatele, protože je zablokován organizací.
teams.specific_repositories=Konkrétní repozitáře
teams.specific_repositories_helper=Členové budou mít přístup pouze do repozitářů výslovně přidaných do týmu. Výběrem tohoto <strong>nebudou</strong> automaticky odstraněny již přidané repozitáře pomocí <i>Všechny repozitáře</i>.
teams.all_repositories=Všechny repozitáře
@ -2694,6 +2769,7 @@ teams.invite.description=Pro připojení k týmu klikněte na tlačítko níže.
[admin]
dashboard=Přehled
self_check=Samokontrola
identity_access=Identita a přístup
users=Uživatelské účty
organizations=Organizace
@ -2703,6 +2779,8 @@ integrations=Integrace
authentication=Zdroje ověření
emails=Uživatelské e-maily
config=Nastavení
config_summary=Souhrn
config_settings=Nastavení
notices=Systémová oznámení
monitor=Sledování
first_page=První
@ -2737,6 +2815,7 @@ dashboard.delete_repo_archives.started=Spuštěna úloha smazání všech archiv
dashboard.delete_missing_repos=Smazat všechny repozitáře, které nemají Git soubory
dashboard.delete_missing_repos.started=Spuštěna úloha mazání všech repozitářů, které nemají Git soubory.
dashboard.delete_generated_repository_avatars=Odstranit vygenerované avatary repozitářů
dashboard.sync_repo_branches=Synchronizovat chybějící větve z git dat do databází
dashboard.sync_repo_tags=Synchronizovat značky z git dat do databáze
dashboard.update_mirrors=Aktualizovat zrcadla
dashboard.repo_health_check=Kontrola stavu všech repozitářů
@ -2752,6 +2831,7 @@ dashboard.reinit_missing_repos=Znovu inicializovat všechny chybějící repozit
dashboard.sync_external_users=Synchronizovat externí uživatelská data
dashboard.cleanup_hook_task_table=Vyčistit tabulku hook_task
dashboard.cleanup_packages=Vyčistit prošlé balíčky
dashboard.cleanup_actions=Vyčištění prošlých záznamů a artefaktů z akcí
dashboard.server_uptime=Doba provozu serveru
dashboard.current_goroutine=Aktuální Goroutines
dashboard.current_memory_usage=Aktuální využití paměti
@ -2877,9 +2957,6 @@ repos.unadopted.no_more=Nebyly nalezeny žádné další nepřijaté repositář
repos.owner=Vlastník
repos.name=Název
repos.private=Soukromý
repos.watches=Sledovače
repos.stars=Oblíbení
repos.forks=Rozštěpení
repos.issues=Úkoly
repos.size=Velikost
repos.lfs_size=Velikost LFS
@ -2888,6 +2965,7 @@ packages.package_manage_panel=Správa balíčků
packages.total_size=Celková velikost: %s
packages.unreferenced_size=Neodkazovaná velikost: %s
packages.cleanup=Vyčistit prošlá data
packages.cleanup.success=Úspěšné vyčištění dat, jejichž platnost vypršela
packages.owner=Vlastník
packages.creator=Tvůrce
packages.name=Název
@ -2898,10 +2976,12 @@ packages.size=Velikost
packages.published=Publikováno
defaulthooks=Výchozí webové háčky
defaulthooks.desc=Webové háčky automaticky vytvářejí HTTP POST dotazy na server při určitých Gitea událostech. Webové háčky definované zde jsou výchozí a budou zkopírovány do všech nových repozitářů. Přečtěte si více v <a target="_blank" rel="noopener" href="https://docs.gitea.io/en-us/webhooks/">průvodci webovými háčky</a>.
defaulthooks.add_webhook=Přidat výchozí webový háček
defaulthooks.update_webhook=Aktualizovat výchozí webový háček
systemhooks=Systémové webové háčky
systemhooks.desc=Webové háčky automaticky vytvářejí HTTP POST dotazy na server při určitých Gitea událostech. Webové háčky definované zde budou vykonány na všech repozitářích systému, proto prosím zvažte jakékoli důsledky, které to může mít na výkon. Přečtěte si více v <a target="_blank" rel="noopener" href="https://docs.gitea.io/en-us/webhooks/">průvodci webovými háčky</a>.
systemhooks.add_webhook=Přidat systémový webový háček
systemhooks.update_webhook=Aktualizovat systémový webový háček
@ -2979,6 +3059,7 @@ auths.oauth2_required_claim_value_helper=Nastavte tuto hodnotu pro omezení při
auths.oauth2_group_claim_name=Název tvrzení poskytující názvy skupin pro tento zdroj. (nepovinné)
auths.oauth2_admin_group=Hodnota tvrzení pro skupinu uživatelů administrátorů. (Volitelné - vyžaduje název tvrzení výše)
auths.oauth2_restricted_group=Hodnota tvrzení pro skupinu omezených uživatelů. (Volitelné - vyžaduje název tvrzení výše)
auths.oauth2_map_group_to_team=Mapa uváděných skupin do organizačních týmů. (Volitelné - vyžaduje výše uvedené jméno)
auths.oauth2_map_group_to_team_removal=Odebrat uživatele z synchronizovaných týmů, pokud uživatel nepatří do odpovídající skupiny.
auths.enable_auto_register=Povolit zaregistrování se
auths.sspi_auto_create_users=Automaticky vytvářet uživatele
@ -3000,7 +3081,7 @@ auths.tip.nextcloud=Zaregistrujte nového OAuth konzumenta na vaší instanci po
auths.tip.dropbox=Vytvořte novou aplikaci na https://www.dropbox.com/developers/apps
auths.tip.facebook=Registrujte novou aplikaci na https://developers.facebook.com/apps a přidejte produkt „Facebook Login“
auths.tip.github=Registrujte novou OAuth aplikaci na https://github.com/settings/applications/new
auths.tip.gitlab=Registrujte novou aplikaci na https://gitlab.com/profile/applications
auths.tip.gitlab_new=Zaregistrujte novou aplikaci na https://gitlab.com/-/profile/applications
auths.tip.google_plus=Získejte klientské pověření OAuth2 z Google API konzole na https://console.developers.google.com/
auths.tip.openid_connect=Použijte OpenID URL pro objevování spojení (<server>/.well-known/openid-configuration) k nastavení koncových bodů
auths.tip.twitter=Jděte na https://dev.twitter.com/apps, vytvořte aplikaci a ujistěte se, že volba „Allow this application to be used to Sign in with Twitter“ je povolená
@ -3136,6 +3217,7 @@ config.picture_config=Nastavení obrázku a avataru
config.picture_service=Služba ikon uživatelů
config.disable_gravatar=Zakázat službu Gravatar
config.enable_federated_avatar=Povolit avatary z veřejných zdrojů
config.open_with_editor_app_help=Editory "Otevřít" v nabídce klon. Ponecháte-li prázdné, bude použito výchozí. Pro zobrazení výchozího nastavení rozbalte.
config.git_config=Konfigurace Gitu
config.git_disable_diff_highlight=Zakázat zvýraznění syntaxe v rozdílovém zobrazení
@ -3150,6 +3232,7 @@ config.git_pull_timeout=Časový limit operace stažení
config.git_gc_timeout=Časový limit operace GC
config.log_config=Nastavení logů
config.logger_name_fmt=Logger: %s
config.disabled_logger=Zakázané
config.access_log_mode=Režim logování přístupu
config.access_log_template=Šablona záznamu přístupu
@ -3168,6 +3251,7 @@ monitor.execute_times=Vykonání
monitor.process=Spuštěné procesy
monitor.stacktrace=Výpisy zásobníku
monitor.processes_count=%d procesů
monitor.download_diagnosis_report=Stáhnout diagnosttickou zprávu
monitor.desc=Popis
monitor.start=Čas zahájení
monitor.execute_time=Doba provádění
@ -3187,6 +3271,7 @@ monitor.queue.maxnumberworkers=Maximální počet workerů
monitor.queue.numberinqueue=Číslo ve frontě
monitor.queue.review_add=Posoudit / přidat workery
monitor.queue.settings.title=Nastavení fondu
monitor.queue.settings.desc=Fondy se dynamicky zvětšují v závislosti na blokování jejich pracovních front.
monitor.queue.settings.maxnumberworkers=Maximální počet workerů
monitor.queue.settings.maxnumberworkers.placeholder=V současné době %[1]d
monitor.queue.settings.maxnumberworkers.error=Maximální počet workerů musí být číslo
@ -3224,13 +3309,13 @@ commit_repo=nahrál/a do <a href="%[2]s">%[3]s</a> v <a href="%[1]s">%[4]s</a>
create_issue=`otevřel/a úkol <a href="%[1]s">%[3]s#%[2]s</a>`
close_issue=`uzavřel/a úkol <a href="%[1]s">%[3]s#%[2]s</a>`
reopen_issue=`znovuotevřel/a úkol <a href="%[1]s">%[3]s#%[2]s</a>`
create_pull_request=`vytvořil/a požadavek na natažení <a href="%[1]s">%[3]s#%[2]s</a>`
close_pull_request=`uzavřel/a požadavek na natažení <a href="%[1]s">%[3]s#%[2]s</a>`
reopen_pull_request=`znovuotevřel/a požadavek na natažení <a href="%[1]s">%[3]s#%[2]s</a>`
create_pull_request=`vytvořil/a pull request <a href="%[1]s">%[3]s#%[2]s</a>`
close_pull_request=`uzavřel/a pull request <a href="%[1]s">%[3]s#%[2]s</a>`
reopen_pull_request=`znovuotevřel/a pull request <a href="%[1]s">%[3]s#%[2]s</a>`
comment_issue=`okomentoval/a problém <a href="%[1]s">%[3]s#%[2]s</a>`
comment_pull=`okomentoval/a požadavek na natažení <a href="%[1]s">%[3]s#%[2]s</a>`
merge_pull_request=`sloučil/a požadavek na natažení <a href="%[1]s">%[3]s#%[2]s</a>`
auto_merge_pull_request=`automaticky sloučen požadavek na natažení <a href="%[1]s">%[3]s#%[2]s</a>`
comment_pull=`okomentoval/a pull request <a href="%[1]s">%[3]s#%[2]s</a>`
merge_pull_request=`sloučil/a pull request <a href="%[1]s">%[3]s#%[2]s</a>`
auto_merge_pull_request=`automaticky sloučen pull request <a href="%[1]s">%[3]s#%[2]s</a>`
transfer_repo=předal/a repozitář <code>%s</code> uživateli/organizaci <a href="%s">%s</a>
push_tag=nahrál/a značku <a href="%[2]s">%[3]s</a> do <a href="%[1]s">%[4]s</a>
delete_tag=smazal/a značku %[2]s z <a href="%[1]s">%[3]s</a>
@ -3431,6 +3516,7 @@ owner.settings.cargo.initialize.description=Pro použití Cargo registru je zapo
owner.settings.cargo.initialize.error=Nepodařilo se inicializovat Cargo index: %v
owner.settings.cargo.initialize.success=Index Cargo byl úspěšně vytvořen.
owner.settings.cargo.rebuild=Znovu vytvořit Index
owner.settings.cargo.rebuild.description=Obnova může být užitečná, pokud index není synchronizován s uloženými balíčky Cargo.
owner.settings.cargo.rebuild.error=Obnovení Cargo indexu se nezdařilo: %v
owner.settings.cargo.rebuild.success=Cargo Index byl úspěšně obnoven.
owner.settings.cleanuprules.title=Spravovat pravidla pro čištění
@ -3523,8 +3609,10 @@ runners.reset_registration_token_success=Registrační token runneru byl úspě
runs.all_workflows=Všechny pracovní postupy
runs.commit=Commit
runs.scheduled=Naplánováno
runs.pushed_by=náhrán
runs.invalid_workflow_helper=Konfigurační soubor pracovního postupu je neplatný. Zkontrolujte prosím konfigurační soubor: %s
runs.no_matching_online_runner_helper=Žádný odpovídající online runner s popiskem: %s
runs.no_job_without_needs=Pracovní postup musí obsahovat alespoň jednu úlohu bez závislostí.
runs.actor=Aktér
runs.status=Status
runs.actors_no_select=Všichni aktéři
@ -3542,6 +3630,7 @@ workflow.enable=Povolit pracovní postup
workflow.enable_success=Pracovní postup „%s“ byl úspěšně aktivován.
workflow.disabled=Pracovní postup je zakázán.
need_approval_desc=Potřebujete schválení pro spuštění pracovních postupů pro rozštěpený pull request.
variables=Proměnné
variables.management=Správa proměnných

View File

@ -17,6 +17,7 @@ template=Template
language=Sprache
notifications=Benachrichtigungen
active_stopwatch=Aktive Zeiterfassung
tracked_time_summary=Zusammenfassung der erfassten Zeit basierend auf Filtern der Issue-Liste
create_new=Erstellen…
user_profile_and_more=Profil und Einstellungen…
signed_in_as=Angemeldet als
@ -24,6 +25,7 @@ enable_javascript=Diese Website benötigt JavaScript.
toc=Inhaltsverzeichnis
licenses=Lizenzen
return_to_gitea=Zurück zu Gitea
more_items=Weitere Einträge
username=Benutzername
email=E-Mail-Adresse
@ -90,6 +92,7 @@ remove=Löschen
remove_all=Alle entfernen
remove_label_str=Element "%s " entfernen
edit=Bearbeiten
view=Anzeigen
enabled=Aktiviert
disabled=Deaktiviert
@ -99,7 +102,7 @@ copy=Kopieren
copy_url=URL kopieren
copy_hash=Hash kopieren
copy_content=Inhalt kopieren
copy_branch=Branchenname kopieren
copy_branch=Branchnamen kopieren
copy_success=Kopiert!
copy_error=Kopieren fehlgeschlagen
copy_type_unsupported=Dieser Dateityp kann nicht kopiert werden
@ -111,6 +114,7 @@ loading=Laden…
error=Fehler
error404=Die Seite, die Du versuchst aufzurufen, <strong>existiert nicht</strong> oder <strong>Du bist nicht berechtigt</strong>, diese anzusehen.
go_back=Zurück
invalid_data=Ungültige Daten: %v
never=Niemals
unknown=Unbekannt
@ -121,6 +125,7 @@ pin=Anheften
unpin=Loslösen
artifacts=Artefakte
confirm_delete_artifact=Bist du sicher, dass du das Artefakt '%s' löschen möchtest?
archived=Archiviert
@ -139,6 +144,43 @@ confirm_delete_selected=Alle ausgewählten Elemente löschen?
name=Name
value=Wert
filter=Filter
filter.clear=Filter leeren
filter.is_archived=Archiviert
filter.not_archived=Nicht archiviert
filter.is_fork=Fork
filter.not_fork=Kein Fork
filter.is_mirror=Gespiegelt
filter.not_mirror=Nicht gespiegelt
filter.is_template=Template
filter.not_template=Kein Template
filter.public=Öffentlich
filter.private=Privat
no_results_found=Es wurden keine Ergebnisse gefunden.
[search]
search=Suche ...
type_tooltip=Suchmodus
fuzzy=Ähnlich
fuzzy_tooltip=Ergebnisse einbeziehen, die dem Suchbegriff ähnlich sind
match=Genau
match_tooltip=Nur genau zum Suchbegriff passende Ergebnisse einbeziehen
repo_kind=Repositories durchsuchen ...
user_kind=Benutzer durchsuchen ...
org_kind=Organisationen durchsuchen ...
team_kind=Teams durchsuchen ...
code_kind=Code durchsuchen ...
code_search_unavailable=Zurzeit ist die Code-Suche nicht verfügbar. Bitte wende dich an den Website-Administrator.
code_search_by_git_grep=Aktuelle Code-Suchergebnisse werden von "git grep" bereitgestellt. Es könnte bessere Ergebnisse geben, wenn der Website-Administrator den Repository-Indexer aktiviert.
package_kind=Pakete durchsuchen ...
project_kind=Projekte durchsuchen ...
branch_kind=Branches durchsuchen ...
commit_kind=Commits durchsuchen ...
runner_kind=Runner durchsuchen ...
no_results=Es wurden keine passenden Ergebnisse gefunden.
keyword_search_unavailable=Zurzeit ist die Stichwort-Suche nicht verfügbar. Bitte wende dich an den Website-Administrator.
[aria]
navbar=Navigationsleiste
footer=Fußzeile
@ -244,6 +286,7 @@ email_title=E-Mail-Einstellungen
smtp_addr=SMTP-Host
smtp_port=SMTP-Port
smtp_from=E-Mail senden als
smtp_from_invalid=Die „E-Mail senden als“ Adresse ist ungültig
smtp_from_helper=E-Mail-Adresse, die von Gitea genutzt werden soll. Bitte gib die E-Mail-Adresse im Format „"Name" <email@example.com>“ ein.
mailer_user=SMTP-Benutzername
mailer_password=SMTP-Passwort
@ -303,6 +346,7 @@ env_config_keys=Umgebungskonfiguration
env_config_keys_prompt=Die folgenden Umgebungsvariablen werden auch auf Ihre Konfigurationsdatei angewendet:
[home]
nav_menu=Navigationsmenü
uname_holder=E-Mail-Adresse oder Benutzername
password_holder=Passwort
switch_dashboard_context=Kontext der Übersichtsseite wechseln
@ -312,7 +356,6 @@ collaborative_repos=Gemeinschaftliche Repositories
my_orgs=Meine Organisationen
my_mirrors=Meine Mirrors
view_home=%s ansehen
search_repos=Finde ein Repository…
filter=Andere Filter
filter_by_team_repositories=Nach Team-Repositories filtern
feed_of=`Feed von "%s"`
@ -333,20 +376,8 @@ issues.in_your_repos=Eigene Repositories
repos=Repositories
users=Benutzer
organizations=Organisationen
search=Suche
go_to=Gehe zu
code=Code
search.type.tooltip=Suchmodus
search.fuzzy=Ähnlich
search.fuzzy.tooltip=Zeige auch Ergebnisse, die dem Suchbegriff ähneln
search.match=Genau
search.match.tooltip=Zeige nur Ergebnisse, die exakt mit dem Suchbegriff übereinstimmen
code_search_unavailable=Derzeit ist die Code-Suche nicht verfügbar. Bitte wende dich an den Website-Administrator.
repo_no_results=Keine passenden Repositories gefunden.
user_no_results=Keine passenden Benutzer gefunden.
org_no_results=Keine passenden Organisationen gefunden.
code_no_results=Es konnte kein passender Code für deinen Suchbegriff gefunden werden.
code_search_results=`Suchergebnisse für "%s"`
code_last_indexed_at=Zuletzt indexiert %s
relevant_repositories_tooltip=Repositories, die Forks sind oder die kein Thema, kein Symbol und keine Beschreibung haben, werden ausgeblendet.
relevant_repositories=Es werden nur relevante Repositories angezeigt, <a href="%s">ungefilterte Ergebnisse anzeigen</a>.
@ -359,11 +390,12 @@ disable_register_prompt=Die Registrierung ist deaktiviert. Bitte wende dich an d
disable_register_mail=E-Mail-Bestätigung bei der Registrierung ist deaktiviert.
manual_activation_only=Kontaktiere den Website-Administrator, um die Aktivierung abzuschließen.
remember_me=Dieses Gerät speichern
remember_me.compromised=Das Login-Token ist nicht mehr gültig, was auf ein kompromittiertes Konto hindeuten kann. Bitte überprüfe dein Konto auf ungewöhnliche Aktivitäten.
forgot_password_title=Passwort vergessen
forgot_password=Passwort vergessen?
sign_up_now=Noch kein Konto? Jetzt registrieren.
sign_up_successful=Konto wurde erfolgreich erstellt. Willkommen!
confirmation_mail_sent_prompt=Eine neue Bestätigungs-E-Mail wurde an <b>%s</b> gesendet. Bitte überprüfe dein Postfach innerhalb der nächsten %s, um die Registrierung abzuschließen.
confirmation_mail_sent_prompt_ex=Eine neue Bestätigungs-E-Mail wurde an <b>%s</b>gesendet. Bitte überprüfe deinen Posteingang innerhalb der nächsten %s, um den Registrierungsprozess abzuschließen. Wenn deine Registrierungs-E-Mail-Adresse falsch ist, kannst du dich erneut anmelden und diese ändern.
must_change_password=Aktualisiere dein Passwort
allow_password_change=Verlange vom Benutzer das Passwort zu ändern (empfohlen)
reset_password_mail_sent_prompt=Eine Bestätigungs-E-Mail wurde an <b>%s</b> gesendet. Bitte überprüfe dein Postfach innerhalb von %s, um den Wiederherstellungsprozess abzuschließen.
@ -373,6 +405,7 @@ prohibit_login=Anmelden verboten
prohibit_login_desc=Die Anmeldung mit diesem Konto ist nicht gestattet. Bitte kontaktiere den Administrator.
resent_limit_prompt=Du hast bereits eine Aktivierungs-E-Mail angefordert. Bitte warte 3 Minuten und probiere es dann nochmal.
has_unconfirmed_mail=Hallo %s, du hast eine unbestätigte E-Mail-Adresse (<b>%s</b>). Wenn du keine Bestätigungs-E-Mail erhalten hast oder eine neue senden möchtest, klicke bitte auf den folgenden Button.
change_unconfirmed_mail_address=Wenn deine Registrierungs-E-Mail-Adresse falsch ist, kannst du sie hier ändern und eine neue Bestätigungs-E-Mail senden.
resend_mail=Aktivierungs-E-Mail erneut verschicken
email_not_associate=Diese E-Mail-Adresse ist mit keinem Konto verknüpft.
send_reset_mail=Wiederherstellungs-E-Mail senden
@ -420,6 +453,7 @@ authorization_failed_desc=Die Autorisierung ist fehlgeschlagen, da wir eine ung
sspi_auth_failed=SSPI-Authentifizierung fehlgeschlagen
password_pwned=Das von dir gewählte Passwort befindet sich auf einer <a target="_blank" rel="noopener noreferrer" href="https://haveibeenpwned.com/Passwords">List gestohlener Passwörter</a>, die öffentlich verfügbar sind. Bitte versuche es erneut mit einem anderen Passwort und ziehe in Erwägung, auch anderswo deine Passwörter zu ändern.
password_pwned_err=Anfrage an HaveIBeenPwned konnte nicht abgeschlossen werden
last_admin=Du kannst den letzten Admin nicht entfernen. Es muss mindestens einen Administrator geben.
[mail]
view_it_on=Auf %s ansehen
@ -552,6 +586,7 @@ team_name_been_taken=Der Teamname ist bereits vergeben.
team_no_units_error=Das Team muss auf mindestens einen Bereich Zugriff haben.
email_been_used=Die E-Mail-Adresse wird bereits verwendet.
email_invalid=Die E-Mail-Adresse ist ungültig.
email_domain_is_not_allowed=Die Domain der Benutzer-E-Mail <b>%s</b> steht im Widerspruch zu EMAIL_DOMAIN_ALLOWLIST oder EMAIL_DOMAIN_BLOCKLIST. Bitte stelle sicher, dass deine Operation erwartet ist.
openid_been_used=Die OpenID-Adresse "%s" wird bereits verwendet.
username_password_incorrect=Benutzername oder Passwort ist falsch.
password_complexity=Das Passwort erfüllt nicht die Komplexitätsanforderungen:
@ -563,6 +598,8 @@ enterred_invalid_repo_name=Der eingegebenen Repository-Name ist falsch.
enterred_invalid_org_name=Der eingegebene Organisation-Name ist falsch.
enterred_invalid_owner_name=Der Name des neuen Besitzers ist ungültig.
enterred_invalid_password=Das eingegebene Passwort ist falsch.
unset_password=Der Login-Benutzer hat das Passwort nicht gesetzt.
unsupported_login_type=Der Anmeldetyp wird zum Löschen des Kontos nicht unterstützt.
user_not_exist=Dieser Benutzer ist nicht vorhanden.
team_not_exist=Dieses Team existiert nicht.
last_org_owner=Du kannst den letzten Benutzer nicht aus dem 'Besitzer'-Team entfernen. Es muss mindestens einen Besitzer in einer Organisation geben.
@ -585,6 +622,7 @@ org_still_own_packages=Diese Organisation besitzt noch ein oder mehrere Pakete,
target_branch_not_exist=Der Ziel-Branch existiert nicht.
admin_cannot_delete_self=Du kannst dich nicht selbst löschen, wenn du ein Administrator bist. Bitte entferne zuerst deine Administratorrechte.
[user]
change_avatar=Profilbild ändern…
@ -611,6 +649,30 @@ form.name_reserved=Der Benutzername "%s" ist reserviert.
form.name_pattern_not_allowed=Das Muster "%s" ist nicht in einem Benutzernamen erlaubt.
form.name_chars_not_allowed=Benutzername "%s" enthält ungültige Zeichen.
block.block=Sperren
block.block.user=Benutzer sperren
block.block.org=Benutzer für Organisation sperren
block.block.failure=Fehler beim Sperren des Benutzers: %s
block.unblock=Entsperren
block.unblock.failure=Fehler beim Entsperren des Benutzers: %s
block.blocked=Du hast diesen Benutzer gesperrt.
block.title=Einen Benutzer sperren
block.info=Das Blockieren eines Benutzers hindert ihn daran, mit Repositories zu interagieren, wie zum Beispiel das Öffnen oder Kommentieren von Pull Requests oder Issues. Erfahre mehr über das Blockieren eines Benutzers.
block.info_1=Das Blockieren eines Benutzers verhindert folgende Aktionen auf deinem Konto und deinen Repositories:
block.info_2=deinem Konto folgen
block.info_3=dir Benachrichtigungen durch @Erwähnung deines Benutzernamens senden
block.info_4=dich als Mitarbeiter in deren Repositories einladen
block.info_5=Repositories favorisieren, forken oder beobachten
block.info_6=Issues oder Pull Requests öffnen und kommentieren
block.info_7=auf deine Kommentare in Issues oder Pull Requests reagieren
block.user_to_block=Zu sperrender Benutzer
block.note=Anmerkung
block.note.title=Optionale Anmerkung:
block.note.info=Die Anmerkung ist für den blockierten Benutzer nicht sichtbar.
block.note.edit=Anmerkung bearbeiten
block.list=Gesperrte Benutzer
block.list.none=Du hast noch keine Benutzer gesperrt.
[settings]
profile=Profil
account=Account
@ -755,7 +817,6 @@ gpg_invalid_token_signature=Der GPG Key, die Signatur, und das Token stimmen nic
gpg_token_required=Du musst eine Signatur für das folgende Token angeben
gpg_token=Token
gpg_token_help=Du kannst eine Signatur wie folgt generieren:
gpg_token_code=echo "%s" | gpg -a --default-key %s --detach-sig
gpg_token_signature=GPG Textsignatur (armored signature)
key_signature_gpg_placeholder=Beginnt mit '-----BEGIN PGP SIGNATURE-----'
verify_gpg_key_success=GPG-Schlüssel "%s" wurde verifiziert.
@ -863,6 +924,7 @@ revoke_oauth2_grant_description=Wenn du die Autorisierung widerrufst, kann die A
revoke_oauth2_grant_success=Zugriff erfolgreich widerrufen.
twofa_desc=Zwei-Faktor-Authentifizierung trägt zu einer höheren Accountsicherheit bei.
twofa_recovery_tip=Wenn du dein Gerät verlierst, kannst du einen einmalig verwendbaren Wiederherstellungsschlüssel nutzen, um den Zugriff auf dein Konto wiederherzustellen.
twofa_is_enrolled=Für dein Konto ist die Zwei-Faktor-Authentifizierung <strong>eingeschaltet</strong>.
twofa_not_enrolled=Für dein Konto ist die Zwei-Faktor-Authentifizierung momentan nicht eingeschaltet.
twofa_disable=Zwei-Faktor-Authentifizierung deaktivieren
@ -885,6 +947,8 @@ webauthn_register_key=Sicherheitsschlüssel hinzufügen
webauthn_nickname=Nickname
webauthn_delete_key=Sicherheitsschlüssel entfernen
webauthn_delete_key_desc=Wenn du einen Sicherheitsschlüssel entfernst, kannst du dich nicht mehr mit ihm anmelden. Fortfahren?
webauthn_key_loss_warning=Wenn du deine Sicherheitsschlüssel verlierst, verlierst du den Zugriff auf dein Konto.
webauthn_alternative_tip=Möglicherweise möchtest du eine zusätzliche Authentifizierungsmethode konfigurieren.
manage_account_links=Verknüpfte Accounts verwalten
manage_account_links_desc=Diese externen Accounts sind mit deinem Gitea-Account verknüpft.
@ -921,6 +985,7 @@ visibility.private=Privat
visibility.private_tooltip=Sichtbar nur für Mitglieder von Organisationen, denen du beigetreten bist
[repo]
new_repo_helper=Ein Repository enthält alle Projektdateien, einschließlich des Änderungsverlaufs. Schon woanders vorhanden? <a href="%s">Migration eines Repositorys.</a>
owner=Besitzer
owner_helper=Einige Organisationen könnten in der Dropdown-Liste nicht angezeigt werden, da die Anzahl an Repositories begrenzt ist.
repo_name=Repository-Name
@ -944,8 +1009,9 @@ fork_visibility_helper=Die Sichtbarkeit eines geforkten Repositories kann nicht
fork_branch=Branch, der zum Fork geklont werden soll
all_branches=Alle Branches
fork_no_valid_owners=Dieses Repository kann nicht geforkt werden, da keine gültigen Besitzer vorhanden sind.
fork.blocked_user=Das Repository kann nicht geforkt werden, da du vom Repository-Eigentümer blockiert wurdest.
use_template=Dieses Template verwenden
clone_in_vsc=In VS Code klonen
open_with_editor=Mit %s öffnen
download_zip=ZIP herunterladen
download_tar=TAR.GZ herunterladen
download_bundle=BUNDLE herunterladen
@ -961,6 +1027,8 @@ issue_labels_helper=Wähle ein Issue-Label-Set.
license=Lizenz
license_helper=Wähle eine Lizenz aus.
license_helper_desc=Eine Lizenz regelt, was Andere mit deinem Code (nicht) tun können. Unsicher, welches für dein Projekt die Richtige ist? Siehe <a target="_blank" rel="noopener noreferrer" href="%s">eine Lizenz wählen</a>.
object_format=Objektformat
object_format_helper=Objektformat des Repositories. Es kann später nicht geändert werden. SHA1 ist am meisten kompatibel.
readme=README
readme_helper=Wähle eine README-Vorlage aus.
readme_helper_desc=Hier kannst du eine komplette Beschreibung für dein Projekt schreiben.
@ -978,6 +1046,7 @@ mirror_prune=Entfernen
mirror_prune_desc=Entferne veraltete remote-tracking Referenzen
mirror_interval=Mirror-Intervall (gültige Zeiteinheiten sind 'h', 'm', 's'). 0 deaktiviert die regelmäßige Synchronisation. (Minimales Intervall: %s)
mirror_interval_invalid=Das Spiegel-Intervall ist ungültig.
mirror_sync=synchronisiert
mirror_sync_on_commit=Synchronisieren, wenn Commits gepusht wurden
mirror_address=Klonen via URL
mirror_address_desc=Gib alle erforderlichen Anmeldedaten im Abschnitt "Authentifizierung" ein.
@ -995,6 +1064,7 @@ watchers=Beobachter
stargazers=Favorisiert von
stars_remove_warning=Dies wird alle Sterne aus diesem Repository entfernen.
forks=Forks
stars=Favoriten
reactions_more=und %d weitere
unit_disabled=Der Administrator hat diesen Repository-Bereich deaktiviert.
language_other=Andere
@ -1028,6 +1098,7 @@ desc.public=Öffentlich
desc.template=Template
desc.internal=Intern
desc.archived=Archiviert
desc.sha256=SHA256
template.items=Template-Elemente
template.git_content=Git Inhalt (Standardbranch)
@ -1115,6 +1186,7 @@ watch=Beobachten
unstar=Favorit entfernen
star=Favorisieren
fork=Fork
action.blocked_user=Die Aktion kann nicht ausgeführt werden, da du vom Repository-Eigentümer blockiert wurdest.
download_archive=Repository herunterladen
more_operations=Weitere Operationen
@ -1178,6 +1250,8 @@ audio_not_supported_in_browser=Dein Browser unterstützt den HTML5 'audio'-Tag n
stored_lfs=Gespeichert mit Git LFS
symbolic_link=Softlink
executable_file=Ausführbare Datei
vendored=Vendor
generated=Generiert
commit_graph=Commit graph
commit_graph.select=Branches auswählen
commit_graph.hide_pr_refs=Pull-Requests ausblenden
@ -1241,6 +1315,8 @@ editor.file_editing_no_longer_exists=Die bearbeitete Datei "%s" existiert nicht
editor.file_deleting_no_longer_exists=Die zu löschende Datei "%s" existiert nicht mehr in diesem Repository.
editor.file_changed_while_editing=Der Inhalt der Datei hat sich seit dem Beginn der Bearbeitung geändert. <a target="_blank" rel="noopener noreferrer" href="%s">Hier klicken</a>, um die Änderungen anzusehen, oder <strong>Änderungen erneut comitten</strong>, um sie zu überschreiben.
editor.file_already_exists=Eine Datei mit dem Namen '%s' existiert bereits in diesem Repository.
editor.commit_id_not_matching=Die Commit-ID stimmt nicht mit der ID überein, bei welcher du mit der Bearbeitung begonnen hast. Commite in einen Patch-Branch und merge daraufhin.
editor.push_out_of_date=Der Push scheint veraltet zu sein.
editor.commit_empty_file_header=Leere Datei committen
editor.commit_empty_file_text=Die Datei, die du commiten willst, ist leer. Fortfahren?
editor.no_changes_to_show=Keine Änderungen vorhanden.
@ -1264,9 +1340,8 @@ commits.desc=Durchsuche die Quellcode-Änderungshistorie.
commits.commits=Commits
commits.no_commits=Keine gemeinsamen Commits. "%s" und "%s" haben vollständig unterschiedliche Historien.
commits.nothing_to_compare=Diese Branches sind auf demselben Stand.
commits.search=Commits durchsuchen…
commits.search.tooltip=Du kannst Suchbegriffen "author:", " committer:", "after:", oder " before:" voranstellen, z.B. "revert author:Alice before:2019-04-01".
commits.find=Suchen
commits.search_branch=Dieser Branch
commits.search_all=Alle Branches
commits.author=Autor
commits.message=Nachricht
@ -1317,7 +1392,6 @@ projects.type.basic_kanban=Einfaches Kanban
projects.type.bug_triage=Bug Triage
projects.template.desc=Projektvorlage
projects.template.desc_helper=Wähle eine Projektvorlage aus, um loszulegen
projects.type.uncategorized=Nicht kategorisiert
projects.column.edit=Spalte bearbeiten
projects.column.edit_title=Name
projects.column.new_title=Name
@ -1325,10 +1399,8 @@ projects.column.new_submit=Spalte erstellen
projects.column.new=Neue Spalte
projects.column.set_default=Als Standard verwenden
projects.column.set_default_desc=Diese Spalte als Standard für unkategorisierte Issues und Pull Requests festlegen
projects.column.unset_default=Standard entfernen
projects.column.unset_default_desc=Diese Spalte als Standard entfernen
projects.column.delete=Spalte löschen
projects.column.deletion_desc=Beim Löschen einer Projektspalte werden alle dazugehörigen Issues nach 'Nicht kategorisiert' verschoben. Fortfahren?
projects.column.deletion_desc=Beim Löschen einer Projektspalte werden alle Einträge in die Standard-Spalte verschoben. Fortfahren?
projects.column.color=Farbe
projects.open=Öffnen
projects.close=Schließen
@ -1363,6 +1435,8 @@ issues.new.assignees=Zuständig
issues.new.clear_assignees=Zuständige entfernen
issues.new.no_assignees=Niemand zuständig
issues.new.no_reviewers=Keine Reviewer
issues.new.blocked_user=Das Issue kann nicht erstellt werden, da du vom Repository-Eigentümer blockiert wurdest.
issues.edit.blocked_user=Der Inhalt kann nicht bearbeitet werden, da du vom Repository-Eigentümer blockiert wurdest.
issues.choose.get_started=Los geht's
issues.choose.open_external_link=Öffnen
issues.choose.blank=Standard
@ -1440,7 +1514,6 @@ issues.filter_sort.moststars=Meiste Favoriten
issues.filter_sort.feweststars=Wenigste Favoriten
issues.filter_sort.mostforks=Meiste Forks
issues.filter_sort.fewestforks=Wenigste Forks
issues.keyword_search_unavailable=Zurzeit ist die Stichwort-Suche nicht verfügbar. Bitte wende dich an den Website-Administrator.
issues.action_open=Öffnen
issues.action_close=Schließen
issues.action_label=Label
@ -1478,6 +1551,7 @@ issues.close_comment_issue=Kommentieren und schließen
issues.reopen_issue=Wieder öffnen
issues.reopen_comment_issue=Kommentieren und wieder öffnen
issues.create_comment=Kommentieren
issues.comment.blocked_user=Der Kommentar kann nicht erstellt oder bearbeitet werden, da du vom Repository-Eigentümer blockiert wurdest.
issues.closed_at=`hat diesen Issue <a id="%[1]s" href="#%[1]s">%[2]s</a> geschlossen`
issues.reopened_at=`hat diesen Issue <a id="%[1]s" href="#%[1]s">%[2]s</a> wieder geöffnet`
issues.commit_ref_at=`hat dieses Issue <a id="%[1]s" href="#%[1]s">%[2]s</a> aus einem Commit referenziert`
@ -1676,6 +1750,7 @@ compare.compare_head=vergleichen
pulls.desc=Pull-Requests und Code-Reviews aktivieren.
pulls.new=Neuer Pull-Request
pulls.new.blocked_user=Der Pull Request kann nicht erstellt werden, da du vom Repository-Eigentümer blockiert wurdest.
pulls.view=Pull-Request ansehen
pulls.compare_changes=Neuer Pull-Request
pulls.allow_edits_from_maintainers=Änderungen von Maintainern erlauben
@ -1692,7 +1767,6 @@ pulls.compare_compare=pullen von
pulls.switch_comparison_type=Vergleichstyp wechseln
pulls.switch_head_and_base=Head und Base vertauschen
pulls.filter_branch=Branch filtern
pulls.no_results=Keine Ergebnisse verfügbar.
pulls.show_all_commits=Alle Commits anzeigen
pulls.show_changes_since_your_last_review=Zeige Änderungen seit deinem letzten Review
pulls.showing_only_single_commit=Nur Änderungen aus Commit %[1]s werden angezeigt
@ -1701,6 +1775,7 @@ pulls.select_commit_hold_shift_for_range=Commit auswählen. Halte Shift + klicke
pulls.review_only_possible_for_full_diff=Ein Review ist nur möglich, wenn das vollständige Diff angezeigt wird
pulls.filter_changes_by_commit=Nach Commit filtern
pulls.nothing_to_compare=Diese Branches sind identisch. Es muss kein Pull-Request erstellt werden.
pulls.nothing_to_compare_have_tag=Der ausgewählte Branch und Tag sind gleich.
pulls.nothing_to_compare_and_allow_empty_pr=Diese Branches sind gleich. Der Pull-Request wird leer sein.
pulls.has_pull_request=`Es existiert bereits ein Pull-Request zwischen diesen beiden Branches: <a href="%[1]s">%[2]s#%[3]d</a>`
pulls.create=Pull-Request erstellen
@ -1759,6 +1834,7 @@ pulls.merge_pull_request=Merge Commit erstellen
pulls.rebase_merge_pull_request=Rebasen und dann fast-forwarden
pulls.rebase_merge_commit_pull_request=Rebasen und dann mergen
pulls.squash_merge_pull_request=Squash Commit erstellen
pulls.fast_forward_only_merge_pull_request=Nur Fast-forward
pulls.merge_manually=Manuell mergen
pulls.merge_commit_id=Der Mergecommit ID
pulls.require_signed_wont_sign=Der Branch erfordert einen signierten Commit, aber dieser Merge wird nicht signiert
@ -1783,6 +1859,8 @@ pulls.status_checks_failure=Einige Prüfungen sind fehlgeschlagen
pulls.status_checks_error=Einige Checks meldeten Fehler
pulls.status_checks_requested=Erforderlich
pulls.status_checks_details=Details
pulls.status_checks_hide_all=Alle Prüfungen ausblenden
pulls.status_checks_show_all=Alle Prüfungen anzeigen
pulls.update_branch=Branch durch Mergen aktualisieren
pulls.update_branch_rebase=Branch durch Rebase aktualisieren
pulls.update_branch_success=Branch-Aktualisierung erfolgreich
@ -1791,6 +1869,11 @@ pulls.outdated_with_base_branch=Dieser Branch enthält nicht die neusten Commits
pulls.close=Pull-Request schließen
pulls.closed_at=`hat diesen Pull-Request <a id="%[1]s" href="#%[1]s">%[2]s</a> geschlossen`
pulls.reopened_at=`hat diesen Pull-Request <a id="%[1]s" href="#%[1]s">%[2]s</a> wieder geöffnet`
pulls.cmd_instruction_hint=`Zeige <a class="show-instruction">Kommandozeilenanweisungen</a>.`
pulls.cmd_instruction_checkout_title=Checkout
pulls.cmd_instruction_checkout_desc=Wechsle auf einen neuen Branch in deinem lokalen Repository und teste die Änderungen.
pulls.cmd_instruction_merge_title=Mergen
pulls.cmd_instruction_merge_desc=Die Änderungen mergen und auf Gitea aktualisieren.
pulls.clear_merge_message=Merge-Nachricht löschen
pulls.clear_merge_message_hint=Das Löschen der Merge-Nachricht wird nur den Inhalt der Commit-Nachricht entfernen und generierte Git-Trailer wie "Co-Authored-By …" erhalten.
@ -1888,6 +1971,10 @@ wiki.page_name_desc=Gib einen Namen für diese Wiki-Seite ein. Spezielle Namen s
wiki.original_git_entry_tooltip=Originale Git-Datei anstatt eines benutzerfreundlichen Links anzeigen.
activity=Aktivität
activity.navbar.pulse=Puls
activity.navbar.code_frequency=Code-Frequenz
activity.navbar.contributors=Mitwirkende
activity.navbar.recent_commits=Neueste Commits
activity.period.filter_label=Zeitraum:
activity.period.daily=1 Tag
activity.period.halfweekly=3 Tage
@ -1953,18 +2040,10 @@ activity.git_stats_and_deletions=und
activity.git_stats_deletion_1=%d Löschung
activity.git_stats_deletion_n=%d Löschungen
contributors.contribution_type.filter_label=Beitragstyp:
contributors.contribution_type.commits=Commits
search=Suchen
search.search_repo=Repository durchsuchen
search.type.tooltip=Suchmodus
search.fuzzy=Ähnlich
search.fuzzy.tooltip=Zeige auch Ergebnisse, die dem Suchbegriff ähneln
search.match=Genau
search.match.tooltip=Zeige nur Ergebnisse, die exakt mit dem Suchbegriff übereinstimmen
search.results=Suchergebnisse für „%s“ in <a href="%s"> %s</a>
search.code_no_results=Es konnte kein passender Code für deinen Suchbegriff gefunden werden.
search.code_search_unavailable=Derzeit ist die Code-Suche nicht verfügbar. Bitte wende dich an den Website-Administrator.
contributors.contribution_type.additions=Ergänzungen
contributors.contribution_type.deletions=Löschungen
settings=Einstellungen
settings.desc=In den Einstellungen kannst du die Einstellungen des Repositories anpassen
@ -1992,6 +2071,7 @@ settings.mirror_settings.docs.doc_link_title=Wie spiegele ich Repositories?
settings.mirror_settings.docs.doc_link_pull_section=den Abschnitt "Von einem entfernten Repository pullen" in der Dokumentation.
settings.mirror_settings.docs.pulling_remote_title=Aus einem Remote-Repository pullen
settings.mirror_settings.mirrored_repository=Gespiegeltes Repository
settings.mirror_settings.pushed_repository=Gepushtes Repository
settings.mirror_settings.direction=Richtung
settings.mirror_settings.direction.pull=Pull
settings.mirror_settings.direction.push=Push
@ -2013,6 +2093,8 @@ settings.branches.add_new_rule=Neue Regel hinzufügen
settings.advanced_settings=Erweiterte Einstellungen
settings.wiki_desc=Repository-Wiki aktivieren
settings.use_internal_wiki=Eingebautes Wiki verwenden
settings.default_wiki_branch_name=Standardbezeichnung für Wiki-Branch
settings.failed_to_change_default_wiki_branch=Das Ändern des Standard-Wiki-Branches ist fehlgeschlagen.
settings.use_external_wiki=Externes Wiki verwenden
settings.external_wiki_url=Externe Wiki-URL
settings.external_wiki_url_error=Die externe Wiki-URL ist ungültig.
@ -2043,6 +2125,10 @@ settings.pulls.default_allow_edits_from_maintainers=Änderungen von Maintainern
settings.releases_desc=Repository-Releases aktivieren
settings.packages_desc=Repository Packages Registry aktivieren
settings.projects_desc=Repository-Projekte aktivieren
settings.projects_mode_desc=Projekte-Modus (welche Art Projekte angezeigt werden sollen)
settings.projects_mode_repo=Nur Repo-Projekte
settings.projects_mode_owner=Nur Benutzer- oder Organisations-Projekte
settings.projects_mode_all=Alle Projekte
settings.actions_desc=Repository-Actions aktivieren
settings.admin_settings=Administratoreinstellungen
settings.admin_enable_health_check=Repository-Health-Checks aktivieren (git fsck)
@ -2068,6 +2154,7 @@ settings.convert_fork_succeed=Der Fork wurde in ein normales Repository konverti
settings.transfer=Besitz übertragen
settings.transfer.rejected=Repository-Übertragung wurde abgelehnt.
settings.transfer.success=Repository-Übertragung war erfolgreich.
settings.transfer.blocked_user=Das Repository kann nicht übertragen werden, da du vom Repository-Eigentümer blockiert wurdest.
settings.transfer_abort=Übertragung abbrechen
settings.transfer_abort_invalid=Du kannst nur eingeleitete Repository-Übertragung abbrechen.
settings.transfer_abort_success=Die Repository-Übertragung zu %s wurde abgebrochen.
@ -2113,11 +2200,11 @@ settings.add_collaborator_success=Der Mitarbeiter wurde hinzugefügt.
settings.add_collaborator_inactive_user=Inaktive Benutzer können nicht als Mitarbeiter hinzufügt werden.
settings.add_collaborator_owner=Besitzer können nicht als Mitarbeiter hinzugefügt werden.
settings.add_collaborator_duplicate=Der Mitarbeiter ist bereits zu diesem Repository hinzugefügt.
settings.add_collaborator.blocked_user=Der Mitwirkende wurde vom Eigentümer des Repositories blockiert oder umgekehrt.
settings.delete_collaborator=Entfernen
settings.collaborator_deletion=Mitarbeiter entfernen
settings.collaborator_deletion_desc=Nach dem Löschen wird dieser Mitarbeiter keinen Zugriff mehr auf dieses Repository haben. Fortfahren?
settings.remove_collaborator_success=Der Mitarbeiter wurde entfernt.
settings.search_user_placeholder=Benutzer suchen…
settings.org_not_allowed_to_be_collaborator=Organisationen können nicht als Mitarbeiter hinzugefügt werden.
settings.change_team_access_not_allowed=Nur der Besitzer der Organisation kann die Zugangsrechte des Teams ändern
settings.team_not_in_organization=Das Team ist nicht in der gleichen Organisation wie das Repository
@ -2125,7 +2212,6 @@ settings.teams=Teams
settings.add_team=Team hinzufügen
settings.add_team_duplicate=Das Team ist dem Repository schon zugeordnet
settings.add_team_success=Das Team hat nun Zugriff auf das Repository.
settings.search_team=Team suchen…
settings.change_team_permission_tip=Die Team-Berechtigung ist auf der Team-Einstellungsseite festgelegt und kann nicht für ein Repository geändert werden
settings.delete_team_tip=Dieses Team hat Zugriff auf alle Repositories und kann nicht entfernt werden
settings.remove_team_success=Der Zugriff des Teams auf das Repository wurde zurückgezogen.
@ -2278,9 +2364,7 @@ settings.protect_whitelist_committers=Schütze gewhitelistete Commiter
settings.protect_whitelist_committers_desc=Jeder, der auf der Whitelist steht, darf in diesen Branch pushen (aber kein Force-Push).
settings.protect_whitelist_deploy_keys=Deploy-Schlüssel mit Schreibzugriff zum Pushen whitelisten.
settings.protect_whitelist_users=Nutzer, die pushen dürfen:
settings.protect_whitelist_search_users=Benutzer suchen…
settings.protect_whitelist_teams=Teams, die pushen dürfen:
settings.protect_whitelist_search_teams=Teams suchen…
settings.protect_merge_whitelist_committers=Merge-Whitelist aktivieren
settings.protect_merge_whitelist_committers_desc=Erlaube Nutzern oder Teams auf der Whitelist Pull-Requests in diesen Branch zu mergen.
settings.protect_merge_whitelist_users=Nutzer, die mergen dürfen:
@ -2301,9 +2385,12 @@ settings.protect_approvals_whitelist_users=Freigeschaltete Reviewer:
settings.protect_approvals_whitelist_teams=Freigeschaltete Teams:
settings.dismiss_stale_approvals=Entferne alte Genehmigungen
settings.dismiss_stale_approvals_desc=Wenn neue Commits gepusht werden, die den Inhalt des Pull-Requests ändern, werden alte Genehmigungen entfernt.
settings.ignore_stale_approvals=Veraltete Genehmigungen ignorieren
settings.ignore_stale_approvals_desc=Genehmigungen, die für ältere Commits erteilt wurden (veraltete Genehmigungen), nicht bei der Anzahl an Genehmigungen mitzählen. Irrelevant, falls veraltete Genehmigungen bereits verworfen wurden.
settings.require_signed_commits=Signierte Commits erforderlich
settings.require_signed_commits_desc=Pushes auf diesen Branch ablehnen, wenn Commits nicht signiert oder nicht überprüfbar sind.
settings.protect_branch_name_pattern=Muster für geschützte Branchnamen
settings.protect_branch_name_pattern_desc=Geschützte Branch-Namensmuster. Siehe <a href="https://github.com/gobwas/glob">die Dokumentation</a> für die Muster-Syntax. Beispiele: main, release/**
settings.protect_patterns=Muster
settings.protect_protected_file_patterns=Geschützte Dateimuster (durch Semikolon ';' getrennt):
settings.protect_protected_file_patterns_desc=Geschützte Dateien dürfen nicht direkt geändert werden, auch wenn der Benutzer Rechte hat, Dateien in diesem Branch hinzuzufügen, zu bearbeiten oder zu löschen. Mehrere Muster können mit Semikolon (';') getrennt werden. Siehe <a href='https://pkg.go.dev/github.com/gobwas/glob#Compile'>github.com/gobwas/glob</a> Dokumentation zur Mustersyntax. Beispiele: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
@ -2355,6 +2442,7 @@ settings.archive.error=Beim Versuch, das Repository zu archivieren, ist ein Fehl
settings.archive.error_ismirror=Du kannst keinen Repo-Mirror archivieren.
settings.archive.branchsettings_unavailable=Branch-Einstellungen sind nicht verfügbar wenn das Repo archiviert ist.
settings.archive.tagsettings_unavailable=Tag Einstellungen sind nicht verfügbar, wenn das Repo archiviert wurde.
settings.archive.mirrors_unavailable=Mirrors sind nicht verfügbar, wenn das Repository archiviert ist.
settings.unarchive.button=Archivieren rückgängig machen
settings.unarchive.header=Archivieren dieses Repositories rückgängig machen
settings.unarchive.text=Durch das Aufheben der Archivierung kann das Repo wieder Commits und Pushes sowie neue Issues und Pull-Requests empfangen.
@ -2521,7 +2609,6 @@ branch.default_deletion_failed=Branch "%s" kann nicht gelöscht werden, da diese
branch.restore=Branch "%s" wiederherstellen
branch.download=Branch "%s" herunterladen
branch.rename=Branch "%s" umbenennen
branch.search=Branch suchen
branch.included_desc=Dieser Branch ist im Standard-Branch enthalten
branch.included=Enthalten
branch.create_new_branch=Branch aus Branch erstellen:
@ -2552,8 +2639,16 @@ find_file.no_matching=Keine passende Datei gefunden
error.csv.too_large=Diese Datei kann nicht gerendert werden, da sie zu groß ist.
error.csv.unexpected=Diese Datei kann nicht gerendert werden, da sie ein unerwartetes Zeichen in Zeile %d und Spalte %d enthält.
error.csv.invalid_field_count=Diese Datei kann nicht gerendert werden, da sie eine falsche Anzahl an Feldern in Zeile %d hat.
error.broken_git_hook=Git-Hooks dieses Repositories scheinen defekt zu sein. Bitte folge der <a target="_blank" rel="noreferrer" href="%s">Dokumentation</a>, um dies zu beheben, pushe dann ein paar Commits und den Status zu aktualisieren.
[graphs]
component_loading=%s werden geladen ...
component_loading_failed=%s konnten nicht geladen werden
component_loading_info=Dies kann ein wenig dauern 
component_failed_to_load=Ein unerwarteter Fehler ist aufgetreten.
code_frequency.what=Code-Frequenz
contributors.what=Beiträge
recent_commits.what=Neueste Commits
[org]
org_name_holder=Name der Organisation
@ -2659,7 +2754,6 @@ teams.write_permission_desc=Dieses Team hat <strong>Schreibzugriff</strong>: Mit
teams.admin_permission_desc=Dieses Team hat <strong>Adminzugriff</strong>: Mitglieder dieses Teams können Team-Repositories ansehen, auf sie pushen und Mitarbeiter hinzufügen.
teams.create_repo_permission_desc=Zusätzlich erteilt dieses Team die Berechtigung <strong>Repository erstellen</strong>: Mitglieder können neue Repositories in der Organisation erstellen.
teams.repositories=Team-Repositories
teams.search_repo_placeholder=Repository durchsuchen…
teams.remove_all_repos_title=Alle Team-Repositories entfernen
teams.remove_all_repos_desc=Dies entfernt alle Repositories von dem Team.
teams.add_all_repos_title=Alle Repositories hinzufügen
@ -2668,6 +2762,7 @@ teams.add_nonexistent_repo=Das Repository, das du hinzufügen möchtest, existie
teams.add_duplicate_users=Dieser Benutzer ist bereits ein Teammitglied.
teams.repos.none=Dieses Team hat Zugang zu keinem Repository.
teams.members.none=Keine Mitglieder in diesem Team.
teams.members.blocked_user=Der Benutzer kann nicht hinzugefügt werden, da er von der Organisation blockiert wurde.
teams.specific_repositories=Bestimmte Repositories
teams.specific_repositories_helper=Mitglieder haben nur Zugriff auf Repositories, die explizit dem Team hinzugefügt wurden. Wenn Du diese Option wählst, werden Repositories, die bereits mit <i>Alle Repositories</i> hinzugefügt wurden, <strong>nicht</strong> automatisch entfernt.
teams.all_repositories=Alle Repositories
@ -2681,6 +2776,7 @@ teams.invite.description=Bitte klicke auf die folgende Schaltfläche, um dem Tea
[admin]
dashboard=Dashboard
self_check=Selbstprüfung
identity_access=Identität & Zugriff
users=Benutzerkonten
organizations=Organisationen
@ -2691,6 +2787,8 @@ integrations=Integrationen
authentication=Authentifizierungsquellen
emails=Benutzer E-Mails
config=Konfiguration
config_summary=Übersicht
config_settings=Einstellungen
notices=Systemmitteilungen
monitor=Monitoring
first_page=Erste
@ -2726,6 +2824,7 @@ dashboard.delete_missing_repos=Alle Repository-Datensätze mit verloren gegangen
dashboard.delete_missing_repos.started=Alle Repositories löschen, die den Git-File-Task nicht gestartet haben.
dashboard.delete_generated_repository_avatars=Generierte Repository-Avatare löschen
dashboard.sync_repo_branches=Fehlende Branches aus den Git-Daten in die Datenbank synchronisieren
dashboard.sync_repo_tags=Tags von Git-Daten in die Datenbank synchronisieren
dashboard.update_mirrors=Mirrors aktualisieren
dashboard.repo_health_check=Healthchecks für alle Repositories ausführen
dashboard.check_repo_stats=Überprüfe alle Repository-Statistiken
@ -2780,6 +2879,7 @@ dashboard.stop_endless_tasks=Endlose Aufgaben stoppen
dashboard.cancel_abandoned_jobs=Aufgegebene Jobs abbrechen
dashboard.start_schedule_tasks=Terminierte Aufgaben starten
dashboard.sync_branch.started=Synchronisierung der Branches gestartet
dashboard.sync_tag.started=Tag-Synchronisierung gestartet
dashboard.rebuild_issue_indexer=Issue-Indexer neu bauen
users.user_manage_panel=Benutzerkontenverwaltung
@ -2851,6 +2951,7 @@ emails.updated=E-Mail aktualisiert
emails.not_updated=Fehler beim Aktualisieren der angeforderten E-Mail-Adresse: %v
emails.duplicate_active=Diese E-Mail-Adresse wird bereits von einem Nutzer verwendet.
emails.change_email_header=E-Mail-Eigenschaften aktualisieren
emails.change_email_text=Bist du dir sicher, dass du diese E-Mail-Adresse aktualisieren möchtest?
orgs.org_manage_panel=Organisationsverwaltung
orgs.name=Name
@ -2864,9 +2965,6 @@ repos.unadopted.no_more=Keine weiteren nicht übernommenen Repositories gefunden
repos.owner=Besitzer
repos.name=Name
repos.private=Privat
repos.watches=Beobachtungen
repos.stars=Favoriten
repos.forks=Forks
repos.issues=Issues
repos.size=Größe
repos.lfs_size=LFS-Größe
@ -2875,6 +2973,7 @@ packages.package_manage_panel=Paketverwaltung
packages.total_size=Gesamtgröße: %s
packages.unreferenced_size=Nicht referenzierte Größe: %s
packages.cleanup=Veraltete Daten löschen
packages.cleanup.success=Abgelaufene Daten erfolgreich bereinigt
packages.owner=Besitzer
packages.creator=Ersteller
packages.name=Name
@ -2990,7 +3089,7 @@ auths.tip.nextcloud=Registriere über das "Settings -> Security -> OAuth 2.0 cli
auths.tip.dropbox=Erstelle eine neue App auf https://www.dropbox.com/developers/apps.
auths.tip.facebook=Erstelle eine neue Anwendung auf https://developers.facebook.com/apps und füge das Produkt „Facebook Login“ hinzu.
auths.tip.github=Erstelle unter https://github.com/settings/applications/new eine neue OAuth-Anwendung.
auths.tip.gitlab=Erstelle unter https://gitlab.com/profile/applications eine neue Anwendung.
auths.tip.gitlab_new=Erstelle eine neue Anwendung unter https://gitlab.com/-/profile/applications
auths.tip.google_plus=Du erhältst die OAuth2-Client-Zugangsdaten in der Google-API-Konsole unter https://console.developers.google.com/
auths.tip.openid_connect=Benutze die OpenID-Connect-Discovery-URL (<server>/.well-known/openid-configuration), um die Endpunkte zu spezifizieren
auths.tip.twitter=Gehe auf https://dev.twitter.com/apps, erstelle eine Anwendung und stelle sicher, dass die Option „Allow this application to be used to Sign in with Twitter“ aktiviert ist
@ -3126,6 +3225,7 @@ config.picture_config=Bild-und-Profilbild-Konfiguration
config.picture_service=Bilderservice
config.disable_gravatar=Gravatar deaktivieren
config.enable_federated_avatar=Föderierte Profilbilder einschalten
config.open_with_editor_app_help=Die „Öffnen mit“-Editoren für das Klon-Menü. Falls leer, wird die Standardeinstellung verwendet. Erweitern, um die Standardeinstellung zu sehen.
config.git_config=Git-Konfiguration
config.git_disable_diff_highlight=Diff-Syntaxhervorhebung ausschalten
@ -3204,6 +3304,12 @@ notices.desc=Beschreibung
notices.op=Aktion
notices.delete_success=Diese Systemmeldung wurde gelöscht.
self_check.no_problem_found=Bisher wurde kein Problem festgestellt.
self_check.database_collation_mismatch=Erwarte Datenbank-Kollation: %s
self_check.database_collation_case_insensitive=Die Datenbank verwendet die Kollation %s, was eine unsensible Kollation ist. Obwohl Gitea damit arbeiten könnte, gibt es vielleicht einige seltene Fälle, die nicht wie erwartet funktionieren.
self_check.database_inconsistent_collation_columns=Die Datenbank verwendet die Kollation %s, aber diese Spalten verwenden unzutreffende Kollationen. Dies könnte zu unerwarteten Problemen führen.
self_check.database_fix_mysql=Für MySQL/MariaDB-Benutzer kann man den Befehl "gitea doctor convert" oder manuell auch "ALTER ... COLLATE ..."-SQLs verwenden, um die Sortierprobleme zu beheben.
self_check.database_fix_mssql=Für MSSQL-Benutzer kann das Problem im Moment nur durch "ALTER ... COLLATE ..." SQLs manuell behoben werden.
[action]
create_repo=hat das Repository <a href="%s">%s</a> erstellt
@ -3391,6 +3497,7 @@ rpm.distros.suse=auf SUSE-basierten Distributionen
rpm.install=Nutze folgenden Befehl, um das Paket zu installieren:
rpm.repository=Repository-Informationen
rpm.repository.architectures=Architekturen
rpm.repository.multiple_groups=Dieses Paket ist in mehreren Gruppen verfügbar.
rubygems.install=Um das Paket mit gem zu installieren, führe den folgenden Befehl aus:
rubygems.install2=oder füg es zum Gemfile hinzu:
rubygems.dependencies.runtime=Laufzeitabhängigkeiten
@ -3516,12 +3623,18 @@ runs.commit=Commit
runs.scheduled=Geplant
runs.pushed_by=gepusht von
runs.invalid_workflow_helper=Die Workflow-Konfigurationsdatei ist ungültig. Bitte überprüfe Deine Konfigurationsdatei: %s
runs.no_matching_online_runner_helper=Kein passender Runner online mit Label: %s
runs.no_job_without_needs=Der Workflow muss mindestens einen Job ohne Abhängigkeiten enthalten.
runs.actor=Initiator
runs.status=Status
runs.actors_no_select=Alle Initiatoren
runs.status_no_select=Alle Status
runs.no_results=Keine passenden Ergebnisse gefunden.
runs.no_workflows=Es gibt noch keine Workflows.
runs.no_workflows.quick_start=Du weißt nicht, wie du mit Gitea Actions loslegst? Siehe <a target="_blank" rel="noopener noreferrer" href="%s">die Schnellstart-Anleitung</a>.
runs.no_workflows.documentation=Weitere Informationen zu Gitea Actions findest du in der <a target="_blank" rel="noopener noreferrer" href="%s"> Dokumentation</a>.
runs.no_runs=Der Workflow hat noch keine Ausführungen.
runs.empty_commit_message=(leere Commit-Nachricht)
workflow.disable=Workflow deaktivieren
workflow.disable_success=Workflow '%s' erfolgreich deaktiviert.
@ -3538,6 +3651,7 @@ variables.none=Es gibt noch keine Variablen.
variables.deletion=Variable entfernen
variables.deletion.description=Das Entfernen einer Variable ist dauerhaft und kann nicht rückgängig gemacht werden. Fortfahren?
variables.description=Variablen werden an bestimmte Aktionen übergeben und können nicht anderweitig gelesen werden.
variables.id_not_exist=Eine Variable mit ID %d existiert nicht.
variables.edit=Variable bearbeiten
variables.deletion.failed=Fehler beim Entfernen der Variable.
variables.deletion.success=Die Variable wurde entfernt.

View File

@ -141,6 +141,15 @@ confirm_delete_selected=Επιβεβαιώνετε τη διαγραφή όλω
name=Όνομα
value=Τιμή
filter=Φίλτρο
filter.is_archived=Αρχειοθετήθηκε
filter.is_template=Πρότυπο
filter.public=Δημόσιος
filter.private=Ιδιωτικό
[search]
[aria]
navbar=Γραμμή Πλοήγησης
footer=Υποσέλιδο
@ -314,7 +323,6 @@ collaborative_repos=Συνεργατικά Αποθετήρια
my_orgs=Οι Οργανισμοί Μου
my_mirrors=Τα Αντίγραφα Μου
view_home=Προβολή %s
search_repos=Βρείτε ένα αποθετήριο…
filter=Άλλα Φίλτρα
filter_by_team_repositories=Φιλτράρισμα ανά αποθετήρια ομάδας
feed_of=`Τροφοδοσία του "%s"`
@ -335,20 +343,8 @@ issues.in_your_repos=Στα αποθετήρια σας
repos=Αποθετήρια
users=Χρήστες
organizations=Οργανισμοί
search=Αναζήτηση
go_to=Μετάβαση σε
code=Κώδικας
search.type.tooltip=Τύπος αναζήτησης
search.fuzzy=Fuzzy
search.fuzzy.tooltip=Συμπερίληψη και των αποτελεσμάτων που είναι πλησιέστερα με τον όρο αναζήτησης
search.match=Ταίριασμα
search.match.tooltip=Συμπερίληψη μόνο των αποτελεσμάτων που ταιριάζουν ακριβώς με τον όρο αναζήτησης
code_search_unavailable=Η αναζήτηση κώδικα δεν είναι διαθέσιμη αυτή τη στιγμή. Παρακαλώ επικοινωνήστε με το διαχειριστή.
repo_no_results=Δεν βρέθηκαν αποθετήρια που να ταιρίαζουν με τα κριτήρια.
user_no_results=Δεν βρέθηκαν χρήστες που να ταιριάζουν με τα κριτήρια.
org_no_results=Δεν βρέθηκαν οργανισμοί που να ταιριάζουν με τα κριτήρια.
code_no_results=Δεν βρέθηκε πηγαίος κώδικας που να ταιριάζει με τον όρο αναζήτησης.
code_search_results=`Αποτελέσματα αναζήτησης για "%s"`
code_last_indexed_at=Τελευταίο δημιουργία ευρετηρίου στις %s
relevant_repositories_tooltip=Τα αποθετήρια που είναι forks ή που δεν έχουν θέμα, εικονίδιο και περιγραφή είναι κρυμμένα.
relevant_repositories=Εμφανίζονται μόνο τα σχετικά αποθετήρια, <a href="%s">εμφάνιση χωρίς φίλτρο</a>.
@ -366,7 +362,6 @@ forgot_password_title=Ξέχασα Τον Κωδικό Πρόσβασης
forgot_password=Ξεχάσατε τον κωδικό πρόσβασης;
sign_up_now=Χρειάζεστε λογαριασμό; Εγγραφείτε τώρα.
sign_up_successful=Ο λογαριασμός δημιουργήθηκε επιτυχώς. Καλώς ορίσατε!
confirmation_mail_sent_prompt=Ένα νέο email επιβεβαίωσης έχει σταλεί στο <b>%s</b>. Παρακαλώ ελέγξτε τα εισερχόμενα σας μέσα στις επόμενες %s για να ολοκληρώσετε τη διαδικασία εγγραφής.
must_change_password=Ενημερώστε τον κωδικό πρόσβασης σας
allow_password_change=Απαιτείται από το χρήστη να αλλάξει τον κωδικό πρόσβασης (συνιστόμενο)
reset_password_mail_sent_prompt=Ένα email επιβεβαίωσης έχει σταλεί στο <b>%s</b>. Παρακαλώ ελέγξτε τα εισερχόμενα σας στις επόμενες %s για να ολοκληρώσετε τη διαδικασία ανάκτησης λογαριασμού.
@ -614,6 +609,7 @@ form.name_reserved=Το όνομα χρήστη "%s" είναι δεσμευμέ
form.name_pattern_not_allowed=Το μοτίβο "%s" δεν επιτρέπεται μέσα σε ένα όνομα χρήστη.
form.name_chars_not_allowed=Το όνομα χρήστη "%s" περιέχει μη έγκυρους χαρακτήρες.
[settings]
profile=Προφίλ
account=Λογαριασμός
@ -758,7 +754,6 @@ gpg_invalid_token_signature=Το κλειδί GPG, η υπογραφή και τ
gpg_token_required=Πρέπει να δώσετε μια υπογραφή για το παρακάτω διακριτικό
gpg_token=Διακριτικό
gpg_token_help=Μπορείτε να δημιουργήσετε μια υπογραφή χρησιμοποιώντας:
gpg_token_code=echo "%s" | gpg -a --default-key %s --detach-sig
gpg_token_signature=Θωρακισμένη υπογραφή GPG
key_signature_gpg_placeholder=Ξεκινά με '-----BEGIN PGP SIGNATURE-----'
verify_gpg_key_success=Το κλειδί GPG "%s" επαληθεύτηκε.
@ -952,7 +947,6 @@ fork_branch=Κλάδος που θα κλωνοποιηθεί στο fork
all_branches=Όλοι οι κλάδοι
fork_no_valid_owners=Αυτό το αποθετήριο δεν μπορεί να γίνει fork επειδή δεν υπάρχουν έγκυροι ιδιοκτήτες.
use_template=Χρήση αυτού του πρότυπου
clone_in_vsc=Κλωνοποίηση στο VS Code
download_zip=Λήψη ZIP
download_tar=Λήψη TAR.GZ
download_bundle=Κατεβάστε Το ΔΕΜΑ
@ -1271,9 +1265,7 @@ commits.desc=Δείτε το ιστορικό αλλαγών του πηγαίο
commits.commits=Υποβολές
commits.no_commits=Δεν υπάρχουν κοινές υποβολές. Τα "%s" και "%s" έχουν εντελώς διαφορετικές ιστορίες.
commits.nothing_to_compare=Αυτοί οι κλάδοι είναι όμοιοι.
commits.search=Αναζήτηση υποβολών…
commits.search.tooltip=Μπορείτε να προθέτετε τις λέξεις-κλειδιά με "author:", "committer:", "after:", ή "before:", π.χ. "επαναφορά author:Alice before:2019-01-13".
commits.find=Αναζήτηση
commits.search_all=Όλοι Οι Κλάδοι
commits.author=Συγγραφέας
commits.message=Μήνυμα
@ -1324,7 +1316,6 @@ projects.type.basic_kanban=Βασικό Kanban
projects.type.bug_triage=Διαλογή Σφαλμάτων
projects.template.desc=Πρότυπο έργου
projects.template.desc_helper=Επιλέξτε ένα πρότυπο έργου για να ξεκινήσετε
projects.type.uncategorized=Χωρίς Κατηγορία
projects.column.edit=Επεξεργασία Στήλης
projects.column.edit_title=Όνομα
projects.column.new_title=Όνομα
@ -1332,10 +1323,7 @@ projects.column.new_submit=Δημιουργία Στήλης
projects.column.new=Νέα Στήλη
projects.column.set_default=Ορισμός Προεπιλογής
projects.column.set_default_desc=Ορίστε αυτή τη στήλη ως προεπιλογή για ζητήματα και pull requests χωρίς κατηγορία
projects.column.unset_default=Αφαίρεση Προεπιλογής
projects.column.unset_default_desc=Αφαίρεση της προεπιλογής αυτής της στήλης
projects.column.delete=Διαγραφή Στήλης
projects.column.deletion_desc=Η διαγραφή μιας στήλης έργου μετακινεί όλα τα συναφή ζητήματα σε 'Χωρίς Κατηγορία'. Συνέχεια;
projects.column.color=Έγχρωμο
projects.open=Άνοιγμα
projects.close=Κλείσιμο
@ -1447,7 +1435,6 @@ issues.filter_sort.moststars=Περισσότερα αστέρια
issues.filter_sort.feweststars=Λιγότερα αστέρια
issues.filter_sort.mostforks=Περισσότερα forks
issues.filter_sort.fewestforks=Λιγότερα forks
issues.keyword_search_unavailable=Η αναζήτηση μέσω λέξεων κλειδιών δεν είναι διαθέσιμη. Παρακαλώ επικοινωνήστε με το διαχειριστή.
issues.action_open=Άνοιγμα
issues.action_close=Κλείσιμο
issues.action_label=Σήμα
@ -1699,7 +1686,6 @@ pulls.compare_compare=τράβηγμα από
pulls.switch_comparison_type=Αλλαγή τύπου σύγκρισης
pulls.switch_head_and_base=Αλλαγή κεφαλής και βάσης
pulls.filter_branch=Φιλτράρισμα κλάδου
pulls.no_results=Δεν βρέθηκαν αποτελέσματα.
pulls.show_all_commits=Εμφάνιση όλων των υποβολών
pulls.show_changes_since_your_last_review=Εμφάνιση αλλαγών από την τελευταία αξιολόγηση
pulls.showing_only_single_commit=Εμφάνιση μόνο αλλαγών της υποβολής %[1]s
@ -1969,17 +1955,6 @@ activity.git_stats_deletion_n=%d διαγραφές
contributors.contribution_type.commits=Υποβολές
search=Αναζήτηση
search.search_repo=Αναζήτηση αποθετηρίου
search.type.tooltip=Τύπος αναζήτησης
search.fuzzy=Fuzzy
search.fuzzy.tooltip=Συμπερίληψη και των αποτελεσμάτων που είναι πλησιέστερα με τον όρο αναζήτησης
search.match=Ταίριασμα
search.match.tooltip=Συμπερίληψη μόνο των αποτελεσμάτων που ταιριάζουν ακριβώς με τον όρο αναζήτησης
search.results=Αποτελέσματα αναζήτησης για "%s" σε <a href="%s">%s</a>
search.code_no_results=Δεν βρέθηκε πηγαίος κώδικας που να ταιριάζει με τον όρο αναζήτησης.
search.code_search_unavailable=Η αναζήτηση κώδικα δεν είναι διαθέσιμη αυτή τη στιγμή. Παρακαλώ επικοινωνήστε με το διαχειριστή.
settings=Ρυθμίσεις
settings.desc=Στις Ρυθμίσεις μπορείτε να διαχειριστείτε τις ρυθμίσεις για το αποθετήριο
settings.options=Αποθετήριο
@ -2057,6 +2032,7 @@ settings.pulls.default_allow_edits_from_maintainers=Να επιτρέποντα
settings.releases_desc=Ενεργοποίηση Κυκλοφοριών Αποθετηρίου
settings.packages_desc=Ενεργοποίηση Μητρώου Πακέτων Αποθετηρίου
settings.projects_desc=Ενεργοποίηση Έργων Αποθετηρίου
settings.projects_mode_all=Όλα τα έργα
settings.actions_desc=Ενεργοποίηση Δράσεων Αποθετηρίου
settings.admin_settings=Ρυθμίσεις Διαχειριστή
settings.admin_enable_health_check=Ενεργοποίηση Ελέγχων Υγείας του Αποθετηρίου (git fsck)
@ -2131,7 +2107,6 @@ settings.delete_collaborator=Αφαίρεση
settings.collaborator_deletion=Αφαίρεση Συνεργάτη
settings.collaborator_deletion_desc=Η κατάργηση ενός συνεργάτη θα ανακαλέσει την πρόσβασή τους σε αυτό το αποθετήριο. Συνέχεια;
settings.remove_collaborator_success=Ο συνεργάτης έχει αφαιρεθεί.
settings.search_user_placeholder=Αναζήτηση χρήστη…
settings.org_not_allowed_to_be_collaborator=Οι οργανισμοί δεν μπορούν να προστεθούν ως συνεργάτης.
settings.change_team_access_not_allowed=Η αλλαγή της πρόσβασης ομάδας για το αποθετήριο έχει περιοριστεί στον ιδιοκτήτη του οργανισμού
settings.team_not_in_organization=Η ομάδα δεν είναι στον ίδιο οργανισμό με το αποθετήριο
@ -2139,7 +2114,6 @@ settings.teams=Ομάδες
settings.add_team=Προσθήκη Ομάδας
settings.add_team_duplicate=Η ομάδα έχει ήδη το αποθετήριο
settings.add_team_success=Η ομάδα έχει πλέον πρόσβαση στο αποθετήριο.
settings.search_team=Αναζήτηση Ομάδας…
settings.change_team_permission_tip=Τα δικαιώματα της ομάδας έχουν οριστεί στη σελίδα ρυθμίσεων της ομάδας και δεν μπορούν να αλλάξουν ανά αποθετήριο
settings.delete_team_tip=Αυτή η ομάδα έχει πρόσβαση σε όλα τα αποθετήρια και δεν μπορεί να αφαιρεθεί
settings.remove_team_success=Έχει αφαιρεθεί η πρόσβαση της ομάδας στο αποθετήριο.
@ -2292,9 +2266,7 @@ settings.protect_whitelist_committers=Περιορισμός του Push στη
settings.protect_whitelist_committers_desc=Μόνο χρήστες ή ομάδες στη λίστα θα επιτρέπεται να κάνουν push σε αυτόν τον κλάδο (αλλά όχι να κάνουν force push).
settings.protect_whitelist_deploy_keys=Έγκριση κλειδιών διάθεσης με πρόσβαση εγγραφής για ώθηση.
settings.protect_whitelist_users=Λίστα χρηστών που επιτρέπεται να κάνουν push:
settings.protect_whitelist_search_users=Αναζήτηση χρηστών…
settings.protect_whitelist_teams=Λίστα ομάδων που επιτρέπεται να κάνουν push:
settings.protect_whitelist_search_teams=Αναζήτηση ομάδων…
settings.protect_merge_whitelist_committers=Ενεργοποίηση Λίστας Συγχώνευσης
settings.protect_merge_whitelist_committers_desc=Επιτρέψτε μόνο σε χρήστες ή ομάδες στη λίστα να συγχωνεύσουν pull requests σε αυτό το κλάδο.
settings.protect_merge_whitelist_users=Λίστα επιτρεπόμενων χρηστών για συγχώνευση:
@ -2536,7 +2508,6 @@ branch.default_deletion_failed=Ο κλάδος "%s" είναι ο προεπιλ
branch.restore=`Επαναφορά του Κλάδου "%s"`
branch.download=`Λήψη του Κλάδου "%s"`
branch.rename=`Μετονομασία Κλάδου "%s"`
branch.search=Αναζήτηση Κλάδου
branch.included_desc=Αυτός ο κλάδος είναι μέρος του προεπιλεγμένου κλάδου
branch.included=Περιλαμβάνεται
branch.create_new_branch=Δημιουργία κλάδου από κλάδο:
@ -2674,7 +2645,6 @@ teams.write_permission_desc=Αυτή η ομάδα χορηγεί πρόσβασ
teams.admin_permission_desc=Αυτή η ομάδα παρέχει πρόσβαση <strong>Διαχειριστή</strong>: τα μέλη μπορούν να διαβάσουν, να κάνουν push και να προσθέσουν συνεργάτες στα αποθετήρια της ομάδας.
teams.create_repo_permission_desc=Επιπλέον, αυτή η ομάδα χορηγεί άδεια <strong>Δημιουργία αποθετηρίου</strong>: τα μέλη μπορούν να δημιουργήσουν νέα αποθετήρια στον οργανισμό.
teams.repositories=Αποθετήρια Ομάδας
teams.search_repo_placeholder=Αναζήτηση αποθετηρίου…
teams.remove_all_repos_title=Αφαίρεση όλων των αποθετηρίων της ομάδας
teams.remove_all_repos_desc=Αυτό θα αφαιρέσει όλα τα αποθετήρια από την ομάδα.
teams.add_all_repos_title=Προσθήκη όλων των αποθετηρίων
@ -2706,6 +2676,8 @@ integrations=Ενσωματώσεις
authentication=Πηγές Ταυτοποίησης
emails=Email Χρήστη
config=Διαμόρφωση
config_summary=Περίληψη
config_settings=Ρυθμίσεις
notices=Ειδοποιήσεις Συστήματος
monitor=Παρακολούθηση
first_page=Πρώτο
@ -2880,9 +2852,6 @@ repos.unadopted.no_more=Δεν βρέθηκαν μη υιοθετημένα απ
repos.owner=Ιδιοκτήτης
repos.name=Όνομα
repos.private=Ιδιωτικό
repos.watches=Παρακολουθήσεις
repos.stars=Αστέρια
repos.forks=Forks
repos.issues=Ζητήματα
repos.size=Μέγεθος
repos.lfs_size=Μέγεθος LFS
@ -3007,7 +2976,6 @@ auths.tip.nextcloud=`Καταχωρήστε ένα νέο καταναλωτή O
auths.tip.dropbox=Δημιουργήστε μια νέα εφαρμογή στο https://www.dropbox.com/developers/apps
auths.tip.facebook=`Καταχωρήστε μια νέα εφαρμογή στο https://developers.facebook.com/apps και προσθέστε το προϊόν "Facebook Login"`
auths.tip.github=Καταχωρήστε μια νέα εφαρμογή OAuth στο https://github.com/settings/applications/new
auths.tip.gitlab=Καταχωρήστε μια νέα εφαρμογή στο https://gitlab.com/profile/applications
auths.tip.google_plus=Αποκτήστε τα διαπιστευτήρια πελάτη OAuth2 από την κονσόλα API της Google στο https://console.developers.google.com/
auths.tip.openid_connect=Χρησιμοποιήστε το OpenID Connect Discovery URL (<server>/.well known/openid-configuration) για να καθορίσετε τα τελικά σημεία
auths.tip.twitter=Πηγαίνετε στο https://dev.twitter.com/apps, δημιουργήστε μια εφαρμογή και βεβαιωθείτε ότι η επιλογή “Allow this application to be used to Sign in with Twitter” είναι ενεργοποιημένη

View File

@ -1392,7 +1392,6 @@ projects.type.basic_kanban = "Basic Kanban"
projects.type.bug_triage = "Bug Triage"
projects.template.desc = "Template"
projects.template.desc_helper = "Select a project template to get started"
projects.type.uncategorized = Uncategorized
projects.column.edit = "Edit Column"
projects.column.edit_title = "Name"
projects.column.new_title = "Name"
@ -1400,10 +1399,8 @@ projects.column.new_submit = "Create Column"
projects.column.new = "New Column"
projects.column.set_default = "Set Default"
projects.column.set_default_desc = "Set this column as default for uncategorized issues and pulls"
projects.column.unset_default = "Unset Default"
projects.column.unset_default_desc = "Unset this column as default"
projects.column.delete = "Delete Column"
projects.column.deletion_desc = "Deleting a project column moves all related issues to 'Uncategorized'. Continue?"
projects.column.deletion_desc = "Deleting a project column moves all related issues to the default column. Continue?"
projects.column.color = "Color"
projects.open = Open
projects.close = Close
@ -2778,6 +2775,7 @@ teams.invite.by = Invited by %s
teams.invite.description = Please click the button below to join the team.
[admin]
maintenance = Maintenance
dashboard = Dashboard
self_check = Self Check
identity_access = Identity & Access
@ -2801,7 +2799,7 @@ settings = Admin Settings
dashboard.new_version_hint = Gitea %s is now available, you are running %s. Check <a target="_blank" rel="noreferrer" href="https://blog.gitea.io">the blog</a> for more details.
dashboard.statistic = Summary
dashboard.operations = Maintenance Operations
dashboard.maintenance_operations = Maintenance Operations
dashboard.system_status = System Status
dashboard.operation_name = Operation Name
dashboard.operation_switch = Switch
@ -3308,6 +3306,7 @@ notices.op = Op.
notices.delete_success = The system notices have been deleted.
self_check.no_problem_found = No problem found yet.
self_check.startup_warnings = Startup warnings:
self_check.database_collation_mismatch = Expect database to use collation: %s
self_check.database_collation_case_insensitive = Database is using a collation %s, which is an insensitive collation. Although Gitea could work with it, there might be some rare cases which don't work as expected.
self_check.database_inconsistent_collation_columns = Database is using collation %s, but these columns are using mismatched collations. It might cause some unexpected problems.

View File

@ -139,6 +139,15 @@ confirm_delete_selected=¿Borrar todos los elementos seleccionados?
name=Nombre
value=Valor
filter=Filtro
filter.is_archived=Archivado
filter.is_template=Plantilla
filter.public=Público
filter.private=Privado
[search]
[aria]
navbar=Barra de navegación
footer=Pie
@ -312,7 +321,6 @@ collaborative_repos=Repositorios colaborativos
my_orgs=Mis organizaciones
my_mirrors=Mis réplicas
view_home=Ver %s
search_repos=Buscar un repositorio…
filter=Otros filtros
filter_by_team_repositories=Filtrar por repositorios de equipo
feed_of=`Suministro de noticias de "%s"`
@ -333,20 +341,8 @@ issues.in_your_repos=En tus repositorios
repos=Repositorios
users=Usuarios
organizations=Organizaciones
search=Buscar
go_to=Ir a
code=Código
search.type.tooltip=Tipo de búsqueda
search.fuzzy=Parcial
search.fuzzy.tooltip=Incluye los resultados que también coincidan con el término de búsqueda
search.match=Coincidir
search.match.tooltip=Incluye sólo los resultados que coincidan con el término de búsqueda exacto
code_search_unavailable=Actualmente la búsqueda de código no está disponible. Póngase en contacto con el administrador de su sitio.
repo_no_results=No se ha encontrado ningún repositorio coincidente.
user_no_results=No se ha encontrado ningún usuario coincidente.
org_no_results=No se ha encontrado ninguna organización coincidente.
code_no_results=No se ha encontrado código de fuente que coincida con su término de búsqueda.
code_search_results=Resultados de búsqueda para «%s»
code_last_indexed_at=Indexado por última vez %s
relevant_repositories_tooltip=Repositorios que son bifurcaciones o que no tienen ningún tema, ningún icono, y ninguna descripción están ocultos.
relevant_repositories=Solo se muestran repositorios relevantes, <a href="%s">mostrar resultados sin filtrar</a>.
@ -363,7 +359,6 @@ forgot_password_title=He olvidado mi contraseña
forgot_password=¿Has olvidado tu contraseña?
sign_up_now=¿Necesitas una cuenta? Regístrate ahora.
sign_up_successful=La cuenta se ha creado correctamente. ¡Bienvenido!
confirmation_mail_sent_prompt=Un nuevo correo de confirmación se ha enviado a <b>%s</b>. Comprueba tu bandeja de entrada en las siguientes %s para completar el registro.
must_change_password=Actualizar su contraseña
allow_password_change=Obligar al usuario a cambiar la contraseña (recomendado)
reset_password_mail_sent_prompt=Un correo de confirmación se ha enviado a <b>%s</b>. Compruebe su bandeja de entrada en las siguientes %s para completar el proceso de recuperación de la cuenta.
@ -611,6 +606,7 @@ form.name_reserved=El nombre de usuario "%s" está reservado.
form.name_pattern_not_allowed=El patrón "%s" no está permitido en un nombre de usuario.
form.name_chars_not_allowed=El nombre de usuario "%s" contiene caracteres no válidos.
[settings]
profile=Perfil
account=Cuenta
@ -755,7 +751,6 @@ gpg_invalid_token_signature=La clave GPG proporcionada, la firma y el token no c
gpg_token_required=Debe proporcionar una firma para el token de abajo
gpg_token=Token
gpg_token_help=Puede generar una firma de la siguiente manera:
gpg_token_code=echo "%s" | gpg -a --default-key %s --detach-sig
gpg_token_signature=Firma GPG armadura
key_signature_gpg_placeholder=Comienza con '-----BEGIN PGP SIGNATURE-----'
verify_gpg_key_success=La clave GPG "%s" ha sido verificada.
@ -945,7 +940,6 @@ fork_branch=Rama a clonar en la bifurcación
all_branches=Todas las ramas
fork_no_valid_owners=Este repositorio no puede ser bifurcado porque no hay propietarios válidos.
use_template=Utilizar esta plantilla
clone_in_vsc=Clonar en VS Code
download_zip=Descargar ZIP
download_tar=Descargar TAR.GZ
download_bundle=Descargar BUNDLE
@ -1264,9 +1258,7 @@ commits.desc=Ver el historial de cambios de código fuente.
commits.commits=Commits
commits.no_commits=No hay commits en común. "%s" y "%s" tienen historias totalmente diferentes.
commits.nothing_to_compare=Estas ramas son iguales.
commits.search=Buscar commits…
commits.search.tooltip=Puede prefijar palabras clave con "author:", "committer:", "after:", o "before:", p. ej., "revertir author:Alice before:2019-01-13".
commits.find=Buscar
commits.search_all=Todas las Ramas
commits.author=Autor
commits.message=Mensaje
@ -1317,7 +1309,6 @@ projects.type.basic_kanban=Kanban básico
projects.type.bug_triage=Prueba de error
projects.template.desc=Plantilla del proyecto
projects.template.desc_helper=Seleccione una plantilla de proyecto para empezar
projects.type.uncategorized=Sin categorizar
projects.column.edit=Editar columna
projects.column.edit_title=Nombre
projects.column.new_title=Nombre
@ -1325,10 +1316,7 @@ projects.column.new_submit=Crear columna
projects.column.new=Nueva columna
projects.column.set_default=Establecer como predeterminado
projects.column.set_default_desc=Establecer esta columna como predeterminada para incidencias no categorizadas y pulls
projects.column.unset_default=Anular valor predeterminado
projects.column.unset_default_desc=Anular esta columna como la predeterminada
projects.column.delete=Borrar columna
projects.column.deletion_desc=Eliminar una columna del proyecto mueve todos los problemas relacionados a 'Sin categorizar'. ¿Continuar?
projects.column.color=Color
projects.open=Abrir
projects.close=Cerrar
@ -1440,7 +1428,6 @@ issues.filter_sort.moststars=Mas estrellas
issues.filter_sort.feweststars=Menor número de estrellas
issues.filter_sort.mostforks=La mayoría de forks
issues.filter_sort.fewestforks=Menor número de forks
issues.keyword_search_unavailable=La búsqueda por palabra clave no está disponible actualmente. Por favor, contacte con el administrador de su sitio.
issues.action_open=Abrir
issues.action_close=Cerrar
issues.action_label=Etiqueta
@ -1692,7 +1679,6 @@ pulls.compare_compare=recuperar de
pulls.switch_comparison_type=Cambiar tipo de comparación
pulls.switch_head_and_base=Intercambiar cabeza y base
pulls.filter_branch=Filtrar rama
pulls.no_results=Sin resultados.
pulls.show_all_commits=Mostrar todos los commits
pulls.show_changes_since_your_last_review=Mostrar cambios desde tu última revisión
pulls.showing_only_single_commit=Mostrando solo los cambios del commit %[1]s
@ -1955,17 +1941,6 @@ activity.git_stats_deletion_n=%d eliminaciones
contributors.contribution_type.commits=Commits
search=Buscar
search.search_repo=Buscar repositorio
search.type.tooltip=Tipo de búsqueda
search.fuzzy=Parcial
search.fuzzy.tooltip=Incluye los resultados que también coinciden aproximadamente con el término de búsqueda
search.match=Coincidir
search.match.tooltip=Incluye sólo los resultados que coincidan con el término de búsqueda exacto
search.results=Resultados de la búsqueda para "%s" en <a href="%s">%s</a>
search.code_no_results=No se ha encontrado código de fuente que coincida con su término de búsqueda.
search.code_search_unavailable=Actualmente la búsqueda de código no está disponible. Póngase en contacto con el administrador de su sitio.
settings=Configuración
settings.desc=La configuración es donde puede administrar la configuración del repositorio
settings.options=Repositorio
@ -2043,6 +2018,7 @@ settings.pulls.default_allow_edits_from_maintainers=Permitir ediciones de manten
settings.releases_desc=Activar lanzamientos del repositorio
settings.packages_desc=Habilitar registro de paquetes de repositorio
settings.projects_desc=Activar Proyectos de Repositorio
settings.projects_mode_all=Todos los proyectos
settings.actions_desc=Activar Acciones del repositorio
settings.admin_settings=Ajustes de administrador
settings.admin_enable_health_check=Activar cheques de estado de salud del repositorio (git fsck)
@ -2117,7 +2093,6 @@ settings.delete_collaborator=Eliminar
settings.collaborator_deletion=Eliminar colaborador
settings.collaborator_deletion_desc=Eliminar un colaborador revocará su acceso a este repositorio. ¿Continuar?
settings.remove_collaborator_success=El colaborador ha sido eliminado.
settings.search_user_placeholder=Buscar usuario…
settings.org_not_allowed_to_be_collaborator=Las organizaciones no pueden ser añadidas como colaboradoras.
settings.change_team_access_not_allowed=Cambiar el acceso del equipo al repositorio se ha restringido al propietario de la organización
settings.team_not_in_organization=El equipo no pertenece a la misma organización que el repositorio
@ -2125,7 +2100,6 @@ settings.teams=Equipos
settings.add_team=Añadir equipo
settings.add_team_duplicate=El equipo ya tiene acceso al repositorio
settings.add_team_success=Ahora el equipo ya tiene acceso al repositorio.
settings.search_team=Buscar equipos…
settings.change_team_permission_tip=El permiso del equipo está establecido en la página de configuración del equipo y no puede ser cambiado por repositorio
settings.delete_team_tip=Este equipo tiene acceso a todos los repositorios y no puede ser eliminado
settings.remove_team_success=Se ha eliminado el acceso del equipo al repositorio.
@ -2278,9 +2252,7 @@ settings.protect_whitelist_committers=Hacer push restringido a la lista blanca
settings.protect_whitelist_committers_desc=Sólo se permitirá a los usuarios o equipos de la lista blanca hacer push a esta rama (pero no forzar push).
settings.protect_whitelist_deploy_keys=Lista blanca de claves de despliegue con acceso de escritura a push.
settings.protect_whitelist_users=Usuarios en la lista blanca para hacer push:
settings.protect_whitelist_search_users=Buscar usuarios…
settings.protect_whitelist_teams=Equipos en la lista blanca para hacer push:
settings.protect_whitelist_search_teams=Buscar equipos…
settings.protect_merge_whitelist_committers=Activar lista blanca para fusionar
settings.protect_merge_whitelist_committers_desc=Permitir a los usuarios o equipos de la lista a fusionar peticiones pull dentro de esta rama.
settings.protect_merge_whitelist_users=Usuarios en la lista blanca para fusionar:
@ -2521,7 +2493,6 @@ branch.default_deletion_failed=La rama "%s" es la rama por defecto. No se puede
branch.restore=`Restaurar rama "%s"`
branch.download=`Descargar rama "%s"`
branch.rename=`Renombrar rama "%s"`
branch.search=Buscar rama
branch.included_desc=Esta rama forma parte de la predeterminada
branch.included=Incluida
branch.create_new_branch=Crear rama desde la rama:
@ -2659,7 +2630,6 @@ teams.write_permission_desc=Este equipo tiene permisos de <strong>Escritura</str
teams.admin_permission_desc=Este equipo tiene permisos de <strong>Administración</strong>: los miembros pueden ver, hacer push y añadir colaboradores a los repositorios del equipo.
teams.create_repo_permission_desc=Adicionalmente, este equipo concede permiso <strong>Crear repositorio</strong>: los miembros pueden crear nuevos repositorios en la organización.
teams.repositories=Repositorios del equipo
teams.search_repo_placeholder=Buscar repositorio…
teams.remove_all_repos_title=Eliminar todos los repositorios del equipo
teams.remove_all_repos_desc=Esto eliminará todos los repositorios del equipo.
teams.add_all_repos_title=Añadir todos los repositorios
@ -2691,6 +2661,8 @@ integrations=Integraciones
authentication=Orígenes de autenticación
emails=Correos de usuario
config=Configuración
config_summary=Resumen
config_settings=Configuración
notices=Notificaciones del sistema
monitor=Monitorización
first_page=Primera
@ -2864,9 +2836,6 @@ repos.unadopted.no_more=No se encontraron más repositorios no adoptados
repos.owner=Propietario
repos.name=Nombre
repos.private=Privado
repos.watches=Vigilantes
repos.stars=Estrellas
repos.forks=Forks
repos.issues=Incidencias
repos.size=Tamaño
repos.lfs_size=Tamaño LFS
@ -2990,7 +2959,6 @@ auths.tip.nextcloud=`Registre un nuevo consumidor OAuth en su instancia usando e
auths.tip.dropbox=Crear nueva aplicación en https://www.dropbox.com/developers/apps
auths.tip.facebook=`Registre una nueva aplicación en https://developers.facebook.com/apps y agregue el producto "Facebook Login"`
auths.tip.github=Registre una nueva aplicación OAuth en https://github.com/settings/applications/new
auths.tip.gitlab=Registrar nueva solicitud en https://gitlab.com/profile/applications
auths.tip.google_plus=Obtener credenciales de cliente OAuth2 desde la consola API de Google en https://console.developers.google.com/
auths.tip.openid_connect=Use el OpenID Connect Discovery URL (<server>/.well-known/openid-configuration) para especificar los puntos finales
auths.tip.twitter=Ir a https://dev.twitter.com/apps, crear una aplicación y asegurarse de que la opción "Permitir que esta aplicación sea usada para iniciar sesión con Twitter" está activada

View File

@ -100,6 +100,15 @@ concept_user_organization=سازمان
name=نام
filter=فیلتر
filter.is_archived=بایگانی شده
filter.is_template=قالب
filter.public=عمومی
filter.private=خصوصی
[search]
[aria]
[heatmap]
@ -233,7 +242,6 @@ collaborative_repos=مخازن همکاری
my_orgs=سازمان های من
my_mirrors=قرینه‌های من
view_home=نمایش %s
search_repos=یافتن مخزن…
filter=فیلترهای دیگر
filter_by_team_repositories=فیلتر کردن با مخازن تیم‌ها
feed_of=`خوراک از "%s"`
@ -254,14 +262,7 @@ issues.in_your_repos=در مخازن شما
repos=مخازن
users=کاربران
organizations=سازمان ها
search=جستجو
code=کد
search.fuzzy=نادقیق
search.match=تطابق
repo_no_results=مخزنی مطابق با این مورد یافت نشد.
user_no_results=کاربری مطابق با این مورد یافت نشد.
org_no_results=سازمانی مطابق با این مورد یافت نشد.
code_no_results=کد منبعی مطابق با جستجوی شما یافت نشد.
code_last_indexed_at=آخرین به روزرسانی در %s
[auth]
@ -274,7 +275,6 @@ remember_me=این دستگاه را بخاطر بسپار
forgot_password_title=گذرواژه خود را فراموش کرده ام
forgot_password=گذرواژه خود را فراموش کرده‌اید؟
sign_up_now=نیاز به یک حساب دارید؟ هم‌اکنون ثبت نام کنید.
confirmation_mail_sent_prompt=ایمیل تاییدیه جدیدی به <b>%s</b> ارسال شد. لطفا صندوق ورودی خود را در %d ساعت آینده برای تکمیل فرایند ثبت نام بررسی کنید.
must_change_password=گذرواژه خود را به روز کنید
allow_password_change=نیاز به کاربر برای تغییرگذرواژه (توصیه می شود)
reset_password_mail_sent_prompt=ایمیل تاییدیه جدیدی به <b>%s</b> ارسال شد. لطفا صندوق ورودی خود را در %s آینده برای فرآیند بازیابی حساب کاربری خود بررسی کنید.
@ -480,6 +480,7 @@ user_bio=زندگی‌نامه
disabled_public_activity=این کاربر نمایش عمومی فعالیت های خود را غیرفعال کرده است.
[settings]
profile=نمایه
account=حساب کاربری
@ -591,7 +592,6 @@ gpg_invalid_token_signature=کلید GPG ارائه شده، امضا و ژتو
gpg_token_required=باید یک امضا برای ژتون زیر ارائه کنید
gpg_token=توکن
gpg_token_help=با این میتوانید یک امضاء بسازید:
gpg_token_code=echo "%s" | gpg -a --default-key %s --detach-sig
gpg_token_signature=امضای GPG زره‌پوش
key_signature_gpg_placeholder=با '-----BEGIN PGP SIGNATURE-----' شروع می‌شود
ssh_key_verified=کلید تأیید شده
@ -730,7 +730,6 @@ fork_repo=انشعاب از مخزن
fork_from=انشعاب از
fork_visibility_helper=نمایان بودن مخزن منشعب شده غیر قابل تغییر است.
use_template=استفاده از این الگو
clone_in_vsc=کلون کردن در VS Code
download_zip=دانلود ZIP
download_tar=دانلود TAR.GZ
download_bundle=بارگیری باندل
@ -972,8 +971,6 @@ editor.require_signed_commit=شاخه یک کامیت امضا شده لازم
commits.desc=تاریخچه تغییرات کد منبع را مرور کنید.
commits.commits=کامیت‌ها
commits.nothing_to_compare=این شاخه ها برابرند.
commits.search=جست‌وجو کامیت‌ها…
commits.find=جستجو
commits.search_all=همه شاخه ها
commits.author=مولف
commits.message=پیام
@ -1010,7 +1007,6 @@ projects.type.basic_kanban=پایه بر اساس سیستم کانبان (یک
projects.type.bug_triage=اشکال Triage
projects.template.desc=قالب پروژه
projects.template.desc_helper=برای شروع یک قالب پروژه را انتخاب کنید
projects.type.uncategorized=دسته‌بندی نشده
projects.column.edit_title=نام
projects.column.new_title=نام
projects.column.color=رنگ
@ -1301,7 +1297,6 @@ pulls.compare_compare=واکشی از
pulls.switch_comparison_type=سوئیچ نوع مقایسه
pulls.switch_head_and_base=سر و پایه سوئیچ
pulls.filter_branch=صافی شاخه
pulls.no_results=هیچ نتیجه‌ای یافت نشد.
pulls.nothing_to_compare=این شاخه‎ها یکی هستند. نیازی به تقاضای واکشی نیست.
pulls.nothing_to_compare_and_allow_empty_pr=این شاخه ها برابر هستند. این PR خالی خواهد بود.
pulls.has_pull_request=`A درخواست pull بین این شاخه ها از قبل وجود دارد: <a href="%[1]s">%[2]s#%[3]d</a>`
@ -1501,13 +1496,6 @@ activity.git_stats_deletion_n=%d مذحوف
contributors.contribution_type.commits=کامیت‌ها
search=جستجو
search.search_repo=جستجوی مخزن
search.fuzzy=درهم
search.match=مطابق
search.results=نتیجه جستجو برای "%s" در <a href="%s">%s</a>
search.code_no_results=کد منبعی مطابق با جستجوی شما یافت نشد.
settings=تنظيمات
settings.desc=تنظیمات جایی است که شما می‌توانید تنظیمات مخزن خود را مدیریت کنید
settings.options=مخزن
@ -1623,7 +1611,6 @@ settings.delete_collaborator=حذف
settings.collaborator_deletion=حذف‌کردن همکار
settings.collaborator_deletion_desc=حذف یک همکار از مخزن دسترسی‌های آنها را را مجدد لغو می‌کند. آیا ادامه می‌دهید؟
settings.remove_collaborator_success=همكار حذف شد.
settings.search_user_placeholder=جستجوی کاربر…
settings.org_not_allowed_to_be_collaborator=سازمان ها را نمیتوان به عنوان همکار افزود.
settings.change_team_access_not_allowed=تغییر دسترسی های تیم برای این مخزن توسط مالک ارگان محدود شده است
settings.team_not_in_organization=تیم همانند ارگان برای این مخزن نیست
@ -1631,7 +1618,6 @@ settings.teams=تیم ها
settings.add_team=افزودن تیم
settings.add_team_duplicate=تیم پیش از این مخزن داشته
settings.add_team_success=تیم هم‌اکنون به مخزن دسترسی دارد.
settings.search_team=جستجوی تیم…
settings.change_team_permission_tip=دسترسی تیم در صفحه تنظیمات تیم انجام شده و برای هر مخزن نمی تواند تغییر یابد
settings.delete_team_tip=این تیم به تمامی مخازن دسترسی دارد و نمی تواند حذف شود
settings.remove_team_success=دسترسی تیم به مخزن حذف شد.
@ -1748,9 +1734,7 @@ settings.protect_whitelist_committers=لیست سفید برای درج محدو
settings.protect_whitelist_committers_desc=فقط به کاربران یا تیم‌های موجود لیست سفید برای درج در این شاخه اجازه خواهند داشت (اما نه درج اجباری).
settings.protect_whitelist_deploy_keys=فهرست سفید کلیدهای استقرار با دسترسی نوشتن برای push کردن.
settings.protect_whitelist_users=کاربران لیست سفید برای درج در مخزن:
settings.protect_whitelist_search_users=جستجوی کاربر…
settings.protect_whitelist_teams=تیم‌های لیست سفید برای درج در مخزن:
settings.protect_whitelist_search_teams=جستجوی تیم ها…
settings.protect_merge_whitelist_committers=فعال کردن لیست سفید ادغام
settings.protect_merge_whitelist_committers_desc=اجازه به کاربران یا تیم‌های موجود لیست سفید برای تقاضا ادغام واکشی در این شاخه.
settings.protect_merge_whitelist_users=کاربران لیست سفید برای ادغام:
@ -2047,7 +2031,6 @@ teams.write_permission_desc=این تیم دسترسی <strong>نوشتن</stron
teams.admin_permission_desc=این تیم دسترسی <strong>نوشتن</strong> خواهد داشت: اعضا خواهند توانست مخازن تیم را خوانده ، تغییراتی در آنها اعمال کرده و یا همکارانشان را به مخازن اضافه نمایند.
teams.create_repo_permission_desc=علاوه بر این ، این تیم اجازه <strong> ساخت مخزن </strong> دسترسی : اعضا می توانند مخازن جدیدی را در سازمان ایجاد کنند.
teams.repositories=مخازن تیم
teams.search_repo_placeholder=جستجوی مخزن...
teams.remove_all_repos_title=حذف تمام مخازن تیم
teams.remove_all_repos_desc=با این کار همه مخازن از تیم حذف می شوند.
teams.add_all_repos_title=افزودن همه مخازن
@ -2072,6 +2055,8 @@ hooks=وب هوک ها
authentication=منابع احراز هویت
emails=ایمیل های کاربر
config=پیکربندی
config_summary=چکیده
config_settings=تنظيمات
notices=هشدارهای سامانه
monitor=نظارت
first_page=نخستین
@ -2220,9 +2205,6 @@ repos.unadopted.no_more=هیچ مخزن تایید نشده دیگری یافت
repos.owner=مالک
repos.name=نام
repos.private=خصوصی
repos.watches=تماشا شده
repos.stars=ستاره ها
repos.forks=انشعاب‌ها
repos.issues=مسائل
repos.size=اندازه
@ -2321,7 +2303,6 @@ auths.tip.nextcloud=با استفاده از منوی زیر "تنظیمات ->
auths.tip.dropbox=یک برنامه جدید در https://www.dropbox.com/developers/apps بسازید
auths.tip.facebook=`یک برنامه جدید در https://developers.facebook.com/apps بسازید برای ورود از طریق فیس بوک قسمت محصولات "Facebook Login"`
auths.tip.github=یک برنامه OAuth جدید در https://github.com/settings/applications/new ثبت کنید
auths.tip.gitlab=ثبت یک برنامه جدید در https://gitlab.com/profile/applications
auths.tip.google_plus=اطلاعات مربوط به مشتری OAuth2 را از کلاینت API Google در https://console.developers.google.com/
auths.tip.openid_connect=برای مشخص کردن نقاط پایانی از آدرس OpenID Connect Discovery URL (<server> /.well-known/openid-configuration) استفاده کنید.
auths.tip.twitter=به https://dev.twitter.com/apps بروید ، برنامه ای ایجاد کنید و اطمینان حاصل کنید که گزینه "اجازه استفاده از این برنامه برای ورود به سیستم با Twitter" را فعال کنید

View File

@ -114,6 +114,15 @@ concept_user_organization=Organisaatio
name=Nimi
filter=Suodata
filter.is_archived=Arkistoidut
filter.is_template=Malli
filter.public=Julkinen
filter.private=Yksityinen
[search]
[aria]
[heatmap]
@ -243,7 +252,6 @@ collaborative_repos=Yhteistyö repot
my_orgs=Organisaationi
my_mirrors=Peilini
view_home=Näytä %s
search_repos=Etsi repo…
filter=Muut suodattimet
filter_by_team_repositories=Suodata tiimin repojen mukaan
feed_of=`Syöte "%s"`
@ -264,13 +272,7 @@ issues.in_your_repos=Repoissasi
repos=Repot
users=Käyttäjät
organizations=Organisaatiot
search=Hae
code=Koodi
search.match=Osuma
repo_no_results=Vastaavia repoja ei löydy.
user_no_results=Vastaavia käyttäjiä ei löytynyt.
org_no_results=Ei löytynyt vastaavia organisaatioita.
code_no_results=Hakuehtoasi vastaavaa lähdekoodia ei löytynyt.
code_last_indexed_at=Viimeksi indeksoitu %s
[auth]
@ -283,7 +285,6 @@ remember_me=Muista tämä laite
forgot_password_title=Unohtuiko salasana
forgot_password=Unohtuiko salasana?
sign_up_now=Tarvitsetko tilin? Rekisteröidy nyt.
confirmation_mail_sent_prompt=Uusi varmistussähköposti on lähetetty osoitteeseen <b>%s</b>, ole hyvä ja tarkista saapuneet seuraavan %s tunnin sisällä saadaksesi rekisteröintiprosessin valmiiksi.
must_change_password=Vaihda salasanasi
allow_password_change=Vaadi käyttäjää vaihtamaan salasanansa (suositeltava)
reset_password_mail_sent_prompt=Varmistussähköposti on lähetetty osoitteeseen <b>%s</b>. Tarkista saapuneet seuraavan %s tunnin sisällä saadaksesi tilin palauttamisen valmiiksi.
@ -440,6 +441,7 @@ unfollow=Lopeta seuraaminen
user_bio=Elämäkerta
[settings]
profile=Profiili
account=Tili
@ -555,7 +557,6 @@ gpg_key_verify=Vahvista
gpg_token_required=Sinun täytyy antaa allekirjoitus alla olevalle pääsymerkille
gpg_token=Pääsymerkki
gpg_token_help=Voit luoda allekirjoituksen käyttäen:
gpg_token_code=echo "%s" | gpg -a --default-key %s --detach-sig
gpg_token_signature=Panssaroitu GPG-allekirjoitus
key_signature_gpg_placeholder=Alkaa sanoilla '-----BEGIN PGP SIGNATURE-----'
ssh_key_verified=Vahvistettu avain
@ -657,7 +658,6 @@ visibility_helper_forced=Sivuston ylläpitäjä pakottaa uudet repot olemaan yks
fork_repo=Forkkaa repo
fork_from=Forkkaa lähteestä
fork_visibility_helper=Forkatun repon näkyvyyttä ei voi muuttaa.
clone_in_vsc=Kloonaa VS Codessa
download_zip=Lataa ZIP
download_tar=Lataa TAR.GZ
repo_desc=Kuvaus
@ -779,7 +779,6 @@ editor.require_signed_commit=Haara vaatii vahvistetun commitin
commits.commits=Commitit
commits.nothing_to_compare=Nämä haarat vastaavat toisiaan.
commits.find=Haku
commits.search_all=Kaikki haarat
commits.author=Tekijä
commits.message=Viesti
@ -806,7 +805,6 @@ projects.edit=Muokkaa projektia
projects.modify=Päivitä projekti
projects.type.basic_kanban=Yksinkertainen Kanban
projects.template.desc=Malli
projects.type.uncategorized=Luokittelematon
projects.column.edit_title=Nimi
projects.column.new_title=Nimi
projects.open=Avaa
@ -983,7 +981,6 @@ pulls.has_viewed_file=Katsottu
pulls.viewed_files_label=%[1]d / %[2]d tiedostoa katsottu
pulls.compare_compare=vedä kohteesta
pulls.filter_branch=Suodata branch
pulls.no_results=Tuloksia ei löytynyt.
pulls.nothing_to_compare=Nämä haarat vastaavat toisiaan. Ei ole tarvetta luoda vetopyyntöä.
pulls.nothing_to_compare_and_allow_empty_pr=Nämä haarat vastaavat toisiaan. Vetopyyntö tulee olemaan tyhjä.
pulls.has_pull_request=`Vetopyyntö haarojen välillä on jo olemassa: <a href="%[1]s">%[2]s#%[3]d</a>`
@ -1077,10 +1074,6 @@ activity.git_stats_deletion_n=%d poistoa
contributors.contribution_type.commits=Commitit
search=Haku
search.match=Osuma
search.code_no_results=Hakuehtoasi vastaavaa lähdekoodia ei löytynyt.
settings=Asetukset
settings.options=Repo
settings.collaboration.admin=Ylläpitäjä
@ -1119,7 +1112,6 @@ settings.delete_desc=Repon poistaminen on pysyvä eikä voi peruuttaa.
settings.delete_notices_1=- Tätä toimintoa <strong>EI VOI</strong> peruuttaa myöhemmin.
settings.update_settings_success=Repon asetukset on päivitetty.
settings.delete_collaborator=Poista
settings.search_user_placeholder=Etsi käyttäjä…
settings.teams=Tiimit
settings.add_team=Lisää tiimi
settings.add_webhook=Lisää webkoukku
@ -1203,7 +1195,6 @@ settings.branch_protection=Haaran '<b>%s</b>' suojaus
settings.protect_this_branch=Ota haaran suojaus käyttöön
settings.protect_whitelist_deploy_keys=Lisää julkaisuavaimet sallittujen listalle mahdollistaaksesi repohin kirjoituksen.
settings.protect_whitelist_users=Lista käyttäjistä joilla työntö oikeus:
settings.protect_whitelist_search_users=Etsi käyttäjiä…
settings.protect_merge_whitelist_committers_desc=Salli vain listaan merkittyjen käyttäjien ja tiimien yhdistää vetopyynnöt tähän haaraan.
settings.protect_merge_whitelist_users=Lista käyttäjistä joilla yhdistämis-oikeus:
settings.protect_required_approvals=Vaadittavat hyväksynnät:
@ -1407,6 +1398,8 @@ repositories=Repot
authentication=Todennuslähteet
emails=Käyttäjien sähköpostit
config=Asetukset
config_summary=Yhteenveto
config_settings=Asetukset
notices=Järjestelmän ilmoitukset
monitor=Valvonta
first_page=Ensimmäinen
@ -1508,9 +1501,6 @@ repos.repo_manage_panel=Repojen hallinta
repos.owner=Omistaja
repos.name=Nimi
repos.private=Yksityinen
repos.watches=Tarkkailijat
repos.stars=Tähdet
repos.forks=Haarat
repos.issues=Ongelmat
repos.size=Koko

View File

@ -142,6 +142,15 @@ confirm_delete_selected=Êtes-vous sûr de vouloir supprimer tous les éléments
name=Nom
value=Valeur
filter=Filtrer
filter.is_archived=Archivé
filter.is_template=Modèle
filter.public=Public
filter.private=Privé
[search]
[aria]
navbar=Barre de navigation
footer=Pied de page
@ -315,7 +324,6 @@ collaborative_repos=Dépôts collaboratifs
my_orgs=Mes organisations
my_mirrors=Mes miroirs
view_home=Voir %s
search_repos=Trouver un dépôt …
filter=Autres filtres
filter_by_team_repositories=Dépôts filtrés par équipe
feed_of=Flux de « %s »
@ -336,20 +344,8 @@ issues.in_your_repos=Dans vos dépôts
repos=Dépôts
users=Utilisateurs
organizations=Organisations
search=Rechercher
go_to=Atteindre
code=Code
search.type.tooltip=Type de recherche
search.fuzzy=Approximative
search.fuzzy.tooltip=Inclure également les résultats proches de la recherche
search.match=Exacte
search.match.tooltip=Inclure uniquement les résultats exacts
code_search_unavailable=Actuellement, la recherche de code n'est pas disponible. Veuillez contacter l'administrateur de votre site.
repo_no_results=Aucun dépôt correspondant n'a été trouvé.
user_no_results=Aucun utilisateur correspondant n'a été trouvé.
org_no_results=Aucune organisation correspondante n'a été trouvée.
code_no_results=Aucun code source correspondant à votre terme de recherche n'a été trouvé.
code_search_results=Résultats de la recherche pour « %s »
code_last_indexed_at=Dernière indexation %s
relevant_repositories_tooltip=Les dépôts qui sont des forks ou qui n'ont aucun sujet, aucune icône et aucune description sont cachés.
relevant_repositories=Seuls les dépôts pertinents sont affichés, <a href="%s">afficher les résultats non filtrés</a>.
@ -367,7 +363,6 @@ forgot_password_title=Mot de passe oublié
forgot_password=Mot de passe oublié ?
sign_up_now=Pas de compte ? Inscrivez-vous maintenant.
sign_up_successful=Le compte a été créé avec succès. Bienvenue !
confirmation_mail_sent_prompt=Un nouveau mail de confirmation a été envoyé à <b>%s</b>. Veuillez vérifier votre boîte de réception dans les prochaines %s pour valider votre enregistrement.
must_change_password=Réinitialisez votre mot de passe
allow_password_change=Demande à l'utilisateur de changer son mot de passe (recommandé)
reset_password_mail_sent_prompt=Un mail de confirmation a été envoyé à <b>%s</b>. Veuillez vérifier votre boîte de réception dans les prochaines %s pour terminer la procédure de récupération du compte.
@ -617,6 +612,7 @@ form.name_reserved=Le nom dutilisateur "%s" est réservé.
form.name_pattern_not_allowed=Le motif « %s » nest pas autorisé dans un nom de d'utilisateur.
form.name_chars_not_allowed=Le nom d'utilisateur "%s" contient des caractères non valides.
[settings]
profile=Profil
account=Compte
@ -761,7 +757,6 @@ gpg_invalid_token_signature=La clé GPG, la signature et le jeton fournis ne cor
gpg_token_required=Vous devez fournir une signature pour le jeton ci-dessous
gpg_token=Jeton
gpg_token_help=Vous pouvez générer une signature en utilisant :
gpg_token_code=echo "%s" | gpg -a --default-key %s --detach-sig
gpg_token_signature=Signature GPG renforcée
key_signature_gpg_placeholder=Commence par '-----BEGIN PGP SIGNATURE-----'
verify_gpg_key_success=La clé GPG "%s" a été vérifiée.
@ -955,7 +950,6 @@ fork_branch=Branche à cloner sur la bifurcation
all_branches=Toutes les branches
fork_no_valid_owners=Ce dépôt ne peut pas être bifurqué car il na pas de propriétaire valide.
use_template=Utiliser ce modèle
clone_in_vsc=Cloner dans VS Code
download_zip=Télécharger le ZIP
download_tar=Télécharger le TAR.GZ
download_bundle=Télécharger le BUNDLE
@ -971,6 +965,8 @@ issue_labels_helper=Sélectionner un jeu de label.
license=Licence
license_helper=Sélectionner une licence
license_helper_desc=Une licence réglemente ce que les autres peuvent ou ne peuvent pas faire avec votre code. Vous ne savez pas laquelle est la bonne pour votre projet ? Comment <a target="_blank" rel="noopener noreferrer" href="%s">choisir une licence</a>.
object_format=Format d'objet
object_format_helper=Format dobjet pour ce dépôt. Ne peut être modifié plus tard. SHA1 est le plus compatible.
readme=LISEZMOI
readme_helper=Choisissez un modèle de fichier LISEZMOI.
readme_helper_desc=Le README est l'endroit idéal pour décrire votre projet et accueillir des contributeurs.
@ -1278,9 +1274,7 @@ commits.desc=Naviguer dans l'historique des modifications.
commits.commits=Révisions
commits.no_commits=Pas de révisions en commun. "%s" et "%s" ont des historiques entièrement différents.
commits.nothing_to_compare=Ces branches sont égales.
commits.search=Rechercher des révisions…
commits.search.tooltip=Vous pouvez utiliser les mots-clés "author:", "committer:", "after:", ou "before:" pour filtrer votre recherche, ex.: "revert author:Alice before:2019-01-13".
commits.find=Chercher
commits.search_all=Toutes les branches
commits.author=Auteur
commits.message=Message
@ -1331,7 +1325,6 @@ projects.type.basic_kanban=Kanban basique
projects.type.bug_triage=Bug à trier
projects.template.desc=Modèle de projet
projects.template.desc_helper=Sélectionnez un modèle de projet pour débuter
projects.type.uncategorized=Non catégorisé
projects.column.edit=Modifier la colonne
projects.column.edit_title=Nom
projects.column.new_title=Nom
@ -1339,10 +1332,7 @@ projects.column.new_submit=Créer une colonne
projects.column.new=Nouvelle colonne
projects.column.set_default=Définir par défaut
projects.column.set_default_desc=Les tickets et demandes dajout non-catégorisés seront placés dans cette colonne.
projects.column.unset_default=Défaire par défaut
projects.column.unset_default_desc=Les tickets et demandes d'ajouts non-catégorisés seront placés dans une colonne idoine.
projects.column.delete=Supprimer la colonne
projects.column.deletion_desc=La suppression d'une colonne de projet déplace tous les tickets liés à 'Non catégorisé'. Continuer ?
projects.column.color=Couleur
projects.open=Ouvrir
projects.close=Fermer
@ -1454,7 +1444,6 @@ issues.filter_sort.moststars=Favoris (décroissant)
issues.filter_sort.feweststars=Favoris (croissant)
issues.filter_sort.mostforks=Bifurcations (décroissant)
issues.filter_sort.fewestforks=Bifurcations (croissant)
issues.keyword_search_unavailable=La recherche par mot clé n'est pas disponible. Veuillez contacter l'administrateur de votre instance Gitea.
issues.action_open=Ouvrir
issues.action_close=Fermer
issues.action_label=Label
@ -1706,7 +1695,6 @@ pulls.compare_compare=tirer les modifications depuis
pulls.switch_comparison_type=Changer le type de comparaison
pulls.switch_head_and_base=Passez de head à base
pulls.filter_branch=Filtre de branche
pulls.no_results=Aucun résultat trouvé.
pulls.show_all_commits=Afficher toutes les révisions
pulls.show_changes_since_your_last_review=Affiche les modifications depuis votre dernière évaluation.
pulls.showing_only_single_commit=Affiche uniquement les changements de la révision %[1]s
@ -1982,17 +1970,6 @@ contributors.contribution_type.commits=Révisions
contributors.contribution_type.additions=Ajouts
contributors.contribution_type.deletions=Suppressions
search=Chercher
search.search_repo=Rechercher dans le dépôt
search.type.tooltip=Type de recherche
search.fuzzy=Approximative
search.fuzzy.tooltip=Inclure également les résultats proches de la recherche
search.match=Exacte
search.match.tooltip=Inclure uniquement les résultats exacts
search.results=Résultats de la recherche « %s » dans <a href="%s"> %s</a>
search.code_no_results=Aucun code source correspondant à votre terme de recherche n'a été trouvé.
search.code_search_unavailable=Actuellement, la recherche de code n'est pas disponible. Veuillez contacter l'administrateur de votre site.
settings=Paramètres
settings.desc=Les paramètres sont l'endroit où gérer les options du dépôt
settings.options=Dépôt
@ -2019,6 +1996,7 @@ settings.mirror_settings.docs.doc_link_title=Comment mettre en miroir les dépô
settings.mirror_settings.docs.doc_link_pull_section=la section « Pulling from a remote repository » de la documentation.
settings.mirror_settings.docs.pulling_remote_title=Tirer depuis un dépôt distant
settings.mirror_settings.mirrored_repository=Dépôt en miroir
settings.mirror_settings.pushed_repository=Dépôt sortant
settings.mirror_settings.direction=Direction
settings.mirror_settings.direction.pull=Tirer
settings.mirror_settings.direction.push=Soumission
@ -2070,6 +2048,7 @@ settings.pulls.default_allow_edits_from_maintainers=Autoriser les modifications
settings.releases_desc=Activer les publications du dépôt
settings.packages_desc=Activer le registre des paquets du dépôt
settings.projects_desc=Activer les projets de dépôt
settings.projects_mode_all=Tous les projets
settings.actions_desc=Activer les actions du dépôt
settings.admin_settings=Paramètres administrateur
settings.admin_enable_health_check=Activer les vérifications de santé du dépôt (git fsck)
@ -2144,7 +2123,6 @@ settings.delete_collaborator=Supprimer
settings.collaborator_deletion=Supprimer le collaborateur
settings.collaborator_deletion_desc=La suppression d'un collaborateur révoque son accès à ce dépôt. Continuer ?
settings.remove_collaborator_success=Le collaborateur a été retiré.
settings.search_user_placeholder=Rechercher un utilisateur…
settings.org_not_allowed_to_be_collaborator=Les organisations ne peuvent être ajoutées en tant que collaborateur.
settings.change_team_access_not_allowed=La modification de l'accès de l'équipe au dépôt a été limitée au propriétaire de l'organisation
settings.team_not_in_organization=L'équipe n'est pas dans la même organisation que le dépôt
@ -2152,7 +2130,6 @@ settings.teams=Équipes
settings.add_team=Ajouter une équipe
settings.add_team_duplicate=L'équipe a déjà le dépôt
settings.add_team_success=L'équipe a maintenant accès au dépôt.
settings.search_team=Rechercher une équipe…
settings.change_team_permission_tip=La permission de l'équipe est définie sur la page de configuration de l'équipe et ne peut pas être modifiée par dépôt
settings.delete_team_tip=Cette équipe a accès à tous les dépôts et ne peut pas être supprimée
settings.remove_team_success=L'accès de l'équipe au dépôt a été supprimé.
@ -2305,9 +2282,7 @@ settings.protect_whitelist_committers=Liste blanche des soumissions
settings.protect_whitelist_committers_desc=Seuls les utilisateurs ou les équipes autorisés pourront soumettre sur cette branche (sans forcer).
settings.protect_whitelist_deploy_keys=Mettez les clés de déploiement sur liste blanche avec accès en écriture pour soumettre.
settings.protect_whitelist_users=Utilisateurs sur liste blanche :
settings.protect_whitelist_search_users=Rechercher des utilisateurs…
settings.protect_whitelist_teams=Équipes sur liste blanche :
settings.protect_whitelist_search_teams=Rechercher des équipes…
settings.protect_merge_whitelist_committers=Activer la liste blanche pour la fusion
settings.protect_merge_whitelist_committers_desc=N'autoriser que les utilisateurs et les équipes en liste blanche d'appliquer les demandes de fusion sur cette branche.
settings.protect_merge_whitelist_users=Utilisateurs en liste blanche de fusion :
@ -2552,7 +2527,6 @@ branch.default_deletion_failed=La branche "%s" est la branche par défaut. Elle
branch.restore=`Restaurer la branche "%s"`
branch.download=`Télécharger la branche "%s"`
branch.rename=`Renommer la branche "%s"`
branch.search=Rechercher une branche
branch.included_desc=Cette branche fait partie de la branche par défaut
branch.included=Incluses
branch.create_new_branch=Créer une branche à partir de la branche :
@ -2695,7 +2669,6 @@ teams.write_permission_desc=Cette équipe permet l'accès en <strong>écriture</
teams.admin_permission_desc=Cette équipe permet l'accès <strong>administrateur</strong> : les membres peuvent voir, participer et ajouter des collaborateurs à ses dépôts.
teams.create_repo_permission_desc=De plus, cette équipe accorde la permission <strong>Créer un dépôt</strong> : les membres peuvent créer de nouveaux dépôts dans l'organisation.
teams.repositories=Dépôts de l'Équipe
teams.search_repo_placeholder=Rechercher dans le dépôt…
teams.remove_all_repos_title=Supprimer tous les dépôts de l'équipe
teams.remove_all_repos_desc=Ceci supprimera tous les dépôts de l'équipe.
teams.add_all_repos_title=Ajouter tous les dépôts
@ -2728,6 +2701,8 @@ integrations=Intégrations
authentication=Sources d'authentification
emails=Emails de l'utilisateur
config=Configuration
config_summary=Résumé
config_settings=Paramètres
notices=Informations
monitor=Surveillance
first_page=Première
@ -2904,9 +2879,6 @@ repos.unadopted.no_more=Aucun dépôt dépossédé trouvé.
repos.owner=Propriétaire
repos.name=Nom
repos.private=Privé
repos.watches=Suivi par
repos.stars=Votes
repos.forks=Bifurcations
repos.issues=Tickets
repos.size=Taille
repos.lfs_size=Taille LFS
@ -3031,7 +3003,6 @@ auths.tip.nextcloud=`Enregistrez un nouveau consommateur OAuth sur votre instanc
auths.tip.dropbox=Créez une nouvelle application sur https://www.dropbox.com/developers/apps
auths.tip.facebook=`Enregistrez une nouvelle application sur https://developers.facebook.com/apps et ajoutez le produit "Facebook Login"`
auths.tip.github=Créez une nouvelle application OAuth sur https://github.com/settings/applications/new
auths.tip.gitlab=Créez une nouvelle application sur https://gitlab.com/profile/applications
auths.tip.google_plus=Obtenez des identifiants OAuth2 sur la console API de Google (https://console.developers.google.com/)
auths.tip.openid_connect=Utilisez l'URL de découvert OpenID (<server>/.well-known/openid-configuration) pour spécifier les points d'accès
auths.tip.twitter=Rendez-vous sur https://dev.twitter.com/apps, créez une application et assurez-vous que l'option "Autoriser l'application à être utilisée avec Twitter Connect" est activée

View File

@ -90,6 +90,14 @@ concept_user_organization=Szervezet
name=Név
filter.is_archived=Archivált
filter.is_template=Sablon
filter.public=Nyilvános
filter.private=Privát
[search]
[aria]
[heatmap]
@ -207,7 +215,6 @@ collaborative_repos=Együttműködési tárolók
my_orgs=Szervezeteim
my_mirrors=Tükreim
view_home=Nézet %s
search_repos=Tároló keresés…
show_archived=Archivált
@ -222,12 +229,7 @@ issues.in_your_repos=A tárolóidban
repos=Tárolók
users=Felhasználók
organizations=Szervezetek
search=Keresés
code=Kód
repo_no_results=Nincs ilyen tároló.
user_no_results=Nincs ilyen felhasználó.
org_no_results=Nincs ilyen szervezet.
code_no_results=Nincs találat a keresési kifejezésedre.
code_last_indexed_at=Utoljára indexelve: %s
[auth]
@ -240,7 +242,6 @@ remember_me=Eszköz megjegyzése
forgot_password_title=Elfelejtett jelszó
forgot_password=Elfelejtette a jelszavát?
sign_up_now=Szeretne bejelentkezni? Regisztráljon most.
confirmation_mail_sent_prompt=Új megerősítő email lett küldve ide: <b>%s</b>. Ellenőrizze postafiókját az elkövetkező %s a regisztrációs folyamat befejezéséhez.
must_change_password=Jelszó módosítása
allow_password_change=A felhasználóknak meg kell változtatniuk a jelszavukat(ajánlott)
reset_password_mail_sent_prompt=Megerősítő email lett küldve ide: <b>%s</b>. Ellenőrizze postafiókját az elkövetkező %s a jelszó visszaállítási folyamat befejezéséhez.
@ -384,6 +385,7 @@ unfollow=Követés törlése
user_bio=Életrajz
[settings]
profile=Profil
account=Fiók
@ -722,8 +724,6 @@ editor.no_changes_to_show=Nincsen megjeleníthető változás.
editor.add_subdir=Mappa hozzáadása…
commits.commits=Commit-ok
commits.search=Commit-ok keresése…
commits.find=Keresés
commits.search_all=Minden ág
commits.author=Szerző
commits.message=Üzenet
@ -929,7 +929,6 @@ pulls.compare_changes=Új egyesítési kérés
pulls.compare_base=egyesítés ide
pulls.compare_compare=egyesítés innen
pulls.filter_branch=Ágra szűrés
pulls.no_results=Nincs találat.
pulls.nothing_to_compare=Ezek az ágak egyenlőek. Nincs szükség egyesítési kérésre.
pulls.create=Egyesítési kérés létrehozása
pulls.title_desc=egyesíteni szeretné %[1]d változás(oka)t a(z) <code>%[2]s</code>-ból <code id="branch_target">%[3]s</code>-ba
@ -1056,11 +1055,6 @@ activity.git_stats_deletion_n=%d törlés
contributors.contribution_type.commits=Commit-ok
search=Keresés
search.search_repo=Tároló keresés
search.results=`"%s" találatok keresése itt: <a href="%s">%s</a>`
search.code_no_results=Nincs találat a keresési kifejezésedre.
settings=Beállítások
settings.options=Tároló
settings.collaboration.read=Olvasott
@ -1102,8 +1096,6 @@ settings.branches=Ágak
settings.protected_branch=Ág védeleme
settings.protected_branch_can_push=Push engedélyezése?
settings.protected_branch_can_push_yes=Most már push-olhatja
settings.protect_whitelist_search_users=Felhasználó keresése…
settings.protect_whitelist_search_teams=Csoportok keresése…
settings.protect_check_status_contexts=Állapotellenőrzés engedélyezése
settings.add_protected_branch=Védelem engedélyezése
settings.delete_protected_branch=Védelem letiltása
@ -1248,7 +1240,6 @@ teams.delete_team_desc=Egy csapat törlése visszavonja a tagjai hozzáférésé
teams.delete_team_success=A csoport törölve lett.
teams.read_permission_desc=Ez a csoport <strong>Olvasási</strong> jogosultságot biztosít: a tagok megtekinthetik és klónozhatják a csoport tárolóit.
teams.repositories=Csoport tárolói
teams.search_repo_placeholder=Tároló keresése…
teams.remove_all_repos_title=Összes csapattároló eltávolítása
teams.remove_all_repos_desc=Ez el fogja távolítani az összes tárolót a csoportból.
teams.add_all_repos_title=Minden tároló hozzáadása
@ -1266,6 +1257,8 @@ organizations=Szervezetek
repositories=Tárolók
authentication=Hitelesítési források
config=Konfiguráció
config_summary=Összefoglaló
config_settings=Beállítások
notices=Rendszer-értesítések
monitor=Figyelés
first_page=Első
@ -1352,8 +1345,6 @@ repos.repo_manage_panel=Tárolók Kezelése
repos.owner=Tulajdonos
repos.name=Név
repos.private=Privát
repos.watches=Figyelők
repos.stars=Csillagok
repos.issues=Hibajegyek
repos.size=Méret
@ -1415,7 +1406,6 @@ auths.tip.bitbucket=Igényeljen egy új OAuth jogosultságot itt: https://bitbuc
auths.tip.dropbox=Vegyen fel új alkalmazást itt: https://www.dropbox.com/developers/apps
auths.tip.facebook=Vegyen fel új alkalmazást itt: https://developers.facebook.com/apps majd adja hozzá a "Facebook Login"-t
auths.tip.github=Vegyen fel új OAuth alkalmazást itt: https://github.com/settings/applications/new
auths.tip.gitlab=Vegyen fel új alkalmazást itt: https://gitlab.com/profile/applications
auths.tip.google_plus=Szerezzen OAuth2 kliens hitelesítési adatokat a Google API konzolban (https://console.developers.google.com/)
auths.tip.openid_connect=Használja az OpenID kapcsolódás felfedező URL-t (<kiszolgáló>/.well-known/openid-configuration) a végpontok beállításához
auths.tip.twitter=Menyjen ide: https://dev.twitter.com/apps, hozzon létre egy alkalmazást és győződjön meg róla, hogy az “Allow this application to be used to Sign in with Twitter” opció be van kapcsolva

View File

@ -83,6 +83,12 @@ concept_code_repository=Repositori
name=Nama
filter.is_template=Contoh
filter.private=Pribadi
[search]
[aria]
[heatmap]
@ -134,7 +140,6 @@ collaborative_repos=Repositori Kolaboratif
my_orgs=Organisasi Saya
my_mirrors=Duplikat Saya
view_home=Lihat %s
search_repos=Cari repositori…
show_private=Pribadi
@ -145,12 +150,7 @@ issues.in_your_repos=Dalam repositori anda
repos=Repositori
users=Pengguna
organizations=Organisasi
search=Cari
code=Kode
repo_no_results=Tidak ditemukan repositori yang cocok.
user_no_results=Tidak ditemukan pengguna yang cocok.
org_no_results=Tidak ada organisasi yang cocok ditemukan.
code_no_results=Tidak ada kode sumber yang cocok dengan istilah yang anda cari.
[auth]
create_new_account=Daftar Akun
@ -161,7 +161,6 @@ disable_register_mail=Konfirmasi lewat email untuk pengguna baru dimatikan.
forgot_password_title=Lupa Kata Sandi
forgot_password=Lupa kata sandi?
sign_up_now=Butuh akun? Daftar sekarang.
confirmation_mail_sent_prompt=Surel konfirmasi baru telah dikirim ke <b>%s</b>. Silakan periksa kotak masuk anda dalam %s ke depan untuk menyelesaikan proses pendaftaran.
must_change_password=Perbarui kata sandi Anda
allow_password_change=Wajibkan pengguna untuk mengganti kata sandi (disarankan)
reset_password_mail_sent_prompt=Surel konfirmasi berhasil dikirim ke <b>%s</b>. Silahkan cek akun email Anda dalam %s jam untuk menyelesaikan proses pemulihan akun.
@ -307,6 +306,7 @@ unfollow=Berhenti Mengikuti
user_bio=Biografi
[settings]
profile=Profil
account=Akun
@ -631,7 +631,6 @@ editor.cancel=Membatalkan
editor.no_changes_to_show=Tidak ada perubahan untuk ditampilkan.
commits.commits=Melakukan
commits.find=Telusuri
commits.author=Penulis
commits.message=Pesan
commits.date=Tanggal
@ -749,7 +748,6 @@ issues.dependency.remove=Menghapus
pulls.new=Permintaan Tarik Baru
pulls.compare_changes=Permintaan Tarik Baru
pulls.filter_branch=Penyaringan cabang
pulls.no_results=Hasil tidak ditemukan.
pulls.create=Buat Permintaan Tarik
pulls.title_desc=ingin menggabungkan komit %[1]d dari <code>%[2]s</code> menuju <code id="branch_target">%[3]s</code>
pulls.merged_title_desc=commit %[1]d telah digabungkan dari <code>%[2]s</code> menjadi <code>%[3]s</code> %[4]s
@ -841,11 +839,6 @@ activity.published_release_label=Dikeluarkan
contributors.contribution_type.commits=Melakukan
search=Cari
search.search_repo=Cari repositori
search.results=Cari hasil untuk "%s" dalam <a href="%s">%s</a>
search.code_no_results=Tidak ada kode sumber yang cocok dengan istilah yang anda cari.
settings=Pengaturan
settings.desc=Pengaturan dimana anda dapat mengelola pengaturan untuk repositori
settings.options=Repositori
@ -873,7 +866,6 @@ settings.transfer_owner=Pemilik Baru
settings.delete=Menghapus Repositori Ini
settings.delete_notices_1=- Operasi ini <strong>TIDAK BISA</strong> dibatalkan.
settings.delete_collaborator=Menghapus
settings.search_user_placeholder=Cari pengguna…
settings.teams=Tim
settings.add_webhook=Tambahkan Webhook
settings.webhook.test_delivery=Percobaan Pengiriman
@ -1008,13 +1000,13 @@ teams.update_settings=Memperbarui pengaturan
teams.add_team_member=Tambahkan Anggota Tim
teams.delete_team_success=Tim sudah di hapus.
teams.repositories=Tim repositori
teams.search_repo_placeholder=Cari repositori…
[admin]
dashboard=Dasbor
organizations=Organisasi
repositories=Repositori
config=Konfigurasi
config_settings=Pengaturan
notices=Pemberitahuan Sistem
monitor=Memantau
first_page=Pertama
@ -1077,8 +1069,6 @@ repos.repo_manage_panel=Manajemen Repositori
repos.owner=Pemilik
repos.name=Nama
repos.private=Pribadi
repos.watches=Jam tangan
repos.stars=Bintang
repos.issues=Masalah
repos.size=Ukuran
@ -1128,7 +1118,6 @@ auths.tip.oauth2_provider=Penyediaan OAuth2
auths.tip.dropbox=Membuat aplikasi baru di https://www.dropbox.com/developers/apps
auths.tip.facebook=`Daftarkan sebuah aplikasi baru di https://developers.facebook.com/apps dan tambakan produk "Facebook Masuk"`
auths.tip.github=Mendaftar aplikasi OAuth baru di https://github.com/settings/applications/new
auths.tip.gitlab=Mendaftar aplikasi baru di https://gitlab.com/profile/applications
auths.tip.openid_connect=Gunakan membuka ID yang terhubung ke jelajah URL (<server>/.well-known/openid-configuration) untuk menentukan titik akhir
auths.delete=Menghapus Otentikasi Sumber
auths.delete_auth_title=Menghapus Otentikasi Sumber

View File

@ -111,6 +111,14 @@ concept_code_repository=Hugbúnaðarsafn
name=Heiti
value=Gildi
filter=Sía
filter.is_archived=Safnvistað
filter.is_template=Sniðmát
filter.public=Opinbert
[search]
[aria]
[heatmap]
@ -224,7 +232,6 @@ show_more_repos=Sýna fleiri hugbúnaðarsöfn…
my_orgs=Stofnanir Mínar
my_mirrors=Speglanir Mínar
view_home=Skoða %s
search_repos=Finna hugbúnaðarsafn…
filter=Aðrar Síur
show_archived=Safnvistað
@ -239,14 +246,7 @@ issues.in_your_repos=Í hugbúnaðarsöfnum þínum
repos=Hugbúnaðarsöfn
users=Notendur
organizations=Stofnanir
search=Leita
code=Kóði
search.fuzzy=Óljóst
code_search_unavailable=Sem stendur er kóðaleit ekki í boði. Vinsamlegast hafðu samband við síðustjórann þinn.
repo_no_results=Engin samsvarandi hugbúnaðarsöfn fundust.
user_no_results=Engir samsvarandi notendur fundust.
org_no_results=Engar samsvarandi stofnanir fundust.
code_no_results=Enginn samsvarandi frumkóði fannst eftur þínum leitarorðum.
[auth]
create_new_account=Skrá Notanda
@ -418,6 +418,7 @@ user_bio=Lífssaga
disabled_public_activity=Þessi notandi hefur slökkt á opinberum sýnileika virkninnar.
[settings]
profile=Notandasíða
account=Reikningur
@ -704,7 +705,6 @@ editor.cancel=Hætta við
editor.fail_to_update_file_summary=Villuskilaboð:
commits.commits=Framlög
commits.find=Leita
commits.author=Höfundur
commits.message=Skilaboð
commits.date=Dagsetning
@ -728,7 +728,6 @@ projects.edit=Breyta Verkefnum
projects.modify=Uppfæra Verkefni
projects.type.none=Ekkert
projects.template.desc=Sniðmát
projects.type.uncategorized=Óflokkuð
projects.column.edit_title=Heiti
projects.column.new_title=Heiti
projects.column.color=Litað
@ -992,11 +991,6 @@ activity.git_stats_deletion_n=%d eyðingar
contributors.contribution_type.commits=Framlög
search=Leita
search.fuzzy=Óljóst
search.code_no_results=Enginn samsvarandi frumkóði fannst eftur þínum leitarorðum.
search.code_search_unavailable=Sem stendur er kóðaleit ekki í boði. Vinsamlegast hafðu samband við síðustjórann þinn.
settings=Stillingar
settings.options=Hugbúnaðarsafn
settings.collaboration.write=Skrifa
@ -1163,6 +1157,8 @@ teams.all_repositories=Öll hugbúnaðarsöfn
[admin]
repositories=Hugbúnaðarsöfn
config=Stilling
config_summary=Yfirlit
config_settings=Stillingar
first_page=Byrjun
last_page=Síðasta
total=Samtals: %d
@ -1201,9 +1197,6 @@ orgs.members=Meðlimar
repos.owner=Eigandi
repos.name=Heiti
repos.watches=Fylgist með
repos.stars=Eftirlæti
repos.forks=Skiptingar
repos.issues=Vandamál
repos.size=Stærð

View File

@ -116,6 +116,15 @@ concept_user_organization=Organizzazione
name=Nome
value=Valore
filter=Filtro
filter.is_archived=Archiviato
filter.is_template=Template
filter.public=Pubblico
filter.private=Privati
[search]
[aria]
[heatmap]
@ -254,7 +263,6 @@ collaborative_repos=Repository Condivisi
my_orgs=Le mie Organizzazioni
my_mirrors=I miei Mirror
view_home=Vedi %s
search_repos=Trova un repository…
filter=Altro filtri
filter_by_team_repositories=Filtra per repository del team
feed_of=`Feed di "%s"`
@ -275,15 +283,7 @@ issues.in_your_repos=Nei tuoi repository
repos=Repository
users=Utenti
organizations=Organizzazioni
search=Cerca
code=Codice
search.fuzzy=Fuzzy
search.match=Corrispondenze
code_search_unavailable=Attualmente la ricerca di codice non è disponibile. Contatta l'amministratore del sito.
repo_no_results=Nessuna repository corrispondente.
user_no_results=Nessun utente corrispondente.
org_no_results=Nessun'organizzazione corrispondente trovata.
code_no_results=Nessun codice sorgente corrispondente ai termini di ricerca.
code_last_indexed_at=Ultimo indicizzato %s
[auth]
@ -297,7 +297,6 @@ remember_me=Ricorda questo dispositivo
forgot_password_title=Password Dimenticata
forgot_password=Password dimenticata?
sign_up_now=Hai bisogno di un account? Registrati adesso.
confirmation_mail_sent_prompt=Una nuova email di conferma è stata inviata a <b>%s</b>. Per favore controlla la tua posta in arrivo nelle prossime %s per completare il processo di registrazione.
must_change_password=Aggiorna la tua password
allow_password_change=Richiede all'utente di cambiare la password (scelta consigliata)
reset_password_mail_sent_prompt=Una email di conferma è stata inviata a <b>%s</b>. Per favore controlla la tua posta in arrivo nelle prossime %s per completare il processo di reset della password.
@ -507,6 +506,7 @@ user_bio=Biografia
disabled_public_activity=L'utente ha disabilitato la vista pubblica dell'attività.
[settings]
profile=Profilo
account=Account
@ -634,7 +634,6 @@ gpg_invalid_token_signature=La chiave GPG fornita, la firma e il token non corri
gpg_token_required=Devi fornire una firma per il token sottostante
gpg_token=Token
gpg_token_help=È possibile generare una firma utilizzando:
gpg_token_code=echo "%s" | gpg -a --default-key %s --detach-sig
gpg_token_signature=Firma GPG corazzata
key_signature_gpg_placeholder=Comincia con '-----BEGIN PGP SIGNATURE-----'
ssh_key_verified=Chiave Verificata
@ -787,7 +786,6 @@ already_forked=Hai già fatto il fork di %s
fork_to_different_account=Fai Fork a un account diverso
fork_visibility_helper=La visibilità di un repository forkato non può essere modificata.
use_template=Usa questo modello
clone_in_vsc=Clona nel codice VS
download_zip=Scarica ZIP
download_tar=Scarica TAR.GZ
download_bundle=Scarica BUNDLE
@ -1051,8 +1049,6 @@ editor.revert=Ripristina %s su:
commits.desc=Sfoglia la cronologia di modifiche del codice rogente.
commits.commits=Commit
commits.nothing_to_compare=Questi rami sono uguali.
commits.search=Ricerca commits…
commits.find=Cerca
commits.search_all=Tutti i branch
commits.author=Autore
commits.message=Messaggio
@ -1097,7 +1093,6 @@ projects.type.basic_kanban=Basic Kanban
projects.type.bug_triage=Bug Triage
projects.template.desc=Template di progetto
projects.template.desc_helper=Seleziona un modello di progetto per iniziare
projects.type.uncategorized=Senza categoria
projects.column.edit_title=Nome
projects.column.new_title=Nome
projects.column.color=Colore
@ -1409,7 +1404,6 @@ pulls.compare_compare=esegui un pull da
pulls.switch_comparison_type=Cambia tipo di confronto
pulls.switch_head_and_base=Testa e base di commutazione
pulls.filter_branch=Filtra branch
pulls.no_results=Nessun risultato trovato.
pulls.nothing_to_compare=Questi rami sono uguali. Non c'è alcuna necessità di creare una pull request.
pulls.nothing_to_compare_and_allow_empty_pr=Questi rami sono uguali. Questa PR sarà vuota.
pulls.has_pull_request=`Una pull request tra questi rami esiste già: <a href="%[1]s">%[2]s#%[3]d</a>`
@ -1626,14 +1620,6 @@ activity.git_stats_deletion_n=%d cancellazioni
contributors.contribution_type.commits=Commit
search=Ricerca
search.search_repo=Ricerca repository
search.fuzzy=Fuzzy
search.match=Corrispondenze
search.results=Risultati della ricerca per "%s" in <a href="%s">%s</a>
search.code_no_results=Nessun codice sorgente corrispondente al termine di ricerca trovato.
search.code_search_unavailable=Attualmente la ricerca di codice non è disponibile. Contatta l'amministratore del sito.
settings=Impostazioni
settings.desc=Impostazioni ti permette di gestire le impostazioni del repository
settings.options=Repository
@ -1760,7 +1746,6 @@ settings.delete_collaborator=Rimuovi
settings.collaborator_deletion=Rimuovi collaboratore
settings.collaborator_deletion_desc=Rimuovere un collaboratore revocherà l'accesso a questo repository. Continuare?
settings.remove_collaborator_success=Il collaboratore è stato rimosso.
settings.search_user_placeholder=Ricerca utente…
settings.org_not_allowed_to_be_collaborator=Le organizzazioni non possono essere aggiunte come un collaboratore.
settings.change_team_access_not_allowed=La modifica dell'accesso al team per il repository è stato limitato al solo proprietario dell'organizzazione
settings.team_not_in_organization=Il team non è nella stessa organizzazione del repository
@ -1768,7 +1753,6 @@ settings.teams=Gruppi
settings.add_team=Aggiungi Squadra
settings.add_team_duplicate=Il team ha già il repository
settings.add_team_success=Il team ha ora accesso al repository.
settings.search_team=Cerca Squadra…
settings.change_team_permission_tip=Il permesso del team è impostato sulla pagina delle impostazioni del team e non può essere modificato per repository
settings.delete_team_tip=Questo team ha accesso a tutte le repository e non può essere rimosso
settings.remove_team_success=L'accesso del team al repository è stato rimosso.
@ -1907,9 +1891,7 @@ settings.protect_whitelist_committers=Lista bianch push ristretti
settings.protect_whitelist_committers_desc=Solo gli utenti o i team nella whitelist potranno pushare su questo ramo (ma non forzare il push).
settings.protect_whitelist_deploy_keys=Chiavi di deploy in whitelist con permessi di scrittura per il push.
settings.protect_whitelist_users=Utenti nella whitelist per pushare:
settings.protect_whitelist_search_users=Cerca utenti…
settings.protect_whitelist_teams=Team nella whitelist per pushare:
settings.protect_whitelist_search_teams=Ricerca team…
settings.protect_merge_whitelist_committers=Attiva la whitelist per i merge
settings.protect_merge_whitelist_committers_desc=Consentire soltanto agli utenti o ai team in whitelist il permesso di unire le pull request di questo branch.
settings.protect_merge_whitelist_users=Utenti nella whitelist per il merging:
@ -2218,7 +2200,6 @@ teams.write_permission_desc=Questo team concede l'accesso di <strong>Scrittura</
teams.admin_permission_desc=Questo team concede l'accesso di <strong>Amministratore</strong>: i membri possono leggere da, pushare su e aggiungere collaboratori ai repository del team.
teams.create_repo_permission_desc=Inoltre, questo team concede il permesso di <strong>Creare repository</strong>: i membri possono creare nuove repository nell'organizzazione.
teams.repositories=Repository di Squadra
teams.search_repo_placeholder=Ricerca repository…
teams.remove_all_repos_title=Rimuovi tutti i repository del team
teams.remove_all_repos_desc=Questo rimuoverà tutte le repository dal team.
teams.add_all_repos_title=Aggiungi tutti i repository
@ -2243,6 +2224,8 @@ hooks=Webhooks
authentication=Fonti di autenticazione
emails=Email Utente
config=Configurazione
config_summary=Riepilogo
config_settings=Impostazioni
notices=Avvisi di sistema
monitor=Monitoraggio
first_page=Prima
@ -2397,9 +2380,6 @@ repos.unadopted.no_more=Nessun repository non adottato trovato
repos.owner=Proprietario
repos.name=Nome
repos.private=Privati
repos.watches=Segue
repos.stars=Voti
repos.forks=Fork
repos.issues=Problemi
repos.size=Dimensione
@ -2515,7 +2495,6 @@ auths.tip.nextcloud=`Registra un nuovo OAuth sulla tua istanza utilizzando il se
auths.tip.dropbox=Crea una nuova applicazione su https://www.dropbox.com/developers/apps
auths.tip.facebook=`Registra una nuova applicazione su https://developers.facebook.com/apps e aggiungi il prodotto "Facebook Login"`
auths.tip.github=Registra una nuova applicazione OAuth su https://github.com/settings/applications/new
auths.tip.gitlab=Registra una nuova applicazione su https://gitlab.com/profile/applications
auths.tip.google_plus=Ottieni le credenziali del client OAuth2 dalla console API di Google su https://console.developers.google.com/
auths.tip.openid_connect=Utilizza l'OpenID Connect Discovery URL (<server>/.well-known/openid-configuration) per specificare gli endpoint
auths.tip.twitter=Vai su https://dev.twitter.com/apps, crea una applicazione e assicurati che l'opzione "Allow this application to be used to Sign In with Twitter" sia abilitata

View File

@ -142,6 +142,15 @@ confirm_delete_selected=選択したすべてのアイテムを削除してよ
name=名称
value=
filter=フィルター
filter.is_archived=アーカイブ
filter.is_template=テンプレート
filter.public=公開
filter.private=プライベート
[search]
[aria]
navbar=ナビゲーションバー
footer=フッター
@ -315,7 +324,6 @@ collaborative_repos=共同リポジトリ
my_orgs=自分の組織
my_mirrors=自分のミラー
view_home=%s を表示
search_repos=リポジトリを探す…
filter=その他のフィルター
filter_by_team_repositories=チームリポジトリで絞り込み
feed_of=`"%s" のフィード`
@ -336,20 +344,8 @@ issues.in_your_repos=あなたのリポジトリ
repos=リポジトリ
users=ユーザー
organizations=組織
search=検索
go_to=開く
code=コード
search.type.tooltip=検索タイプ
search.fuzzy=あいまい
search.fuzzy.tooltip=検索ワードにおおよそ一致している結果も含めます
search.match=一致
search.match.tooltip=検索ワードに一致する結果だけを含めます
code_search_unavailable=現在コード検索は利用できません。 サイト管理者にお問い合わせください。
repo_no_results=一致するリポジトリが見つかりません。
user_no_results=一致するユーザーが見つかりません。
org_no_results=一致する組織が見つかりません。
code_no_results=検索ワードに一致するソースコードが見つかりません。
code_search_results=`"%s" の検索結果`
code_last_indexed_at=最終取得 %s
relevant_repositories_tooltip=フォークリポジトリや、トピック、アイコン、説明のいずれも無いリポジトリは表示されません。
relevant_repositories=妥当と思われるリポジトリのみを表示しています。 <a href="%s">フィルタリングしない結果を表示</a>。
@ -367,7 +363,6 @@ forgot_password_title=パスワードを忘れた
forgot_password=パスワードをお忘れですか?
sign_up_now=アカウントが必要ですか? 今すぐ登録しましょう。
sign_up_successful=アカウントは無事に作成されました。ようこそ!
confirmation_mail_sent_prompt=<b>%s</b> に確認メールを送信しました。 %s以内に受信トレイを確認し、登録手続きを完了してください。
must_change_password=パスワードの更新
allow_password_change=ユーザーはパスワードの変更が必要 (推奨)
reset_password_mail_sent_prompt=<b>%s</b> に確認メールを送信しました。 %s以内に受信トレイを確認し、アカウント回復手続きを完了してください。
@ -617,6 +612,13 @@ form.name_reserved=ユーザー名 "%s" は予約されています。
form.name_pattern_not_allowed=`"%s" の形式はユーザー名に使用できません。`
form.name_chars_not_allowed=ユーザー名 "%s" には無効な文字が含まれています。
block.block=ブロック
block.block.user=ユーザーをブロック
block.block.org=組織向けにユーザーをブロック
block.block.failure=ユーザーのブロックに失敗しました: %s
block.unblock=ブロックを解除
block.unblock.failure=ユーザーのブロック解除に失敗しました: %s
[settings]
profile=プロフィール
account=アカウント
@ -761,7 +763,6 @@ gpg_invalid_token_signature=入力されたGPG鍵、署名、トークンが合
gpg_token_required=以下のトークンの署名を入力する必要があります
gpg_token=トークン
gpg_token_help=署名はこの方法で生成できます:
gpg_token_code=echo "%s" | gpg -a --default-key %s --detach-sig
gpg_token_signature=Armor形式のGPG署名
key_signature_gpg_placeholder=先頭は '-----BEGIN PGP SIGNATURE-----'
verify_gpg_key_success=GPG鍵 "%s" を確認しました。
@ -955,7 +956,6 @@ fork_branch=フォークにクローンされるブランチ
all_branches=すべてのブランチ
fork_no_valid_owners=このリポジトリには有効なオーナーがいないため、フォークできません。
use_template=このテンプレートを使用
clone_in_vsc=VSCodeでクローン
download_zip=ZIPファイルをダウンロード
download_tar=TAR.GZファイルをダウンロード
download_bundle=バンドルをダウンロード
@ -990,6 +990,7 @@ mirror_prune=Prune
mirror_prune_desc=不要になった古いリモートトラッキング参照を削除
mirror_interval=ミラー間隔 (有効な時間の単位は'h'、'm'、's')。 定期的な同期を無効にする場合は0。(最小間隔: %s)
mirror_interval_invalid=ミラー間隔が不正です。
mirror_sync=前回の同期
mirror_sync_on_commit=コミットがプッシュされたときに同期
mirror_address=クローンするURL
mirror_address_desc=必要な資格情報は「認証」セクションに設定してください。
@ -1191,6 +1192,8 @@ audio_not_supported_in_browser=このブラウザーはHTML5のaudioタグをサ
stored_lfs=Git LFSで保管されています
symbolic_link=シンボリック リンク
executable_file=実行ファイル
vendored=ベンダーファイル
generated=生成ファイル
commit_graph=コミットグラフ
commit_graph.select=ブランチを選択
commit_graph.hide_pr_refs=プルリクエストを非表示
@ -1277,9 +1280,7 @@ commits.desc=ソースコードの変更履歴を参照します。
commits.commits=コミット
commits.no_commits=共通のコミットはありません。 "%s" と "%s" の履歴はすべて異なっています。
commits.nothing_to_compare=二つのブランチは同じ内容です。
commits.search=コミットの検索…
commits.search.tooltip=`キーワード "author:"、"committer:"、"after:"、"before:" を付けて指定できます。 例 "revert author:Alice before:2019-01-13"`
commits.find=検索
commits.search_all=すべてのブランチ
commits.author=作成者
commits.message=メッセージ
@ -1330,7 +1331,6 @@ projects.type.basic_kanban=基本的なカンバン
projects.type.bug_triage=バグ トリアージ
projects.template.desc=テンプレート
projects.template.desc_helper=開始するプロジェクトテンプレートを選択
projects.type.uncategorized=未分類
projects.column.edit=列を編集
projects.column.edit_title=名称
projects.column.new_title=名称
@ -1338,10 +1338,7 @@ projects.column.new_submit=列を作成
projects.column.new=新しい列
projects.column.set_default=デフォルトに設定
projects.column.set_default_desc=この列を未分類のイシューやプルリクエストが入るデフォルトの列にします
projects.column.unset_default=デフォルトを解除
projects.column.unset_default_desc=この列からデフォルト列の設定を解除します
projects.column.delete=列を削除
projects.column.deletion_desc=プロジェクト列を削除すると、関連するすべてのイシューが '未分類' に移動します。 続行しますか?
projects.column.color=カラー
projects.open=オープン
projects.close=クローズ
@ -1453,7 +1450,6 @@ issues.filter_sort.moststars=スターが多い順
issues.filter_sort.feweststars=スターが少ない順
issues.filter_sort.mostforks=フォークが多い順
issues.filter_sort.fewestforks=フォークが少ない順
issues.keyword_search_unavailable=現在キーワード検索は利用できません。 サイト管理者にお問い合わせください。
issues.action_open=オープン
issues.action_close=クローズ
issues.action_label=ラベル
@ -1705,7 +1701,6 @@ pulls.compare_compare=プル元
pulls.switch_comparison_type=比較の種類を切り替える
pulls.switch_head_and_base=ヘッドとベースを切り替える
pulls.filter_branch=ブランチの絞り込み
pulls.no_results=結果が見つかりませんでした。
pulls.show_all_commits=すべてのコミットを表示
pulls.show_changes_since_your_last_review=前回の自分のレビューからの変更を表示
pulls.showing_only_single_commit=コミット %[1]s の変更だけを表示しています
@ -1714,6 +1709,7 @@ pulls.select_commit_hold_shift_for_range=コミットを選択。シフトを押
pulls.review_only_possible_for_full_diff=すべての差分を表示しているときだけレビューが可能です
pulls.filter_changes_by_commit=コミットで絞り込み
pulls.nothing_to_compare=同じブランチ同士のため、 プルリクエストを作成する必要がありません。
pulls.nothing_to_compare_have_tag=選択したブランチ/タグは同一のものです。
pulls.nothing_to_compare_and_allow_empty_pr=これらのブランチは内容が同じです。 空のプルリクエストになります。
pulls.has_pull_request=`同じブランチのプルリクエストはすでに存在します: <a href="%[1]s">%[2]s#%[3]d</a>`
pulls.create=プルリクエストを作成
@ -1772,6 +1768,7 @@ pulls.merge_pull_request=マージコミットを作成
pulls.rebase_merge_pull_request=リベース後にファストフォワード
pulls.rebase_merge_commit_pull_request=リベース後にマージコミット作成
pulls.squash_merge_pull_request=スカッシュコミットを作成
pulls.fast_forward_only_merge_pull_request=ファストフォワードのみ
pulls.merge_manually=手動マージ済みにする
pulls.merge_commit_id=マージコミットID
pulls.require_signed_wont_sign=ブランチでは署名されたコミットが必須ですが、このマージでは署名がされません
@ -1908,6 +1905,8 @@ wiki.page_name_desc=この Wiki ページの名前を入力してください。
wiki.original_git_entry_tooltip=フレンドリーリンクを使用する代わりにオリジナルのGitファイルを表示します。
activity=アクティビティ
activity.navbar.pulse=Pulse
activity.navbar.contributors=貢献者
activity.period.filter_label=期間:
activity.period.daily=1日
activity.period.halfweekly=3日
@ -1973,18 +1972,10 @@ activity.git_stats_and_deletions=、
activity.git_stats_deletion_1=%d行削除
activity.git_stats_deletion_n=%d行削除
contributors.contribution_type.filter_label=実績タイプ:
contributors.contribution_type.commits=コミット
search=検索
search.search_repo=リポジトリを検索
search.type.tooltip=検索タイプ
search.fuzzy=あいまい
search.fuzzy.tooltip=検索ワードにおおよそ一致している結果も含めます
search.match=一致
search.match.tooltip=検索ワードに一致する結果だけを含めます
search.results=<a href="%[2]s">%[3]s</a> 内での "%[1]s" の検索結果
search.code_no_results=検索ワードに一致するソースコードが見つかりません。
search.code_search_unavailable=現在コード検索は利用できません。 サイト管理者にお問い合わせください。
contributors.contribution_type.additions=追加
contributors.contribution_type.deletions=削除
settings=設定
settings.desc=設定では、リポジトリの設定を管理することができます。
@ -2064,6 +2055,7 @@ settings.pulls.default_allow_edits_from_maintainers=デフォルトでメンテ
settings.releases_desc=リリースを有効にする
settings.packages_desc=リポジトリパッケージレジストリを有効にする
settings.projects_desc=リポジトリプロジェクトを有効にする
settings.projects_mode_all=すべてのプロジェクト
settings.actions_desc=Actionsを有効にする
settings.admin_settings=管理者用設定
settings.admin_enable_health_check=リポジトリのヘルスチェックを有効にする (git fsck)
@ -2138,7 +2130,6 @@ settings.delete_collaborator=削除
settings.collaborator_deletion=共同作業者の削除
settings.collaborator_deletion_desc=共同作業者を削除し、このリポジトリへのアクセス権を取り消します。 続行しますか?
settings.remove_collaborator_success=共同作業者を削除しました。
settings.search_user_placeholder=ユーザーを検索…
settings.org_not_allowed_to_be_collaborator=組織を共同作業者として追加することはできません。
settings.change_team_access_not_allowed=リポジトリに対するチームアクセス権の変更は、組織のオーナーのみに制限されています。
settings.team_not_in_organization=チームがリポジトリと同じ組織に属していません。
@ -2146,7 +2137,6 @@ settings.teams=チーム
settings.add_team=チームを追加
settings.add_team_duplicate=チームにはすでにこのリポジトリが登録されています。
settings.add_team_success=チームがこのリポジトリにアクセスできるようになりました。
settings.search_team=チームを検索…
settings.change_team_permission_tip=チームの権限はチーム設定ページで設定されており、リポジトリごとに変更することはできません
settings.delete_team_tip=このチームはすべてのリポジトリにアクセスでき、削除できません
settings.remove_team_success=チームのこのリポジトリへのアクセス権を削除しました。
@ -2299,9 +2289,7 @@ settings.protect_whitelist_committers=ホワイトリストでプッシュを制
settings.protect_whitelist_committers_desc=ホワイトリストに登録したユーザーまたはチームにのみ、このブランチへのプッシュが許可されます。(強制プッシュ以外)
settings.protect_whitelist_deploy_keys=プッシュ可能な書き込み権限を持つデプロイキーをホワイトリストに含める。
settings.protect_whitelist_users=プッシュ・ホワイトリストに含むユーザー:
settings.protect_whitelist_search_users=ユーザーを検索…
settings.protect_whitelist_teams=プッシュ・ホワイトリストに含むチーム:
settings.protect_whitelist_search_teams=チームを検索…
settings.protect_merge_whitelist_committers=マージ・ホワイトリストを有効にする
settings.protect_merge_whitelist_committers_desc=ホワイトリストに登録したユーザーまたはチームにだけ、このブランチに対するプルリクエストのマージを許可します。
settings.protect_merge_whitelist_users=マージ・ホワイトリストに含むユーザー:
@ -2322,6 +2310,8 @@ settings.protect_approvals_whitelist_users=ホワイトリストに含めるレ
settings.protect_approvals_whitelist_teams=ホワイトリストに含めるレビューチーム:
settings.dismiss_stale_approvals=古くなった承認を取り消す
settings.dismiss_stale_approvals_desc=プルリクエストの内容を変える新たなコミットがブランチにプッシュされた場合、以前の承認を取り消します。
settings.ignore_stale_approvals=古くなった承認を無視する
settings.ignore_stale_approvals_desc=古いコミットに対して行われた承認 (古いレビュー) を、PRの承認数にカウントしません。 古いレビューが取り消される場合は関係ありません。
settings.require_signed_commits=コミット署名必須
settings.require_signed_commits_desc=署名されていない場合、または署名が検証できなかった場合は、このブランチへのプッシュを拒否します。
settings.protect_branch_name_pattern=保護ブランチ名のパターン
@ -2377,6 +2367,7 @@ settings.archive.error=リポジトリのアーカイブ設定でエラーが発
settings.archive.error_ismirror=ミラーのリポジトリはアーカイブできません。
settings.archive.branchsettings_unavailable=ブランチ設定は、アーカイブリポジトリでは使用できません。
settings.archive.tagsettings_unavailable=タグ設定は、アーカイブリポジトリでは使用できません。
settings.archive.mirrors_unavailable=リポジトリがアーカイブされている場合、ミラーは利用できません。
settings.unarchive.button=アーカイブ解除
settings.unarchive.header=このリポジトリをアーカイブ解除
settings.unarchive.text=リポジトリのアーカイブを解除すると、コミット、プッシュ、新規のイシューやプルリクエストを受け付ける機能が復活します。
@ -2543,7 +2534,6 @@ branch.default_deletion_failed=ブランチ "%s" はデフォルトブランチ
branch.restore=ブランチ "%s" の復元
branch.download=ブランチ "%s" をダウンロード
branch.rename=ブランチ名 "%s" を変更
branch.search=ブランチを検索
branch.included_desc=このブランチはデフォルトブランチに含まれています
branch.included=埋没
branch.create_new_branch=このブランチをもとに作成します:
@ -2576,6 +2566,11 @@ error.csv.unexpected=このファイルは %d 行目の %d 文字目に予期し
error.csv.invalid_field_count=このファイルは %d 行目のフィールドの数が正しくないため表示できません。
[graphs]
component_loading=%sを読み込み中...
component_loading_failed=%sを読み込めませんでした
component_loading_info=少し時間がかかるかもしれません…
component_failed_to_load=予期しないエラーが発生しました。
contributors.what=実績
[org]
org_name_holder=組織名
@ -2681,7 +2676,6 @@ teams.write_permission_desc=このチームは<strong>書き込み</strong>ア
teams.admin_permission_desc=このチームは<strong>管理者</strong>アクセス権を持ちます: メンバーはチームリポジトリの読み取り、プッシュ、共同作業者の追加が可能です。
teams.create_repo_permission_desc=さらに、このチームには<strong>リポジトリの作成</strong>権限が与えられています: メンバーは組織のリポジトリを新たに作成できます。
teams.repositories=チームのリポジトリ
teams.search_repo_placeholder=リポジトリを検索…
teams.remove_all_repos_title=チームリポジトリをすべて除去
teams.remove_all_repos_desc=チームからすべてのリポジトリを除去します。
teams.add_all_repos_title=すべてのリポジトリを追加
@ -2703,6 +2697,7 @@ teams.invite.description=下のボタンをクリックしてチームに参加
[admin]
dashboard=ダッシュボード
self_check=セルフチェック
identity_access=アイデンティティとアクセス
users=ユーザーアカウント
organizations=組織
@ -2713,6 +2708,8 @@ integrations=連携
authentication=認証ソース
emails=ユーザーメールアドレス
config=設定
config_summary=サマリー
config_settings=設定
notices=システム通知
monitor=モニタリング
first_page=最初
@ -2748,6 +2745,7 @@ dashboard.delete_missing_repos=Gitファイルが存在しないリポジトリ
dashboard.delete_missing_repos.started=Gitファイルが存在しないリポジトリをすべて削除するタスクを開始しました。
dashboard.delete_generated_repository_avatars=自動生成したリポジトリアバターを削除
dashboard.sync_repo_branches=Gitデータからデータベースへ不足しているブランチを同期
dashboard.sync_repo_tags=Gitデータからデータベースへタグを同期
dashboard.update_mirrors=ミラーの更新
dashboard.repo_health_check=全リポジトリのヘルスチェック
dashboard.check_repo_stats=全リポジトリの統計情報を更新
@ -2802,6 +2800,7 @@ dashboard.stop_endless_tasks=終わらないタスクを停止
dashboard.cancel_abandoned_jobs=放置されたままのジョブをキャンセル
dashboard.start_schedule_tasks=スケジュールタスクを開始
dashboard.sync_branch.started=ブランチの同期を開始しました
dashboard.sync_tag.started=タグの同期を開始しました
dashboard.rebuild_issue_indexer=イシューインデクサーの再構築
users.user_manage_panel=ユーザーアカウント管理
@ -2887,9 +2886,6 @@ repos.unadopted.no_more=未登録のリポジトリはありません
repos.owner=オーナー
repos.name=名称
repos.private=プライベート
repos.watches=ウォッチ
repos.stars=スター
repos.forks=フォーク
repos.issues=イシュー
repos.size=サイズ
repos.lfs_size=LFSサイズ
@ -3014,7 +3010,6 @@ auths.tip.nextcloud=新しいOAuthコンシューマーを、インスタンス
auths.tip.dropbox=新しいアプリケーションを https://www.dropbox.com/developers/apps から登録してください。
auths.tip.facebook=新しいアプリケーションを https://developers.facebook.com/apps で登録し、"Facebook Login"を追加してください。
auths.tip.github=新しいOAuthアプリケーションを https://github.com/settings/applications/new から登録してください。
auths.tip.gitlab=新しいアプリケーションを https://gitlab.com/profile/applications から登録してください。
auths.tip.google_plus=OAuth2クライアント資格情報を、Google APIコンソール https://console.developers.google.com/ から取得してください。
auths.tip.openid_connect=OpenID Connect DiscoveryのURL (<server>/.well-known/openid-configuration) をエンドポイントとして指定してください
auths.tip.twitter=https://dev.twitter.com/apps へアクセスしてアプリケーションを作成し、“Allow this application to be used to Sign in with Twitter”オプションを有効にしてください。
@ -3228,6 +3223,12 @@ notices.desc=説明
notices.op=操作
notices.delete_success=システム通知を削除しました。
self_check.no_problem_found=今のところ問題は見つかっていません。
self_check.database_collation_mismatch=データベースに想定される照合順序: %s
self_check.database_collation_case_insensitive=データベースは照合順序 %s を使用しており、大文字小文字を区別しません。 Giteaはその照合順序でも動作するかもしれませんが、まれに期待どおり動作しないケースがあるかもしれません。
self_check.database_inconsistent_collation_columns=データベースは照合順序 %s を使用していますが、以下のカラムはそれと一致しない照合順序を使用しており、予期せぬ問題を引き起こす可能性があります。
self_check.database_fix_mysql=MySQL/MariaDBユーザーの方は、"gitea doctor convert" コマンドを使用することで、照合順序の問題を修正できます。 また、"ALTER ... COLLATE ..." のSQLを手で実行しても修正することができます。
self_check.database_fix_mssql=MSSQLユーザーの方は、問題を修正するには今のところ "ALTER ... COLLATE ..." のSQLを手で実行するしかありません。
[action]
create_repo=がリポジトリ <a href="%s">%s</a> を作成しました
@ -3415,6 +3416,7 @@ rpm.distros.suse=SUSE系ディストリビューションの場合
rpm.install=パッケージをインストールするには、次のコマンドを実行します:
rpm.repository=リポジトリ情報
rpm.repository.architectures=Architectures
rpm.repository.multiple_groups=このパッケージは複数のグループで利用可能です。
rubygems.install=gem を使用してパッケージをインストールするには、次のコマンドを実行します:
rubygems.install2=または Gemfile に追加します:
rubygems.dependencies.runtime=実行用依存関係
@ -3567,6 +3569,7 @@ variables.none=変数はまだありません。
variables.deletion=変数を削除
variables.deletion.description=変数の削除は恒久的で元に戻すことはできません。 続行しますか?
variables.description=変数は特定のActionsに渡されます。 それ以外で読み出されることはありません。
variables.id_not_exist=IDが%dの変数は存在しません。
variables.edit=変数の編集
variables.deletion.failed=変数を削除できませんでした。
variables.deletion.success=変数を削除しました。

View File

@ -84,6 +84,12 @@ concept_user_organization=조직
name=이름
filter.is_template=템플릿
filter.private=비공개
[search]
[aria]
[heatmap]
@ -199,7 +205,6 @@ collaborative_repos=협업 저장소
my_orgs=내 조직
my_mirrors=내 미러 저장소들
view_home=%s 보기
search_repos=저장소 찾기..
show_private=비공개
@ -210,12 +215,7 @@ issues.in_your_repos=당신의 저장소에
repos=저장소
users=유저
organizations=조직
search=검색
code=코드
repo_no_results=일치하는 레포지토리가 없습니다.
user_no_results=일치하는 사용자가 없습니다.
org_no_results=일치하는 조직이 없습니다.
code_no_results=검색어와 일치하는 소스코드가 없습니다.
[auth]
create_new_account=계정 등록
@ -226,7 +226,6 @@ disable_register_mail=계정 등록을 위한 이메일 검증이 비활성화
forgot_password_title=비밀번호 찾기
forgot_password=비밀번호를 잊으셨나요?
sign_up_now=계정이 필요하신가요? 지금 가입하세요.
confirmation_mail_sent_prompt=새로운 확인 메일이 <b>%s</b>로 전송되었습니다. 받은 편지함으로 도착한 메일을 %s 안에 확인해서 등록 절차를 완료하십시오.
must_change_password=비밀번호를 변경하세요.
allow_password_change=사용자에게 비밀번호 변경을 요청 (권장됨)
reset_password_mail_sent_prompt=확인 메일이 <b>%s</b>로 전송되었습니다. 받은 편지함으로 도착한 메일을 %s 안에 확인해서 비밀번호 찾기 절차를 완료하십시오.
@ -363,6 +362,7 @@ unfollow=추적해제
user_bio=소개
[settings]
profile=프로필
account=계정
@ -661,8 +661,6 @@ editor.add_subdir=경로 추가...
commits.desc=소스 코드 변경 내역 탐색
commits.commits=커밋
commits.search=커밋 찾기...
commits.find=검색
commits.search_all=모든 브랜치
commits.author=작성자
commits.message=메시지
@ -844,7 +842,6 @@ pulls.compare_changes=새 풀 리퀘스트
pulls.compare_base=병합하기
pulls.compare_compare=다음으로부터 풀
pulls.filter_branch=Filter Branch
pulls.no_results=결과 없음
pulls.create=풀 리퀘스트 생성
pulls.title_desc="<code>%[2]s</code> 에서 <code id=\"branch_target\">%[3]s</code> 로 %[1]d commits 를 머지하려 합니다"
pulls.merged_title_desc=<code>%[2]s</code> 에서 <code>%[3]s</code> 로 %[1]d commits 를 머지했습니다 %[4]s
@ -952,11 +949,6 @@ activity.published_release_label=배포됨
contributors.contribution_type.commits=커밋
search=검색
search.search_repo=저장소 검색
search.results="<a href=\"%s\">%s</a> 에서 \"%s\" 에 대한 검색 결과"
search.code_no_results=검색어와 일치하는 소스코드가 없습니다.
settings=설정
settings.desc=설정은 저장소 설정을 관리할 수 있습니다.
settings.options=저장소
@ -1016,7 +1008,6 @@ settings.add_collaborator=새 공동작업자 추가
settings.add_collaborator_success=공동작업자가 추가 되었습니다.
settings.delete_collaborator=제거
settings.collaborator_deletion=공동작업자 삭제
settings.search_user_placeholder=사용자 검색...
settings.teams=
settings.add_webhook=Webhook 추가
settings.webhook_deletion=Webhook 삭제
@ -1090,8 +1081,6 @@ settings.branch_protection='<b>%s</b>' 브랜치 보호
settings.protect_this_branch=브랜치 보호 활성화
settings.protect_disable_push=푸시 끄기
settings.protect_enable_push=푸시 켜기
settings.protect_whitelist_search_users=사용자 찾기...
settings.protect_whitelist_search_teams=팀 찾기...
settings.protect_merge_whitelist_committers=머지 화이트리스트 활성화
settings.protect_required_approvals=필요한 승인:
settings.protect_approvals_whitelist_users=화이트리스트된 리뷰어:
@ -1226,7 +1215,6 @@ teams.add_team_member=팀 구성원 추가
teams.delete_team_title=팀 삭제
teams.delete_team_success=팀이 삭제되었습니다.
teams.repositories=팀 저장소
teams.search_repo_placeholder=저장소 찾기...
teams.add_duplicate_users=사용자가 이미 팀 멤버입니다.
teams.members.none=이 팀에 멤버가 없습니다.
@ -1237,6 +1225,8 @@ organizations=조직
repositories=저장소
authentication=인증 소스
config=설정
config_summary=요약
config_settings=설정
notices=시스템 공지
monitor=모니터링
first_page=처음
@ -1323,9 +1313,6 @@ repos.repo_manage_panel=저장소 관리
repos.owner=소유자
repos.name=이름
repos.private=비공개
repos.watches=지켜보기
repos.stars=
repos.forks=포크
repos.issues=이슈
repos.size=크기

View File

@ -141,6 +141,15 @@ confirm_delete_selected=Apstiprināt, lai izdzēstu visus atlasītos vienumus?
name=Nosaukums
value=Vērtība
filter=Filtrs
filter.is_archived=Arhivētie
filter.is_template=Sagatave
filter.public=Publiska
filter.private=Privāts
[search]
[aria]
navbar=Navigācijas josla
footer=Kājene
@ -314,7 +323,6 @@ collaborative_repos=Sadarbības repozitoriji
my_orgs=Manas organizācijas
my_mirrors=Mani spoguļi
view_home=Skatīties %s
search_repos=Meklēt repozitoriju…
filter=Citi filtri
filter_by_team_repositories=Filtrēt pēc komandas repozitorijiem
feed_of=`"%s" plūsma`
@ -335,20 +343,8 @@ issues.in_your_repos=Jūsu repozitorijos
repos=Repozitoriji
users=Lietotāji
organizations=Organizācijas
search=Meklēt
go_to=Iet uz
code=Kods
search.type.tooltip=Meklēšanas veids
search.fuzzy=Aptuveni
search.fuzzy.tooltip=Iekļaut meklēšanas rezultātos arī aptuvenas sakritības
search.match=Precīzi
search.match.tooltip=Iekļaut meklēšanas rezultātos tikai precīzas sakritības
code_search_unavailable=Pašlaik koda meklēšana nav pieejama. Sazinieties ar lapas administratoru.
repo_no_results=Netika atrasts neviens repozitorijs, kas atbilstu kritērijiem.
user_no_results=Netika atrasts neviens lietotājs, kas atbilstu kritērijiem.
org_no_results=Netika atrasta neviena organizācija, kas atbilstu kritērijiem.
code_no_results=Netika atrasts pirmkods, kas atbilstu kritērijiem.
code_search_results=`Meklēšanas rezultāti "%s"`
code_last_indexed_at=Pēdējo reizi indeksēts %s
relevant_repositories_tooltip=Repozitoriju, kas ir atdalīti vai kuriem nav tēmas, ikonas un apraksta ir paslēpti.
relevant_repositories=Tikai būtiskie repozitoriji tiek rādīti, <a href="%s">pārādīt nefiltrētus rezultātus</a>.
@ -366,7 +362,6 @@ forgot_password_title=Aizmirsu paroli
forgot_password=Aizmirsi paroli?
sign_up_now=Nepieciešams konts? Reģistrējies tagad.
sign_up_successful=Konts tika veiksmīgi izveidots. Laipni lūdzam!
confirmation_mail_sent_prompt=Jauns apstiprināšanas e-pasts ir nosūtīts uz <b>%s</b>, pārbaudies savu e-pasta kontu tuvāko %s laikā, lai pabeigtu reģistrācijas procesu.
must_change_password=Mainīt paroli
allow_password_change=Pieprasīt lietotājam mainīt paroli (ieteicams)
reset_password_mail_sent_prompt=Apstiprināšanas e-pasts tika nosūtīts uz <b>%s</b>. Pārbaudiet savu e-pasta kontu tuvāko %s laikā, lai pabeigtu paroles atjaunošanas procesu.
@ -614,6 +609,7 @@ form.name_reserved=Lietotājvārdu "%s" nedrīkst izmantot.
form.name_pattern_not_allowed=Lietotājvārds "%s" nav atļauts.
form.name_chars_not_allowed=Lietotāja vārds "%s" satur neatļautus simbolus.
[settings]
profile=Profils
account=Konts
@ -758,7 +754,6 @@ gpg_invalid_token_signature=Norādītā GPG atslēga, paraksts un pilnvara neatb
gpg_token_required=Jānorāda paraksts zemāk esošajai pilnvarai
gpg_token=Pilnvara
gpg_token_help=Parakstu ir iespējams uzģenerēt izmantojot komandu:
gpg_token_code=echo "%s" | gpg -a --default-key %s --detach-sig
gpg_token_signature=Tekstuāls GPG paraksts
key_signature_gpg_placeholder=Sākas ar '-----BEGIN PGP SIGNATURE-----'
verify_gpg_key_success=GPG atslēga "%s" veiksmīgi pārbaudīta.
@ -952,7 +947,6 @@ fork_branch=Atzars, ko klonēt atdalītajā repozitorijā
all_branches=Visi atzari
fork_no_valid_owners=Šim repozitorijam nevar izveidot atdalītu repozitoriju, jo tam nav spēkā esošu īpašnieku.
use_template=Izmantot šo sagatavi
clone_in_vsc=Atvērt VS Code
download_zip=Lejupielādēt ZIP
download_tar=Lejupielādēt TAR.GZ
download_bundle=Lejupielādēt BUNDLE
@ -1272,9 +1266,7 @@ commits.desc=Pārlūkot pirmkoda izmaiņu vēsturi.
commits.commits=Revīzijas
commits.no_commits=Nav kopīgu revīziju. Atzariem "%s" un "%s" ir pilnībā atšķirīga izmaiņu vēsture.
commits.nothing_to_compare=Atzari ir vienādi.
commits.search=Meklēt revīzijas…
commits.search.tooltip=Jūs varat izmantot atslēgas vārdus "author:", "committer:", "after:" vai "before:", piemēram, "revert author:Alice before:2019-01-13".
commits.find=Meklēt
commits.search_all=Visi atzari
commits.author=Autors
commits.message=Ziņojums
@ -1325,7 +1317,6 @@ projects.type.basic_kanban=`Vienkāršots "Kanban"`
projects.type.bug_triage=Kļūdu šķirošana
projects.template.desc=Projekta sagatave
projects.template.desc_helper=Izvēlieties projekta sagatavi, lai sāktu darbu
projects.type.uncategorized=Bez kategorijas
projects.column.edit=Rediģēt kolonnas
projects.column.edit_title=Nosaukums
projects.column.new_title=Nosaukums
@ -1333,10 +1324,7 @@ projects.column.new_submit=Izveidot kolonnu
projects.column.new=Jauna kolonna
projects.column.set_default=Izvēlēties kā noklusēto
projects.column.set_default_desc=Izvēlēties šo kolonnu kā noklusēto nekategorizētām problēmām un izmaiņu pieteikumiem
projects.column.unset_default=Atiestatīt noklusēto
projects.column.unset_default_desc=Noņemt šo kolonnu kā noklusēto
projects.column.delete=Dzēst kolonnu
projects.column.deletion_desc=Dzēšot projekta kolonnu visas tam piesaistītās problēmas tiks pārliktas kā nekategorizētas. Vai turpināt?
projects.column.color=Krāsa
projects.open=Aktīvie
projects.close=Pabeigtie
@ -1448,7 +1436,6 @@ issues.filter_sort.moststars=Visvairāk atzīmētie
issues.filter_sort.feweststars=Vismazāk atzīmētie
issues.filter_sort.mostforks=Visvairāk atdalītie
issues.filter_sort.fewestforks=Vismazāk atdalītie
issues.keyword_search_unavailable=Meklēšana pēc atslēgvārda pašreiz nav pieejama. Lūgums sazināties ar vietnes administratoru.
issues.action_open=Atvērt
issues.action_close=Aizvērt
issues.action_label=Etiķete
@ -1700,7 +1687,6 @@ pulls.compare_compare=salīdzināmais
pulls.switch_comparison_type=Mainīt salīdzināšanas tipu
pulls.switch_head_and_base=Mainīt galvas un pamata atzarus
pulls.filter_branch=Filtrēt atzarus
pulls.no_results=Nekas netika atrasts.
pulls.show_all_commits=Rādīt visas revīzijas
pulls.show_changes_since_your_last_review=Rādīt izmaiņas kopš Tavas pēdējās recenzijas
pulls.showing_only_single_commit=Rāda tikai revīzijas %[1]s izmaiņas
@ -1970,17 +1956,6 @@ activity.git_stats_deletion_n=%d dzēšanas
contributors.contribution_type.commits=Revīzijas
search=Meklēt
search.search_repo=Meklēšana repozitorijā
search.type.tooltip=Meklēšanas veids
search.fuzzy=Aptuveni
search.fuzzy.tooltip=Iekļaut meklēšanas rezultātos arī aptuvenas sakritības
search.match=Precīzi
search.match.tooltip=Iekļaut meklēšanas rezultātos tikai precīzas sakritības
search.results=Meklēšanas rezultāti nosacījumam "%s" repozitorijā <a href="%s">%s</a>
search.code_no_results=Netika atrasts pirmkods, kas atbilstu kritērijiem.
search.code_search_unavailable=Pašlaik koda meklēšana nav pieejama. Sazinieties ar lapas administratoru.
settings=Iestatījumi
settings.desc=Iestatījumi ir vieta, kur varat pārvaldīt repozitorija iestatījumus
settings.options=Repozitorijs
@ -2058,6 +2033,7 @@ settings.pulls.default_allow_edits_from_maintainers=Atļaut uzturētājiem labot
settings.releases_desc=Iespējot repozitorija laidienus
settings.packages_desc=Iespējot repozitorija pakotņu reģistru
settings.projects_desc=Iespējot repozitorija projektus
settings.projects_mode_all=Visi projekti
settings.actions_desc=Iespējot repozitorija darbības
settings.admin_settings=Administratora iestatījumi
settings.admin_enable_health_check=Iespējot veselības pārbaudi (git fsck) šim repozitorijam
@ -2132,7 +2108,6 @@ settings.delete_collaborator=Noņemt
settings.collaborator_deletion=Noņemt līdzstrādnieku
settings.collaborator_deletion_desc=Noņemot līdzstrādnieku, tam tiks liegta piekļuve šim repozitorijam. Vai turpināt?
settings.remove_collaborator_success=Līdzstrādnieks tika noņemts.
settings.search_user_placeholder=Meklēt lietotāju…
settings.org_not_allowed_to_be_collaborator=Organizācijas nevar tikt pievienotas kā līdzstrādnieki.
settings.change_team_access_not_allowed=Iespēja mainīt komandu piekļuvi repozitorijam ir organizācijas īpašniekam
settings.team_not_in_organization=Komanda nav tajā pašā organizācijā kā repozitorijs
@ -2140,7 +2115,6 @@ settings.teams=Komandas
settings.add_team=Pievienot komandu
settings.add_team_duplicate=Komandai jau ir piekļuve šim repozitorijam
settings.add_team_success=Komandai tagad ir piekļuve šim repozitorijam.
settings.search_team=Meklēt komandu…
settings.change_team_permission_tip=Komandas tiesības tiek uzstādītas komandas iestatījumu lapā un nevar tikt individuāli mainītas katram repozitorijam atsevišķi
settings.delete_team_tip=Komandai ir piekļuve visiem repozitorijiem un tā nevar tikt noņemta individuāli
settings.remove_team_success=Komandas piekļuve šim repozitorijam ir noņemta.
@ -2293,9 +2267,7 @@ settings.protect_whitelist_committers=Atļaut iesūtīt izmaiņas norādītajiem
settings.protect_whitelist_committers_desc=Tikai norādītiem lietotāji vai komandas varēs iesūtīt izmaiņas šajā atzarā (piespiedu izmaiņu iesūtīšanas netiks atļauta).
settings.protect_whitelist_deploy_keys=Atļaut izvietošanas atslēgām ar rakstīšanas tiesībām nosūtīt izmaiņas.
settings.protect_whitelist_users=Lietotāji, kas var veikt izmaiņu nosūtīšanu:
settings.protect_whitelist_search_users=Meklēt lietotājus…
settings.protect_whitelist_teams=Komandas, kas var veikt izmaiņu nosūtīšanu:
settings.protect_whitelist_search_teams=Meklēt komandas…
settings.protect_merge_whitelist_committers=Iespējot sapludināšanas ierobežošanu
settings.protect_merge_whitelist_committers_desc=Atļaut tikai noteiktiem lietotājiem vai komandām sapludināt izmaiņu pieprasījumus šajā atzarā.
settings.protect_merge_whitelist_users=Lietotāji, kas var veikt izmaiņu sapludināšanu:
@ -2537,7 +2509,6 @@ branch.default_deletion_failed=Atzars "%s" ir noklusētais atzars un to nevar dz
branch.restore=`Atjaunot atzaru "%s"`
branch.download=`Lejupielādēt atzaru "%s"`
branch.rename=`Pārsaukt atzaru "%s"`
branch.search=Meklēt atzarā
branch.included_desc=Šis atzars ir daļa no noklusēta atzara
branch.included=Iekļauts
branch.create_new_branch=Izveidot jaunu atzaru no atzara:
@ -2679,7 +2650,6 @@ teams.write_permission_desc=Šai komandai ir <strong>rakstīšanas</strong> ties
teams.admin_permission_desc=Šai komandai ir <strong>administratora</strong> tiesības: dalībnieki var lasīt, rakstīt un pievienot citus dalībniekus komandas repozitorijiem.
teams.create_repo_permission_desc=Papildus šī komanda piešķirt <strong>Veidot repozitorijus</strong> tiesības: komandas biedri var veidot jaunus repozitorijus šajā organizācijā.
teams.repositories=Komandas repozitoriji
teams.search_repo_placeholder=Meklēt repozitorijā…
teams.remove_all_repos_title=Noņemt visus komandas repozitorijus
teams.remove_all_repos_desc=Šī darbība noņems visus repozitorijus no komandas.
teams.add_all_repos_title=Pievienot visus repozitorijus
@ -2712,6 +2682,8 @@ integrations=Integrācijas
authentication=Autentificēšanas avoti
emails=Lietotāja e-pasts
config=Konfigurācija
config_summary=Kopsavilkums
config_settings=Iestatījumi
notices=Sistēmas paziņojumi
monitor=Uzraudzība
first_page=Pirmā
@ -2886,9 +2858,6 @@ repos.unadopted.no_more=Netika atrasts neviens nepārņemtais repozitorijs
repos.owner=Īpašnieks
repos.name=Nosaukums
repos.private=Privāts
repos.watches=Vērošana
repos.stars=Zvaigznes
repos.forks=Atdalītie
repos.issues=Problēmas
repos.size=Izmērs
repos.lfs_size=LFS izmērs
@ -3013,7 +2982,6 @@ auths.tip.nextcloud=`Reģistrējiet jaunu OAuth klientu jūsu instances sadāļ
auths.tip.dropbox=Izveidojiet jaunu aplikāciju adresē https://www.dropbox.com/developers/apps
auths.tip.facebook=`Reģistrējiet jaunu aplikāciju adresē https://developers.facebook.com/apps un pievienojiet produktu "Facebook Login"`
auths.tip.github=Reģistrējiet jaunu aplikāciju adresē https://github.com/settings/applications/new
auths.tip.gitlab=Reģistrējiet jaunu aplikāciju adresē https://gitlab.com/profile/applications
auths.tip.google_plus=Iegūstiet OAuth2 klienta pilnvaru no Google API konsoles adresē https://console.developers.google.com/
auths.tip.openid_connect=Izmantojiet OpenID pieslēgšanās atklāšanas URL (<serveris>/.well-known/openid-configuration), lai norādītu galapunktus
auths.tip.twitter=Dodieties uz adresi https://dev.twitter.com/apps, izveidojiet lietotni un pārliecinieties, ka ir atzīmēts “Allow this application to be used to Sign in with Twitter”

View File

@ -115,6 +115,15 @@ concept_user_organization=Organisatie
name=Naam
filter=Filter
filter.is_archived=Gearchiveerd
filter.is_template=Sjabloon
filter.public=Publiek
filter.private=Prive
[search]
[aria]
[heatmap]
@ -253,7 +262,6 @@ collaborative_repos=Gedeelde repositories
my_orgs=Mijn organisaties
my_mirrors=Mijn spiegels
view_home=Bekijk %s
search_repos=Zoek een repository…
filter=Andere filters
filter_by_team_repositories=Filter op team repositories
feed_of=`Feed van "%s"`
@ -274,15 +282,7 @@ issues.in_your_repos=In uw repositories
repos=Repositories
users=Gebruikers
organizations=Organisaties
search=Zoeken
code=Code
search.fuzzy=Vergelijkbaar
search.match=Overeenkomst
code_search_unavailable=Er is momenteel geen code zoekfunctie beschikbaar. Neem contact op met uw sitebeheerder.
repo_no_results=Er zijn geen overeenkomende repositories gevonden.
user_no_results=Er zijn geen overeenkomende gebruikers gevonden.
org_no_results=Er zijn geen overeenkomende organisaties gevonden.
code_no_results=Geen broncode gevonden in overeenstemming met uw zoekterm.
code_last_indexed_at=Laatst geïndexeerd %s
[auth]
@ -296,7 +296,6 @@ remember_me=Onthoud dit apparaat
forgot_password_title=Wachtwoord vergeten
forgot_password=Wachtwoord vergeten?
sign_up_now=Een account nodig? Meld u nu aan.
confirmation_mail_sent_prompt=Een nieuwe bevestigingsmail is gestuurd naar <b>%s</b>. De mail moet binnen %s worden bevestigd om je registratie te voltooien.
must_change_password=Uw wachtwoord wijzigen
allow_password_change=Verplicht de gebruiker om zijn/haar wachtwoord te wijzigen (aanbevolen)
reset_password_mail_sent_prompt=Een bevestigingsmail is verstuurd naar <b>%s</b>. Controleer uw inbox in de volgende %s om het herstel van uw account te voltooien.
@ -506,6 +505,7 @@ user_bio=Biografie
disabled_public_activity=Deze gebruiker heeft de publieke zichtbaarheid van de activiteit uitgeschakeld.
[settings]
profile=Profiel
account=Account
@ -633,7 +633,6 @@ gpg_invalid_token_signature=De opgegeven GPG-sleutel, handtekening en token kome
gpg_token_required=U moet een handtekening opgeven voor de onderstaande token
gpg_token=Token
gpg_token_help=U kunt een handtekening genereren met:
gpg_token_code=echo "%s" | gpg -a --default-key %s --detach-sig
gpg_token_signature=Gepantserde GPG-handtekening
key_signature_gpg_placeholder=Begint met '-----BEGIN PGP SIGNATURE-----'
ssh_key_verified=Geverifieerde sleutel
@ -785,7 +784,6 @@ already_forked=Je hebt %s al geforked
fork_to_different_account=Fork naar een ander account
fork_visibility_helper=De zichtbaarheid van een geforkte repository kan niet worden veranderd.
use_template=Gebruik dit sjabloon
clone_in_vsc=Kloon in VS Code
download_zip=ZIP downloaden
download_tar=TAR.GZ downloaden
download_bundle=BUNDLE downloaden
@ -1049,8 +1047,6 @@ editor.revert=%s ongedaan maken op:
commits.desc=Bekijk de broncode-wijzigingsgeschiedenis.
commits.commits=Commits
commits.nothing_to_compare=Deze branches zijn gelijk.
commits.search=Zoek commits…
commits.find=Zoek
commits.search_all=Alle branches
commits.author=Auteur
commits.message=Bericht
@ -1095,7 +1091,6 @@ projects.type.basic_kanban=Basis Kanban
projects.type.bug_triage=Bug Triage
projects.template.desc=Project sjabloon
projects.template.desc_helper=Selecteer een projecttemplate om aan de slag te gaan
projects.type.uncategorized=Ongecategoriseerd
projects.column.edit_title=Naam
projects.column.new_title=Naam
projects.column.color=Kleur
@ -1406,7 +1401,6 @@ pulls.compare_compare=trekken van
pulls.switch_comparison_type=Wissel vergelijking type
pulls.switch_head_and_base=Verwissel hoofd en basis
pulls.filter_branch=Filter branch
pulls.no_results=Geen resultaten gevonden.
pulls.nothing_to_compare=Deze branches zijn gelijk. Er is geen pull-aanvraag nodig.
pulls.nothing_to_compare_and_allow_empty_pr=Deze branches zijn gelijk. Deze pull verzoek zal leeg zijn.
pulls.has_pull_request=`Een pull-verzoek tussen deze branches bestaat al: <a href="%[1]s">%[2]s#%[3]d</a>`
@ -1621,14 +1615,6 @@ activity.git_stats_deletion_n=%d verwijderingen
contributors.contribution_type.commits=Commits
search=Zoek
search.search_repo=Zoek repository
search.fuzzy=Vergelijkbaar
search.match=Overeenkomst
search.results=Zoek resultaat voor "%s" in <a href="%s">%s</a>
search.code_no_results=Geen broncode gevonden die aan uw zoekterm voldoet.
search.code_search_unavailable=Er is momenteel geen code zoekfunctie beschikbaar. Neem contact op met uw sitebeheerder.
settings=Instellingen
settings.desc=In de instellingen kan je de instellingen van de repository aanpassen
settings.options=Repository
@ -1705,7 +1691,6 @@ settings.delete_collaborator=Verwijder
settings.collaborator_deletion=Verwijder medewerker
settings.collaborator_deletion_desc=Het verwijderen van een collaborator zal hun toegang tot deze repository intrekken. Doorgaan?
settings.remove_collaborator_success=De medewerker is verwijderd.
settings.search_user_placeholder=Zoek gebruiker…
settings.org_not_allowed_to_be_collaborator=Organisaties kunnen niet worden toegevoegd als een medewerker.
settings.change_team_access_not_allowed=Het veranderen van team toegang voor de repository is beperkt tot de organisatie eigenaar
settings.team_not_in_organization=Het team zit niet in dezelfde organisatie als de repository
@ -1713,7 +1698,6 @@ settings.teams=Teams
settings.add_team=Team toevoegen
settings.add_team_duplicate=Team heeft al de repository
settings.add_team_success=Het team heeft nu toegang tot de repository.
settings.search_team=Zoek team…
settings.change_team_permission_tip=Teammachtiging is ingesteld op de team-instellingspagina en kan niet per repository worden gewijzigd
settings.delete_team_tip=Dit team heeft toegang tot alle repositories en kan niet verwijderd worden
settings.remove_team_success=De toegang van het team tot de repository is verwijderd.
@ -1845,9 +1829,7 @@ settings.protect_whitelist_committers=Whitelist Beperkte Push
settings.protect_whitelist_committers_desc=Alleen gewhiteliste gebruikers of teams mogen pushen naar deze branch (maar geen force push).
settings.protect_whitelist_deploy_keys=Whitelist deploy sleutels met schrijftoegang om te pushen.
settings.protect_whitelist_users=Toegestane gebruikers voor push:
settings.protect_whitelist_search_users=Zoek gebruiker…
settings.protect_whitelist_teams=Toegestane teams voor push:
settings.protect_whitelist_search_teams=Zoek teams…
settings.protect_merge_whitelist_committers=Samenvoegen whitelist inschakelen
settings.protect_merge_whitelist_committers_desc=Sta alleen gebruikers of teams van de whitelist toe om pull requests samen te voegen met deze branch.
settings.protect_merge_whitelist_users=Toegestane gebruikers voor samenvoegen:
@ -2123,7 +2105,6 @@ teams.write_permission_desc=Dit team heeft <strong>Schrijf</strong> rechten: led
teams.admin_permission_desc=Dit team heeft <strong>beheersrechten</strong>: leden kunnen van en naar teamrepositories pullen, pushen, en er medewerkers aan toevoegen.
teams.create_repo_permission_desc=Daarnaast verleent dit team <strong>Maak repository</strong> permissie: leden kunnen nieuwe repositories maken in de organisatie.
teams.repositories=Teamrepositories
teams.search_repo_placeholder=Repository zoeken…
teams.remove_all_repos_title=Verwijder alle team repositories
teams.remove_all_repos_desc=Dit zal alle repositories uit het team verwijderen.
teams.add_all_repos_title=Voeg alle repositories toe
@ -2145,6 +2126,8 @@ repositories=Repositories
authentication=Authenticatie bronnen
emails=Gebruikeremails
config=Configuratie
config_summary=Overzicht
config_settings=Instellingen
notices=Systeem aankondigingen
monitor=Bijhouden
first_page=Eerste
@ -2282,9 +2265,6 @@ repos.unadopted.no_more=Geen niet-geadopteerde repositories meer gevonden
repos.owner=Eigenaar
repos.name=Naam
repos.private=Prive
repos.watches=Volgers
repos.stars=Sterren
repos.forks=Forks
repos.issues=Kwesties
repos.size=Grootte
@ -2365,7 +2345,6 @@ auths.tip.nextcloud=`Registreer een nieuwe OAuth consument op je installatie met
auths.tip.dropbox=Maak een nieuwe applicatie aan op https://www.dropbox.com/developers/apps
auths.tip.facebook=Registreer een nieuwe applicatie op https://developers.facebook.com/apps en voeg het product "Facebook Login" toe
auths.tip.github=Registreer een nieuwe OAuth toepassing op https://github.com/settings/applications/new
auths.tip.gitlab=Registreer een nieuwe applicatie op https://gitlab.com/profile/applicaties
auths.tip.google_plus=Verkrijg OAuth2 client referenties van de Google API console op https://console.developers.google.com/
auths.tip.openid_connect=Gebruik de OpenID Connect Discovery URL (<server>/.well-known/openid-configuration) om de eindpunten op te geven
auths.tip.yandex=`Maak een nieuwe applicatie aan op https://oauth.yandex.com/client/new. Selecteer de volgende machtigingen van de "Yandex". assport API sectie: "Toegang tot e-mailadres", "Toegang tot avatar" en "Toegang tot gebruikersnaam, voornaam en achternaam, geslacht"`

View File

@ -113,6 +113,14 @@ concept_user_organization=Organizacja
name=Nazwa
filter.is_archived=Zarchiwizowane
filter.is_template=Szablon
filter.public=Publiczne
filter.private=Prywatne
[search]
[aria]
[heatmap]
@ -251,7 +259,6 @@ collaborative_repos=Wspólne repozytoria
my_orgs=Moje organizacje
my_mirrors=Moje kopie lustrzane
view_home=Zobacz %s
search_repos=Znajdź repozytorium…
filter=Inne filtry
filter_by_team_repositories=Filtruj według repozytoriów zespołu
feed_of=`Kanał "%s"`
@ -272,14 +279,7 @@ issues.in_your_repos=W Twoich repozytoriach
repos=Repozytoria
users=Użytkownicy
organizations=Organizacje
search=Szukaj
code=Kod
search.fuzzy=Fuzzy
search.match=Dopasuj
repo_no_results=Nie znaleziono pasujących repozytoriów.
user_no_results=Nie znaleziono pasującego użytkowników.
org_no_results=Nie znaleziono pasujących organizacji.
code_no_results=Nie znaleziono kodu źródłowego odpowiadającego Twojej frazie wyszukiwania.
code_last_indexed_at=Ostatnio indeksowane %s
[auth]
@ -292,7 +292,6 @@ remember_me=Zapamiętaj to urządzenie
forgot_password_title=Zapomniałem hasła
forgot_password=Zapomniałeś hasła?
sign_up_now=Potrzebujesz konta? Zarejestruj się teraz.
confirmation_mail_sent_prompt=Nowy email aktywacyjny został wysłany na adres <b>%s</b>. Sprawdź swoją skrzynkę odbiorczą w ciągu %s aby dokończyć proces rejestracji.
must_change_password=Zaktualizuj swoje hasło
allow_password_change=Użytkownik musi zmienić hasło (zalecane)
reset_password_mail_sent_prompt=E-mail potwierdzający został wysłany na adres <b>%s</b>. Sprawdź swoją skrzynkę odbiorczą w przeciągu %s, aby ukończyć proces odzyskiwania konta.
@ -491,6 +490,7 @@ user_bio=Biografia
disabled_public_activity=Ten użytkownik wyłączył publiczne wyświetlanie jego aktywności.
[settings]
profile=Profil
account=Konto
@ -597,7 +597,6 @@ gpg_invalid_token_signature=Podany klucz GPG, podpis i token nie pasują lub tok
gpg_token_required=Musisz podać podpis poniższego tokenu
gpg_token=Token
gpg_token_help=Możesz wygenerować podpis za pomocą:
gpg_token_code=echo "%s" | gpg -a --default-key %s --detach-sig
gpg_token_signature=Wzmocniony podpis GPG
key_signature_gpg_placeholder=Zaczyna się od '-----BEGIN PGP SIGNATURE-----'
ssh_key_verified=Zweryfikowany klucz
@ -741,7 +740,6 @@ fork_repo=Forkuj repozytorium
fork_from=Forkuj z
fork_visibility_helper=Widoczność sforkowanego repozytorium nie może być zmieniona.
use_template=Użyj tego szablonu
clone_in_vsc=Klonuj w VS Code
download_zip=Pobierz ZIP
download_tar=Pobierz TAR.GZ
download_bundle=Pobierz BUNDLE
@ -974,8 +972,6 @@ editor.require_signed_commit=Gałąź wymaga podpisanych commitów
commits.desc=Przeglądaj historię zmian kodu źródłowego.
commits.commits=Commity
commits.search=Przeszukaj commity…
commits.find=Szukaj
commits.search_all=Wszystkie gałęzie
commits.author=Autor
commits.message=Wiadomość
@ -1011,7 +1007,6 @@ projects.type.basic_kanban=Basic Kanban
projects.type.bug_triage=Bug Triage
projects.template.desc=Szablon projektu
projects.template.desc_helper=Wybierz szablon projektu do rozpoczęcia
projects.type.uncategorized=Bez kategorii
projects.column.edit_title=Nazwa
projects.column.new_title=Nazwa
projects.column.color=Kolor
@ -1280,7 +1275,6 @@ pulls.compare_changes_desc=Wybierz gałąź, do której chcesz scalić oraz gał
pulls.compare_base=scal do
pulls.compare_compare=ściągnij z
pulls.filter_branch=Filtruj branch
pulls.no_results=Nie znaleziono wyników.
pulls.nothing_to_compare=Te gałęzie są sobie równe. Nie ma potrzeby tworzyć Pull Requesta.
pulls.nothing_to_compare_and_allow_empty_pr=Te gałęzie są równe. Ten PR będzie pusty.
pulls.create=Utwórz Pull Request
@ -1470,13 +1464,6 @@ activity.git_stats_deletion_n=%d usunięć
contributors.contribution_type.commits=Commity
search=Szukaj
search.search_repo=Przeszukaj repozytorium
search.fuzzy=Fuzzy
search.match=Dopasuj
search.results=Wyniki wyszukiwania dla "%s" w <a href="%s">%s</a>
search.code_no_results=Nie znaleziono kodu źródłowego odpowiadającego Twojej frazie wyszukiwania.
settings=Ustawienia
settings.desc=Ustawienia to miejsce, w którym możesz zmieniać parametry repozytorium
settings.options=Repozytorium
@ -1586,7 +1573,6 @@ settings.delete_collaborator=Usuń
settings.collaborator_deletion=Usuń współpracownika
settings.collaborator_deletion_desc=Usunięcie współpracownika odbierze mu dostęp do tego repozytorium. Kontynuować?
settings.remove_collaborator_success=Usunięto użytkownika.
settings.search_user_placeholder=Szukaj użytkownika…
settings.org_not_allowed_to_be_collaborator=Organizacji nie można dodać jako współpracownika.
settings.change_team_access_not_allowed=Zmiana dostępu zespołu do repozytorium zostało zastrzeżone do właściciela organizacji
settings.team_not_in_organization=Zespół nie jest w tej samej organizacji co repozytorium
@ -1594,7 +1580,6 @@ settings.teams=Zespoły
settings.add_team=Dodaj zespół
settings.add_team_duplicate=Zespół już posiada repozytorium
settings.add_team_success=Zespół ma teraz dostęp do repozytorium.
settings.search_team=Szukaj zespołu…
settings.change_team_permission_tip=Uprawnienia zespołu ustawione są konfigurowane na stronie ustawień zespołu i nie mogą być zmieniane dla pojedynczych repozytoriów
settings.delete_team_tip=Ten zespół ma dostęp do wszystkich repozytoriów i nie może zostać usunięty
settings.remove_team_success=Dostęp zespołu do repozytorium został usunięty.
@ -1710,9 +1695,7 @@ settings.protect_whitelist_committers=Wypychanie ograniczone białą listą
settings.protect_whitelist_committers_desc=Tylko dopuszczeni użytkownicy oraz zespoły będą miały możliwość wypychania zmian do tej gałęzi (oprócz wymuszenia wypchnięcia).
settings.protect_whitelist_deploy_keys=Dozwolona lista kluczy wdrożeniowych z uprawnieniem zapisu do push'a.
settings.protect_whitelist_users=Użytkownicy dopuszczeni do wypychania:
settings.protect_whitelist_search_users=Szukaj użytkowników…
settings.protect_whitelist_teams=Zespoły dopuszczone do wypychania:
settings.protect_whitelist_search_teams=Szukaj zespołów…
settings.protect_merge_whitelist_committers=Włącz dopuszczenie scalania
settings.protect_merge_whitelist_committers_desc=Zezwól jedynie dopuszczonym użytkownikom lub zespołom na scalanie Pull Requestów w tej gałęzi.
settings.protect_merge_whitelist_users=Użytkownicy dopuszczeni do scalania:
@ -1994,7 +1977,6 @@ teams.write_permission_desc=Ten zespół udziela dostępu <strong>z zapisem</str
teams.admin_permission_desc=Ten zespół udziela dostępu <strong>administratora</strong>: członkowie mogą wyświetlać i wypychać zmiany oraz dodawać współpracowników do repozytoriów zespołu.
teams.create_repo_permission_desc=Dodatkowo, ten zespół otrzyma uprawnienie <strong>Tworzenie repozytoriów</strong>: jego członkowie mogą tworzyć nowe repozytoria w organizacji.
teams.repositories=Repozytoria zespołu
teams.search_repo_placeholder=Szukaj repozytorium…
teams.remove_all_repos_title=Usuń wszystkie repozytoria zespołu
teams.remove_all_repos_desc=Usunie to wszystkie repozytoria przypisane do zespołu.
teams.add_all_repos_title=Dodaj wszystkie repozytoria
@ -2019,6 +2001,8 @@ hooks=Weebhook'i
authentication=Źródła uwierzytelniania
emails=Emaile użytkowników
config=Konfiguracja
config_summary=Podsumowanie
config_settings=Ustawienia
notices=Powiadomienia systemu
monitor=Monitorowanie
first_page=Pierwsza
@ -2157,9 +2141,6 @@ repos.unadopted.no_more=Nie znaleziono więcej nieprzyjętych repozytoriów
repos.owner=Właściciel
repos.name=Nazwa
repos.private=Prywatne
repos.watches=Obserwujących
repos.stars=Polubienia
repos.forks=Forki
repos.issues=Zgłoszenia
repos.size=Rozmiar
@ -2248,7 +2229,6 @@ auths.tip.nextcloud=`Zarejestruj nowego klienta OAuth w swojej instancji za pomo
auths.tip.dropbox=Stwórz nową aplikację na https://www.dropbox.com/developers/apps
auths.tip.facebook=`Zarejestruj nową aplikację na https://developers.facebook.com/apps i dodaj produkt "Facebook Login"`
auths.tip.github=Zarejestruj nową aplikację OAuth na https://github.com/settings/applications/new
auths.tip.gitlab=Zarejestruj nową aplikację na https://gitlab.com/profile/applications
auths.tip.google_plus=Uzyskaj dane uwierzytelniające klienta OAuth2 z konsoli Google API na https://console.developers.google.com/
auths.tip.openid_connect=Użyj adresu URL OpenID Connect Discovery (<server>/.well-known/openid-configuration), aby określić punkty końcowe
auths.tip.twitter=Przejdź na https://dev.twitter.com/apps, stwórz aplikację i upewnij się, że opcja “Allow this application to be used to Sign in with Twitter” jest włączona

View File

@ -90,6 +90,7 @@ remove=Remover
remove_all=Excluir todos
remove_label_str=`Remover item "%s"`
edit=Editar
view=Visualizar
enabled=Habilitado
disabled=Desabilitado
@ -97,6 +98,7 @@ locked=Bloqueado
copy=Copiar
copy_url=Copiar URL
copy_hash=Copiar hash
copy_content=Copiar conteúdo
copy_branch=Copiar nome do branch
copy_success=Copiado!
@ -109,6 +111,7 @@ loading=Carregando…
error=Erro
error404=A página que você está tentando acessar <strong>não existe</strong> ou <strong>você não está autorizado</strong> a visualizá-la.
go_back=Voltar
never=Nunca
unknown=Desconhecido
@ -119,6 +122,7 @@ pin=Fixar
unpin=Desfixar
artifacts=Artefatos
confirm_delete_artifact=Tem certeza que deseja excluir o artefato '%s' ?
archived=Arquivado
@ -137,6 +141,15 @@ confirm_delete_selected=Confirma a exclusão de todos os itens selecionados?
name=Nome
value=Valor
filter=Filtro
filter.is_archived=Arquivado
filter.is_template=Template
filter.public=Pública
filter.private=Privado
[search]
[aria]
navbar=Barra de navegação
footer=Rodapé
@ -309,7 +322,6 @@ collaborative_repos=Repositórios colaborativos
my_orgs=Minhas organizações
my_mirrors=Meus espelhos
view_home=Ver %s
search_repos=Encontre um repositório…
filter=Outros filtros
filter_by_team_repositories=Filtrar por repositórios da equipe
feed_of=`Feed de "%s"`
@ -330,20 +342,8 @@ issues.in_your_repos=Em seus repositórios
repos=Repositórios
users=Usuários
organizations=Organizações
search=Pesquisar
go_to=Ir para
code=Código
search.type.tooltip=Tipo de pesquisa
search.fuzzy=Similar
search.fuzzy.tooltip=Incluir resultados que sejam próximos ao termo de busca
search.match=Correspondência
search.match.tooltip=Incluir somente resultados que correspondam exatamente ao termo de busca
code_search_unavailable=A pesquisa por código não está disponível no momento. Entre em contato com o administrador do site.
repo_no_results=Nenhum repositório correspondente foi encontrado.
user_no_results=Nenhum usuário correspondente foi encontrado.
org_no_results=Nenhuma organização correspondente foi encontrada.
code_no_results=Nenhum código-fonte correspondente ao seu termo de pesquisa foi encontrado.
code_search_results=`Resultados da pesquisa por: "%s"`
code_last_indexed_at=Última indexação %s
relevant_repositories_tooltip=Repositórios que são forks ou que não possuem tópico, nem ícone e nem descrição estão ocultos.
relevant_repositories=Apenas repositórios relevantes estão sendo mostrados, <a href="%s">mostrar resultados não filtrados</a>.
@ -356,11 +356,11 @@ disable_register_prompt=Cadastro está desabilitado. Entre em contato com o admi
disable_register_mail=E-mail de confirmação de cadastro está desabilitado.
manual_activation_only=Entre em contato com o administrador do site para concluir a ativação.
remember_me=Lembrar deste Dispositivo
remember_me.compromised=O token de login não é mais válido, o que pode indicar uma conta comprometida. Por favor, verifique a sua conta por atividades incomuns.
forgot_password_title=Esqueci minha senha
forgot_password=Esqueceu sua senha?
sign_up_now=Precisa de uma conta? Cadastre-se agora.
sign_up_successful=A conta foi criada com sucesso. Bem-vindo!
confirmation_mail_sent_prompt=Um novo e-mail de confirmação foi enviado para <b>%s</b>. Por favor, verifique sua caixa de e-mail nas próximas %s horas para finalizar o processo de cadastro.
must_change_password=Redefina sua senha
allow_password_change=Exigir que o usuário redefina a senha (recomendado)
reset_password_mail_sent_prompt=Um e-mail de confirmação foi enviado para <b>%s</b>. Por favor, verifique sua caixa de entrada dentro do(s) próximo(s) %s para concluir o processo de recuperação de conta.
@ -417,6 +417,7 @@ authorization_failed_desc=A autorização falhou porque detectamos uma solicita
sspi_auth_failed=Falha de autenticação SSPI
password_pwned=A senha que você escolheu faz parte de uma <a target="_blank" rel="noopener noreferrer" href="https://haveibeenpwned.com/Passwords">lista de senhas roubadas</a> expostas anteriormente em violações de dados. Tente novamente com uma senha diferente e considere alterar essa senha em outro lugar também.
password_pwned_err=Não foi possível concluir a requisição ao HaveIBeenPwned
last_admin=Você não pode remover o último administrador. Deve haver pelo menos um administrador.
[mail]
view_it_on=Veja em %s
@ -582,6 +583,7 @@ org_still_own_packages=Esta organização ainda possui pacotes, exclua-os primei
target_branch_not_exist=O branch de destino não existe.
admin_cannot_delete_self=Você não pode excluir você mesmo quando você é um administrador. Por favor, remova seus privilégios de administrador primeiro.
[user]
change_avatar=Altere seu avatar...
@ -608,6 +610,7 @@ form.name_reserved=O nome de usuário "%s" está reservado.
form.name_pattern_not_allowed=O padrão de "%s" não é permitido em um nome de usuário.
form.name_chars_not_allowed=Nome de usuário "%s" contém caracteres inválidos.
[settings]
profile=Perfil
account=Conta
@ -752,7 +755,6 @@ gpg_invalid_token_signature=A chave GPG fornecida, a assinatura ou o token não
gpg_token_required=Você tem que fornecer uma assinatura para o token abaixo
gpg_token=Token
gpg_token_help=Você pode gerar uma assinatura usando:
gpg_token_code=echo "%s" | gpg -a --default-key %s --detach-sig
gpg_token_signature=Assinatura GPG blindada
key_signature_gpg_placeholder=Começa com '-----BEGIN PGP SIGNATURE-----'
verify_gpg_key_success=A chave GPG "%s" foi validada.
@ -859,6 +861,7 @@ revoke_oauth2_grant_description=Revogando o acesso para este aplicativo de terce
revoke_oauth2_grant_success=Acesso revogado com sucesso.
twofa_desc=Autenticação de dois fatores melhora a segurança de sua conta.
twofa_recovery_tip=Se você perder o seu dispositivo, você será capaz de usar uma chave de recuperação de uso único para recuperar o acesso à sua conta.
twofa_is_enrolled=Sua conta está atualmente <strong>habilitada</strong> com autenticação de dois fatores.
twofa_not_enrolled=Sua conta não está atualmente inscrita para a autenticação em duas etapas.
twofa_disable=Desabilitar a autenticação de dois fatores
@ -881,6 +884,8 @@ webauthn_register_key=Adicionar chave de segurança
webauthn_nickname=Apelido
webauthn_delete_key=Remover chave de segurança
webauthn_delete_key_desc=Se você remover uma chave de segurança, não poderá mais entrar com ela. Continuar?
webauthn_key_loss_warning=Se você perder suas chaves de segurança, perderá o acesso à sua conta.
webauthn_alternative_tip=Você pode querer configurar um método de autenticação adicional.
manage_account_links=Gerenciar contas vinculadas
manage_account_links_desc=Estas contas externas estão vinculadas a sua conta de Gitea.
@ -917,6 +922,7 @@ visibility.private=Privada
visibility.private_tooltip=Visível apenas para membros das organizações às quais você se associou
[repo]
new_repo_helper=Um repositório contém todos os arquivos do projeto, inclusive o histórico de revisões. Já está hospedando um em outro lugar? <a href="%s">Migre o repositório.</a>
owner=Proprietário
owner_helper=Algumas organizações podem não aparecer no menu devido a um limite de contagem dos repositórios.
repo_name=Nome do repositório
@ -937,9 +943,10 @@ fork_from=Fork de
already_forked=Você já fez o fork de %s
fork_to_different_account=Faça um fork para uma conta diferente
fork_visibility_helper=A visibilidade do fork de um repositório não pode ser alterada.
fork_branch=Branch a ser clonado para o fork
all_branches=Todos os branches
fork_no_valid_owners=Não é possível fazer um fork desse repositório porque não há proprietários validos.
use_template=Usar este modelo
clone_in_vsc=Clonar no VS Code
download_zip=Baixar ZIP
download_tar=Baixar TAR.GZ
download_bundle=Baixar PACOTE
@ -972,6 +979,7 @@ mirror_prune=Varrer
mirror_prune_desc=Remover referências obsoletas de controle remoto
mirror_interval=Intervalo de espelhamento (unidades válidas são 'h', 'm', ou 's'). O desabilita a sincronização automática. (Intervalo mínimo: %s)
mirror_interval_invalid=O intervalo do espelhamento não é válido.
mirror_sync=sincronizado
mirror_sync_on_commit=Sincronizar quando commits forem enviados
mirror_address=Clonar de URL
mirror_address_desc=Coloque todas as credenciais necessárias na seção de autorização.
@ -1017,6 +1025,7 @@ desc.public=Público
desc.template=Template
desc.internal=Interno
desc.archived=Arquivado
desc.sha256=SHA256
template.items=Itens do modelo
template.git_content=Conteúdo Git (Branch padrão)
@ -1167,6 +1176,7 @@ audio_not_supported_in_browser=Seu navegador não suporta a tag 'audio' do HTML5
stored_lfs=Armazenado com Git LFS
symbolic_link=Link simbólico
executable_file=Arquivo executável
generated=Gerado
commit_graph=Gráfico de commits
commit_graph.select=Selecionar branches
commit_graph.hide_pr_refs=Esconder Pull Requests
@ -1253,9 +1263,7 @@ commits.desc=Veja o histórico de alterações do código de fonte.
commits.commits=Commits
commits.no_commits=Nenhum commit em comum. "%s" e "%s" tem históricos completamente diferentes.
commits.nothing_to_compare=Estes branches são iguais.
commits.search=Pesquisar commits...
commits.search.tooltip=Você pode prefixar as palavras-chave com "author:" (autor da mudança), "committer:" (autor do commit), "after:" (depois) ou "before:" (antes). Por exemplo: "revert author:Ana before:2019-01-13".\
commits.find=Pesquisar
commits.search_all=Todos os branches
commits.author=Autor
commits.message=Mensagem
@ -1267,6 +1275,7 @@ commits.signed_by_untrusted_user=Assinado por usuário não confiável
commits.signed_by_untrusted_user_unmatched=Assinado por usuário não confiável que não corresponde ao autor da submissão
commits.gpg_key_id=ID da chave GPG
commits.ssh_key_fingerprint=Impressão Digital da Chave SSH
commits.view_path=Visualizar neste ponto do histórico
commit.operations=Operações
commit.revert=Reverter
@ -1305,7 +1314,6 @@ projects.type.basic_kanban=Kanban básico
projects.type.bug_triage=Triagem de Bugs
projects.template.desc=Modelo de projeto
projects.template.desc_helper=Selecione um modelo de projeto para começar
projects.type.uncategorized=Sem categoria
projects.column.edit=Editar coluna
projects.column.edit_title=Nome
projects.column.new_title=Nome
@ -1313,10 +1321,7 @@ projects.column.new_submit=Criar coluna
projects.column.new=Nova Coluna
projects.column.set_default=Atribuir como padrão
projects.column.set_default_desc=Definir esta coluna como padrão para pull e issues sem categoria
projects.column.unset_default=Desatribuir padrão
projects.column.unset_default_desc=Desatribuir esta coluna como padrão
projects.column.delete=Excluir coluna
projects.column.deletion_desc=Excluir uma coluna do projeto move todas as issues relacionadas para 'Sem categoria'. Continuar?
projects.column.color=Cor
projects.open=Abrir
projects.close=Fechar
@ -1357,6 +1362,7 @@ issues.choose.blank=Padrão
issues.choose.blank_about=Criar uma issue a partir do modelo padrão.
issues.choose.ignore_invalid_templates=Modelos inválidos foram ignorados
issues.choose.invalid_templates=%v modelo(s) inválido(s) encontrado(s)
issues.choose.invalid_config=A configuração da issue contém erros:
issues.no_ref=Nenhum branch/tag especificado
issues.create=Criar issue
issues.new_label=Nova etiqueta
@ -1427,7 +1433,6 @@ issues.filter_sort.moststars=Mais estrelas
issues.filter_sort.feweststars=Menos estrelas
issues.filter_sort.mostforks=Mais forks
issues.filter_sort.fewestforks=Menos forks
issues.keyword_search_unavailable=A pesquisa por palavra-chave não está disponível no momento. Entre em contato com o administrador do site.
issues.action_open=Abrir
issues.action_close=Fechar
issues.action_label=Etiqueta
@ -1480,6 +1485,11 @@ issues.author_helper=Este usuário é o autor.
issues.role.owner=Proprietário
issues.role.owner_helper=Este usuário é o dono deste repositório.
issues.role.member=Membro
issues.role.collaborator=Colaborador
issues.role.collaborator_helper=Este usuário foi convidado para colaborar no repositório.
issues.role.first_time_contributor=Primeira vez contribuindo
issues.role.first_time_contributor_helper=Esta é a primeira contribuição deste usuário para o repositório.
issues.role.contributor=Contribuidor
issues.re_request_review=Re-solicitar revisão
issues.is_stale=Houve alterações nessa PR desde essa revisão
issues.remove_request_review=Remover solicitação de revisão
@ -1495,6 +1505,8 @@ issues.label_description=Descrição da etiqueta
issues.label_color=Cor da etiqueta
issues.label_exclusive=Exclusivo
issues.label_archive=Arquivar etiqueta
issues.label_archived_filter=Mostrar etiquetas arquivadas
issues.label_archive_tooltip=Etiquetas arquivadas são excluídas, por padrão, das sugestões ao pesquisar por etiqueta.
issues.label_exclusive_desc=Nomeie o rótulo <code>escopo/item</code> para torná-lo mutuamente exclusivo com outros rótulos do <code>escopo/</code>.
issues.label_exclusive_warning=Quaisquer rótulos com escopo conflitantes serão removidos ao editar os rótulos de uma issue ou pull request.
issues.label_count=%d etiquetas
@ -1573,6 +1585,7 @@ issues.due_date_form=dd/mm/aaaa
issues.due_date_form_add=Adicionar data limite
issues.due_date_form_edit=Editar
issues.due_date_form_remove=Remover
issues.due_date_not_writer=Você precisa de acesso de gravação a esse repositório para atualizar a data limite de uma issue.
issues.due_date_not_set=Data limite não informada.
issues.due_date_added=adicionou a data limite %s %s
issues.due_date_modified=modificou a data limite de %[2]s para %[1]s %[3]s
@ -1669,7 +1682,6 @@ pulls.compare_compare=pull de
pulls.switch_comparison_type=Mudar tipo de comparação
pulls.switch_head_and_base=Trocar cabeça e base
pulls.filter_branch=Filtrar branch
pulls.no_results=Nada encontrado.
pulls.show_all_commits=Mostrar todos os commits
pulls.show_changes_since_your_last_review=Mostrar alterações desde sua última revisão
pulls.showing_only_single_commit=Mostrando apenas as alterações do commit %[1]s
@ -1736,6 +1748,7 @@ pulls.merge_pull_request=Criar commit de merge
pulls.rebase_merge_pull_request=Rebase e fast-forward
pulls.rebase_merge_commit_pull_request=Rebase e criar commit de merge
pulls.squash_merge_pull_request=Criar commit de squash
pulls.fast_forward_only_merge_pull_request=Apenas Fast-forward
pulls.merge_manually=Merge feito manualmente
pulls.merge_commit_id=A ID de merge commit
pulls.require_signed_wont_sign=O branch requer commits assinados, mas este merge não será assinado
@ -1759,6 +1772,8 @@ pulls.status_checks_failure=Algumas verificações falharam
pulls.status_checks_error=Algumas verificações reportaram erros
pulls.status_checks_requested=Obrigatário
pulls.status_checks_details=Detalhes
pulls.status_checks_hide_all=Ocultar todas as verificações
pulls.status_checks_show_all=Mostrar todas as verificações
pulls.update_branch=Atualizar branch por merge
pulls.update_branch_rebase=Atualizar branch por rebase
pulls.update_branch_success=Atualização do branch foi bem-sucedida
@ -1767,6 +1782,9 @@ pulls.outdated_with_base_branch=Este branch está desatualizado com o branch bas
pulls.close=Fechar pull request
pulls.closed_at=`fechou este pull request <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.reopened_at=`reabriu este pull request <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.cmd_instruction_checkout_title=Checkout
pulls.cmd_instruction_merge_title=Merge
pulls.cmd_instruction_merge_desc=Faça merge das alterações e atualize no Gitea.
pulls.clear_merge_message=Limpar mensagem do merge
pulls.clear_merge_message_hint=Limpar a mensagem de merge só irá remover o conteúdo da mensagem de commit e manter trailers git gerados, como "Co-Authored-By …".
@ -1863,6 +1881,8 @@ wiki.page_name_desc=Digite um nome para esta página Wiki. Alguns nomes especiai
wiki.original_git_entry_tooltip=Ver o arquivo Git original em vez de usar o link amigável.
activity=Atividade
activity.navbar.pulse=Pulso
activity.navbar.contributors=Contribuidores
activity.period.filter_label=Período:
activity.period.daily=1 dia
activity.period.halfweekly=3 dias
@ -1928,18 +1948,10 @@ activity.git_stats_and_deletions=e
activity.git_stats_deletion_1=%d exclusão
activity.git_stats_deletion_n=%d exclusões
contributors.contribution_type.filter_label=Tipo de contribuição:
contributors.contribution_type.commits=Commits
search=Pesquisar
search.search_repo=Pesquisar no repositório...
search.type.tooltip=Tipo de pesquisa
search.fuzzy=Aproximada
search.fuzzy.tooltip=Incluir resultados que sejam próximos ao termo de busca
search.match=Corresponde
search.match.tooltip=Incluir somente resultados que correspondam exatamente ao termo de busca
search.results=Resultados da pesquisa para "%s" em <a href="%s">%s</a>
search.code_no_results=Nenhum código-fonte correspondente ao seu termo de pesquisa foi encontrado.
search.code_search_unavailable=A pesquisa por código não está disponível no momento. Entre em contato com o administrador do site.
contributors.contribution_type.additions=Adições
contributors.contribution_type.deletions=Exclusões
settings=Configurações
settings.desc=Opções é onde você pode gerenciar as configurações para o repositório
@ -2008,6 +2020,7 @@ settings.pulls.default_allow_edits_from_maintainers=Permitir edições de manten
settings.releases_desc=Habilitar versões do Repositório
settings.packages_desc=Habilitar Registro de Pacotes de Repositório
settings.projects_desc=Habilitar Projetos do Repositório
settings.projects_mode_all=Todos os projetos
settings.actions_desc=Habilitar ações do repositório
settings.admin_settings=Configurações do administrador
settings.admin_enable_health_check=Habilitar verificações de integridade (git fsck) no repositório
@ -2079,7 +2092,6 @@ settings.delete_collaborator=Remover
settings.collaborator_deletion=Remover colaborador
settings.collaborator_deletion_desc=A exclusão de um colaborador irá revogar o acesso a este repositório. Continuar?
settings.remove_collaborator_success=O colaborador foi removido.
settings.search_user_placeholder=Pesquisar usuário...
settings.org_not_allowed_to_be_collaborator=Organizações não podem ser adicionadas como um colaborador.
settings.change_team_access_not_allowed=Alteração do acesso da equipe para o repositório está restrito ao proprietário da organização
settings.team_not_in_organization=A equipe não está na mesma organização que o repositório
@ -2087,7 +2099,6 @@ settings.teams=Equipes
settings.add_team=Adicionar Equipe
settings.add_team_duplicate=A equipe já tem o repositório
settings.add_team_success=A equipe agora tem acesso ao repositório.
settings.search_team=Pesquisar Equipe…
settings.change_team_permission_tip=A permissão da equipe está definida na página de configurações da equipe e não pode ser alterada por repositório
settings.delete_team_tip=Esta equipe tem acesso a todos os repositórios e não pode ser removida
settings.remove_team_success=O acesso da equipe ao repositório foi removido.
@ -2232,9 +2243,7 @@ settings.protect_whitelist_committers=Lista permitida para push
settings.protect_whitelist_committers_desc=Somente usuários ou equipes da lista permitida serão autorizados realizar push neste branch (mas não forçar o push).
settings.protect_whitelist_deploy_keys=Dar permissão às chaves de deploy com acesso de gravação para push.
settings.protect_whitelist_users=Usuários com permissão para realizar push:
settings.protect_whitelist_search_users=Pesquisar usuários...
settings.protect_whitelist_teams=Equipes com permissão para realizar push:
settings.protect_whitelist_search_teams=Pesquisar equipes...
settings.protect_merge_whitelist_committers=Habilitar controle de permissão de merge
settings.protect_merge_whitelist_committers_desc=Permitir que determinados usuários ou equipes possam aplicar merge de pull requests neste branch.
settings.protect_merge_whitelist_users=Usuários com permissão para aplicar merge:
@ -2301,6 +2310,9 @@ settings.archive.error=Um erro ocorreu enquanto estava sendo arquivado o reposit
settings.archive.error_ismirror=Você não pode arquivar um repositório espelhado.
settings.archive.branchsettings_unavailable=Configurações do branch não estão disponíveis quando o repositório está arquivado.
settings.archive.tagsettings_unavailable=As configurações de tag não estão disponíveis se o repositório estiver arquivado.
settings.unarchive.button=Desarquivar o repositório
settings.unarchive.header=Desarquivar este repositório
settings.unarchive.success=O repositório foi desarquivado com sucesso.
settings.update_avatar_success=O avatar do repositório foi atualizado.
settings.lfs=LFS
settings.lfs_filelist=Arquivos LFS armazenados neste repositório
@ -2423,6 +2435,7 @@ release.edit_release=Atualizar versão
release.delete_release=Excluir versão
release.delete_tag=Apagar Tag
release.deletion=Excluir versão
release.deletion_desc=A exclusão de uma versão apenas a remove do Gitea. Isso não afetará a tag do Git, o conteúdo do seu repositório ou seu histórico. Continuar?
release.deletion_success=A versão foi excluída.
release.deletion_tag_desc=A tag será excluída do repositório. Conteúdo do repositório e histórico permanecerão inalterados. Continuar?
release.deletion_tag_success=A tag foi excluída.
@ -2488,6 +2501,9 @@ error.csv.unexpected=Não é possível renderizar este arquivo porque ele conté
error.csv.invalid_field_count=Não é possível renderizar este arquivo porque ele tem um número errado de campos na linha %d.
[graphs]
component_loading=Carregando %s...
component_loading_failed=Não foi possível carregar %s
component_loading_info=Isto pode demorar um pouco…
[org]
org_name_holder=Nome da organização
@ -2518,6 +2534,7 @@ form.create_org_not_allowed=Você não tem permissão para criar uma organizaç
settings=Configurações
settings.options=Organização
settings.full_name=Nome completo
settings.email=E-mail de contato
settings.website=Site
settings.location=Localização
settings.permission=Permissões
@ -2590,7 +2607,6 @@ teams.write_permission_desc=Esta equipe concede acesso para <strong>escrita</str
teams.admin_permission_desc=Esta equipe concede acesso de <strong>Administrador</strong>: Membros podem ler, fazer push e adicionar outros colaboradores para os repositórios da equipe.
teams.create_repo_permission_desc=Além disso, esta equipe concede permissão de <strong>Criar repositório</strong>: membros podem criar novos repositórios na organização.
teams.repositories=Repositórios da equipe
teams.search_repo_placeholder=Pesquisar repositório...
teams.remove_all_repos_title=Remover todos os repositórios da equipe
teams.remove_all_repos_desc=Isto irá remover todos os repositórios da equipe.
teams.add_all_repos_title=Adicionar todos os repositórios
@ -2606,11 +2622,13 @@ teams.all_repositories_helper=A equipe tem acesso a todos os repositórios. Sele
teams.all_repositories_read_permission_desc=Esta equipe concede acesso <strong>Leitura</strong> a <strong>todos os repositórios</strong>: membros podem ver e clonar repositórios.
teams.all_repositories_write_permission_desc=Esta equipe concede acesso <strong>Escrita</strong> a <strong>todos os repositórios</strong>: os membros podem ler de e fazer push para os repositórios.
teams.all_repositories_admin_permission_desc=Esta equipe concede acesso <strong>Administrativo</strong> a <strong>todos os repositórios</strong>: os membros podem ler, fazer push e adicionar colaboradores aos repositórios.
teams.invite.title=Você foi convidado para fazer parte da equipe <strong>%s</strong> na organização <strong>%s</strong>.
teams.invite.by=Convidado por %s
teams.invite.description=Por favor, clique no botão abaixo para se juntar à equipe.
[admin]
dashboard=Painel
identity_access=Identidade e acesso
users=Contas de usuário
organizations=Organizações
repositories=Repositórios
@ -2619,11 +2637,14 @@ integrations=Integrações
authentication=Fontes de autenticação
emails=E-mails do Usuário
config=Configuração
config_summary=Resumo
config_settings=Configurações
notices=Avisos do sistema
monitor=Monitoramento
first_page=Primeira
last_page=Última
total=Total: %d
settings=Configurações de Administrador
dashboard.new_version_hint=Uma nova versão está disponível: %s. Versão atual: %s. Visite <a target="_blank" rel="noreferrer" href="https://blog.gitea.io">o blog</a> para mais informações.
dashboard.statistic=Resumo
@ -2782,9 +2803,6 @@ repos.unadopted.no_more=Não foram encontrados mais repositórios não adotados
repos.owner=Proprietário
repos.name=Nome
repos.private=Privado
repos.watches=Observadores
repos.stars=Favoritos
repos.forks=Forks
repos.issues=Issues
repos.size=Tamanho
repos.lfs_size=Tamanho do LFS
@ -2906,7 +2924,6 @@ auths.tip.nextcloud=`Registre um novo consumidor OAuth em sua instância usando
auths.tip.dropbox=Criar um novo aplicativo em https://www.dropbox.com/developers/apps
auths.tip.facebook=`Cadastrar um novo aplicativo em https://developers.facebook.com/apps e adicionar o produto "Facebook Login"`
auths.tip.github=Cadastrar um novo aplicativo de OAuth na https://github.com/settings/applications/new
auths.tip.gitlab=Cadastrar um novo aplicativo em https://gitlab.com/profile/applications
auths.tip.google_plus=Obter credenciais de cliente OAuth2 do console de API do Google em https://console.developers.google.com/
auths.tip.openid_connect=Use o OpenID Connect Discovery URL (<servidor>/.well-known/openid-configuration) para especificar os endpoints
auths.tip.twitter=Vá em https://dev.twitter.com/apps, crie um aplicativo e certifique-se de que está habilitada a opção “Allow this application to be used to Sign in with Twitter“
@ -3414,13 +3431,20 @@ runners.status.idle=Inativo
runners.status.active=Ativo
runners.status.offline=Offiline
runners.version=Versão
runners.reset_registration_token=Redefinir token de registro
runners.reset_registration_token_success=Token de registro de runner redefinido com sucesso
runs.all_workflows=Todos os Workflows
runs.commit=Commit
runs.scheduled=Agendado
runs.pushed_by=push feito por
runs.invalid_workflow_helper=O arquivo de configuração do workflow é inválido. Por favor, verifique seu arquivo de configuração: %s
runs.actor=Ator
runs.status=Status
runs.actors_no_select=Todos os atores
runs.status_no_select=Todos os Status
runs.no_results=Não houve correspondência de resultados.
runs.empty_commit_message=(mensagem de commit vazia)
need_approval_desc=Precisa de aprovação para executar workflows para pull request do fork.
@ -3433,5 +3457,9 @@ type-3.display_name=Projeto da organização
[git.filemode]
; Ordered by git filemode value, ascending. E.g. directory has "040000", normal file has "100644", …
directory=Diretório
normal_file=Arquivo normal
executable_file=Arquivo executável
symbolic_link=Link simbólico
submodule=Submódulo

View File

@ -25,6 +25,7 @@ enable_javascript=Este sítio Web requer JavaScript.
toc=Índice
licenses=Licenças
return_to_gitea=Retornar ao Gitea
more_items=Mais itens
username=Nome de utilizador
email=Endereço de email
@ -113,6 +114,7 @@ loading=Carregando…
error=Erro
error404=A página que pretende aceder <strong>não existe</strong> ou <strong>não tem autorização</strong> para a ver.
go_back=Voltar
invalid_data=Dados inválidos: %v
never=Nunca
unknown=Desconhecido
@ -142,6 +144,43 @@ confirm_delete_selected=Confirma a exclusão de todos os itens marcados?
name=Nome
value=Valor
filter=Filtro
filter.clear=Retirar filtro
filter.is_archived=Arquivado
filter.not_archived=Não arquivado
filter.is_fork=Derivado
filter.not_fork=Não derivado
filter.is_mirror=Replicado
filter.not_mirror=Não replicado
filter.is_template=Modelo
filter.not_template=Não é modelo
filter.public=Público
filter.private=Privado
no_results_found=Não foram encontrados quaisquer resultados.
[search]
search=Pesquisar...
type_tooltip=Tipo de pesquisa
fuzzy=Aproximada
fuzzy_tooltip=Incluir também os resultados que estejam próximos do termo de pesquisa
match=Fiel
match_tooltip=Incluir somente os resultados que correspondam rigorosamente ao termo de pesquisa
repo_kind=Pesquisar repositórios...
user_kind=Pesquisar utilizadores...
org_kind=Pesquisar organizações...
team_kind=Pesquisar equipas...
code_kind=Pesquisar código...
code_search_unavailable=A pesquisa de código não está disponível, neste momento. Entre em contacto com o administrador.
code_search_by_git_grep=Os resultados da pesquisa no código-fonte neste momento são fornecidos pelo "git grep". Esses resultados podem ser melhores se o administrador habilitar o indexador do repositório.
package_kind=Pesquisar pacotes...
project_kind=Pesquisar planeamentos...
branch_kind=Pesquisar ramos...
commit_kind=Pesquisar cometimentos...
runner_kind=Pesquisar executores...
no_results=Não foram encontrados resultados correspondentes.
keyword_search_unavailable=Pesquisar por palavra-chave não está disponível, neste momento. Entre em contacto com o administrador.
[aria]
navbar=Barra de navegação
footer=Rodapé
@ -247,6 +286,7 @@ email_title=Configurações de email
smtp_addr=Servidor SMTP
smtp_port=Porto do SMTP
smtp_from=Email do remetente
smtp_from_invalid=O endereço para "Enviar email como" é inválido
smtp_from_helper=Endereço de email que o Gitea vai usar. Insira um endereço de email simples ou use o formato "Nome" <email@exemplo.com>.
mailer_user=Nome de utilizador do SMTP
mailer_password=Senha do SMTP
@ -306,6 +346,7 @@ env_config_keys=Configuração do ambiente
env_config_keys_prompt=As seguintes variáveis de ambiente também serão aplicadas ao seu ficheiro de configuração:
[home]
nav_menu=Menu de navegação
uname_holder=Nome de utilizador ou endereço de email
password_holder=Senha
switch_dashboard_context=Trocar contexto do painel
@ -315,7 +356,6 @@ collaborative_repos=Repositórios colaborativos
my_orgs=As minhas organizações
my_mirrors=As minhas réplicas
view_home=Ver %s
search_repos=Procurar um repositório…
filter=Outros filtros
filter_by_team_repositories=Filtrar por repositórios da equipa
feed_of=`Fonte de "%s"`
@ -336,20 +376,8 @@ issues.in_your_repos=Nos seus repositórios
repos=Repositórios
users=Utilizadores
organizations=Organizações
search=Procurar
go_to=Ir para
code=Código
search.type.tooltip=Tipo de pesquisa
search.fuzzy=Aproximada
search.fuzzy.tooltip=Incluir também os resultados que estejam próximos do termo de pesquisa
search.match=Fiel
search.match.tooltip=Incluir somente os resultados que correspondam rigorosamente ao termo de pesquisa
code_search_unavailable=A pesquisa por código-fonte não está disponível, neste momento. Entre em contacto com o administrador.
repo_no_results=Não foram encontrados quaisquer repositórios correspondentes.
user_no_results=Não foram encontrados quaisquer utilizadores correspondentes.
org_no_results=Não foram encontradas quaisquer organizações correspondentes.
code_no_results=Não foi encontrado qualquer código-fonte correspondente à sua pesquisa.
code_search_results=`Resultados da pesquisa para "%s"`
code_last_indexed_at=Última indexação %s
relevant_repositories_tooltip=Repositórios que são derivações ou que não têm tópico, nem ícone, nem descrição, estão escondidos.
relevant_repositories=Apenas estão a ser mostrados os repositórios relevantes. <a href="%s">Mostrar resultados não filtrados</a>.
@ -367,7 +395,7 @@ forgot_password_title=Esqueci-me da senha
forgot_password=Esqueceu a sua senha?
sign_up_now=Precisa de uma conta? Inscreva-se agora.
sign_up_successful=A conta foi criada com sucesso. Bem-vindo/a!
confirmation_mail_sent_prompt=Foi enviado um novo email de confirmação para <b>%s</b>. Verifique a sua caixa de entrada dentro de %s para completar o processo de inscrição.
confirmation_mail_sent_prompt_ex=Foi enviado um email de confirmação para <b>%s</b>. Verifique a sua caixa de entrada dentro de %s para completar o processo de registo. Se o seu endereço de email de registo estiver errado, pode iniciar a sessão novamente e mudá-lo.
must_change_password=Mude a sua senha
allow_password_change=Exigir que o utilizador mude a senha (recomendado)
reset_password_mail_sent_prompt=Foi enviado um email de confirmação para <b>%s</b>. Verifique a sua caixa de entrada dentro de %s para completar o processo de recuperação.
@ -377,6 +405,7 @@ prohibit_login=Início de sessão proibido
prohibit_login_desc=A sua conta está proibida de iniciar sessão. Contacte o administrador.
resent_limit_prompt=Já fez um pedido recentemente para enviar um email para pôr a conta em funcionamento. Espere 3 minutos e tente novamente.
has_unconfirmed_mail=Olá %s, tem um endereço de email não confirmado (<b>%s</b>). Se não recebeu um email de confirmação ou precisa de o voltar a enviar, clique no botão abaixo.
change_unconfirmed_mail_address=Se o seu endereço de email estiver errado, pode mudá-lo aqui e enviar um novo email de confirmação.
resend_mail=Clique aqui para voltar a enviar um email para pôr a conta em funcionamento
email_not_associate=O endereço de email não está associado a qualquer conta.
send_reset_mail=Enviar email de recuperação da conta
@ -557,6 +586,7 @@ team_name_been_taken=O nome da equipa já foi tomado.
team_no_units_error=Permitir acesso a pelo menos uma secção do repositório.
email_been_used=O endereço de email já está em uso.
email_invalid=O endereço de email é inválido.
email_domain_is_not_allowed=O domínio do email de utilizador <b>%s</b> entra en conflito com o EMAIL_DOMAIN_ALLOWLIST ou com o EMAIL_DOMAIN_BLOCKLIST. Verifique se a operação estava prevista.
openid_been_used=O endereço OpenID "%s" já está em uso.
username_password_incorrect=O nome de utilizador ou a senha estão errados.
password_complexity=A senha não passa nos requisitos de complexidade:
@ -568,6 +598,8 @@ enterred_invalid_repo_name=O nome do repositório que inseriu está errado.
enterred_invalid_org_name=O nome da organização que inseriu está errado.
enterred_invalid_owner_name=O novo nome de proprietário não é válido.
enterred_invalid_password=A senha que inseriu está errada.
unset_password=O utilizador não definiu a senha.
unsupported_login_type=O tipo de início de sessão não é suportado para eliminar a conta.
user_not_exist=O utilizador não existe.
team_not_exist=A equipa não existe.
last_org_owner=Não pode remover o último utilizador da equipa 'proprietários'. Tem que haver pelo menos um proprietário numa organização.
@ -617,6 +649,30 @@ form.name_reserved=O nome de utilizador "%s" está reservado.
form.name_pattern_not_allowed=O padrão "%s" não é permitido no nome de utilizador.
form.name_chars_not_allowed=O nome de utilizador "%s" contém caracteres inválidos.
block.block=Bloquear
block.block.user=Bloquear utilizador
block.block.org=Bloquear utilizador para a organização
block.block.failure=Falhou o bloqueio do utilizador: %s
block.unblock=Desbloquear
block.unblock.failure=Falhou o desbloqueio do utilizador: %s
block.blocked=Bloqueou este utilizador.
block.title=Bloquear um utilizador
block.info=Bloquear um utilizador evita que este interaja com repositórios, tal como abrir ou comentar em pedidos de integração ou questões. Saiba mais sobre como bloquear um utilizador.
block.info_1=Bloquear um utilizador impede as seguintes operações na sua conta e nos seus repositórios:
block.info_2=seguir a sua conta
block.info_3=enviar-lhe notificações ao @mencionar o seu nome de utilizador
block.info_4=convidá-lo/a para ser colaborador/a nos repositórios dele/dela
block.info_5=juntar aos favoritos, derivar ou vigiar repositórios
block.info_6=abrir e comentar questões ou pedidos de integração
block.info_7=reagir aos seus comentários em questões ou pedidos de integração
block.user_to_block=Utilizador a bloquear
block.note=Nota
block.note.title=Nota opcional:
block.note.info=A nota não é visível para o utilizador bloqueado.
block.note.edit=Editar nota
block.list=Utilizadores bloqueados
block.list.none=Você ainda não bloqueou quaisquer utilizadores.
[settings]
profile=Perfil
account=Conta
@ -761,7 +817,6 @@ gpg_invalid_token_signature=A chave GPG, assinatura ou código fornecidos não c
gpg_token_required=Tem que fornecer uma assinatura para o código abaixo
gpg_token=Código
gpg_token_help=Pode gerar uma assinatura usando o seguinte comando:
gpg_token_code=echo "%s" | gpg -a --default-key %s --detach-sig
gpg_token_signature=Assinatura GPG blindada (com armadura ASCII)
key_signature_gpg_placeholder=Começa com '-----BEGIN PGP SIGNATURE-----'
verify_gpg_key_success=A chave GPG "%s" foi validada.
@ -954,8 +1009,9 @@ fork_visibility_helper=A visibilidade de um repositório derivado não poderá s
fork_branch=Ramo a ser clonado para a derivação
all_branches=Todos os ramos
fork_no_valid_owners=Não pode fazer uma derivação deste repositório porque não existem proprietários válidos.
fork.blocked_user=Não pode derivar o repositório porque foi bloqueado/a pelo/a proprietário/a do repositório.
use_template=Usar este modelo
clone_in_vsc=Clonar no VS Code
open_with_editor=Abrir com %s
download_zip=Descarregar ZIP
download_tar=Descarregar TAR.GZ
download_bundle=Descarregar PACOTE
@ -1008,6 +1064,7 @@ watchers=Vigilantes
stargazers=Fãs
stars_remove_warning=Isto irá remover todas as marcas de favoritos deste repositório.
forks=Derivações
stars=Favoritos
reactions_more=e mais %d
unit_disabled=O administrador desabilitou esta secção do repositório.
language_other=Outros
@ -1129,6 +1186,7 @@ watch=Vigiar
unstar=Tirar dos favoritos
star=Juntar aos favoritos
fork=Derivar
action.blocked_user=Não pode realizar a operação porque foi bloqueado/a pelo/a proprietário/a do repositório.
download_archive=Descarregar repositório
more_operations=Mais operações
@ -1257,6 +1315,8 @@ editor.file_editing_no_longer_exists=O ficheiro que está a ser editado, "%s", j
editor.file_deleting_no_longer_exists=O ficheiro que está a ser eliminado, "%s", já não existe neste repositório.
editor.file_changed_while_editing=O conteúdo do ficheiro mudou desde que começou a editar. <a target="_blank" rel="noopener noreferrer" href="%s">Clique aqui</a> para ver as modificações ou clique em <strong>Cometer novamente</strong> para escrever por cima.
editor.file_already_exists=Já existe um ficheiro com o nome "%s" neste repositório.
editor.commit_id_not_matching=O ID do cometimento não corresponde ao ID de quando começou a editar. Faça o cometimento para um ramo de remendo (patch) e depois faça a integração.
editor.push_out_of_date=O envio parece estar obsoleto.
editor.commit_empty_file_header=Cometer um ficheiro vazio
editor.commit_empty_file_text=O ficheiro que está prestes a cometer está vazio. Quer continuar?
editor.no_changes_to_show=Não existem modificações para mostrar.
@ -1280,9 +1340,8 @@ commits.desc=Navegar pelo histórico de modificações no código fonte.
commits.commits=Cometimentos
commits.no_commits=Não há cometimentos em comum. "%s" e "%s" têm históricos completamente diferentes.
commits.nothing_to_compare=Estes ramos são iguais.
commits.search=Procurar cometimentos…
commits.search.tooltip=Pode prefixar palavras-chave com "author:", "committer:", "after:", ou "before:". Por exemplo: "revert author:Alice before:2019-01-13".
commits.find=Procurar
commits.search_branch=Este ramo
commits.search_all=Todos os ramos
commits.author=Autor(a)
commits.message=Mensagem
@ -1333,7 +1392,6 @@ projects.type.basic_kanban=Kanban básico
projects.type.bug_triage=Triagem de erros
projects.template.desc=Modelo de planeamento
projects.template.desc_helper=Escolha um modelo de planeamento para começar
projects.type.uncategorized=Sem categoria
projects.column.edit=Editar coluna
projects.column.edit_title=Nome
projects.column.new_title=Nome
@ -1341,8 +1399,6 @@ projects.column.new_submit=Criar coluna
projects.column.new=Nova coluna
projects.column.set_default=Tornar predefinida
projects.column.set_default_desc=Definir esta coluna como a predefinida para questões e pedidos de integração não categorizados
projects.column.unset_default=Deixar de ser a predefinida
projects.column.unset_default_desc=Faz com que esta coluna deixe de ser a predefinida
projects.column.delete=Eliminar coluna
projects.column.deletion_desc=Eliminar uma coluna de um planeamento faz com que todas as questões que nela constam sejam movidas para a coluna 'Sem categoria'. Continuar?
projects.column.color=Colorido
@ -1379,6 +1435,8 @@ issues.new.assignees=Encarregados
issues.new.clear_assignees=Retirar todos os encarregados
issues.new.no_assignees=Sem encarregados
issues.new.no_reviewers=Sem revisores
issues.new.blocked_user=Não pode criar a questão porque foi bloqueado/a pelo/a proprietário/a do repositório.
issues.edit.blocked_user=Não pode editar o conteúdo porque foi bloqueado/a pelo/a remetente ou pelo/a proprietário/a do repositório.
issues.choose.get_started=Começar
issues.choose.open_external_link=Abrir
issues.choose.blank=Padrão
@ -1456,7 +1514,6 @@ issues.filter_sort.moststars=Favorito (decrescente)
issues.filter_sort.feweststars=Favorito (crescente)
issues.filter_sort.mostforks=Mais derivações
issues.filter_sort.fewestforks=Menos derivações
issues.keyword_search_unavailable=A pesquisa por palavra-chave não está disponível, neste momento. Entre em contacto com o administrador.
issues.action_open=Abrir
issues.action_close=Fechar
issues.action_label=Rótulo
@ -1494,6 +1551,7 @@ issues.close_comment_issue=Comentar e fechar
issues.reopen_issue=Reabrir
issues.reopen_comment_issue=Comentar e reabrir
issues.create_comment=Comentar
issues.comment.blocked_user=Não pode criar ou editar o comentário porque foi bloqueado/a pelo remetente ou pelo/a proprietário/a do repositório.
issues.closed_at=`encerrou esta questão <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.reopened_at=`reabriu esta questão <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.commit_ref_at=`referenciou esta questão num cometimento <a id="%[1]s" href="#%[1]s">%[2]s</a>`
@ -1692,6 +1750,7 @@ compare.compare_head=comparar
pulls.desc=Habilitar pedidos de integração e revisão de código.
pulls.new=Novo pedido de integração
pulls.new.blocked_user=Não pode criar o pedido de integração porque foi bloqueado/a pelo/a proprietário/a do repositório.
pulls.view=Ver pedido de integração
pulls.compare_changes=Novo pedido de integração
pulls.allow_edits_from_maintainers=Permitir edições por parte dos responsáveis
@ -1708,7 +1767,6 @@ pulls.compare_compare=puxar de
pulls.switch_comparison_type=Trocar o tipo de comparação
pulls.switch_head_and_base=Trocar o topo com a base
pulls.filter_branch=Filtrar ramo
pulls.no_results=Não foram encontrados quaisquer resultados.
pulls.show_all_commits=Mostrar todos os cometimentos
pulls.show_changes_since_your_last_review=Mostrar modificações desde a sua última revisão
pulls.showing_only_single_commit=Mostrando apenas as modificações do comentimento %[1]s
@ -1914,7 +1972,9 @@ wiki.original_git_entry_tooltip=Ver o ficheiro Git original, ao invés de usar u
activity=Trabalho
activity.navbar.pulse=Pulso
activity.navbar.code_frequency=Frequência de programação
activity.navbar.contributors=Contribuidores
activity.navbar.recent_commits=Cometimentos recentes
activity.period.filter_label=Período:
activity.period.daily=1 dia
activity.period.halfweekly=3 dias
@ -1985,17 +2045,6 @@ contributors.contribution_type.commits=Cometimentos
contributors.contribution_type.additions=Adições
contributors.contribution_type.deletions=Eliminações
search=Procurar
search.search_repo=Procurar repositório
search.type.tooltip=Tipo de pesquisa
search.fuzzy=Aproximada
search.fuzzy.tooltip=Incluir também os resultados que estejam próximos do termo de pesquisa
search.match=Fiel
search.match.tooltip=Incluir somente os resultados que correspondam rigorosamente ao termo de pesquisa
search.results=Resultados da procura de "%s" em <a href="%s">%s</a>
search.code_no_results=Não foi encontrado qualquer código-fonte correspondente à sua pesquisa.
search.code_search_unavailable=A pesquisa por código-fonte não está disponível, neste momento. Entre em contacto com o administrador.
settings=Configurações
settings.desc=Configurações é onde pode gerir as configurações do repositório
settings.options=Repositório
@ -2044,6 +2093,8 @@ settings.branches.add_new_rule=Adicionar nova regra
settings.advanced_settings=Configurações avançadas
settings.wiki_desc=Habilitar wiki do repositório
settings.use_internal_wiki=Usar o wiki nativo
settings.default_wiki_branch_name=Nome do ramo predefinido do wiki
settings.failed_to_change_default_wiki_branch=Falhou ao mudar o nome do ramo predefinido do wiki.
settings.use_external_wiki=Usar um wiki externo
settings.external_wiki_url=URL do wiki externo
settings.external_wiki_url_error=O URL do wiki externo não é um URL válido.
@ -2074,6 +2125,10 @@ settings.pulls.default_allow_edits_from_maintainers=Permitir, por norma, que os
settings.releases_desc=Habilitar lançamentos no repositório
settings.packages_desc=Habilitar o registo de pacotes do repositório
settings.projects_desc=Habilitar planeamentos no repositório
settings.projects_mode_desc=Modo de planeamentos (tipos de planeamentos a mostrar)
settings.projects_mode_repo=Apenas planeamentos de repositórios
settings.projects_mode_owner=Apenas planeamentos de utilizadores ou de organizações
settings.projects_mode_all=Todos os planeamentos
settings.actions_desc=Habilitar operações no repositório (Gitea Actions)
settings.admin_settings=Configurações do administrador
settings.admin_enable_health_check=Habilitar verificações de integridade (git fsck) no repositório
@ -2099,6 +2154,7 @@ settings.convert_fork_succeed=A derivação foi convertida num repositório norm
settings.transfer=Transferir a propriedade
settings.transfer.rejected=A transferência do repositório foi rejeitada.
settings.transfer.success=A transferência do repositório foi bem sucedida.
settings.transfer.blocked_user=Não foi possível transferir o repositório porque foi bloqueado/a pelo/a novo/a proprietário/a.
settings.transfer_abort=Cancelar a transferência
settings.transfer_abort_invalid=Não pode cancelar a transferência de um repositório inexistente.
settings.transfer_abort_success=A transferência de repositório para %s foi cancelada com sucesso.
@ -2144,11 +2200,11 @@ settings.add_collaborator_success=O colaborador foi adicionado.
settings.add_collaborator_inactive_user=Não é possível adicionar um utilizador desabilitado como colaborador.
settings.add_collaborator_owner=Não é possível adicionar um proprietário como um colaborador.
settings.add_collaborator_duplicate=O colaborador já tinha sido adicionado a este repositório.
settings.add_collaborator.blocked_user=O/A colaborador/a foi bloqueado/a pelo/a proprietário/a do repositório ou vice-versa.
settings.delete_collaborator=Remover
settings.collaborator_deletion=Remover colaborador
settings.collaborator_deletion_desc=Remover um colaborador irá revogar o seu acesso a este repositório. Quer continuar?
settings.remove_collaborator_success=O colaborador foi removido.
settings.search_user_placeholder=Procurar utilizador…
settings.org_not_allowed_to_be_collaborator=As organizações não podem ser adicionadas como colaborador.
settings.change_team_access_not_allowed=Alterar o acesso da equipa ao repositório foi restrito ao proprietário da organização
settings.team_not_in_organization=A equipa não está na mesma organização que o repositório
@ -2156,7 +2212,6 @@ settings.teams=Equipas
settings.add_team=Adicionar equipa
settings.add_team_duplicate=A equipa já tem o repositório
settings.add_team_success=A equipa agora tem acesso ao repositório.
settings.search_team=Procurar equipa…
settings.change_team_permission_tip=A permissão da equipa é definida na página de configurações da equipa e não pode ter modificações específicas de cada repositório
settings.delete_team_tip=Esta equipa tem acesso a todos os repositórios e não pode ser removida
settings.remove_team_success=O acesso da equipa ao repositório foi removido.
@ -2309,9 +2364,7 @@ settings.protect_whitelist_committers=Lista de permissões para restringir os en
settings.protect_whitelist_committers_desc=Apenas os utilizadores ou equipas constantes na lista terão permissão para enviar para este ramo (mas não poderão fazer envios forçados).
settings.protect_whitelist_deploy_keys=Dar permissão às chaves de instalação para terem acesso de escrita para enviar.
settings.protect_whitelist_users=Utilizadores com permissão para enviar:
settings.protect_whitelist_search_users=Procurar utilizadores…
settings.protect_whitelist_teams=Equipas com permissão para enviar:
settings.protect_whitelist_search_teams=Procurar equipas…
settings.protect_merge_whitelist_committers=Habilitar lista de permissão para integrar
settings.protect_merge_whitelist_committers_desc=Permitir que somente utilizadores ou equipas constantes na lista de permissão possam executar, neste ramo, integrações constantes em pedidos de integração.
settings.protect_merge_whitelist_users=Utilizadores com permissão para executar integrações:
@ -2556,7 +2609,6 @@ branch.default_deletion_failed=O ramo "%s" é o ramo principal, não pode ser el
branch.restore=`Restaurar o ramo "%s"`
branch.download=`Descarregar o ramo "%s"`
branch.rename=`Renomear ramo "%s"`
branch.search=Pesquisar ramo
branch.included_desc=Este ramo faz parte do ramo principal
branch.included=Incluído
branch.create_new_branch=Criar ramo a partir do ramo:
@ -2587,13 +2639,16 @@ find_file.no_matching=Não foi encontrado qualquer ficheiro correspondente
error.csv.too_large=Não é possível apresentar este ficheiro por ser demasiado grande.
error.csv.unexpected=Não é possível apresentar este ficheiro porque contém um caractere inesperado na linha %d e coluna %d.
error.csv.invalid_field_count=Não é possível apresentar este ficheiro porque tem um número errado de campos na linha %d.
error.broken_git_hook=Os automatismos git deste repositório parecem estar danificados. Consulte a <a target="_blank" rel="noreferrer" href="%s">documentação</a> sobre como os consertar e depois envie alguns cometimentos para refrescar o estado.
[graphs]
component_loading=A carregar %s...
component_loading_failed=Não foi possível carregar %s
component_loading_info=Isto pode demorar um pouco…
component_failed_to_load=Ocorreu um erro inesperado.
code_frequency.what=frequência de programação
contributors.what=contribuições
recent_commits.what=cometimentos recentes
[org]
org_name_holder=Nome da organização
@ -2699,7 +2754,6 @@ teams.write_permission_desc=Esta equipa atribui acesso de <strong>escrita</stron
teams.admin_permission_desc=Esta equipa atribui o acesso de <strong>administração</strong>: os seus membros podem ler de, enviar para, e adicionar colaboradores aos repositórios da equipa.
teams.create_repo_permission_desc=Adicionalmente, esta equipa atribui a permissão de <strong>criar repositórios</strong>: os seus membros podem criar novos repositórios na organização.
teams.repositories=Repositórios da equipa
teams.search_repo_placeholder=Procurar repositório…
teams.remove_all_repos_title=Remover todos os repositórios da equipa
teams.remove_all_repos_desc=Isto irá remover todos os repositórios da equipa.
teams.add_all_repos_title=Adicionar todos os repositórios
@ -2708,6 +2762,7 @@ teams.add_nonexistent_repo=O repositório que está a tentar adicionar não exis
teams.add_duplicate_users=O utilizador já é um membro da equipa.
teams.repos.none=Não há repositórios que possam ser acedidos por esta equipa.
teams.members.none=Não há membros nesta equipa.
teams.members.blocked_user=Não foi possível adicionar o/a utilizador/a porque essa operação foi bloqueada pela organização.
teams.specific_repositories=Repositórios específicos
teams.specific_repositories_helper=Os membros só terão acesso a repositórios explicitamente adicionados à equipa. Escolher isto <strong>não irá</strong> remover automaticamente os repositórios já adicionados com <i>Todos os repositórios</i>.
teams.all_repositories=Todos os repositórios
@ -2732,6 +2787,8 @@ integrations=Integrações
authentication=Fontes de autenticação
emails=Emails do utilizador
config=Configuração
config_summary=Resumo
config_settings=Configurações
notices=Notificações do sistema
monitor=Monitorização
first_page=Primeira
@ -2908,9 +2965,6 @@ repos.unadopted.no_more=Não foram encontrados mais repositórios não adoptados
repos.owner=Proprietário(a)
repos.name=Nome
repos.private=Privado
repos.watches=Vigilâncias
repos.stars=Favoritos
repos.forks=Derivações
repos.issues=Questões
repos.size=Tamanho
repos.lfs_size=Tamanho do LFS
@ -3035,7 +3089,7 @@ auths.tip.nextcloud=`Registe um novo consumidor OAuth na sua instância usando o
auths.tip.dropbox=Crie uma nova aplicação em https://www.dropbox.com/developers/apps
auths.tip.facebook=`Registe uma nova aplicação em https://developers.facebook.com/apps e adicione o produto "Facebook Login"`
auths.tip.github=Registe uma nova aplicação OAuth em https://github.com/settings/applications/new
auths.tip.gitlab=Registe uma nova aplicação em https://gitlab.com/profile/applications
auths.tip.gitlab_new=Registe uma nova aplicação em https://gitlab.com/-/profile/applications
auths.tip.google_plus=Obtenha credenciais de cliente OAuth2 a partir da consola do Google API em https://console.developers.google.com/
auths.tip.openid_connect=Use o URL da descoberta de conexão OpenID (<server>/.well-known/openid-configuration) para especificar os extremos
auths.tip.twitter=`Vá a https://dev.twitter.com/apps, crie uma aplicação e certifique-se de que está habilitada a opção "Allow this application to be used to Sign in with Twitter"`
@ -3171,6 +3225,7 @@ config.picture_config=Configuração da imagem e do avatar
config.picture_service=Serviço de imagem
config.disable_gravatar=Desabilitar o Gravatar
config.enable_federated_avatar=Habilitar avatares federados
config.open_with_editor_app_help=Os editores de "Abrir com" do menu de clonagem. Se for deixado em branco, será usado o predefinido. Expanda para ver o predefinido.
config.git_config=Configuração Git
config.git_disable_diff_highlight=Desabilitar o realce de sintaxe no diff
@ -3569,6 +3624,7 @@ runs.scheduled=Agendadas
runs.pushed_by=enviado por
runs.invalid_workflow_helper=O ficheiro de configuração da sequência de trabalho é inválido. Verifique o seu ficheiro de configuração: %s
runs.no_matching_online_runner_helper=Não existem executores ligados que tenham o rótulo %s
runs.no_job_without_needs=A sequência de trabalho tem que conter pelo menos um trabalho sem dependências.
runs.actor=Interveniente
runs.status=Estado
runs.actors_no_select=Todos os intervenientes

View File

@ -139,6 +139,15 @@ confirm_delete_selected=Вы уверены, что хотите удалить
name=Название
value=Значение
filter=Фильтр
filter.is_archived=Архивировано
filter.is_template=Шаблон
filter.public=Публичный
filter.private=Личный
[search]
[aria]
navbar=Панель навигации
footer=Подвал
@ -312,7 +321,6 @@ collaborative_repos=Совместные репозитории
my_orgs=Мои организации
my_mirrors=Мои зеркала
view_home=Показать %s
search_repos=Поиск репозитория…
filter=Другие фильтры
filter_by_team_repositories=Фильтровать по репозиториям команды
feed_of=Лента «%s»
@ -333,20 +341,8 @@ issues.in_your_repos=В ваших репозиториях
repos=Репозитории
users=Пользователи
organizations=Организации
search=Поиск
go_to=Перейти к
code=Код
search.type.tooltip=Тип поиска
search.fuzzy=Неточный
search.fuzzy.tooltip=Включать результаты, которые не полностью соответствуют поисковому запросу
search.match=Соответствие
search.match.tooltip=Включать только результаты, которые точно соответствуют поисковому запросу
code_search_unavailable=В настоящее время поиск по коду недоступен. Обратитесь к администратору сайта.
repo_no_results=Подходящие репозитории не найдены.
user_no_results=Подходящие пользователи не найдены.
org_no_results=Подходящие организации не найдены.
code_no_results=Соответствующий поисковому запросу исходный код не найден.
code_search_results=Результаты поиска «%s»
code_last_indexed_at=Последний проиндексированный %s
relevant_repositories_tooltip=Репозитории, являющиеся ответвлениями или не имеющие ни темы, ни значка, ни описания, скрыты.
relevant_repositories=Показаны только релевантные репозитории, <a href="%s">показать результаты без фильтрации</a>.
@ -364,7 +360,6 @@ forgot_password_title=Восстановить пароль
forgot_password=Забыли пароль?
sign_up_now=Нужен аккаунт? Зарегистрируйтесь.
sign_up_successful=Учётная запись успешно создана. Добро пожаловать!
confirmation_mail_sent_prompt=Новое письмо для подтверждения направлено на <b>%s</b>. Пожалуйста, проверьте ваш почтовый ящик в течение %s для завершения регистрации.
must_change_password=Обновить пароль
allow_password_change=Требовать смену пароля пользователем (рекомендуется)
reset_password_mail_sent_prompt=Письмо с подтверждением отправлено на <b>%s</b>. Пожалуйста, проверьте входящую почту в течение %s, чтобы завершить процесс восстановления аккаунта.
@ -612,6 +607,7 @@ form.name_reserved=Имя пользователя «%s» зарезервиро
form.name_pattern_not_allowed=Шаблон «%s» не допускается в имени пользователя.
form.name_chars_not_allowed=Имя пользователя «%s» содержит недопустимые символы.
[settings]
profile=Профиль
account=Аккаунт
@ -755,7 +751,6 @@ gpg_invalid_token_signature=Предоставленный ключ GPG, под
gpg_token_required=Вы должны предоставить подпись для токена ниже
gpg_token=Токен
gpg_token_help=Вы можете сгенерировать подпись с помощью:
gpg_token_code=echo "%s" | gpg -a --default-key %s --detach-sig
gpg_token_signature=Текстовая подпись GPG
key_signature_gpg_placeholder=Начинается с '-----BEGIN PGP SIGNATURE-----'
verify_gpg_key_success=Ключ GPG «%s» верифицирован.
@ -942,7 +937,6 @@ fork_visibility_helper=Видимость форкнутого репозито
fork_branch=Ветка для клонирования в форк
all_branches=Все ветки
use_template=Использовать этот шаблон
clone_in_vsc=Клонировать в VS Code
download_zip=Скачать ZIP
download_tar=Скачать TAR.GZ
download_bundle=Скачать BUNDLE
@ -1249,9 +1243,7 @@ commits.desc=Просмотр истории изменений исходног
commits.commits=Коммитов
commits.no_commits=Нет общих коммитов. «%s» и «%s» имеют совершенно разные истории.
commits.nothing_to_compare=Эти ветки одинаковы.
commits.search=Поиск коммитов…
commits.search.tooltip=Можно предварять ключевые слова префиксами "author:", "committer:", "after:", или "before:", например "revert author:Alice before:2019-01-13".
commits.find=Поиск
commits.search_all=Все ветки
commits.author=Автор
commits.message=Сообщение
@ -1301,7 +1293,6 @@ projects.type.basic_kanban=Обычный Канбан
projects.type.bug_triage=Планирование работы с багами
projects.template.desc=Шаблон проекта
projects.template.desc_helper=Выберите шаблон проекта для начала
projects.type.uncategorized=Без категории
projects.column.edit=Изменить столбец
projects.column.edit_title=Название
projects.column.new_title=Название
@ -1309,10 +1300,7 @@ projects.column.new_submit=Создать столбец
projects.column.new=Новый столбец
projects.column.set_default=Установить по умолчанию
projects.column.set_default_desc=Назначить этот столбец по умолчанию для неклассифицированных задач и запросов на слияние
projects.column.unset_default=Снять установку по умолчанию
projects.column.unset_default_desc=Снять установку этого столбца по умолчанию
projects.column.delete=Удалить столбец
projects.column.deletion_desc=При удалении столбца проекта все связанные задачи перемещаются в 'Без категории'. Продолжить?
projects.column.color=Цвет
projects.open=Открыть
projects.close=Закрыть
@ -1424,7 +1412,6 @@ issues.filter_sort.moststars=Больше звезд
issues.filter_sort.feweststars=Меньше звезд
issues.filter_sort.mostforks=Больше форков
issues.filter_sort.fewestforks=Меньше форков
issues.keyword_search_unavailable=В настоящее время поиск по ключевым словам недоступен. Обратитесь к администратору сайта.
issues.action_open=Открыть
issues.action_close=Закрыть
issues.action_label=Метка
@ -1673,7 +1660,6 @@ pulls.compare_compare=взять из
pulls.switch_comparison_type=Переключить тип сравнения
pulls.switch_head_and_base=Поменять исходную и целевую ветки местами
pulls.filter_branch=Фильтр по ветке
pulls.no_results=Результатов не найдено.
pulls.show_all_commits=Показать все коммиты
pulls.show_changes_since_your_last_review=Показать изменения с момента вашего последнего отзыва
pulls.showing_only_single_commit=Показать только изменения коммита %[1]s
@ -1929,17 +1915,6 @@ activity.git_stats_deletion_n=%d удалений
contributors.contribution_type.commits=коммитов
search=Поиск
search.search_repo=Поиск по репозиторию
search.type.tooltip=Тип поиска
search.fuzzy=Неточный
search.fuzzy.tooltip=Включать результаты, которые не полностью соответствуют поисковому запросу
search.match=Соответствие
search.match.tooltip=Включать только результаты, которые точно соответствуют поисковому запросу
search.results=Результаты поиска "%s" в <a href="%s">%s</a>
search.code_no_results=Не найдено исходного кода, соответствующего поисковому запросу.
search.code_search_unavailable=В настоящее время поиск по коду недоступен. Обратитесь к администратору сайта.
settings=Настройки
settings.desc=В настройках вы можете менять различные параметры этого репозитория
settings.options=Репозиторий
@ -2015,6 +1990,7 @@ settings.pulls.default_allow_edits_from_maintainers=По умолчанию ра
settings.releases_desc=Включить релизы
settings.packages_desc=Включить реестр пакетов
settings.projects_desc=Включить проекты репозитория
settings.projects_mode_all=Все проекты
settings.actions_desc=Включить действия репозитория
settings.admin_settings=Настройки администратора
settings.admin_enable_health_check=Выполнять проверки целостности этого репозитория (git fsck)
@ -2089,7 +2065,6 @@ settings.delete_collaborator=Удалить
settings.collaborator_deletion=Удалить соавтора
settings.collaborator_deletion_desc=Этот пользователь больше не будет иметь доступа для совместной работы в этом репозитории после удаления. Вы хотите продолжить?
settings.remove_collaborator_success=Соавтор удалён.
settings.search_user_placeholder=Поиск пользователя…
settings.org_not_allowed_to_be_collaborator=Организации не могут быть добавлены как соавторы.
settings.change_team_access_not_allowed=Доступ к репозиторию команде ограничен владельцем организации
settings.team_not_in_organization=Команда не в той же организации, что и репозиторий
@ -2097,7 +2072,6 @@ settings.teams=Команды
settings.add_team=Добавить команду
settings.add_team_duplicate=Команда уже имеет репозиторий
settings.add_team_success=Команда теперь имеет доступ к репозиторию.
settings.search_team=Поиск команды…
settings.change_team_permission_tip=Разрешение команды установлено на странице настройки команды и не может быть изменено для каждого репозитория
settings.delete_team_tip=Эта команда имеет доступ ко всем репозиториям и не может быть удалена
settings.remove_team_success=Доступ команды к репозиторию удалён.
@ -2248,9 +2222,7 @@ settings.protect_whitelist_committers=Ограничение отправки п
settings.protect_whitelist_committers_desc=Только пользователям или командам из белого списка будет разрешена отправка изменений в эту ветку (но не принудительная отправка).
settings.protect_whitelist_deploy_keys=Белый список развёртываемых ключей с доступом на запись в push.
settings.protect_whitelist_users=Пользователи, которые могут отправлять изменения в эту ветку:
settings.protect_whitelist_search_users=Поиск пользователей…
settings.protect_whitelist_teams=Команды, члены которых могут отправлять изменения в эту ветку:
settings.protect_whitelist_search_teams=Поиск команд…
settings.protect_merge_whitelist_committers=Ограничить право на слияние белым списком
settings.protect_merge_whitelist_committers_desc=Разрешить принимать запросы на слияние в эту ветку только пользователям и командам из «белого списка».
settings.protect_merge_whitelist_users=Пользователи с правом на слияние:
@ -2486,7 +2458,6 @@ branch.default_deletion_failed=Ветка «%s» является веткой
branch.restore=Восстановить ветку «%s»
branch.download=Скачать ветку «%s»
branch.rename=Переименовать ветку «%s»
branch.search=Поиск ветки
branch.included_desc=Эта ветка является частью ветки по умолчанию
branch.included=Включено
branch.create_new_branch=Создать ветку из ветви:
@ -2623,7 +2594,6 @@ teams.write_permission_desc=Эта команда предоставляет д
teams.admin_permission_desc=Эта команда даёт <strong>административный</strong> доступ: участники могут читать, отправлять изменения и добавлять соавторов к её репозиториям.
teams.create_repo_permission_desc=Кроме того, эта команда предоставляет право <strong>Создание репозитория</strong>: члены команды могут создавать новые репозитории в организации.
teams.repositories=Репозитории группы разработки
teams.search_repo_placeholder=Поиск репозитория…
teams.remove_all_repos_title=Удалить все репозитории команды
teams.remove_all_repos_desc=Удаляет все репозитории из команды.
teams.add_all_repos_title=Добавить все репозитории
@ -2654,6 +2624,8 @@ integrations=Интеграции
authentication=Аутентификация
emails=Адреса эл. почты пользователей
config=Конфигурация
config_summary=Статистика
config_settings=Настройки
notices=Системные уведомления
monitor=Мониторинг
first_page=Первая
@ -2822,9 +2794,6 @@ repos.unadopted.no_more=Больше непринятых репозиторие
repos.owner=Владелец
repos.name=Название
repos.private=Личный
repos.watches=Следят
repos.stars=Звезды
repos.forks=Форки
repos.issues=Задачи
repos.size=Размер
repos.lfs_size=Размер LFS
@ -2946,7 +2915,6 @@ auths.tip.nextcloud=`Зарегистрируйте нового потреби
auths.tip.dropbox=Добавьте новое приложение на https://www.dropbox.com/developers/apps
auths.tip.facebook=Зарегистрируйте новое приложение на https://developers.facebook.com/apps и добавьте модуль «Facebook Login»
auths.tip.github=Добавьте OAuth приложение на https://github.com/settings/applications/new
auths.tip.gitlab=Добавьте новое приложение на https://gitlab.com/profile/applications
auths.tip.google_plus=Получите учётные данные клиента OAuth2 в консоли Google API на странице https://console.developers.google.com/
auths.tip.openid_connect=Используйте OpenID Connect Discovery URL (<server>/.well-known/openid-configuration) для автоматической настройки входа OAuth
auths.tip.twitter=Перейдите на https://dev.twitter.com/apps, создайте приложение и убедитесь, что включена опция «Разрешить это приложение для входа в систему с помощью Twitter»

View File

@ -100,6 +100,15 @@ concept_user_organization=සංවිධානය
name=නම
filter=පෙරහන
filter.is_archived=සංරක්ෂිත
filter.is_template=සැකිලි
filter.public=ප්‍රසිද්ධ
filter.private=පෞද්ගලික
[search]
[aria]
[heatmap]
@ -223,7 +232,6 @@ collaborative_repos=සහයෝගී ගබඩාවලදී
my_orgs=මාගේ සංවිධාන
my_mirrors=මගේ දර්පණ
view_home=%s දකින්න
search_repos=ගබඩාවක් සොයා ගන්න…
filter=වෙනත් පෙරහන්
filter_by_team_repositories=කණ්ඩායම් කෝෂ්ඨ අනුව පෙරන්න
@ -243,13 +251,7 @@ issues.in_your_repos=ඔබගේ කෝෂ්ඨවල
repos=කෝෂ්ඨ
users=පරිශීලකයින්
organizations=සංවිධාන
search=සොයන්න
code=කේතය
search.match=තරගය
repo_no_results=ගැලපෙන ගබඩාවක් හමු නොවීය.
user_no_results=ගැලපෙන පරිශීලකයින් හමු නොවීය.
org_no_results=ගැලපෙන සංවිධාන හමු නොවීය.
code_no_results=ඔබගේ සෙවුම් පදය ගැලපෙන ප්රභව කේතයක් නොමැත.
code_last_indexed_at=අවසන් සුචිගත %s
[auth]
@ -262,7 +264,6 @@ remember_me=උපාංගය මතක තබාගන්න
forgot_password_title=මුරපදය අමතක වුණා
forgot_password=මුරපදය අමතක වුණා ද?
sign_up_now=ගිණුමක් ඇවැසිද? දැන් ලියාපදිංචි වන්න.
confirmation_mail_sent_prompt=නව තහවුරු කිරීමේ විද්යුත් තැපෑලක් <b>%s</b>වෙත යවා ඇත. ලියාපදිංචි කිරීමේ ක්රියාවලිය සම්පූර්ණ කිරීම සඳහා කරුණාකර ඊළඟ %s තුළ ඔබගේ එන ලිපි පරීක්ෂා කරන්න.
must_change_password=මුරපදය යාවත්කාල කරන්න
allow_password_change=මුරපදය වෙනස් කිරීමට පරිශීලකයාට අවශ්ය වේ (නිර්දේශිත)
reset_password_mail_sent_prompt=තහවුරු කිරීමේ විද්යුත් තැපෑලක් <b>%s</b>වෙත යවා ඇත. ඊළඟ තුළ ඔබගේ එන ලිපි පරීක්ෂා කරන්න %s ගිණුම යථා ක්රියාවලිය සම්පූර්ණ කිරීම සඳහා.
@ -467,6 +468,7 @@ user_bio=චරිතාපදානය
disabled_public_activity=මෙම පරිශීලකයා ක්රියාකාරකම්වල මහජන දෘශ්යතාව අක්රීය කර ඇත.
[settings]
profile=පැතිකඩ
account=ගිණුම
@ -578,7 +580,6 @@ gpg_invalid_token_signature=සපයන ලද GPG යතුර, අත්ස
gpg_token_required=පහත ටෝකනය සඳහා ඔබ අත්සනක් ලබා දිය යුතුය
gpg_token=ටෝකනය
gpg_token_help=ඔබට අත්සනක් ජනනය කළ හැකිය:
gpg_token_code=දෝංකාරය "%s" | gpg -a -පැහැර හැරීම-යතුර %s —වෙන්ච-සිග්
gpg_token_signature=සන්නද්ධ GPG අත්සන
key_signature_gpg_placeholder=ආරම්භ වන්නේ '—ආරම්භ කරන්න PGP සිග්නේටුර්—'
ssh_key_verified=සත්යාපිත යතුර
@ -717,7 +718,6 @@ fork_repo=දෙබලක ගබඩාව
fork_from=සිට දෙබලක
fork_visibility_helper=ව්යාජ ගබඩාවේ දෘශ්යතාව වෙනස් කළ නොහැක.
use_template=මෙම අච්චුව භාවිතා කරන්න
clone_in_vsc=VS කේතය පරිගණක ක්රිඩාවට සමාන
download_zip=ZIP බාගන්න
download_tar=TAR.GZ බාගන්න
download_bundle=බණ්ඩලය බාගත කරන්න
@ -943,8 +943,6 @@ editor.require_signed_commit=ශාඛාවට අත්සන් කළ කැ
commits.desc=මූලාශ්ර කේත වෙනස් කිරීමේ ඉතිහාසය පිරික්සන්න.
commits.commits=විවරයන්
commits.nothing_to_compare=මෙම ශාඛා සමාන වේ.
commits.search=සෙවුම් වාර…
commits.find=සොයන්න
commits.search_all=සියළුම ශාඛා
commits.author=කතෘ
commits.message=පණිවිඩය
@ -981,7 +979,6 @@ projects.type.basic_kanban=මූලික කන්ෙවනි
projects.type.bug_triage=දෝෂ ට්රයිජ්
projects.template.desc=ව්යාපෘති සැකිල්ල
projects.template.desc_helper=ආරම්භ කිරීම සඳහා ව්යාපෘති සැකිල්ලක් තෝරන්න
projects.type.uncategorized=ප්‍රවර්ග ගත නැති
projects.column.edit_title=නම
projects.column.new_title=නම
projects.column.color=වර්ණය
@ -1263,7 +1260,6 @@ pulls.compare_compare=සිට අදින්න
pulls.switch_comparison_type=ස්විච් සංසන්දනය වර්ගය
pulls.switch_head_and_base=හිස සහ පාදය මාරු කරන්න
pulls.filter_branch=ශාඛාව පෙරන්න
pulls.no_results=ප්රතිඵල සොයාගත නොහැකි විය.
pulls.nothing_to_compare=මෙම ශාඛා සමාන වේ. අදින්න ඉල්ලීමක් නිර්මාණය කිරීමට අවශ්ය නැත.
pulls.nothing_to_compare_and_allow_empty_pr=මෙම ශාඛා සමාන වේ. මෙම මහජන සම්බන්ධතා හිස් වනු ඇත.
pulls.has_pull_request=`මෙම ශාඛා අතර අදින්න ඉල්ලීම දැනටමත් පවතී: <a href="%[1]s">%[2]s #%[3]d</a>`
@ -1462,13 +1458,6 @@ activity.git_stats_deletion_n=%d මකාදැමීම්
contributors.contribution_type.commits=විවරයන්
search=සොයන්න
search.search_repo=කෝෂ්ඨය සොයන්න
search.fuzzy=සිනිඳු
search.match=තරගය
search.results=<a href="%s">%s</a> හි "%s" සඳහා සෙවුම් ප්‍රතිඵල
search.code_no_results=ඔබගේ සෙවුම් පදය ගැලපෙන ප්රභව කේතයක් නොමැත.
settings=සැකසුම්
settings.desc=සැකසුම් යනු ගබඩාව සඳහා සැකසුම් කළමනාකරණය කළ හැකි ස්ථානයයි
settings.options=කෝෂ්ඨය
@ -1584,7 +1573,6 @@ settings.delete_collaborator=ඉවත් කරන්න
settings.collaborator_deletion=සහයෝගිතාකරු ඉවත් කරන්න
settings.collaborator_deletion_desc=සහයෝගිතාකරුවෙකු ඉවත් කිරීම මෙම ගබඩාවට ඔවුන්ගේ ප්රවේශය අවලංගු කරනු ඇත. දිගටම?
settings.remove_collaborator_success=සහයෝගිතාකරු ඉවත් කර ඇත.
settings.search_user_placeholder=පරිශීලක සොයන්න…
settings.org_not_allowed_to_be_collaborator=සහයෝගීකයෙකු ලෙස සංවිධාන එකතු කළ නොහැක.
settings.change_team_access_not_allowed=ගබඩාව සඳහා කණ්ඩායම් ප්රවේශය වෙනස් කිරීම සංවිධාන හිමිකරුට සීමා කර ඇත
settings.team_not_in_organization=මෙම කණ්ඩායම ගබඩාවේ එකම සංවිධානයේ නොමැත
@ -1592,7 +1580,6 @@ settings.teams=කණ්ඩායම්
settings.add_team=කණ්ඩායම එකතු කරන්න
settings.add_team_duplicate=කණ්ඩායම දැනටමත් ගබඩාවක් ඇත
settings.add_team_success=කණ්ඩායමට දැන් කෝෂ්ඨයට ප්‍රවේශය ඇත.
settings.search_team=කණ්ඩායම සොයන්න…
settings.change_team_permission_tip=කණ්ඩායමේ අවසරය කණ්ඩායම් සැකසුම් පිටුවේ සකසන අතර කෝෂ්ඨය අනුව වෙනස් කළ නොහැකිය
settings.delete_team_tip=මෙම කණ්ඩායම සියළුම කෝෂ්ඨවලට ප්‍රවේශය ඇති අතර ඉවත් කළ නොහැකිය
settings.remove_team_success=කෝෂ්ඨය වෙත කණ්ඩායමේ ප්‍රවේශය ඉවත් කර ඇත.
@ -1709,9 +1696,7 @@ settings.protect_whitelist_committers=වයිට්ලිස්ට් සී
settings.protect_whitelist_committers_desc=මෙම ශාඛාව වෙත තල්ලු කිරීමට අවසර ඇත්තේ වයිට්ලිස්ට් පරිශීලකයින්ට හෝ කණ්ඩායම්වලට පමණි (නමුත් බල තල්ලුව නොවේ).
settings.protect_whitelist_deploy_keys=වයිට්ලිස්ට් තල්ලු කිරීමට ලිවීමේ ප්රවේශය සහිත යතුරු යොදවන්න.
settings.protect_whitelist_users=තල්ලු කිරීම සඳහා වයිට්ලිස්ට් පරිශීලකයින්:
settings.protect_whitelist_search_users=පරිශීලකයින් සොයන්න…
settings.protect_whitelist_teams=තල්ලු කිරීම සඳහා වයිට්ලිස්ට් කණ්ඩායම්:
settings.protect_whitelist_search_teams=කණ්ඩායම් සොයන්න…
settings.protect_merge_whitelist_committers=ඒකාබද්ධ වයිට්ලිස්ට් සක්රීය කරන්න
settings.protect_merge_whitelist_committers_desc=මෙම ශාඛාවට ඇද ගැනීමේ ඉල්ලීම් ඒකාබද්ධ කිරීමට සුදු පැහැති පරිශීලකයින්ට හෝ කණ්ඩායම්වලට පමණක් ඉඩ දෙන්න.
settings.protect_merge_whitelist_users=ඒකාබද්ධ කිරීම සඳහා Whitelisted පරිශීලකයන්:
@ -2006,7 +1991,6 @@ teams.write_permission_desc=මෙම කණ්ඩායම ප්රදාන
teams.admin_permission_desc=මෙම කණ්ඩායම <strong>පරිපාලක</strong> ප්රවේශය ලබා දෙයි: සාමාජිකයින්ට කියවීමට, කණ්ඩායම් ගබඩාවන්ට සහයෝගීකයින් වෙත තල්ලු කිරීමට සහ එකතු කිරීමට හැකිය.
teams.create_repo_permission_desc=මීට අමතරව, මෙම කණ්ඩායම <strong>ලබා දෙයි ගබඩාව සාදන්න</strong> අවසරය: සාමාජිකයින්ට සංවිධානයේ නව ගබඩාවක් නිර්මාණය කළ හැකිය.
teams.repositories=කණ්ඩායම් කෝෂ්ඨ
teams.search_repo_placeholder=කෝෂ්ඨය සොයන්න…
teams.remove_all_repos_title=සියළුම කණ්ඩායම් කෝෂ්ඨ ඉවත් කරන්න
teams.remove_all_repos_desc=මෙය කණ්ඩායමෙන් සියළුම කෝෂ්ඨ ඉවත් කෙරෙනු ඇත.
teams.add_all_repos_title=සියළුම කෝෂ්ඨ එක්කරන්න
@ -2031,6 +2015,8 @@ hooks=වෙබ්කොකු
authentication=සත්යාපන ප්රභවයන්
emails=පරිශීලක වි-තැපැල්
config=වින්‍යාසය
config_summary=සාරාංශය
config_settings=සැකසුම්
notices=පද්ධතියේ දැන්වීම්
monitor=අධීක්ෂණය
first_page=පළමු
@ -2178,9 +2164,6 @@ repos.unadopted.no_more=තවත් සම්මත නොකළ ගබඩා
repos.owner=හිමිකරු
repos.name=නම
repos.private=පෞද්ගලික
repos.watches=අත් ඔරලෝසු
repos.stars=තරු
repos.forks=දෙබලක
repos.issues=ගැටළු
repos.size=ප්‍රමාණය
@ -2278,7 +2261,6 @@ auths.tip.nextcloud=පහත සඳහන් මෙනුව භාවිතා
auths.tip.dropbox=https://www.dropbox.com/developers/apps හි නව යෙදුමක් සාදන්න
auths.tip.facebook=https://developers.facebook.com/apps හි නව යෙදුමක් ලියාපදිංචි කර නිෂ්පාදනය එකතු කරන්න “ෆේස්බුක් ලොගින් වන්න”
auths.tip.github=https://github.com/settings/applications/new හි නව OAUTH අයදුම්පතක් ලියාපදිංචි කරන්න
auths.tip.gitlab=https://gitlab.com/profile/applications හි නව අයදුම්පතක් ලියාපදිංචි කරන්න
auths.tip.google_plus=ගූගල් API කොන්සෝලය වෙතින් OUT2 සේවාදායක අක්තපත්ර ලබා ගන්න https://console.developers.google.com/
auths.tip.openid_connect=අන්ත ලක්ෂ්ය නියම කිරීම සඳහා OpenID Connect ඩිස්කවරි URL (<server>/.හොඳින් දැන /openid-වින්යාසය) භාවිතා කරන්න
auths.tip.twitter=https://dev.twitter.com/apps වෙත යන්න, යෙදුමක් සාදන්න සහ “මෙම යෙදුම ට්විටර් සමඟ පුරනය වීමට භාවිතා කිරීමට ඉඩ දෙන්න” විකල්පය සක්රීය කර ඇති බවට සහතික වන්න

View File

@ -140,6 +140,13 @@ confirm_delete_selected=Potvrdzujete zmazanie všetkých vybraných položiek?
name=Meno
value=Hodnota
filter.is_archived=Archivované
filter.is_template=Šablóna
filter.private=Súkromný
[search]
[aria]
navbar=Navigačná lišta
footer=Päta
@ -309,7 +316,6 @@ collaborative_repos=Kolaboratívne repozitáre
my_orgs=Moje organizácie
my_mirrors=Moje zrkadlá
view_home=Zobraziť %s
search_repos=Nájsť repozitár…
filter=Ostatné filtre
filter_by_team_repositories=Filtrovať podľa tímových repozitárov
feed_of=Informačný kanál „%s“
@ -330,20 +336,8 @@ issues.in_your_repos=Vo vašich repozitároch
repos=Repozitáre
users=Používatelia
organizations=Organizácie
search=Hľadať
go_to=Ísť na
code=Zdrojový kód
search.type.tooltip=Typ vyhľadávania
search.fuzzy=Fuzzy
search.fuzzy.tooltip=Zahrnúť iba výsledky, ktoré sa takmer zhodujú s hľadaným výrazom
search.match=Zhoda
search.match.tooltip=Zahrnúť iba výsledky, ktoré sa presne zhodujú s hľadaným výrazom
code_search_unavailable=Vyhľadávanie kódu momentálne nie je dostupné. Kontaktujte, prosím, správcu.
repo_no_results=Nenašli sa zodpovedajúce repozitáre.
user_no_results=Nenašli sa zodpovedajúci používatelia.
org_no_results=Nenašli sa zodpovedajúce organizácie.
code_no_results=Nenašiel sa žiaden zdrojový kód zodpovedajúci hľadanému výrazu.
code_search_results=`Výsledky hľadania pre "%s"`
code_last_indexed_at=Naposledy indexované %s
relevant_repositories_tooltip=Repozitáre, ktoré sú forkami alebo ktoré nemajú tému, žiadnu ikonu ani popis, sú skryté.
relevant_repositories=Zobrazujú sa iba relevantné repozitáre, <a href="%s">zobraziť nefiltrované výsledky</a>.
@ -359,7 +353,6 @@ remember_me=Zapamätať si toto zariadenie
forgot_password_title=Zabudnuté heslo
forgot_password=Zabudli ste heslo?
sign_up_now=Potrebujete účet? Zaregistrujte sa teraz.
confirmation_mail_sent_prompt=Na adresu <b>%s</b> bol odoslaný nový potvrdzovací e-mail. Skontrolujte si, prosím, vašu doručenú poštu počas najbližších %s pre dokončenie procesu registrácie.
allow_password_change=Vyžiadať od používateľa zmenu hesla (doporučuje sa)
reset_password_mail_sent_prompt=Na adresu <b>%s</b> bol odoslaný potvrdzovací e-mail. Skontrolujte si, prosím, vašu doručenú poštu počas najbližších %s pre dokončenie procesu obnovenia účtu.
active_your_account=Aktivovať účet
@ -582,6 +575,7 @@ user_bio=Životopis
disabled_public_activity=Tento používateľ zákázal verejnú viditeľnosť aktivity.
[settings]
profile=Profil
account=Účet
@ -707,7 +701,6 @@ gpg_invalid_token_signature=Zadaný GPG kľúč, podpis a token sa nezhodujú al
gpg_token_required=Musíte zadať podpis pre nižšie uvedený token
gpg_token=Token
gpg_token_help=Podpis môžete vygenerovať pomocou:
gpg_token_code=echo "%s" | gpg -a --default-key %s --detach-sig
gpg_token_signature=Zakódovaný (ASCII) podpis GPG
key_signature_gpg_placeholder=Začína s '-----BEGIN PGP SIGNATURE-----'
ssh_key_verified=Overený kľúč
@ -853,7 +846,6 @@ visibility_helper_forced=Váš správca vynucuje že nové repozitáre musia by
visibility_fork_helper=(Zmena ovplyvní všetky forky.)
clone_helper=Potrebujete pomoc s klonovaním? Navštívte <a target="_blank" rel="noopener noreferrer" href="%s">Pomocníka</a>.
use_template=Použiť túto šablónu
clone_in_vsc=Klonovať vo VS Code
generate_repo=Generovať repozitár
generate_from=Generovať z
repo_desc=Popis
@ -1037,7 +1029,6 @@ editor.no_commit_to_branch=Nedá sa odoslať priamo do vetvy, pretože:
editor.require_signed_commit=Vetva vyžaduje podpísaný commit
commits.commits=Commity
commits.find=Hľadať
commits.search_all=Všetky vetvy
commits.author=Autor
commits.message=Správa
@ -1147,15 +1138,6 @@ activity.git_stats_commit_n=%d commity
contributors.contribution_type.commits=Commitov
search=Hľadať
search.type.tooltip=Typ vyhľadávania
search.fuzzy=Fuzzy
search.fuzzy.tooltip=Zahrnúť iba výsledky, ktoré sa takmer zhodujú s hľadaným výrazom
search.match=Zhoda
search.match.tooltip=Zahrnúť iba výsledky, ktoré sa presne zhodujú s hľadaným výrazom
search.code_no_results=Nenašiel sa žiaden zdrojový kód zodpovedajúci hľadanému výrazu.
search.code_search_unavailable=Vyhľadávanie kódu momentálne nie je dostupné. Kontaktujte, prosím, správcu.
settings.collaboration.owner=Vlastník
settings.hooks=Webhooky
settings.githooks=Git hooky
@ -1287,7 +1269,6 @@ dashboard.delete_generated_repository_avatars=Odstrániť vygenerované avatary
repos.owner=Vlastník
repos.private=Súkromný
repos.forks=Forky
packages.owner=Vlastník
packages.repository=Repozitár

View File

@ -91,6 +91,14 @@ concept_user_organization=Organisation
name=Namn
filter.is_archived=Arkiverade
filter.is_template=Mall
filter.public=Offentlig
filter.private=Privat
[search]
[aria]
[heatmap]
@ -212,7 +220,6 @@ collaborative_repos=Kollaborativa Utvecklingskataloger
my_orgs=Mina organisationer
my_mirrors=Mina speglar
view_home=Visa %s
search_repos=Hitta en utvecklingskatalog…
filter=Övriga Filter
show_archived=Arkiverade
@ -231,12 +238,7 @@ issues.in_your_repos=I dina utvecklingskataloger
repos=Utvecklingskataloger
users=Användare
organizations=Organisationer
search=Sök
code=Kod
repo_no_results=Inga matchande utvecklingskataloger hittades.
user_no_results=Inga matchande användare hittades.
org_no_results=Inga matchande organisationer hittades.
code_no_results=Ingen källkod hittades som matchar din sökterm.
code_last_indexed_at=Indexerades senast %s
[auth]
@ -249,7 +251,6 @@ remember_me=Kom ihåg denna enhet
forgot_password_title=Glömt lösenord
forgot_password=Glömt lösenord?
sign_up_now=Behöver du ett konto? Registrera nu.
confirmation_mail_sent_prompt=Ett nytt bekräftelsemail has skickats till <b>%s</b>. Vänligen kolla din inkorg inom dom kommande %s för att slutföra registreringsprocessen.
must_change_password=Ändra ditt lösenord
allow_password_change=Kräv att användaren byter lösenord (rekommenderas)
reset_password_mail_sent_prompt=Ett nytt bekräftelsemail has skickats till <b>%s</b>. Vänligen kontrollera din inkorg inom de kommande %s för att slutföra återställning av ditt konto.
@ -406,6 +407,7 @@ user_bio=Biografi
disabled_public_activity=Den här användaren har inaktiverat den publika synligheten av aktiviteten.
[settings]
profile=Profil
account=Konto
@ -798,8 +800,6 @@ editor.require_signed_commit=Branchen kräver en signerad commit
commits.desc=Bläddra i källkodens förändringshistorik.
commits.commits=Incheckningar
commits.search=Sök commits…
commits.find=Sök
commits.search_all=Alla brancher
commits.author=Upphovsman
commits.message=Meddelande
@ -827,7 +827,6 @@ projects.edit=Redigera projekt
projects.modify=Uppdatera projekt
projects.type.none=Ingen
projects.template.desc=Projektmall
projects.type.uncategorized=Okatergoriserad
projects.column.edit_title=Namn
projects.column.new_title=Namn
projects.open=Öppna
@ -1084,7 +1083,6 @@ pulls.compare_changes_desc=Välj branchen att merga in i, och ifrån.
pulls.compare_base=merga in i
pulls.compare_compare=pulla från
pulls.filter_branch=Filtrera gren
pulls.no_results=Inga resultat hittades.
pulls.nothing_to_compare=Dessa brancher är ekvivalenta. Det finns ingen anledning att skapa en pull-request.
pulls.create=Skapa Pullförfrågan
pulls.title_desc=vill sammanfoga %[1]d incheckningar från <code>s[2]s</code> in i <code id="branch_target">%[3]s</code>
@ -1230,11 +1228,6 @@ activity.git_stats_deletion_n=%d borttagningar
contributors.contribution_type.commits=Incheckningar
search=Sök
search.search_repo=Sök utvecklingskatalog
search.results=Sökresultat för ”%s” i <a href="%s"> %s</a>
search.code_no_results=Ingen källkod hittades som matchar din sökterm.
settings=Inställningar
settings.desc=Inställningarna är där du kan hantera inställningar för utvecklingskatalogen
settings.options=Utvecklingskatalog
@ -1315,7 +1308,6 @@ settings.delete_collaborator=Ta bort
settings.collaborator_deletion=Ta bort medarbetare
settings.collaborator_deletion_desc=Borttagning av en medarbetare kommer att återkalla deras åtkomst till utvecklingskatalogen. Vill du fortsätta?
settings.remove_collaborator_success=Medarbetaren har blivit borttagen.
settings.search_user_placeholder=Sök användare…
settings.org_not_allowed_to_be_collaborator=Organisationer kan inte läggas till som en medarbetare.
settings.change_team_access_not_allowed=Att ändra teamåtkomst för utvecklingskatalogen har begränsats till organisationsägaren
settings.team_not_in_organization=Teamet är inte i samma organisation som utvecklingskatalogen
@ -1407,9 +1399,7 @@ settings.protect_enable_push=Aktivera Push
settings.protect_enable_push_desc=Alla med skrivrättigheter kommer att kunna pusha till denna branch (men inte force-pusha).
settings.protect_whitelist_deploy_keys=Vitlista deploy-nyckar med skrivåtkomst till push.
settings.protect_whitelist_users=Vitlistade användare för pushning:
settings.protect_whitelist_search_users=Sök användare…
settings.protect_whitelist_teams=Vitlistade team för pushning:
settings.protect_whitelist_search_teams=Sök team…
settings.protect_merge_whitelist_committers=Aktivera vitlista för sammanfogning
settings.protect_merge_whitelist_committers_desc=Tillåt endast vitlistade användare eller team att sammanfoga pull requests i denna branch.
settings.protect_merge_whitelist_users=Vitlistade användare för sammanfogning:
@ -1626,7 +1616,6 @@ teams.write_permission_desc=Medlemskap i detta team ger <strong>skrivrättighete
teams.admin_permission_desc=Medlemskap i detta team ger <strong>administratörsrättigheter</strong>: medlemmar kan läsa, pusha och lägga till medarbetare till teamets utvecklingskataloger.
teams.create_repo_permission_desc=Vidare så ger detta team <strong>Skapa utvecklingskatalog</strong> rättigheten: medlemmar can skapa nya utvecklingskataloger i organisationen.
teams.repositories=Teamförråd
teams.search_repo_placeholder=Sök utvecklingskatalog…
teams.remove_all_repos_title=Ta bort alla utvecklingskataloger för teamet
teams.remove_all_repos_desc=Detta kommer att ta bort alla utvecklingskataloger från teamet.
teams.add_all_repos_title=Lägg till alla utvecklingskataloger
@ -1649,6 +1638,8 @@ organizations=Organisationer
repositories=Utvecklingskataloger
authentication=Autentiseringskälla
config=Konfiguration
config_summary=Översikt
config_settings=Inställningar
notices=Systemaviseringar
monitor=Övervakning
first_page=Första
@ -1750,9 +1741,6 @@ repos.repo_manage_panel=Utvecklingskatalogshantering
repos.owner=Ägare
repos.name=Namn
repos.private=Privat
repos.watches=Vakter
repos.stars=Stjärnor
repos.forks=Forkar
repos.issues=Ärenden
repos.size=Storlek
@ -1818,7 +1806,6 @@ auths.tip.bitbucket=Registrera en ny OAuth konsument på https://bitbucket.org/a
auths.tip.dropbox=Skapa en ny applikation på https://www.dropbox.com/developers/apps
auths.tip.facebook=Registrera en ny appliaktion på https://developers.facebook.com/apps och lägg till produkten ”Facebook-inloggning”
auths.tip.github=Registrera en ny OAuth applikation på https://github.com/settings/applications/new
auths.tip.gitlab=Registrera en ny applikation på https://gitlab.com/profile/applications
auths.tip.google_plus=Erhåll inloggningsuppgifter för OAuth2 från Google API-konsolen på https://console.developers.google.com/
auths.tip.openid_connect=Använd OpenID Connect Discovery länken (<server>/.well-known/openid-configuration) för att ange slutpunkterna
auths.tip.twitter=Gå till https://dev.twitter.com/app, skapa en applikation och försäkra att alternativet "Allow this application to be used to Sign in with Twitter" är aktiverat

View File

@ -141,6 +141,15 @@ confirm_delete_selected=Tüm seçili öğeleri gerçekten silmek istiyor musunuz
name=İsim
value=Değer
filter=Filtre
filter.is_archived=Arşivlenmiş
filter.is_template=Şablon
filter.public=Genel
filter.private=Özel
[search]
[aria]
navbar=Gezinti Çubuğu
footer=Alt Bilgi
@ -314,7 +323,6 @@ collaborative_repos=Katkıya Açık Depolar
my_orgs=Organizasyonlarım
my_mirrors=Yansılarım
view_home=%s Görüntüle
search_repos=Depo bul…
filter=Diğer Süzgeçler
filter_by_team_repositories=Takım depolarına göre süz
feed_of=`"%s" beslemesi`
@ -335,20 +343,8 @@ issues.in_your_repos=Depolarınızda
repos=Depolar
users=Kullanıcılar
organizations=Organizasyonlar
search=Ara
go_to=Git
code=Kod
search.type.tooltip=Arama türü
search.fuzzy=Bulanık
search.fuzzy.tooltip=Arama terimine benzeyen sonuçları da içer
search.match=Eşleştir
search.match.tooltip=Sadece arama terimiyle tamamen eşleşen sonuçları içer
code_search_unavailable=Kod arama şu an mevcut değil. Lütfen site yöneticinizle bağlantıya geçin.
repo_no_results=Eşleşen depo bulunamadı.
user_no_results=Eşleşen kullanıcı bulunamadı.
org_no_results=Eşleşen organizasyon bulunamadı.
code_no_results=Arama teriminizi içeren kaynak kod bulunamadı.
code_search_results=`"%s" için sonuçları ara`
code_last_indexed_at=Son dizinlenen %s
relevant_repositories_tooltip=Çatal olan veya konusu, simgesi veya açıklaması olmayan depolar gizlenmiştir.
relevant_repositories=Sadece ilişkili depolar gösteriliyor, <a href="%s">süzülmemiş sonuçları göster</a>.
@ -366,7 +362,6 @@ forgot_password_title=Şifremi unuttum
forgot_password=Şifrenizi mi unuttunuz?
sign_up_now=Bir hesaba mı ihtiyacınız var? Hemen kaydolun.
sign_up_successful=Hesap başarılı bir şekilde oluşturuldu. Hoşgeldiniz!
confirmation_mail_sent_prompt=Yeni onay e-postası <b>%s</b> adresine gönderildi. Lütfen gelen kutunuzu bir sonraki %s e kadar kontrol edip kayıt işlemini tamamlayın.
must_change_password=Parolanızı güncelleyin
allow_password_change=Kullanıcıyı parola değiştirmeye zorla (önerilen)
reset_password_mail_sent_prompt=<b>%s</b> adresine bir onay e-postası gönderildi. Hesap kurtarma işlemini tamamlamak için lütfen gelen kutunuzu sonraki %s içinde kontrol edin.
@ -614,6 +609,7 @@ form.name_reserved=`"%s" kullanıcı adı rezerve edilmiş.`
form.name_pattern_not_allowed=Kullanıcı adında "%s" deseni kullanılamaz.
form.name_chars_not_allowed=`"%s" kullanıcı adı geçersiz karakterler içeriyor.`
[settings]
profile=Profil
account=Hesap
@ -758,7 +754,6 @@ gpg_invalid_token_signature=Verilen GPG anahtarı, imza ve anahtar uyuşmuyor ve
gpg_token_required=Aşağıdaki anahtar için bir imza sağlamalısınız
gpg_token=Anahtar
gpg_token_help=Şunu kullanarak bir imza oluşturabilirsiniz:
gpg_token_code=echo "%s" | gpg -a --default-key %s --detach-sig
gpg_token_signature=Korumalı GPG imzası
key_signature_gpg_placeholder='-----PGP İMZA BAŞLAT -----' ile başlar
verify_gpg_key_success=GPG anahtarı "%s" doğrulandı.
@ -952,7 +947,6 @@ fork_branch=Çatala klonlanacak dal
all_branches=Tüm dallar
fork_no_valid_owners=Geçerli bir sahibi olmadığı için bu depo çatallanamaz.
use_template=Bu şablonu kullan
clone_in_vsc=VS Code'ta klonla
download_zip=ZIP indir
download_tar=TAR.GZ indir
download_bundle=BUNDLE indir
@ -973,9 +967,9 @@ readme_helper=Bir README dosyası şablonu seçin.
readme_helper_desc=Projeniz için eksiksiz bir açıklama yazabileceğiniz yer burasıdır.
auto_init=Depoyu başlat (.gitignore, Lisans ve README dosyalarını ekler)
trust_model_helper=İmza doğrulaması için güven modelini seçin. Olası seçenekler şunlardır:
trust_model_helper_collaborator=Ortak çalışan: Ortak çalışanların imzalarına güven
trust_model_helper_collaborator=Katkıcı: Katkıcıların imzalarına güven
trust_model_helper_committer=İşleyen: İşleyenlerle eşleşen imzalara güven
trust_model_helper_collaborator_committer=Ortak çalışan+İşleyen: İşleyenle eşleşen ortak çalışanların imzalarına güven
trust_model_helper_collaborator_committer=Katkıcı+İşleyen: İşleyenle eşleşen ortak çalışanların imzalarına güven
trust_model_helper_default=Varsayılan: Bu kurulum için varsayılan güven modelini kullan
create_repo=Depo Oluştur
default_branch=Varsayılan Dal
@ -1271,9 +1265,7 @@ commits.desc=Kaynak kodu değişiklik geçmişine göz atın.
commits.commits=İşleme
commits.no_commits=Ortak bir işleme yok. "%s" ve "%s" tamamen farklı geçmişlere sahip.
commits.nothing_to_compare=Bu dallar eşit.
commits.search=İşlemeleri ara…
commits.search.tooltip=Anahtar kelimeleri "author:", "committer:", "after:" veya "before:" ile kullanabilirsiniz, örneğin "revert author:Alice before:2019-01-13".
commits.find=Ara
commits.search_all=Tüm Dallar
commits.author=Yazar
commits.message=Mesaj
@ -1324,7 +1316,6 @@ projects.type.basic_kanban=Kanban Tabanı
projects.type.bug_triage=Hata Triyajı
projects.template.desc=Proje şablonu
projects.template.desc_helper=Başlamak için bir proje şablonu seçin
projects.type.uncategorized=Kategorize edilmemiş
projects.column.edit=Sütun Düzenle
projects.column.edit_title=İsim
projects.column.new_title=İsim
@ -1332,10 +1323,7 @@ projects.column.new_submit=Sütun Oluştur
projects.column.new=Yeni Sütun
projects.column.set_default=Varsayılanı Ayarla
projects.column.set_default_desc=Bu sütunu kategorize edilmemiş konular ve değişiklik istekleri için varsayılan olarak ayarlayın
projects.column.unset_default=Varsayılanları Geri Al
projects.column.unset_default_desc=Bu sütunu varsayılan olarak geri al
projects.column.delete=Sutün Sil
projects.column.deletion_desc=Bir proje sütununun silinmesi, ilgili tüm konuları 'Kategorize edilmemiş'e taşır. Devam edilsin mi?
projects.column.color=Renk
projects.open=
projects.close=Kapat
@ -1447,7 +1435,6 @@ issues.filter_sort.moststars=En çok yıldızlılar
issues.filter_sort.feweststars=En az yıldızlılar
issues.filter_sort.mostforks=En çok çatallananlar
issues.filter_sort.fewestforks=En az çatallananlar
issues.keyword_search_unavailable=Anahtar kelime ile arama şu an mevcut değil. Lütfen site yöneticisiyle iletişime geçin.
issues.action_open=ık
issues.action_close=Kapat
issues.action_label=Etiket
@ -1699,7 +1686,6 @@ pulls.compare_compare=şuradan çek
pulls.switch_comparison_type=Karşılaştırma türünü değiştir
pulls.switch_head_and_base=Ana ve temeli değiştir
pulls.filter_branch=Dal filtrele
pulls.no_results=Sonuç bulunamadı.
pulls.show_all_commits=Tüm işlemeleri göster
pulls.show_changes_since_your_last_review=Son incelemenizden sonraki değişiklikleri göster
pulls.showing_only_single_commit=Sadece %[1]s işlemesindeki değişiklikler gösteriliyor
@ -1969,17 +1955,6 @@ activity.git_stats_deletion_n=%d silme oldu
contributors.contribution_type.commits=İşleme
search=Ara
search.search_repo=Depo ara
search.type.tooltip=Arama türü
search.fuzzy=Belirsiz
search.fuzzy.tooltip=Arama terimine benzeyen sonuçları da içer
search.match=Eşleştir
search.match.tooltip=Sadece arama terimiyle tamamen eşleşen sonuçları içer
search.results=`"%s" için <a href="%s">%s</a> içinde sonuçları ara`
search.code_no_results=Arama teriminizi içeren kaynak kod bulunamadı.
search.code_search_unavailable=Kod arama şu an mevcut değil. Lütfen site yöneticinizle bağlantıya geçin.
settings=Ayarlar
settings.desc=Ayarlar, deponun ayarlarını yönetebileceğiniz yerdir
settings.options=Depo
@ -2057,6 +2032,7 @@ settings.pulls.default_allow_edits_from_maintainers=Bakımcıların düzenlemele
settings.releases_desc=Depo Sürümlerini Etkinleştir
settings.packages_desc=Depo Paket Kütüğünü Etkinleştir
settings.projects_desc=Depo Projelerini Etkinleştir
settings.projects_mode_all=Tüm projeler
settings.actions_desc=Depo İşlemlerini Etkinleştir
settings.admin_settings=Yönetici Ayarları
settings.admin_enable_health_check=Depo Sağlık Kontrollerini Etkinleştir (git fsck)
@ -2131,7 +2107,6 @@ settings.delete_collaborator=Sil
settings.collaborator_deletion=Katkıcıyı Sil
settings.collaborator_deletion_desc=Bir katkıcıyı silmek, bu depoya erişimini iptal edecektir. Devam et?
settings.remove_collaborator_success=Katkıcı silindi.
settings.search_user_placeholder=Kullanıcı ara…
settings.org_not_allowed_to_be_collaborator=Organizasyonlar katkıcı olarak eklenemez.
settings.change_team_access_not_allowed=Depo için takım erişimini değiştirmek, organizasyon sahibiyle sınırlandırıldı
settings.team_not_in_organization=Takım, depo ile aynı organizasyonda değil
@ -2139,7 +2114,6 @@ settings.teams=Takımlar
settings.add_team=Takım Ekle
settings.add_team_duplicate=Takım zaten bu depoya sahip
settings.add_team_success=Takım artık bu depoya erişebilir.
settings.search_team=Takım Ara…
settings.change_team_permission_tip=Takımın izni takım ayarı sayfasında ayarlanır ve depo başına değiştirilemez
settings.delete_team_tip=Bu takımın tüm depolara erişimi var ve kaldırılamıyor
settings.remove_team_success=Takımın depoya erişimi kaldırıldı.
@ -2292,9 +2266,7 @@ settings.protect_whitelist_committers=Beyaz Liste Kısıtlı Gönderme
settings.protect_whitelist_committers_desc=Sadece beyaz listeye alınmış kullanıcıların veya takımların bu dala göndermesine izin verilir (ancak zorla gönderim yapmayın).
settings.protect_whitelist_deploy_keys=Beyaz liste göndermek için yazma erişimi olan anahtarları dağıtır.
settings.protect_whitelist_users=İtme için beyaz listedeki kullanıcılar:
settings.protect_whitelist_search_users=Kullanıcı ara…
settings.protect_whitelist_teams=İtme için beyaz listedeki takımlar:
settings.protect_whitelist_search_teams=Takımları ara…
settings.protect_merge_whitelist_committers=Birleştirme Beyaz Listesini Etkinleştir
settings.protect_merge_whitelist_committers_desc=Yalnızca beyaz listedeki kullanıcıların veya takımların bu daldaki değişiklik isteklerini birleştirmesine izin verin.
settings.protect_merge_whitelist_users=Birleştirme için beyaz listedeki kullanıcılar:
@ -2536,7 +2508,6 @@ branch.default_deletion_failed=`"%s" dalı varsayılan daldır. Silinemez.`
branch.restore=`"%s" Dalını Geri Yükle`
branch.download=`"%s" Dalını İndir`
branch.rename=`"%s" Dalının Adını Değiştir`
branch.search=Dal Ara
branch.included_desc=Bu dal varsayılan dalın bir parçasıdır
branch.included=Dahil
branch.create_new_branch=Şu daldan dal oluştur:
@ -2674,7 +2645,6 @@ teams.write_permission_desc=Bu takım <strong>Yazma</strong> erişimi veriyor.
teams.admin_permission_desc=Bu takım <strong>Yönetici</strong> erişimi veriyor. Üyeler takım depolarını okuyabilir, itebilir ve katkıcı ekleyebilir.
teams.create_repo_permission_desc=Ayrıca, bu takım <strong>Depo oluşturma</strong> izni verir: üyeler organizasyonda yeni depolar oluşturabilir.
teams.repositories=Takım Depoları
teams.search_repo_placeholder=Depo ara…
teams.remove_all_repos_title=Tüm takım depolarını kaldır
teams.remove_all_repos_desc=Bu, tüm depoları takımdan kaldıracaktır.
teams.add_all_repos_title=Tüm depoları ekle
@ -2706,6 +2676,8 @@ integrations=Bütünleştirmeler
authentication=Yetkilendirme Kaynakları
emails=Kullanıcı E-postaları
config=Yapılandırma
config_summary=Özet
config_settings=Ayarlar
notices=Sistem Bildirimler
monitor=İzleme
first_page=İlk
@ -2880,9 +2852,6 @@ repos.unadopted.no_more=Kabul edilmemiş başka depo bulunamadı
repos.owner=Sahibi
repos.name=İsim
repos.private=Özel
repos.watches=İzlemeler
repos.stars=Yıldızlar
repos.forks=Çatallar
repos.issues=Konular
repos.size=Boyut
repos.lfs_size=LFS Boyutu
@ -3007,7 +2976,6 @@ auths.tip.nextcloud=Aşağıdaki "Ayarlar -> Güvenlik -> OAuth 2.0 istemcisi" m
auths.tip.dropbox=https://www.dropbox.com/developers/apps adresinde yeni bir uygulama oluştur
auths.tip.facebook=https://developers.facebook.com/apps adresinde yeni bir uygulama kaydedin ve "Facebook Giriş" ürününü ekleyin
auths.tip.github=https://github.com/settings/applications/new adresinde yeni bir OAuth uygulaması kaydedin
auths.tip.gitlab=https://gitlab.com/profile/applications adresinde yeni bir uygulama kaydedin
auths.tip.google_plus=OAuth2 istemci kimlik bilgilerini https://console.developers.google.com/ adresindeki Google API konsolundan edinin
auths.tip.openid_connect=Bitiş noktalarını belirlemek için OpenID Connect Discovery URL'sini kullanın (<server>/.well-known/openid-configuration)
auths.tip.twitter=https://dev.twitter.com/apps adresine gidin, bir uygulama oluşturun ve “Bu uygulamanın Twitter ile oturum açmak için kullanılmasına izin ver” seçeneğinin etkin olduğundan emin olun

View File

@ -101,6 +101,15 @@ concept_user_organization=Організація
name=Назва
filter=Фільтр
filter.is_archived=Архівовані
filter.is_template=Шаблон
filter.public=Публічний
filter.private=Приватний
[search]
[aria]
[heatmap]
@ -236,7 +245,6 @@ collaborative_repos=Спільні репозиторії
my_orgs=Мої організації
my_mirrors=Мої дзеркала
view_home=Переглянути %s
search_repos=Шукати репозиторій…
filter=Інші фільтри
filter_by_team_repositories=Фільтрувати за репозиторіями команд
feed_of=`Стрічка "%s"`
@ -257,14 +265,7 @@ issues.in_your_repos=В ваших репозиторіях
repos=Репозиторії
users=Користувачі
organizations=Організації
search=Пошук
code=Код
search.fuzzy=Неточний
search.match=Відповідність
repo_no_results=Відповідних репозиторіїв не знайдено.
user_no_results=Відповідних користувачів не знайдено.
org_no_results=Відповідних організацій не знайдено.
code_no_results=Відповідний пошуковому запитанню код не знайдено.
code_last_indexed_at=Останні індексовані %s
[auth]
@ -277,7 +278,6 @@ remember_me=Запам’ятати цей пристрій
forgot_password_title=Забув пароль
forgot_password=Забули пароль?
sign_up_now=Потрібен обліковий запис? Зареєструйтеся зараз.
confirmation_mail_sent_prompt=Новий лист для підтвердження було відправлено на <b>%s</b>, будь ласка, перевірте вашу поштову скриньку протягом %s для завершення реєстрації.
must_change_password=Оновіть свій пароль
allow_password_change=Вимагати в користувача змінити пароль (рекомендується)
reset_password_mail_sent_prompt=Електронний лист із підтвердженням надіслано <b>%s</b>. Перевірте папку 'Вхідні' в межах наступних %s, щоб завершити процес відновлення облікового запису.
@ -483,6 +483,7 @@ user_bio=Біографія
disabled_public_activity=Цей користувач вимкнув публічний показ діяльності.
[settings]
profile=Профіль
account=Обліковий запис
@ -599,7 +600,6 @@ gpg_invalid_token_signature=Наданий ключ GPG, підпис і ток
gpg_token_required=Вам потрібно надати підпис для нижчевказаного токена
gpg_token=Токен
gpg_token_help=Ви можете створити підпис за допомогою:
gpg_token_code=echo "%s" | gpg -a --default-key %s --detach-sig
gpg_token_signature=Текстовий (armored) підпис GPG
key_signature_gpg_placeholder=`Починається з "-----BEGIN PGP SIGNATURE-----"`
ssh_key_verified=Перевірений ключ
@ -738,7 +738,6 @@ fork_repo=Форкнути репозиторій
fork_from=Форк з
fork_visibility_helper=Неможливо змінити видимість форкнутого репозиторію.
use_template=Застосувати цей шаблон
clone_in_vsc=Клонувати у VS Code
download_zip=Завантажити ZIP
download_tar=Завантажити TAR.GZ
download_bundle=Завантажити BUNDLE
@ -980,8 +979,6 @@ editor.require_signed_commit=Гілка вимагає підписаного к
commits.desc=Переглянути історію зміни коду.
commits.commits=Коміти
commits.nothing_to_compare=Ці гілки однакові.
commits.search=Знайти коміт…
commits.find=Пошук
commits.search_all=Усі гілки
commits.author=Автор
commits.message=Повідомлення
@ -1019,7 +1016,6 @@ projects.type.basic_kanban=Спрощений канбан
projects.type.bug_triage=Сортування помилок
projects.template.desc=Шаблон проєкту
projects.template.desc_helper=Оберіть шаблон проєкту, аби почати
projects.type.uncategorized=Без категорії
projects.column.edit_title=Назва
projects.column.new_title=Назва
projects.column.color=Колір
@ -1311,7 +1307,6 @@ pulls.compare_compare=pull з
pulls.switch_comparison_type=Перемкнути вигляд порівняння
pulls.switch_head_and_base=Поміняти місцями основну та базову гілку
pulls.filter_branch=Фільтр по гілці
pulls.no_results=Результатів не знайдено.
pulls.nothing_to_compare=Ці гілки однакові. Немає необхідності створювати запитів на злиття.
pulls.nothing_to_compare_and_allow_empty_pr=Одинакові гілки. Цей PR буде порожнім.
pulls.has_pull_request=`Запит злиття для цих гілок вже існує: <a href="%[1]s">%[2]s#%[3]d</a>`
@ -1511,13 +1506,6 @@ activity.git_stats_deletion_n=%d видалені
contributors.contribution_type.commits=Коміти
search=Пошук
search.search_repo=Пошук репозиторію
search.fuzzy=Неточний
search.match=Збігається
search.results=Результати пошуку для "%s" в <a href="%s">%s</a>
search.code_no_results=Відповідний пошуковому запитанню код не знайдено.
settings=Налаштування
settings.desc=У налаштуваннях ви можете змінювати різні параметри цього репозиторія
settings.options=Репозиторій
@ -1633,7 +1621,6 @@ settings.delete_collaborator=Видалити
settings.collaborator_deletion=Видалити співавтора
settings.collaborator_deletion_desc=Цей користувач більше не матиме доступу для спільної роботи в цьому репозиторії після видалення. Ви хочете продовжити?
settings.remove_collaborator_success=Співавтор видалений.
settings.search_user_placeholder=Пошук користувача…
settings.org_not_allowed_to_be_collaborator=Організації не можуть бути додані як співавтори.
settings.change_team_access_not_allowed=Зміна доступу команди до репозитарію обмежена власником організації
settings.team_not_in_organization=Команда та репозитарій мають привязки до різних організацій
@ -1641,7 +1628,6 @@ settings.teams=Команди
settings.add_team=Додати Команду
settings.add_team_duplicate=Команда вже має привязку до репозитарію
settings.add_team_success=Команда отримала доступ до репозиторію.
settings.search_team=Знайти команду…
settings.change_team_permission_tip=Дозволи команди встановлюються на сторінці налаштувань команди та не можуть бути заданими для кожного з репозиторіїв окремо
settings.delete_team_tip=Ця команда має доступ до всіх репозиторіїв та не може бути видалена
settings.remove_team_success=Доступ команди до репозиторію видалений.
@ -1758,9 +1744,7 @@ settings.protect_whitelist_committers=Білий список обмеження
settings.protect_whitelist_committers_desc=Лише користувачі та команди з білого списку зможуть виконувати push в цій гілці (за виключеням force push).
settings.protect_whitelist_deploy_keys=Білий список ключів розгортання з правом на запис.
settings.protect_whitelist_users=Користувачі, які можуть робити push в цю гілку:
settings.protect_whitelist_search_users=Пошук користувачів…
settings.protect_whitelist_teams=Команди, учасники яких можуть робити push в цю гілку:
settings.protect_whitelist_search_teams=Пошук команд…
settings.protect_merge_whitelist_committers=Обмежити право на прийняття Pull Request'ів в цю гілку списком
settings.protect_merge_whitelist_committers_desc=Ви можете додавати користувачів або цілі команди в 'білий' список цієї гілки. Тільки присутні в списку зможуть приймати запити на злиття. В іншому випадку будь-хто з правами запису до головного репозиторію буде володіти такою можливістю.
settings.protect_merge_whitelist_users=Користувачі з правом на прийняття Pull Request'ів в цю гілку:
@ -2057,7 +2041,6 @@ teams.write_permission_desc=Ця команда надає доступ на <st
teams.admin_permission_desc=Ця команда надає <strong>адміністраторський</strong> доступ: учасники можуть читати, виконувати push команди та додавати співробітників до репозиторію.
teams.create_repo_permission_desc=Крім того, ця команда надає дозвіл <strong>Створити репозиторій</strong>: учасники можуть створювати нові репозиторії в організації.
teams.repositories=Репозиторії команди
teams.search_repo_placeholder=Пошук репозиторію…
teams.remove_all_repos_title=Видалити всі репозиторії команди
teams.remove_all_repos_desc=Це видалить усі репозиторії команди.
teams.add_all_repos_title=Додати всі репозиторії
@ -2082,6 +2065,8 @@ hooks=Веб-хуки
authentication=Джерела автентифікації
emails=Електронні адреси Користувача
config=Конфігурація
config_summary=Підсумок
config_settings=Налаштування
notices=Сповіщення системи
monitor=Моніторинг
first_page=Перша
@ -2230,9 +2215,6 @@ repos.unadopted.no_more=Не знайдено більше неприйняти
repos.owner=Власник
repos.name=Назва
repos.private=Приватний
repos.watches=Стежать
repos.stars=В обраному
repos.forks=Форки
repos.issues=Задачі
repos.size=Розмір
@ -2330,7 +2312,6 @@ auths.tip.nextcloud=`Зареєструйте нового споживача OA
auths.tip.dropbox=Додайте новий додаток на https://www.dropbox.com/developers/apps
auths.tip.facebook=`Створіть новий додаток на https://developers.facebook.com/apps і додайте модуль "Facebook Login"`
auths.tip.github=Додайте OAuth додаток на https://github.com/settings/applications/new
auths.tip.gitlab=Додайте новий додаток на https://gitlab.com/profile/applications
auths.tip.google_plus=Отримайте облікові дані клієнта OAuth2 в консолі Google API на сторінці https://console.developers.google.com/
auths.tip.openid_connect=Використовуйте OpenID Connect Discovery URL (<server>/.well-known/openid-configuration) для автоматичної настройки входу OAuth
auths.tip.twitter=Перейдіть на https://dev.twitter.com/apps, створіть програму і переконайтеся, що включена опція «Дозволити цю програму для входу в систему за допомогою Twitter»

View File

@ -142,6 +142,15 @@ confirm_delete_selected=确认删除所有选中项目?
name=名称
value=
filter=过滤
filter.is_archived=已归档
filter.is_template=模板
filter.public=公开
filter.private=私有库
[search]
[aria]
navbar=导航栏
footer=页脚
@ -315,7 +324,6 @@ collaborative_repos=参与协作的仓库
my_orgs=我的组织
my_mirrors=我的镜像
view_home=访问 %s
search_repos=查找仓库…
filter=其他过滤器
filter_by_team_repositories=按团队仓库筛选
feed_of=`"%s"的源`
@ -336,20 +344,8 @@ issues.in_your_repos=在您的仓库中
repos=仓库
users=用户
organizations=组织
search=搜索
go_to=转到
code=代码
search.type.tooltip=搜索类型
search.fuzzy=模糊
search.fuzzy.tooltip=包含近似匹配搜索词的结果
search.match=匹配
search.match.tooltip=仅包含精确匹配搜索词的结果
code_search_unavailable=目前代码搜索不可用。请与网站管理员联系。
repo_no_results=未找到匹配的仓库。
user_no_results=未找到匹配的用户。
org_no_results=未找到匹配的组织。
code_no_results=未找到与搜索字词匹配的源代码。
code_search_results=“%s” 的搜索结果是
code_last_indexed_at=最后索引于 %s
relevant_repositories_tooltip=派生的仓库,以及缺少主题、图标和描述的仓库将被隐藏。
relevant_repositories=只显示相关的仓库, <a href="%s">显示未过滤结果</a>。
@ -367,7 +363,6 @@ forgot_password_title=忘记密码
forgot_password=忘记密码?
sign_up_now=还没帐户?马上注册。
sign_up_successful=帐户创建成功。欢迎!
confirmation_mail_sent_prompt=一封新的确认邮件已经被发送至 <b>%s</b>,请检查您的收件箱并在 %s 内完成确认注册操作。
must_change_password=更新您的密码
allow_password_change=要求用户更改密码(推荐)
reset_password_mail_sent_prompt=确认电子邮件已被发送到 <b>%s</b>。请您在 %s 内检查您的收件箱 ,完成密码重置过程。
@ -617,6 +612,7 @@ form.name_reserved=用户名 "%s" 被保留。
form.name_pattern_not_allowed=用户名中不允许使用 "%s" 格式。
form.name_chars_not_allowed=用户名 "%s" 包含无效字符。
[settings]
profile=个人信息
account=账号
@ -761,7 +757,6 @@ gpg_invalid_token_signature=提供的 GPG 密钥、签名和令牌不匹配或
gpg_token_required=您必须为下面的令牌提供签名
gpg_token=令牌
gpg_token_help=您可以使用以下方式生成签名:
gpg_token_code=echo "%s" | gpg -a --default-key %s --detach-sig
gpg_token_signature=GPG 增强签名
key_signature_gpg_placeholder=以 '-----BEGIN PGP PUBLIC KEY BLOCK-----' 开头
verify_gpg_key_success=GPG 密钥 %s 已被验证。
@ -955,7 +950,6 @@ fork_branch=要克隆到 Fork 的分支
all_branches=所有分支
fork_no_valid_owners=这个代码仓库无法被派生,因为没有有效的所有者。
use_template=使用此模板
clone_in_vsc=在 VS Code 中克隆
download_zip=下载 ZIP
download_tar=下载 TAR.GZ
download_bundle=下载 BUNDLE
@ -1280,9 +1274,7 @@ commits.desc=浏览代码修改历史
commits.commits=次代码提交
commits.no_commits=没有共同的提交。%s 和 %s 的历史完全不同。
commits.nothing_to_compare=这些分支是相同的。
commits.search=搜索提交历史
commits.search.tooltip=`您可以在关键词前加上前缀,如"author:", "committer:", "after:", 或"before:", 例如 "retrin author:Alice before:2019-01-13"`
commits.find=搜索
commits.search_all=所有分支
commits.author=作者
commits.message=备注
@ -1333,7 +1325,6 @@ projects.type.basic_kanban=基础看板
projects.type.bug_triage=Bug分类看板
projects.template.desc=项目模板
projects.template.desc_helper=选择一个项目模板以开始
projects.type.uncategorized=未分类
projects.column.edit=编辑列
projects.column.edit_title=名称
projects.column.new_title=名称
@ -1341,10 +1332,7 @@ projects.column.new_submit=创建列
projects.column.new=创建列
projects.column.set_default=设为默认
projects.column.set_default_desc=设置此列为未分类问题和合并请求的默认值
projects.column.unset_default=取消设为默认
projects.column.unset_default_desc=取消此列为默认值
projects.column.delete=删除列
projects.column.deletion_desc=删除项目列会将所有相关问题移到“未分类”。是否继续?
projects.column.color=彩色
projects.open=开启
projects.close=关闭
@ -1456,7 +1444,6 @@ issues.filter_sort.moststars=点赞由多到少
issues.filter_sort.feweststars=点赞由少到多
issues.filter_sort.mostforks=派生由多到少
issues.filter_sort.fewestforks=派生由少到多
issues.keyword_search_unavailable=关键词搜索目前不可用。请联系网站管理员。
issues.action_open=开启
issues.action_close=关闭
issues.action_label=标签
@ -1708,7 +1695,6 @@ pulls.compare_compare=拉取从
pulls.switch_comparison_type=切换比较类型
pulls.switch_head_and_base=切换 head 和 base
pulls.filter_branch=过滤分支
pulls.no_results=未找到结果
pulls.show_all_commits=显示所有提交
pulls.show_changes_since_your_last_review=显示自您上次审核以来的更改
pulls.showing_only_single_commit=仅显示提交 %[1]s 的更改
@ -1983,17 +1969,6 @@ contributors.contribution_type.commits=提交
contributors.contribution_type.additions=更多
contributors.contribution_type.deletions=删除
search=搜索
search.search_repo=搜索仓库...
search.type.tooltip=搜索类型
search.fuzzy=模糊
search.fuzzy.tooltip=包含近似匹配搜索词的结果
search.match=匹配
search.match.tooltip=仅包含精确匹配搜索词的结果
search.results=在 <a href="%[2]s"> %[3]s </a> 中搜索 "%[1]s" 的结果
search.code_no_results=未找到与搜索字词匹配的源代码。
search.code_search_unavailable=当前代码搜索不可用。请与网站管理员联系。
settings=设置
settings.desc=设置是你可以管理仓库设置的地方
settings.options=仓库
@ -2072,6 +2047,7 @@ settings.pulls.default_allow_edits_from_maintainers=默认开启允许维护者
settings.releases_desc=启用发布
settings.packages_desc=启用仓库软件包注册中心
settings.projects_desc=启用仓库项目
settings.projects_mode_all=所有项目
settings.actions_desc=启用 Actions
settings.admin_settings=管理员设置
settings.admin_enable_health_check=启用仓库健康检查 (git fsck)
@ -2146,7 +2122,6 @@ settings.delete_collaborator=删除
settings.collaborator_deletion=删除协作者
settings.collaborator_deletion_desc=删除协作者后他将无法再对此仓库的访问。继续?
settings.remove_collaborator_success=协作者删除成功!
settings.search_user_placeholder=搜索用户...
settings.org_not_allowed_to_be_collaborator=组织不允许被添加为仓库协作者!
settings.change_team_access_not_allowed=更改仓库的团队访问权限仅限于组织所有者
settings.team_not_in_organization=团队不在与仓库相同的组织中
@ -2154,7 +2129,6 @@ settings.teams=团队
settings.add_team=添加团队
settings.add_team_duplicate=团队已经拥有仓库
settings.add_team_success=团队现在可以访问仓库。
settings.search_team=搜索团队...
settings.change_team_permission_tip=团队权限设置于团队设置页面,不能根据仓库更改
settings.delete_team_tip=该团队仍有仓库, 无法删除
settings.remove_team_success=团队访问仓库的权限已被删除。
@ -2307,9 +2281,7 @@ settings.protect_whitelist_committers=受白名单限制的推送
settings.protect_whitelist_committers_desc=只有列入白名单的用户或团队才能被允许推送到此分支(但不能强行推送)。
settings.protect_whitelist_deploy_keys=具有推送权限的部署密钥白名单。
settings.protect_whitelist_users=推送白名单用户:
settings.protect_whitelist_search_users=搜索用户...
settings.protect_whitelist_teams=推送白名单团队:
settings.protect_whitelist_search_teams=搜索团队...
settings.protect_merge_whitelist_committers=启用合并白名单
settings.protect_merge_whitelist_committers_desc=仅允许白名单用户或团队合并合并请求到此分支。
settings.protect_merge_whitelist_users=合并白名单用户:
@ -2554,7 +2526,6 @@ branch.default_deletion_failed=不能删除默认分支"%s"。
branch.restore=`还原分支 "%s"`
branch.download=`下载分支 "%s"`
branch.rename=`重命名分支 "%s"`
branch.search=搜索分支
branch.included_desc=此分支是默认分支的一部分
branch.included=已包含
branch.create_new_branch=从下列分支创建分支:
@ -2697,7 +2668,6 @@ teams.write_permission_desc=该团队拥有对所属仓库的 <strong>读取</st
teams.admin_permission_desc=该团队拥有一定的 <strong>管理</strong> 权限,团队成员可以读取、克隆、推送以及添加其它仓库协作者。
teams.create_repo_permission_desc=此外,该团队拥有了 <strong>创建仓库</strong> 的权限:成员可以在组织中创建新的仓库。
teams.repositories=团队仓库
teams.search_repo_placeholder=搜索仓库...
teams.remove_all_repos_title=移除所有团队仓库
teams.remove_all_repos_desc=这将从团队中移除所有仓库。
teams.add_all_repos_title=添加所有仓库
@ -2730,6 +2700,8 @@ integrations=集成
authentication=认证源
emails=用户邮件
config=应用配置
config_summary=摘要
config_settings=组织设置
notices=系统提示
monitor=监控面板
first_page=首页
@ -2906,9 +2878,6 @@ repos.unadopted.no_more=找不到更多未被收录的仓库
repos.owner=所有者
repos.name=名称
repos.private=私有库
repos.watches=关注数
repos.stars=点赞数
repos.forks=派生数
repos.issues=工单数
repos.size=大小
repos.lfs_size=LFS 大小
@ -3033,7 +3002,6 @@ auths.tip.nextcloud=使用下面的菜单“设置Settings -> 安全Sec
auths.tip.dropbox=在 https://www.dropbox.com/developers/apps 上创建一个新的应用程序
auths.tip.facebook=`在 https://developers.facebook.com/apps 注册一个新的应用,并添加产品"Facebook 登录"`
auths.tip.github=在 https://github.com/settings/applications/new 注册一个 OAuth 应用程序
auths.tip.gitlab=在 https://gitlab.com/profile/applications 上注册新应用程序
auths.tip.google_plus=从谷歌 API 控制台 (https://console.developers.google.com/) 获得 OAuth2 客户端凭据
auths.tip.openid_connect=使用 OpenID 连接发现 URL (<server>/.well-known/openid-configuration) 来指定终点
auths.tip.twitter=访问 https://dev.twitter.com/apps创建应用并确保启用了"允许此应用程序用于登录 Twitter"的选项。

View File

@ -61,6 +61,12 @@ concept_code_repository=儲存庫
name=組織名稱
filter.is_template=樣板
filter.private=私有庫
[search]
[aria]
[heatmap]
@ -116,13 +122,11 @@ issues.in_your_repos=屬於該用戶儲存庫的
repos=儲存庫
users=使用者
organizations=組織
search=搜尋
[auth]
register_helper_msg=已經註冊?立即登錄!
forgot_password_title=忘記密碼
forgot_password=忘記密碼?
confirmation_mail_sent_prompt=一封新的確認郵件已發送至 <b>%s</b>。請檢查您的收件箱並在 %s 小時內完成確認註冊操作。
active_your_account=啟用您的帳戶
has_unconfirmed_mail=%s 您好,您有一封發送至( <b>%s</b>) 但未被確認的郵件。如果您未收到啟用郵件,或需要重新發送,請單擊下方的按鈕。
resend_mail=單擊此處重新發送確認郵件
@ -205,6 +209,7 @@ follow=關注
unfollow=取消關注
[settings]
profile=個人訊息
password=修改密碼
@ -375,7 +380,6 @@ editor.cancel=取消
editor.no_changes_to_show=沒有可以顯示的變更。
commits.commits=次程式碼提交
commits.find=搜尋
commits.author=作者
commits.message=備註
commits.date=提交日期
@ -481,7 +485,6 @@ issues.dependency.remove=移除成員
pulls.new=建立合併請求
pulls.compare_changes=建立合併請求
pulls.filter_branch=過濾分支
pulls.no_results=未找到結果
pulls.create=建立合併請求
pulls.merged_title_desc=於 %[4]s 將 %[1]d 次代碼提交從 <code>%[2]s</code>合併至 <code>%[3]s</code>
pulls.tab_conversation=對話內容
@ -540,8 +543,6 @@ activity.new_issues_count_1=建立問題
contributors.contribution_type.commits=提交歷史
search=搜尋
settings=儲存庫設定
settings.desc=設定是您可以管理儲存庫設定的地方
settings.options=儲存庫
@ -698,6 +699,7 @@ dashboard=控制面版
organizations=組織管理
repositories=儲存庫管理
config=應用設定管理
config_settings=組織設定
notices=系統提示管理
monitor=應用監控面版
first_page=首頁
@ -760,8 +762,6 @@ repos.repo_manage_panel=儲存庫管理
repos.owner=所有者
repos.name=儲存庫名稱
repos.private=私有庫
repos.watches=關註數
repos.stars=讚好數
repos.issues=問題數
repos.size=大小
@ -809,7 +809,6 @@ auths.tip.oauth2_provider=OAuth2 提供者
auths.tip.dropbox=建立新 App 在 https://www.dropbox.com/developers/apps
auths.tip.facebook=`在 https://developers.facebook.com/apps 註冊一個新的應用,並且新增一個產品 "Facebook Login"`
auths.tip.github=在 https://github.com/settings/applications/new 註冊一個新的 OAuth 應用程式
auths.tip.gitlab=在 https://gitlab.com/profile/applications 註冊一個新的應用程式
auths.tip.openid_connect=使用 OpenID 連接探索 URL (<server>/.well-known/openid-configuration) 來指定節點
auths.delete=刪除認證來源
auths.delete_auth_title=刪除認證來源

View File

@ -125,6 +125,15 @@ concept_user_organization=組織
name=名稱
value=
filter=篩選
filter.is_archived=已封存
filter.is_template=模板
filter.public=公開
filter.private=私有
[search]
[aria]
navbar=導航列
footer=頁尾
@ -292,7 +301,6 @@ collaborative_repos=參與協作的儲存庫
my_orgs=我的組織
my_mirrors=我的鏡像
view_home=訪問 %s
search_repos=搜尋儲存庫...
filter=其他篩選條件
filter_by_team_repositories=以團隊儲存庫篩選
feed_of=「%s」的訊息來源
@ -313,19 +321,7 @@ issues.in_your_repos=在您的儲存庫中
repos=儲存庫
users=使用者
organizations=組織
search=搜尋
code=程式碼
search.type.tooltip=搜尋類型
search.fuzzy=模糊
search.fuzzy.tooltip=包含近似關鍵字的結果
search.match=符合
search.match.tooltip=只包含完全符合關鍵字的結果
code_search_unavailable=現在無法使用程式碼搜尋。請與網站管理員聯絡。
repo_no_results=沒有找到符合的儲存庫。
user_no_results=沒有找到符合的使用者。
org_no_results=沒有找到符合的組織。
code_no_results=找不到符合您關鍵字的原始碼。
code_search_results=「%s」的搜尋結果
code_last_indexed_at=最後索引 %s
relevant_repositories_tooltip=已隱藏缺少主題、圖示、說明、Fork 的儲存庫。
relevant_repositories=只顯示相關的儲存庫,<a href="%s">顯示未篩選的結果</a>。
@ -341,7 +337,6 @@ remember_me=記得這個裝置
forgot_password_title=忘記密碼
forgot_password=忘記密碼?
sign_up_now=還沒有帳戶?馬上註冊。
confirmation_mail_sent_prompt=新的確認信已發送至 <b>%s</b>。請在 %s內檢查您的收件匣並完成註冊作業。
must_change_password=更新您的密碼
allow_password_change=要求使用者更改密碼 (推薦)
reset_password_mail_sent_prompt=確認信已發送至 <b>%s</b>。請在 %s內檢查您的收件匣並完成帳戶救援作業。
@ -578,6 +573,7 @@ form.name_reserved=「%s」是保留的帳號。
form.name_pattern_not_allowed=帳號不可包含字元「%s」。
form.name_chars_not_allowed=帳號「%s」包含無效字元。
[settings]
profile=個人資料
account=帳戶
@ -707,7 +703,6 @@ gpg_invalid_token_signature=提供的 GPG 金鑰、簽署、Token 不符合或 T
gpg_token_required=您必須為下列的 Token 提供簽署
gpg_token=Token
gpg_token_help=您可以使用以下方法產生簽署:
gpg_token_code=echo "%s" | gpg -a --default-key %s --detach-sig
gpg_token_signature=Armored GPG 簽署
key_signature_gpg_placeholder=以「-----BEGIN PGP SIGNATURE-----」開頭
verify_gpg_key_success=已驗證 GPG 金鑰「%s」。
@ -867,7 +862,6 @@ already_forked=您已經 fork 過 %s
fork_to_different_account=Fork 到其他帳戶
fork_visibility_helper=無法更改 fork 儲存庫的瀏覽權限。
use_template=使用此範本
clone_in_vsc=在 VS Code 中 Clone
download_zip=下載 ZIP
download_tar=下載 TAR.GZ
download_bundle=下載 BUNDLE
@ -1155,9 +1149,7 @@ commits.desc=瀏覽原始碼修改歷程。
commits.commits=次程式碼提交
commits.no_commits=沒有共同的提交。「%s」和「%s」的歷史完全不同。
commits.nothing_to_compare=這些分支是相同的。
commits.search=搜尋提交歷史...
commits.search.tooltip=你可以用「author:」、「committer:」、「after:」、「before:」等作為關鍵字的前綴,例如: 「revert author:Alice before:2019-01-13」。
commits.find=搜尋
commits.search_all=所有分支
commits.author=作者
commits.message=備註
@ -1207,7 +1199,6 @@ projects.type.basic_kanban=基本看板
projects.type.bug_triage=Bug 檢傷分類
projects.template.desc=範本
projects.template.desc_helper=選擇專案範本以開始
projects.type.uncategorized=未分類
projects.column.edit=編輯欄位
projects.column.edit_title=名稱
projects.column.new_title=名稱
@ -1216,7 +1207,6 @@ projects.column.new=新增欄位
projects.column.set_default=設為預設
projects.column.set_default_desc=將此欄位設定為未分類問題及合併請求的預設預設值
projects.column.delete=刪除欄位
projects.column.deletion_desc=刪除專案欄位會將所有相關的問題移動到「未分類」,是否繼續?
projects.column.color=顏色
projects.open=開啟
projects.close=關閉
@ -1552,7 +1542,6 @@ pulls.compare_compare=拉取自
pulls.switch_comparison_type=切換比較類型
pulls.switch_head_and_base=切換 head 和 base
pulls.filter_branch=過濾分支
pulls.no_results=未找到結果
pulls.nothing_to_compare=這些分支的內容相同,無需建立合併請求。
pulls.nothing_to_compare_and_allow_empty_pr=這些分支的內容相同,此合併請求將會是空白的。
pulls.has_pull_request=`已有介於這些分支間的合併請求:<a href="%[1]s">%[2]s#%[3]d</a>`
@ -1779,17 +1768,6 @@ activity.git_stats_deletion_n=刪除 %d 行
contributors.contribution_type.commits=提交歷史
search=搜尋
search.search_repo=搜尋儲存庫
search.type.tooltip=搜尋類型
search.fuzzy=模糊
search.fuzzy.tooltip=包含近似關鍵字的結果
search.match=符合
search.match.tooltip=只包含完全符合關鍵字的結果
search.results=在 <a href="%s"> %s </a> 中搜尋 "%s" 的结果
search.code_no_results=找不到符合您關鍵字的原始碼。
search.code_search_unavailable=現在無法使用程式碼搜尋。請與網站管理員聯絡。
settings=設定
settings.desc=設定是您可以管理儲存庫設定的地方
settings.options=儲存庫
@ -1850,6 +1828,7 @@ settings.pulls.default_allow_edits_from_maintainers=預設允許維護者進行
settings.releases_desc=啟用儲存庫版本發佈
settings.packages_desc=啟用儲存庫套件註冊中心
settings.projects_desc=啟用儲存庫專案
settings.projects_mode_all=所有專案
settings.actions_desc=啟用儲存庫 Actions
settings.admin_settings=管理員設定
settings.admin_enable_health_check=啟用儲存庫的健康檢查 (git fsck)
@ -1922,7 +1901,6 @@ settings.delete_collaborator=移除
settings.collaborator_deletion=移除協作者
settings.collaborator_deletion_desc=移除協作者將拒絕他存取此儲存庫。是否繼續?
settings.remove_collaborator_success=已移除協作者。
settings.search_user_placeholder=搜尋使用者...
settings.org_not_allowed_to_be_collaborator=不可加入組織為協作者。
settings.change_team_access_not_allowed=只有組織擁有者可修改團隊的儲存庫存取權限
settings.team_not_in_organization=團隊和儲存庫不在相同的組織內
@ -1930,7 +1908,6 @@ settings.teams=團隊
settings.add_team=增加團隊
settings.add_team_duplicate=團隊已擁有該儲存庫
settings.add_team_success=團隊現在可存取該儲存庫了。
settings.search_team=搜尋團隊...
settings.change_team_permission_tip=團隊權限可於團隊設定頁面修改,不能針對儲存庫分別調整。
settings.delete_team_tip=此團隊可存取所有儲存庫,無法移除
settings.remove_team_success=已移除團隊存取儲存庫的權限。
@ -2077,9 +2054,7 @@ settings.protect_whitelist_committers=使用白名單控管推送
settings.protect_whitelist_committers_desc=僅允許白名單內的使用者或團隊推送至該分支(但不可使用force push)。
settings.protect_whitelist_deploy_keys=將擁有寫入權限的部署金鑰加入白名單。
settings.protect_whitelist_users=允許推送的使用者:
settings.protect_whitelist_search_users=搜尋使用者...
settings.protect_whitelist_teams=允許推送的團隊:
settings.protect_whitelist_search_teams=搜尋團隊...
settings.protect_merge_whitelist_committers=啟用合併白名單
settings.protect_merge_whitelist_committers_desc=僅允許白名單內的使用者或團隊將合併請求合併至該分支。
settings.protect_merge_whitelist_users=允許合併的使用者:
@ -2427,7 +2402,6 @@ teams.write_permission_desc=這個團隊擁有<strong>寫入</strong> 權限:
teams.admin_permission_desc=這個團隊擁有<strong>管理員</strong> 權限:成員可以讀取、推送和增加協作者到儲存庫。
teams.create_repo_permission_desc=此外,這個團隊還擁有<strong>建立儲存庫</strong>的權限:成員可以在組織中新增儲存庫。
teams.repositories=團隊儲存庫
teams.search_repo_placeholder=搜尋儲存庫...
teams.remove_all_repos_title=移除所有團隊儲存庫
teams.remove_all_repos_desc=這將從團隊中移除所有儲存庫。
teams.add_all_repos_title=增加所有儲存庫
@ -2455,6 +2429,8 @@ hooks=Webhook
authentication=認證來源
emails=使用者電子信箱
config=組態
config_summary=摘要
config_settings=設定
notices=系統提示
monitor=應用監控面版
first_page=首頁
@ -2616,9 +2592,6 @@ repos.unadopted.no_more=找不到其他未接管的儲存庫
repos.owner=擁有者
repos.name=名稱
repos.private=私有
repos.watches=關注數
repos.stars=星號數
repos.forks=Fork 數
repos.issues=問題數
repos.size=大小
@ -2737,7 +2710,6 @@ auths.tip.nextcloud=在您的執行個體中,於選單「設定 -> 安全性 -
auths.tip.dropbox=建立新的 App。網址https://www.dropbox.com/developers/apps
auths.tip.facebook=註冊新的應用程式並新增產品「Facebook 登入」。網址https://developers.facebook.com/apps
auths.tip.github=註冊新的 OAuth 應用程式。網址https://github.com/settings/applications/new
auths.tip.gitlab=註冊新的應用程式。網址https://gitlab.com/profile/applications
auths.tip.google_plus=從 Google API 控制台取得 OAuth2 用戶端憑證。網址https://console.developers.google.com/
auths.tip.openid_connect=使用 OpenID 連接探索 URL (<server>/.well-known/openid-configuration) 來指定節點
auths.tip.twitter=建立應用程式並確保有啟用「Allow this application to be used to Sign in with Twitter」。網址https://dev.twitter.com/apps

40
package-lock.json generated
View File

@ -9,11 +9,11 @@
"@citation-js/plugin-bibtex": "0.7.9",
"@citation-js/plugin-csl": "0.7.9",
"@citation-js/plugin-software-formats": "0.6.1",
"@claviska/jquery-minicolors": "2.3.6",
"@github/markdown-toolbar-element": "2.2.3",
"@github/relative-time-element": "4.3.1",
"@github/relative-time-element": "4.4.0",
"@github/text-expander-element": "2.6.1",
"@mcaptcha/vanilla-glue": "0.1.0-alpha-3",
"@melloware/coloris": "0.23.0",
"@primer/octicons": "19.9.0",
"add-asset-webpack-plugin": "2.0.1",
"ansi_up": "6.0.2",
@ -91,6 +91,7 @@
"stylelint": "16.3.0",
"stylelint-declaration-block-no-ignored-properties": "2.8.0",
"stylelint-declaration-strict-value": "1.10.4",
"stylelint-value-no-unknown-custom-properties": "6.0.1",
"svgo": "3.2.0",
"updates": "16.0.0",
"vite-string-plugin": "1.1.5",
@ -394,14 +395,6 @@
"node": ">=14.0.0"
}
},
"node_modules/@claviska/jquery-minicolors": {
"version": "2.3.6",
"resolved": "https://registry.npmjs.org/@claviska/jquery-minicolors/-/jquery-minicolors-2.3.6.tgz",
"integrity": "sha512-8Ro6D4GCrmOl41+6w4NFhEOpx8vjxwVRI69bulXsFDt49uVRKhLU5TnzEV7AmOJrylkVq+ugnYNMiGHBieeKUQ==",
"peerDependencies": {
"jquery": ">= 1.7.x"
}
},
"node_modules/@csstools/css-parser-algorithms": {
"version": "2.6.1",
"resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.6.1.tgz",
@ -1004,9 +997,9 @@
"integrity": "sha512-AlquKGee+IWiAMYVB0xyHFZRMnu4n3X4HTvJHu79GiVJ1ojTukCWyxMlF5NMsecoLcBKsuBhx3QPv2vkE/zQ0A=="
},
"node_modules/@github/relative-time-element": {
"version": "4.3.1",
"resolved": "https://registry.npmjs.org/@github/relative-time-element/-/relative-time-element-4.3.1.tgz",
"integrity": "sha512-zL79nlhZVCg7x2Pf/HT5MB0mowmErE71VXpF10/3Wy8dQwkninNO1M9aOizh2wKC5LkSpDXqNYjDZwbH0/bcSg=="
"version": "4.4.0",
"resolved": "https://registry.npmjs.org/@github/relative-time-element/-/relative-time-element-4.4.0.tgz",
"integrity": "sha512-CrI6oAecoahG7PF5dsgjdvlF5kCtusVMjg810EULD81TvnDsP+k/FRi/ClFubWLgBo4EGpr2EfvmumtqQFo7ow=="
},
"node_modules/@github/text-expander-element": {
"version": "2.6.1",
@ -1297,6 +1290,11 @@
"@mcaptcha/core-glue": "^0.1.0-alpha-5"
}
},
"node_modules/@melloware/coloris": {
"version": "0.23.0",
"resolved": "https://registry.npmjs.org/@melloware/coloris/-/coloris-0.23.0.tgz",
"integrity": "sha512-VGIjI9+IQwg6BHjIE10yl0K2ARYz5bsjn6BgFEs1y1ErPAQymgdoxwVcSVL4Ai5t9OVs8xaCB7JKHqFu2N96Ow=="
},
"node_modules/@nodelib/fs.scandir": {
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
@ -10870,6 +10868,22 @@
"stylelint": ">=7 <=16"
}
},
"node_modules/stylelint-value-no-unknown-custom-properties": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/stylelint-value-no-unknown-custom-properties/-/stylelint-value-no-unknown-custom-properties-6.0.1.tgz",
"integrity": "sha512-N60PTdaTknB35j6D4FhW0GL2LlBRV++bRpXMMldWMQZ240yFQaoltzlLY4lXXs7Z0J5mNUYZQ/gjyVtU2DhCMA==",
"dev": true,
"dependencies": {
"postcss-value-parser": "^4.2.0",
"resolve": "^1.22.8"
},
"engines": {
"node": ">=18.12.0"
},
"peerDependencies": {
"stylelint": ">=16"
}
},
"node_modules/stylelint/node_modules/ansi-regex": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",

View File

@ -8,11 +8,11 @@
"@citation-js/plugin-bibtex": "0.7.9",
"@citation-js/plugin-csl": "0.7.9",
"@citation-js/plugin-software-formats": "0.6.1",
"@claviska/jquery-minicolors": "2.3.6",
"@github/markdown-toolbar-element": "2.2.3",
"@github/relative-time-element": "4.3.1",
"@github/relative-time-element": "4.4.0",
"@github/text-expander-element": "2.6.1",
"@mcaptcha/vanilla-glue": "0.1.0-alpha-3",
"@melloware/coloris": "0.23.0",
"@primer/octicons": "19.9.0",
"add-asset-webpack-plugin": "2.0.1",
"ansi_up": "6.0.2",
@ -90,6 +90,7 @@
"stylelint": "16.3.0",
"stylelint-declaration-block-no-ignored-properties": "2.8.0",
"stylelint-declaration-strict-value": "1.10.4",
"stylelint-value-no-unknown-custom-properties": "6.0.1",
"svgo": "3.2.0",
"updates": "16.0.0",
"vite-string-plugin": "1.1.5",

View File

@ -8,6 +8,7 @@ import (
"net/http"
"regexp"
"strings"
"unicode"
packages_model "code.gitea.io/gitea/models/packages"
"code.gitea.io/gitea/modules/log"
@ -18,8 +19,8 @@ import (
)
var (
packageNameRegex = regexp.MustCompile(`\A[A-Za-z0-9\.\_\-\+]+\z`)
filenameRegex = packageNameRegex
packageNameRegex = regexp.MustCompile(`\A[-_+.\w]+\z`)
filenameRegex = regexp.MustCompile(`\A[-_+=:;.()\[\]{}~!@#$%^& \w]+\z`)
)
func apiError(ctx *context.Context, status int, obj any) {
@ -54,20 +55,38 @@ func DownloadPackageFile(ctx *context.Context) {
helper.ServePackageFile(ctx, s, u, pf)
}
func isValidPackageName(packageName string) bool {
if len(packageName) == 1 && !unicode.IsLetter(rune(packageName[0])) && !unicode.IsNumber(rune(packageName[0])) {
return false
}
return packageNameRegex.MatchString(packageName) && packageName != ".."
}
func isValidFileName(filename string) bool {
return filenameRegex.MatchString(filename) &&
strings.TrimSpace(filename) == filename &&
filename != "." && filename != ".."
}
// UploadPackage uploads the specific generic package.
// Duplicated packages get rejected.
func UploadPackage(ctx *context.Context) {
packageName := ctx.Params("packagename")
filename := ctx.Params("filename")
if !packageNameRegex.MatchString(packageName) || !filenameRegex.MatchString(filename) {
apiError(ctx, http.StatusBadRequest, errors.New("Invalid package name or filename"))
if !isValidPackageName(packageName) {
apiError(ctx, http.StatusBadRequest, errors.New("invalid package name"))
return
}
if !isValidFileName(filename) {
apiError(ctx, http.StatusBadRequest, errors.New("invalid filename"))
return
}
packageVersion := ctx.Params("packageversion")
if packageVersion != strings.TrimSpace(packageVersion) {
apiError(ctx, http.StatusBadRequest, errors.New("Invalid package version"))
apiError(ctx, http.StatusBadRequest, errors.New("invalid package version"))
return
}

View File

@ -0,0 +1,65 @@
// Copyright 2024 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT
package generic
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestValidatePackageName(t *testing.T) {
bad := []string{
"",
".",
"..",
"-",
"a?b",
"a b",
"a/b",
}
for _, name := range bad {
assert.False(t, isValidPackageName(name), "bad=%q", name)
}
good := []string{
"a",
"1",
"a-",
"a_b",
"c.d+",
}
for _, name := range good {
assert.True(t, isValidPackageName(name), "good=%q", name)
}
}
func TestValidateFileName(t *testing.T) {
bad := []string{
"",
".",
"..",
"a?b",
"a/b",
" a",
"a ",
}
for _, name := range bad {
assert.False(t, isValidFileName(name), "bad=%q", name)
}
good := []string{
"-",
"a",
"1",
"a-",
"a_b",
"a b",
"c.d+",
`-_+=:;.()[]{}~!@#$%^& aA1`,
}
for _, name := range good {
assert.True(t, isValidFileName(name), "good=%q", name)
}
}

View File

@ -955,6 +955,15 @@ func Routes() *web.Route {
Delete(user.DeleteSecret)
})
m.Group("/variables", func() {
m.Get("", user.ListVariables)
m.Combo("/{variablename}").
Get(user.GetVariable).
Delete(user.DeleteVariable).
Post(bind(api.CreateVariableOption{}), user.CreateVariable).
Put(bind(api.UpdateVariableOption{}), user.UpdateVariable)
})
m.Group("/runners", func() {
m.Get("/registration-token", reqToken(), user.GetRegistrationToken)
})
@ -1073,6 +1082,15 @@ func Routes() *web.Route {
Delete(reqToken(), reqOwner(), repo.DeleteSecret)
})
m.Group("/variables", func() {
m.Get("", reqToken(), reqOwner(), repo.ListVariables)
m.Combo("/{variablename}").
Get(reqToken(), reqOwner(), repo.GetVariable).
Delete(reqToken(), reqOwner(), repo.DeleteVariable).
Post(reqToken(), reqOwner(), bind(api.CreateVariableOption{}), repo.CreateVariable).
Put(reqToken(), reqOwner(), bind(api.UpdateVariableOption{}), repo.UpdateVariable)
})
m.Group("/runners", func() {
m.Get("/registration-token", reqToken(), reqOwner(), repo.GetRegistrationToken)
})
@ -1452,6 +1470,15 @@ func Routes() *web.Route {
Delete(reqToken(), reqOrgOwnership(), org.DeleteSecret)
})
m.Group("/variables", func() {
m.Get("", reqToken(), reqOrgOwnership(), org.ListVariables)
m.Combo("/{variablename}").
Get(reqToken(), reqOrgOwnership(), org.GetVariable).
Delete(reqToken(), reqOrgOwnership(), org.DeleteVariable).
Post(reqToken(), reqOrgOwnership(), bind(api.CreateVariableOption{}), org.CreateVariable).
Put(reqToken(), reqOrgOwnership(), bind(api.UpdateVariableOption{}), org.UpdateVariable)
})
m.Group("/runners", func() {
m.Get("/registration-token", reqToken(), reqOrgOwnership(), org.GetRegistrationToken)
})

View File

@ -0,0 +1,291 @@
// Copyright 2024 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT
package org
import (
"errors"
"net/http"
actions_model "code.gitea.io/gitea/models/actions"
"code.gitea.io/gitea/models/db"
api "code.gitea.io/gitea/modules/structs"
"code.gitea.io/gitea/modules/util"
"code.gitea.io/gitea/modules/web"
"code.gitea.io/gitea/routers/api/v1/utils"
actions_service "code.gitea.io/gitea/services/actions"
"code.gitea.io/gitea/services/context"
)
// ListVariables list org-level variables
func ListVariables(ctx *context.APIContext) {
// swagger:operation GET /orgs/{org}/actions/variables organization getOrgVariablesList
// ---
// summary: Get an org-level variables list
// produces:
// - application/json
// parameters:
// - name: org
// in: path
// description: name of the organization
// type: string
// required: true
// - name: page
// in: query
// description: page number of results to return (1-based)
// type: integer
// - name: limit
// in: query
// description: page size of results
// type: integer
// responses:
// "200":
// "$ref": "#/responses/VariableList"
// "400":
// "$ref": "#/responses/error"
// "404":
// "$ref": "#/responses/notFound"
vars, count, err := db.FindAndCount[actions_model.ActionVariable](ctx, &actions_model.FindVariablesOpts{
OwnerID: ctx.Org.Organization.ID,
ListOptions: utils.GetListOptions(ctx),
})
if err != nil {
ctx.Error(http.StatusInternalServerError, "FindVariables", err)
return
}
variables := make([]*api.ActionVariable, len(vars))
for i, v := range vars {
variables[i] = &api.ActionVariable{
OwnerID: v.OwnerID,
RepoID: v.RepoID,
Name: v.Name,
Data: v.Data,
}
}
ctx.SetTotalCountHeader(count)
ctx.JSON(http.StatusOK, variables)
}
// GetVariable get an org-level variable
func GetVariable(ctx *context.APIContext) {
// swagger:operation GET /orgs/{org}/actions/variables/{variablename} organization getOrgVariable
// ---
// summary: Get an org-level variable
// produces:
// - application/json
// parameters:
// - name: org
// in: path
// description: name of the organization
// type: string
// required: true
// - name: variablename
// in: path
// description: name of the variable
// type: string
// required: true
// responses:
// "200":
// "$ref": "#/responses/ActionVariable"
// "400":
// "$ref": "#/responses/error"
// "404":
// "$ref": "#/responses/notFound"
v, err := actions_service.GetVariable(ctx, actions_model.FindVariablesOpts{
OwnerID: ctx.Org.Organization.ID,
Name: ctx.Params("variablename"),
})
if err != nil {
if errors.Is(err, util.ErrNotExist) {
ctx.Error(http.StatusNotFound, "GetVariable", err)
} else {
ctx.Error(http.StatusInternalServerError, "GetVariable", err)
}
return
}
variable := &api.ActionVariable{
OwnerID: v.OwnerID,
RepoID: v.RepoID,
Name: v.Name,
Data: v.Data,
}
ctx.JSON(http.StatusOK, variable)
}
// DeleteVariable delete an org-level variable
func DeleteVariable(ctx *context.APIContext) {
// swagger:operation DELETE /orgs/{org}/actions/variables/{variablename} organization deleteOrgVariable
// ---
// summary: Delete an org-level variable
// produces:
// - application/json
// parameters:
// - name: org
// in: path
// description: name of the organization
// type: string
// required: true
// - name: variablename
// in: path
// description: name of the variable
// type: string
// required: true
// responses:
// "200":
// "$ref": "#/responses/ActionVariable"
// "201":
// description: response when deleting a variable
// "204":
// description: response when deleting a variable
// "400":
// "$ref": "#/responses/error"
// "404":
// "$ref": "#/responses/notFound"
if err := actions_service.DeleteVariableByName(ctx, ctx.Org.Organization.ID, 0, ctx.Params("variablename")); err != nil {
if errors.Is(err, util.ErrInvalidArgument) {
ctx.Error(http.StatusBadRequest, "DeleteVariableByName", err)
} else if errors.Is(err, util.ErrNotExist) {
ctx.Error(http.StatusNotFound, "DeleteVariableByName", err)
} else {
ctx.Error(http.StatusInternalServerError, "DeleteVariableByName", err)
}
return
}
ctx.Status(http.StatusNoContent)
}
// CreateVariable create an org-level variable
func CreateVariable(ctx *context.APIContext) {
// swagger:operation POST /orgs/{org}/actions/variables/{variablename} organization createOrgVariable
// ---
// summary: Create an org-level variable
// consumes:
// - application/json
// produces:
// - application/json
// parameters:
// - name: org
// in: path
// description: name of the organization
// type: string
// required: true
// - name: variablename
// in: path
// description: name of the variable
// type: string
// required: true
// - name: body
// in: body
// schema:
// "$ref": "#/definitions/CreateVariableOption"
// responses:
// "201":
// description: response when creating an org-level variable
// "204":
// description: response when creating an org-level variable
// "400":
// "$ref": "#/responses/error"
// "404":
// "$ref": "#/responses/notFound"
opt := web.GetForm(ctx).(*api.CreateVariableOption)
ownerID := ctx.Org.Organization.ID
variableName := ctx.Params("variablename")
v, err := actions_service.GetVariable(ctx, actions_model.FindVariablesOpts{
OwnerID: ownerID,
Name: variableName,
})
if err != nil && !errors.Is(err, util.ErrNotExist) {
ctx.Error(http.StatusInternalServerError, "GetVariable", err)
return
}
if v != nil && v.ID > 0 {
ctx.Error(http.StatusConflict, "VariableNameAlreadyExists", util.NewAlreadyExistErrorf("variable name %s already exists", variableName))
return
}
if _, err := actions_service.CreateVariable(ctx, ownerID, 0, variableName, opt.Value); err != nil {
if errors.Is(err, util.ErrInvalidArgument) {
ctx.Error(http.StatusBadRequest, "CreateVariable", err)
} else {
ctx.Error(http.StatusInternalServerError, "CreateVariable", err)
}
return
}
ctx.Status(http.StatusNoContent)
}
// UpdateVariable update an org-level variable
func UpdateVariable(ctx *context.APIContext) {
// swagger:operation PUT /orgs/{org}/actions/variables/{variablename} organization updateOrgVariable
// ---
// summary: Update an org-level variable
// consumes:
// - application/json
// produces:
// - application/json
// parameters:
// - name: org
// in: path
// description: name of the organization
// type: string
// required: true
// - name: variablename
// in: path
// description: name of the variable
// type: string
// required: true
// - name: body
// in: body
// schema:
// "$ref": "#/definitions/UpdateVariableOption"
// responses:
// "201":
// description: response when updating an org-level variable
// "204":
// description: response when updating an org-level variable
// "400":
// "$ref": "#/responses/error"
// "404":
// "$ref": "#/responses/notFound"
opt := web.GetForm(ctx).(*api.UpdateVariableOption)
v, err := actions_service.GetVariable(ctx, actions_model.FindVariablesOpts{
OwnerID: ctx.Org.Organization.ID,
Name: ctx.Params("variablename"),
})
if err != nil {
if errors.Is(err, util.ErrNotExist) {
ctx.Error(http.StatusNotFound, "GetVariable", err)
} else {
ctx.Error(http.StatusInternalServerError, "GetVariable", err)
}
return
}
if opt.Name == "" {
opt.Name = ctx.Params("variablename")
}
if _, err := actions_service.UpdateVariable(ctx, v.ID, opt.Name, opt.Value); err != nil {
if errors.Is(err, util.ErrInvalidArgument) {
ctx.Error(http.StatusBadRequest, "UpdateVariable", err)
} else {
ctx.Error(http.StatusInternalServerError, "UpdateVariable", err)
}
return
}
ctx.Status(http.StatusNoContent)
}

View File

@ -7,9 +7,13 @@ import (
"errors"
"net/http"
actions_model "code.gitea.io/gitea/models/actions"
"code.gitea.io/gitea/models/db"
api "code.gitea.io/gitea/modules/structs"
"code.gitea.io/gitea/modules/util"
"code.gitea.io/gitea/modules/web"
"code.gitea.io/gitea/routers/api/v1/utils"
actions_service "code.gitea.io/gitea/services/actions"
"code.gitea.io/gitea/services/context"
secret_service "code.gitea.io/gitea/services/secrets"
)
@ -127,3 +131,295 @@ func DeleteSecret(ctx *context.APIContext) {
ctx.Status(http.StatusNoContent)
}
// GetVariable get a repo-level variable
func GetVariable(ctx *context.APIContext) {
// swagger:operation GET /repos/{owner}/{repo}/actions/variables/{variablename} repository getRepoVariable
// ---
// summary: Get a repo-level variable
// produces:
// - application/json
// parameters:
// - name: owner
// in: path
// description: name of the owner
// type: string
// required: true
// - name: repo
// in: path
// description: name of the repository
// type: string
// required: true
// - name: variablename
// in: path
// description: name of the variable
// type: string
// required: true
// responses:
// "200":
// "$ref": "#/responses/ActionVariable"
// "400":
// "$ref": "#/responses/error"
// "404":
// "$ref": "#/responses/notFound"
v, err := actions_service.GetVariable(ctx, actions_model.FindVariablesOpts{
RepoID: ctx.Repo.Repository.ID,
Name: ctx.Params("variablename"),
})
if err != nil {
if errors.Is(err, util.ErrNotExist) {
ctx.Error(http.StatusNotFound, "GetVariable", err)
} else {
ctx.Error(http.StatusInternalServerError, "GetVariable", err)
}
return
}
variable := &api.ActionVariable{
OwnerID: v.OwnerID,
RepoID: v.RepoID,
Name: v.Name,
Data: v.Data,
}
ctx.JSON(http.StatusOK, variable)
}
// DeleteVariable delete a repo-level variable
func DeleteVariable(ctx *context.APIContext) {
// swagger:operation DELETE /repos/{owner}/{repo}/actions/variables/{variablename} repository deleteRepoVariable
// ---
// summary: Delete a repo-level variable
// produces:
// - application/json
// parameters:
// - name: owner
// in: path
// description: name of the owner
// type: string
// required: true
// - name: repo
// in: path
// description: name of the repository
// type: string
// required: true
// - name: variablename
// in: path
// description: name of the variable
// type: string
// required: true
// responses:
// "200":
// "$ref": "#/responses/ActionVariable"
// "201":
// description: response when deleting a variable
// "204":
// description: response when deleting a variable
// "400":
// "$ref": "#/responses/error"
// "404":
// "$ref": "#/responses/notFound"
if err := actions_service.DeleteVariableByName(ctx, 0, ctx.Repo.Repository.ID, ctx.Params("variablename")); err != nil {
if errors.Is(err, util.ErrInvalidArgument) {
ctx.Error(http.StatusBadRequest, "DeleteVariableByName", err)
} else if errors.Is(err, util.ErrNotExist) {
ctx.Error(http.StatusNotFound, "DeleteVariableByName", err)
} else {
ctx.Error(http.StatusInternalServerError, "DeleteVariableByName", err)
}
return
}
ctx.Status(http.StatusNoContent)
}
// CreateVariable create a repo-level variable
func CreateVariable(ctx *context.APIContext) {
// swagger:operation POST /repos/{owner}/{repo}/actions/variables/{variablename} repository createRepoVariable
// ---
// summary: Create a repo-level variable
// produces:
// - application/json
// parameters:
// - name: owner
// in: path
// description: name of the owner
// type: string
// required: true
// - name: repo
// in: path
// description: name of the repository
// type: string
// required: true
// - name: variablename
// in: path
// description: name of the variable
// type: string
// required: true
// - name: body
// in: body
// schema:
// "$ref": "#/definitions/CreateVariableOption"
// responses:
// "201":
// description: response when creating a repo-level variable
// "204":
// description: response when creating a repo-level variable
// "400":
// "$ref": "#/responses/error"
// "404":
// "$ref": "#/responses/notFound"
opt := web.GetForm(ctx).(*api.CreateVariableOption)
repoID := ctx.Repo.Repository.ID
variableName := ctx.Params("variablename")
v, err := actions_service.GetVariable(ctx, actions_model.FindVariablesOpts{
RepoID: repoID,
Name: variableName,
})
if err != nil && !errors.Is(err, util.ErrNotExist) {
ctx.Error(http.StatusInternalServerError, "GetVariable", err)
return
}
if v != nil && v.ID > 0 {
ctx.Error(http.StatusConflict, "VariableNameAlreadyExists", util.NewAlreadyExistErrorf("variable name %s already exists", variableName))
return
}
if _, err := actions_service.CreateVariable(ctx, 0, repoID, variableName, opt.Value); err != nil {
if errors.Is(err, util.ErrInvalidArgument) {
ctx.Error(http.StatusBadRequest, "CreateVariable", err)
} else {
ctx.Error(http.StatusInternalServerError, "CreateVariable", err)
}
return
}
ctx.Status(http.StatusNoContent)
}
// UpdateVariable update a repo-level variable
func UpdateVariable(ctx *context.APIContext) {
// swagger:operation PUT /repos/{owner}/{repo}/actions/variables/{variablename} repository updateRepoVariable
// ---
// summary: Update a repo-level variable
// produces:
// - application/json
// parameters:
// - name: owner
// in: path
// description: name of the owner
// type: string
// required: true
// - name: repo
// in: path
// description: name of the repository
// type: string
// required: true
// - name: variablename
// in: path
// description: name of the variable
// type: string
// required: true
// - name: body
// in: body
// schema:
// "$ref": "#/definitions/UpdateVariableOption"
// responses:
// "201":
// description: response when updating a repo-level variable
// "204":
// description: response when updating a repo-level variable
// "400":
// "$ref": "#/responses/error"
// "404":
// "$ref": "#/responses/notFound"
opt := web.GetForm(ctx).(*api.UpdateVariableOption)
v, err := actions_service.GetVariable(ctx, actions_model.FindVariablesOpts{
RepoID: ctx.Repo.Repository.ID,
Name: ctx.Params("variablename"),
})
if err != nil {
if errors.Is(err, util.ErrNotExist) {
ctx.Error(http.StatusNotFound, "GetVariable", err)
} else {
ctx.Error(http.StatusInternalServerError, "GetVariable", err)
}
return
}
if opt.Name == "" {
opt.Name = ctx.Params("variablename")
}
if _, err := actions_service.UpdateVariable(ctx, v.ID, opt.Name, opt.Value); err != nil {
if errors.Is(err, util.ErrInvalidArgument) {
ctx.Error(http.StatusBadRequest, "UpdateVariable", err)
} else {
ctx.Error(http.StatusInternalServerError, "UpdateVariable", err)
}
return
}
ctx.Status(http.StatusNoContent)
}
// ListVariables list repo-level variables
func ListVariables(ctx *context.APIContext) {
// swagger:operation GET /repos/{owner}/{repo}/actions/variables repository getRepoVariablesList
// ---
// summary: Get repo-level variables list
// produces:
// - application/json
// parameters:
// - name: owner
// in: path
// description: name of the owner
// type: string
// required: true
// - name: repo
// in: path
// description: name of the repository
// type: string
// required: true
// - name: page
// in: query
// description: page number of results to return (1-based)
// type: integer
// - name: limit
// in: query
// description: page size of results
// type: integer
// responses:
// "200":
// "$ref": "#/responses/VariableList"
// "400":
// "$ref": "#/responses/error"
// "404":
// "$ref": "#/responses/notFound"
vars, count, err := db.FindAndCount[actions_model.ActionVariable](ctx, &actions_model.FindVariablesOpts{
RepoID: ctx.Repo.Repository.ID,
ListOptions: utils.GetListOptions(ctx),
})
if err != nil {
ctx.Error(http.StatusInternalServerError, "FindVariables", err)
return
}
variables := make([]*api.ActionVariable, len(vars))
for i, v := range vars {
variables[i] = &api.ActionVariable{
OwnerID: v.OwnerID,
RepoID: v.RepoID,
Name: v.Name,
}
}
ctx.SetTotalCountHeader(count)
ctx.JSON(http.StatusOK, variables)
}

View File

@ -640,6 +640,8 @@ func DeleteReviewRequests(ctx *context.APIContext) {
// "$ref": "#/responses/empty"
// "422":
// "$ref": "#/responses/validationError"
// "403":
// "$ref": "#/responses/forbidden"
// "404":
// "$ref": "#/responses/notFound"
opts := web.GetForm(ctx).(*api.PullReviewRequestOptions)
@ -708,6 +710,10 @@ func apiReviewRequest(ctx *context.APIContext, opts api.PullReviewRequestOptions
for _, reviewer := range reviewers {
comment, err := issue_service.ReviewRequest(ctx, pr.Issue, ctx.Doer, reviewer, isAdd)
if err != nil {
if issues_model.IsErrReviewRequestOnClosedPR(err) {
ctx.Error(http.StatusForbidden, "", err)
return
}
ctx.Error(http.StatusInternalServerError, "ReviewRequest", err)
return
}
@ -874,7 +880,7 @@ func dismissReview(ctx *context.APIContext, msg string, isDismiss, dismissPriors
ctx.Error(http.StatusForbidden, "", "Must be repo admin")
return
}
review, pr, isWrong := prepareSingleReview(ctx)
review, _, isWrong := prepareSingleReview(ctx)
if isWrong {
return
}
@ -884,13 +890,12 @@ func dismissReview(ctx *context.APIContext, msg string, isDismiss, dismissPriors
return
}
if pr.Issue.IsClosed {
ctx.Error(http.StatusForbidden, "", "not need to dismiss this review because this pr is closed")
return
}
_, err := pull_service.DismissReview(ctx, review.ID, ctx.Repo.Repository.ID, msg, ctx.Doer, isDismiss, dismissPriors)
if err != nil {
if pull_service.IsErrDismissRequestOnClosedPR(err) {
ctx.Error(http.StatusForbidden, "", err)
return
}
ctx.Error(http.StatusInternalServerError, "pull_service.DismissReview", err)
return
}

View File

@ -7,6 +7,7 @@ import (
"net/http"
"strings"
"code.gitea.io/gitea/models/db"
repo_model "code.gitea.io/gitea/models/repo"
"code.gitea.io/gitea/modules/log"
api "code.gitea.io/gitea/modules/structs"
@ -53,7 +54,7 @@ func ListTopics(ctx *context.APIContext) {
RepoID: ctx.Repo.Repository.ID,
}
topics, total, err := repo_model.FindTopics(ctx, opts)
topics, total, err := db.FindAndCount[repo_model.Topic](ctx, opts)
if err != nil {
ctx.InternalServerError(err)
return
@ -172,7 +173,7 @@ func AddTopic(ctx *context.APIContext) {
}
// Prevent adding more topics than allowed to repo
count, err := repo_model.CountTopics(ctx, &repo_model.FindTopicOptions{
count, err := db.Count[repo_model.Topic](ctx, &repo_model.FindTopicOptions{
RepoID: ctx.Repo.Repository.ID,
})
if err != nil {
@ -287,7 +288,7 @@ func TopicSearch(ctx *context.APIContext) {
ListOptions: utils.GetListOptions(ctx),
}
topics, total, err := repo_model.FindTopics(ctx, opts)
topics, total, err := db.FindAndCount[repo_model.Topic](ctx, opts)
if err != nil {
ctx.InternalServerError(err)
return

Some files were not shown because too many files have changed in this diff Show More